commit 920d636f2b2f6b993fd9bebb5fab1eb338e40180 Author: wxx <642743457@qq.com> Date: Tue Oct 29 18:27:23 2024 +0800 18n diff --git a/.env.development b/.env.development new file mode 100644 index 0000000..4c57388 --- /dev/null +++ b/.env.development @@ -0,0 +1,11 @@ +VITE_MODE=development +# 默认接口地址 +VITE_APP_BASE_URL=http://url.n18games.com/url.txt +# 是否连接外服socket +VITE_SOCKET_CERT=false +# 是否开启调试模式 +VITE_OPEN_CONSOLE=true + +VITE_PUBLIC_PATH='/' + +VITE_APP_BASE_IMG="http://res.n18games.com" \ No newline at end of file diff --git a/.env.localhost b/.env.localhost new file mode 100644 index 0000000..3a99ad9 --- /dev/null +++ b/.env.localhost @@ -0,0 +1,10 @@ +VITE_MODE=development +# 默认接口地址 +VITE_APP_BASE_URL=/api +# 是否连接外服socket +VITE_SOCKET_CERT=false +# 是否开启调试模式 +VITE_OPEN_CONSOLE=false + +VITE_PUBLIC_PATH='./' +VITE_APP_BASE_IMG="http://res.n18games.com" diff --git a/.env.production b/.env.production new file mode 100644 index 0000000..1c04766 --- /dev/null +++ b/.env.production @@ -0,0 +1,12 @@ +VITE_MODE=production +# 默认接口地址 +VITE_APP_BASE_URL=https://url.bxreplace.com/url.txt +# 是否连接外服socket +VITE_SOCKET_CERT=true +# 是否开启调试模式 +VITE_OPEN_CONSOLE=true + +VITE_PUBLIC_PATH='/' + +VITE_APP_BASE_IMG="https://cdn.18n.com" + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..60153a7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,22 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/README.md b/README.md new file mode 100644 index 0000000..5dddc51 --- /dev/null +++ b/README.md @@ -0,0 +1,38 @@ +# Vue 3 + TypeScript + Vite + +This template should help get you started developing with Vue 3 and TypeScript in Vite. The template uses Vue 3 ` + + + + +
+ + + + + + + + diff --git a/dist-test/manifest.json b/dist-test/manifest.json new file mode 100644 index 0000000..ab085e9 --- /dev/null +++ b/dist-test/manifest.json @@ -0,0 +1,55 @@ +{ + "name": "18N", + "short_name": "18N", + "description":"It is recommended to add the website to your bookmarks to ensure that you receive activity rewards as soon as possible.", + "theme_color": "#f5f5f5", + "background_color": "#ffffff", + "display": "standalone", + "scrope":"/", + "start_url": "/", + "orientation": "natural", + "icons": [ + { + "src": "/icons/36.png", + "sizes": "36x36", + "type": "image/png", + "density": "0.75" + }, + { + "src": "/icons/48.png", + "sizes": "48x48", + "type": "image/png", + "density": "1.0" + }, + { + "src": "/icons/72.png", + "sizes": "72x72", + "type": "image/png", + "density": "1.5" + }, + { + "src": "/icons/96.png", + "sizes": "96x96", + "type": "image/png", + "density": "2.0" + }, + { + "src": "/icons/144.png", + "sizes": "144x144", + "type": "image/png", + "density": "3.0" + }, + { + "src": "/icons/192.png", + "sizes": "192x192", + "type": "image/png", + "density": "4.0" + }, + { + "src": "/icons/512.png", + "sizes": "512x512", + "type": "image/png", + "density": "5.0" + } + ] +} \ No newline at end of file diff --git a/dist-test/service-worker.js b/dist-test/service-worker.js new file mode 100644 index 0000000..b98c630 --- /dev/null +++ b/dist-test/service-worker.js @@ -0,0 +1,94 @@ + + +// cache名, 在控制台Application的CaChe下可以看到 +const cacheName = "penueling"; +// cache文件 +const cacheFiles = ["/index.html", "/manifest.json"]; + +var offlineExclude = [ + '/api/', +]; + + + +self.addEventListener('push', function (event) { + console.log('[Service Worker] Push Received.'); + console.log(`[Service Worker] Push had this data: "${event.data.text()}"`) + let data = JSON.parse(event.data.text()) + + const title = data.notification.title || ''; + const options = { + body: data.notification.body, + icon: data.notification.image || '', + badge: data.notification.image || '' + }; + + event.waitUntil(self.registration.showNotification(title, options)); +}); +self.addEventListener('notificationclick', function (event) { + console.log('[Service Worker] Notification click Received.'); + + event.notification.close(); + + event.waitUntil( + clients.openWindow('https://www.18n.com/') + ); +}); + +/** + * 安装 Service Worker + * install事件是 Service Worker 执行的第一个事件,同一个 Service Worker 只会调用一次 + * 即使 Service Worker 脚本文件只有一个字节不同,浏览器也将视为一个新的 Service Worker + */ +self.addEventListener("install", e => { + e.waitUntil( + caches.open(cacheName).then(cache => { + return cache.addAll(cacheFiles); + }), + ); +}); + +/** +// * 激活 Service Worker +// * Service Worker 安装成功之后,会触发activate事件 +// * 在这个阶段我们一般做一些清理旧缓存相关的工作 +// */ +// self.addEventListener("activate", (e) => { +// // e.waitUntil(caches.delete(cacheName)); +// e.waitUntil( +// caches +// .keys() +// .then((keys) => { +// return Promise.all( +// keys.map((key) => { +// // 清理缓存 +// if (cacheName !== key) { +// return caches.delete(key); +// } +// }) +// ); +// }) +// .then(() => { +// console.log("cache deleted"); +// }) +// ); +// }); + +self.addEventListener("fetch", e => { + if (e.request.cache === 'only-if-cached' && e.request.mode !== 'same-origin') { + return false + } + for (let i = 0; i < offlineExclude.length; i++) { + if (e.request.url.indexOf(offlineExclude[i]) !== -1) return false; + } + var u = e.request.url.replace('https://', '') + + + var n = u.indexOf('/') + if (u.slice(n, 60).indexOf('.') == -1) { + return false; + } + e.respondWith( + caches.match(e.request).then((response) => response || fetch(e.request)), + ); +}); \ No newline at end of file diff --git a/dist/assets/01_1730186905.png b/dist/assets/01_1730186905.png new file mode 100644 index 0000000..10d8c57 Binary files /dev/null and b/dist/assets/01_1730186905.png differ diff --git a/dist/assets/01_17301869052.png b/dist/assets/01_17301869052.png new file mode 100644 index 0000000..cc2a252 Binary files /dev/null and b/dist/assets/01_17301869052.png differ diff --git a/dist/assets/02_1730186905.png b/dist/assets/02_1730186905.png new file mode 100644 index 0000000..d5761fc Binary files /dev/null and b/dist/assets/02_1730186905.png differ diff --git a/dist/assets/02_17301869052.png b/dist/assets/02_17301869052.png new file mode 100644 index 0000000..e6343e6 Binary files /dev/null and b/dist/assets/02_17301869052.png differ diff --git a/dist/assets/03_1730186905.png b/dist/assets/03_1730186905.png new file mode 100644 index 0000000..7e22bcd Binary files /dev/null and b/dist/assets/03_1730186905.png differ diff --git a/dist/assets/03_17301869052.png b/dist/assets/03_17301869052.png new file mode 100644 index 0000000..d976a1b Binary files /dev/null and b/dist/assets/03_17301869052.png differ diff --git a/dist/assets/04_1730186905.png b/dist/assets/04_1730186905.png new file mode 100644 index 0000000..b9afbf1 Binary files /dev/null and b/dist/assets/04_1730186905.png differ diff --git a/dist/assets/04_17301869052.png b/dist/assets/04_17301869052.png new file mode 100644 index 0000000..b1eb859 Binary files /dev/null and b/dist/assets/04_17301869052.png differ diff --git a/dist/assets/05_1730186905.png b/dist/assets/05_1730186905.png new file mode 100644 index 0000000..472ec22 Binary files /dev/null and b/dist/assets/05_1730186905.png differ diff --git a/dist/assets/05_17301869052.png b/dist/assets/05_17301869052.png new file mode 100644 index 0000000..c16c986 Binary files /dev/null and b/dist/assets/05_17301869052.png differ diff --git a/dist/assets/06_1730186905.png b/dist/assets/06_1730186905.png new file mode 100644 index 0000000..2a27350 Binary files /dev/null and b/dist/assets/06_1730186905.png differ diff --git a/dist/assets/07_1730186905.png b/dist/assets/07_1730186905.png new file mode 100644 index 0000000..621162d Binary files /dev/null and b/dist/assets/07_1730186905.png differ diff --git a/dist/assets/2logo_1730186905.png b/dist/assets/2logo_1730186905.png new file mode 100644 index 0000000..7888816 Binary files /dev/null and b/dist/assets/2logo_1730186905.png differ diff --git a/dist/assets/BG_02_17301869052.png b/dist/assets/BG_02_17301869052.png new file mode 100644 index 0000000..560cd31 Binary files /dev/null and b/dist/assets/BG_02_17301869052.png differ diff --git a/dist/assets/OEM_1730186905.png b/dist/assets/OEM_1730186905.png new file mode 100644 index 0000000..7bd875b Binary files /dev/null and b/dist/assets/OEM_1730186905.png differ diff --git a/dist/assets/PAY_STATUS_MENU_1730186905.js b/dist/assets/PAY_STATUS_MENU_1730186905.js new file mode 100644 index 0000000..3dabec3 --- /dev/null +++ b/dist/assets/PAY_STATUS_MENU_1730186905.js @@ -0,0 +1 @@ +const e=e=>{switch(e){case 1:return"Trans";case 2:return"Success";case 3:default:return"Failed";case 5:return"Auto pass";case 6:return"Pass";case 7:return"Not pass";case 8:return"Examining"}},s=e=>{switch(e){case 1:case 8:return"#f3e615";case 2:return"#00E7BB";default:return"#ff0000"}};export{s as S,e as a}; diff --git a/dist/assets/R__1730186905.png b/dist/assets/R__1730186905.png new file mode 100644 index 0000000..47bea27 Binary files /dev/null and b/dist/assets/R__1730186905.png differ diff --git a/dist/assets/anniu_1730186905.png b/dist/assets/anniu_1730186905.png new file mode 100644 index 0000000..acb0a14 Binary files /dev/null and b/dist/assets/anniu_1730186905.png differ diff --git a/dist/assets/apostas_1730186905.css b/dist/assets/apostas_1730186905.css new file mode 100644 index 0000000..9b8e30c --- /dev/null +++ b/dist/assets/apostas_1730186905.css @@ -0,0 +1 @@ +.transition[data-v-fb5b8a4c]{transition:all .2s linear}.more[data-v-fb5b8a4c]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.blod[data-v-fb5b8a4c]{font-weight:700}.moveBox[data-v-fb5b8a4c]{animation:moveBox-fb5b8a4c 1.5s forwards infinite;transition:all .2s linear}.pointer[data-v-fb5b8a4c]{cursor:pointer}.not-select[data-v-fb5b8a4c]{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.particulars-detail-popup[data-v-fb5b8a4c]{background:rgba(0,0,0,.7)!important}@keyframes moveBox-fb5b8a4c{0%{transform:rotate(-6deg)}50%{transform:rotate(6deg)}to{transform:rotate(-6deg)}}@keyframes fadeIn-fb5b8a4c{0%{filter:blur(10px)}50%{filter:blur(5px)}to{filter:blur(0px)}}.fade-in[data-v-fb5b8a4c]{animation:fadeIn-fb5b8a4c .8s ease-in}input[type=number][data-v-fb5b8a4c]::-webkit-inner-spin-button,input[type=number][data-v-fb5b8a4c]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}[data-v-fb5b8a4c]:root{--van-floating-bubble-background: transparent !important;--van-floating-bubble-border-radius: 0 !important;--van-floating-bubble-size: 1.5rem !important;--van-floating-bubble-icon-size: 1.4rem !important}.page-body[data-v-fb5b8a4c]{padding-bottom:1.5rem}.page-body .no-data[data-v-fb5b8a4c]{text-align:center;height:2rem;line-height:2rem;font-size:.4rem} diff --git a/dist/assets/apostas_1730186905.js b/dist/assets/apostas_1730186905.js new file mode 100644 index 0000000..0272547 --- /dev/null +++ b/dist/assets/apostas_1730186905.js @@ -0,0 +1 @@ +import{_ as a}from"./h-table-paging_1730186905.js";import{d as e,p as s,c as l,e as t,r as n,y as i,z as o,o as p,f as r,P as d,g,F as u,j as m,l as f,N as c,Y as v,h as I,at as _,a3 as x,aA as b,B as y,C as z,_ as C}from"./index_1730186905.js";/* empty css */import{_ as h}from"./index_173018690535.js";import{_ as j}from"./index_173018690533.js";const P=a=>(y("data-v-fb5b8a4c"),a=a(),z(),a),A={class:"page"},L={class:"page-body"},N={key:0},S=P((()=>g("span",null,"Date: ",-1))),D=P((()=>g("span",null,"Produção: ",-1))),T={style:{color:"#00e7bb"}},k=P((()=>g("span",null,"Tipo: ",-1))),F=P((()=>g("span",null,"Jogo: ",-1))),J={style:{color:"#00e7bb"}},O={style:{color:"#ffe726"}},w=C(e({__name:"apostas",setup(e){const y=s(),z=l({pageIndex:1,pageSize:8,pageTotal:0}),C=a=>{let e="";return a.replace(/游戏ID:(.*?)\s/g,((a,s,l,t)=>(e=s,a))),e},P=t((()=>a=>{let e=C(a),s=y.originalList.find((a=>a.gameId==e));return s?y.providerList.find((a=>a.providerId===s.providerId)).gameProviderName:""})),w=t((()=>a=>{let e=C(a);if(!e)return"";let s=y.originalList.find((a=>a.gameId==e));return s?s.gameAlias:""})),B=t((()=>a=>{let e=C(a);if(!e)return"";let s=y.originalList.find((a=>a.gameId==e));if(!s)return"";let l=y.gameClassData.find((a=>a.gameClassId===s.gameClassId[s.gameClassId.length-1]));return l?l.gameClassName:""})),M=n([]);i((()=>{Y()}));const Y=()=>{o.getCoinsDetailLog({pageIndex:z.pageIndex,pageSize:z.pageSize,types:[10,20]}).then((a=>{M.value=a.data.rows,z.pageTotal=a.data.total}))},q=a=>{z.pageIndex=a,Y()},E=a=>{z.pageIndex=a,Y()};return(e,s)=>{const l=j,t=h,n=b,i=a;return p(),r("div",A,[d(l,{title:"Minhas Apostas de Jogo"}),g("div",L,[M.value.length>0?(p(),r("div",N,[(p(!0),r(u,null,m(M.value,((a,e)=>(p(),f(t,{key:e},{default:c((()=>[g("p",null,[S,g("span",null,v(I(_)(a.createdAt)),1)]),g("p",null,[D,g("span",T,v(P.value(a.detail)),1)]),g("p",null,[k,g("span",null,v(B.value(a.detail)),1)]),g("p",null,[F,g("span",J,v(w.value(a.detail)),1)]),g("p",null,[g("span",null,v(10==a.type?"Apostar":"Profito e perda")+": ",1),g("span",O,v(I(x)(Number(a.changeCoins/1e4).toFixed(2))),1)])])),_:2},1024)))),128))])):(p(),f(n,{key:1,description:"Sem apostas","image-size":"100"})),d(i,{total:z.pageTotal,"page-size":z.pageSize,onOnPrevious:q,onOnNextPage:E},null,8,["total","page-size"])])])}}}),[["__scopeId","data-v-fb5b8a4c"]]);export{w as default}; diff --git a/dist/assets/banco_1730186905.css b/dist/assets/banco_1730186905.css new file mode 100644 index 0000000..b6446a9 --- /dev/null +++ b/dist/assets/banco_1730186905.css @@ -0,0 +1 @@ +.transition[data-v-160db8c3]{transition:all .2s linear}.more[data-v-160db8c3]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.blod[data-v-160db8c3]{font-weight:700}.moveBox[data-v-160db8c3]{animation:moveBox-160db8c3 1.5s forwards infinite;transition:all .2s linear}.pointer[data-v-160db8c3]{cursor:pointer}.not-select[data-v-160db8c3]{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.particulars-detail-popup[data-v-160db8c3]{background:rgba(0,0,0,.7)!important}@keyframes moveBox-160db8c3{0%{transform:rotate(-6deg)}50%{transform:rotate(6deg)}to{transform:rotate(-6deg)}}@keyframes fadeIn-160db8c3{0%{filter:blur(10px)}50%{filter:blur(5px)}to{filter:blur(0px)}}.fade-in[data-v-160db8c3]{animation:fadeIn-160db8c3 .8s ease-in}input[type=number][data-v-160db8c3]::-webkit-inner-spin-button,input[type=number][data-v-160db8c3]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}[data-v-160db8c3]:root{--van-floating-bubble-background: transparent !important;--van-floating-bubble-border-radius: 0 !important;--van-floating-bubble-size: 1.5rem !important;--van-floating-bubble-icon-size: 1.4rem !important}.page-body .no-data[data-v-160db8c3]{text-align:center;height:2rem;line-height:2rem;font-size:.4rem}.page-body .text[data-v-160db8c3]{width:100%;font-weight:600;font-size:.3rem;background-color:#015320;border-radius:.15rem;padding:.2rem 0;position:absolute;bottom:.1rem;left:0}.page-body .text span[data-v-160db8c3]{color:red} diff --git a/dist/assets/banco_1730186905.js b/dist/assets/banco_1730186905.js new file mode 100644 index 0000000..f06fc53 --- /dev/null +++ b/dist/assets/banco_1730186905.js @@ -0,0 +1 @@ +import{_ as t}from"./h-table-paging_1730186905.js";import{d as e,c as a,r as l,y as n,z as i,o as x,f as T,P as u,g as s,F as _,j as o,l as c,N as r,X as v,Y as E,h as p,at as d,a3 as I,aA as A,B as G,C as N,_ as O}from"./index_1730186905.js";/* empty css */import{_ as S}from"./index_173018690535.js";import{_ as g}from"./index_173018690533.js";const C={NEW_GIFT:{value:5,txt:"新手赠送",clientTxt:"New Gift"},GAME_INVEST:{value:10,txt:"游戏押注",clientTxt:"Game betting"},GAME_WIN_OR_LOSE:{value:20,txt:"游戏输赢",clientTxt:"Game revenue"},WIN_THE_BONUS:{value:30,txt:"赢得彩金",clientTxt:"Winning Bonus"},GET_MAIL_ATTACH:{value:40,txt:"领取邮件",clientTxt:"Mails"},BANK_SAVE_GET:{value:50,txt:"银行存取",clientTxt:"Bank"},GIFT_COINS:{value:60,txt:"赠送",clientTxt:"Gift"},GET_GIFT_CODE:{value:70,txt:"兑换礼包",clientTxt:"Exchange Code"},GET_WELFARE:{value:80,txt:"领取救济",clientTxt:"Welfare"},REDUCE_COINS:{value:90,txt:"扣除负债",clientTxt:"Deduct arrears"},GET_LOSS_BONUS:{value:100,txt:"领取亏损返利",clientTxt:"Loss rebate"},GET_CYCLE_BONUS:{value:101,txt:"领取周期返利",clientTxt:"Cycle rebate"},GET_BET_BONUS:{value:110,txt:"领取下注返利",clientTxt:"Bet rebate"},GET_TOTAL_REBATE:{value:111,txt:"领取累积返利",clientTxt:"Total rebate"},SHOP_BUY:{value:120,txt:"商店购买",clientTxt:"Shop"},SHOP2_BUY:{value:121,txt:"商店购买",clientTxt:"Shop"},DAY_SLOTS:{value:130,txt:"每日摇奖",clientTxt:"Mini SLots"},ONEOFTHREE_GIFT:{value:140,txt:"三选一礼包",clientTxt:"One of three gift"},SUPER_CASH_BACK:{value:150,txt:"超值礼包",clientTxt:"Super cash back"},LOGIN_THIRD_GAME:{value:160,txt:"进入第三方游戏",clientTxt:"Enter Game"},LOGOUT_THIRD_GAME:{value:170,txt:"退出第三方游戏",clientTxt:"Exit Game"},DIAMOND_CONVERT_COINS:{value:180,txt:"钻石换金币",clientTxt:"Diamond Convert"},CHECKIN_AWARD:{value:190,txt:"签到领奖",clientTxt:"Checking"},MONTH_CHECKIN_AWARD:{value:200,txt:"签到月度领奖",clientTxt:"Monthly Gift"},MYSTERY_SHOP_BUY:{value:210,txt:"神秘商店购买",clientTxt:"Mystery Shop"},EVERY_DAY_BUY:{value:220,txt:"每日礼包购买",clientTxt:"Daily Gift"},LOGIN_AWARD:{value:230,txt:"登录奖励",clientTxt:"Login Gift"},LOGIN_AWARD_SPECIAL:{value:240,txt:"登录特殊奖励",clientTxt:"Login Gift Plus"},HELP_TURNTABLE:{value:250,txt:"助力转盘领奖",clientTxt:"Mini Turntable"},VIP_AWARD:{value:260,txt:"VIP等级奖励",clientTxt:"VIP Level Gift"},VIP_DAY_AWARD:{value:261,txt:"VIP每日奖励",clientTxt:"VIP Daily Gift"},VIP_WEEK_AWARD:{value:270,txt:"VIP每周奖励",clientTxt:"VIP Weekly Gift"},VIP_MONTH_AWARD:{value:280,txt:"VIP每月奖励",clientTxt:"VIP Monthly Gift"},WITHDRAW:{value:290,txt:"提现",clientTxt:"Withdraw"},GAME_CANCEL_INVEST:{value:300,txt:"游戏取消押注",clientTxt:"Cancel Bet"},ACTIVITY_TASK:{value:310,txt:"动态活动领奖",clientTxt:"Task Gift"},ACTIVITY_VIP_UNLOCK:{value:320,txt:"黄金奖励解锁",clientTxt:"Task unlock"},REABTE_RECEIVE:{value:330,txt:"领取下级返利",clientTxt:"Child rebate"},GAME_WIN_OR_LOSE_TOTAL:{value:999,txt:"游戏总输赢",clientTxt:"Game revenue"}},f=t=>{let e=[];for(let a in C)e.push(C[a]);return e.find((e=>e.value==t)).clientTxt},R=t=>(G("data-v-160db8c3"),t=t(),N(),t),D={class:"page"},P={class:"page-body"},L={key:0},m=R((()=>s("span",null,"Date: ",-1))),V=R((()=>s("span",null,"Fonte: ",-1))),W={style:{color:"#00e7bb"}},B=R((()=>s("span",null,"Iconcluido: ",-1))),b={style:{color:"#ffe726"}},y=R((()=>s("span",null,"Total: ",-1))),M={style:{color:"#ffe726"}},h={class:"text"},H=O(e({__name:"banco",setup(e){const G=a({pageIndex:1,pageSize:8,pageTotal:0}),N=l([]),O=l(0);n((()=>{C()}));const C=()=>{i.getFlowRecordPage({pageIndex:G.pageIndex,pageSize:G.pageSize}).then((t=>{N.value=t.data.rows,O.value=t.data.coinsSpan,G.pageTotal=t.data.total}))},R=t=>{G.pageIndex=t,C()},H=t=>{G.pageIndex=t,C()};return(e,a)=>{const l=g,n=S,i=A,C=t;return x(),T("div",D,[u(l,{title:"Registro do diário de moedas de ouro"}),s("div",P,[N.value.length>0?(x(),T("div",L,[(x(!0),T(_,null,o(N.value,((t,e)=>(x(),c(n,{key:e},{default:r((()=>[s("p",null,[m,s("span",null,E(p(d)(t.createdAt)),1)]),s("p",null,[V,s("span",W,E(p(f)(t.type)),1)]),s("p",null,[B,s("span",b,E(p(I)(Number(t.usedCoinsNum/1e4).toFixed(2))),1)]),s("p",null,[y,s("span",M,E(p(I)(Number(t.userCoinsFlow/1e4).toFixed(2))),1)])])),_:2},1024)))),128))])):(x(),c(i,{key:1,description:"No Data","image-size":"100"})),u(C,{total:G.pageTotal,"page-size":G.pageSize,onOnPrevious:R,onOnNextPage:H},null,8,["total","page-size"]),s("div",h,[v(" Voce ainda precisa apostar na quantidade de "),s("span",null,E(O.value?p(I)(Number(O.value/1e4).toFixed(2)):0),1),v(" para retirar ")])])])}}}),[["__scopeId","data-v-160db8c3"]]);export{H as default}; diff --git a/dist/assets/betting_1730186905.css b/dist/assets/betting_1730186905.css new file mode 100644 index 0000000..1c8d522 --- /dev/null +++ b/dist/assets/betting_1730186905.css @@ -0,0 +1 @@ +.transition[data-v-08c9b8d6]{transition:all .2s linear}.more[data-v-08c9b8d6]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.blod[data-v-08c9b8d6]{font-weight:700}.moveBox[data-v-08c9b8d6]{animation:moveBox-08c9b8d6 1.5s forwards infinite;transition:all .2s linear}.pointer[data-v-08c9b8d6]{cursor:pointer}.not-select[data-v-08c9b8d6]{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.particulars-detail-popup[data-v-08c9b8d6]{background:rgba(0,0,0,.7)!important}@keyframes moveBox-08c9b8d6{0%{transform:rotate(-6deg)}50%{transform:rotate(6deg)}to{transform:rotate(-6deg)}}@keyframes fadeIn-08c9b8d6{0%{filter:blur(10px)}50%{filter:blur(5px)}to{filter:blur(0px)}}.fade-in[data-v-08c9b8d6]{animation:fadeIn-08c9b8d6 .8s ease-in}input[type=number][data-v-08c9b8d6]::-webkit-inner-spin-button,input[type=number][data-v-08c9b8d6]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}[data-v-08c9b8d6]:root{--van-floating-bubble-background: transparent !important;--van-floating-bubble-border-radius: 0 !important;--van-floating-bubble-size: 1.5rem !important;--van-floating-bubble-icon-size: 1.4rem !important}.page-body[data-v-08c9b8d6]{background:url(https://cdn.18n.com/static/perfil/bj.png);background-size:100% auto}.page-body .top[data-v-08c9b8d6]{display:flex}.page-body .top .right[data-v-08c9b8d6]{display:flex;flex-direction:column;align-items:center}.page-body .top .right .title[data-v-08c9b8d6]{color:#f3e615;font-size:.7rem;font-weight:700}.page-body .top .right .jinbi[data-v-08c9b8d6]{color:#f3e615;font-size:.8rem;font-weight:700;margin:.2rem 0}.page-body .top .right .jinbi span[data-v-08c9b8d6]{margin-left:.2rem}.page-body .bottom .box[data-v-08c9b8d6]{margin:.2rem 0 .6rem}.page-body .bottom .box .title[data-v-08c9b8d6]{text-align:center;font-size:.5rem;background:#255746;padding:.15rem 0;border-top-left-radius:.3rem;border-top-right-radius:.3rem}.page-body .bottom .box .table[data-v-08c9b8d6]{width:100%;font-size:.4rem}.page-body .bottom .box .table .no-data[data-v-08c9b8d6]{height:3rem;text-align:center;line-height:3rem;font-size:.4rem}.page-body .bottom .box .table .label[data-v-08c9b8d6]{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;border-bottom:.05rem solid rgba(211,211,211,.5)}.page-body .bottom .box .table .td[data-v-08c9b8d6]{display:grid;grid-template-columns:repeat(3,1fr);padding:.2rem 0;align-content:center;align-items:center;text-align:center;color:#f3e615;border-bottom:.05rem solid rgba(211,211,211,.5)} diff --git a/dist/assets/betting_1730186905.js b/dist/assets/betting_1730186905.js new file mode 100644 index 0000000..c6b74d1 --- /dev/null +++ b/dist/assets/betting_1730186905.js @@ -0,0 +1 @@ +import{d as e,u as s,c as a,r as t,o as l,f as o,P as n,g as i,l as c,Y as d,h as r,Q as b,R as p,F as u,j as v,X as g,z as x,t as R,A as h,a3 as m,at as f,B as _,C as w,_ as F}from"./index_1730186905.js";import{_ as y}from"./index_173018690533.js";const C=e=>(_("data-v-08c9b8d6"),e=e(),w(),e),k={class:"page"},B={class:"page-body"},A={class:"top"},D={class:"left"},Y={class:"right"},j=C((()=>i("div",{class:"title"},"RECOMPENSA",-1))),z={class:"jinbi flex-ct"},M={class:"bottom"},T={key:0,class:"box"},E=C((()=>i("div",{class:"title"},"Registro de fluxo",-1))),I={class:"table"},J=C((()=>i("div",{class:"label"},[i("span",null,"Date"),i("span",null,"Fluxo de aposta"),i("span",null,"Bonus")],-1))),N={class:"bonus flex-ct"},O={key:1,class:"box"},P=[C((()=>i("div",{class:"title"},"Registro de fluxo",-1))),C((()=>i("div",{class:"table"},[i("div",{class:"label"},[i("span",null,"Date"),i("span",null,"Fluxo de aposta"),i("span",null,"Bonus")]),i("div",{class:"no-data"},"NO-DATA")],-1)))],$=F(e({__name:"betting",setup(e){const _=s();let w=a({betRebateCoins:0,betRebateFlow:0,records:[]});const F=t(!1),C=async()=>{x.getTotalRebate().then((e=>{0===e.code&&(w.betRebateCoins=e.data.betRebateCoins,w.betRebateFlow=e.data.betRebateFlow,w.records=e.data.records,F.value=!Boolean(w.betRebateCoins&&w.betRebateFlow))}))};C();const $=async()=>{const e=await x.receiveTotalRebate();0===e.code?(_.getUserInfo(),R("success"),C()):R(e.txt)};return(e,s)=>{const a=y,t=h;return l(),o("div",k,[n(a),i("div",B,[i("div",A,[i("div",D,[F.value?(l(),c(t,{key:0,width:"4rem",height:"4rem",src:"base/open-box.png"})):(l(),c(t,{key:1,width:"4rem",height:"4rem",src:"base/close-box.png"}))]),i("div",Y,[j,i("div",z,[n(t,{width:".8rem",height:".8rem",src:"base/JB_R$.png"}),i("span",null,d(r(m)((r(w).betRebateCoins/1e4).toFixed(2))),1)]),b(n(t,{width:"3rem",src:"perfil/receber.png",onClick:$},null,512),[[p,r(w).betRebateCoins]])])]),i("div",M,[n(t,{src:"perfil/xzi_01.png"}),r(w).records.length?(l(),o("div",T,[E,i("div",I,[J,(l(!0),o(u,null,v(r(w).records,((e,s)=>(l(),o("div",{class:"td",key:s},[i("span",null,d(r(f)(e.createdAt,"YYYY-MM-DD")),1),i("span",null,d(r(m)((e.betFlow/1e4).toFixed(2))),1),i("span",N,[n(t,{width:"0.5rem",style:{"margin-right":"0.2rem"},src:"base/JB_R$.png"}),g(" "+d(r(m)((e.bonus/1e4).toFixed(2))),1)])])))),128))])])):(l(),o("div",O,P)),n(t,{src:"perfil/xzi_03.png"})])])])}}}),[["__scopeId","data-v-08c9b8d6"]]);export{$ as default}; diff --git a/dist/assets/bg2_1730186905.png b/dist/assets/bg2_1730186905.png new file mode 100644 index 0000000..e5a4ad6 Binary files /dev/null and b/dist/assets/bg2_1730186905.png differ diff --git a/dist/assets/bg_01_1730186905.png b/dist/assets/bg_01_1730186905.png new file mode 100644 index 0000000..d527fb4 Binary files /dev/null and b/dist/assets/bg_01_1730186905.png differ diff --git a/dist/assets/bg_02_1730186905.png b/dist/assets/bg_02_1730186905.png new file mode 100644 index 0000000..7bd0bdb Binary files /dev/null and b/dist/assets/bg_02_1730186905.png differ diff --git a/dist/assets/bg_03_1730186905.png b/dist/assets/bg_03_1730186905.png new file mode 100644 index 0000000..98a71ad Binary files /dev/null and b/dist/assets/bg_03_1730186905.png differ diff --git a/dist/assets/bg_03_17301869052.png b/dist/assets/bg_03_17301869052.png new file mode 100644 index 0000000..7e7fe7b Binary files /dev/null and b/dist/assets/bg_03_17301869052.png differ diff --git a/dist/assets/bg_1730186905.jpg b/dist/assets/bg_1730186905.jpg new file mode 100644 index 0000000..cf7cf32 Binary files /dev/null and b/dist/assets/bg_1730186905.jpg differ diff --git a/dist/assets/bg_1730186905.png b/dist/assets/bg_1730186905.png new file mode 100644 index 0000000..cf3e199 Binary files /dev/null and b/dist/assets/bg_1730186905.png differ diff --git a/dist/assets/bg_4_1730186905.png b/dist/assets/bg_4_1730186905.png new file mode 100644 index 0000000..cd520cf Binary files /dev/null and b/dist/assets/bg_4_1730186905.png differ diff --git a/dist/assets/bg_di1_1730186905.png b/dist/assets/bg_di1_1730186905.png new file mode 100644 index 0000000..28aa8e7 Binary files /dev/null and b/dist/assets/bg_di1_1730186905.png differ diff --git a/dist/assets/bg_xuanzhong_03_1730186905.png b/dist/assets/bg_xuanzhong_03_1730186905.png new file mode 100644 index 0000000..be535d7 Binary files /dev/null and b/dist/assets/bg_xuanzhong_03_1730186905.png differ diff --git a/dist/assets/bottom-2_1730186905.png b/dist/assets/bottom-2_1730186905.png new file mode 100644 index 0000000..ee72329 Binary files /dev/null and b/dist/assets/bottom-2_1730186905.png differ diff --git a/dist/assets/br_1730186905.png b/dist/assets/br_1730186905.png new file mode 100644 index 0000000..374603e Binary files /dev/null and b/dist/assets/br_1730186905.png differ diff --git a/dist/assets/button_1730186905.png b/dist/assets/button_1730186905.png new file mode 100644 index 0000000..3352f65 Binary files /dev/null and b/dist/assets/button_1730186905.png differ diff --git a/dist/assets/button_Repair_1730186905.png b/dist/assets/button_Repair_1730186905.png new file mode 100644 index 0000000..ece75dd Binary files /dev/null and b/dist/assets/button_Repair_1730186905.png differ diff --git a/dist/assets/cashback_1730186905.css b/dist/assets/cashback_1730186905.css new file mode 100644 index 0000000..9f2d76d --- /dev/null +++ b/dist/assets/cashback_1730186905.css @@ -0,0 +1 @@ +.transition[data-v-e0542078]{transition:all .2s linear}.more[data-v-e0542078]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.blod[data-v-e0542078]{font-weight:700}.moveBox[data-v-e0542078]{animation:moveBox-e0542078 1.5s forwards infinite;transition:all .2s linear}.pointer[data-v-e0542078]{cursor:pointer}.not-select[data-v-e0542078]{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.particulars-detail-popup[data-v-e0542078]{background:rgba(0,0,0,.7)!important}@keyframes moveBox-e0542078{0%{transform:rotate(-6deg)}50%{transform:rotate(6deg)}to{transform:rotate(-6deg)}}@keyframes fadeIn-e0542078{0%{filter:blur(10px)}50%{filter:blur(5px)}to{filter:blur(0px)}}.fade-in[data-v-e0542078]{animation:fadeIn-e0542078 .8s ease-in}input[type=number][data-v-e0542078]::-webkit-inner-spin-button,input[type=number][data-v-e0542078]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}[data-v-e0542078]:root{--van-floating-bubble-background: transparent !important;--van-floating-bubble-border-radius: 0 !important;--van-floating-bubble-size: 1.5rem !important;--van-floating-bubble-icon-size: 1.4rem !important}.titleRight[data-v-e0542078]{font-size:.35rem;font-weight:600;cursor:pointer}.titleLight span[data-v-e0542078]{font-size:.35rem;color:#f7e600;font-weight:600}.box .table-box[data-v-e0542078]{border:1px solid #00fab4;border-radius:.2rem;overflow:hidden}.box .table-box>div[data-v-e0542078]{display:grid;grid-template-columns:50% 25% 25%;text-align:center;height:1rem;line-height:1rem;font-size:.35rem;color:#00e5d4;font-weight:600}.box .btn-box[data-v-e0542078]{width:45%;margin:.8rem auto .2rem;color:#fffa64;height:1rem;text-align:center;line-height:1rem;font-size:.5rem;font-weight:600;border-radius:.1rem;cursor:pointer}.page-body-btn[data-v-e0542078]{text-align:left;padding:.2rem;background-color:#002a30;border-bottom-left-radius:.2rem;border-bottom-right-radius:.2rem;font-size:.3rem}.page-body-btn h2[data-v-e0542078]{font-size:.4rem}.page-body-table[data-v-e0542078]{border-top-left-radius:.2rem;border-top-right-radius:.2rem;overflow:hidden;background-color:#00473d;font-size:.3rem;margin-top:.2rem}.page-body-table .row>div[data-v-e0542078]{display:grid;grid-template-columns:repeat(3,1fr);padding:.3rem 0}.page-body-table .row-one[data-v-e0542078]{color:#f8e700;font-weight:600}.page-body-table .row .rowBackGround[data-v-e0542078]{background-color:#004f43}.page-body-table .header[data-v-e0542078]{background-color:#006746;padding:.1rem .2rem;font-size:.4rem;text-align:left}.page-body-mid[data-v-e0542078]{margin-top:.2rem;display:flex;padding:.2rem .5rem;background-color:#004c55;border-radius:.2rem;justify-content:space-between;flex-direction:column;align-items:center}.page-body-mid .left-text[data-v-e0542078]{text-align:right;width:65%;font-size:.32rem}.page-body-mid .left-text p[data-v-e0542078]{text-align:left}.page-body-mid .left-text h2[data-v-e0542078]{color:red}.page-body-mid .right[data-v-e0542078]{text-align:left;font-size:.3rem;padding:0 .1rem;line-height:.6rem;width:100%}.page-body-mid .right .font-box[data-v-e0542078]{color:#89c2f7;font-size:.35rem}.page-body-mid .right .font-box-color[data-v-e0542078]{animation:2s linear 0s 1 normal none running fontColor-e0542078}.page-body-mid .right .btn[data-v-e0542078]{background-image:url(data:image/png;base64,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);background-size:100% 100%;padding:.1rem 0;font-weight:600;text-align:center;cursor:pointer;font-size:.4rem}.page-body-top[data-v-e0542078]{background-color:#7e57b8;padding:.2rem;border-radius:.2rem;display:flex;flex-direction:column;align-items:center;justify-content:space-around}.page-body-top .line[data-v-e0542078]{width:100%;background:#000;height:.3rem;margin-top:.2rem;border-radius:.2rem;position:relative;border-radius:1rem}.page-body-top .line-p[data-v-e0542078]{box-sizing:border-box;position:absolute;height:100%;line-height:100%;background:linear-gradient(to right,#4ea670,#afdf7b,#c3ea7d);border-radius:1rem;font-size:.3rem;font-weight:700;text-align:right;padding:0 .2rem;color:#606060}.page-body-top>p[data-v-e0542078]{width:100%;text-align:right;margin-top:.2rem;font-size:.3rem;font-weight:600}.page-body-top>p span[data-v-e0542078]{color:#f8e700}.page-body-top-mon[data-v-e0542078]{width:100%;flex-direction:row}.page-body-top-mon>div[data-v-e0542078]{display:flex;align-items:center;font-size:.2rem}.page-body-top-mon>div>span[data-v-e0542078]:nth-of-type(1){color:#f8e700;font-size:.4rem;margin:0 .3rem;font-weight:600}.page-body-top-mon>div .lv[data-v-e0542078]{height:.4rem;margin-left:.1rem;padding:0 .2rem;line-height:.4rem;background-color:#00b350;color:#f8e700;font-weight:600;border-radius:.05rem}@keyframes fontColor-e0542078{0%{color:red}50%{color:#89c2f7}to{color:red}} diff --git a/dist/assets/cashback_1730186905.js b/dist/assets/cashback_1730186905.js new file mode 100644 index 0000000..909257c --- /dev/null +++ b/dist/assets/cashback_1730186905.js @@ -0,0 +1 @@ +import{d as e,u as a,r as l,J as s,e as t,at as o,z as i,o as n,f as r,P as u,N as d,g as v,Y as c,k as b,X as m,h as p,n as g,F as f,j as h,A as w,ac as C,a3 as x,B as y,C as k,W as D,ai as Y,aj as N,t as B,_ as M}from"./index_1730186905.js";import{_ as R}from"./index_173018690533.js";import{u as T}from"./useUserLevel_1730186905.js";const _=e=>(y("data-v-e0542078"),e=e(),k(),e),H={class:"page"},S=_((()=>v("span",null,"Cashback",-1))),A={class:"page-body"},W={class:"page-body-top"},j={class:"page-body-top-mon flex-sb"},F={class:"lv"},L={class:"line"},O={class:"page-body-mid"},$={class:"left flex-sb"},I=_((()=>v("div",{class:"left-text"},[v("h2",null,"Seu CashbacK Semanal"),v("p",null,"Voce ganhara ??? BRL em cashback jogandoesta semana.")],-1))),P={class:"right"},V={style:{color:"red","font-size":"0.35rem"}},E=[_((()=>v("span",null,"Reivindicar Agora",-1)))],q=_((()=>v("p",null,"Tempo de reivindicação",-1))),z={class:"page-body-table"},U=_((()=>v("div",{class:"header"},"Status Nível Cashback",-1))),G={class:"row"},K=_((()=>v("div",{class:"row-one"},[v("div",null,"Nível"),v("div",null,"APOSTA"),v("div",null,"CASHBACK")],-1))),J=_((()=>v("div",{class:"page-body-btn"},[v("h2",null,"TERMOS E REGRAS"),v("p",null,"1. O cashback semanal é dado como recompensa todas as semanas."),v("p",null," 2. O período sobre o qual é calculado o cashback semanal vai de segunda-feira às 00:00 a domingo às 23:59. "),v("p",null," 3. Horário de solicitação do cashback: De segunda-feira da próxima semana 06:00 a sexta-feira 23:59, expirará se não for resgatado. "),v("p",null," 4. O número de Perdas de dinheiro real multiplicado pela % de reembolso é o reembolso/cashback da semana. "),v("p",null," 5. Caso você não tenha apostado durante o período em que o cashback estava ativo ou se seus ganhos da última semana ou ganhos totais são maiores que suas perdas, você não receberá cashback. "),v("p",null," 6. Limite máximo de recompensa de cashback por pessoa por semana: 10000 BRL. "),v("p",null," 7. O valor do cashback pode ser sacar diretamente ou utilizado para continuar jogando. ")],-1))),Q={class:"box"},X={class:"table-box"},Z=_((()=>v("div",null,[v("div",{style:{"border-bottom":"1px solid #00fab4","border-right":"1px solid #00fab4"}}," Semana passada perda "),v("div",{style:{"border-bottom":"1px solid #00fab4","border-right":"1px solid #00fab4"}}," Nível "),v("div",{style:{"border-bottom":"1px solid #00fab4"}},"Quantidade")],-1))),ee={style:{"border-right":"1px solid #00fab4"}},ae={style:{"border-right":"1px solid #00fab4"}},le=M(e({__name:"cashback",setup(e){const y=a();T();const k=l(0),M=l([]),_=l({}),le=l(!1),se=l(!1);s((async()=>{await ue()}));const te=l({}),oe=l(0),ie=t((()=>{for(let e=0;e{let e=`${o(new Date(new Date(_.value.cycleBeginTime).getTime()+864e5*_.value.days),"YYYY-MM-DD")} 00:00:00`;return o(new Date(new Date(e).getTime()-1e3),"YYYY-MM-DD HH:mm:ss")})),re=t((()=>{let e=`${o(new Date(new Date(_.value.cycleReceicveBeginTime).getTime()+864e5*_.value.awardTime),"YYYY-MM-DD")} 00:00:00`;return o(new Date(new Date(e).getTime()-1e3),"YYYY-MM-DD HH:mm:ss")})),ue=async()=>{const e=await i.getCycleRebate();if(0==e.code){if(M.value=e.data.rebateConfig?e.data.rebateConfig.rows:[],M.value.map(((e,a)=>{e.leave=a+1})),_.value=e.data.rebateData?{...e.data.rebateData}:{},k.value=e.data.totalBet||0,0==e.data.totalBet)return te.value=e.data.rebateConfig.rows[0],void(oe.value=0);if(e.data.totalBet>e.data.rebateConfig.rows[e.data.rebateConfig.rows.length-1].betNum)return te.value=e.data.rebateConfig.rows[e.data.rebateConfig.rows.length-1],void(oe.value=100);for(let a=0;ae.data.rebateConfig.rows[a].betNum&&k.value{let e=new Date(_.value.cycleReceicveBeginTime).getTime()-864e5*_.value.days,a=new Date(re.value).getTime()-864e5*_.value.days,l=(new Date).getTime();l>=e&&l<=a&&_.value.lastWeek.profitCoins<0?(le.value=!0,se.value=!1):se.value=!0,setTimeout((()=>{se.value=!1}),2e3)},ve=()=>{D.go(-1)},ce=async()=>{if(_.value.lastWeek.profitCoins<0){Y();const e=await i.receiveCycleRebateLoss();if(N(),0!=e.code)return B(e.txt);le.value=!1,B("Reclamado com sucesso"),_.value.lastWeek.profitCoins=0,await y.getUserInfo()}};return(e,a)=>{const l=w,s=R,t=C;return n(),r("div",H,[u(s,null,{left:d((()=>[v("div",{class:"titleLight flex-ct",onClick:ve},[u(l,{width:".8rem",type:"local",class:"back",src:"base/fanhui.png"}),S])])),right:d((()=>[v("div",{class:"titleRight flex-ct",onClick:ve},[u(l,{width:".5rem",src:"turntable/wd.png"}),v("span",null," R$ "+c(p(y).userInfo?p(x)(Math.trunc(Number(p(y).userInfo.coins/1e4))):"0.00"),1)])])),_:1}),v("div",A,[v("div",W,[v("div",j,[v("div",null,[u(l,{type:"local",src:"base/R$.png",width:"1rem"}),v("span",null,c(te.value?te.value.rebate:0)+"% Cashback",1),v("span",null,"Max:"+c(M.value.length>0?M.value[M.value.length-1].rebate:0)+"%",1)]),v("div",null,[u(l,{type:"local",src:"base/VIP_hg.png",width:"0.4rem"}),v("div",F,"N "+c(te.value?te.value.leave:0),1)])]),v("div",L,[v("div",{class:"line-p",style:b({width:`${oe.value}%`})},null,4)]),v("p",null,[m(c(0===ie.value?"Max nivel":`${ie.value} Apostas to`)+" ",1),v("span",null,"N "+c(10==te.value.leave?te.value.leave:te.value.leave+1),1)])]),v("div",O,[v("div",$,[u(l,{type:"local",src:"base/icon_0.png",width:"2.3rem"}),I]),v("div",P,[v("p",V," Periodo "+c(p(o)(_.value.cycleBeginTime,"YYYY-MM-DD HH:mm:ss"))+"~"+c(ne.value),1),v("div",{onClick:de,class:"btn"},E),v("div",{class:g(["font-box",{"font-box-color":se.value}])},[q,v("p",null,c(p(o)(_.value.cycleReceicveBeginTime,"YYYY-MM-DD HH:mm:ss"))+"~"+c(re.value),1)],2)])]),v("div",z,[U,v("div",G,[K,(n(!0),r(f,null,h(M.value,((e,a)=>(n(),r("div",{key:a,class:g({rowBackGround:(a+1)%2!=0})},[v("div",null,c(a+1),1),v("div",null,c(e.betNum/1e4)+" + BRL",1),v("div",null,c(e.rebate)+" %",1)],2)))),128))])]),J]),u(t,{contentBgcolor:"#004B42",modelValue:le.value,"onUpdate:modelValue":a[0]||(a[0]=e=>le.value=e),title:"Cashback",lockScroll:!1},{default:d((()=>[v("div",Q,[v("div",X,[Z,v("div",null,[v("div",ee,c(_.value.lastWeek.profitCoins/1e4),1),v("div",ae,c(te.value?te.value.leave:0),1),v("div",null,c((Math.abs(_.value.lastWeek.profitCoins/1e4)*(te.value.rebate/100)).toFixed(2)),1)])]),v("div",{class:"btn-box",style:b({backgroundColor:_.value.lastWeek.profitCoins<0?"#CE7B0D":"#383837",cursor:0==_.value.lastWeek.profitCoins?"no-drop":"pointer"}),onClick:ce}," Receber ",4)])])),_:1},8,["modelValue"])])}}}),[["__scopeId","data-v-e0542078"]]);export{le as default}; diff --git a/dist/assets/choujiang_1730186905.png b/dist/assets/choujiang_1730186905.png new file mode 100644 index 0000000..7f5bdf2 Binary files /dev/null and b/dist/assets/choujiang_1730186905.png differ diff --git a/dist/assets/dihe_1730186905.png b/dist/assets/dihe_1730186905.png new file mode 100644 index 0000000..09c1216 Binary files /dev/null and b/dist/assets/dihe_1730186905.png differ diff --git a/dist/assets/dx_1730186905.png b/dist/assets/dx_1730186905.png new file mode 100644 index 0000000..dd34a31 Binary files /dev/null and b/dist/assets/dx_1730186905.png differ diff --git a/dist/assets/dzp_di_1730186905.png b/dist/assets/dzp_di_1730186905.png new file mode 100644 index 0000000..cde7968 Binary files /dev/null and b/dist/assets/dzp_di_1730186905.png differ diff --git a/dist/assets/dzp_p_1730186905.png b/dist/assets/dzp_p_1730186905.png new file mode 100644 index 0000000..9f32f9b Binary files /dev/null and b/dist/assets/dzp_p_1730186905.png differ diff --git a/dist/assets/erw_1730186905.png b/dist/assets/erw_1730186905.png new file mode 100644 index 0000000..80e2beb Binary files /dev/null and b/dist/assets/erw_1730186905.png differ diff --git a/dist/assets/event_1730186905.png b/dist/assets/event_1730186905.png new file mode 100644 index 0000000..ea69ab5 Binary files /dev/null and b/dist/assets/event_1730186905.png differ diff --git a/dist/assets/facebook_1730186905.png b/dist/assets/facebook_1730186905.png new file mode 100644 index 0000000..2992ffb Binary files /dev/null and b/dist/assets/facebook_1730186905.png differ diff --git a/dist/assets/game-back_1730186905.png b/dist/assets/game-back_1730186905.png new file mode 100644 index 0000000..6a9fabd Binary files /dev/null and b/dist/assets/game-back_1730186905.png differ diff --git a/dist/assets/game-class_1730186905.css b/dist/assets/game-class_1730186905.css new file mode 100644 index 0000000..deb62f0 --- /dev/null +++ b/dist/assets/game-class_1730186905.css @@ -0,0 +1 @@ +.transition[data-v-aee130cb],.game-class[data-v-aee130cb]{transition:all .2s linear}.more[data-v-aee130cb]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.blod[data-v-aee130cb]{font-weight:700}.moveBox[data-v-aee130cb]{animation:moveBox-aee130cb 1.5s forwards infinite;transition:all .2s linear}.pointer[data-v-aee130cb]{cursor:pointer}.not-select[data-v-aee130cb],.game-class[data-v-aee130cb]{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.particulars-detail-popup[data-v-aee130cb]{background:rgba(0,0,0,.7)!important}@keyframes moveBox-aee130cb{0%{transform:rotate(-6deg)}50%{transform:rotate(6deg)}to{transform:rotate(-6deg)}}@keyframes fadeIn-aee130cb{0%{filter:blur(10px)}50%{filter:blur(5px)}to{filter:blur(0px)}}.fade-in[data-v-aee130cb]{animation:fadeIn-aee130cb .8s ease-in}input[type=number][data-v-aee130cb]::-webkit-inner-spin-button,input[type=number][data-v-aee130cb]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}[data-v-aee130cb]:root{--van-floating-bubble-background: transparent !important;--van-floating-bubble-border-radius: 0 !important;--van-floating-bubble-size: 1.5rem !important;--van-floating-bubble-icon-size: 1.4rem !important}.game-class[data-v-aee130cb]{display:flex;overflow:auto;width:100%}.game-class[data-v-aee130cb]::-webkit-scrollbar{display:none}.game-class .class-item[data-v-aee130cb]{font-size:.3rem;padding:.1rem .15rem;display:flex;align-items:center;justify-content:center;margin-right:.1rem;background:#2E3435;border-radius:.1rem;color:#bbb;border:1px solid #2E3435}.game-class .class-item img[data-v-aee130cb]{width:.6rem;height:.6rem}.game-class .class-item div[data-v-aee130cb]{white-space:nowrap;margin-left:.1rem;font-weight:500}.game-class .active[data-v-aee130cb]{background:#586D74;border:1px solid #586D74;color:#fff} diff --git a/dist/assets/game-class_1730186905.js b/dist/assets/game-class_1730186905.js new file mode 100644 index 0000000..5de4579 --- /dev/null +++ b/dist/assets/game-class_1730186905.js @@ -0,0 +1 @@ +import{d as a,p as s,v as e,r as l,e as r,aa as t,o as c,f as n,F as m,j as i,n as g,g as d,h as o,Y as u,H as f,O as C,_ as p}from"./index_1730186905.js";const v={class:"game-class"},_=["onClick"],I=["src"],h=p(a({__name:"game-class",props:{current:{type:Number,default:-1,reuired:!1}},emits:["change"],setup(a,{emit:p}){const h=a,k=s(),x=e(),y=l(),D=r((()=>"/"===x.path?k.gameClassData.filter((a=>19!==a.gameClassId)):k.gameClassData));t((()=>{if(-1!==h.current){const a=k.gameClassData.findIndex((a=>a.gameClassId==h.current));f((()=>{y.value[a].scrollIntoView(!1)}))}}));return(s,e)=>(c(),n("div",v,[(c(!0),n(m,null,i(D.value,((s,e)=>(c(),n("div",{class:g(["class-item",{active:a.current===s.gameClassId}]),ref_for:!0,ref_key:"classRef",ref:y,key:e,onClick:a=>(a=>{p("change",a)})(s)},[d("img",{src:o(C)(s.gameClassImg)},null,8,I),d("div",null,u(s.gameClassName),1)],10,_)))),128))]))}}),[["__scopeId","data-v-aee130cb"]]);export{h as G}; diff --git a/dist/assets/group_1730186905.webp b/dist/assets/group_1730186905.webp new file mode 100644 index 0000000..be4d41a Binary files /dev/null and b/dist/assets/group_1730186905.webp differ diff --git a/dist/assets/h-table-paging_1730186905.css b/dist/assets/h-table-paging_1730186905.css new file mode 100644 index 0000000..e74cb17 --- /dev/null +++ b/dist/assets/h-table-paging_1730186905.css @@ -0,0 +1 @@ +.transition[data-v-d067683f]{transition:all .2s linear}.more[data-v-d067683f]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.blod[data-v-d067683f]{font-weight:700}.moveBox[data-v-d067683f]{animation:moveBox-d067683f 1.5s forwards infinite;transition:all .2s linear}.pointer[data-v-d067683f]{cursor:pointer}.not-select[data-v-d067683f]{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.particulars-detail-popup[data-v-d067683f]{background:rgba(0,0,0,.7)!important}@keyframes moveBox-d067683f{0%{transform:rotate(-6deg)}50%{transform:rotate(6deg)}to{transform:rotate(-6deg)}}@keyframes fadeIn-d067683f{0%{filter:blur(10px)}50%{filter:blur(5px)}to{filter:blur(0px)}}.fade-in[data-v-d067683f]{animation:fadeIn-d067683f .8s ease-in}input[type=number][data-v-d067683f]::-webkit-inner-spin-button,input[type=number][data-v-d067683f]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}[data-v-d067683f]:root{--van-floating-bubble-background: transparent !important;--van-floating-bubble-border-radius: 0 !important;--van-floating-bubble-size: 1.5rem !important;--van-floating-bubble-icon-size: 1.4rem !important}.content_body[data-v-d067683f]{justify-content:space-between;width:100%;margin-top:.2rem}.content_body .border[data-v-d067683f]{font-size:.3rem;background-color:#21212a;height:.8rem;line-height:.8rem;padding:0 .3rem;border-radius:.2rem}.content_body .right[data-v-d067683f]{display:flex}.content_body .right .num[data-v-d067683f]{margin:0 .3rem} diff --git a/dist/assets/h-table-paging_1730186905.js b/dist/assets/h-table-paging_1730186905.js new file mode 100644 index 0000000..cc11c34 --- /dev/null +++ b/dist/assets/h-table-paging_1730186905.js @@ -0,0 +1 @@ +import{d as e,r as a,e as s,J as o,o as t,f as r,g as l,k as n,Y as u,P as c,w as d,Z as i,_ as g}from"./index_1730186905.js";const p={class:"flex-sb"},b={class:"right"},v=g(e({__name:"h-table-paging",props:{total:{type:Number,default:0,required:!0},pageSize:{type:Number,default:10,required:!1},color:{type:String,default:"#fff",required:!1},background:{type:String,default:"#21212a",required:!1}},emits:["on-previous","on-nextPage"],setup(e,{emit:g}){const v=e,f=a(1),k=s((()=>0===v.total?1:Math.ceil(v.total/v.pageSize)));function y(){1!==f.value&&(f.value--,g("on-previous",f.value))}function m(){f.value!==k.value&&(f.value++,g("on-nextPage",f.value))}return o((async()=>{})),(a,s)=>{const o=i;return t(),r("div",{class:"content_body",style:n({color:e.color})},[l("div",p,[l("div",{class:"left border",style:n({background:e.background})},"Totals:"+u(e.total),5),l("div",b,[c(o,{class:"border",style:n({background:e.background}),size:"14px",name:"arrow-left",onClick:d(y,["stop"])},null,8,["style","onClick"]),l("div",{class:"border num",style:n({background:e.background})},u(f.value),5),c(o,{style:n({background:e.background}),class:"border",size:"14px",name:"arrow",onClick:d(m,["stop"])},null,8,["style","onClick"])])])],4)}}}),[["__scopeId","data-v-d067683f"]]);export{v as _}; diff --git a/dist/assets/icon_0_1730186905.png b/dist/assets/icon_0_1730186905.png new file mode 100644 index 0000000..84a1bf6 Binary files /dev/null and b/dist/assets/icon_0_1730186905.png differ diff --git a/dist/assets/icon_cuxhuod2_1730186905.png b/dist/assets/icon_cuxhuod2_1730186905.png new file mode 100644 index 0000000..90ee841 Binary files /dev/null and b/dist/assets/icon_cuxhuod2_1730186905.png differ diff --git a/dist/assets/icon_jinbi_1730186905.png b/dist/assets/icon_jinbi_1730186905.png new file mode 100644 index 0000000..67716a1 Binary files /dev/null and b/dist/assets/icon_jinbi_1730186905.png differ diff --git a/dist/assets/icon_sz025_1730186905.png b/dist/assets/icon_sz025_1730186905.png new file mode 100644 index 0000000..608e5db Binary files /dev/null and b/dist/assets/icon_sz025_1730186905.png differ diff --git a/dist/assets/img_good_1730186905.png b/dist/assets/img_good_1730186905.png new file mode 100644 index 0000000..60f1e0f Binary files /dev/null and b/dist/assets/img_good_1730186905.png differ diff --git a/dist/assets/img_hot_1730186905.png b/dist/assets/img_hot_1730186905.png new file mode 100644 index 0000000..9cb8e89 Binary files /dev/null and b/dist/assets/img_hot_1730186905.png differ diff --git a/dist/assets/img_new_1730186905.png b/dist/assets/img_new_1730186905.png new file mode 100644 index 0000000..67b44a0 Binary files /dev/null and b/dist/assets/img_new_1730186905.png differ diff --git a/dist/assets/index_1730186905.css b/dist/assets/index_1730186905.css new file mode 100644 index 0000000..78075a1 --- /dev/null +++ b/dist/assets/index_1730186905.css @@ -0,0 +1 @@ +:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}*{margin:0;padding:0}.flex-sb{display:flex;justify-content:space-between;align-items:center;cursor:pointer}.flex-sad{display:flex;justify-content:space-around;align-items:center;cursor:pointer}.grid-se{display:grid;grid-template-columns:repeat(5,1fr);align-items:flex-end;cursor:pointer}.flex-end{display:flex;justify-content:flex-end;align-items:center;cursor:pointer}.flex-ct{display:flex;justify-content:center;align-items:center;cursor:pointer;position:relative}.flex-ct .maintenance-box{width:100%;height:100%;position:absolute;top:0;left:0;z-index:6;background-color:#00000080}.flex-sa{display:flex;justify-content:flex-end;align-items:center;flex-direction:column;cursor:pointer}.flex-cl{display:flex;justify-content:center;align-items:center;flex-direction:column;cursor:pointer}.flex-st{display:flex;align-items:center;justify-content:flex-start}.effect{animation:effect 2.5s forwards infinite;transition:all .2s linear}@keyframes effect{0%{transform:scale(1)}20%{transform:scale(.8)}50%{transform:scale(1.18)}80%{transform:scale(1)}90%{transform:rotate(-6deg)}to{transform:rotate(6deg)}}@font-face{font-weight:400;font-family:vant-icon;font-style:normal;font-display:auto;src:url(data:font/woff2;charset=utf-8;base64,d09GMgABAAAAAGL8AA0AAAAA6SgAAGKgAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP0ZGVE0cGh4GYACCUhEICoOoBILIXQuECgABNgIkA4QQBCAFhQ4Hlicbj7ZFB3LYOIBhOG/7KEqjrI5CckpqLfv/nNwYQy3QrP8HqSyT0KreOBC6oV3YaCNcHtGFZdNfJs0K3ObxOB3jel2BnkhyW3HUmbbpKvaF/2F/+AxsG/mTnLxQ8ftt593970giiaZM0kbMJCiNSis0tRKANnKdCL5V097IukKp1yqEwfj1H57Pbe+PbRz77ILtf9hxMc4xGBvsf7i3sXGNcxunynELyIYyFA9MEUxB7zzSFM3i43GW5XElUGKXmFZqytCsDLEyO928c2+JTY/UgPqRB0iBPwY3x61tjLrd8yPPeIFR3Xa/Ko41DM4rqawV8d4B63AskFKHLHYdRuxubxxgFpDGnGg/5nyVrtLGkp7hp2guAAzJiQOl/JQ4Y1/sq30NOM7GCZcofwCUdr5vziooIFdKZSc/dWhaHgA6Lb77nvbSZtU94K3qlkb2I+JIMvyvaeGQJ5FSKTUcQ/gAkB0P/65leQOcJMhJBGkdvKpsXfISpIKWnmrlZn6T3ycRbG8njurMmoBHTn5N5/S4btDGbZkUQTWu6urAEIda/bJ7Hcqs+7831WrDbpoZai2555x0V6qiNjpXuXEuuiR7/f5vdPf//RuNboIDNAgOjKQDAWkHAMU5kKBmCAJCGXJ4oNw64xqANEVSayhSmuVqz3DOWR95m/lIddGEZ4Lkwg3Ci2ejM+ll+QXhhRteEl4QGafOaR8mzISTJwmMPi8V6sb8WDPyZqjeYpQiTUCwbUp9/PI31vpPl3vcTWN9cl23SFGfgNwCut2Pqf/smn8n/c1aGk00goIccMfQVqE2rYijelABf3yTyvYWkshqd800339ZiAOk0ihRbhihigqbeaPZl9zFOgo9djn/gFZ5Eb8yvH5/0DZ9rDFfxjPo9+p+LCLwAbyF7bPfLbxbELYXzWpjjJxsxPV7qQ6IWc/DjqhAkvYQe89A5gEn5C21NuLGwwTwFR9/40EfE/zB9F3xoZAO+WBoZN5j8fJuh9Ny/ZeOIo2mRH3jIi6jS1Bcg2RXHlUIhgXuRUXUssSJ7EhhtrKLuqlVIetsJBH7kCWLMel2gHxoMtbmKZ2RCulqJziTblpEY5xlFKce29TPvbt0wBOxQ3dQH1I0e/UK8OPPQ4wOmU8wwJixLP2hM7MXMDMDM6Ghd13K1GDBIreYzaZrZNhp5GgmDWVF3RyhgXcYdVRt/K1ktavWlvWPSiAT1GkvJDGqNtNQjRl9ZnrrUWKnkxNOno+A3wEnY6rbPDxwCTWdwJr5G1pr/QDnbiTmPU2nDygO91cZ3Ctg7lTvI37TlW0txun9tJV0DeznjL1yHge6+BFK6wcgp+5pXVLaZJ5fHJM6N9axFgMg42zMNXe2tMUKv4EW9ycnzIVGd5BW975V259xOw62mDHEfqy7DCIC2Jv3wLcgFterTUUEiNm/KJIRJafCmkgI4PgqU86Nyaq/YHFR+LkqBgJYvJOkkikLzK4VdCm4y/N7R+ISxqnuY6d0SBnRUUdcOJCQGPciGYL3e0jF7GS/V43RUvtrHGUlD1/N3hZGVTXlEhWenFfMGy78E0oPNpvtulC2DKWquL8HTrtedp/SgdAOs4zsMJttXEjCNrs2E5lMy/Jmx+zthMxyORyTKcDWBWjGbLRCitzz7lJpbSQ05G0ZtR+LqkK59pqzlksgsqKWo8jAqm2qlQ1eoytL0wyBBUDYG0A22EjhtlWepykw3dXmoHTYbWidrRMEKjUW13AVFKLpVFa8qlb/UZZURxhu0KOJBI5E6n3fb66uKsduUcv/Gxl1BkP9ZoANzfHe5ll2YhK3YzwBCZcodzAHOU0VXzRw4V7fVdHAXegAPPe3RJVXpXK+4OSoelAoWa1a1TYIKVjJ7cW6F8WCBfMJDTWPXLFeRF6elR2zGSCCEq63EdbJrbFk9+DNC+VjUu7oTimbXVdsrgfqTtWEs9MCMG9YafRcx3LnDlF1+4upNJjwOuwc7Q1hU4PxWOo3PGUcl9X2xU2Z6fhqGgTCAOKctMbIgiL16urBZ6vh+Ycoxfttre9F4/iqOzsFbrzqwZs57qLM7ZAilHDuy5TRe3EdgURP4y6akzEKR0QEPxh6eE+W29sjFIpb9KnOP8R5JiNe1thAQKXSUE32liigsbda6XxShBDnPjpGzmldyY36QZe8pReOfGmYOBfjmNpKqodtll2GEWEi50mRyayZuJ2Ew7WAetPBteI2xvpxQgipwE6tcgFcj6Cg9R20FYf0adxFMExD1QVJgQzlCwfjraFgXMZapZqGdFGlg3qZG/AAaS+Vg09WbV2mT9eIFBLmVoV7r9JYsdTIeg/JZLkHJ7LYQ+Mf1ESoWX5gB/GSKMyxTS4+cZ+Lm7J0drJrO48wh9gBlVIhkojJSBMKQax/ClJIG5/IJ5JrbSvlCLEkKyzJXB+B+4KqWGZVed6BXY3cLcIOqvUuW8YmlYLcl1zdCTpEBDfs034M8MiY6n0DQiF0Ksm7kNvpfzeVcOrLq3IytWU9I3ynxX75LJUOAAnrSNgiHxeRpdx7ZrwVJWig2Ler7IPhJEo59W8uo7fjFgLuc6KoybEetkjCuPIwW412skDEL0hhHPPRMaoPAzaCim9hYRTnB1F31AjSRiGMeFVEsHrl5rDpv7UQV8XogpIqeFHNtHEeauPt8j7RhRjH4FxGVw81Nre49Lrs57odNvSlQx4CU/Zhk8l/YeSoC8zlCqbksfIvjczdRjOxAUwdDjk79Y4Ab1OMJqo3o3QoamCyhtaQF/ChgVgT40VmVa6xo+9fgeQKYqw96yqtLMEio32nFHiEgIA3lvsfSjvSsqJWZDNTWb1J6X7WJIRxX7+iIhxcw9xf+jBa/3SvwvNdeyi0utc+XUJNz5dFiGY/i3brLVbpfOFukqrTJ5aTxT/b3tL2Lq2rN/5xY1+/t+iJtIRwlLK1ns3J1OjMUoXye1Zu8NldIIIxwggMPvj5zrmIgxqh8xD9XraO4CJDOnsDSo/yhZt+bmf13eDz6MvwqzOMG5AgKm6zjFxBMJ7Xp1t4hdr1Y+vqL/zlzL726wqxQfdUtSsiw7p62DpS8kDf3gfhQv/nwLheDr+MPg++WKX9eW3ffPC3K+vyNatC8K/WoySc5cDQXUOnJuGCTBK2UdaJMGBfKNOGyz+rmzXa9WNAPtNcSk3M8k+xzzz2C+pOIyr90q9bsmAT/I38z4b6KHB3q6sdU97Gicae63ZTtYB3sOxwnTJkgE7cNOoRGjbUlX4vF7NeHx1rk4d5tXcnjth5i1qq1AkpldveHs7LERosH9abvuJ06HLYIWY2y3k83tExhyeNaCq6FFOlOofDFNZmarZXMyhVCF4eVEwz73b4biNEvUe+HyMR0mtlqln3HQiciNe1tIQ0VRFm41M0z/VCGl0y7Q/mnhVtvCdPfBPWOjDJ9OIL+3fK3z8sXZ7VaZjSU7kodwJBLtAXKJy4v+63Z3QSTg0r+wClK5Wclwez90LO9usx6nOjZ3/LKWArd6WVP7p+XZsRIxrxcJE5L0o1+M60c9CSslldqOoE4ajXR0/aFuQEdK8sV4lnlHIqXaV4MFAc4DESB1IGWUjIPKumVg+/ZLz8THTpu0g8PMqjOEi4bnXMI5Nmd+jdqIbclZ+d51PosFmRslRDC8MJ9ztcXFMInvHlKqArleW92r3GU94mBbYNyHhKXDy8U6dOnHnxmfyR8w27febnTZmK2KxPDpHUq5+nDgOell3+rk3rb64+HdiBbAaSYfnWxtrrTs/aM6ETKlao2kuiJdsbbg1r8nB0YCecRV3jKXZ61d3o59yY9sbKU77lS0Ygm3Zgb667wXvXn42WRKodKpYTOlvrbw7pN04EmbKv/5b2YujNXjz+d+wp3YbfXcXZkkO6g9xUlMmJVMG0lPpSPLv4M8CnNVvRxo0pgCEI9FnvLd59Q46/YOAj8K1jFpvsIdTppfAoJb559hyK0hDO0Pj1E5eqOEcq8vdThz+MkycZ8Qhpu2jz55cLJJHoJqE/wCbc71b2TAxZ11YoD4+tyvhtzlAnIb1jRkNjpSswM62AUdPjI1KmulLF/UjcRe7BM2GAt8cs6uT/bgeDYZ/L70lGsp9XqtwMrOaY/TXMs+CWdix7gMGR0NrARWAI+BGG0BIk3I8gYdGwADUgZ5Jq4iFZ3NftPq4ik7jm4tS3IhkLJxaayEnjlh854TwL+6Zz888p1nr3XsDFqedWFjBeJ1zxO5OLGXPGmLkrL5s0eh/iWyaVSXXq8mem95S0DhUFqNXOpKmzZxz+oYXKda+CekjSGz9/sBXWmd243w7TXtRJygXveC+eBDak0E8twa5SUVj9pqjHMOgZByV9hBBBPZTifr4NZNdrYoDmLL6ICE3O6Ye9TjmwoIexaHDYtohPVf0fvteLsvLVwvcGaCCMlNgZ/UHrXqu1i6BmplEx8m95pPYh1k6bG1QMONSOFe6r2dWZ9JqFIUKcUSoAXYLYahqu8B6VHk8Sy/ESYWaj5exbKvXcl+PfUIi9v7JRtYRQCIJAJCIaBhJcYLw5SLJJAKhE1nht/gnQgjBhrgmwciD7cng6UaUcxI28tc1tascGG1AGkJu2YRgOU8c3Gf2onOM+sIdSNG9JQd/Y16Ns3AqSAkCEvJXThEATbXKIKYxRzAUcLFgahVP2QyHtkZGbgloC1TmrrtYix2vur+7M2ZL75Uo4+6kGZZQfxqBCrI9Doai04KktiWEDOmCrOgbbXDRxrVTh5brqXQuUOGEDM1zOz3xzOozRwoCrpduTPkqiRpw/Lh1abD3quUdUxXFlmKwLZVbDFQ1ZmU89QYcZMtXnuy/sdyej9ehqi/kWNP0biiLsdUXp1jZjDMB1ehj/fkuUjZWRqko3e+SQdZbU0OWkNxjGBK8BEv6ljpbfJ8rOAxdjixKG81IS9gJPMITnGJn5D2ZSHn0w4pKhqPz+vHcgZmcEy8Nro36ugfNV5+2CGFKZeGnEo554ycaI44Q5/fCjNZtBLdZjhzLIxX9A0IsjwppWUC+8kKtLxBdvKYoXWc66Yb0YhrYmr1dKXaNJpK4VC93qAnDmqvUPhbTNl8cOUHi5JkY49eHOnHjoETatGgzOBP1uNdW+knIBMx7fbWOigUwHVxRAos0sqVJ6mBjKLrzrZhPjy4+tT0ThxP7fHAnFFN18az3XqKozjYOh+lDQKoHBmLCYDRtwtYnL2tY/R5ni2uh2xjqcoWEvYs+hIKv6G/Fh7FXgurAEACrADT3VwvbQi2m9iRLWLYPktIAAMjSA4UnqqadDVxEM5iwMNdFBRJUy1Uq3saInw8fATVERUug/PtXEvP0eNqEqbmOfKmrUiB0pgTyaaqRQJavPFK1APOb4FUWiGUkXsCojTmPda0UAdoqtsAT5qVdnfkypLScWqBTIpjnEhipo/Izf5pwBvGJGZUTCLVERffHqUOTo9p5rbze6drjpd5camECFXdym/WCgBDAib5r3iU06MUjlZszK1ZipXCDFC/MnvshzYz9DPz+PSBEIzpX1zLADRYZW8hzfNfNp00zN+25pYtKMaNK4L7sWVYqvEgVkXxkDPWVFpbr7HDzzqW5mjecVW65HcJQIqMNxUh3rN35a358wn0zI2uk6B92wV1xxUofqj8JglY8qpBFhH42pebHXL0mFITcOKMMjjg1lBYsOXDRoAk+OYqHhH38SjcaNnpcIgsb3RYaFHt6fKefvu2DSBpy43kRNYoUd5yb0jiAA5noIT5DjmtSe+UGUtXoUcDNWaSis3MQJtfZFsfRnMRQRuCHe+5413Y40pJGvrX69IqXhHqipWsKOZJk8lGzU306yrZEfzz0zqt6nPz/ia85XtdsJpYUYVBYTLQn4b+u0ohgptJUmKcp4e3o3YD/T5Hhor2nmPj+wZ5ddqN9XJT+owfLL8w9GoTO3/OLACU2zzfbWqXZkffH/9veEHiDNmLQ5J3pwbtx9rmMrYB5exQHRFOhEUKfoFqiFt1pFV4syuUheIAuk1Y57ipMqZ2H2pSZMIDpkgVHtcVcTK8pZDL460QDOP+S3+xeQ5wKWL/R3l5/Nh622JFE0WV6a1WHSv1+/u2w2WDqzdef5va7YoTcHDhpKy+fCFfM7yi8dMrGmeQiammxzc6dgNDNTzTHejs2VxVp4SwrNjkgUtZXiS7dqf20reb/9BQHeDikV8PtsJGcqHKd0Rw9sPZSZKF4gUYhUYVqa3TJyB9iLSumBULFUClKzb20snZmZXgU6XrGStqTQP7q8I3rpMFpesXxCM5c+I8UIajxqUaP4iQBlKld7bvNjYTD00QcRIRJxt48/GvrwYwKlm/rUYlFBCTtnrKcNM7r1jDg9rdt5nj+K7UwBSDFSupnoWa/fbTHExjOzr+wmqWyc1p14sCwB7gDPBvIV02Vuz0PqSxjHBBs1QlekNIU+ayx70mGy/L+X9rmj36g+bk7A+qM3I51bc8ZN3JO1Oy2O3RJM9FWzf22gRxP82Qk6u7bNjKw+7WwK9EBPWM+OsvaMuzkUoXH13NnKNpauc44lcQxASqe1Fpsg9klapkuJDmemJhHBSxn2idhFIRnRJL6w6LxoLbLNBXZ+li15SKW0pHlxTyLLX1XXM21m3g2taLhKpyVCQyQxQ2xmqdF+lSA9Y/pQjtInrirlSU1bx5sc7sD8iktBfVuwS8AmNT3wuvJZdzoWbfIbqfJpFmJ8N4IuCmX6T0JUEMpmL6eb7AlxfkV/HvMOLDAZ7ycSEZKjMQYjdFGMvQQuZpsWJcqh26na01c316luLYzJrEWphZURaGHWX7v494kTktAOCI76n2L+Rx9/8YSMjFYX1Byneuy1U/Fb6cTLzbEr+r5s6tMcPptZ+zGHg5iPPqfdtAvQdCEEzgqhwC++sf8veFZjXTiPmOsxkjakH2pjneD7xZEV5s9lHKBcsdVLLxxu3NhQOI0ZIK/MJUq/hLxycSBFdDvdFAPSGxkVS1ghLF9FWHvWg+PlHdZZlp5DCE+c9patZiWaYwaRgHKK4Jc10Qz19VPFVjwJS7zNHpUu8WY8IckIUyaOx8CxHmMP741QnXDPg38XcDeAQidRiJqxQuqSY9zDpbR851Z0R2IPZUa8EY5+o+OJG2RpqLEKthzJ2z2+W8m5XtKCd5M32YUGAy4zSxm3U4gX7b5lBDyc1w4bErdzizxW7eR6HoLYTDpCyVFakgOd1avnh58uiWhsAQx4pCP4+KPPK7cr/qF88hMPTc+s/5Rb6WdUrqqQoMAqzY7jyeGjWSEQ6uBmGYWDXqFreHDdYOAWN6qX+mVsDmL8zFbf4uVjNnROSkRhv+VTIzqc9g9re0Xc3oMpgIiXY9m0O/4Nuru2Ke871QbHRBZ7rdftLTa7JOwJADtkBqE7VXSI87oBocSZ1LbxXDJnY2jmA3HaEwBXtpo4sB1juUwc6RPY+iyg6Ej95uwXudZvnABwEmJSAfgCumqw0beaEaBIAByLraFTcogQLYx++TcejlZpUntnGF1AgE5gxhy55kJ52pJEQuieOHMHRCKKG1ZSeqgEWbF9c/InUWfZpe3ILJSaYW05tAbQwNq6bJDm9JG8JusOuXK7piiAosgcLZgq4NNZDIwMhJRZ1RVF7gJxL21paOj2NjyC62rA3NMscELjsnYDxVKr7ggi2gsVJqui7ESzt7QCMX9ixUqZDwz8OiEQDuUks0PofpJyik9ebyJDcGLnI2rpSjOfbbQvarINI8YBXXaju/1mz4bcmUUlFvlka9fqpnpuKgELjF1nd888Yau3+Hv75VdPt2+t72uZsTojb7ahPVyumLc/Nqmo97h5dyfjuI1vH2eIHBX1s+Ld9YHdHoqnI/OJ6Go5EC9TvuCT6DHkCN3gxBgfu8Mz01+R5XVJbvp4Lmo3O4k/u4wdtvwFMxBL2fWYy52Hw/aJ0utoOSxIp1o+i2JopLimQHKh0KEoKre8vs40TuQFwdwW2AKOQfKWlFWJ4gxsK5xc1I8CSQKpqeUk6qIFgbK8ChwrZ2odLeo++KiUigeU9WPHF0qhFr04oaUkP1PstVvr2x2bBb7Mdzuy2hvdXTd7JA5pKiluhWnb6x+fmg9e7fIujHRtFblfR7RCbZ+1u6zcYxB7cvK5v2NFdtNsazvm46t1zDcKHXs+B87Gug50fiuoR4Whpmwf1t68EsZFxu1cBPgkeAxws7gpcAd5/5byP0giocEeOvR/2WIA5rMWiI+KlO14iZz04k796FIfXf6/9xbRNgYXgovDSfzZ+HJ4aTT3FqFMzBbJFeHnWFKyod0ARGcCR3hmDh8B3mcLCOGBAmBMYsc7HVR5kQ2XyUDqTOIDbi4pX06WIGJVczltjmuIJ7hP8vi3d4MOvJdHSw5bISOwCzm8lTM75bXd3imzpeUXE0t5sYhZM29HPy6G0AnEwncEOTXGConA+aO00yGF7tgJ4F+G3CO4NBKB2grUblh6fkkRAxKsdYLHBYhVDLWrRDnwi1iXTbkaqibraiewrzvBaRyV3t8JysbUT1OJpiajh8BBumeZUWhEWaDlVbQkQQwf7ACWPkFe+lmaJKO8DE1d/ekVxOc3c5/7lQKCc13d4qEOArSOeHl18LbkNpIqJsUwXm6npDiOPMR6Kp7SeYx9quwKsMv0qqoBoa19e6zexp4IsUvYHOF+c2Lh830xKvKVRaJK9shsi8E4YYGiNnoNpkwV5+fdKbaZMrdLbVh5nOn6yuFcU+e8B/6BE2CFHCV7t08v7WYnGpotBWoZljAjeJWQHOwQuGn7PBF/5nGxRQAMR3QVCNDH2gBDX2Bo54XvE4MKAX0EDG7EZDARDzpcNjTHIrVg6mX7E84OfTK9HllyZagqEOelLqCTVQDV1v1KN/vLl+W3jmC+SmUuDghxFAyq4rqTdwwVPnDSSVuypsvtb2WvEyL+qLCOEbUd87R8I9eoR437+qUOLLIB63l4OS2ldKTYrMAp3Ky2AMmpFSovWoSXZIVjU8kmA2+TZFRkNZRctfin3JedRThhfn97PbuzsRnLFUE81X2iqtR70rRJvd7GnIt1XGJdKi5y/nmyXnFS2JG9avfp/PnFarMpt1mVirWQB9KDxzAHR2M7fyfcuCpOQK0NFo+3sqgpA1c0EcjJJ1W9MLq/Jq3qk+XAi7xLhFkFODf8IdWmTIrNdpNGhSlRKpXUjv2Q0iAaz4QEIV9oaCXeOUUg7udzQNooA4oaELMBBINFf1hZY6dfVZGWJjWYqFWpd2aURfGSc++XjYPPxl7dVNE9Jisbv3TVtqbjGoxG6rmg/oomOpE7oR+DLJDlEXJ/+jMxNxSleldxtUJ7Ahm9XL0ikCBc1cHOQOMBDnJ3YYYkQgdR5ap2mPcOIxRlxeXASsI71xcIkBFNKELyvUrDK3M0d2LrhFT9gaVpBuIK6hW4k7DmBNFbw8FnKEHu7rBwLI3oAR1jvzA1N0eifxTM3lbihP/aonGMue2KvCuetKR2a9TmWXAb4i9kEzkLMSH4whYoGJu280VP4V9EkmHtOfRgo8DSlx8ckbPwwnDQAU50HPcn7UnrqWlfckrfxwwNaSv3lDKntmx/ur10rKCxrZNEjGT+aPkwuL7JeVwicJFH8uzdfTRQyDQJbjpjfF13tAMKMEtFo1HwTRSqXWBrneOu8ZN13o+uyx+qTux0XRegCiGYo4iBe8p3nSeyUOl8ja+2bdW+OldvhXhU1ltug8YGetcRCwEXBGYsIWZYuKeMtiO693pSRZfSgskV81skD6hJ+zEeEgUCIk/KL4M0MCpChi9mg6c1w1Uce5BCAntKaHl6DCQhKNSo459yc6Fm9SiupskVjRzUsdXBtcL+0SqGrN5qrAn95N4DlGS/GkFu6kwlBvupGeoaRmGtuWidz1wYFo77J28wajIaiwT50nAJbbZXDL90xEuKsG+0vhSkt6DAMccXLyL0LJJpwHbwjxnjLUmKxM3J2kvHzmeoQ0I6Ip4o6G2gY988e8XiFY50YVGs5CL5ivDap1/99BTezQhTO6Lf7rLViVy0+xYEyOFnVXtUj5J6H7yvVNpudFhxFpnc/ELH3WYqrC8N0nvLb2an0WcXMGm/njDDdUsKSZtcmZNNDnMOBq5cDem0/dPtWRzOD6Z1BTqiVSOBs6zbvMn9nEajn5625DLkKS6Fycrk21lVDF+cM2uJvcy8G0ramyNKQ2LVgFZp84afccW7udwq5YWDVYbRjelQcnqaErDo+Im8mZNp4maJUC1Eq3x+KbXeWi3AZnvcR3i5OPQhc2J1sptrkD5Z+JDhj9siW5w1PqFVQ6iXOvhaJ70zh7UYgBpw0GNbXXeRs/ijPCQhDhYVg0TBNstseiTNajwiCRJHsMn2REeIiokCuJIr/9U43yZzx2LYWjnUBKnmRb/ITNarNwu5DYwX4qH/dcctmVxXzOwmqQCUrneNmchvIq+gi45eG3hoLIGqVWkjdJprT8z4FDlD2KmtYB3HYjV2Up+qN9bg1GmtVLE0Ku0RYwFRCTXt9JJRLeCVmkZVVB948N4aGLNvvBg4B24SCSLGB/a7XLCwpxkvQaLNhyiLP4OM6DDToJ4kC7zK8vV6SnNSrry7K3EjUqjjFRgWtOSwBNDEqoB0MjwgAUG8cMmIzkahDzsd0yvXJKK/1bh8NFKqu4sxyHHX9aoNy7c6hG58k61OzT+3YnnHJZ/YqdlXEXSvjrqZTUxZQZmapcTqr0bxxIHmDe08ZEhN5xYPF8CQUxRFeLp2vVQry+9cWWBslchhf/rqL8HEwu7147/2kcBg54HzmgcupCPRuWu/+lKbObfODp1TzcCOff5R2DN4YG0tHTiwBw81l/37Vt+eoByZAnkOX4tJQh/e+ByNceEc6E9qHr0hwVa4F9Qnyci69/CA+OZbcTogXvJm6ih89zijBzI0y6BFdugne4Wqakd0/vi5HnElKLTmVHqYLdqW64L167bP2hO15XbGXZzQeGoChj3/hH7IDYStrbHvkA6tCGDpMoNhaR54PrmmfagTvJstwwBeygVjgD3JUjuuSsZU5MtbG9rx4k/kc4m5MgfAl4qFbP7njozwBTmZJO+d/oeeKDavzqR6NF2kyBZqV2V61PHFOj1cStNZFNm6f5z19f3i2xUKOhNu7Gs/vx3Xaf0dPSj5jJDW+uS2VvfXfo5QkI7UajywzY3KYgNVb8na4CWH/4wVCeCbVY5WDJF8oPZi6xNP8yOQsBy/L/Gyr80pQ8Pmq4oiy1BWYV8YB/qlV5TCsJzimMPBz1sgJveWa2K4Ji8yhjBUyuqB7n6szQNdUMBrMedSoW4XbFYIoYC07ndGhk/U4H0Dwj3BUenWACbUKU5wZRa2arle1SqyzrMdG1/IOc/I5qdo8S7XC9VQiEQ/saBrlAexB2P0jRCidGqx8iaKCBzqIYyCVdE/RtbIiue99lJZkUsv4XL29Ph8wP0aP0SU2GdH5OflV+5luSePoelYdluZraw2vBhxFmJcq0WvrqZHOO9E+zQ5S0OvyVn2h1hvhuIjceLDlebLqrcr8Xwe2RJ64IlBMR1d3rqgDRQdLnmg0vn5ttbbSZdudnOZJ7EdITSSxuPtyzTGRoqvIFq5DYVotOlQU+BkCW0wuRiqKtTLPq5OqBbbJY1Hg+R44kL/0LKhOezNK2IhE0eQ0d62EAtYuVkiy8xj2E4x9YzAvMIT8riA/0kJQ1c4MydfIyUe64rOzYNCk3wZg6ynCu3JAiyGfdf+p/gE+pflcfX+mzXoNEhDOoO4ap6rGkLpI8SIFs9H86omOQ3Bqf9gJj5uxrvwsUZ25h+FfZUsX8AsQwSuH91blxfzwwqVkWq31K2HzwTmvdy+Z6j/AaHKodwq46W4h9kSB4etKW8BTcNqvqZAMXGSsgQrQzLmCQUBsb2BAR1BRHeFU42IIY5Hfh+KBfJeeVhVK90oXykSh0H1WiCmuHvDftBAzcpnHWyFlXEC+u+kt/nM0bHduB9YLCf7eZMKrCop0eSU6WHjJqq5DbL8dKXFhrpPSzcyIu+WCVHXHfFJFemNwF8Yis8IuwJY+2Ly6dn2Ke08dAthw79F07KncXQ2x3MVb7x16Gyu54RDkQ2utBMu3jx1UOaKaWhefR7dT1hztEfkrFNtqxFScDuk+ISpjTJKDTWYI5rnGLHgVGuMKS2sd+amCoc3Lfhzmv5MOCu+DXB+y67zjmBiUhhO6TAGBm5nyAiD5/UX0CFbqf9wsBriNdAMCiwu+5aeNF9wdq37PA8V/jIKb91Utu69RclnyO2S8M6eAC5TJKGVGK2yepC5CP3Ll/TSWVp03Pr03GfT/on48rVsPMis/nElixIS3eJP4YxNZjcflVPhvLU/r5WZUuh1qngBzJObajd4s8xssF2HwZyrn156HscYtt0yd4+F0+GVno45zjPjOrwOXhtBVQKj4QpWSqGiaiFjjzQZJUPlKQnVmBAvk2a0n31Zt2ypy7C/eCZ+Zq/r2C1NCd/bCttLVaAP966y4PbBjxMDhDl34EDBYTgnux9HxY6u+Yi3j8pIumHhGOL59qeaN/LwLh4rRsYTRIhe6zOdY2SvVeS3Jmx85cJOzshdzCydusQzdIYyVJHsFxxdACdM/3UfTmxKHhg0Aix5iNvcX7YOxOk13nE5hWmzJvu7W9V3ZlHi5CO850dfPx1IR1KY+nlz2GMCG0DjDh/uwoRkLGu8JFPigI6H4H8YM6hpxueWSjxKWnywFzt9+Bm1ekz+Umkn1leW+pwmvgE2CBiBg5bVrxzcfo8ng41Ko5VC0yUNbfb3fCRLewT4ReCj7lAB7r6Frav6poQev0yvVqw8HndczbG2eBtKq+fwXb7kC6JY86fWTM2319yJh9xJZJwckwTfnrgXMxOScQSPgn9fAYfZ8ERrH2JgB/6+2xWl5SIRv5p5zpB2NvKIKZhbGMny0j1gJ/D3Nv1q8W6wg3EL6qunY8rm8469u0zAXKbAxFdbchNFudUJjsmQsOUXD1KQylvoCcQbaFw32zxzXXfsYAY6AdV5zm5mJlYuVAuWQl7DCRVtVWfmV3RFS970KG/I6oPC31Ml2G4ruveWnr9WvbnMnIb8acXaZle56EbT4yszo2wh1IqDYHh77BFSS+r1ZvvIlfr9dIIRoYFVV6pK51bPOaHhasK0HgghBdoFOO5yj37Vy4zqefqVtrCMcK2nLXGlpzu6TDaPlDMp4/1ILwBOHqjHkOzH8kvqqLYdClg53VGR0j3duFVUirolh+jrNAHTM+DEvnx5dmyUqW8lQpCkTtKyZGYiDvGo1lhRNvwqnI6Ee0eSx4/Eu9JR2uVgbDAwMlrD22NVnTrVb30dmpiE/r7IQ5Zr0o4CdC+I/B3bBTADdcMCW083yoAJ1yAMEADvVtHsZ7NcIzSAMmgjT79gAFCuirWyrTdsLNvDH9QFBRwPD58vwjiFFH3Y2dFDh6xcfmsShe4R3Sqwpx96933ufa4Px0ozbiBWl8N0bJ92pnilwOZ2hp04+ZYfEUz47fCubhuyRJZE1bVUxJZqNKWxFXcNEMhQrtlSa4u0KNreYaZtqytNaeOTstK6BGuZsiC5yZgDc1DTHX5kFp2trNCT73Qos4oaADDtg91n59yXXlMNVJcjcALv54e2H8KRixgDI46RAWyEBmAXDGgj8GxIz9Ksgw2CmjaLukPsDuHscdBa+5whCMJWSYnVLrPPjZ63PX77XLVr33ptgTA3yJhPyskh5RuD+E0Reg0ICSo4wACGoSZ+cySiiRdkuvxRMQXxNjd7IT4ni5OLZGVnIeaiG/IzBXLfqPnt4+W5IfGdQeApE8G/1N+JAtRlBZZ/NnX2X4r7ReatbmmxAus//6h9YqwyWsxPF6Q0SUl8zCZ1xFoYwAQboHwYgFeTnNTYkLhUgg92P0atpfb1eIXvwQ+Ln9CY1zmYuM6kPWnmHvQFdq8tW7hEZ338C6OzV6+40TIUvEvADJQB8w+HeO0wOEsDeNjOR06sSoDPKTpAmCjfx0IACh0HugAAwxhoBX+B0JnZSAACAITDq+JxbhgUyKMgw3Zgf0Rvk5mKcBAo8wGu3eM0BsqgjfvhWXS2svBAsGFCHXJgtGZkRKOAEKiVBd+vp5Y2JdUnJNQnNf1lgECGsvVfj53B3xtP9lmsE7J+2Q3tapyLJeetVmc6gMu7I1br+b5z8o2hCcsoK7jjjOgixXScNi7uNmZdrRW3cSquKiP/30LlvHKQp/Dd5r47D5RH5ikLD84tSZFbjSqgaefNi6vQzG8Fl9ri5mkq5oPWtkv/Is2gDaZ6LHMHVvBPxR2NOPcxM/gxBWWgIJlzKg+Eb+hP6U3ZZpB9oe42YMp9MRng2j0G32Fg74x+ajpzaJ+CMZobeS4XdD+ncA07hdZ3S2c+HxuPr1rRv9Ol+wOle/f//la8eIcB/SgsA527B7ssvjw31zuOTS68Kr4at1+MT98t5v+S6/vLj63ZX+zzzgsy1a7BjbqgVJkmrSHmCxtFGrhfKqTChKcr0R3z33/YKB1T5msi3Z9v3FLzfZ8RqK6G6PQ35O3X37fOtd/gLgrgsHmun13NsOdkt4rlOpOn5CBEmwaTk9L94enhQ+lDgemB+0PVRSpVUZ3KwobrLKrhOlXRM/cKAwC4MVMJI1MVlRYgrpDRywIlf4yB2MMktMt7Cx+A3agbHqiiFsTkq1T5MQXUqu8QoYAGOtA94yoqQW5ZDgqiP/0BsfAQDGBqWouypERs7kAJLqceyg8+XXpvTq4yRxGZE5n3EYUFMpStP37MVLhEyS6dTEpOcoXpQOkMsDotlmOf1zKutS3AtfuBe9KsC345T67bJU+Tp/6x67uM/keEAqaIbt5LOpaDdXSAOTL348hcxQEoEoCWuBntgC7YkbAzfmfCjnHZ/kBjwJBxKMAYuH9rtT1Kdx1a7ViNVVixEQsWPpiI7o04eOEPlsQHUYF9RYvKui38gEP88QNH8DktBudUo5QynuFSTGV8/hoWCm6JcKXCfKmXA/h1ldUMC0NewTDNljNtTPncyt8huhUJXEalOTLSPAcBg3MeL6d+FAXoonkJyY2JiY3JMWHFefN9XX6qn5VtlcY4/Rw5BxHgPcGa8A7nh29no943WDe80QivasIrgo/sQOJZ+4p1oS9WZ3ed3c0Fc6udc2vasBZYebw/IMCJMhDnzz97wj7CgD2F7gQbdfZi/aFL63D8MAksNQOTIu9VxeyvjzK3PmDrJ0beAtEyus/PYfJBhHOfA1v5g89O2G8d6+09day6gsK80mjrPQIQ9Xu6ardebLVZ+2UXf6L1NTT0IQDpv8/1RsMR/AiG5MRHaQUegdbi3u9HAFBVRnanCeW+cuf/ip1ehAz6pJmbFyX0cTu3OUe4g0Udn5TA8LS4NymNVNTalCX4xROReggZ8LXG6TVpueJrb9Zo/uRyUC73T03HkmtmcWxarJ5u5Q746A4T+oUGX8PCol3ng52pSYJ734mGmLO+UyzufQ6EWLggHKgTzhcaAhyeRd03FwBilLAT7VhkR/N11RjfwbdjDoSJ8lEm4hjI/LewjznGkiiEjB2YI9EpQSAwWoMwo7QEYqurXQ6o33U3nosc2ln8SvvNs7fl6MPRAOHdlgJ0PX2ajwLarE0DjBhz2OYYlAcpWcVXQ/5U//RuAxjsPl3okc99/wc+fjvr/X/1r4dYD4mdbJ8Z9tY+QWiQHnCd49z3CZBf9/By9OqnWtZE0z8oiE5ymn4eDwgjn+APY0Q8ouZd+u2OcccYNo5AXNIRQL7kQ/+0w27YYTma9Q4rR1L5qVF5/DxBPBgjBoRfCiwvoiLNuZEVBjyPSqcjIlfy6rhEKbXTniEMPx4CUP9fJg//F/qf20g4/eiSPw8FAJwFEHAq4UjfTY7EeM8FkkBmuP43yTrRDAAateMIC5m2J8PtMR0bi6vUqG37wOIrYxlZMosbdsNCG3VwTmhmWE4J3zYq3Da9Rmz8khZ60P87xEYVwm7g9l3vfrc9DuwtfbxLPrnPa+Nk7JuPM4+CNnA08/GbsZMbvfZNync9Lt0LSmpz9IsQdGG2/jOTWIgii8rxGiwgYDg68Xbe+zycIHBkEImn9InO5vFuHfmr4Kl78HhabLRyVzCYAXsk70sPpaRXKaHtWgBmgEOu3qAoo2VN8RqLXyuod2D1xbGLMUmVkXMXz4305VM9NAaMwwxk89lwRrutvvRKqTXbVnq8tG5LZxfi7Heis0iXsw8xLYYZMIhJfQHMaHq+ta70cqYtAUpPlNra5/chfc6HoVlU+CBAdfVx+ke/2X5zGezTz1Aw+45hJ1wohNgQCHXlz7XsG6dbBH4krXQ4bs/YuFK017i9Np+i9f9bHfXryAaAuuj4ND6M2VXpk9hdGDYVtaPMrsEMB0FRTIOivnf9BzilgNhtJ+wDdviwbMHic3czOx90ZLQV3QbF1gMXfHwY0d0yUWBM6ZKcJVcDUgOiegTs6IBoDhawPkDLiVLl+lECJ9zDOL+2PciLZAb7zQWorplwfNDvn9hmX2vWynu+HiuSPPkap+1m/U2bU8P3TFrh4XtvZZa12Tf2H79BHNdOYTdv1V7hbv8RX6FK4tOMlsiTn4i5C86ILEYaP0m1Av9xO/dK7S0n5sAANkubhUdoAJkPHnJHDo45kKPYFIYNznA2ASzhOPPvvaK9P4l+ekf0zt9j9PLan3bw09XQ8IU+vj4vff4LSLSG39pPXY6t8Grnrq2ivc2vRC/FPuLYWz7/0/LFqOfjHSfKGK9gnv0RDGCyXywR+rMPgRF85qUvJF9csjMFDOGnO/CGQzgiQFiIYBGGUrrjCAA8nbkEwkLee2xrxztJ49A0v/Nn5ba9x1FR4QJ3Itw9k/EqUW6GqMEJvHi8djwltLD1OLOWebw1aip5lgcf6fdfPIuxcX4Jt/ISWADYq7Vr7Ali9+0xqaTwQhu2Rw1GadYFWql149Zt1jLjEtgkS+teUj4En6vMCuyTgA/smP3+Df1DJD5id8wkTP78Ygpd/1Z9f/OAfRP+iZQbIQCwWhCRdEU5E30vLtAPnk7T3Iib1ga74bZTaZHzQ3YbuzWuTYQQtlXzqbC4nraegcSVemQuooLQuJm2Ge3OZohCXAb+/MngrvqyUb5GMH0o1vPtrZYD6dv47w9pqF+vqQbYiTNhvBZFvnlLeUHwG+ni3Dmxf5W0PIUEH4N6n0VnkdnL/ES8mwwhkk7XTBm+Llpu0T1U59ItDw1OA8NaX+9E+4HYg760KbZek1CaVHHXgIcM5W1YalghWbBJuQXrxWO6U+RtCS2V492WKSr0H+Iw2XKPo8c6TYz50aw+pG/d+tVzomA1vG593wjatR7Hx3Gu/3lTCNhtXiCrqMGXtFYoSxVqc2zuWQMeMpTWd4/PvorapCIs4TzQ1n8x1aN7AGf8fFR49GfhIULQsXJ4r2gvQQ/gpuMoMBgp8a2Tm14l28mvDICcKL2SEqXETa8Tq7/UR7rUviqHSXdF87kB1q9f1clZdIS0IhqBzJg3BQMYhNjnCkCbdsHAxT1sqNesjXvvrVvvMKi4Ud9RJlLXAErG4o6iu8Px52Kb4OaJf24ePb3l9uaYbeH98qUL7sHv3Pv5VVxLu4LVnrCwwrEmoqOqU14VviCVnUoCfX4zD/z6/rgmVi6uki+qUi7xdzJM8960VSxZnFXzAXBTm8s0JWp1iaZsUlOmLilRl2kmS2felALryOik3WGfn8h2NQ8n2StkIAGOolO2YGRi/opeFii5bx03fe6CN/RZ5I3YRgcRCmh8EkUFA/NLPUexUQIECEZ85tidQ4EsTnKtsBueTiFgu3/G78N/SA7wZL52RqOA+qSmtxiT50V2DPtKfYvoEt9wBrb6TN98Bs9XQi863uohbFAqHxpSA154MTMtlAMOI17MtRDwJ4wImG3hxc1xVCmglsXEPsC+W1dd2pt495pvxf8Nkd5uGZP4bQOEi+B7DgzcxYVLEwAfJKzcvePD8bGxwfsPQyMG61KK8fKpy9XzrnmM+X1nVmOM8EiJVC2nyaVAdY0OW+OzKA5fb2c+pv+fyYKsAGLKvNT//FPfQ1UvWBBDhiiyt9WbYkriJTTpTxckPek8nMAx2zBmPZXDwxgRxDKxgl4PAWzqtl4s+K/FqssEf4yP/QwO6oU3ILMAe2FeUoOjlWi6KZCdGom32jMoPXLUiTq7+lDGVuTsR4a8ulAC/J8EyBJPsY+BOPu6ZgNslP42HXtIJ8DRTg8jroO1cE1FcBefqKvBV1zfnwXj56mdRkxYivPh+EYT2EN8bOKLPnuBO9x+Jo5tMCoNSdogrSExKt0gPaNdgFXtVhSbVUiEOEis4MbYzLsjqkatKD7HetY+Vt9N9jDQpBuIZn6r158L6pdNEKj32mR5oxqaY8BR8S5PyUEk2ZbqimkMGxu2T+PTVvs4Me6xyopSHx5qxwk2mRDjI2iEnR4ZQ/y0UY7zQgZ0Puw/odde+jF6/Ju1Ac39E6WZsBTOLI3fweaAtTuvfa74/EAYfxPvR048zMdwT8KDpKutjpAG/u2HobXzP8wyO5EGWukem72XQItKUU0AG9UKMAjbTTATNn6U77xQGNxyZGJg1R7UHZv9esptpebqAVXs23kGFziVVXeGc38h1eVICEAaiAlpcSs2vXc3gRZlB2hQKaoVlEtsxg0fiaN5cJm0W44k7i44W44mqz7WZu6XtJxMuRHUH3SeQl5HTcj6g85RHPJ5H4dBTuQi+4OIW9SuLifqrK3dt89CLKPpu/Ly+pzmNPj0qduLzf0tp6XtFZ1QRJApor1pL2Bfv5oaP18YnJ3EaO+bsDahv46qjdYK+2sloqzZFHste/Lu3XPRE2Ai6BwawJgFKJoiO8QTnV+XT7J3gofeU1O/Dm5yp1Xt5Pq7A54+UCofPA1w+3N3VqW5Nw3+uuZGZpY+oonv3fvYMAXxpinvBsdzzY69bC4ni7rzPkzNmv/JiQ/JlcczTrDtc9Rz22X2edFz7f9snqpdjoSnCNEtcKemidW5RDw68DQNON5O5W53p40ND7MhEzCnGzL8j9PeYqFuQT0RJomFEALx2C94Yey7MT6muozzC7c9Tq6iD1vkv6gXU/RiVYlVQPPwA86bxyq2ybU5zt7enYKdfX1IScqZ1Mg5EIxl2zvMol29q3fQhzDQPuCetOUK9QHHqW/8aRP5MmxPNr+6VCbzhEfzBv6XXm1+YmP4imx/vkE9/gNundI6JYcKI90ylolltGVgty+7n7XnbdEy6ywK0I9Y/XcP5kf/DdlY34PujHtdw9ubGASYZxfwPVcJQEwSK0UgF/72rthH7CLiEfcYH8BjdEYqHe/N75zn7BKEpD8LjZ7b+ICYN7z+yhDmiA4a8Jv66/2BsvNekB+p7ZbYnIabhFmizQAAeRfM4lttJD/IdwzOnczPCUxDPtbsxYrVQTWdTZ8bPnuVGbgRt/TqM8PnTZ01QepibK/m4zQkJzBvoKLs3AqgCf1oukuupYHqyu18xerfWFkYb+Ub9cXFfD4AbKmcahrZ5qS9T9yvGV61246Z1wNB9nY1tKib7rfTr5b+4c+1R6FFO4brAL/DVFX4Eumes3/hewnLrz2JiDr11rmbHk/+l/jviXKOu6NPR/YE1G4qn1NUJGi1yYU5mS37VvMrx9d9GME1pJh8SwW6yMzoBeHpheY3U3et7S7tdFYcBKOvqV2eFk+nJy3As5+aSO33VHyE2lzwoRpGJeX6TBA44cJcwGGd8IGZfpSF9s+4naiTRVq5p1ddXKNZ/E8orXimOn1exc5TB99aeCsi9OSGBQkHxAtD8ozQHsmjqRC+NbUMz8QymqLSmvxrWQUZhs/kvHXzu5ZA/ideCYpG6PMPz9g3jzWtSnl9f2V+66KxlL6hANrroEZFKrnG9v/6ZvSzGx/6pnLnt3U3Ut2w78rdaltFaeXyLGlDK5YeKz3ypZ/QbPKde4u8jrLhhVCWlgs+e/1B+PWDXuPbj6d5ZKEm6PWrS3t+Svnnww8+2prF6fntQjopcen2O4nJP4KaTktgajYpnd0UW5H4l/eVD3L8ctjzNz6cw9lhzDH/9M+Jb9wgtogeacF43cxPJ+4PmyiEA2Zw/wugOEZgN/L5ps0iwxixugOYIGEjiLzEoDj33xeApobu9VNI7etgkXXE1WDvIx6nRwVXvw75yXsMY64vn19+eHmBT8E78tyM3EPm0Y/B6Hp8lH5s9Lxp9BoIvRQXmqoLqRrK8LDrQ8N0iKeTATgf1vX+GX7l7Rx6nR6qP9+0L2Ti/a47JzPKfUEGhAO7rjQWK9b73XpcXfc18/nJ9NY5tzse8vYsTm9eZ7z2w9sHQko4IT4n5FhZWVz1jh8LeAWJeY+Ytc7FTacbWNou9aLgAmvNohoYoAzUjc5WMuBZZBa1n4vLzwTXxXRpZRqjNwxg+rrFTc5a5qPEPF4BCP2FOwtT/IG01lojT6aRDDsDvZNrHm94nFG3ZcGWgc6NlRsxLNP9KnWDXpubnvJ2QaDODbHbDVgrsrbfvq15rRBt/BD74B2RYkbz+PH2rMygg/UHbVubNAyM0aTZaptOpnhbFH9zv/PrTNhEyL16Pkk8NJdsGRKT+PX3QibCQIiaHleu0ZTHJSRXhoAMdsc8sV6cngtBMIPWQQM0KpQjMYjTOuZmsEBo8ryEuNjyMs2RNPpXb2bEhJbmzQnpfM+zrtnnpjeFoW2vzL0ItqjzVZER2dkKoLuFvzVPF9eYCJFUxUZQjixNtLjQ9Au0j4Ey4NcdyvDgNLk8zSxPTQvmBVTkKXMUihxl3hzcHKyb9/JYaKZkQz05uZc2PmeBPpzB+fiOWJrGiWtTTgyBVwIel0QUhaTK5am5BlQw97FrY1x5rKasRVNermk5UQC9rHmIgdtopsRP86w4muoa5Q4BJxxTKubmFRUUIDChrpqVdyFgJx2dnAV5S4tS+csyMEUZfOOzvNjxwYt5VKeDbUSXo90Zg/Whit0efqS1EDu0M8QrKkrVhkmLUIAOogAdTu4f9uEHYtE8qa8WapRqf2AJrWgJM01ZRLuGFIa2dgZ/NGAftIMHu9de1F5cm7DJnKKWHYmPPyJTm1M2laAAGfnIVoGNhkYQp3P/ls+3OoBwEMDlu7Blyb4GQ23jBQpZ0VnUZXfgDsJCWImBPwdgrhHXKNFjise/uHb/2otu3n1N0ONB/OvMaBGvfmZQ1vbHjzUzCtE7y7DlG0WK15rbt7efX/6gWXyYOWTDQ2rxBRUXnrLf+tqB/WwXt68u5v/w/12yj/vIvitybXvzuY3YRt4zy7PAaP6zX8N/xXh04Ma8fmMC6p7bUpKcTDP7c0zSnzpPgxifGPDX++JpMNeXIidJWb8ePv9rmjv0+cHpg89VAwAAAObte/XmdhSgEhGFzlU7GSZ5mEd4ZlB0qjOdS+f4JenCLoiC/5TrQqjUPgiCwPBzhIXgNuZCmcEH3sAwrMexWYO9mCaAGfDAaKKa/+6AXQOkBsKWwA/hZDKJJLP4PKH6ImcRX6qIVMYZnC9ynz0u443Hr6rFBcKoSTGFVcWdzwYAAGhjBMOwOi9GclbwIQRYMSlb9ZBiIAd0+FHEk1HJJ/b/xX1hNEKK3wI8SV44pC19MiF1fPRpjeTGk5I5IVQIIpMCftMMFAblrPNcCzcMxGZ+J6LyldQ/Ghf/uSBtwZ9iLFqZ3yA2m1i48OBBsuh9PsBqamajZykbKAOY44xoxmcty35zJ/a1Il4VH3koUq/SK/YXhraY5ocKyL+rZoPPB7wUTPORl/yX7Xh/mHKZYpky7qbEUoNHABwnjMMb1SeNIAn0LV+MEWMCorGIRVv+AKMBGKcBxG6N0Vy0EUfmi5baYQBjU/j3/n1csFPyuDujhJWwYNZU1NFV5IRy3QKW4Y6/MQFgFNCOgPc0b0UE64TA5oBS34O0jjAyPvoPNcew8cHxj70wuqJFuljzW0ny3lN5RSylhTlWv1Sa+9XfXtnQEyyZj/l0IpWSSm4XYr/itWXpC0k3t1pSjaQ6MoC3JIxd9zm1e3LtryG3/vuE/kkzqX91aMGeBtrzzSG9z0L/Dks3aqtDKUmMI4r1Jd7iC415MimpJVWaxHpG+mb7ddenP/ISVJ4ymSysAIQEy4JDw6RhSplEvJLlDwvO9gxtUylkihDQ8RWrlKCvD8XotfoYtfvx2vhVhQJbtFYdJAg9l38eCZAL5QjfX8xZMT9MvSxmmToMdGX8SSaJ+4LW1NT0SnWCtXMnC36ErZbW1sjWiPo8iuczHr6w+8ZGh009creblgE+xgcDJp9scK5XvxlIvCQgLzrtn2Xx3mR+g1at1jbwrY7Pu7dxt7kZ/423t+P2ugjbcWJvgNgk2Ldgbp2lqTGgmd+Um9sY2BBYz5LUb5Bsc+4BBi+4ODtn507WamlvAVfPrT2JavX9Txz4ghTjJ2NPoGyvv7/KlS6tH7MwlUWsvFN7k0t+0yyWtijo3KNSpFpSze2WvFi6xeuKHeniVkoqq8s9wyTeIMNGWjvZTb3kd+UT+if/vetP3VMQuvo+8qw3ZLMnSxYmk8k8VQm8Hz91Xd/+DekZK0ma2kKSyvIaL4i9S9YrjjCSKKHVWmP6wpCgEIVModo21HNWAPuzVoolMmWYNCw0WBYMxB4Zc/IicyIU2cqc8v8UagAezio0/5YrcxTZORF5keWYOU2eGpS9PHuaF8SXPc7OWf5Hmtw8GpwGMpQdFj1YsWC4wYMsTW6MxZuT/s/4nPLdRwzpye6M+l/Dkd2H9cb/MUwhm157K73dm5Sb3OHo601gINyhh4JOo+qwdW1t5SiOMFGcse8Jq/8M7wy7/5t9DNykuv6sIwlhiyQ5TBc222H3sGzMYeYe4TuC5WlQqHtaMFBd5vyN/c0b4B3gI+NvkvA9Q1rJpzJvbq3wLdvfncKtKqnCz1bwny99ffcO19WBxG/ZEShAWQPbXd3rGVUnl42fBACcHF92Mn0KH8ddU8n52Ebs4pS0MdvIeEfH+IhtLC1lcWwRr0sasMNfTmgNPWzKKb+8KoJjZitQzJ6KoVjFI/VTzvc4byBjbv3bZiGigmKwdhg+LvP7HdOjowgrmGkV1GXIJg9jCNQh99NybyXfyk36OyfAigtwsOmnUOclEkOgp52phhk0x8uTdNAY2O+oZn38B8sdcANmzxRu2rYNA071t7ZelP3k+HSkn2uJLvnzi2KCxW5E1nSUd3Jn4Y98LtvXAOKD68T1D2yJX8hyf3aW3kZnx7muk1S2hxi4a2I2S1ffm42ezc93RzmW9wGwVpRbxUSYqOPGEZ13p6PTeUduOJCmq8brdLa6Rx2SV5FD8A9DjhAm//th9/xNnImwmxc/XKir9fLweeYNSpYGmgTw5fjLNIFJQLssoEJLsiNqGKNxpTbeOKOdRCpF2xbqaot3H9XkFKAXcO02p8lfzgvW7TKZ1pKbpzGXdmR8JKkxKbFhqQG/yy8Xf1qwQiZMFcUL4iuEEnZrlSfsY0kUJIp0wqCq5R+vrhf3nsn992iRtkkkPqUvPkxGKk1v/AzK3vrli95dIlYKS7xLsEvM0oUv6Eea66ct+2o6FF81Dg9etAam5KTsydbl6OB/u6527ROujF/5fYM9MUX4tjCpohuMzz3I5xZeOYZf0OKZbZXjlfKHKcx0AT9GSkpVyozyzKJA2fMVBWUGpbtNLQPsyu7jp1gle6BxN1jUW/Aj5IcU6nxac395ZjRH/s42pz/79kFzXn7eerKQLl6EEtJOAF1vyg34FhfZRPi3AbntGNEXFqk3hyhtSgfRJ2zLkGxEmFgN1fBSQVItdCtNVjOyv6EoWZogTpAdNiHNMjkR7OeAEIcAcUB+jmA5IUOaHYe7cvcMbYaWlCR6XzgiGBYdFH0kGBGeFWmSaDOJNkGjoMhnxkcJvTkzNH/ca5enynOX17nHXxefE3TxA08YUyk7vDQ95tzcJM8dlJ6zGq+3qFrjAkNSeq6W+lZPmVD71PDY9lHHiIPnerPgQTMuYbUFqJbRZreHYFaZMFERCVCVHV8fhF2zLBQ2Vv67tFImTOMlihLN3jBl5XK2TGjFRBgvWSiZU7k5TfpwADKO79CRrKKg4aBhkbhBHXP+qGPlVhkzgSl7Z0vvVikzhRnUWOksvFK0P9dr7PCy7+rDYowJxu+MKUbN+9cXXpcVaZZpyhWG5vIE0R5RcgeQl+5k1onrmE/+poDqlikqSlEIfCCUQyiG4QLc7dJh+chLG58gvqEwh2OpqDX0QGKLeljGr28QE47I6qCkWoFP10C7q59k2YQ0OYZBWkGMMwfYw8f4Y/ZhOCdwsC/zZwAXYcf5Pjmdn8aizHQseC/Kd4XrC39uu2AUMPYuDTW14jmach2p9Xz4SJNHp/59KvkycN7cIJOMwfTdWz4GYvMj7Ha3kbA5lqA5M2y4DxneaKZgxUSDq7/X0jS9lOEeCeulQWNfYDnyED7PHtcDc8m7Y2cYGHTLBfftBH0iH1heBLGCMOSmq/bFsqsHAAfCN2saO8BfFjNGqrzo2FTEGH9MddmOPWQ77q91d3Xhs/LynKgzL79v97per+WdmsiKbCxzDMcBox7kG3AEazLEePaSv+EFqEjBnQbYoMM6Oc71fQZY84XmK509M+bLGMUz/Zc07an1kJeamTaxjWk2N5dm89TVY0D+Y2s8YdOHE+l6AMj6Ny/94MtLaYQIZmMKz/f/f9/XkAHQWCa6WRQovSI7WH3E4/eTLigpIiX6O7Xj4HULRImcImx4SGpJIQ4nc+kDN92Mg7/4CYZqV2m8d27UY8Zwgd/FrFn3vbt0ruvyFnlJasgWEDkJIEhsgXzMy5VmT5+9LGC5u689R3HH7D1rYAN13fl3fz0dcQcKsqraF0TbVKb6B5nnd1R9kzNHZZAZ8bmsq3F6WaqqlJxJqZiRfv2lmNS60+2zwBDpBQu/NdQ36PfMnhhUprfRUlJ3fqOC4Eh1P4jNryUIAkdBNC9GUxg2MTI8jN3YTthRsGSguUzmE5j72hcMTob6DGZmPN8PG7aLa1y2+AOMGOT+x6Hg3C8KqQIO7E9NV1SQL8CIw6SM4he/iQyzaO9+dNSOJjyLNBxwokHj3waBpvJfi2H17sZuaI6fsKJq6tLEs70auXf7LZsUXpB66GBq22WZLcnUbMrTi7b/w70dePrM6vej0fi7IiLEXEEM99Yc6uWCJ3hEYPC6nOyZsi2aGk8ffkbWhtJ09p7Hb/j4bs1eB7AXMAMF6Czqptl1e980tUesxwtJRiYjiuFKBvmrT/PL7HbyQrHYv82KeVkc9q+HWNh51HEWqytkzdfv13EBnO/zZfUaoJLUDiRvr/7SZxnM4C7Kj5U1wV1slfzNnD7KTYbxwpKQVNxG1G1JDSmRb7ns4tLv3nPPMhf9BOFGTL9xp7dmVe2QwO+Xgwz3zYG7AOjTJz5kUQBkuX7Qof4uOiUiCXKd/N3jiDo4uyIdorC6JywaAMia9//935fXmMIkoJRGnu8Pl97UA+UW2izlAVG3G4UQB9q5kCyF5gog9LL14wcUUHmf6L8AHd1J/Fr5xy5gBVrLnwPcuANvt/tNA/fQO6XWbX+FQ9NwiW27Lw9RN24YgsL/2mYtDRJz7TWgd5W0O4TfflrNCn+62moabOm36G7D0AaThgKj8/tP98CIaxAwJCOO+5qAwfzC/vPn+yfu5892MYsyme+gAIlHZtvxEa1+XuS+UralH+TfBCNNX7+/pvpLn3wYcOvo60hIF+vIYplQi2t1gsqrV9BpGqCN0Fyx+sWLXZKndWTO0vsDWA03vn//6NYX+K+0ZoN1AwohG8YCw+fju1+zcazwPtb4mTjUDgCwO8+jqBsTzS43u0aoWOg72WASTPqm0ql1FO9XVNfzwvsnZHgUO27nspYWqaTvn7L+48f6nza3hmEIE33af+x4/+Yef5VpLr25d+BVZO/8I23hlDE3zwDRY3gxdCicEhghTRejlJH2XzawUQrwVfMgYUSEqZ1+et0yJZapM7X6n/8+ZGfIcEg/6J3oJJvU9WmLYg4fjuN6kan+flJixIm6PTLUixc/rSyIzFMozdG5Z5VmRXZOZK6yghRPYyCfb0qNLDDIdfLg1NC0HcGpuW+YzaQ/QNAtzbB9TDg+bO/V/UBryKCuVcXoA4xCC6OYYY3TYYbhxGKGha7TpmMCy84sDw+PnHU7z2bnHQ+qK9Tn6+rYTezPMg2FujxWvV9TUJ2w6NeJoQQbJZ72QAdcZxGATiMAwVGACPgCBBqHkOmql3UUnoUbi/MrciaN45tPqmmpjTCos1Tv0i29/rTA5LoIo+uc+ZV29rxbq7sU7H5oXGTQL1pnhhfp1w0bFq2DJh2Hu92NoJP79b9BjltNYcYwTJiIsAyvsKEwgsy9NGRYtUF1QLaF3oSPmZMbaY5UxFODbzInWoR1u3BFP+I3smN2yf7eBa/1n5KtnaWqWkcRzxz/7tAnH8aobR2NwcqaxiNhASuw9ix72p5frp6vWlMSWwY1y2pqc3iFIleRnR1pVpYBuBSYI7MUiqzKA2WUtZ/iMTKLOqy1Unx5FJ/G211/uD8IbmG4xB6wG7075qANxAZXx7GVgyFQ6sKTM4bnJGyxPWJuNQ3Qyd//ZwDkPmdzb2Qn3ZBO5KSeQ1jvF2f76L03iw8ZPu0NdR1sM4dTeblln07PfS9lW8bFTGG+uNIXqKWPa8+mhhYu28esZe5rDS1sRwFCIEy0/V7DiHU4jUizEhjh0rpI9vD2cBDsouQYzpFu5JhuUNkj73YFV4r+vNPzqQoKm+FWK/OTmqsMnYWHkMNsqnJNMvpH9TZOg7FaH98+s21L/k/kQDQV9Ux89hQE67NNjGUZFG/6q9aHHMNmjuFh6yu6N2VZhokBvs9Pzf8erHvA72qK40l83LsXXlN3H3Uc6fbG02nkiOOoTwdWa/Mv9KtJMxlAyM3jj4VfxL2x5XNuEDXZiyX2WkEo81bNd/pMBX5k6bWYp+Y7v/QIHp5kxMc6ttxEZCmUyFDGJzU3dBn3tAwBzptsAiFb6Iz13fElxMDcwCBenWj9utczuqaSG5KSGpYagpDRD2ia7Wdy/hjdR/4/6qSDM8YHB424a8R48EH1mZAN6n7021ta7s58Xl7+XM7RBOABGn+5e+RH/81ZRsCuF701MTNo67to4NufBob2eULRkGdffl8opArPLzTw07cD0XcjU9K+k6MB1RW6KGlaRGZWkYJLZQAAsDFCqFtll7LeE7wHAOQABwxRirdzwEI2RTSZJJJcOcE74ndHJ113XxoWmm4IDQt6npX1Q8YPZVk/BPnH+qtpAGHQ0lh97ORtE+n3pet0d/x00yik0bCiWJ5ekCcOaUuePFM5vvvFHvPZy9KKEDIVZfMPJwdtPoiEOvM6qaQoErUztzOEFJ10dYYiByNwmhuZpSkPW1HYjwQKLvtYZm7/uT227Wj1GWpQ8uRUc0JWfcZy8xnMSmhuOJTAzjBXR7RWRWSa2QmH1l/xPxd6Pux86LmQ8WsBvFbRJT7i2F0oQLy5FnHqu4AXo/J5TQuql4IgCU0cRyt5nqTp+eV/PJVFvLXVjjP+QS7pwCiNxiQJHfg0OaXlm+/upanXYMpQqDOl8aOkr1gFRr/3JFCg/M+fKlm50r0JtswEXta4XO7j/CM8Drxk1Bsz+2G9u9gwNQUUNPmmpeBL0vDFv+N67mnYICUDXv/cgDsIc7cfLM4KpvK4H33ZRe0z2Jnx61+U1m2rifWQMydPBXLTu5fJ4/o82u9VDebsfoUTuF1j9RiwO/A2N0h0OW6BlJG5OZHl2f1wPUADt6W3lImCr+kk2mwxrto7MMoKjbt5+qA8J4PlZP32wKCvJ1RM41evK9MwYylPL/V1s2qsqoLo6AKVddSAhwxl69FH3+rEhdXxlVptZXz1UwMeMpStnz5uh4lG+45WBLaMBl5vCay4Ph+O9meaLYSdM59OaHYeSmBnmqsiWqsjMrjLauC87xLgjne3HyzJDPbkccr7btVxdzvJ28uhPdrX/ouKxfUN/sWZxbpFJxbVRtfd6l6UXzfiJHf++efHknM210meWSrzEmAguUZP4sxwf+HOcLy5D7jivnUecGEXZXn67wl6hn9N0fq+ufMNQ6/szjdO1Jmf76QZ+i5eaHvSYF58jyFo4ToISo1tLA891jV+M/kptmSU0klhX1mcExOGb0k7jSO/UuqzeE2nvl+2MN8NYABnIqB+sP9TIRMGesc3Kfy7JPnR1DyT5zVuC9eb5EFK5mWT/L3Igd70bLmHB8l/SBcRzT7k9x49+Cuj78l1B5YWScJNt1J/I/54tt9/aL0LxECwzLrhgQ+/7+B3MnK9h4eXN1ke7E8lkwPJWSSOL9cj3JuHkiiaymwvyQ42pYj2AK1oBHWRmN/8Jzgi4rfUW6ZwSdHSA+tOGn2/Cqa/53eIHRGtG/IneXjIs+negWQvf1I2L5nkQfLmtnCvmTw/7Rzy33/0p+MPaJQi9g5JtlelhkJCed7hHlxfDimLHEgmU/2D5WRvLw+PevJ3soN9fJ8HG6wyGIoB/6/4z9cD9kxNb2nTp1FFGpcuilBAA5007DHj6k9PsU4u+JqDvzUjGM99vv/K00V4DVMlFqiw6rYcBCfVHGkJ5FKHabP4YsI59Cxmt6e2DDPRQXgH6fsGB7c0jm1FJlvDfuYD57+fAYPOA5ZvK3yA6QDuj2AEICY8L8/bWp8l9//SgQFMLbxcuXVRlqmCfqZePuU1TA3kHmmpSWq9XQUVSizUYTBg/LqrdAbnA5s79VFy+vuvekiXvPtWe4x+3lu7InSjkCmNsP0eve/30D9Cw22rK91emjQ3NOSrwnjeG4o3eCDRUTu4Z9g+Nk6Mna+y3oeJ7qpPLPYfUSo0N4maV3a5IR5gU7XK0w/DbEbqttS1kRyOzaVuo64JFWwmX6h50iKfuLTCF1V9vrsQ6HERCxmxj0D/JWRbu3yd9kfUvvqY/8PBgd1nORNhE5y/tv8rJm5ODN/0/2toIpxc5YHwsz/s+Uzu8KPBs9gYu5d5mtnLHpsiUE8mlemJqp/NSApkRR8b8CUzzgaBUZg5BAD5Dfn5neENC2FUp/O5rLBi8rmfI6Jz3KfpI938CHYr+UkGrTxOFs9TE+RBAl/JDA/j7bixHdg0iP2MFHOtIyOzc+vleYVUmAFfocqz6reG5x1jXo0yESJ8gBEj7EEHcfIWfusor9ABfH+/+wXrLOuLu66+O4zd38vgv5s59qSpD3EaDBnHrhrw5HteEhMpuwn0nXCiC9q7kP5zSvtyw8+1yYQ6eE49PFTUfagE+Tm7fDGrQVIv6ZQ44TMJZCvFs8vDSg4nW8leXRQrcE+G7q+ah902JUx8+YFl7Bev+3xSdvRLjy/85pTRftkxdD0+qyy8IqJ5YY16XgxmxUsaSyPywnKyNewFntuvL8mLzQ4s7Fgulf3l+ZDeNvP2XaRYyQk2TfHqIp/XV2UP0UpWvaRB4pR0gjPAtDzZUJ+inj0XzELyiqNWDoiy3Q8ymldkND9wz8zmvhk/p/4HiJ4z9WXGwnTpJuCLrHr00q9dK5r3/R8hqdlf7NmSkdjKMAjThVahZWisi0Shgf0je0fQTj2+44urtcDToz2eBkUXuq5iHdqlQJ8efXIxr+tf479dCqDG5acXV2H3ErO49jVnaPXofbEZuV9C4rydYRVbHsw3qouSVqp6VBukb77zHxzICdupq3Q02WdvO15euhq0NR/5tnmlZexZ8Fd/wmQKxSO4jOYlZoRmcRLDKF4IWRfLyvXuOedFLUH/74he+cArqXA58R3LBv7bXdD6rnhtYdvBiawPGO+iAKW3FLSdupl9R/cDWe0RTlaTKbCH3kPoofbgVAS5o3g/tb1Gd0e0Yw6NRP9akKi8pXSnAxqIijRnfwXU4VxlDAHZLSaIfwDgPvulXw+4zq4UqvRj9zo2dE70vfL3OlM9+bjq9+n2urQwVV379O9Vjyerz3j5v+q74WQps3ZYThrwpzrK+n4uv+QIRBKXW6SwKccREPJ3uQSJ+P2771BjQEbuUt60l+b2oP/zT0XnXzGBoe96vpycJv/+dcyjoeihRzFf/06ennzp+W5oYMxfFPWxyDCBExMBau0tqVdgBhT+nZkZRo4dcxBTON6ugUkYtz/uDEj0qdoa42bu27rMzLcqtZN6wVbOFj3v68rY/kz1Z+PbnM3GuJq4ZAhoawooe6Kdv+ZFpsmNgiK5UZGtPPwiZA+lIF5Nc8Ng8zZ4luuGt4GttOdcN23bFtjNnYW3bIEZoO7jmG3pp05GZmVFKsrqy5NuZK8uPR2eTk7BnvlnX/tVO2j/p3J3RsSatenb+bqO+Hk+vp98ld/X3X9/M0uwloq4UrW6NK6ipVldHlNsi81rN5I6QCU/bU0+q+SKSr4opeUkoi4tY+VxlK3vNpXFVoRpAGGrfWii2ndYHbimAuM76TBNRWncGt22mkaZcXH64uY1QJtfflmI/Agi53acDm/x21d6kmQkPZLJHhlJpJOlGz1awk93zI30ivjK1JMvkesqkE2P+4pdpPn8ImHJl3rNJzr1Q2Ex30JqeRVa/dCzQieXgBWSZl9PoE4HVxna//qEg9TTR2Do5XG+m/0FtDT4Fisq4stZyTPmmGNsvPI0EOnX9PWuibYCBUNztfFnv2gbUDDiLnfxt3vDX303dRUGrF18x8c8L+39Xguv4Vn7bhes9qgDVw90/p5defkCWP1J8YNd7P+egpdRZDSa6uWK1a5dSF35G2utTTYol2tif1u4SXtg5twDkzI1zOZX6JdDKaKm+hUE/L/Ns8AXUpdPkDeHLiNsWVMXi/jiug9yQUbGkqAt1G61qbAmI787fBP1/4mMssh+ox5A98np1OUmac/lt9bvnOvL8FNlXH264Yp2k983VWlH5LdX3VNkxz76R7z0xWephfcqruekcLMCywU1qk2VZIZZUkX68bB4cuW3nXbm6XwwtBEwDAz465MAgiR+wvYcTw+ve/4PfCCJiE8v/Mnngf99n1kxexV/7q7PgfBbZol4LqUwcnRJyDzHEhB/Qu/xak17x03/Ak7+uVxOHvtemq6/571+tD8l7XWu0JYncvfxFwQsaGprHl7AaxMUFAiqf9NT6lj0IF8SwZ4qjPymOSTPsQQkXNZ7vOq0d9z0K/DPP5fHyWU/0+n6A1hoV1e0+4akE376T0Dtw8frGa1FZ3dV6KekVLX4Qk2qiTKKGriGW9trm0Cjdju4+87RfVCvuD9UlL+s60Oll7ZECp74DxP6/V0+QeHemcdIfOlFI4MeoDILgbuHDDx6uOEFqgcCgmlWOGwmL6naIl/ofsQBRoBz5ZlKERyswiSkBBUq5gCDmvgIFGk5NQLGwBFkB4w1Lce32OMjPRzJfDxyRyC8fVSx5Vhf9baYxB3eORaMgSE/pYmeAEoiO4TVGo/6fmBQlHAcdMYHgc5JH66NjWYliAiwb0wjj5bkKDFiAWJEBazEkyYOBz3UTgJQL6GhBAUENuoJb+nzRf0KAQNXmHnD4v5rQYCxiEgN3dIHdqAdxAAHpDasidu9yfzKh6V5JmnT0ojLgEg8wgEdR3tBkeArunz+kkMIm3svAl8ASB4yfPR+ANwAXM8GD7pxPxAq7YeAN8jfTwKeoNnwGA2uMcgweHA/BdDAqEGFwSf7fUAElJFPA37Q28BD7CF7x4MB6O2HABsk7icBOigzPHDQYZBhcON+CuCCowYVBr/e7wNsYHY9GgiGFgI9cIA6UAUWbgfWAjGoBovfZROoAQtAG6iHcQPAm0fMVMRgzQHQCarGwUin0OpVXRZp2R2AQlAHGsAi0AKq8ov6Hssn4OGELKI2UIdGh8LR8WKgAkoQDQAG80OkUkZ7lk28LYBF02t0fDXSAGJAGPV1tB44ZqM1CeMDiNaBFm0sOPB2Y6MZjJrRAygBwKgv7uhsiFm4sJ6dGT8YCBGW1e9uGQOgMfipdhAPonSr+oC5UmCpVUUbFvWukQ12AWzqMnxG7qDADf4ZuQgYTkRMQkpGTkFJhSo16ljY/Pjj4EKgAgTi4RMQEhGTkJIJIhcsRKgw4SIoRFKKEk0lhppGrDhaGFy8BImSJEuRCoZAYXAEEoXGYHF4ApFEplBpdAazCsDmcHl8gVAklkhlcoVSpdZodXqD0WS2WG12h9Pl9nh5+/j6AUAQGAKFwRFIFBqDxeEJRBKZQqXRGUwWu+cAh8vjC4QisUQanY1coVSpNVqd3mA0mS1Wm93hTOqc2+P1+YEQjKAYTpAUzbA8vkAoEks4qUyuUKrUGq1ObzCazBarze5wutwer89PGRdSaWPZjuv5T8XGszqYYJelkMBMOW1N1QQFFNcyNLxBIdVlQITb6LhvWQTHNZX/dl43N1ZqqUy5xjfrVqb25VEEXNN0Y2vFEbdwuUwhfBk6t0lpXrdmP5EseHShifh6jHJfeSek/6U+EbBgzj044QjEm0CVZhceYZepMNwkJjmX9Tu23AiDDkgGB+6urMEAMqw6oms4Wgmgb1JLNjy1DCgvA4hfBrTC5t/3+jjUzY2C8MKDlqnasm5gnCFdY+5la49t35gP6I8CAXbeu+SxxnW0TIL0XlIRjLuT+sVFGoNEHQydCToOzwr83PLvZcKYiVrvEJKZpnZs7ndY+ZUXwgkbcOKeyPfL6AYfwVTNHMmPOR9hgIrYUdneMaXiV1FshBAyw6VJYMAiRRfWYiu4K1jXktlJGO0FXXZT/m0oHTE+O516CB98UCpy1YBR/n4qx7ByF04C+UcIFrEyqxjNd2kMORcqiTACwX3TyDF5UjgHRMkg61q2HEDfEbwWDLnRZXwY2HZ/h+FYhn4488WtuEdIiRUOtzFsAxE2k+SmISUGxoDJmAFXs2CgY4ME2kLKY+UK63lGB9gT2DBt8O7e//IY35IJsTLTOAlmMhZyBgLjYY7lJy/d7K4wkKy0RL4lzwxcMjrAHnS+AFjGnBHcMSALyvChbM2CyaKbEgMUDG5iYUL2ZM7MzlD0EYBhZ1LYIctfBpDI0Gc1JGH/UQ1C58xID8AyNi0Lo6wcAzeOhMocsiPpAtxgu6z620C4vOeifjyJFwdzKzPgU2ZQMIRoZiuxo8xGGmKWJLzKqIPno8HwKCE4GqMtBdDAoWdbjqkvIM1BV03C0uhcmIYGGqj8ZYACzbi+xSdBiJsx3+jexq+jyukcZY1Rjckfc9gLJ15QVYhpkyCeeeRuXlCsUI5n9WdKE5BoplmJo77JKoeO01l1w0Bq8r5wT+9salZosLKG4AGzZCSffegO6F/iM8IaXWvybTMCNNDKg4LAvQyVR5eCSaBNgooW5quWY2kwxQirMj2ZOyNkNHMk1KoAnDVKUKmoOQlkHokjWZABIDWjQ0wZx1pebPJyBxOu20pQpqFHa37EnWYAq80I5FqRxE5Q6yUGcNYsHBY8aGJO9OGxYNbpRtcT0rYCNIewdAJMFhMicdLK8EiNrfna5OVGktnON67OuYG0nvZkP15OlG05P1BAe25nWUvIjNpp5aBvFSjNgVtQHqxu7kGLZZvxJWLZfY21NtZ+5MttqFb4uqmhYB7tiBwwYl+3CVsK0rSqJspDqsPldaFqTri8/rNZGyFvLMmW0ql8yDwIq91fEjqAaRwrDQKCYyxoY3foM0aMlEJwjzrwoMuRjBsWFqjFVX5t5Tu1aQAAAAA=) format("woff2"),url(//at.alicdn.com/t/c/font_2553510_kfwma2yq1rs.woff?t=1694918397022) format("woff")}.transition[data-v-c403101d]{transition:all .2s linear}.more[data-v-c403101d]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.blod[data-v-c403101d]{font-weight:700}.moveBox[data-v-c403101d]{animation:moveBox-c403101d 1.5s forwards infinite;transition:all .2s linear}.pointer[data-v-c403101d]{cursor:pointer}.not-select[data-v-c403101d]{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.particulars-detail-popup[data-v-c403101d]{background:rgba(0,0,0,.7)!important}@keyframes moveBox-c403101d{0%{transform:rotate(-6deg)}50%{transform:rotate(6deg)}to{transform:rotate(-6deg)}}@keyframes fadeIn-c403101d{0%{filter:blur(10px)}50%{filter:blur(5px)}to{filter:blur(0px)}}.fade-in[data-v-c403101d]{animation:fadeIn-c403101d .8s ease-in}input[type=number][data-v-c403101d]::-webkit-inner-spin-button,input[type=number][data-v-c403101d]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}[data-v-c403101d]:root{--van-floating-bubble-background: transparent !important;--van-floating-bubble-border-radius: 0 !important;--van-floating-bubble-size: 1.5rem !important;--van-floating-bubble-icon-size: 1.4rem !important}.center-popup[data-v-c403101d]{position:relative;width:80%;margin:0 auto;top:20%;border-radius:.3rem}.center-popup .title[data-v-c403101d]{background-color:#57b286;border-top-right-radius:.3rem;border-top-left-radius:.3rem;padding:.3rem;font-size:.5rem;display:flex;align-items:center;justify-content:space-between;color:#fffd2c}.center-popup .title .close[data-v-c403101d]{width:.8rem;height:.8rem}.center-popup .title .text[data-v-c403101d]{flex:1;text-align:left;font-weight:700;display:flex;align-items:center}.center-popup .content[data-v-c403101d]{box-sizing:border-box;width:100%;color:#000;padding:.2rem}.transition[data-v-e74df1bc],.container .payment-list .active[data-v-e74df1bc],.bg-box .box .active[data-v-e74df1bc]{transition:all .2s linear}.more[data-v-e74df1bc]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.blod[data-v-e74df1bc],.container .payment-list .payment[data-v-e74df1bc],.bg-box .btn-box[data-v-e74df1bc],.bg-box .box .block .item-tips[data-v-e74df1bc],.bg-box .box .block .right[data-v-e74df1bc]{font-weight:700}.moveBox[data-v-e74df1bc]{animation:moveBox-e74df1bc 1.5s forwards infinite;transition:all .2s linear}.pointer[data-v-e74df1bc],.bg-box .btn-box[data-v-e74df1bc]{cursor:pointer}.not-select[data-v-e74df1bc]{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.particulars-detail-popup[data-v-e74df1bc]{background:rgba(0,0,0,.7)!important}@keyframes moveBox-e74df1bc{0%{transform:rotate(-6deg)}50%{transform:rotate(6deg)}to{transform:rotate(-6deg)}}@keyframes fadeIn-e74df1bc{0%{filter:blur(10px)}50%{filter:blur(5px)}to{filter:blur(0px)}}.fade-in[data-v-e74df1bc]{animation:fadeIn-e74df1bc .8s ease-in}input[type=number][data-v-e74df1bc]::-webkit-inner-spin-button,input[type=number][data-v-e74df1bc]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}[data-v-e74df1bc]:root{--van-floating-bubble-background: transparent !important;--van-floating-bubble-border-radius: 0 !important;--van-floating-bubble-size: 1.5rem !important;--van-floating-bubble-icon-size: 1.4rem !important}.bg-box[data-v-e74df1bc]{height:100%;width:100%;position:relative}.bg-box .di-img[data-v-e74df1bc]{position:absolute;top:45%;transform:translate(-50%,-50%);left:50%;width:85%;height:auto}.bg-box .close-img[data-v-e74df1bc]{position:absolute;right:5%;top:14%;z-index:9}.bg-box .box[data-v-e74df1bc]{position:absolute;bottom:.5rem;width:7.5rem;height:6.5rem;left:50%;transform:translate(-50%);cursor:pointer;justify-content:space-around}.bg-box .box .block[data-v-e74df1bc]{width:100%;height:1.9rem;background-repeat:no-repeat;background-size:100% 100%;border:2px solid #102d28;border-radius:.25rem;display:flex;align-items:center;justify-content:center;position:relative}.bg-box .box .block .left[data-v-e74df1bc]{flex:1;display:flex;font-size:.4rem;padding-left:.3rem}.bg-box .box .block .left .jisuan[data-v-e74df1bc]{border-bottom:2px dashed #fff;padding:.1rem 0;width:90%;display:flex;align-items:center;justify-content:flex-start}.bg-box .box .block .left .jisuan .origPrice[data-v-e74df1bc]{font-size:.5rem;text-decoration:line-through red .05rem;padding-left:.05rem}.bg-box .box .block .left .ped[data-v-e74df1bc]{padding:0 .05rem}.bg-box .box .block .right[data-v-e74df1bc]{font-size:.4rem;display:flex;align-items:flex-end;height:100%;position:relative;width:2.3rem}.bg-box .box .block .right .per[data-v-e74df1bc]{position:absolute;top:0;font-size:.3rem;right:.1rem}.bg-box .box .block .right span[data-v-e74df1bc]{display:block;padding-bottom:.2rem}.bg-box .box .block .right .zhi[data-v-e74df1bc]{padding-bottom:.4rem}.bg-box .box .block .right span[data-v-e74df1bc]:last-child{font-size:.8rem;padding-left:.1rem;background:linear-gradient(to bottom,#ffffff 0%,#fada84 45%,#8c6907 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.bg-box .box .block .item-tips[data-v-e74df1bc]{position:absolute;top:-2rem;width:100%;height:3rem;background:url(/assets/tips_1730186905.png);background-size:100% 100%;z-index:1;display:flex;flex-direction:column;color:#f76222;font-size:.4rem}.bg-box .box .block .item-tips .close[data-v-e74df1bc]{width:1rem;height:1rem;position:absolute;right:0;z-index:999}.bg-box .box .block .item-tips .tip-top[data-v-e74df1bc]{width:100%;height:1.15rem;position:relative;display:flex;align-items:center;box-sizing:border-box}.bg-box .box .block .item-tips .tip-top div[data-v-e74df1bc]{width:1rem;height:100%;display:flex;align-items:center;justify-content:center}.bg-box .box .block .item-tips .tip-top .gold[data-v-e74df1bc]{margin-left:2.9rem;margin-right:1rem}.bg-box .box .block .item-tips .tip-bottom[data-v-e74df1bc]{flex:1;position:relative}.bg-box .box .block .item-tips .tip-bottom .ganhos-diarios[data-v-e74df1bc]{position:absolute;right:50%;top:10%}.bg-box .box .block .item-tips .tip-bottom .day[data-v-e74df1bc]{position:absolute;right:47%;bottom:30%}.bg-box .box .active[data-v-e74df1bc]{border:2px solid #fff;border-radius:.25rem}.bg-box .box .not_receive[data-v-e74df1bc]{filter:grayscale(100%)}.bg-box .btn-box[data-v-e74df1bc]{position:absolute;bottom:-1.5rem;width:40%;left:50%;transform:translate(-50%);background:#009165;border-radius:.2rem;padding:.1rem;border:none;color:#fff}.bg-box .received-tips[data-v-e74df1bc]{position:absolute;bottom:-.3rem;width:100%;left:50%;transform:translate(-50%);font-size:.4rem;text-align:center;color:red}.container .payment-list[data-v-e74df1bc]{display:grid;grid-template-columns:repeat(3,1fr);font-size:.4rem;gap:.25rem}.container .payment-list .payment[data-v-e74df1bc]{padding:.3rem;text-align:center;color:#fff;border-radius:.2rem;background:rgba(0,145,101,.5)}.container .payment-list .active[data-v-e74df1bc]{background:#009165}.field[data-v-e74df1bc]{display:flex;align-items:center;border-radius:.1rem;justify-content:space-between;position:relative}.field p[data-v-e74df1bc]{font-size:.4rem;color:#009165!important;width:1.5rem!important}.field[data-v-e74df1bc] .van-cell:after{border:none!important}.field .van-field[data-v-e74df1bc]{background:#677678;font-size:.4rem;margin-left:10px}.field .van-field[data-v-e74df1bc] .van-field__control{font-weight:700;font-size:.3rem}.my-field{margin:10px 0}.my-field .van-field{padding:10px!important;border-radius:.1rem!important}.my-field .van-field__control{font-size:14px!important}.transition[data-v-808f5c6e]{transition:all .2s linear}.more[data-v-808f5c6e]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.blod[data-v-808f5c6e]{font-weight:700}.moveBox[data-v-808f5c6e]{animation:moveBox-808f5c6e 1.5s forwards infinite;transition:all .2s linear}.pointer[data-v-808f5c6e]{cursor:pointer}.not-select[data-v-808f5c6e]{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.particulars-detail-popup[data-v-808f5c6e]{background:rgba(0,0,0,.7)!important}@keyframes moveBox-808f5c6e{0%{transform:rotate(-6deg)}50%{transform:rotate(6deg)}to{transform:rotate(-6deg)}}@keyframes fadeIn-808f5c6e{0%{filter:blur(10px)}50%{filter:blur(5px)}to{filter:blur(0px)}}.fade-in[data-v-808f5c6e]{animation:fadeIn-808f5c6e .8s ease-in}input[type=number][data-v-808f5c6e]::-webkit-inner-spin-button,input[type=number][data-v-808f5c6e]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}[data-v-808f5c6e]:root{--van-floating-bubble-background: transparent !important;--van-floating-bubble-border-radius: 0 !important;--van-floating-bubble-size: 1.5rem !important;--van-floating-bubble-icon-size: 1.4rem !important}.h-start-game[data-v-808f5c6e]{position:fixed;top:0;left:0;width:100%;height:100vh;z-index:2147483641;overflow:hidden;display:flex;align-items:center;justify-content:center;background-color:#212126}.h-start-game #iframe[data-v-808f5c6e]{position:absolute;top:0;z-index:2}.h-start-game .back[data-v-808f5c6e]{position:fixed;top:.1rem;left:.1rem;z-index:5;cursor:pointer}.h-start-game .back-icon[data-v-808f5c6e]{width:1rem;height:1rem}*[data-v-808f5c6e]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}body[data-v-808f5c6e]{width:100%;height:100%;position:fixed;top:0;left:0;background-color:#000;overflow:hidden}#id-top[data-v-808f5c6e]{position:fixed;top:-60px;left:0;right:0;width:100%;height:60px;background-color:#fff6;z-index:1000}#id-top .back[data-v-808f5c6e]{position:absolute;display:flex;margin:0 auto;left:0;right:0;justify-content:center;align-items:center;font-size:16px;font-weight:700}#id-toggle[data-v-808f5c6e]{position:relative;top:60px;left:50%;transform:translate(-50%);width:100px;height:30px;border-bottom-left-radius:18px;border-bottom-right-radius:18px;background-color:#fff6}#id-toggle svg[data-v-808f5c6e]{position:relative;top:50%;left:50%;writing-mode:vertical-rl;transform:translate(-50%,-50%) scaleY(1)}#id-game-btn[data-v-808f5c6e]{position:relative;background:url(01.png) repeat;background-size:cover;border-style:none;top:-22px;left:10px;width:52px;height:42px}#id-game-btn[data-v-808f5c6e]:active{transform:scale(.9)}#id-arrow[data-v-808f5c6e]{width:22px;height:22px}@media only screen and (orientation: portrait){#id-top[data-v-808f5c6e]{position:fixed;top:-50px;left:0;right:0;width:100%;height:50px;background-color:#fff6;z-index:1000}#id-toggle[data-v-808f5c6e]{position:relative;top:50px;left:50%;transform:translate(-50%);width:80px;height:20px;border-bottom-left-radius:12px;border-bottom-right-radius:12px;background-color:#fff6}#id-game-btn[data-v-808f5c6e]{position:relative;background:url(01.png) no-repeat;background-size:cover;border-style:none;top:-13px;left:5px;width:32px;height:28px}#id-arrow[data-v-808f5c6e]{width:16px;height:16px}}.full[data-v-808f5c6e]{top:0;left:0;width:100%;height:100%;border:none;margin:0;padding:0;overflow:hidden}.transition[data-v-18884fe0]{transition:all .2s linear}.more[data-v-18884fe0]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.blod[data-v-18884fe0]{font-weight:700}.moveBox[data-v-18884fe0]{animation:moveBox-18884fe0 1.5s forwards infinite;transition:all .2s linear}.pointer[data-v-18884fe0]{cursor:pointer}.not-select[data-v-18884fe0]{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.particulars-detail-popup[data-v-18884fe0]{background:rgba(0,0,0,.7)!important}@keyframes moveBox-18884fe0{0%{transform:rotate(-6deg)}50%{transform:rotate(6deg)}to{transform:rotate(-6deg)}}@keyframes fadeIn-18884fe0{0%{filter:blur(10px)}50%{filter:blur(5px)}to{filter:blur(0px)}}.fade-in[data-v-18884fe0]{animation:fadeIn-18884fe0 .8s ease-in}input[type=number][data-v-18884fe0]::-webkit-inner-spin-button,input[type=number][data-v-18884fe0]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}[data-v-18884fe0]:root{--van-floating-bubble-background: transparent !important;--van-floating-bubble-border-radius: 0 !important;--van-floating-bubble-size: 1.5rem !important;--van-floating-bubble-icon-size: 1.4rem !important}.overlay[data-v-18884fe0]{position:relative;height:100%}.overlay-body[data-v-18884fe0]{position:absolute;bottom:0;left:0;width:100%;padding:0;height:4.8rem}.overlay-body .details-box[data-v-18884fe0]{width:96%;position:relative;background-color:#1c1c1c;padding:.4rem 2%}.overlay-body .details-box .btnBox[data-v-18884fe0]{width:65%;display:flex;justify-content:space-around;align-items:center;position:absolute;bottom:1rem;right:0}.overlay-body .details-box .btn1[data-v-18884fe0],.overlay-body .details-box .btn2[data-v-18884fe0]{width:35%;padding:.2rem .3rem;font-size:.4rem;font-weight:800;border-radius:.1rem;text-align:center;cursor:pointer}.overlay-body .details-box .btn2[data-v-18884fe0]{background:#268c71}.overlay-body .details-box .btn1[data-v-18884fe0]{background:#3a3a3a}.overlay-body .details-box .close[data-v-18884fe0]{position:absolute;right:.2rem;top:.2rem}.overlay-body .details-box .flex-sb[data-v-18884fe0]{align-items:flex-start}.overlay-body .details-box .flex-sb .game-icon[data-v-18884fe0]{width:30%;min-height:4rem;border-radius:.2rem;box-shadow:0 0 .1rem 3px #0e0d0dcc}.overlay-body .details-box .flex-sb .game-title[data-v-18884fe0]{width:65%;text-align:left;font-size:.4rem;color:#fff;font-weight:600;padding:.5rem 0;display:flex;justify-content:left;align-items:center}.overlay-body .details-box .flex-sb .game-title>.gameName[data-v-18884fe0]{width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes animationChange-18884fe0{0%{bottom:-4.8rem}50%{bottom:-2.4rem}to{bottom:0}}.transition[data-v-b4250d7f]{transition:all .2s linear}.more[data-v-b4250d7f],.add-to-home-content .button .continuar[data-v-b4250d7f],.add-to-home-content .button .cancelar[data-v-b4250d7f]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.blod[data-v-b4250d7f]{font-weight:700}.moveBox[data-v-b4250d7f]{animation:moveBox-b4250d7f 1.5s forwards infinite;transition:all .2s linear}.pointer[data-v-b4250d7f]{cursor:pointer}.not-select[data-v-b4250d7f]{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.particulars-detail-popup[data-v-b4250d7f]{background:rgba(0,0,0,.7)!important}@keyframes moveBox-b4250d7f{0%{transform:rotate(-6deg)}50%{transform:rotate(6deg)}to{transform:rotate(-6deg)}}@keyframes fadeIn-b4250d7f{0%{filter:blur(10px)}50%{filter:blur(5px)}to{filter:blur(0px)}}.fade-in[data-v-b4250d7f]{animation:fadeIn-b4250d7f .8s ease-in}input[type=number][data-v-b4250d7f]::-webkit-inner-spin-button,input[type=number][data-v-b4250d7f]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}[data-v-b4250d7f]:root{--van-floating-bubble-background: transparent !important;--van-floating-bubble-border-radius: 0 !important;--van-floating-bubble-size: 1.5rem !important;--van-floating-bubble-icon-size: 1.4rem !important}.add-to-home-content[data-v-b4250d7f]{font-size:.4rem;padding:.25rem .3rem}.add-to-home-content .tips[data-v-b4250d7f]{display:flex;align-items:flex-start}.add-to-home-content .tips span[data-v-b4250d7f]{padding-left:.2rem;color:#000}.add-to-home-content .button[data-v-b4250d7f]{display:flex;align-items:center;justify-content:flex-end}.add-to-home-content .button .cancelar[data-v-b4250d7f]{color:#313160;padding:.15rem .25rem;margin-right:.25rem}.add-to-home-content .button .continuar[data-v-b4250d7f]{background:linear-gradient(to bottom,#0E5E57,#0B5650,#084E4A);color:#fff;padding:.15rem .25rem;border-radius:.1rem}.is-ios[data-v-b4250d7f]{display:flex;flex-direction:column;background:linear-gradient(to bottom,#0E5E57,#0B5650,#084E4A);padding:.1rem 1rem;color:#fff;position:relative}.is-ios .title[data-v-b4250d7f]{font-size:.5rem;text-align:center;margin:.25rem}.is-ios .tip[data-v-b4250d7f]{font-size:.35rem;margin:.2rem 0}.is-ios .tip span[data-v-b4250d7f]{padding-bottom:.2rem;display:block}.is-ios .dianji[data-v-b4250d7f]{position:absolute;bottom:0;width:10%;left:43%;animation:topToBottom-b4250d7f 2s forwards infinite;transition:all .2s linear;z-index:1}[data-v-b4250d7f] .van-popup__close-icon{color:#fff;font-size:.6rem}@keyframes topToBottom-b4250d7f{0%{bottom:0}50%{bottom:20px}to{bottom:0}}@font-face{font-family:iconfont;src:url(//at.alicdn.com/t/c/font_4391643_zef5mrej2w.woff2?t=1703735232024) format("woff2"),url(//at.alicdn.com/t/c/font_4391643_zef5mrej2w.woff?t=1703735232024) format("woff"),url(//at.alicdn.com/t/c/font_4391643_zef5mrej2w.ttf?t=1703735232024) format("truetype")}.iconfont{font-family:iconfont!important;font-size:16px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-rili:before{content:""}.transition{transition:all .2s linear}.more{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.blod{font-weight:700}.moveBox{animation:moveBox 1.5s forwards infinite;transition:all .2s linear}.pointer{cursor:pointer}.not-select{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.particulars-detail-popup{background:rgba(0,0,0,.7)!important}@keyframes moveBox{0%{transform:rotate(-6deg)}50%{transform:rotate(6deg)}to{transform:rotate(-6deg)}}@keyframes fadeIn{0%{filter:blur(10px)}50%{filter:blur(5px)}to{filter:blur(0px)}}.fade-in{animation:fadeIn .8s ease-in}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}:root{--van-floating-bubble-background: transparent !important;--van-floating-bubble-border-radius: 0 !important;--van-floating-bubble-size: 1.5rem !important;--van-floating-bubble-icon-size: 1.4rem !important}.push-enter-active{animation-name:push-in;animation-duration:.4s}.push-leave-active{animation-name:push-out;animation-duration:.4s}@keyframes push-in{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes push-out{0%{transform:translate(0)}to{transform:translate(-50%);opacity:0}}.back-enter-active{animation-name:back-in}.back-leave-active{animation-name:back-out}@keyframes back-in{0%{width:100%;transform:translate(-100%)}to{width:100%;transform:translate(0)}}@keyframes back-out{0%{width:100%;transform:translate(0)}to{width:100%;transform:translate(50%)}}::-webkit-scrollbar{height:.15rem}::-webkit-scrollbar-track{border-radius:.2rem;background:#000}::-webkit-scrollbar-thumb{background-color:#2f6368;border-radius:.2rem}.fixed-layout{position:absolute;left:0;top:0;width:100%}.loading-page{height:100%;width:100vw;position:fixed;z-index:10000000000000;top:0}@media screen and (min-width: 550px){.loading-page{width:10rem}}html{height:100%}@media screen and (min-width: 550px){html{font-size:50px!important}html::-webkit-scrollbar{display:none}}body{background:#fff;height:100%}body .van-toast{z-index:2147483641!important}@media screen and (min-width: 550px){body .van-toast{background:rgba(0,0,0,.7)!important}body .van-overlay{width:10rem;left:calc(50% - 5rem)}body::-webkit-scrollbar{display:none}}#app{margin:0 auto;background:url(/assets/bg_1730186905.png);background-size:100% auto;position:relative}#app::-webkit-scrollbar{display:none}#app .van-toast{z-index:2147483641!important}@media screen and (min-width: 550px){#app{width:10rem;overflow:auto}#app .van-popup{width:10rem;left:calc(50% - 5rem)}#app .van-toast{background:rgba(0,0,0,.7)!important;z-index:2147483641}#app .van-overlay{width:10rem;left:calc(50% - 5rem)}}.page{height:100%;overflow:auto;background:url(/assets/bg_1730186905.png);background-size:100% auto}.page::-webkit-scrollbar{display:none}.page .page-body{padding:.2rem;text-align:center;background:url(/assets/bg_1730186905.png);background-size:100% auto}.page .page-body::-webkit-scrollbar{display:none}html::-webkit-scrollbar{width:0}body::-webkit-scrollbar{width:0}::-ms-scrollbar{width:0}:root{--van-black: #000;--van-white: #fff;--van-gray-1: #f7f8fa;--van-gray-2: #f2f3f5;--van-gray-3: #ebedf0;--van-gray-4: #dcdee0;--van-gray-5: #c8c9cc;--van-gray-6: #969799;--van-gray-7: #646566;--van-gray-8: #323233;--van-red: #ee0a24;--van-blue: #1989fa;--van-orange: #ff976a;--van-orange-dark: #ed6a0c;--van-orange-light: #fffbe8;--van-green: #07c160;--van-gradient-red: linear-gradient(to right, #ff6034, #ee0a24);--van-gradient-orange: linear-gradient(to right, #ffd01e, #ff8917);--van-primary-color: var(--van-blue);--van-success-color: var(--van-green);--van-danger-color: var(--van-red);--van-warning-color: var(--van-orange);--van-text-color: var(--van-gray-8);--van-text-color-2: var(--van-gray-6);--van-text-color-3: var(--van-gray-5);--van-active-color: var(--van-gray-2);--van-active-opacity: .6;--van-disabled-opacity: .5;--van-background: var(--van-gray-1);--van-background-2: var(--van-white);--van-background-3: var(--van-white);--van-padding-base: 4px;--van-padding-xs: 8px;--van-padding-sm: 12px;--van-padding-md: 16px;--van-padding-lg: 24px;--van-padding-xl: 32px;--van-font-bold: 600;--van-font-size-xs: 10px;--van-font-size-sm: 12px;--van-font-size-md: 14px;--van-font-size-lg: 16px;--van-line-height-xs: 14px;--van-line-height-sm: 18px;--van-line-height-md: 20px;--van-line-height-lg: 22px;--van-base-font: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Segoe UI, Arial, Roboto, "PingFang SC", "miui", "Hiragino Sans GB", "Microsoft Yahei", sans-serif;--van-price-font: avenir-heavy, "PingFang SC", helvetica neue, arial, sans-serif;--van-duration-base: .3s;--van-duration-fast: .2s;--van-ease-out: ease-out;--van-ease-in: ease-in;--van-border-color: var(--van-gray-3);--van-border-width: 1px;--van-radius-sm: 2px;--van-radius-md: 4px;--van-radius-lg: 8px;--van-radius-max: 999px}.van-theme-dark{--van-text-color: #f5f5f5;--van-text-color-2: #707070;--van-text-color-3: #4d4d4d;--van-border-color: #3a3a3c;--van-active-color: #3a3a3c;--van-background: #000;--van-background-2: #1c1c1e;--van-background-3: #37363b}html{-webkit-tap-highlight-color:transparent}body{margin:0;font-family:var(--van-base-font)}a{text-decoration:none}input,button,textarea{color:inherit;font:inherit}a:focus,input:focus,button:focus,textarea:focus,[class*=van-]:focus{outline:none}ol,ul{margin:0;padding:0;list-style:none}@keyframes van-slide-up-enter{0%{transform:translate3d(0,100%,0)}}@keyframes van-slide-up-leave{to{transform:translate3d(0,100%,0)}}@keyframes van-slide-down-enter{0%{transform:translate3d(0,-100%,0)}}@keyframes van-slide-down-leave{to{transform:translate3d(0,-100%,0)}}@keyframes van-slide-left-enter{0%{transform:translate3d(-100%,0,0)}}@keyframes van-slide-left-leave{to{transform:translate3d(-100%,0,0)}}@keyframes van-slide-right-enter{0%{transform:translate3d(100%,0,0)}}@keyframes van-slide-right-leave{to{transform:translate3d(100%,0,0)}}@keyframes van-fade-in{0%{opacity:0}to{opacity:1}}@keyframes van-fade-out{0%{opacity:1}to{opacity:0}}@keyframes van-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.van-fade-enter-active{animation:var(--van-duration-base) van-fade-in both var(--van-ease-out)}.van-fade-leave-active{animation:var(--van-duration-base) van-fade-out both var(--van-ease-in)}.van-slide-up-enter-active{animation:van-slide-up-enter var(--van-duration-base) both var(--van-ease-out)}.van-slide-up-leave-active{animation:van-slide-up-leave var(--van-duration-base) both var(--van-ease-in)}.van-slide-down-enter-active{animation:van-slide-down-enter var(--van-duration-base) both var(--van-ease-out)}.van-slide-down-leave-active{animation:van-slide-down-leave var(--van-duration-base) both var(--van-ease-in)}.van-slide-left-enter-active{animation:van-slide-left-enter var(--van-duration-base) both var(--van-ease-out)}.van-slide-left-leave-active{animation:van-slide-left-leave var(--van-duration-base) both var(--van-ease-in)}.van-slide-right-enter-active{animation:van-slide-right-enter var(--van-duration-base) both var(--van-ease-out)}.van-slide-right-leave-active{animation:van-slide-right-leave var(--van-duration-base) both var(--van-ease-in)}.van-clearfix:after{display:table;clear:both;content:""}.van-ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.van-multi-ellipsis--l2{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:2;line-break:anywhere;-webkit-box-orient:vertical}.van-multi-ellipsis--l3{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:3;line-break:anywhere;-webkit-box-orient:vertical}.van-safe-area-top{padding-top:constant(safe-area-inset-top);padding-top:env(safe-area-inset-top)}.van-safe-area-bottom{padding-bottom:constant(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom)}.van-haptics-feedback{cursor:pointer}.van-haptics-feedback:active{opacity:var(--van-active-opacity)}[class*=van-hairline]:after{position:absolute;box-sizing:border-box;content:" ";pointer-events:none;top:-50%;right:-50%;bottom:-50%;left:-50%;border:0 solid var(--van-border-color);transform:scale(.5)}.van-hairline,.van-hairline--top,.van-hairline--left,.van-hairline--right,.van-hairline--bottom,.van-hairline--surround,.van-hairline--top-bottom{position:relative}.van-hairline--top:after{border-top-width:var(--van-border-width)}.van-hairline--left:after{border-left-width:var(--van-border-width)}.van-hairline--right:after{border-right-width:var(--van-border-width)}.van-hairline--bottom:after{border-bottom-width:var(--van-border-width)}.van-hairline--top-bottom:after,.van-hairline-unset--top-bottom:after{border-width:var(--van-border-width) 0}.van-hairline--surround:after{border-width:var(--van-border-width)}:root{--van-action-bar-background: var(--van-background-2);--van-action-bar-height: 50px}.van-action-bar{position:fixed;right:0;bottom:0;left:0;display:flex;align-items:center;box-sizing:content-box;height:var(--van-action-bar-height);background:var(--van-action-bar-background)}:root{--van-badge-size: 16px;--van-badge-color: var(--van-white);--van-badge-padding: 0 3px;--van-badge-font-size: var(--van-font-size-sm);--van-badge-font-weight: var(--van-font-bold);--van-badge-border-width: var(--van-border-width);--van-badge-background: var(--van-danger-color);--van-badge-dot-color: var(--van-danger-color);--van-badge-dot-size: 8px;--van-badge-font: -apple-system-font, helvetica neue, arial, sans-serif}.van-badge{display:inline-block;box-sizing:border-box;min-width:var(--van-badge-size);padding:var(--van-badge-padding);color:var(--van-badge-color);font-weight:var(--van-badge-font-weight);font-size:var(--van-badge-font-size);font-family:var(--van-badge-font);line-height:1.2;text-align:center;background:var(--van-badge-background);border:var(--van-badge-border-width) solid var(--van-background-2);border-radius:var(--van-radius-max)}.van-badge--fixed{position:absolute;transform-origin:100%}.van-badge--top-left{top:0;left:0;transform:translate(-50%,-50%)}.van-badge--top-right{top:0;right:0;transform:translate(50%,-50%)}.van-badge--bottom-left{bottom:0;left:0;transform:translate(-50%,50%)}.van-badge--bottom-right{bottom:0;right:0;transform:translate(50%,50%)}.van-badge--dot{width:var(--van-badge-dot-size);min-width:0;height:var(--van-badge-dot-size);background:var(--van-badge-dot-color);border-radius:100%;border:none;padding:0}.van-badge__wrapper{position:relative;display:inline-block}.van-icon{position:relative;display:inline-block;font:14px/1 vant-icon;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased}.van-icon:before{display:inline-block}.van-icon-contact:before{content:""}.van-icon-notes:before{content:""}.van-icon-records:before{content:""}.van-icon-cash-back-record:before{content:""}.van-icon-newspaper:before{content:""}.van-icon-discount:before{content:""}.van-icon-completed:before{content:""}.van-icon-user:before{content:""}.van-icon-description:before{content:""}.van-icon-list-switch:before{content:""}.van-icon-list-switching:before{content:""}.van-icon-link-o:before{content:""}.van-icon-miniprogram-o:before{content:""}.van-icon-qq:before{content:""}.van-icon-wechat-moments:before{content:""}.van-icon-weibo:before{content:""}.van-icon-cash-o:before{content:""}.van-icon-guide-o:before{content:""}.van-icon-invitation:before{content:""}.van-icon-shield-o:before{content:""}.van-icon-exchange:before{content:""}.van-icon-eye:before{content:""}.van-icon-enlarge:before{content:""}.van-icon-expand-o:before{content:""}.van-icon-eye-o:before{content:""}.van-icon-expand:before{content:""}.van-icon-filter-o:before{content:""}.van-icon-fire:before{content:""}.van-icon-fail:before{content:""}.van-icon-failure:before{content:""}.van-icon-fire-o:before{content:""}.van-icon-flag-o:before{content:""}.van-icon-font:before{content:""}.van-icon-font-o:before{content:""}.van-icon-gem-o:before{content:""}.van-icon-flower-o:before{content:""}.van-icon-gem:before{content:""}.van-icon-gift-card:before{content:""}.van-icon-friends:before{content:""}.van-icon-friends-o:before{content:""}.van-icon-gold-coin:before{content:""}.van-icon-gold-coin-o:before{content:""}.van-icon-good-job-o:before{content:""}.van-icon-gift:before{content:""}.van-icon-gift-o:before{content:""}.van-icon-gift-card-o:before{content:""}.van-icon-good-job:before{content:""}.van-icon-home-o:before{content:""}.van-icon-goods-collect:before{content:""}.van-icon-graphic:before{content:""}.van-icon-goods-collect-o:before{content:""}.van-icon-hot-o:before{content:""}.van-icon-info:before{content:""}.van-icon-hotel-o:before{content:""}.van-icon-info-o:before{content:""}.van-icon-hot-sale-o:before{content:""}.van-icon-hot:before{content:""}.van-icon-like:before{content:""}.van-icon-idcard:before{content:""}.van-icon-like-o:before{content:""}.van-icon-hot-sale:before{content:""}.van-icon-location-o:before{content:""}.van-icon-location:before{content:""}.van-icon-label:before{content:""}.van-icon-lock:before{content:""}.van-icon-label-o:before{content:""}.van-icon-map-marked:before{content:""}.van-icon-logistics:before{content:""}.van-icon-manager:before{content:""}.van-icon-more:before{content:""}.van-icon-live:before{content:""}.van-icon-manager-o:before{content:""}.van-icon-medal:before{content:""}.van-icon-more-o:before{content:""}.van-icon-music-o:before{content:""}.van-icon-music:before{content:""}.van-icon-new-arrival-o:before{content:""}.van-icon-medal-o:before{content:""}.van-icon-new-o:before{content:""}.van-icon-free-postage:before{content:""}.van-icon-newspaper-o:before{content:""}.van-icon-new-arrival:before{content:""}.van-icon-minus:before{content:""}.van-icon-orders-o:before{content:""}.van-icon-new:before{content:""}.van-icon-paid:before{content:""}.van-icon-notes-o:before{content:""}.van-icon-other-pay:before{content:""}.van-icon-pause-circle:before{content:""}.van-icon-pause:before{content:""}.van-icon-pause-circle-o:before{content:""}.van-icon-peer-pay:before{content:""}.van-icon-pending-payment:before{content:""}.van-icon-passed:before{content:""}.van-icon-plus:before{content:""}.van-icon-phone-circle-o:before{content:""}.van-icon-phone-o:before{content:""}.van-icon-printer:before{content:""}.van-icon-photo-fail:before{content:""}.van-icon-phone:before{content:""}.van-icon-photo-o:before{content:""}.van-icon-play-circle:before{content:""}.van-icon-play:before{content:""}.van-icon-phone-circle:before{content:""}.van-icon-point-gift-o:before{content:""}.van-icon-point-gift:before{content:""}.van-icon-play-circle-o:before{content:""}.van-icon-shrink:before{content:""}.van-icon-photo:before{content:""}.van-icon-qr:before{content:""}.van-icon-qr-invalid:before{content:""}.van-icon-question-o:before{content:""}.van-icon-revoke:before{content:""}.van-icon-replay:before{content:""}.van-icon-service:before{content:""}.van-icon-question:before{content:""}.van-icon-search:before{content:""}.van-icon-refund-o:before{content:""}.van-icon-service-o:before{content:""}.van-icon-scan:before{content:""}.van-icon-share:before{content:""}.van-icon-send-gift-o:before{content:""}.van-icon-share-o:before{content:""}.van-icon-setting:before{content:""}.van-icon-points:before{content:""}.van-icon-photograph:before{content:""}.van-icon-shop:before{content:""}.van-icon-shop-o:before{content:""}.van-icon-shop-collect-o:before{content:""}.van-icon-shop-collect:before{content:""}.van-icon-smile:before{content:""}.van-icon-shopping-cart-o:before{content:""}.van-icon-sign:before{content:""}.van-icon-sort:before{content:""}.van-icon-star-o:before{content:""}.van-icon-smile-comment-o:before{content:""}.van-icon-stop:before{content:""}.van-icon-stop-circle-o:before{content:""}.van-icon-smile-o:before{content:""}.van-icon-star:before{content:""}.van-icon-success:before{content:""}.van-icon-stop-circle:before{content:""}.van-icon-records-o:before{content:""}.van-icon-shopping-cart:before{content:""}.van-icon-tosend:before{content:""}.van-icon-todo-list:before{content:""}.van-icon-thumb-circle-o:before{content:""}.van-icon-thumb-circle:before{content:""}.van-icon-umbrella-circle:before{content:""}.van-icon-underway:before{content:""}.van-icon-upgrade:before{content:""}.van-icon-todo-list-o:before{content:""}.van-icon-tv-o:before{content:""}.van-icon-underway-o:before{content:""}.van-icon-user-o:before{content:""}.van-icon-vip-card-o:before{content:""}.van-icon-vip-card:before{content:""}.van-icon-send-gift:before{content:""}.van-icon-wap-home:before{content:""}.van-icon-wap-nav:before{content:""}.van-icon-volume-o:before{content:""}.van-icon-video:before{content:""}.van-icon-wap-home-o:before{content:""}.van-icon-volume:before{content:""}.van-icon-warning:before{content:""}.van-icon-weapp-nav:before{content:""}.van-icon-wechat-pay:before{content:""}.van-icon-warning-o:before{content:""}.van-icon-wechat:before{content:""}.van-icon-setting-o:before{content:""}.van-icon-youzan-shield:before{content:""}.van-icon-warn-o:before{content:""}.van-icon-smile-comment:before{content:""}.van-icon-user-circle-o:before{content:""}.van-icon-video-o:before{content:""}.van-icon-add-square:before{content:""}.van-icon-add:before{content:""}.van-icon-arrow-down:before{content:""}.van-icon-arrow-up:before{content:""}.van-icon-arrow:before{content:""}.van-icon-after-sale:before{content:""}.van-icon-add-o:before{content:""}.van-icon-alipay:before{content:""}.van-icon-ascending:before{content:""}.van-icon-apps-o:before{content:""}.van-icon-aim:before{content:""}.van-icon-award:before{content:""}.van-icon-arrow-left:before{content:""}.van-icon-award-o:before{content:""}.van-icon-audio:before{content:""}.van-icon-bag-o:before{content:""}.van-icon-balance-list:before{content:""}.van-icon-back-top:before{content:""}.van-icon-bag:before{content:""}.van-icon-balance-pay:before{content:""}.van-icon-balance-o:before{content:""}.van-icon-bar-chart-o:before{content:""}.van-icon-bars:before{content:""}.van-icon-balance-list-o:before{content:""}.van-icon-birthday-cake-o:before{content:""}.van-icon-bookmark:before{content:""}.van-icon-bill:before{content:""}.van-icon-bell:before{content:""}.van-icon-browsing-history-o:before{content:""}.van-icon-browsing-history:before{content:""}.van-icon-bookmark-o:before{content:""}.van-icon-bulb-o:before{content:""}.van-icon-bullhorn-o:before{content:""}.van-icon-bill-o:before{content:""}.van-icon-calendar-o:before{content:""}.van-icon-brush-o:before{content:""}.van-icon-card:before{content:""}.van-icon-cart-o:before{content:""}.van-icon-cart-circle:before{content:""}.van-icon-cart-circle-o:before{content:""}.van-icon-cart:before{content:""}.van-icon-cash-on-deliver:before{content:""}.van-icon-cash-back-record-o:before{content:""}.van-icon-cashier-o:before{content:""}.van-icon-chart-trending-o:before{content:""}.van-icon-certificate:before{content:""}.van-icon-chat:before{content:""}.van-icon-clear:before{content:""}.van-icon-chat-o:before{content:""}.van-icon-checked:before{content:""}.van-icon-clock:before{content:""}.van-icon-clock-o:before{content:""}.van-icon-close:before{content:""}.van-icon-closed-eye:before{content:""}.van-icon-circle:before{content:""}.van-icon-cluster-o:before{content:""}.van-icon-column:before{content:""}.van-icon-comment-circle-o:before{content:""}.van-icon-cluster:before{content:""}.van-icon-comment:before{content:""}.van-icon-comment-o:before{content:""}.van-icon-comment-circle:before{content:""}.van-icon-completed-o:before{content:""}.van-icon-credit-pay:before{content:""}.van-icon-coupon:before{content:""}.van-icon-debit-pay:before{content:""}.van-icon-coupon-o:before{content:""}.van-icon-contact-o:before{content:""}.van-icon-descending:before{content:""}.van-icon-desktop-o:before{content:""}.van-icon-diamond-o:before{content:""}.van-icon-description-o:before{content:""}.van-icon-delete:before{content:""}.van-icon-diamond:before{content:""}.van-icon-delete-o:before{content:""}.van-icon-cross:before{content:""}.van-icon-edit:before{content:""}.van-icon-ellipsis:before{content:""}.van-icon-down:before{content:""}.van-icon-discount-o:before{content:""}.van-icon-ecard-pay:before{content:""}.van-icon-envelop-o:before{content:""}@font-face{font-weight:400;font-family:vant-icon;font-style:normal;font-display:auto;src:url(data:font/woff2;charset=utf-8;base64,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) format("woff2"),url(//at.alicdn.com/t/c/font_2553510_kfwma2yq1rs.woff?t=1694918397022) format("woff")}.van-icon__image{display:block;width:1em;height:1em;object-fit:contain}:root{--van-skeleton-image-size: 96px;--van-skeleton-image-radius: 24px}.van-skeleton-image{display:flex;width:var(--van-skeleton-image-size);height:var(--van-skeleton-image-size);align-items:center;justify-content:center;background:var(--van-active-color)}.van-skeleton-image--round{border-radius:var(--van-skeleton-image-radius)}.van-skeleton-image__icon{width:calc(var(--van-skeleton-image-size) / 2);height:calc(var(--van-skeleton-image-size) / 2);font-size:calc(var(--van-skeleton-image-size) / 2);color:var(--van-gray-5)}:root{--van-rate-icon-size: 20px;--van-rate-icon-gutter: var(--van-padding-base);--van-rate-icon-void-color: var(--van-gray-5);--van-rate-icon-full-color: var(--van-danger-color);--van-rate-icon-disabled-color: var(--van-gray-5)}.van-rate{display:inline-flex;cursor:pointer;-webkit-user-select:none;user-select:none;flex-wrap:wrap}.van-rate__item{position:relative}.van-rate__item:not(:last-child){padding-right:var(--van-rate-icon-gutter)}.van-rate__icon{display:block;width:1em;color:var(--van-rate-icon-void-color);font-size:var(--van-rate-icon-size)}.van-rate__icon--half{position:absolute;top:0;left:0;overflow:hidden;pointer-events:none}.van-rate__icon--full{color:var(--van-rate-icon-full-color)}.van-rate__icon--disabled{color:var(--van-rate-icon-disabled-color)}.van-rate--disabled{cursor:not-allowed}.van-rate--readonly{cursor:default}:root{--van-notice-bar-height: 40px;--van-notice-bar-padding: 0 var(--van-padding-md);--van-notice-bar-wrapable-padding: var(--van-padding-xs) var(--van-padding-md);--van-notice-bar-text-color: var(--van-orange-dark);--van-notice-bar-font-size: var(--van-font-size-md);--van-notice-bar-line-height: 24px;--van-notice-bar-background: var(--van-orange-light);--van-notice-bar-icon-size: 16px;--van-notice-bar-icon-min-width: 24px}.van-notice-bar{position:relative;display:flex;align-items:center;height:var(--van-notice-bar-height);padding:var(--van-notice-bar-padding);color:var(--van-notice-bar-text-color);font-size:var(--van-notice-bar-font-size);line-height:var(--van-notice-bar-line-height);background:var(--van-notice-bar-background)}.van-notice-bar__left-icon,.van-notice-bar__right-icon{min-width:var(--van-notice-bar-icon-min-width);font-size:var(--van-notice-bar-icon-size)}.van-notice-bar__right-icon{text-align:right;cursor:pointer}.van-notice-bar__wrap{position:relative;display:flex;flex:1;align-items:center;height:100%;overflow:hidden}.van-notice-bar__content{position:absolute;white-space:nowrap;transition-timing-function:linear}.van-notice-bar__content.van-ellipsis{max-width:100%}.van-notice-bar--wrapable{height:auto;padding:var(--van-notice-bar-wrapable-padding)}.van-notice-bar--wrapable .van-notice-bar__wrap{height:auto}.van-notice-bar--wrapable .van-notice-bar__content{position:relative;white-space:normal;word-wrap:break-word}:root{--van-nav-bar-height: 46px;--van-nav-bar-background: var(--van-background-2);--van-nav-bar-arrow-size: 16px;--van-nav-bar-icon-color: var(--van-primary-color);--van-nav-bar-text-color: var(--van-primary-color);--van-nav-bar-title-font-size: var(--van-font-size-lg);--van-nav-bar-title-text-color: var(--van-text-color);--van-nav-bar-z-index: 1;--van-nav-bar-disabled-opacity: var(--van-disabled-opacity)}.van-nav-bar{position:relative;z-index:var(--van-nav-bar-z-index);line-height:var(--van-line-height-lg);text-align:center;background:var(--van-nav-bar-background);-webkit-user-select:none;user-select:none}.van-nav-bar--fixed{position:fixed;top:0;left:0;width:100%}.van-nav-bar--safe-area-inset-top{padding-top:constant(safe-area-inset-top);padding-top:env(safe-area-inset-top)}.van-nav-bar .van-icon{color:var(--van-nav-bar-icon-color)}.van-nav-bar__content{position:relative;display:flex;align-items:center;height:var(--van-nav-bar-height)}.van-nav-bar__arrow{margin-right:var(--van-padding-base);font-size:var(--van-nav-bar-arrow-size)}.van-nav-bar__title{max-width:60%;margin:0 auto;color:var(--van-nav-bar-title-text-color);font-weight:var(--van-font-bold);font-size:var(--van-nav-bar-title-font-size)}.van-nav-bar__left,.van-nav-bar__right{position:absolute;top:0;bottom:0;display:flex;align-items:center;padding:0 var(--van-padding-md);font-size:var(--van-font-size-md)}.van-nav-bar__left--disabled,.van-nav-bar__right--disabled{cursor:not-allowed;opacity:var(--van-nav-bar-disabled-opacity)}.van-nav-bar__left{left:0}.van-nav-bar__right{right:0}.van-nav-bar__text{color:var(--van-nav-bar-text-color)}:root{--van-floating-bubble-size: 48px;--van-floating-bubble-initial-gap: 24px;--van-floating-bubble-icon-size: 28px;--van-floating-bubble-background: var(--van-primary-color);--van-floating-bubble-color: var(--van-background-2);--van-floating-bubble-z-index: 999;--van-floating-bubble-border-radius: var(--van-radius-max)}.van-floating-bubble{position:fixed;left:0;top:0;right:var(--van-floating-bubble-initial-gap);bottom:var(--van-floating-bubble-initial-gap);width:var(--van-floating-bubble-size);height:var(--van-floating-bubble-size);box-sizing:border-box;display:flex;justify-content:center;align-items:center;overflow:hidden;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;background:var(--van-floating-bubble-background);color:var(--van-floating-bubble-color);border-radius:var(--van-floating-bubble-border-radius);z-index:var(--van-floating-bubble-z-index);transition:transform var(--van-duration-base)}.van-floating-bubble:active{opacity:.8}.van-floating-bubble__icon{font-size:var(--van-floating-bubble-icon-size)}:root{--van-image-placeholder-text-color: var(--van-text-color-2);--van-image-placeholder-font-size: var(--van-font-size-md);--van-image-placeholder-background: var(--van-background);--van-image-loading-icon-size: 32px;--van-image-loading-icon-color: var(--van-gray-4);--van-image-error-icon-size: 32px;--van-image-error-icon-color: var(--van-gray-4)}.van-image{position:relative;display:inline-block}.van-image--round{overflow:hidden;border-radius:var(--van-radius-max)}.van-image--round .van-image__img{border-radius:inherit}.van-image--block{display:block}.van-image__img,.van-image__error,.van-image__loading{display:block;width:100%;height:100%}.van-image__error,.van-image__loading{position:absolute;top:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--van-image-placeholder-text-color);font-size:var(--van-image-placeholder-font-size);background:var(--van-image-placeholder-background)}.van-image__loading-icon{color:var(--van-image-loading-icon-color);font-size:var(--van-image-loading-icon-size)}.van-image__error-icon{color:var(--van-image-error-icon-color);font-size:var(--van-image-error-icon-size)}:root{--van-back-top-size: 40px;--van-back-top-right: 30px;--van-back-top-bottom: 40px;--van-back-top-z-index: 100;--van-back-top-icon-size: 20px;--van-back-top-text-color: #fff;--van-back-top-background: var(--van-blue)}.van-back-top{position:fixed;display:flex;align-items:center;justify-content:center;width:var(--van-back-top-size);height:var(--van-back-top-size);right:var(--van-back-top-right);bottom:var(--van-back-top-bottom);z-index:var(--van-back-top-z-index);cursor:pointer;color:var(--van-back-top-text-color);border-radius:var(--van-radius-max);box-shadow:0 2px 8px #0000001f;transform:scale(0);transition:var(--van-duration-base) cubic-bezier(.25,.8,.5,1);background-color:var(--van-back-top-background)}.van-back-top:active{opacity:var(--van-active-opacity)}.van-back-top__placeholder{display:none}.van-back-top--active{transform:scale(1)}.van-back-top__icon{font-size:var(--van-back-top-icon-size);font-weight:var(--van-font-bold)}:root{--van-tag-padding: 0 var(--van-padding-base);--van-tag-text-color: var(--van-white);--van-tag-font-size: var(--van-font-size-sm);--van-tag-radius: 2px;--van-tag-line-height: 16px;--van-tag-medium-padding: 2px 6px;--van-tag-large-padding: var(--van-padding-base) var(--van-padding-xs);--van-tag-large-radius: var(--van-radius-md);--van-tag-large-font-size: var(--van-font-size-md);--van-tag-round-radius: var(--van-radius-max);--van-tag-danger-color: var(--van-danger-color);--van-tag-primary-color: var(--van-primary-color);--van-tag-success-color: var(--van-success-color);--van-tag-warning-color: var(--van-warning-color);--van-tag-default-color: var(--van-gray-6);--van-tag-plain-background: var(--van-background-2)}.van-tag{position:relative;display:inline-flex;align-items:center;padding:var(--van-tag-padding);color:var(--van-tag-text-color);font-size:var(--van-tag-font-size);line-height:var(--van-tag-line-height);border-radius:var(--van-tag-radius)}.van-tag--default{background:var(--van-tag-default-color)}.van-tag--default.van-tag--plain{color:var(--van-tag-default-color)}.van-tag--danger{background:var(--van-tag-danger-color)}.van-tag--danger.van-tag--plain{color:var(--van-tag-danger-color)}.van-tag--primary{background:var(--van-tag-primary-color)}.van-tag--primary.van-tag--plain{color:var(--van-tag-primary-color)}.van-tag--success{background:var(--van-tag-success-color)}.van-tag--success.van-tag--plain{color:var(--van-tag-success-color)}.van-tag--warning{background:var(--van-tag-warning-color)}.van-tag--warning.van-tag--plain{color:var(--van-tag-warning-color)}.van-tag--plain{background:var(--van-tag-plain-background);border-color:currentColor}.van-tag--plain:before{position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid;border-color:inherit;border-radius:inherit;content:"";pointer-events:none}.van-tag--medium{padding:var(--van-tag-medium-padding)}.van-tag--large{padding:var(--van-tag-large-padding);font-size:var(--van-tag-large-font-size);border-radius:var(--van-tag-large-radius)}.van-tag--mark{border-radius:0 var(--van-tag-round-radius) var(--van-tag-round-radius) 0}.van-tag--mark:after{display:block;width:2px;content:""}.van-tag--round{border-radius:var(--van-tag-round-radius)}.van-tag__close{margin-left:2px}:root{--van-card-padding: var(--van-padding-xs) var(--van-padding-md);--van-card-font-size: var(--van-font-size-sm);--van-card-text-color: var(--van-text-color);--van-card-background: var(--van-background);--van-card-thumb-size: 88px;--van-card-thumb-radius: var(--van-radius-lg);--van-card-title-line-height: 16px;--van-card-desc-color: var(--van-text-color-2);--van-card-desc-line-height: var(--van-line-height-md);--van-card-price-color: var(--van-text-color);--van-card-origin-price-color: var(--van-text-color-2);--van-card-num-color: var(--van-text-color-2);--van-card-origin-price-font-size: var(--van-font-size-xs);--van-card-price-font-size: var(--van-font-size-sm);--van-card-price-integer-font-size: var(--van-font-size-lg);--van-card-price-font: var(--van-price-font)}.van-card{position:relative;box-sizing:border-box;padding:var(--van-card-padding);color:var(--van-card-text-color);font-size:var(--van-card-font-size);background:var(--van-card-background)}.van-card:not(:first-child){margin-top:var(--van-padding-xs)}.van-card__header{display:flex}.van-card__thumb{position:relative;flex:none;width:var(--van-card-thumb-size);height:var(--van-card-thumb-size);margin-right:var(--van-padding-xs)}.van-card__thumb img{border-radius:var(--van-card-thumb-radius)}.van-card__content{position:relative;display:flex;flex:1;flex-direction:column;justify-content:space-between;min-width:0;min-height:var(--van-card-thumb-size)}.van-card__content--centered{justify-content:center}.van-card__title,.van-card__desc{word-wrap:break-word}.van-card__title{max-height:32px;font-weight:var(--van-font-bold);line-height:var(--van-card-title-line-height)}.van-card__desc{max-height:var(--van-card-desc-line-height);color:var(--van-card-desc-color);line-height:var(--van-card-desc-line-height)}.van-card__bottom{line-height:var(--van-line-height-md)}.van-card__price{display:inline-block;color:var(--van-card-price-color);font-weight:var(--van-font-bold);font-size:var(--van-card-price-font-size)}.van-card__price-integer{font-size:var(--van-card-price-integer-font-size);font-family:var(--van-card-price-font)}.van-card__price-decimal{font-family:var(--van-card-price-font)}.van-card__origin-price{display:inline-block;margin-left:5px;color:var(--van-card-origin-price-color);font-size:var(--van-card-origin-price-font-size);text-decoration:line-through}.van-card__num{float:right;color:var(--van-card-num-color)}.van-card__tag{position:absolute;top:2px;left:0}.van-card__footer{flex:none;text-align:right}.van-card__footer .van-button{margin-left:5px}:root{--van-cell-font-size: var(--van-font-size-md);--van-cell-line-height: 24px;--van-cell-vertical-padding: 10px;--van-cell-horizontal-padding: var(--van-padding-md);--van-cell-text-color: var(--van-text-color);--van-cell-background: var(--van-background-2);--van-cell-border-color: var(--van-border-color);--van-cell-active-color: var(--van-active-color);--van-cell-required-color: var(--van-danger-color);--van-cell-label-color: var(--van-text-color-2);--van-cell-label-font-size: var(--van-font-size-sm);--van-cell-label-line-height: var(--van-line-height-sm);--van-cell-label-margin-top: var(--van-padding-base);--van-cell-value-color: var(--van-text-color-2);--van-cell-value-font-size: inherit;--van-cell-icon-size: 16px;--van-cell-right-icon-color: var(--van-gray-6);--van-cell-large-vertical-padding: var(--van-padding-sm);--van-cell-large-title-font-size: var(--van-font-size-lg);--van-cell-large-label-font-size: var(--van-font-size-md);--van-cell-large-value-font-size: inherit}.van-cell{position:relative;display:flex;box-sizing:border-box;width:100%;padding:var(--van-cell-vertical-padding) var(--van-cell-horizontal-padding);overflow:hidden;color:var(--van-cell-text-color);font-size:var(--van-cell-font-size);line-height:var(--van-cell-line-height);background:var(--van-cell-background)}.van-cell:after{position:absolute;box-sizing:border-box;content:" ";pointer-events:none;right:var(--van-padding-md);bottom:0;left:var(--van-padding-md);border-bottom:1px solid var(--van-cell-border-color);transform:scaleY(.5)}.van-cell:last-child:after,.van-cell--borderless:after{display:none}.van-cell__label{margin-top:var(--van-cell-label-margin-top);color:var(--van-cell-label-color);font-size:var(--van-cell-label-font-size);line-height:var(--van-cell-label-line-height)}.van-cell__title,.van-cell__value{flex:1}.van-cell__value{position:relative;overflow:hidden;color:var(--van-cell-value-color);font-size:var(--van-cell-value-font-size);text-align:right;vertical-align:middle;word-wrap:break-word}.van-cell__left-icon,.van-cell__right-icon{height:var(--van-cell-line-height);font-size:var(--van-cell-icon-size);line-height:var(--van-cell-line-height)}.van-cell__left-icon{margin-right:var(--van-padding-base)}.van-cell__right-icon{margin-left:var(--van-padding-base);color:var(--van-cell-right-icon-color)}.van-cell--clickable{cursor:pointer}.van-cell--clickable:active{background-color:var(--van-cell-active-color)}.van-cell--required{overflow:visible}.van-cell--required:before{position:absolute;left:var(--van-padding-xs);color:var(--van-cell-required-color);font-size:var(--van-cell-font-size);content:"*"}.van-cell--center{align-items:center}.van-cell--large{padding-top:var(--van-cell-large-vertical-padding);padding-bottom:var(--van-cell-large-vertical-padding)}.van-cell--large .van-cell__title{font-size:var(--van-cell-large-title-font-size)}.van-cell--large .van-cell__label{font-size:var(--van-cell-large-label-font-size)}.van-cell--large .van-cell__value{font-size:var(--van-cell-large-value-font-size)}:root{--van-coupon-cell-selected-text-color: var(--van-text-color)}.van-coupon-cell__value--selected{color:var(--van-coupon-cell-selected-text-color)}:root{--van-contact-card-padding: var(--van-padding-md);--van-contact-card-add-icon-size: 40px;--van-contact-card-add-icon-color: var(--van-primary-color);--van-contact-card-title-line-height: var(--van-line-height-md)}.van-contact-card{padding:var(--van-contact-card-padding)}.van-contact-card__title{margin-left:5px;line-height:var(--van-contact-card-title-line-height)}.van-contact-card--add .van-contact-card__value{line-height:var(--van-contact-card-add-icon-size)}.van-contact-card--add .van-cell__left-icon{color:var(--van-contact-card-add-icon-color);font-size:var(--van-contact-card-add-icon-size)}.van-contact-card:before{position:absolute;right:0;bottom:0;left:0;height:2px;background:repeating-linear-gradient(-45deg,var(--van-warning-color) 0,var(--van-warning-color) 20%,transparent 0,transparent 25%,var(--van-primary-color) 0,var(--van-primary-color) 45%,transparent 0,transparent 50%);background-size:80px;content:""}:root{--van-collapse-item-duration: var(--van-duration-base);--van-collapse-item-content-padding: var(--van-padding-sm) var(--van-padding-md);--van-collapse-item-content-font-size: var(--van-font-size-md);--van-collapse-item-content-line-height: 1.5;--van-collapse-item-content-text-color: var(--van-text-color-2);--van-collapse-item-content-background: var(--van-background-2);--van-collapse-item-title-disabled-color: var(--van-text-color-3)}.van-collapse-item{position:relative}.van-collapse-item--border:after{position:absolute;box-sizing:border-box;content:" ";pointer-events:none;top:0;right:var(--van-padding-md);left:var(--van-padding-md);border-top:1px solid var(--van-border-color);transform:scaleY(.5)}.van-collapse-item__title .van-cell__right-icon:before{transform:rotate(90deg) translateZ(0);transition:transform var(--van-collapse-item-duration)}.van-collapse-item__title:after{right:var(--van-padding-md);display:none}.van-collapse-item__title--expanded .van-cell__right-icon:before{transform:rotate(-90deg)}.van-collapse-item__title--expanded:after{display:block}.van-collapse-item__title--borderless:after{display:none}.van-collapse-item__title--disabled{cursor:not-allowed}.van-collapse-item__title--disabled,.van-collapse-item__title--disabled .van-cell__right-icon{color:var(--van-collapse-item-title-disabled-color)}.van-collapse-item__wrapper{overflow:hidden;transition:height var(--van-collapse-item-duration) ease-in-out;will-change:height}.van-collapse-item__content{padding:var(--van-collapse-item-content-padding);color:var(--van-collapse-item-content-text-color);font-size:var(--van-collapse-item-content-font-size);line-height:var(--van-collapse-item-content-line-height);background:var(--van-collapse-item-content-background)}:root{--van-field-label-width: 6.2em;--van-field-label-color: var(--van-text-color);--van-field-label-margin-right: var(--van-padding-sm);--van-field-input-text-color: var(--van-text-color);--van-field-input-error-text-color: var(--van-danger-color);--van-field-input-disabled-text-color: var(--van-text-color-3);--van-field-placeholder-text-color: var(--van-text-color-3);--van-field-icon-size: 18px;--van-field-clear-icon-size: 18px;--van-field-clear-icon-color: var(--van-gray-5);--van-field-right-icon-color: var(--van-gray-6);--van-field-error-message-color: var(--van-danger-color);--van-field-error-message-font-size: 12px;--van-field-text-area-min-height: 60px;--van-field-word-limit-color: var(--van-gray-7);--van-field-word-limit-font-size: var(--van-font-size-sm);--van-field-word-limit-line-height: 16px;--van-field-disabled-text-color: var(--van-text-color-3);--van-field-required-mark-color: var(--van-red)}.van-field{flex-wrap:wrap}.van-field__label{flex:none;box-sizing:border-box;width:var(--van-field-label-width);margin-right:var(--van-field-label-margin-right);color:var(--van-field-label-color);text-align:left;word-wrap:break-word}.van-field__label--center{text-align:center}.van-field__label--right{text-align:right}.van-field__label--top{display:flex;width:100%;text-align:left;margin-bottom:var(--van-padding-base);word-break:break-word}.van-field__label--required:before{margin-right:2px;color:var(--van-field-required-mark-color);content:"*"}.van-field--disabled .van-field__label{color:var(--van-field-disabled-text-color)}.van-field__value{overflow:visible}.van-field__body{display:flex;align-items:center}.van-field__control{display:block;box-sizing:border-box;width:100%;min-width:0;margin:0;padding:0;color:var(--van-field-input-text-color);line-height:inherit;text-align:left;background-color:transparent;border:0;resize:none;-webkit-user-select:auto;user-select:auto}.van-field__control::-webkit-input-placeholder{color:var(--van-field-placeholder-text-color)}.van-field__control::placeholder{color:var(--van-field-placeholder-text-color)}.van-field__control:read-only{cursor:default}.van-field__control:disabled{color:var(--van-field-input-disabled-text-color);cursor:not-allowed;opacity:1;-webkit-text-fill-color:var(--van-field-input-disabled-text-color)}.van-field__control--center{justify-content:center;text-align:center}.van-field__control--right{justify-content:flex-end;text-align:right}.van-field__control--custom{display:flex;align-items:center;min-height:var(--van-cell-line-height)}.van-field__control--error::-webkit-input-placeholder{color:var(--van-field-input-error-text-color);-webkit-text-fill-color:currentColor}.van-field__control--error,.van-field__control--error::placeholder{color:var(--van-field-input-error-text-color);-webkit-text-fill-color:currentColor}.van-field__control--min-height{min-height:var(--van-field-text-area-min-height)}.van-field__control[type=date],.van-field__control[type=time],.van-field__control[type=datetime-local]{min-height:var(--van-cell-line-height)}.van-field__control[type=search]{-webkit-appearance:none}.van-field__clear,.van-field__icon,.van-field__button,.van-field__right-icon{flex-shrink:0}.van-field__clear,.van-field__right-icon{margin-right:calc(var(--van-padding-xs) * -1);padding:0 var(--van-padding-xs);line-height:inherit}.van-field__clear{color:var(--van-field-clear-icon-color);font-size:var(--van-field-clear-icon-size);cursor:pointer}.van-field__left-icon .van-icon,.van-field__right-icon .van-icon{display:block;font-size:var(--van-field-icon-size);line-height:inherit}.van-field__left-icon{margin-right:var(--van-padding-base)}.van-field__right-icon{color:var(--van-field-right-icon-color)}.van-field__button{padding-left:var(--van-padding-xs)}.van-field__error-message{color:var(--van-field-error-message-color);font-size:var(--van-field-error-message-font-size);text-align:left}.van-field__error-message--center{text-align:center}.van-field__error-message--right{text-align:right}.van-field__word-limit{margin-top:var(--van-padding-base);color:var(--van-field-word-limit-color);font-size:var(--van-field-word-limit-font-size);line-height:var(--van-field-word-limit-line-height);text-align:right}:root{--van-search-padding: 10px var(--van-padding-sm);--van-search-background: var(--van-background-2);--van-search-content-background: var(--van-background);--van-search-input-height: 34px;--van-search-label-padding: 0 5px;--van-search-label-color: var(--van-text-color);--van-search-label-font-size: var(--van-font-size-md);--van-search-left-icon-color: var(--van-gray-6);--van-search-action-padding: 0 var(--van-padding-xs);--van-search-action-text-color: var(--van-text-color);--van-search-action-font-size: var(--van-font-size-md)}.van-search{display:flex;align-items:center;box-sizing:border-box;padding:var(--van-search-padding);background:var(--van-search-background)}.van-search__content{display:flex;flex:1;padding-left:var(--van-padding-sm);background:var(--van-search-content-background);border-radius:var(--van-radius-sm)}.van-search__content--round{border-radius:var(--van-radius-max)}.van-search__label{padding:var(--van-search-label-padding);color:var(--van-search-label-color);font-size:var(--van-search-label-font-size);line-height:var(--van-search-input-height)}.van-search__field{flex:1;align-items:center;padding:0 var(--van-padding-xs) 0 0;height:var(--van-search-input-height);background-color:transparent}.van-search__field .van-field__left-icon{color:var(--van-search-left-icon-color)}.van-search--show-action{padding-right:0}.van-search input::-webkit-search-decoration,.van-search input::-webkit-search-cancel-button,.van-search input::-webkit-search-results-button,.van-search input::-webkit-search-results-decoration{display:none}.van-search__action{padding:var(--van-search-action-padding);color:var(--van-search-action-text-color);font-size:var(--van-search-action-font-size);line-height:var(--van-search-input-height);cursor:pointer;-webkit-user-select:none;user-select:none}.van-search__action:active{background-color:var(--van-active-color)}:root{--van-action-bar-icon-width: 48px;--van-action-bar-icon-height: 100%;--van-action-bar-icon-color: var(--van-text-color);--van-action-bar-icon-size: 18px;--van-action-bar-icon-font-size: var(--van-font-size-xs);--van-action-bar-icon-active-color: var(--van-active-color);--van-action-bar-icon-text-color: var(--van-text-color);--van-action-bar-icon-background: var(--van-background-2)}.van-action-bar-icon{display:flex;flex-direction:column;justify-content:center;min-width:var(--van-action-bar-icon-width);height:var(--van-action-bar-icon-height);color:var(--van-action-bar-icon-text-color);font-size:var(--van-action-bar-icon-font-size);line-height:1;text-align:center;background:var(--van-action-bar-icon-background);cursor:pointer}.van-action-bar-icon:active{background-color:var(--van-action-bar-icon-active-color)}.van-action-bar-icon__icon{margin:0 auto var(--van-padding-base);color:var(--van-action-bar-icon-color);font-size:var(--van-action-bar-icon-size)}:root{--van-loading-text-color: var(--van-text-color-2);--van-loading-text-font-size: var(--van-font-size-md);--van-loading-spinner-color: var(--van-gray-5);--van-loading-spinner-size: 30px;--van-loading-spinner-duration: .8s}.van-loading{position:relative;color:var(--van-loading-spinner-color);font-size:0;vertical-align:middle}.van-loading__spinner{position:relative;display:inline-block;width:var(--van-loading-spinner-size);max-width:100%;height:var(--van-loading-spinner-size);max-height:100%;vertical-align:middle;animation:van-rotate var(--van-loading-spinner-duration) linear infinite}.van-loading__spinner--spinner{animation-timing-function:steps(12)}.van-loading__spinner--circular{animation-duration:2s}.van-loading__line{position:absolute;top:0;left:0;width:100%;height:100%}.van-loading__line:before{display:block;width:2px;height:25%;margin:0 auto;background-color:currentColor;border-radius:40%;content:" "}.van-loading__circular{display:block;width:100%;height:100%}.van-loading__circular circle{animation:van-circular 1.5s ease-in-out infinite;stroke:currentColor;stroke-width:3;stroke-linecap:round}.van-loading__text{display:inline-block;margin-left:var(--van-padding-xs);color:var(--van-loading-text-color);font-size:var(--van-loading-text-font-size);vertical-align:middle}.van-loading--vertical{display:flex;flex-direction:column;align-items:center}.van-loading--vertical .van-loading__text{margin:var(--van-padding-xs) 0 0}@keyframes van-circular{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40}to{stroke-dasharray:90,150;stroke-dashoffset:-120}}.van-loading__line--1{transform:rotate(30deg);opacity:1}.van-loading__line--2{transform:rotate(60deg);opacity:.9375}.van-loading__line--3{transform:rotate(90deg);opacity:.875}.van-loading__line--4{transform:rotate(120deg);opacity:.8125}.van-loading__line--5{transform:rotate(150deg);opacity:.75}.van-loading__line--6{transform:rotate(180deg);opacity:.6875}.van-loading__line--7{transform:rotate(210deg);opacity:.625}.van-loading__line--8{transform:rotate(240deg);opacity:.5625}.van-loading__line--9{transform:rotate(270deg);opacity:.5}.van-loading__line--10{transform:rotate(300deg);opacity:.4375}.van-loading__line--11{transform:rotate(330deg);opacity:.375}.van-loading__line--12{transform:rotate(360deg);opacity:.3125}:root{--van-pull-refresh-head-height: 50px;--van-pull-refresh-head-font-size: var(--van-font-size-md);--van-pull-refresh-head-text-color: var(--van-text-color-2);--van-pull-refresh-loading-icon-size: 16px}.van-pull-refresh{overflow:hidden}.van-pull-refresh__track{position:relative;height:100%;transition-property:transform}.van-pull-refresh__head{position:absolute;left:0;width:100%;height:var(--van-pull-refresh-head-height);overflow:hidden;color:var(--van-pull-refresh-head-text-color);font-size:var(--van-pull-refresh-head-font-size);line-height:var(--van-pull-refresh-head-height);text-align:center;transform:translateY(-100%)}.van-pull-refresh__loading .van-loading__spinner{width:var(--van-pull-refresh-loading-icon-size);height:var(--van-pull-refresh-loading-icon-size)}:root{--van-number-keyboard-background: var(--van-gray-2);--van-number-keyboard-key-height: 48px;--van-number-keyboard-key-font-size: 28px;--van-number-keyboard-key-active-color: var(--van-gray-3);--van-number-keyboard-key-background: var(--van-background-2);--van-number-keyboard-delete-font-size: var(--van-font-size-lg);--van-number-keyboard-title-color: var(--van-gray-7);--van-number-keyboard-title-height: 34px;--van-number-keyboard-title-font-size: var(--van-font-size-lg);--van-number-keyboard-close-padding: 0 var(--van-padding-md);--van-number-keyboard-close-color: var(--van-primary-color);--van-number-keyboard-close-font-size: var(--van-font-size-md);--van-number-keyboard-button-text-color: var(--van-white);--van-number-keyboard-button-background: var(--van-primary-color);--van-number-keyboard-z-index: 100}.van-theme-dark{--van-number-keyboard-background: var(--van-gray-8);--van-number-keyboard-key-background: var(--van-gray-7);--van-number-keyboard-key-active-color: var(--van-gray-6)}.van-number-keyboard{position:fixed;bottom:0;left:0;z-index:var(--van-number-keyboard-z-index);width:100%;padding-bottom:22px;background:var(--van-number-keyboard-background);-webkit-user-select:none;user-select:none}.van-number-keyboard--with-title{border-radius:20px 20px 0 0}.van-number-keyboard__header{position:relative;display:flex;align-items:center;justify-content:center;box-sizing:content-box;height:var(--van-number-keyboard-title-height);padding-top:6px;color:var(--van-number-keyboard-title-color);font-size:var(--van-number-keyboard-title-font-size)}.van-number-keyboard__title{display:inline-block;font-weight:400}.van-number-keyboard__title-left{position:absolute;left:0}.van-number-keyboard__body{display:flex;padding:6px 0 0 6px}.van-number-keyboard__keys{display:flex;flex:3;flex-wrap:wrap}.van-number-keyboard__close{position:absolute;right:0;height:100%;padding:var(--van-number-keyboard-close-padding);color:var(--van-number-keyboard-close-color);font-size:var(--van-number-keyboard-close-font-size);background-color:transparent;border:none}.van-number-keyboard__sidebar{display:flex;flex:1;flex-direction:column}.van-number-keyboard--unfit{padding-bottom:0}.van-key{display:flex;align-items:center;justify-content:center;height:var(--van-number-keyboard-key-height);font-size:var(--van-number-keyboard-key-font-size);line-height:1.5;background:var(--van-number-keyboard-key-background);border-radius:var(--van-radius-lg);cursor:pointer}.van-key--large{position:absolute;top:0;right:6px;bottom:6px;left:0;height:auto}.van-key--blue,.van-key--delete{font-size:var(--van-number-keyboard-delete-font-size)}.van-key--active{background-color:var(--van-number-keyboard-key-active-color)}.van-key--blue{color:var(--van-number-keyboard-button-text-color);background:var(--van-number-keyboard-button-background)}.van-key--blue.van-key--active{opacity:var(--van-active-opacity)}.van-key__wrapper{position:relative;flex:1;flex-basis:33%;box-sizing:border-box;padding:0 6px 6px 0}.van-key__wrapper--wider{flex-basis:66%}.van-key__delete-icon{width:32px;height:22px}.van-key__collapse-icon{width:30px;height:24px}.van-key__loading-icon{color:var(--van-number-keyboard-button-text-color)}:root{--van-list-text-color: var(--van-text-color-2);--van-list-text-font-size: var(--van-font-size-md);--van-list-text-line-height: 50px;--van-list-loading-icon-size: 16px}.van-list__loading,.van-list__finished-text,.van-list__error-text{color:var(--van-list-text-color);font-size:var(--van-list-text-font-size);line-height:var(--van-list-text-line-height);text-align:center}.van-list__placeholder{height:0;pointer-events:none}.van-list__loading-icon .van-loading__spinner{width:var(--van-list-loading-icon-size);height:var(--van-list-loading-icon-size)}:root{--van-switch-size: 26px;--van-switch-width:calc(1.8em + 4px);--van-switch-height:calc(1em + 4px);--van-switch-node-size: 1em;--van-switch-node-background: var(--van-white);--van-switch-node-shadow: 0 3px 1px 0 rgba(0, 0, 0, .05);--van-switch-background: rgba(120, 120, 128, .16);--van-switch-on-background: var(--van-primary-color);--van-switch-duration: var(--van-duration-base);--van-switch-disabled-opacity: var(--van-disabled-opacity)}.van-theme-dark{--van-switch-background: rgba(120, 120, 128, .32)}.van-switch{position:relative;display:inline-block;box-sizing:content-box;width:var(--van-switch-width);height:var(--van-switch-height);font-size:var(--van-switch-size);background:var(--van-switch-background);border-radius:var(--van-switch-node-size);cursor:pointer;transition:background-color var(--van-switch-duration)}.van-switch__node{position:absolute;top:2px;left:2px;width:var(--van-switch-node-size);height:var(--van-switch-node-size);font-size:inherit;background:var(--van-switch-node-background);border-radius:100%;box-shadow:var(--van-switch-node-shadow);transition:transform var(--van-switch-duration) cubic-bezier(.3,1.05,.4,1.05)}.van-switch__loading{top:25%;left:25%;width:50%;height:50%;line-height:1}.van-switch--on{background:var(--van-switch-on-background)}.van-switch--on .van-switch__node{transform:translate(calc(var(--van-switch-width) - var(--van-switch-node-size) - 4px))}.van-switch--on .van-switch__loading{color:var(--van-switch-on-background)}.van-switch--disabled{cursor:not-allowed;opacity:var(--van-switch-disabled-opacity)}.van-switch--loading{cursor:default}:root{--van-button-mini-height: 24px;--van-button-mini-padding: 0 var(--van-padding-base);--van-button-mini-font-size: var(--van-font-size-xs);--van-button-small-height: 32px;--van-button-small-padding: 0 var(--van-padding-xs);--van-button-small-font-size: var(--van-font-size-sm);--van-button-normal-padding: 0 15px;--van-button-normal-font-size: var(--van-font-size-md);--van-button-large-height: 50px;--van-button-default-height: 44px;--van-button-default-line-height: 1.2;--van-button-default-font-size: var(--van-font-size-lg);--van-button-default-color: var(--van-text-color);--van-button-default-background: var(--van-background-2);--van-button-default-border-color: var(--van-gray-4);--van-button-primary-color: var(--van-white);--van-button-primary-background: var(--van-primary-color);--van-button-primary-border-color: var(--van-primary-color);--van-button-success-color: var(--van-white);--van-button-success-background: var(--van-success-color);--van-button-success-border-color: var(--van-success-color);--van-button-danger-color: var(--van-white);--van-button-danger-background: var(--van-danger-color);--van-button-danger-border-color: var(--van-danger-color);--van-button-warning-color: var(--van-white);--van-button-warning-background: var(--van-warning-color);--van-button-warning-border-color: var(--van-warning-color);--van-button-border-width: var(--van-border-width);--van-button-radius: var(--van-radius-md);--van-button-round-radius: var(--van-radius-max);--van-button-plain-background: var(--van-white);--van-button-disabled-opacity: var(--van-disabled-opacity);--van-button-icon-size: 1.2em;--van-button-loading-icon-size: 20px}.van-theme-dark{--van-button-plain-background: transparent}.van-button{position:relative;display:inline-block;box-sizing:border-box;height:var(--van-button-default-height);margin:0;padding:0;font-size:var(--van-button-default-font-size);line-height:var(--van-button-default-line-height);text-align:center;border-radius:var(--van-button-radius);cursor:pointer;transition:opacity var(--van-duration-fast);-webkit-appearance:none;-webkit-font-smoothing:auto}.van-button:before{position:absolute;top:50%;left:50%;width:100%;height:100%;background:var(--van-black);border:inherit;border-color:var(--van-black);border-radius:inherit;transform:translate(-50%,-50%);opacity:0;content:" "}.van-button:active:before{opacity:.1}.van-button--loading:before,.van-button--disabled:before{display:none}.van-button--default{color:var(--van-button-default-color);background:var(--van-button-default-background);border:var(--van-button-border-width) solid var(--van-button-default-border-color)}.van-button--primary{color:var(--van-button-primary-color);background:var(--van-button-primary-background);border:var(--van-button-border-width) solid var(--van-button-primary-border-color)}.van-button--success{color:var(--van-button-success-color);background:var(--van-button-success-background);border:var(--van-button-border-width) solid var(--van-button-success-border-color)}.van-button--danger{color:var(--van-button-danger-color);background:var(--van-button-danger-background);border:var(--van-button-border-width) solid var(--van-button-danger-border-color)}.van-button--warning{color:var(--van-button-warning-color);background:var(--van-button-warning-background);border:var(--van-button-border-width) solid var(--van-button-warning-border-color)}.van-button--plain{background:var(--van-button-plain-background)}.van-button--plain.van-button--primary{color:var(--van-button-primary-background)}.van-button--plain.van-button--success{color:var(--van-button-success-background)}.van-button--plain.van-button--danger{color:var(--van-button-danger-background)}.van-button--plain.van-button--warning{color:var(--van-button-warning-background)}.van-button--large{width:100%;height:var(--van-button-large-height)}.van-button--normal{padding:var(--van-button-normal-padding);font-size:var(--van-button-normal-font-size)}.van-button--small{height:var(--van-button-small-height);padding:var(--van-button-small-padding);font-size:var(--van-button-small-font-size)}.van-button__loading{color:inherit;font-size:inherit}.van-button__loading .van-loading__spinner{color:currentColor;width:var(--van-button-loading-icon-size);height:var(--van-button-loading-icon-size)}.van-button--mini{height:var(--van-button-mini-height);padding:var(--van-button-mini-padding);font-size:var(--van-button-mini-font-size)}.van-button--mini+.van-button--mini{margin-left:var(--van-padding-base)}.van-button--block{display:block;width:100%}.van-button--disabled{cursor:not-allowed;opacity:var(--van-button-disabled-opacity)}.van-button--loading{cursor:default}.van-button--round{border-radius:var(--van-button-round-radius)}.van-button--square{border-radius:0}.van-button__content{display:flex;align-items:center;justify-content:center;height:100%}.van-button__content:before{content:" "}.van-button__icon{font-size:var(--van-button-icon-size);line-height:inherit}.van-button__icon+.van-button__text,.van-button__loading+.van-button__text,.van-button__text+.van-button__icon,.van-button__text+.van-button__loading{margin-left:var(--van-padding-base)}.van-button--hairline{border-width:0}.van-button--hairline:after{border-color:inherit;border-radius:calc(var(--van-button-radius) * 2)}.van-button--hairline.van-button--round:after{border-radius:var(--van-button-round-radius)}.van-button--hairline.van-button--square:after{border-radius:0}:root{--van-submit-bar-height: 50px;--van-submit-bar-z-index: 100;--van-submit-bar-background: var(--van-background-2);--van-submit-bar-button-width: 110px;--van-submit-bar-price-color: var(--van-danger-color);--van-submit-bar-price-font-size: var(--van-font-size-sm);--van-submit-bar-price-integer-font-size: 20px;--van-submit-bar-price-font: var(--van-price-font);--van-submit-bar-text-color: var(--van-text-color);--van-submit-bar-text-font-size: var(--van-font-size-md);--van-submit-bar-tip-padding: var(--van-padding-xs) var(--van-padding-sm);--van-submit-bar-tip-font-size: var(--van-font-size-sm);--van-submit-bar-tip-line-height: 1.5;--van-submit-bar-tip-color: var(--van-orange-dark);--van-submit-bar-tip-background: var(--van-orange-light);--van-submit-bar-tip-icon-size: 12px;--van-submit-bar-button-height: 40px;--van-submit-bar-padding: 0 var(--van-padding-md)}.van-submit-bar{position:fixed;bottom:0;left:0;z-index:var(--van-submit-bar-z-index);width:100%;background:var(--van-submit-bar-background);-webkit-user-select:none;user-select:none}.van-submit-bar__tip{padding:var(--van-submit-bar-tip-padding);color:var(--van-submit-bar-tip-color);font-size:var(--van-submit-bar-tip-font-size);line-height:var(--van-submit-bar-tip-line-height);background:var(--van-submit-bar-tip-background)}.van-submit-bar__tip-icon{margin-right:var(--van-padding-base);font-size:var(--van-submit-bar-tip-icon-size);vertical-align:middle}.van-submit-bar__tip-text{vertical-align:middle}.van-submit-bar__bar{display:flex;align-items:center;justify-content:flex-end;height:var(--van-submit-bar-height);padding:var(--van-submit-bar-padding);font-size:var(--van-submit-bar-text-font-size)}.van-submit-bar__text{flex:1;padding-right:var(--van-padding-sm);color:var(--van-submit-bar-text-color);text-align:right}.van-submit-bar__text span{display:inline-block}.van-submit-bar__suffix-label{margin-left:var(--van-padding-base);font-weight:var(--van-font-bold)}.van-submit-bar__price{color:var(--van-submit-bar-price-color);font-weight:var(--van-font-bold);font-size:var(--van-submit-bar-price-font-size);margin-left:var(--van-padding-base)}.van-submit-bar__price-integer{font-size:var(--van-submit-bar-price-integer-font-size);font-family:var(--van-submit-bar-price-font)}.van-submit-bar__button{width:var(--van-submit-bar-button-width);height:var(--van-submit-bar-button-height);font-weight:var(--van-font-bold);border:none}.van-submit-bar__button--danger{background:var(--van-gradient-red)}:root{--van-signature-padding: var(--van-padding-xs);--van-signature-content-height: 200px;--van-signature-content-background: var(--van-background-2);--van-signature-content-border: 1px dotted #dadada}.van-signature{padding:var(--van-signature-padding)}.van-signature__content{display:flex;justify-content:center;align-items:center;height:var(--van-signature-content-height);background-color:var(--van-signature-content-background);border:var(--van-signature-content-border);border-radius:var(--van-radius-lg);overflow:hidden}.van-signature__content canvas{width:100%;height:100%}.van-signature__footer{display:flex;justify-content:flex-end}.van-signature__footer .van-button{padding:0 var(--van-padding-md);margin-top:var(--van-padding-xs);margin-left:var(--van-padding-xs)}:root{--van-contact-edit-padding: var(--van-padding-md);--van-contact-edit-fields-radius: var(--van-radius-md);--van-contact-edit-buttons-padding: var(--van-padding-xl) 0;--van-contact-edit-button-margin-bottom: var(--van-padding-sm);--van-contact-edit-button-font-size: var(--van-font-size-lg);--van-contact-edit-field-label-width: 4.1em}.van-contact-edit{padding:var(--van-contact-edit-padding)}.van-contact-edit__fields{overflow:hidden;border-radius:var(--van-contact-edit-fields-radius)}.van-contact-edit__fields .van-field__label{width:var(--van-contact-edit-field-label-width)}.van-contact-edit__switch-cell{margin-top:10px;padding-top:9px;padding-bottom:9px;border-radius:var(--van-contact-edit-fields-radius)}.van-contact-edit__buttons{padding:var(--van-contact-edit-buttons-padding)}.van-contact-edit__button{margin-bottom:var(--van-contact-edit-button-margin-bottom);font-size:var(--van-contact-edit-button-font-size)}:root{--van-action-bar-button-height: 40px;--van-action-bar-button-warning-color: var(--van-gradient-orange);--van-action-bar-button-danger-color: var(--van-gradient-red)}.van-action-bar-button{flex:1;height:var(--van-action-bar-button-height);font-weight:var(--van-font-bold);font-size:var(--van-font-size-md);border:none;border-radius:0}.van-action-bar-button--first{margin-left:5px;border-top-left-radius:var(--van-radius-max);border-bottom-left-radius:var(--van-radius-max)}.van-action-bar-button--last{margin-right:5px;border-top-right-radius:var(--van-radius-max);border-bottom-right-radius:var(--van-radius-max)}.van-action-bar-button--warning{background:var(--van-action-bar-button-warning-color)}.van-action-bar-button--danger{background:var(--van-action-bar-button-danger-color)}@media (max-width: 321px){.van-action-bar-button{font-size:13px}}:root{--van-overlay-z-index: 1;--van-overlay-background: rgba(0, 0, 0, .7)}.van-overlay{position:fixed;top:0;left:0;z-index:var(--van-overlay-z-index);width:100%;height:100%;background:var(--van-overlay-background)}:root{--van-popup-background: var(--van-background-2);--van-popup-transition: transform var(--van-duration-base);--van-popup-round-radius: 16px;--van-popup-close-icon-size: 22px;--van-popup-close-icon-color: var(--van-gray-5);--van-popup-close-icon-margin: 16px;--van-popup-close-icon-z-index: 1}.van-overflow-hidden{overflow:hidden!important}.van-popup{position:fixed;max-height:100%;overflow-y:auto;box-sizing:border-box;background:var(--van-popup-background);transition:var(--van-popup-transition);-webkit-overflow-scrolling:touch}.van-popup--center{top:50%;left:0;right:0;width:-webkit-fit-content;width:fit-content;max-width:calc(100vw - var(--van-padding-md) * 2);margin:0 auto;transform:translateY(-50%)}.van-popup--center.van-popup--round{border-radius:var(--van-popup-round-radius)}.van-popup--top{top:0;left:0;width:100%}.van-popup--top.van-popup--round{border-radius:0 0 var(--van-popup-round-radius) var(--van-popup-round-radius)}.van-popup--right{top:50%;right:0;transform:translate3d(0,-50%,0)}.van-popup--right.van-popup--round{border-radius:var(--van-popup-round-radius) 0 0 var(--van-popup-round-radius)}.van-popup--bottom{bottom:0;left:0;width:100%}.van-popup--bottom.van-popup--round{border-radius:var(--van-popup-round-radius) var(--van-popup-round-radius) 0 0}.van-popup--left{top:50%;left:0;transform:translate3d(0,-50%,0)}.van-popup--left.van-popup--round{border-radius:0 var(--van-popup-round-radius) var(--van-popup-round-radius) 0}.van-popup-slide-top-enter-active,.van-popup-slide-left-enter-active,.van-popup-slide-right-enter-active,.van-popup-slide-bottom-enter-active{transition-timing-function:var(--van-ease-out)}.van-popup-slide-top-leave-active,.van-popup-slide-left-leave-active,.van-popup-slide-right-leave-active,.van-popup-slide-bottom-leave-active{transition-timing-function:var(--van-ease-in)}.van-popup-slide-top-enter-from,.van-popup-slide-top-leave-active{transform:translate3d(0,-100%,0)}.van-popup-slide-right-enter-from,.van-popup-slide-right-leave-active{transform:translate3d(100%,-50%,0)}.van-popup-slide-bottom-enter-from,.van-popup-slide-bottom-leave-active{transform:translate3d(0,100%,0)}.van-popup-slide-left-enter-from,.van-popup-slide-left-leave-active{transform:translate3d(-100%,-50%,0)}.van-popup__close-icon{position:absolute;z-index:var(--van-popup-close-icon-z-index);color:var(--van-popup-close-icon-color);font-size:var(--van-popup-close-icon-size)}.van-popup__close-icon--top-left{top:var(--van-popup-close-icon-margin);left:var(--van-popup-close-icon-margin)}.van-popup__close-icon--top-right{top:var(--van-popup-close-icon-margin);right:var(--van-popup-close-icon-margin)}.van-popup__close-icon--bottom-left{bottom:var(--van-popup-close-icon-margin);left:var(--van-popup-close-icon-margin)}.van-popup__close-icon--bottom-right{right:var(--van-popup-close-icon-margin);bottom:var(--van-popup-close-icon-margin)}:root{--van-share-sheet-header-padding: var(--van-padding-sm) var(--van-padding-md);--van-share-sheet-title-color: var(--van-text-color);--van-share-sheet-title-font-size: var(--van-font-size-md);--van-share-sheet-title-line-height: var(--van-line-height-md);--van-share-sheet-description-color: var(--van-text-color-2);--van-share-sheet-description-font-size: var(--van-font-size-sm);--van-share-sheet-description-line-height: 16px;--van-share-sheet-icon-size: 48px;--van-share-sheet-option-name-color: var(--van-gray-7);--van-share-sheet-option-name-font-size: var(--van-font-size-sm);--van-share-sheet-option-description-color: var(--van-text-color-3);--van-share-sheet-option-description-font-size: var(--van-font-size-sm);--van-share-sheet-cancel-button-font-size: var(--van-font-size-lg);--van-share-sheet-cancel-button-height: 48px;--van-share-sheet-cancel-button-background: var(--van-background-2)}.van-share-sheet__header{padding:var(--van-share-sheet-header-padding);text-align:center}.van-share-sheet__title{margin-top:var(--van-padding-xs);color:var(--van-share-sheet-title-color);font-weight:400;font-size:var(--van-share-sheet-title-font-size);line-height:var(--van-share-sheet-title-line-height)}.van-share-sheet__description{display:block;margin-top:var(--van-padding-xs);color:var(--van-share-sheet-description-color);font-size:var(--van-share-sheet-description-font-size);line-height:var(--van-share-sheet-description-line-height)}.van-share-sheet__options{position:relative;display:flex;padding:var(--van-padding-md) 0 var(--van-padding-md) var(--van-padding-xs);overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch}.van-share-sheet__options--border:before{position:absolute;box-sizing:border-box;content:" ";pointer-events:none;top:0;right:0;left:var(--van-padding-md);border-top:1px solid var(--van-border-color);transform:scaleY(.5)}.van-share-sheet__options::-webkit-scrollbar{height:0}.van-share-sheet__option{display:flex;flex-direction:column;align-items:center;-webkit-user-select:none;user-select:none}.van-share-sheet__icon,.van-share-sheet__image-icon{width:var(--van-share-sheet-icon-size);height:var(--van-share-sheet-icon-size);margin:0 var(--van-padding-md)}.van-share-sheet__icon{display:flex;align-items:center;justify-content:center;color:var(--van-gray-7);border-radius:100%;background-color:var(--van-gray-2)}.van-share-sheet__icon--link,.van-share-sheet__icon--poster,.van-share-sheet__icon--qrcode{font-size:26px}.van-share-sheet__icon--weapp-qrcode{font-size:28px}.van-share-sheet__icon--qq,.van-share-sheet__icon--weibo,.van-share-sheet__icon--wechat,.van-share-sheet__icon--wechat-moments{font-size:30px;color:var(--van-white)}.van-share-sheet__icon--qq{background-color:#38b9fa}.van-share-sheet__icon--wechat{background-color:#0bc15f}.van-share-sheet__icon--weibo{background-color:#ee575e}.van-share-sheet__icon--wechat-moments{background-color:#7bc845}.van-share-sheet__name{margin-top:var(--van-padding-xs);padding:0 var(--van-padding-base);color:var(--van-share-sheet-option-name-color);font-size:var(--van-share-sheet-option-name-font-size)}.van-share-sheet__option-description{padding:0 var(--van-padding-base);color:var(--van-share-sheet-option-description-color);font-size:var(--van-share-sheet-option-description-font-size)}.van-share-sheet__cancel{display:block;width:100%;padding:0;font-size:var(--van-share-sheet-cancel-button-font-size);line-height:var(--van-share-sheet-cancel-button-height);text-align:center;background:var(--van-share-sheet-cancel-button-background);border:none;cursor:pointer}.van-share-sheet__cancel:before{display:block;height:var(--van-padding-xs);background-color:var(--van-background);content:" "}.van-share-sheet__cancel:active{background-color:var(--van-active-color)}:root{--van-popover-arrow-size: 6px;--van-popover-radius: var(--van-radius-lg);--van-popover-action-width: 128px;--van-popover-action-height: 44px;--van-popover-action-font-size: var(--van-font-size-md);--van-popover-action-line-height: var(--van-line-height-md);--van-popover-action-icon-size: 20px;--van-popover-horizontal-action-height: 34px;--van-popover-horizontal-action-icon-size: 16px;--van-popover-light-text-color: var(--van-text-color);--van-popover-light-background: var(--van-background-2);--van-popover-light-action-disabled-text-color: var(--van-text-color-3);--van-popover-dark-text-color: var(--van-white);--van-popover-dark-background: #4a4a4a;--van-popover-dark-action-disabled-text-color: var(--van-text-color-2)}.van-popover{position:absolute;overflow:visible;background-color:transparent;transition:opacity .15s,transform .15s}.van-popover__wrapper{display:inline-block}.van-popover__arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid;border-width:var(--van-popover-arrow-size)}.van-popover__content{overflow:hidden;border-radius:var(--van-popover-radius)}.van-popover__content--horizontal{display:flex;width:-webkit-max-content;width:max-content}.van-popover__content--horizontal .van-popover__action{flex:none;width:auto;height:var(--van-popover-horizontal-action-height);padding:0 var(--van-padding-sm)}.van-popover__content--horizontal .van-popover__action:last-child:after{display:none}.van-popover__content--horizontal .van-popover__action-icon{margin-right:var(--van-padding-base);font-size:var(--van-popover-horizontal-action-icon-size)}.van-popover__action{position:relative;display:flex;align-items:center;box-sizing:border-box;width:var(--van-popover-action-width);height:var(--van-popover-action-height);padding:0 var(--van-padding-md);font-size:var(--van-popover-action-font-size);line-height:var(--van-line-height-md);cursor:pointer}.van-popover__action:last-child .van-popover__action-text:after{display:none}.van-popover__action-text{display:flex;flex:1;align-items:center;justify-content:center;height:100%}.van-popover__action-icon{margin-right:var(--van-padding-xs);font-size:var(--van-popover-action-icon-size)}.van-popover__action--with-icon .van-popover__action-text{justify-content:flex-start}.van-popover[data-popper-placement^=top] .van-popover__arrow{bottom:0;border-top-color:currentColor;border-bottom-width:0;margin-bottom:calc(var(--van-popover-arrow-size) * -1)}.van-popover[data-popper-placement=top]{transform-origin:50% 100%}.van-popover[data-popper-placement=top] .van-popover__arrow{left:50%;transform:translate(-50%)}.van-popover[data-popper-placement=top-start]{transform-origin:0 100%}.van-popover[data-popper-placement=top-start] .van-popover__arrow{left:var(--van-padding-md)}.van-popover[data-popper-placement=top-end]{transform-origin:100% 100%}.van-popover[data-popper-placement=top-end] .van-popover__arrow{right:var(--van-padding-md)}.van-popover[data-popper-placement^=left] .van-popover__arrow{right:0;border-right-width:0;border-left-color:currentColor;margin-right:calc(var(--van-popover-arrow-size) * -1)}.van-popover[data-popper-placement=left]{transform-origin:100% 50%}.van-popover[data-popper-placement=left] .van-popover__arrow{top:50%;transform:translateY(-50%)}.van-popover[data-popper-placement=left-start]{transform-origin:100% 0}.van-popover[data-popper-placement=left-start] .van-popover__arrow{top:var(--van-padding-md)}.van-popover[data-popper-placement=left-end]{transform-origin:100% 100%}.van-popover[data-popper-placement=left-end] .van-popover__arrow{bottom:var(--van-padding-md)}.van-popover[data-popper-placement^=right] .van-popover__arrow{left:0;border-right-color:currentColor;border-left-width:0;margin-left:calc(var(--van-popover-arrow-size) * -1)}.van-popover[data-popper-placement=right]{transform-origin:0 50%}.van-popover[data-popper-placement=right] .van-popover__arrow{top:50%;transform:translateY(-50%)}.van-popover[data-popper-placement=right-start]{transform-origin:0 0}.van-popover[data-popper-placement=right-start] .van-popover__arrow{top:var(--van-padding-md)}.van-popover[data-popper-placement=right-end]{transform-origin:0 100%}.van-popover[data-popper-placement=right-end] .van-popover__arrow{bottom:var(--van-padding-md)}.van-popover[data-popper-placement^=bottom] .van-popover__arrow{top:0;border-top-width:0;border-bottom-color:currentColor;margin-top:calc(var(--van-popover-arrow-size) * -1)}.van-popover[data-popper-placement=bottom]{transform-origin:50% 0}.van-popover[data-popper-placement=bottom] .van-popover__arrow{left:50%;transform:translate(-50%)}.van-popover[data-popper-placement=bottom-start]{transform-origin:0 0}.van-popover[data-popper-placement=bottom-start] .van-popover__arrow{left:var(--van-padding-md)}.van-popover[data-popper-placement=bottom-end]{transform-origin:100% 0}.van-popover[data-popper-placement=bottom-end] .van-popover__arrow{right:var(--van-padding-md)}.van-popover--light{color:var(--van-popover-light-text-color)}.van-popover--light .van-popover__content{background:var(--van-popover-light-background);box-shadow:0 2px 12px #3232331f}.van-popover--light .van-popover__arrow{color:var(--van-popover-light-background)}.van-popover--light .van-popover__action:active{background-color:var(--van-active-color)}.van-popover--light .van-popover__action--disabled{color:var(--van-popover-light-action-disabled-text-color);cursor:not-allowed}.van-popover--light .van-popover__action--disabled:active{background-color:transparent}.van-popover--dark{color:var(--van-popover-dark-text-color)}.van-popover--dark .van-popover__content{background:var(--van-popover-dark-background)}.van-popover--dark .van-popover__arrow{color:var(--van-popover-dark-background)}.van-popover--dark .van-popover__action:active{background-color:#0003}.van-popover--dark .van-popover__action--disabled{color:var(--van-popover-dark-action-disabled-text-color)}.van-popover--dark .van-popover__action--disabled:active{background-color:transparent}.van-popover--dark .van-popover__action-text:after{border-color:var(--van-gray-7)}.van-popover-zoom-enter-from,.van-popover-zoom-leave-active{transform:scale(.8);opacity:0}.van-popover-zoom-enter-active{transition-timing-function:var(--van-ease-out)}.van-popover-zoom-leave-active{transition-timing-function:var(--van-ease-in)}:root{--van-notify-text-color: var(--van-white);--van-notify-padding: var(--van-padding-xs) var(--van-padding-md);--van-notify-font-size: var(--van-font-size-md);--van-notify-line-height: var(--van-line-height-md);--van-notify-primary-background: var(--van-primary-color);--van-notify-success-background: var(--van-success-color);--van-notify-danger-background: var(--van-danger-color);--van-notify-warning-background: var(--van-warning-color)}.van-notify{display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding:var(--van-notify-padding);color:var(--van-notify-text-color);font-size:var(--van-notify-font-size);line-height:var(--van-notify-line-height);white-space:pre-wrap;text-align:center;word-wrap:break-word}.van-notify--primary{background:var(--van-notify-primary-background)}.van-notify--success{background:var(--van-notify-success-background)}.van-notify--danger{background:var(--van-notify-danger-background)}.van-notify--warning{background:var(--van-notify-warning-background)}:root{--van-dialog-width: 320px;--van-dialog-small-screen-width: 90%;--van-dialog-font-size: var(--van-font-size-lg);--van-dialog-transition: var(--van-duration-base);--van-dialog-radius: 16px;--van-dialog-background: var(--van-background-2);--van-dialog-header-font-weight: var(--van-font-bold);--van-dialog-header-line-height: 24px;--van-dialog-header-padding-top: 26px;--van-dialog-header-isolated-padding: var(--van-padding-lg) 0;--van-dialog-message-padding: var(--van-padding-lg);--van-dialog-message-font-size: var(--van-font-size-md);--van-dialog-message-line-height: var(--van-line-height-md);--van-dialog-message-max-height: 60vh;--van-dialog-has-title-message-text-color: var(--van-gray-7);--van-dialog-has-title-message-padding-top: var(--van-padding-xs);--van-dialog-button-height: 48px;--van-dialog-round-button-height: 36px;--van-dialog-confirm-button-text-color: var(--van-primary-color)}.van-dialog{top:45%;width:var(--van-dialog-width);overflow:hidden;font-size:var(--van-dialog-font-size);background:var(--van-dialog-background);border-radius:var(--van-dialog-radius);-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:var(--van-dialog-transition);transition-property:transform,opacity}@media (max-width: 321px){.van-dialog{width:var(--van-dialog-small-screen-width)}}.van-dialog__header{color:var(--van-text-color);padding-top:var(--van-dialog-header-padding-top);font-weight:var(--van-dialog-header-font-weight);line-height:var(--van-dialog-header-line-height);text-align:center}.van-dialog__header--isolated{padding:var(--van-dialog-header-isolated-padding)}.van-dialog__content--isolated{display:flex;align-items:center;min-height:104px}.van-dialog__message{color:var(--van-text-color);flex:1;max-height:var(--van-dialog-message-max-height);padding:26px var(--van-dialog-message-padding);overflow-y:auto;font-size:var(--van-dialog-message-font-size);line-height:var(--van-dialog-message-line-height);white-space:pre-wrap;text-align:center;word-wrap:break-word;-webkit-overflow-scrolling:touch}.van-dialog__message--has-title{padding-top:var(--van-dialog-has-title-message-padding-top);color:var(--van-dialog-has-title-message-text-color)}.van-dialog__message--left{text-align:left}.van-dialog__message--right{text-align:right}.van-dialog__message--justify{text-align:justify}.van-dialog__footer{display:flex;overflow:hidden;-webkit-user-select:none;user-select:none}.van-dialog__confirm,.van-dialog__cancel{flex:1;height:var(--van-dialog-button-height);margin:0;border:0;border-radius:0}.van-dialog__confirm,.van-dialog__confirm:active{color:var(--van-dialog-confirm-button-text-color)}.van-dialog--round-button .van-dialog__footer{position:relative;height:auto;padding:var(--van-padding-xs) var(--van-padding-lg) var(--van-padding-md)}.van-dialog--round-button .van-dialog__message{padding-bottom:var(--van-padding-md);color:var(--van-text-color)}.van-dialog--round-button .van-dialog__confirm,.van-dialog--round-button .van-dialog__cancel{height:var(--van-dialog-round-button-height)}.van-dialog--round-button .van-dialog__confirm{color:var(--van-white)}.van-dialog--round-button .van-action-bar-button--first{border-top-left-radius:var(--van-radius-max);border-bottom-left-radius:var(--van-radius-max)}.van-dialog--round-button .van-action-bar-button--last{border-top-right-radius:var(--van-radius-max);border-bottom-right-radius:var(--van-radius-max)}.van-dialog-bounce-enter-from{transform:translate3d(0,-50%,0) scale(.7);opacity:0}.van-dialog-bounce-leave-active{transform:translate3d(0,-50%,0) scale(.9);opacity:0}:root{--van-toast-max-width: 70%;--van-toast-font-size: var(--van-font-size-md);--van-toast-text-color: var(--van-white);--van-toast-loading-icon-color: var(--van-white);--van-toast-line-height: var(--van-line-height-md);--van-toast-radius: var(--van-radius-lg);--van-toast-background: rgba(0, 0, 0, .7);--van-toast-icon-size: 36px;--van-toast-text-min-width: 96px;--van-toast-text-padding: var(--van-padding-xs) var(--van-padding-sm);--van-toast-default-padding: var(--van-padding-md);--van-toast-default-width: 88px;--van-toast-default-min-height: 88px;--van-toast-position-top-distance: 20%;--van-toast-position-bottom-distance: 20%}.van-toast{display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:content-box;transition:all var(--van-duration-fast);width:var(--van-toast-default-width);max-width:var(--van-toast-max-width);min-height:var(--van-toast-default-min-height);padding:var(--van-toast-default-padding);color:var(--van-toast-text-color);font-size:var(--van-toast-font-size);line-height:var(--van-toast-line-height);white-space:pre-wrap;word-break:break-all;text-align:center;background:var(--van-toast-background);border-radius:var(--van-toast-radius)}.van-toast--break-normal{word-break:normal;word-wrap:normal}.van-toast--break-word{word-break:normal;word-wrap:break-word}.van-toast--unclickable{overflow:hidden;cursor:not-allowed}.van-toast--unclickable *{pointer-events:none}.van-toast--text,.van-toast--html{width:-webkit-fit-content;width:fit-content;min-width:var(--van-toast-text-min-width);min-height:0;padding:var(--van-toast-text-padding)}.van-toast--text .van-toast__text,.van-toast--html .van-toast__text{margin-top:0}.van-toast--top{top:var(--van-toast-position-top-distance)}.van-toast--bottom{top:auto;bottom:var(--van-toast-position-bottom-distance)}.van-toast__icon{font-size:var(--van-toast-icon-size)}.van-toast__loading{padding:var(--van-padding-base);color:var(--van-toast-loading-icon-color)}.van-toast__text{margin-top:var(--van-padding-xs)}:root{--van-action-sheet-max-height: 80%;--van-action-sheet-header-height: 48px;--van-action-sheet-header-font-size: var(--van-font-size-lg);--van-action-sheet-description-color: var(--van-text-color-2);--van-action-sheet-description-font-size: var(--van-font-size-md);--van-action-sheet-description-line-height: var(--van-line-height-md);--van-action-sheet-item-background: var(--van-background-2);--van-action-sheet-item-font-size: var(--van-font-size-lg);--van-action-sheet-item-line-height: var(--van-line-height-lg);--van-action-sheet-item-text-color: var(--van-text-color);--van-action-sheet-item-disabled-text-color: var(--van-text-color-3);--van-action-sheet-subname-color: var(--van-text-color-2);--van-action-sheet-subname-font-size: var(--van-font-size-sm);--van-action-sheet-subname-line-height: var(--van-line-height-sm);--van-action-sheet-close-icon-size: 22px;--van-action-sheet-close-icon-color: var(--van-gray-5);--van-action-sheet-close-icon-padding: 0 var(--van-padding-md);--van-action-sheet-cancel-text-color: var(--van-gray-7);--van-action-sheet-cancel-padding-top: var(--van-padding-xs);--van-action-sheet-cancel-padding-color: var(--van-background);--van-action-sheet-loading-icon-size: 22px}.van-action-sheet{display:flex;flex-direction:column;max-height:var(--van-action-sheet-max-height);overflow:hidden;color:var(--van-action-sheet-item-text-color)}.van-action-sheet__content{flex:1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch}.van-action-sheet__item,.van-action-sheet__cancel{display:block;width:100%;padding:14px var(--van-padding-md);font-size:var(--van-action-sheet-item-font-size);background:var(--van-action-sheet-item-background);border:none;cursor:pointer}.van-action-sheet__item:active,.van-action-sheet__cancel:active{background-color:var(--van-active-color)}.van-action-sheet__item{line-height:var(--van-action-sheet-item-line-height)}.van-action-sheet__item--loading,.van-action-sheet__item--disabled{color:var(--van-action-sheet-item-disabled-text-color)}.van-action-sheet__item--loading:active,.van-action-sheet__item--disabled:active{background-color:var(--van-action-sheet-item-background)}.van-action-sheet__item--disabled{cursor:not-allowed}.van-action-sheet__item--loading{cursor:default}.van-action-sheet__cancel{flex-shrink:0;box-sizing:border-box;color:var(--van-action-sheet-cancel-text-color)}.van-action-sheet__subname{margin-top:var(--van-padding-xs);color:var(--van-action-sheet-subname-color);font-size:var(--van-action-sheet-subname-font-size);line-height:var(--van-action-sheet-subname-line-height)}.van-action-sheet__gap{display:block;height:var(--van-action-sheet-cancel-padding-top);background:var(--van-action-sheet-cancel-padding-color)}.van-action-sheet__header{flex-shrink:0;font-weight:var(--van-font-bold);font-size:var(--van-action-sheet-header-font-size);line-height:var(--van-action-sheet-header-height);text-align:center}.van-action-sheet__description{position:relative;flex-shrink:0;padding:20px var(--van-padding-md);color:var(--van-action-sheet-description-color);font-size:var(--van-action-sheet-description-font-size);line-height:var(--van-action-sheet-description-line-height);text-align:center}.van-action-sheet__description:after{position:absolute;box-sizing:border-box;content:" ";pointer-events:none;right:var(--van-padding-md);bottom:0;left:var(--van-padding-md);border-bottom:1px solid var(--van-border-color);transform:scaleY(.5)}.van-action-sheet__loading-icon .van-loading__spinner{width:var(--van-action-sheet-loading-icon-size);height:var(--van-action-sheet-loading-icon-size)}.van-action-sheet__close{position:absolute;top:0;right:0;z-index:1;padding:var(--van-action-sheet-close-icon-padding);color:var(--van-action-sheet-close-icon-color);font-size:var(--van-action-sheet-close-icon-size);line-height:inherit}:root{--van-sticky-z-index: 99}.van-sticky--fixed{position:fixed;z-index:var(--van-sticky-z-index)}:root{--van-swipe-indicator-size: 6px;--van-swipe-indicator-margin: var(--van-padding-sm);--van-swipe-indicator-active-opacity: 1;--van-swipe-indicator-inactive-opacity: .3;--van-swipe-indicator-active-background: var(--van-primary-color);--van-swipe-indicator-inactive-background: var(--van-border-color)}.van-swipe{position:relative;overflow:hidden;transform:translateZ(0);cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;user-select:none}.van-swipe__track{display:flex;height:100%;transition-property:transform}.van-swipe__track--vertical{flex-direction:column}.van-swipe__indicators{position:absolute;bottom:var(--van-swipe-indicator-margin);left:50%;display:flex;transform:translate(-50%)}.van-swipe__indicators--vertical{top:50%;bottom:auto;left:var(--van-swipe-indicator-margin);flex-direction:column;transform:translateY(-50%)}.van-swipe__indicators--vertical .van-swipe__indicator:not(:last-child){margin-bottom:var(--van-swipe-indicator-size)}.van-swipe__indicator{width:var(--van-swipe-indicator-size);height:var(--van-swipe-indicator-size);background-color:var(--van-swipe-indicator-inactive-background);border-radius:100%;opacity:var(--van-swipe-indicator-inactive-opacity);transition:opacity var(--van-duration-fast),background-color var(--van-duration-fast)}.van-swipe__indicator:not(:last-child){margin-right:var(--van-swipe-indicator-size)}.van-swipe__indicator--active{background-color:var(--van-swipe-indicator-active-background);opacity:var(--van-swipe-indicator-active-opacity)}.van-swipe-item{position:relative;flex-shrink:0;width:100%;height:100%}:root{--van-image-preview-index-text-color: var(--van-white);--van-image-preview-index-font-size: var(--van-font-size-md);--van-image-preview-index-line-height: var(--van-line-height-md);--van-image-preview-index-text-shadow: 0 1px 1px var(--van-gray-8);--van-image-preview-overlay-background: rgba(0, 0, 0, .9);--van-image-preview-close-icon-size: 22px;--van-image-preview-close-icon-color: var(--van-gray-5);--van-image-preview-close-icon-margin: var(--van-padding-md);--van-image-preview-close-icon-z-index: 1}.van-image-preview{position:fixed;top:0;left:0;width:100%;height:100%;max-width:none;background-color:transparent;transform:none}.van-image-preview__swipe{height:100%}.van-image-preview__swipe-item{display:flex;align-items:center;justify-content:center;overflow:hidden}.van-image-preview__cover{position:absolute;top:0;left:0}.van-image-preview__image,.van-image-preview__image-wrap{width:100%;transition-property:transform}.van-image-preview__image--vertical,.van-image-preview__image-wrap--vertical{width:auto;height:100%}.van-image-preview__image img,.van-image-preview__image-wrap img,.van-image-preview__image video,.van-image-preview__image-wrap video{-webkit-user-drag:none}.van-image-preview__image .van-image__error,.van-image-preview__image-wrap .van-image__error{top:30%;height:40%}.van-image-preview__image .van-image__error-icon,.van-image-preview__image-wrap .van-image__error-icon{font-size:36px}.van-image-preview__image .van-image__loading,.van-image-preview__image-wrap .van-image__loading{background-color:transparent}.van-image-preview__index{position:absolute;top:var(--van-padding-md);left:50%;color:var(--van-image-preview-index-text-color);font-size:var(--van-image-preview-index-font-size);line-height:var(--van-image-preview-index-line-height);text-shadow:var(--van-image-preview-index-text-shadow);transform:translate(-50%)}.van-image-preview__overlay{background:var(--van-image-preview-overlay-background)}.van-image-preview__close-icon{position:absolute;z-index:var(--van-image-preview-close-icon-z-index);color:var(--van-image-preview-close-icon-color);font-size:var(--van-image-preview-close-icon-size)}.van-image-preview__close-icon--top-left{top:var(--van-image-preview-close-icon-margin);left:var(--van-image-preview-close-icon-margin)}.van-image-preview__close-icon--top-right{top:var(--van-image-preview-close-icon-margin);right:var(--van-image-preview-close-icon-margin)}.van-image-preview__close-icon--bottom-left{bottom:var(--van-image-preview-close-icon-margin);left:var(--van-image-preview-close-icon-margin)}.van-image-preview__close-icon--bottom-right{right:var(--van-image-preview-close-icon-margin);bottom:var(--van-image-preview-close-icon-margin)}:root{--van-uploader-size: 80px;--van-uploader-icon-size: 24px;--van-uploader-icon-color: var(--van-gray-4);--van-uploader-text-color: var(--van-text-color-2);--van-uploader-text-font-size: var(--van-font-size-sm);--van-uploader-upload-background: var(--van-gray-1);--van-uploader-upload-active-color: var(--van-active-color);--van-uploader-delete-color: var(--van-white);--van-uploader-delete-icon-size: 14px;--van-uploader-delete-background: rgba(0, 0, 0, .7);--van-uploader-file-background: var(--van-background);--van-uploader-file-icon-size: 20px;--van-uploader-file-icon-color: var(--van-gray-7);--van-uploader-file-name-padding: 0 var(--van-padding-base);--van-uploader-file-name-margin-top: var(--van-padding-xs);--van-uploader-file-name-font-size: var(--van-font-size-sm);--van-uploader-file-name-text-color: var(--van-gray-7);--van-uploader-mask-text-color: var(--van-white);--van-uploader-mask-background: rgba(50, 50, 51, .88);--van-uploader-mask-icon-size: 22px;--van-uploader-mask-message-font-size: var(--van-font-size-sm);--van-uploader-mask-message-line-height: var(--van-line-height-xs);--van-uploader-loading-icon-size: 22px;--van-uploader-loading-icon-color: var(--van-white);--van-uploader-disabled-opacity: var(--van-disabled-opacity);--van-uploader-border-radius: 0px}.van-uploader{position:relative;display:inline-block}.van-uploader__wrapper{display:flex;flex-wrap:wrap}.van-uploader__wrapper--disabled{opacity:var(--van-uploader-disabled-opacity)}.van-uploader__input{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;cursor:pointer;opacity:0}.van-uploader__input-wrapper{position:relative}.van-uploader__input:disabled{cursor:not-allowed}.van-uploader__upload{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;width:var(--van-uploader-size);height:var(--van-uploader-size);margin:0 var(--van-padding-xs) var(--van-padding-xs) 0;background:var(--van-uploader-upload-background);border-radius:var(--van-uploader-border-radius)}.van-uploader__upload:active{background-color:var(--van-uploader-upload-active-color)}.van-uploader__upload--readonly:active{background-color:var(--van-uploader-upload-background)}.van-uploader__upload-icon{color:var(--van-uploader-icon-color);font-size:var(--van-uploader-icon-size)}.van-uploader__upload-text{margin-top:var(--van-padding-xs);color:var(--van-uploader-text-color);font-size:var(--van-uploader-text-font-size)}.van-uploader__preview{position:relative;margin:0 var(--van-padding-xs) var(--van-padding-xs) 0;cursor:pointer}.van-uploader__preview-image{display:block;width:var(--van-uploader-size);height:var(--van-uploader-size);overflow:hidden;border-radius:var(--van-uploader-border-radius)}.van-uploader__preview-delete{position:absolute;top:0;right:0}.van-uploader__preview-delete--shadow{width:var(--van-uploader-delete-icon-size);height:var(--van-uploader-delete-icon-size);background:var(--van-uploader-delete-background);border-radius:0 0 0 12px}.van-uploader__preview-delete-icon{position:absolute;top:0;right:0;color:var(--van-uploader-delete-color);font-size:var(--van-uploader-delete-icon-size);transform:scale(.7) translate(10%,-10%)}.van-uploader__preview-cover{position:absolute;top:0;right:0;bottom:0;left:0}.van-uploader__mask{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--van-uploader-mask-text-color);background:var(--van-uploader-mask-background);border-radius:var(--van-uploader-border-radius)}.van-uploader__mask-icon{font-size:var(--van-uploader-mask-icon-size)}.van-uploader__mask-message{margin-top:6px;padding:0 var(--van-padding-base);font-size:var(--van-uploader-mask-message-font-size);line-height:var(--van-uploader-mask-message-line-height)}.van-uploader__loading{width:var(--van-uploader-loading-icon-size);height:var(--van-uploader-loading-icon-size);color:var(--van-uploader-loading-icon-color)}.van-uploader__file{display:flex;flex-direction:column;align-items:center;justify-content:center;width:var(--van-uploader-size);height:var(--van-uploader-size);background:var(--van-uploader-file-background)}.van-uploader__file-icon{color:var(--van-uploader-file-icon-color);font-size:var(--van-uploader-file-icon-size)}.van-uploader__file-name{box-sizing:border-box;width:100%;margin-top:var(--van-uploader-file-name-margin-top);padding:var(--van-uploader-file-name-padding);color:var(--van-uploader-file-name-text-color);font-size:var(--van-uploader-file-name-font-size);text-align:center}:root{--van-tab-text-color: var(--van-gray-7);--van-tab-active-text-color: var(--van-text-color);--van-tab-disabled-text-color: var(--van-text-color-3);--van-tab-font-size: var(--van-font-size-md);--van-tab-line-height: var(--van-line-height-md);--van-tabs-default-color: var(--van-primary-color);--van-tabs-line-height: 44px;--van-tabs-card-height: 30px;--van-tabs-nav-background: var(--van-background-2);--van-tabs-bottom-bar-width: 40px;--van-tabs-bottom-bar-height: 3px;--van-tabs-bottom-bar-color: var(--van-primary-color)}.van-tab{position:relative;display:flex;flex:1;align-items:center;justify-content:center;box-sizing:border-box;padding:0 var(--van-padding-base);color:var(--van-tab-text-color);font-size:var(--van-tab-font-size);line-height:var(--van-tab-line-height);cursor:pointer}.van-tab--active{color:var(--van-tab-active-text-color);font-weight:var(--van-font-bold)}.van-tab--disabled{color:var(--van-tab-disabled-text-color);cursor:not-allowed}.van-tab--grow{flex:1 0 auto;padding:0 var(--van-padding-sm)}.van-tab--shrink{flex:none;padding:0 var(--van-padding-xs)}.van-tab--card{color:var(--van-tabs-default-color);border-right:var(--van-border-width) solid var(--van-tabs-default-color)}.van-tab--card:last-child{border-right:none}.van-tab--card.van-tab--active{color:var(--van-white);background-color:var(--van-tabs-default-color)}.van-tab--card--disabled{color:var(--van-tab-disabled-text-color)}.van-tab__text--ellipsis{display:-webkit-box;overflow:hidden;-webkit-line-clamp:1;-webkit-box-orient:vertical}.van-tabs{position:relative}.van-tabs__wrap{overflow:hidden}.van-tabs__wrap--page-top{position:fixed}.van-tabs__wrap--content-bottom{top:auto;bottom:0}.van-tabs__nav{position:relative;display:flex;background:var(--van-tabs-nav-background);-webkit-user-select:none;user-select:none}.van-tabs__nav--complete{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.van-tabs__nav--complete::-webkit-scrollbar{display:none}.van-tabs__nav--line{box-sizing:content-box;height:100%;padding-bottom:15px}.van-tabs__nav--line.van-tabs__nav--shrink,.van-tabs__nav--line.van-tabs__nav--complete{padding-right:var(--van-padding-xs);padding-left:var(--van-padding-xs)}.van-tabs__nav--card{box-sizing:border-box;height:var(--van-tabs-card-height);margin:0 var(--van-padding-md);border:var(--van-border-width) solid var(--van-tabs-default-color);border-radius:var(--van-border-radius-sm)}.van-tabs__nav--card.van-tabs__nav--shrink{display:inline-flex}.van-tabs__line{position:absolute;bottom:15px;left:0;z-index:1;width:var(--van-tabs-bottom-bar-width);height:var(--van-tabs-bottom-bar-height);background:var(--van-tabs-bottom-bar-color);border-radius:var(--van-tabs-bottom-bar-height)}.van-tabs__track{position:relative;display:flex;width:100%;height:100%;will-change:left}.van-tabs__content--animated{overflow:hidden}.van-tabs--line .van-tabs__wrap{height:var(--van-tabs-line-height)}.van-tabs--card>.van-tabs__wrap{height:var(--van-tabs-card-height)}.van-tab__panel,.van-tab__panel-wrapper{flex-shrink:0;box-sizing:border-box;width:100%}.van-tab__panel-wrapper--inactive{height:0;overflow:visible}:root{--van-cascader-header-height: 48px;--van-cascader-header-padding: 0 var(--van-padding-md);--van-cascader-title-font-size: var(--van-font-size-lg);--van-cascader-title-line-height: 20px;--van-cascader-close-icon-size: 22px;--van-cascader-close-icon-color: var(--van-gray-5);--van-cascader-selected-icon-size: 18px;--van-cascader-tabs-height: 48px;--van-cascader-active-color: var(--van-primary-color);--van-cascader-options-height: 384px;--van-cascader-option-disabled-color: var(--van-text-color-3);--van-cascader-tab-color: var(--van-text-color);--van-cascader-unselected-tab-color: var(--van-text-color-2)}.van-cascader__header{display:flex;align-items:center;justify-content:space-between;height:var(--van-cascader-header-height);padding:var(--van-cascader-header-padding)}.van-cascader__title{font-weight:var(--van-font-bold);font-size:var(--van-cascader-title-font-size);line-height:var(--van-cascader-title-line-height)}.van-cascader__close-icon{color:var(--van-cascader-close-icon-color);font-size:var(--van-cascader-close-icon-size)}.van-cascader__tabs.van-tabs--line .van-tabs__wrap{height:var(--van-cascader-tabs-height)}.van-cascader__tab{color:var(--van-cascader-tab-color);font-weight:var(--van-font-bold)}.van-cascader__tab--unselected{color:var(--van-cascader-unselected-tab-color);font-weight:400}.van-cascader__option{display:flex;align-items:center;justify-content:space-between;padding:10px var(--van-padding-md);font-size:var(--van-font-size-md);line-height:var(--van-line-height-md);cursor:pointer}.van-cascader__option:active{background-color:var(--van-active-color)}.van-cascader__option--selected{color:var(--van-cascader-active-color);font-weight:var(--van-font-bold)}.van-cascader__option--disabled{color:var(--van-cascader-option-disabled-color);cursor:not-allowed}.van-cascader__option--disabled:active{background-color:transparent}.van-cascader__selected-icon{font-size:var(--van-cascader-selected-icon-size)}.van-cascader__options{box-sizing:border-box;height:var(--van-cascader-options-height);padding-top:6px;overflow-y:auto;-webkit-overflow-scrolling:touch}:root{--van-picker-background: var(--van-background-2);--van-picker-toolbar-height: 44px;--van-picker-title-font-size: var(--van-font-size-lg);--van-picker-title-line-height: var(--van-line-height-md);--van-picker-action-padding: 0 var(--van-padding-md);--van-picker-action-font-size: var(--van-font-size-md);--van-picker-confirm-action-color: var(--van-primary-color);--van-picker-cancel-action-color: var(--van-text-color-2);--van-picker-option-font-size: var(--van-font-size-lg);--van-picker-option-padding: 0 var(--van-padding-base);--van-picker-option-text-color: var(--van-text-color);--van-picker-option-disabled-opacity: .3;--van-picker-loading-icon-color: var(--van-primary-color);--van-picker-loading-mask-color: rgba(255, 255, 255, .9);--van-picker-mask-color: linear-gradient(180deg, rgba(255, 255, 255, .9), rgba(255, 255, 255, .4)), linear-gradient(0deg, rgba(255, 255, 255, .9), rgba(255, 255, 255, .4))}.van-theme-dark{--van-picker-loading-mask-color: rgba(0, 0, 0, .6);--van-picker-mask-color: linear-gradient(180deg, rgba(0, 0, 0, .6), rgba(0, 0, 0, .1)), linear-gradient(0deg, rgba(0, 0, 0, .6), rgba(0, 0, 0, .1))}.van-picker{position:relative;background:var(--van-picker-background);-webkit-user-select:none;user-select:none}.van-picker__toolbar{position:relative;display:flex;align-items:center;justify-content:space-between;height:var(--van-picker-toolbar-height)}.van-picker__cancel,.van-picker__confirm{height:100%;padding:var(--van-picker-action-padding);font-size:var(--van-picker-action-font-size);background-color:transparent;border:none}.van-picker__confirm{color:var(--van-picker-confirm-action-color)}.van-picker__cancel{color:var(--van-picker-cancel-action-color)}.van-picker__title{position:absolute;left:50%;color:var(--van-text-color);max-width:50%;font-weight:var(--van-font-bold);font-size:var(--van-picker-title-font-size);line-height:var(--van-picker-title-line-height);text-align:center;transform:translate(-50%)}.van-picker__columns{position:relative;display:flex;cursor:-webkit-grab;cursor:grab}.van-picker__loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:flex;align-items:center;justify-content:center;color:var(--van-picker-loading-icon-color);background:var(--van-picker-loading-mask-color)}.van-picker__frame{position:absolute;top:50%;right:var(--van-padding-md);left:var(--van-padding-md);z-index:2;transform:translateY(-50%);pointer-events:none}.van-picker__mask{position:absolute;top:0;left:0;z-index:1;width:100%;height:100%;background-image:var(--van-picker-mask-color);background-repeat:no-repeat;background-position:top,bottom;transform:translateZ(0);pointer-events:none}.van-picker-column{flex:1;overflow:hidden;font-size:var(--van-picker-option-font-size)}.van-picker-column__wrapper{transition-timing-function:cubic-bezier(.23,1,.68,1)}.van-picker-column__item{display:flex;align-items:center;justify-content:center;padding:var(--van-picker-option-padding);color:var(--van-picker-option-text-color)}.van-picker-column__item--disabled{cursor:not-allowed;opacity:var(--van-picker-option-disabled-opacity)}:root{--van-picker-group-background: var(--van-background-2)}.van-picker-group{background:var(--van-picker-group-background)}.van-picker-group__tabs{margin-top:var(--van-padding-base)}.van-picker-group__tab-title{margin-right:16px}:root{--van-calendar-background: var(--van-background-2);--van-calendar-popup-height: 80%;--van-calendar-header-shadow: 0 2px 10px rgba(125, 126, 128, .16);--van-calendar-header-title-height: 44px;--van-calendar-header-title-font-size: var(--van-font-size-lg);--van-calendar-header-subtitle-font-size: var(--van-font-size-md);--van-calendar-weekdays-height: 30px;--van-calendar-weekdays-font-size: var(--van-font-size-sm);--van-calendar-month-title-font-size: var(--van-font-size-md);--van-calendar-month-mark-color: rgba(242, 243, 245, .8);--van-calendar-month-mark-font-size: 160px;--van-calendar-day-height: 64px;--van-calendar-day-font-size: var(--van-font-size-lg);--van-calendar-day-margin-bottom: 4px;--van-calendar-range-edge-color: var(--van-white);--van-calendar-range-edge-background: var(--van-primary-color);--van-calendar-range-middle-color: var(--van-primary-color);--van-calendar-range-middle-background-opacity: .1;--van-calendar-selected-day-size: 54px;--van-calendar-selected-day-color: var(--van-white);--van-calendar-info-font-size: var(--van-font-size-xs);--van-calendar-info-line-height: var(--van-line-height-xs);--van-calendar-selected-day-background: var(--van-primary-color);--van-calendar-day-disabled-color: var(--van-text-color-3);--van-calendar-confirm-button-height: 36px;--van-calendar-confirm-button-margin: 7px 0}.van-theme-dark{--van-calendar-month-mark-color: rgba(100, 101, 102, .2);--van-calendar-day-disabled-color: var(--van-gray-7)}.van-calendar{display:flex;flex-direction:column;height:100%;background:var(--van-calendar-background)}.van-calendar__popup.van-popup--top,.van-calendar__popup.van-popup--bottom{height:var(--van-calendar-popup-height)}.van-calendar__popup.van-popup--left,.van-calendar__popup.van-popup--right{height:100%}.van-calendar__popup .van-popup__close-icon{top:11px}.van-calendar__header{flex-shrink:0;box-shadow:var(--van-calendar-header-shadow)}.van-calendar__month-title,.van-calendar__header-title,.van-calendar__header-subtitle{color:var(--van-text-color);height:var(--van-calendar-header-title-height);font-weight:var(--van-font-bold);line-height:var(--van-calendar-header-title-height);text-align:center}.van-calendar__header-title{font-size:var(--van-calendar-header-title-font-size)}.van-calendar__header-subtitle{font-size:var(--van-calendar-header-subtitle-font-size)}.van-calendar__month-title{font-size:var(--van-calendar-month-title-font-size)}.van-calendar__weekdays{display:flex}.van-calendar__weekday{flex:1;font-size:var(--van-calendar-weekdays-font-size);line-height:var(--van-calendar-weekdays-height);text-align:center}.van-calendar__body{flex:1;overflow:auto;-webkit-overflow-scrolling:touch}.van-calendar__days{position:relative;display:flex;flex-wrap:wrap;-webkit-user-select:none;user-select:none}.van-calendar__month-mark{position:absolute;top:50%;left:50%;z-index:0;color:var(--van-calendar-month-mark-color);font-size:var(--van-calendar-month-mark-font-size);transform:translate(-50%,-50%);pointer-events:none}.van-calendar__day,.van-calendar__selected-day{display:flex;align-items:center;justify-content:center;text-align:center}.van-calendar__day{position:relative;width:14.285%;height:var(--van-calendar-day-height);font-size:var(--van-calendar-day-font-size);margin-bottom:var(--van-calendar-day-margin-bottom);cursor:pointer}.van-calendar__day--end,.van-calendar__day--start,.van-calendar__day--start-end,.van-calendar__day--multiple-middle,.van-calendar__day--multiple-selected{color:var(--van-calendar-range-edge-color);background:var(--van-calendar-range-edge-background)}.van-calendar__day--start{border-radius:var(--van-radius-md) 0 0 var(--van-radius-md)}.van-calendar__day--end{border-radius:0 var(--van-radius-md) var(--van-radius-md) 0}.van-calendar__day--start-end,.van-calendar__day--multiple-selected{border-radius:var(--van-radius-md)}.van-calendar__day--middle{color:var(--van-calendar-range-middle-color)}.van-calendar__day--middle:after{position:absolute;top:0;right:0;bottom:0;left:0;background-color:currentColor;opacity:var(--van-calendar-range-middle-background-opacity);content:""}.van-calendar__day--disabled{color:var(--van-calendar-day-disabled-color);cursor:default}.van-calendar__top-info,.van-calendar__bottom-info{position:absolute;right:0;left:0;font-size:var(--van-calendar-info-font-size);line-height:var(--van-calendar-info-line-height)}@media (max-width: 350px){.van-calendar__top-info,.van-calendar__bottom-info{font-size:9px}}.van-calendar__top-info{top:6px}.van-calendar__bottom-info{bottom:6px}.van-calendar__selected-day{width:var(--van-calendar-selected-day-size);height:var(--van-calendar-selected-day-size);color:var(--van-calendar-selected-day-color);background:var(--van-calendar-selected-day-background);border-radius:var(--van-radius-md)}.van-calendar__footer{flex-shrink:0;padding-left:var(--van-padding-md);padding-right:var(--van-padding-md)}.van-calendar__confirm{height:var(--van-calendar-confirm-button-height);margin:var(--van-calendar-confirm-button-margin)}:root{--van-address-edit-padding: var(--van-padding-sm);--van-address-edit-buttons-padding: var(--van-padding-xl) var(--van-padding-base);--van-address-edit-button-margin-bottom: var(--van-padding-sm);--van-address-edit-button-font-size: var(--van-font-size-lg)}.van-address-edit{padding:var(--van-address-edit-padding)}.van-address-edit__fields{overflow:hidden;border-radius:var(--van-padding-xs)}.van-address-edit__fields .van-field__label{width:4.1em}.van-address-edit__default{margin-top:var(--van-padding-sm);overflow:hidden;border-radius:var(--van-padding-xs)}.van-address-edit__buttons{padding:var(--van-address-edit-buttons-padding)}.van-address-edit__button{margin-bottom:var(--van-address-edit-button-margin-bottom);font-size:var(--van-address-edit-button-font-size)}.van-address-edit-detail__search-item{background:var(--van-gray-2)}.van-radio-group--horizontal,.van-checkbox-group--horizontal{display:flex;flex-wrap:wrap}:root{--van-checkbox-size: 20px;--van-checkbox-border-color: var(--van-gray-5);--van-checkbox-duration: var(--van-duration-fast);--van-checkbox-label-margin: var(--van-padding-xs);--van-checkbox-label-color: var(--van-text-color);--van-checkbox-checked-icon-color: var(--van-primary-color);--van-checkbox-disabled-icon-color: var(--van-gray-5);--van-checkbox-disabled-label-color: var(--van-text-color-3);--van-checkbox-disabled-background: var(--van-border-color)}.van-checkbox{display:flex;align-items:center;overflow:hidden;cursor:pointer;-webkit-user-select:none;user-select:none}.van-checkbox--disabled{cursor:not-allowed}.van-checkbox--label-disabled{cursor:default}.van-checkbox--horizontal{margin-right:var(--van-padding-sm)}.van-checkbox__icon{flex:none;height:1em;font-size:var(--van-checkbox-size);line-height:1em;cursor:pointer}.van-checkbox__icon .van-icon{display:block;box-sizing:border-box;width:1.25em;height:1.25em;color:transparent;font-size:.8em;line-height:1.25;text-align:center;border:1px solid var(--van-checkbox-border-color);transition-duration:var(--van-checkbox-duration);transition-property:color,border-color,background-color}.van-checkbox__icon--round .van-icon{border-radius:100%}.van-checkbox__icon--indeterminate .van-icon{display:flex;align-items:center;justify-content:center;color:var(--van-white);border-color:var(--van-checkbox-checked-icon-color);background-color:var(--van-checkbox-checked-icon-color)}.van-checkbox__icon--checked .van-icon{color:var(--van-white);background-color:var(--van-checkbox-checked-icon-color);border-color:var(--van-checkbox-checked-icon-color)}.van-checkbox__icon--disabled{cursor:not-allowed}.van-checkbox__icon--disabled .van-icon{background-color:var(--van-checkbox-disabled-background);border-color:var(--van-checkbox-disabled-icon-color)}.van-checkbox__icon--disabled.van-checkbox__icon--checked .van-icon{color:var(--van-checkbox-disabled-icon-color)}.van-checkbox__label{margin-left:var(--van-checkbox-label-margin);color:var(--van-checkbox-label-color);line-height:var(--van-checkbox-size)}.van-checkbox__label--left{margin:0 var(--van-checkbox-label-margin) 0 0}.van-checkbox__label--disabled{color:var(--van-checkbox-disabled-label-color)}:root{--van-coupon-margin: 0 var(--van-padding-sm) var(--van-padding-sm);--van-coupon-content-height: 84px;--van-coupon-content-padding: 14px 0;--van-coupon-content-text-color: var(--van-text-color);--van-coupon-background: var(--van-background-2);--van-coupon-active-background: var(--van-active-color);--van-coupon-radius: var(--van-radius-lg);--van-coupon-shadow: 0 0 4px rgba(0, 0, 0, .1);--van-coupon-head-width: 96px;--van-coupon-amount-color: var(--van-primary-color);--van-coupon-amount-font-size: 30px;--van-coupon-currency-font-size: 40%;--van-coupon-name-font-size: var(--van-font-size-md);--van-coupon-disabled-text-color: var(--van-text-color-2);--van-coupon-description-padding: var(--van-padding-xs) var(--van-padding-md);--van-coupon-description-border-color: var(--van-border-color);--van-coupon-checkbox-color: var(--van-primary-color)}.van-coupon{margin:var(--van-coupon-margin);overflow:hidden;background:var(--van-coupon-background);border-radius:var(--van-coupon-radius);box-shadow:var(--van-coupon-shadow)}.van-coupon:active{background-color:var(--van-coupon-active-background)}.van-coupon__content{display:flex;align-items:center;box-sizing:border-box;min-height:var(--van-coupon-content-height);padding:var(--van-coupon-content-padding);color:var(--van-coupon-content-text-color)}.van-coupon__head{position:relative;min-width:var(--van-coupon-head-width);padding:0 var(--van-padding-xs);color:var(--van-coupon-amount-color);text-align:center}.van-coupon__amount,.van-coupon__condition,.van-coupon__name,.van-coupon__valid{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.van-coupon__amount{margin-bottom:6px;font-weight:var(--van-font-bold);font-size:var(--van-coupon-amount-font-size);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.van-coupon__amount span{font-size:var(--van-coupon-currency-font-size)}.van-coupon__amount span:not(:empty){margin-left:2px}.van-coupon__condition{font-size:var(--van-font-size-sm);line-height:16px;white-space:pre-wrap}.van-coupon__body{position:relative;flex:1}.van-coupon__name{margin-bottom:10px;font-weight:var(--van-font-bold);font-size:var(--van-coupon-name-font-size);line-height:var(--van-line-height-md)}.van-coupon__valid{font-size:var(--van-font-size-sm)}.van-coupon__corner{position:absolute;top:0;right:var(--van-padding-md);bottom:0}.van-coupon__corner .van-checkbox__icon--checked .van-icon{background-color:var(--van-coupon-checkbox-color);border-color:var(--van-coupon-checkbox-color)}.van-coupon__description{padding:var(--van-coupon-description-padding);font-size:var(--van-font-size-sm);border-top:1px dashed var(--van-coupon-description-border-color)}.van-coupon--disabled:active{background-color:var(--van-coupon-background)}.van-coupon--disabled .van-coupon-item__content{height:calc(var(--van-coupon-content-height) - 10px)}.van-coupon--disabled .van-coupon__head{color:inherit}:root{--van-radio-size: 20px;--van-radio-dot-size: 8px;--van-radio-border-color: var(--van-gray-5);--van-radio-duration: var(--van-duration-fast);--van-radio-label-margin: var(--van-padding-xs);--van-radio-label-color: var(--van-text-color);--van-radio-checked-icon-color: var(--van-primary-color);--van-radio-disabled-icon-color: var(--van-gray-5);--van-radio-disabled-label-color: var(--van-text-color-3);--van-radio-disabled-background: var(--van-border-color)}.van-radio{display:flex;align-items:center;overflow:hidden;cursor:pointer;-webkit-user-select:none;user-select:none}.van-radio--disabled{cursor:not-allowed}.van-radio--label-disabled{cursor:default}.van-radio--horizontal{margin-right:var(--van-padding-sm)}.van-radio__icon{flex:none;height:1em;font-size:var(--van-radio-size);line-height:1em;cursor:pointer}.van-radio__icon .van-icon{display:block;box-sizing:border-box;width:1.25em;height:1.25em;color:transparent;font-size:.8em;line-height:1.25;text-align:center;border:1px solid var(--van-radio-border-color);transition-duration:var(--van-radio-duration);transition-property:color,border-color,background-color}.van-radio__icon--round .van-icon{border-radius:100%}.van-radio__icon--dot{position:relative;border-radius:100%;box-sizing:border-box;width:var(--van-radio-size);height:var(--van-radio-size);border:1px solid var(--van-radio-border-color);transition-duration:var(--van-radio-duration);transition-property:border-color}.van-radio__icon--dot__icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:100%;height:calc(100% - var(--van-radio-dot-size));width:calc(100% - var(--van-radio-dot-size));transition-duration:var(--van-radio-duration);transition-property:background-color}.van-radio__icon--checked .van-icon{color:var(--van-white);background-color:var(--van-radio-checked-icon-color);border-color:var(--van-radio-checked-icon-color)}.van-radio__icon--checked.van-radio__icon--dot{border-color:var(--van-radio-checked-icon-color)}.van-radio__icon--checked.van-radio__icon--dot .van-radio__icon--dot__icon{background:var(--van-radio-checked-icon-color)}.van-radio__icon--disabled{cursor:not-allowed}.van-radio__icon--disabled .van-icon{background-color:var(--van-radio-disabled-background);border-color:var(--van-radio-disabled-icon-color)}.van-radio__icon--disabled.van-radio__icon--checked .van-icon{color:var(--van-radio-disabled-icon-color)}.van-radio__label{margin-left:var(--van-radio-label-margin);color:var(--van-radio-label-color);line-height:var(--van-radio-size)}.van-radio__label--left{margin:0 var(--van-radio-label-margin) 0 0}.van-radio__label--disabled{color:var(--van-radio-disabled-label-color)}:root{--van-contact-list-padding: var(--van-padding-sm) var(--van-padding-sm) 80px;--van-contact-list-edit-icon-size: 16px;--van-contact-list-add-button-z-index: 999;--van-contact-list-radio-color: var(--van-primary-color);--van-contact-list-item-padding: var(--van-padding-md)}.van-contact-list{box-sizing:border-box;height:100%;padding:var(--van-contact-list-padding)}.van-contact-list__item{padding:var(--van-contact-list-item-padding)}.van-contact-list__item-title{display:flex;align-items:center;padding-right:var(--van-padding-xl);padding-left:var(--van-padding-xs)}.van-contact-list__item-tag{flex:none;margin-left:var(--van-padding-xs);padding-top:0;padding-bottom:0;line-height:1.4em}.van-contact-list__group{box-sizing:border-box;height:100%;overflow-y:scroll;-webkit-overflow-scrolling:touch;border-radius:var(--van-radius-lg)}.van-contact-list__edit{font-size:var(--van-contact-list-edit-icon-size)}.van-contact-list__radio .van-radio__icon--checked .van-icon{background-color:var(--van-contact-list-radio-color);border-color:var(--van-contact-list-radio-color)}.van-contact-list__bottom{position:fixed;right:0;bottom:0;left:0;z-index:var(--van-contact-list-add-button-z-index);padding-left:var(--van-padding-md);padding-right:var(--van-padding-md);background-color:var(--van-background-2)}.van-contact-list__add{height:40px;margin:5px 0}:root{--van-address-list-padding: var(--van-padding-sm) var(--van-padding-sm) 80px;--van-address-list-disabled-text-color: var(--van-text-color-2);--van-address-list-disabled-text-padding: calc(var(--van-padding-base) * 5) 0;--van-address-list-disabled-text-font-size: var(--van-font-size-md);--van-address-list-disabled-text-line-height: var(--van-line-height-md);--van-address-list-add-button-z-index: 999;--van-address-list-item-padding: var(--van-padding-sm);--van-address-list-item-text-color: var(--van-text-color);--van-address-list-item-disabled-text-color: var(--van-text-color-3);--van-address-list-item-font-size: 13px;--van-address-list-item-line-height: var(--van-line-height-sm);--van-address-list-radio-color: var(--van-primary-color);--van-address-list-edit-icon-size: 20px}.van-address-list{box-sizing:border-box;height:100%;padding:var(--van-address-list-padding)}.van-address-list__bottom{position:fixed;bottom:0;left:0;z-index:var(--van-address-list-add-button-z-index);box-sizing:border-box;width:100%;padding-left:var(--van-padding-md);padding-right:var(--van-padding-md);background-color:var(--van-background-2)}.van-address-list__add{height:40px;margin:5px 0}.van-address-list__disabled-text{padding:var(--van-address-list-disabled-text-padding);color:var(--van-address-list-disabled-text-color);font-size:var(--van-address-list-disabled-text-font-size);line-height:var(--van-address-list-disabled-text-line-height)}.van-address-item{padding:var(--van-address-list-item-padding);background-color:var(--van-background-2);border-radius:var(--van-radius-lg)}.van-address-item:not(:last-child){margin-bottom:var(--van-padding-sm)}.van-address-item__title{padding-right:44px}.van-address-item__name{display:flex;align-items:center;margin-bottom:var(--van-padding-xs);font-size:var(--van-font-size-lg);line-height:var(--van-line-height-lg)}.van-address-item__tag{flex:none;margin-left:var(--van-padding-xs);padding-top:0;padding-bottom:0;line-height:1.4em}.van-address-item__address{color:var(--van-address-list-item-text-color);font-size:var(--van-address-list-item-font-size);line-height:var(--van-address-list-item-line-height)}.van-address-item--disabled .van-address-item__name,.van-address-item--disabled .van-address-item__address{color:var(--van-address-list-item-disabled-text-color)}.van-address-item__edit{position:absolute;top:50%;right:var(--van-padding-md);color:var(--van-gray-6);font-size:var(--van-address-list-edit-icon-size);transform:translateY(-50%)}.van-address-item .van-cell{padding:0}.van-address-item .van-radio__label{margin-left:var(--van-padding-sm)}.van-address-item .van-radio__icon--checked .van-icon{background-color:var(--van-address-list-radio-color);border-color:var(--van-address-list-radio-color)}:root{--van-barrage-font-size: 16px;--van-barrage-space: 10px;--van-barrage-font: inherit;--van-barrage-color: var(--van-white)}.van-barrage{position:relative;overflow:hidden}.van-barrage__item{position:absolute;top:0;right:0;z-index:99;padding-bottom:var(--van-barrage-space);opacity:.75;line-height:1;font-size:var(--van-barrage-font-size);font-family:var(--van-barrage-font);font-weight:700;white-space:nowrap;color:var(--van-barrage-color);text-shadow:1px 0 1px #000000,0 1px 1px #000000,0 -1px 1px #000000,-1px 0 1px #000000;-webkit-user-select:none;user-select:none;will-change:transform;transform:translate(110%)}@keyframes van-barrage{0%{transform:translate(110%)}to{transform:translate(var(--move-distance))}}:root{--van-cell-group-background: var(--van-background-2);--van-cell-group-title-color: var(--van-text-color-2);--van-cell-group-title-padding: var(--van-padding-md) var(--van-padding-md);--van-cell-group-title-font-size: var(--van-font-size-md);--van-cell-group-title-line-height: 16px;--van-cell-group-inset-padding: 0 var(--van-padding-md);--van-cell-group-inset-radius: var(--van-radius-lg);--van-cell-group-inset-title-padding: var(--van-padding-md) var(--van-padding-md)}.van-cell-group{background:var(--van-cell-group-background)}.van-cell-group--inset{margin:var(--van-cell-group-inset-padding);border-radius:var(--van-cell-group-inset-radius);overflow:hidden}.van-cell-group__title{padding:var(--van-cell-group-title-padding);color:var(--van-cell-group-title-color);font-size:var(--van-cell-group-title-font-size);line-height:var(--van-cell-group-title-line-height)}.van-cell-group__title--inset{padding:var(--van-cell-group-inset-title-padding)}:root{--van-circle-size: 100px;--van-circle-color: var(--van-primary-color);--van-circle-layer-color: var(--van-white);--van-circle-text-color: var(--van-text-color);--van-circle-text-font-weight: var(--van-font-bold);--van-circle-text-font-size: var(--van-font-size-md);--van-circle-text-line-height: var(--van-line-height-md)}.van-circle{position:relative;display:inline-block;width:var(--van-circle-size);height:var(--van-circle-size);text-align:center}.van-circle svg{position:absolute;top:0;left:0;width:100%;height:100%}.van-circle__layer{stroke:var(--van-circle-layer-color)}.van-circle__hover{fill:none;stroke:var(--van-circle-color);stroke-linecap:round}.van-circle__text{position:absolute;top:50%;left:0;box-sizing:border-box;width:100%;padding:0 var(--van-padding-base);color:var(--van-circle-text-color);font-weight:var(--van-circle-text-font-weight);font-size:var(--van-circle-text-font-size);line-height:var(--van-circle-text-line-height);transform:translateY(-50%)}.van-row{display:flex;flex-wrap:wrap}.van-row--nowrap{flex-wrap:nowrap}.van-row--justify-center{justify-content:center}.van-row--justify-end{justify-content:flex-end}.van-row--justify-space-between{justify-content:space-between}.van-row--justify-space-around{justify-content:space-around}.van-row--align-center{align-items:center}.van-row--align-bottom{align-items:flex-end}.van-col{display:block;box-sizing:border-box;min-height:1px}.van-col--1{flex:0 0 4.16666667%;max-width:4.16666667%}.van-col--offset-1{margin-left:4.16666667%}.van-col--2{flex:0 0 8.33333333%;max-width:8.33333333%}.van-col--offset-2{margin-left:8.33333333%}.van-col--3{flex:0 0 12.5%;max-width:12.5%}.van-col--offset-3{margin-left:12.5%}.van-col--4{flex:0 0 16.66666667%;max-width:16.66666667%}.van-col--offset-4{margin-left:16.66666667%}.van-col--5{flex:0 0 20.83333333%;max-width:20.83333333%}.van-col--offset-5{margin-left:20.83333333%}.van-col--6{flex:0 0 25%;max-width:25%}.van-col--offset-6{margin-left:25%}.van-col--7{flex:0 0 29.16666667%;max-width:29.16666667%}.van-col--offset-7{margin-left:29.16666667%}.van-col--8{flex:0 0 33.33333333%;max-width:33.33333333%}.van-col--offset-8{margin-left:33.33333333%}.van-col--9{flex:0 0 37.5%;max-width:37.5%}.van-col--offset-9{margin-left:37.5%}.van-col--10{flex:0 0 41.66666667%;max-width:41.66666667%}.van-col--offset-10{margin-left:41.66666667%}.van-col--11{flex:0 0 45.83333333%;max-width:45.83333333%}.van-col--offset-11{margin-left:45.83333333%}.van-col--12{flex:0 0 50%;max-width:50%}.van-col--offset-12{margin-left:50%}.van-col--13{flex:0 0 54.16666667%;max-width:54.16666667%}.van-col--offset-13{margin-left:54.16666667%}.van-col--14{flex:0 0 58.33333333%;max-width:58.33333333%}.van-col--offset-14{margin-left:58.33333333%}.van-col--15{flex:0 0 62.5%;max-width:62.5%}.van-col--offset-15{margin-left:62.5%}.van-col--16{flex:0 0 66.66666667%;max-width:66.66666667%}.van-col--offset-16{margin-left:66.66666667%}.van-col--17{flex:0 0 70.83333333%;max-width:70.83333333%}.van-col--offset-17{margin-left:70.83333333%}.van-col--18{flex:0 0 75%;max-width:75%}.van-col--offset-18{margin-left:75%}.van-col--19{flex:0 0 79.16666667%;max-width:79.16666667%}.van-col--offset-19{margin-left:79.16666667%}.van-col--20{flex:0 0 83.33333333%;max-width:83.33333333%}.van-col--offset-20{margin-left:83.33333333%}.van-col--21{flex:0 0 87.5%;max-width:87.5%}.van-col--offset-21{margin-left:87.5%}.van-col--22{flex:0 0 91.66666667%;max-width:91.66666667%}.van-col--offset-22{margin-left:91.66666667%}.van-col--23{flex:0 0 95.83333333%;max-width:95.83333333%}.van-col--offset-23{margin-left:95.83333333%}.van-col--24{flex:0 0 100%;max-width:100%}.van-col--offset-24{margin-left:100%}:root{--van-count-down-text-color: var(--van-text-color);--van-count-down-font-size: var(--van-font-size-md);--van-count-down-line-height: var(--van-line-height-md)}.van-count-down{color:var(--van-count-down-text-color);font-size:var(--van-count-down-font-size);line-height:var(--van-count-down-line-height)}:root{--van-empty-padding: var(--van-padding-xl) 0;--van-empty-image-size: 160px;--van-empty-description-margin-top: var(--van-padding-md);--van-empty-description-padding: 0 60px;--van-empty-description-color: var(--van-text-color-2);--van-empty-description-font-size: var(--van-font-size-md);--van-empty-description-line-height: var(--van-line-height-md);--van-empty-bottom-margin-top: 24px}.van-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;padding:var(--van-empty-padding)}.van-empty__image{width:var(--van-empty-image-size);height:var(--van-empty-image-size)}.van-empty__image img{width:100%;height:100%}.van-empty__description{margin-top:var(--van-empty-description-margin-top);padding:var(--van-empty-description-padding);color:var(--van-empty-description-color);font-size:var(--van-empty-description-font-size);line-height:var(--van-empty-description-line-height)}.van-empty__bottom{margin-top:var(--van-empty-bottom-margin-top)}.van-theme-dark .van-empty{opacity:.5}:root{--van-coupon-list-background: var(--van-background);--van-coupon-list-field-padding: 5px 0 5px var(--van-padding-md);--van-coupon-list-exchange-button-height: 32px;--van-coupon-list-close-button-height: 40px;--van-coupon-list-empty-tip-color: var(--van-text-color-2);--van-coupon-list-empty-tip-font-size: var(--van-font-size-md);--van-coupon-list-empty-tip-line-height: var(--van-line-height-md)}.van-coupon-list{position:relative;height:100%;background:var(--van-coupon-list-background)}.van-coupon-list__field{padding:var(--van-coupon-list-field-padding)}.van-coupon-list__field .van-field__body{height:34px;padding-left:var(--van-padding-sm);line-height:34px;background:var(--van-background);border-radius:var(--van-radius-max)}.van-coupon-list__field .van-field__body::-webkit-input-placeholder{color:var(--van-text-color-3)}.van-coupon-list__field .van-field__body::placeholder{color:var(--van-text-color-3)}.van-coupon-list__field .van-field__clear{margin-right:0}.van-coupon-list__exchange-bar{display:flex;align-items:center;background-color:var(--van-background-2)}.van-coupon-list__exchange{flex:none;height:var(--van-coupon-list-exchange-button-height);font-size:var(--van-font-size-lg);line-height:calc(var(--van-coupon-list-exchange-button-height) - 2px);border:0}.van-coupon-list .van-tabs__wrap{box-shadow:0 6px 12px -12px var(--van-gray-6)}.van-coupon-list__list{box-sizing:border-box;padding:var(--van-padding-md) 0 var(--van-padding-lg);overflow-y:auto;-webkit-overflow-scrolling:touch}.van-coupon-list__list--with-bottom{padding-bottom:50px}.van-coupon-list__bottom{position:absolute;bottom:0;left:0;z-index:999;box-sizing:border-box;width:100%;padding:5px var(--van-padding-md);font-weight:var(--van-font-bold);background-color:var(--van-background-2)}.van-coupon-list__close{height:var(--van-coupon-list-close-button-height)}.van-coupon-list__empty-tip{color:var(--van-coupon-list-empty-tip-color);font-size:var(--van-coupon-list-empty-tip-font-size);line-height:var(--van-coupon-list-empty-tip-line-height)}:root{--van-divider-margin: var(--van-padding-md) 0;--van-divider-vertical-margin: 0 var(--van-padding-xs);--van-divider-text-color: var(--van-text-color-2);--van-divider-font-size: var(--van-font-size-md);--van-divider-line-height: 24px;--van-divider-border-color: var(--van-border-color);--van-divider-content-padding: var(--van-padding-md);--van-divider-content-left-width: 10%;--van-divider-content-right-width: 10%}.van-divider{display:flex;align-items:center;margin:var(--van-divider-margin);color:var(--van-divider-text-color);font-size:var(--van-divider-font-size);line-height:var(--van-divider-line-height);border-color:var(--van-divider-border-color);border-style:solid;border-width:0}.van-divider:before,.van-divider:after{display:block;flex:1;box-sizing:border-box;height:1px;border-color:inherit;border-style:inherit;border-width:var(--van-border-width) 0 0}.van-divider:before{content:""}.van-divider--hairline:before,.van-divider--hairline:after{transform:scaleY(.5)}.van-divider--dashed{border-style:dashed}.van-divider--content-center:before,.van-divider--content-left:before,.van-divider--content-right:before{margin-right:var(--van-divider-content-padding)}.van-divider--content-center:after,.van-divider--content-left:after,.van-divider--content-right:after{margin-left:var(--van-divider-content-padding);content:""}.van-divider--content-left:before{max-width:var(--van-divider-content-left-width)}.van-divider--content-right:after{max-width:var(--van-divider-content-right-width)}.van-divider--vertical{display:inline-block;width:var(--van-border-width);height:1em;margin:var(--van-divider-vertical-margin);vertical-align:middle}.van-divider--vertical:before{height:100%;border-width:0 0 0 var(--van-border-width)}.van-divider--vertical:after{display:none}.van-divider--vertical.van-divider--hairline:before{transform:scaleX(.5)}:root{--van-dropdown-menu-height: 48px;--van-dropdown-menu-background: var(--van-background-2);--van-dropdown-menu-shadow: 0 2px 12px rgba(100, 101, 102, .12);--van-dropdown-menu-title-font-size: 15px;--van-dropdown-menu-title-text-color: var(--van-text-color);--van-dropdown-menu-title-active-text-color: var(--van-primary-color);--van-dropdown-menu-title-disabled-text-color: var(--van-text-color-2);--van-dropdown-menu-title-padding: 0 var(--van-padding-xs);--van-dropdown-menu-title-line-height: var(--van-line-height-lg);--van-dropdown-menu-option-active-color: var(--van-primary-color);--van-dropdown-menu-content-max-height: 80%}.van-dropdown-menu{-webkit-user-select:none;user-select:none}.van-dropdown-menu__bar{position:relative;display:flex;height:var(--van-dropdown-menu-height);background:var(--van-dropdown-menu-background);box-shadow:var(--van-dropdown-menu-shadow)}.van-dropdown-menu__bar--opened{z-index:calc(var(--van-dropdown-item-z-index) + 1)}.van-dropdown-menu__bar--scrollable{padding-left:var(--van-padding-base);padding-right:var(--van-padding-xs);overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.van-dropdown-menu__bar--scrollable::-webkit-scrollbar{display:none}.van-dropdown-menu__item{display:flex;flex:1;align-items:center;justify-content:center;min-width:0}.van-dropdown-menu__item--disabled .van-dropdown-menu__title{color:var(--van-dropdown-menu-title-disabled-text-color)}.van-dropdown-menu__item--grow{flex:1 0 auto;padding-left:var(--van-padding-base);padding-right:var(--van-padding-sm)}.van-dropdown-menu__title{position:relative;box-sizing:border-box;max-width:100%;padding:var(--van-dropdown-menu-title-padding);color:var(--van-dropdown-menu-title-text-color);font-size:var(--van-dropdown-menu-title-font-size);line-height:var(--van-dropdown-menu-title-line-height)}.van-dropdown-menu__title:after{position:absolute;top:50%;right:-4px;margin-top:-5px;border:3px solid;border-color:transparent transparent var(--van-gray-4) var(--van-gray-4);transform:rotate(-45deg);opacity:.8;content:""}.van-dropdown-menu__title--active{color:var(--van-dropdown-menu-title-active-text-color)}.van-dropdown-menu__title--active:after{border-color:transparent transparent currentColor currentColor}.van-dropdown-menu__title--down:after{margin-top:-1px;transform:rotate(135deg)}:root{--van-dropdown-item-z-index: 10}.van-dropdown-item{position:fixed;right:0;left:0;z-index:var(--van-dropdown-item-z-index);overflow:hidden}.van-dropdown-item__icon{display:block;line-height:inherit}.van-dropdown-item__option{text-align:left}.van-dropdown-item__option--active,.van-dropdown-item__option--active .van-dropdown-item__icon{color:var(--van-dropdown-menu-option-active-color)}.van-dropdown-item--up{top:0}.van-dropdown-item--down{bottom:0}.van-dropdown-item__content{position:absolute;max-height:var(--van-dropdown-menu-content-max-height)}:root{--van-floating-panel-border-radius: 16px;--van-floating-panel-header-height: 30px;--van-floating-panel-z-index: 999;--van-floating-panel-background: var(--van-background-2);--van-floating-panel-bar-width: 20px;--van-floating-panel-bar-height: 3px;--van-floating-panel-bar-color: var(--van-gray-5)}.van-floating-panel{position:fixed;left:0;bottom:0;width:100vw;z-index:var(--van-floating-panel-z-index);display:flex;flex-direction:column;touch-action:none;border-top-left-radius:var(--van-floating-panel-border-radius);border-top-right-radius:var(--van-floating-panel-border-radius);background:var(--van-floating-panel-background);will-change:transform}.van-floating-panel:after{content:"";display:block;position:absolute;bottom:-100vh;height:100vh;width:100vw;background-color:inherit}.van-floating-panel__header{height:var(--van-floating-panel-header-height);display:flex;justify-content:center;align-items:center;cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;user-select:none}.van-floating-panel__header-bar{height:var(--van-floating-panel-bar-height);width:var(--van-floating-panel-bar-width);border-radius:var(--van-radius-md);background:var(--van-floating-panel-bar-color)}.van-floating-panel__content{flex:1;overflow-y:auto;background-color:var(--van-floating-panel-background)}.van-grid{display:flex;flex-wrap:wrap}:root{--van-grid-item-content-padding: var(--van-padding-md) var(--van-padding-xs);--van-grid-item-content-background: var(--van-background-2);--van-grid-item-content-active-color: var(--van-active-color);--van-grid-item-icon-size: 28px;--van-grid-item-text-color: var(--van-text-color);--van-grid-item-text-font-size: var(--van-font-size-sm)}.van-grid-item{position:relative;box-sizing:border-box}.van-grid-item--square{height:0}.van-grid-item__icon{font-size:var(--van-grid-item-icon-size)}.van-grid-item__text{color:var(--van-grid-item-text-color);font-size:var(--van-grid-item-text-font-size);line-height:1.5;word-break:break-all}.van-grid-item__icon+.van-grid-item__text{margin-top:var(--van-padding-xs)}.van-grid-item__content{display:flex;flex-direction:column;box-sizing:border-box;height:100%;padding:var(--van-grid-item-content-padding);background:var(--van-grid-item-content-background)}.van-grid-item__content:after{z-index:1;border-width:0 var(--van-border-width) var(--van-border-width) 0}.van-grid-item__content--square{position:absolute;top:0;right:0;left:0}.van-grid-item__content--center{align-items:center;justify-content:center}.van-grid-item__content--horizontal{flex-direction:row}.van-grid-item__content--horizontal .van-grid-item__text{margin:0 0 0 var(--van-padding-xs)}.van-grid-item__content--reverse{flex-direction:column-reverse}.van-grid-item__content--reverse .van-grid-item__text{margin:0 0 var(--van-padding-xs)}.van-grid-item__content--horizontal.van-grid-item__content--reverse{flex-direction:row-reverse}.van-grid-item__content--horizontal.van-grid-item__content--reverse .van-grid-item__text{margin:0 var(--van-padding-xs) 0 0}.van-grid-item__content--surround:after{border-width:var(--van-border-width)}.van-grid-item__content--clickable{cursor:pointer}.van-grid-item__content--clickable:active{background-color:var(--van-grid-item-content-active-color)}:root{--van-index-bar-sidebar-z-index: 2;--van-index-bar-index-font-size: var(--van-font-size-xs);--van-index-bar-index-line-height: var(--van-line-height-xs);--van-index-bar-index-active-color: var(--van-primary-color)}.van-index-bar__sidebar{position:fixed;top:50%;right:0;z-index:var(--van-index-bar-sidebar-z-index);display:flex;flex-direction:column;text-align:center;transform:translateY(-50%);cursor:pointer;-webkit-user-select:none;user-select:none}.van-index-bar__index{padding:0 var(--van-padding-xs) 0 var(--van-padding-md);font-weight:var(--van-font-bold);font-size:var(--van-index-bar-index-font-size);line-height:var(--van-index-bar-index-line-height)}.van-index-bar__index--active{color:var(--van-index-bar-index-active-color);font-weight:700}:root{--van-index-anchor-z-index: 1;--van-index-anchor-padding: 0 var(--van-padding-md);--van-index-anchor-text-color: var(--van-text-color);--van-index-anchor-font-weight: var(--van-font-bold);--van-index-anchor-font-size: var(--van-font-size-md);--van-index-anchor-line-height: 32px;--van-index-anchor-background: transparent;--van-index-anchor-sticky-text-color: var(--van-primary-color);--van-index-anchor-sticky-background: var(--van-background-2)}.van-index-anchor{z-index:var(--van-index-anchor-z-index);box-sizing:border-box;padding:var(--van-index-anchor-padding);color:var(--van-index-anchor-text-color);font-weight:var(--van-index-anchor-font-weight);font-size:var(--van-index-anchor-font-size);line-height:var(--van-index-anchor-line-height);background:var(--van-index-anchor-background)}.van-index-anchor--sticky{position:fixed;top:0;right:0;left:0;color:var(--van-index-anchor-sticky-text-color);background:var(--van-index-anchor-sticky-background)}:root{--van-pagination-height: 40px;--van-pagination-font-size: var(--van-font-size-md);--van-pagination-item-width: 36px;--van-pagination-item-default-color: var(--van-primary-color);--van-pagination-item-disabled-color: var(--van-gray-7);--van-pagination-item-disabled-background: var(--van-background);--van-pagination-background: var(--van-background-2);--van-pagination-desc-color: var(--van-gray-7);--van-pagination-disabled-opacity: var(--van-disabled-opacity)}.van-pagination{font-size:var(--van-pagination-font-size)}.van-pagination__items{display:flex}.van-pagination__item,.van-pagination__page-desc{display:flex;align-items:center;justify-content:center}.van-pagination__item{flex:1;box-sizing:border-box;min-width:var(--van-pagination-item-width);height:var(--van-pagination-height);color:var(--van-pagination-item-default-color);background:var(--van-pagination-background);cursor:pointer;-webkit-user-select:none;user-select:none}.van-pagination__item button{flex:1;height:100%;border:none;padding:0;background:transparent}.van-pagination__item button[disabled]{cursor:not-allowed}.van-pagination__item:active{color:var(--van-white);background-color:var(--van-pagination-item-default-color)}.van-pagination__item:not(:last-child):after{border-right-width:0}.van-pagination__item--active{color:var(--van-white);background-color:var(--van-pagination-item-default-color)}.van-pagination__item--page{flex-grow:0}.van-pagination__item--prev,.van-pagination__item--next{padding:0 var(--van-padding-base);cursor:pointer}.van-pagination__item--border:first-child:after{border-right-width:var(--van-border-width)}.van-pagination__item--disabled,.van-pagination__item--disabled:active{color:var(--van-pagination-item-disabled-color);background-color:var(--van-pagination-item-disabled-background);opacity:var(--van-pagination-disabled-opacity)}.van-pagination__page-desc{flex:1;height:var(--van-pagination-height);color:var(--van-pagination-desc-color)}:root{--van-password-input-height: 50px;--van-password-input-margin: 0 var(--van-padding-md);--van-password-input-font-size: 20px;--van-password-input-radius: 6px;--van-password-input-background: var(--van-background-2);--van-password-input-info-color: var(--van-text-color-2);--van-password-input-info-font-size: var(--van-font-size-md);--van-password-input-error-info-color: var(--van-danger-color);--van-password-input-dot-size: 10px;--van-password-input-dot-color: var(--van-text-color);--van-password-input-text-color: var(--van-text-color);--van-password-input-cursor-color: var(--van-text-color);--van-password-input-cursor-width: 1px;--van-password-input-cursor-height: 40%;--van-password-input-cursor-duration: 1s}.van-password-input{position:relative;margin:var(--van-password-input-margin);-webkit-user-select:none;user-select:none}.van-password-input__info,.van-password-input__error-info{margin-top:var(--van-padding-md);font-size:var(--van-password-input-info-font-size);text-align:center}.van-password-input__info{color:var(--van-password-input-info-color)}.van-password-input__error-info{color:var(--van-password-input-error-info-color)}.van-password-input__security{display:flex;width:100%;height:var(--van-password-input-height);cursor:pointer}.van-password-input__security:after{border-radius:var(--van-password-input-radius)}.van-password-input__security li{position:relative;display:flex;flex:1;align-items:center;justify-content:center;height:100%;color:var(--van-password-input-text-color);font-size:var(--van-password-input-font-size);line-height:1.2;background:var(--van-password-input-background)}.van-password-input__security i{position:absolute;top:50%;left:50%;width:var(--van-password-input-dot-size);height:var(--van-password-input-dot-size);background:var(--van-password-input-dot-color);border-radius:100%;transform:translate(-50%,-50%);visibility:hidden}.van-password-input__cursor{position:absolute;top:50%;left:50%;width:var(--van-password-input-cursor-width);height:var(--van-password-input-cursor-height);background:var(--van-password-input-cursor-color);transform:translate(-50%,-50%);animation:var(--van-password-input-cursor-duration) van-cursor-flicker infinite}@keyframes van-cursor-flicker{0%{opacity:0}50%{opacity:1}to{opacity:0}}:root{--van-progress-height: 4px;--van-progress-color: var(--van-primary-color);--van-progress-inactive-color: var(--van-gray-5);--van-progress-background: var(--van-gray-3);--van-progress-pivot-padding: 0 5px;--van-progress-pivot-text-color: var(--van-white);--van-progress-pivot-font-size: var(--van-font-size-xs);--van-progress-pivot-line-height: 1.6;--van-progress-pivot-background: var(--van-primary-color)}.van-progress{position:relative;height:var(--van-progress-height);background:var(--van-progress-background);border-radius:var(--van-progress-height)}.van-progress__portion{position:absolute;left:0;width:100%;height:100%;background:var(--van-progress-color);border-radius:inherit;transform-origin:0;transition:all var(--van-duration-base) var(--van-ease-out)}.van-progress__portion--inactive{background:var(--van-progress-inactive-color)}.van-progress__pivot{position:absolute;top:50%;box-sizing:border-box;min-width:3.6em;padding:var(--van-progress-pivot-padding);color:var(--van-progress-pivot-text-color);font-size:var(--van-progress-pivot-font-size);line-height:var(--van-progress-pivot-line-height);text-align:center;word-break:keep-all;background:var(--van-progress-pivot-background);border-radius:1em;transition:all var(--van-duration-base) var(--van-ease-out)}.van-progress__pivot--inactive{background:var(--van-progress-inactive-color)}:root{--van-rolling-text-background: inherit;--van-rolling-text-color: var(--van-text-color);--van-rolling-text-font-size: var(--van-font-size-md);--van-rolling-text-gap: 0px;--van-rolling-text-item-width: 15px;--van-rolling-text-item-border-radius: 0px}.van-rolling-text{display:inline-flex;justify-content:center;align-items:center;font-size:var(--van-rolling-text-font-size);color:var(--van-rolling-text-color)}.van-rolling-text-item{margin-right:var(--van-rolling-text-gap);width:var(--van-rolling-text-item-width);border-radius:var(--van-rolling-text-item-border-radius);background:var(--van-rolling-text-background);overflow:hidden}.van-rolling-text-item:last-child{margin-right:0}.van-rolling-text-item__box{overflow:hidden}.van-rolling-text-item__box--animate{animation:van-up var(--van-duration) ease-in-out var(--van-delay);animation-iteration-count:1;animation-fill-mode:both}.van-rolling-text-item__item{text-align:center}.van-rolling-text-item--down .van-rolling-text-item__box{transform:translateY(var(--van-translate))}.van-rolling-text-item--down .van-rolling-text-item__box--animate{animation-name:van-down}@keyframes van-down{0%{transform:translateY(var(--van-translate))}to{transform:translateY(0)}}@keyframes van-up{0%{transform:translateY(0)}to{transform:translateY(var(--van-translate))}}:root{--van-sidebar-width: 80px}.van-sidebar{width:var(--van-sidebar-width);overflow-y:auto;-webkit-overflow-scrolling:touch}:root{--van-sidebar-font-size: var(--van-font-size-md);--van-sidebar-line-height: var(--van-line-height-md);--van-sidebar-text-color: var(--van-text-color);--van-sidebar-disabled-text-color: var(--van-text-color-3);--van-sidebar-padding: 20px var(--van-padding-sm);--van-sidebar-active-color: var(--van-active-color);--van-sidebar-background: var(--van-background);--van-sidebar-selected-font-weight: var(--van-font-bold);--van-sidebar-selected-text-color: var(--van-text-color);--van-sidebar-selected-border-width: 4px;--van-sidebar-selected-border-height: 16px;--van-sidebar-selected-border-color: var(--van-primary-color);--van-sidebar-selected-background: var(--van-background-2)}.van-sidebar-item{position:relative;display:block;box-sizing:border-box;padding:var(--van-sidebar-padding);overflow:hidden;color:var(--van-sidebar-text-color);font-size:var(--van-sidebar-font-size);line-height:var(--van-sidebar-line-height);background:var(--van-sidebar-background);cursor:pointer;-webkit-user-select:none;user-select:none}.van-sidebar-item:active{background-color:var(--van-sidebar-active-color)}.van-sidebar-item:not(:last-child):after{border-bottom-width:1px}.van-sidebar-item__text{word-break:break-all}.van-sidebar-item--select{color:var(--van-sidebar-selected-text-color);font-weight:var(--van-sidebar-selected-font-weight)}.van-sidebar-item--select,.van-sidebar-item--select:active{background-color:var(--van-sidebar-selected-background)}.van-sidebar-item--select:before{position:absolute;top:50%;left:0;width:var(--van-sidebar-selected-border-width);height:var(--van-sidebar-selected-border-height);background-color:var(--van-sidebar-selected-border-color);transform:translateY(-50%);content:""}.van-sidebar-item--disabled{color:var(--van-sidebar-disabled-text-color);cursor:not-allowed}.van-sidebar-item--disabled:active{background-color:var(--van-sidebar-background)}:root{--van-tree-select-font-size: var(--van-font-size-md);--van-tree-select-nav-background: var(--van-background);--van-tree-select-content-background: var(--van-background-2);--van-tree-select-nav-item-padding: 14px var(--van-padding-sm);--van-tree-select-item-height: 48px;--van-tree-select-item-active-color: var(--van-primary-color);--van-tree-select-item-disabled-color: var(--van-gray-5);--van-tree-select-item-selected-size: 16px}.van-tree-select{position:relative;display:flex;font-size:var(--van-tree-select-font-size)}.van-tree-select__nav{flex:1;overflow-y:auto;background:var(--van-tree-select-nav-background);-webkit-overflow-scrolling:touch}.van-tree-select__nav-item{padding:var(--van-tree-select-nav-item-padding)}.van-tree-select__content{flex:2;overflow-y:auto;background:var(--van-tree-select-content-background);-webkit-overflow-scrolling:touch}.van-tree-select__item{position:relative;padding:0 32px 0 var(--van-padding-md);font-weight:var(--van-font-bold);line-height:var(--van-tree-select-item-height);-webkit-user-select:none;user-select:none;cursor:pointer}.van-tree-select__item--active{color:var(--van-tree-select-item-active-color)}.van-tree-select__item:active{background-color:var(--van-active-color)}.van-tree-select__item--disabled{color:var(--van-tree-select-item-disabled-color);cursor:not-allowed}.van-tree-select__item--disabled:active{background-color:transparent}.van-tree-select__selected{position:absolute;top:50%;right:var(--van-padding-md);margin-top:calc(var(--van-padding-xs) * -1);font-size:var(--van-tree-select-item-selected-size)}:root{--van-skeleton-title-width: 40%}.van-skeleton-title{height:var(--van-skeleton-paragraph-height);background:var(--van-skeleton-paragraph-background)}.van-skeleton-title--round{border-radius:var(--van-radius-max)}.van-skeleton-title{width:var(--van-skeleton-title-width);margin:0}.van-skeleton-title+.van-skeleton-paragraph{margin-top:20px}:root{--van-skeleton-avatar-size: 32px;--van-skeleton-avatar-background: var(--van-active-color)}.van-skeleton-avatar{flex-shrink:0;width:var(--van-skeleton-avatar-size);height:var(--van-skeleton-avatar-size);margin-right:var(--van-padding-md);background:var(--van-skeleton-avatar-background)}.van-skeleton-avatar--round{border-radius:var(--van-radius-max)}.van-skeleton-avatar+.van-skeleton__content{padding-top:var(--van-padding-xs)}:root{--van-skeleton-paragraph-height: 16px;--van-skeleton-paragraph-background: var(--van-active-color);--van-skeleton-paragraph-margin-top: var(--van-padding-sm)}.van-skeleton-paragraph{height:var(--van-skeleton-paragraph-height);background:var(--van-skeleton-paragraph-background)}.van-skeleton-paragraph--round{border-radius:var(--van-radius-max)}.van-skeleton-paragraph:not(:first-child){margin-top:var(--van-skeleton-paragraph-margin-top)}:root{--van-skeleton-duration: 1.2s}.van-skeleton{display:flex;padding:0 var(--van-padding-md)}.van-skeleton__content{width:100%}.van-skeleton--animate{animation:van-skeleton-blink var(--van-skeleton-duration) ease-in-out infinite}@keyframes van-skeleton-blink{50%{opacity:.6}}:root{--van-slider-active-background: var(--van-primary-color);--van-slider-inactive-background: var(--van-gray-3);--van-slider-disabled-opacity: var(--van-disabled-opacity);--van-slider-bar-height: 2px;--van-slider-button-width: 24px;--van-slider-button-height: 24px;--van-slider-button-radius: 50%;--van-slider-button-background: var(--van-white);--van-slider-button-shadow: 0 1px 2px rgba(0, 0, 0, .5)}.van-theme-dark{--van-slider-inactive-background: var(--van-background-3)}.van-slider{position:relative;width:100%;height:var(--van-slider-bar-height);background:var(--van-slider-inactive-background);border-radius:var(--van-radius-max);cursor:pointer}.van-slider:before{position:absolute;top:calc(var(--van-padding-xs) * -1);right:0;bottom:calc(var(--van-padding-xs) * -1);left:0;content:""}.van-slider__bar{position:absolute;width:100%;height:100%;background:var(--van-slider-active-background);border-radius:inherit;transition:all var(--van-duration-fast)}.van-slider__button{width:var(--van-slider-button-width);height:var(--van-slider-button-height);background:var(--van-slider-button-background);border-radius:var(--van-slider-button-radius);box-shadow:var(--van-slider-button-shadow)}.van-slider__button-wrapper{position:absolute;cursor:-webkit-grab;cursor:grab;top:50%}.van-slider__button-wrapper--right{right:0;transform:translate3d(50%,-50%,0)}.van-slider__button-wrapper--left{left:0;transform:translate3d(-50%,-50%,0)}.van-slider--disabled{cursor:not-allowed;opacity:var(--van-slider-disabled-opacity)}.van-slider--disabled .van-slider__button-wrapper{cursor:not-allowed}.van-slider--vertical{display:inline-block;width:var(--van-slider-bar-height);height:100%}.van-slider--vertical .van-slider__button-wrapper--right{top:auto;right:50%;bottom:0;transform:translate3d(50%,50%,0)}.van-slider--vertical .van-slider__button-wrapper--left{top:0;right:50%;left:auto;transform:translate3d(50%,-50%,0)}.van-slider--vertical:before{top:0;right:calc(var(--van-padding-xs) * -1);bottom:0;left:calc(var(--van-padding-xs) * -1)}.van-space{display:inline-flex}.van-space--horizontal .van-space-item{display:flex;align-items:center}.van-space--vertical{flex-direction:column}.van-space--align-baseline{align-items:baseline}.van-space--align-start{align-items:flex-start}.van-space--align-end{align-items:flex-end}.van-space--align-center{align-items:center}.van-space--wrap{flex-wrap:wrap}.van-space--fill{display:flex}:root{--van-steps-background: var(--van-background-2)}.van-steps{overflow:hidden;background-color:var(--van-steps-background)}.van-steps--horizontal{padding:10px 10px 0}.van-steps--horizontal .van-steps__items{position:relative;display:flex;margin:0 0 10px;padding-bottom:22px}.van-steps--vertical{padding:0 0 0 var(--van-padding-xl)}:root{--van-step-text-color: var(--van-text-color-2);--van-step-active-color: var(--van-primary-color);--van-step-process-text-color: var(--van-text-color);--van-step-font-size: var(--van-font-size-md);--van-step-line-color: var(--van-border-color);--van-step-finish-line-color: var(--van-primary-color);--van-step-finish-text-color: var(--van-text-color);--van-step-icon-size: 12px;--van-step-circle-size: 5px;--van-step-circle-color: var(--van-gray-6);--van-step-horizontal-title-font-size: var(--van-font-size-sm)}.van-step{position:relative;flex:1;color:var(--van-step-text-color);font-size:var(--van-step-font-size)}.van-step__circle{display:block;width:var(--van-step-circle-size);height:var(--van-step-circle-size);background-color:var(--van-step-circle-color);border-radius:50%}.van-step__line{position:absolute;background-color:var(--van-step-line-color);transition:background-color var(--van-duration-base)}.van-step--horizontal{float:left}.van-step--horizontal:first-child .van-step__title{margin-left:0;transform:none}.van-step--horizontal:last-child:not(:first-child){position:absolute;right:1px;width:auto}.van-step--horizontal:last-child:not(:first-child) .van-step__title{margin-left:0;transform:none}.van-step--horizontal:last-child:not(:first-child) .van-step__circle-container{right:-9px;left:auto}.van-step--horizontal .van-step__circle-container{position:absolute;top:30px;left:calc(var(--van-padding-xs) * -1);z-index:1;padding:0 var(--van-padding-xs);background-color:var(--van-background-2);transform:translateY(-50%)}.van-step--horizontal .van-step__title{display:inline-block;margin-left:3px;font-size:var(--van-step-horizontal-title-font-size);transform:translate(-50%)}.van-step--horizontal .van-step__line{top:30px;left:0;width:100%;height:1px}.van-step--horizontal .van-step__icon{display:block;font-size:var(--van-step-icon-size)}.van-step--horizontal .van-step--process{color:var(--van-step-process-text-color)}.van-step--vertical{display:block;float:none;padding:10px 10px 10px 0;line-height:var(--van-line-height-sm)}.van-step--vertical:not(:last-child):after{border-bottom-width:1px}.van-step--vertical .van-step__circle-container{position:absolute;top:19px;left:-15px;z-index:1;font-size:var(--van-step-icon-size);line-height:1;transform:translate(-50%,-50%)}.van-step--vertical .van-step__line{top:16px;left:-15px;width:1px;height:100%}.van-step:last-child .van-step__line{width:0}.van-step--finish{color:var(--van-step-finish-text-color)}.van-step--finish .van-step__circle,.van-step--finish .van-step__line{background-color:var(--van-step-finish-line-color)}.van-step__icon,.van-step__title{transition:color var(--van-duration-base)}.van-step__icon--active,.van-step__title--active,.van-step__icon--finish,.van-step__title--finish{color:var(--van-step-active-color)}:root{--van-stepper-background: var(--van-active-color);--van-stepper-button-icon-color: var(--van-text-color);--van-stepper-button-disabled-color: var(--van-background);--van-stepper-button-disabled-icon-color: var(--van-gray-5);--van-stepper-button-round-theme-color: var(--van-primary-color);--van-stepper-input-width: 32px;--van-stepper-input-height: 28px;--van-stepper-input-font-size: var(--van-font-size-md);--van-stepper-input-line-height: normal;--van-stepper-input-text-color: var(--van-text-color);--van-stepper-input-disabled-text-color: var(--van-text-color-3);--van-stepper-input-disabled-background: var(--van-active-color);--van-stepper-radius: var(--van-radius-md)}.van-stepper{display:inline-block;-webkit-user-select:none;user-select:none}.van-stepper__minus,.van-stepper__plus{position:relative;box-sizing:border-box;width:var(--van-stepper-input-height);height:var(--van-stepper-input-height);margin:0;padding:0;color:var(--van-stepper-button-icon-color);vertical-align:middle;background:var(--van-stepper-background);border:0}.van-stepper__minus:before,.van-stepper__plus:before{width:50%;height:1px}.van-stepper__minus:after,.van-stepper__plus:after{width:1px;height:50%}.van-stepper__minus:before,.van-stepper__plus:before,.van-stepper__minus:after,.van-stepper__plus:after{position:absolute;top:50%;left:50%;background-color:currentColor;transform:translate(-50%,-50%);content:""}.van-stepper__minus--disabled,.van-stepper__plus--disabled{color:var(--van-stepper-button-disabled-icon-color);background-color:var(--van-stepper-button-disabled-color);cursor:not-allowed}.van-stepper__minus{border-radius:var(--van-stepper-radius) 0 0 var(--van-stepper-radius)}.van-stepper__minus:after{display:none}.van-stepper__plus{border-radius:0 var(--van-stepper-radius) var(--van-stepper-radius) 0}.van-stepper__input{box-sizing:border-box;width:var(--van-stepper-input-width);height:var(--van-stepper-input-height);margin:0 2px;padding:0;color:var(--van-stepper-input-text-color);font-size:var(--van-stepper-input-font-size);line-height:var(--van-stepper-input-line-height);text-align:center;vertical-align:middle;background:var(--van-stepper-background);border:0;border-width:1px 0;border-radius:0;-webkit-appearance:none}.van-stepper__input:disabled{color:var(--van-stepper-input-disabled-text-color);background-color:var(--van-stepper-input-disabled-background);-webkit-text-fill-color:var(--van-stepper-input-disabled-text-color);opacity:1}.van-stepper__input:read-only{cursor:default}.van-stepper--round .van-stepper__input{background-color:transparent}.van-stepper--round .van-stepper__plus,.van-stepper--round .van-stepper__minus{border-radius:100%}.van-stepper--round .van-stepper__plus--disabled,.van-stepper--round .van-stepper__minus--disabled{opacity:.3;cursor:not-allowed}.van-stepper--round .van-stepper__plus{color:var(--van-white);background:var(--van-stepper-button-round-theme-color)}.van-stepper--round .van-stepper__minus{color:var(--van-stepper-button-round-theme-color);background-color:var(--van-background-2);border:1px solid var(--van-stepper-button-round-theme-color)}.van-swipe-cell{position:relative;overflow:hidden;cursor:-webkit-grab;cursor:grab}.van-swipe-cell__wrapper{transition-timing-function:cubic-bezier(.18,.89,.32,1);transition-property:transform}.van-swipe-cell__left,.van-swipe-cell__right{position:absolute;top:0;height:100%}.van-swipe-cell__left{left:0;transform:translate3d(-100%,0,0)}.van-swipe-cell__right{right:0;transform:translate3d(100%,0,0)}:root{--van-tabbar-height: 50px;--van-tabbar-z-index: 1;--van-tabbar-background: var(--van-background-2)}.van-tabbar{z-index:var(--van-tabbar-z-index);display:flex;box-sizing:content-box;width:100%;height:var(--van-tabbar-height);background:var(--van-tabbar-background)}.van-tabbar--fixed{position:fixed;bottom:0;left:0}:root{--van-tabbar-item-font-size: var(--van-font-size-sm);--van-tabbar-item-text-color: var(--van-text-color);--van-tabbar-item-active-color: var(--van-primary-color);--van-tabbar-item-active-background: var(--van-background-2);--van-tabbar-item-line-height: 1;--van-tabbar-item-icon-size: 22px;--van-tabbar-item-icon-margin-bottom: var(--van-padding-base)}.van-tabbar-item{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;color:var(--van-tabbar-item-text-color);font-size:var(--van-tabbar-item-font-size);line-height:var(--van-tabbar-item-line-height);cursor:pointer}.van-tabbar-item__icon{margin-bottom:var(--van-tabbar-item-icon-margin-bottom);font-size:var(--van-tabbar-item-icon-size)}.van-tabbar-item__icon .van-icon{display:block}.van-tabbar-item__icon .van-badge{margin-top:var(--van-padding-base)}.van-tabbar-item__icon img{display:block;height:20px}.van-tabbar-item--active{color:var(--van-tabbar-item-active-color);background-color:var(--van-tabbar-item-active-background)}:root{--van-text-ellipsis-line-height: 1.6;--van-text-ellipsis-action-color: var(--van-blue)}.van-text-ellipsis{line-height:var(--van-text-ellipsis-line-height);white-space:pre-wrap;word-break:break-word}.van-text-ellipsis__action{cursor:pointer;color:var(--van-text-ellipsis-action-color)}.van-text-ellipsis__action:active{opacity:var(--van-active-opacity)}:root{--van-watermark-z-index: 100}.van-watermark{position:absolute;height:100%;width:100%;left:0;top:0;z-index:var(--van-watermark-z-index);background-repeat:repeat;pointer-events:none}.van-watermark__wrapper{display:none}.van-watermark--full{position:fixed} diff --git a/dist/assets/index_1730186905.js b/dist/assets/index_1730186905.js new file mode 100644 index 0000000..3b80cac --- /dev/null +++ b/dist/assets/index_1730186905.js @@ -0,0 +1,29 @@ +function makeMap(e,t){const n=Object.create(null),o=e.split(",");for(let r=0;r!!n[e.toLowerCase()]:e=>!!n[e]}!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))t(e);new MutationObserver((e=>{for(const n of e)if("childList"===n.type)for(const e of n.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&t(e)})).observe(document,{childList:!0,subtree:!0})}function t(e){if(e.ep)return;e.ep=!0;const t=function(e){const t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?t.credentials="include":"anonymous"===e.crossOrigin?t.credentials="omit":t.credentials="same-origin",t}(e);fetch(e.href,t)}}();const EMPTY_OBJ={},EMPTY_ARR=[],NOOP=()=>{},NO=()=>!1,onRE=/^on[^a-z]/,isOn=e=>onRE.test(e),isModelListener=e=>e.startsWith("onUpdate:"),extend$2=Object.assign,remove=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},hasOwnProperty$3=Object.prototype.hasOwnProperty,hasOwn=(e,t)=>hasOwnProperty$3.call(e,t),isArray$2=Array.isArray,isMap=e=>"[object Map]"===toTypeString(e),isSet=e=>"[object Set]"===toTypeString(e),isRegExp$1=e=>"[object RegExp]"===toTypeString(e),isFunction$2=e=>"function"==typeof e,isString$1=e=>"string"==typeof e,isSymbol=e=>"symbol"==typeof e,isObject$3=e=>null!==e&&"object"==typeof e,isPromise$1=e=>isObject$3(e)&&isFunction$2(e.then)&&isFunction$2(e.catch),objectToString=Object.prototype.toString,toTypeString=e=>objectToString.call(e),toRawType=e=>toTypeString(e).slice(8,-1),isPlainObject$2=e=>"[object Object]"===toTypeString(e),isIntegerKey=e=>isString$1(e)&&"NaN"!==e&&"-"!==e[0]&&""+parseInt(e,10)===e,isReservedProp=makeMap(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),cacheStringFunction=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},camelizeRE$1=/-(\w)/g,camelize$1=cacheStringFunction((e=>e.replace(camelizeRE$1,((e,t)=>t?t.toUpperCase():"")))),hyphenateRE=/\B([A-Z])/g,hyphenate=cacheStringFunction((e=>e.replace(hyphenateRE,"-$1").toLowerCase())),capitalize=cacheStringFunction((e=>e.charAt(0).toUpperCase()+e.slice(1))),toHandlerKey=cacheStringFunction((e=>e?`on${capitalize(e)}`:"")),hasChanged=(e,t)=>!Object.is(e,t),invokeArrayFns=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},looseToNumber=e=>{const t=parseFloat(e);return isNaN(t)?e:t},toNumber=e=>{const t=isString$1(e)?Number(e):NaN;return isNaN(t)?e:t};let _globalThis;const getGlobalThis=()=>_globalThis||(_globalThis="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{});function normalizeStyle(e){if(isArray$2(e)){const t={};for(let n=0;n{if(e){const n=e.split(propertyDelimiterRE);n.length>1&&(t[n[0].trim()]=n[1].trim())}})),t}function stringifyStyle(e){let t="";if(!e||isString$1(e))return t;for(const n in e){const o=e[n],r=n.startsWith("--")?n:hyphenate(n);(isString$1(o)||"number"==typeof o)&&(t+=`${r}:${o};`)}return t}function normalizeClass(e){let t="";if(isString$1(e))t=e;else if(isArray$2(e))for(let n=0;nisString$1(e)?e:null==e?"":isArray$2(e)||isObject$3(e)&&(e.toString===objectToString||!isFunction$2(e.toString))?JSON.stringify(e,replacer,2):String(e),replacer=(e,t)=>t&&t.__v_isRef?replacer(e,t.value):isMap(t)?{[`Map(${t.size})`]:[...t.entries()].reduce(((e,[t,n])=>(e[`${t} =>`]=n,e)),{})}:isSet(t)?{[`Set(${t.size})`]:[...t.values()]}:!isObject$3(t)||isArray$2(t)||isPlainObject$2(t)?t:String(t);let activeEffectScope;class EffectScope{constructor(e=!1){this.detached=e,this._active=!0,this.effects=[],this.cleanups=[],this.parent=activeEffectScope,!e&&activeEffectScope&&(this.index=(activeEffectScope.scopes||(activeEffectScope.scopes=[])).push(this)-1)}get active(){return this._active}run(e){if(this._active){const t=activeEffectScope;try{return activeEffectScope=this,e()}finally{activeEffectScope=t}}}on(){activeEffectScope=this}off(){activeEffectScope=this.parent}stop(e){if(this._active){let t,n;for(t=0,n=this.effects.length;t{const t=new Set(e);return t.w=0,t.n=0,t},wasTracked=e=>(e.w&trackOpBit)>0,newTracked=e=>(e.n&trackOpBit)>0,initDepMarkers=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let n=0;for(let o=0;o{("length"===n||n>=e)&&s.push(t)}))}else switch(void 0!==n&&s.push(a.get(n)),t){case"add":isArray$2(e)?isIntegerKey(n)&&s.push(a.get("length")):(s.push(a.get(ITERATE_KEY)),isMap(e)&&s.push(a.get(MAP_KEY_ITERATE_KEY)));break;case"delete":isArray$2(e)||(s.push(a.get(ITERATE_KEY)),isMap(e)&&s.push(a.get(MAP_KEY_ITERATE_KEY)));break;case"set":isMap(e)&&s.push(a.get(ITERATE_KEY))}if(1===s.length)s[0]&&triggerEffects(s[0]);else{const e=[];for(const t of s)t&&e.push(...t);triggerEffects(createDep(e))}}function triggerEffects(e,t){const n=isArray$2(e)?e:[...e];for(const o of n)o.computed&&triggerEffect(o);for(const o of n)o.computed||triggerEffect(o)}function triggerEffect(e,t){(e!==activeEffect||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}function getDepFromReactive(e,t){var n;return null==(n=targetMap.get(e))?void 0:n.get(t)}const isNonTrackableKeys=makeMap("__proto__,__v_isRef,__isVue"),builtInSymbols=new Set(Object.getOwnPropertyNames(Symbol).filter((e=>"arguments"!==e&&"caller"!==e)).map((e=>Symbol[e])).filter(isSymbol)),get$1$1=createGetter(),shallowGet=createGetter(!1,!0),readonlyGet=createGetter(!0),arrayInstrumentations=createArrayInstrumentations();function createArrayInstrumentations(){const e={};return["includes","indexOf","lastIndexOf"].forEach((t=>{e[t]=function(...e){const n=toRaw(this);for(let t=0,r=this.length;t{e[t]=function(...e){pauseTracking();const n=toRaw(this)[t].apply(this,e);return resetTracking(),n}})),e}function hasOwnProperty$2(e){const t=toRaw(this);return track(t,"has",e),t.hasOwnProperty(e)}function createGetter(e=!1,t=!1){return function(n,o,r){if("__v_isReactive"===o)return!e;if("__v_isReadonly"===o)return e;if("__v_isShallow"===o)return t;if("__v_raw"===o&&r===(e?t?shallowReadonlyMap:readonlyMap:t?shallowReactiveMap:reactiveMap).get(n))return n;const i=isArray$2(n);if(!e){if(i&&hasOwn(arrayInstrumentations,o))return Reflect.get(arrayInstrumentations,o,r);if("hasOwnProperty"===o)return hasOwnProperty$2}const a=Reflect.get(n,o,r);return(isSymbol(o)?builtInSymbols.has(o):isNonTrackableKeys(o))?a:(e||track(n,"get",o),t?a:isRef(a)?i&&isIntegerKey(o)?a:a.value:isObject$3(a)?e?readonly(a):reactive(a):a)}}const set$1=createSetter(),shallowSet=createSetter(!0);function createSetter(e=!1){return function(t,n,o,r){let i=t[n];if(isReadonly(i)&&isRef(i)&&!isRef(o))return!1;if(!e&&(isShallow(o)||isReadonly(o)||(i=toRaw(i),o=toRaw(o)),!isArray$2(t)&&isRef(i)&&!isRef(o)))return i.value=o,!0;const a=isArray$2(t)&&isIntegerKey(n)?Number(n)!0,deleteProperty:(e,t)=>!0},shallowReactiveHandlers=extend$2({},mutableHandlers,{get:shallowGet,set:shallowSet}),toShallow=e=>e,getProto=e=>Reflect.getPrototypeOf(e);function get$2(e,t,n=!1,o=!1){const r=toRaw(e=e.__v_raw),i=toRaw(t);n||(t!==i&&track(r,"get",t),track(r,"get",i));const{has:a}=getProto(r),s=o?toShallow:n?toReadonly:toReactive;return a.call(r,t)?s(e.get(t)):a.call(r,i)?s(e.get(i)):void(e!==r&&e.get(t))}function has(e,t=!1){const n=this.__v_raw,o=toRaw(n),r=toRaw(e);return t||(e!==r&&track(o,"has",e),track(o,"has",r)),e===r?n.has(e):n.has(e)||n.has(r)}function size(e,t=!1){return e=e.__v_raw,!t&&track(toRaw(e),"iterate",ITERATE_KEY),Reflect.get(e,"size",e)}function add$1(e){e=toRaw(e);const t=toRaw(this);return getProto(t).has.call(t,e)||(t.add(e),trigger(t,"add",e,e)),this}function set$2(e,t){t=toRaw(t);const n=toRaw(this),{has:o,get:r}=getProto(n);let i=o.call(n,e);i||(e=toRaw(e),i=o.call(n,e));const a=r.call(n,e);return n.set(e,t),i?hasChanged(t,a)&&trigger(n,"set",e,t):trigger(n,"add",e,t),this}function deleteEntry(e){const t=toRaw(this),{has:n,get:o}=getProto(t);let r=n.call(t,e);r||(e=toRaw(e),r=n.call(t,e)),o&&o.call(t,e);const i=t.delete(e);return r&&trigger(t,"delete",e,void 0),i}function clear(){const e=toRaw(this),t=0!==e.size,n=e.clear();return t&&trigger(e,"clear",void 0,void 0),n}function createForEach(e,t){return function(n,o){const r=this,i=r.__v_raw,a=toRaw(i),s=t?toShallow:e?toReadonly:toReactive;return!e&&track(a,"iterate",ITERATE_KEY),i.forEach(((e,t)=>n.call(o,s(e),s(t),r)))}}function createIterableMethod(e,t,n){return function(...o){const r=this.__v_raw,i=toRaw(r),a=isMap(i),s="entries"===e||e===Symbol.iterator&&a,l="keys"===e&&a,c=r[e](...o),u=n?toShallow:t?toReadonly:toReactive;return!t&&track(i,"iterate",l?MAP_KEY_ITERATE_KEY:ITERATE_KEY),{next(){const{value:e,done:t}=c.next();return t?{value:e,done:t}:{value:s?[u(e[0]),u(e[1])]:u(e),done:t}},[Symbol.iterator](){return this}}}}function createReadonlyMethod(e){return function(...t){return"delete"!==e&&this}}function createInstrumentations(){const e={get(e){return get$2(this,e)},get size(){return size(this)},has:has,add:add$1,set:set$2,delete:deleteEntry,clear:clear,forEach:createForEach(!1,!1)},t={get(e){return get$2(this,e,!1,!0)},get size(){return size(this)},has:has,add:add$1,set:set$2,delete:deleteEntry,clear:clear,forEach:createForEach(!1,!0)},n={get(e){return get$2(this,e,!0)},get size(){return size(this,!0)},has(e){return has.call(this,e,!0)},add:createReadonlyMethod("add"),set:createReadonlyMethod("set"),delete:createReadonlyMethod("delete"),clear:createReadonlyMethod("clear"),forEach:createForEach(!0,!1)},o={get(e){return get$2(this,e,!0,!0)},get size(){return size(this,!0)},has(e){return has.call(this,e,!0)},add:createReadonlyMethod("add"),set:createReadonlyMethod("set"),delete:createReadonlyMethod("delete"),clear:createReadonlyMethod("clear"),forEach:createForEach(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach((r=>{e[r]=createIterableMethod(r,!1,!1),n[r]=createIterableMethod(r,!0,!1),t[r]=createIterableMethod(r,!1,!0),o[r]=createIterableMethod(r,!0,!0)})),[e,n,t,o]}const[mutableInstrumentations,readonlyInstrumentations,shallowInstrumentations,shallowReadonlyInstrumentations]=createInstrumentations();function createInstrumentationGetter(e,t){const n=t?e?shallowReadonlyInstrumentations:shallowInstrumentations:e?readonlyInstrumentations:mutableInstrumentations;return(t,o,r)=>"__v_isReactive"===o?!e:"__v_isReadonly"===o?e:"__v_raw"===o?t:Reflect.get(hasOwn(n,o)&&o in t?n:t,o,r)}const mutableCollectionHandlers={get:createInstrumentationGetter(!1,!1)},shallowCollectionHandlers={get:createInstrumentationGetter(!1,!0)},readonlyCollectionHandlers={get:createInstrumentationGetter(!0,!1)},reactiveMap=new WeakMap,shallowReactiveMap=new WeakMap,readonlyMap=new WeakMap,shallowReadonlyMap=new WeakMap;function targetTypeMap(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function getTargetType(e){return e.__v_skip||!Object.isExtensible(e)?0:targetTypeMap(toRawType(e))}function reactive(e){return isReadonly(e)?e:createReactiveObject(e,!1,mutableHandlers,mutableCollectionHandlers,reactiveMap)}function shallowReactive(e){return createReactiveObject(e,!1,shallowReactiveHandlers,shallowCollectionHandlers,shallowReactiveMap)}function readonly(e){return createReactiveObject(e,!0,readonlyHandlers,readonlyCollectionHandlers,readonlyMap)}function createReactiveObject(e,t,n,o,r){if(!isObject$3(e))return e;if(e.__v_raw&&(!t||!e.__v_isReactive))return e;const i=r.get(e);if(i)return i;const a=getTargetType(e);if(0===a)return e;const s=new Proxy(e,2===a?o:n);return r.set(e,s),s}function isReactive(e){return isReadonly(e)?isReactive(e.__v_raw):!(!e||!e.__v_isReactive)}function isReadonly(e){return!(!e||!e.__v_isReadonly)}function isShallow(e){return!(!e||!e.__v_isShallow)}function isProxy(e){return isReactive(e)||isReadonly(e)}function toRaw(e){const t=e&&e.__v_raw;return t?toRaw(t):e}function markRaw(e){return def(e,"__v_skip",!0),e}const toReactive=e=>isObject$3(e)?reactive(e):e,toReadonly=e=>isObject$3(e)?readonly(e):e;function trackRefValue(e){shouldTrack&&activeEffect&&trackEffects((e=toRaw(e)).dep||(e.dep=createDep()))}function triggerRefValue(e,t){const n=(e=toRaw(e)).dep;n&&triggerEffects(n)}function isRef(e){return!(!e||!0!==e.__v_isRef)}function ref(e){return createRef(e,!1)}function shallowRef(e){return createRef(e,!0)}function createRef(e,t){return isRef(e)?e:new RefImpl(e,t)}class RefImpl{constructor(e,t){this.__v_isShallow=t,this.dep=void 0,this.__v_isRef=!0,this._rawValue=t?e:toRaw(e),this._value=t?e:toReactive(e)}get value(){return trackRefValue(this),this._value}set value(e){const t=this.__v_isShallow||isShallow(e)||isReadonly(e);e=t?e:toRaw(e),hasChanged(e,this._rawValue)&&(this._rawValue=e,this._value=t?e:toReactive(e),triggerRefValue(this))}}function unref(e){return isRef(e)?e.value:e}const shallowUnwrapHandlers={get:(e,t,n)=>unref(Reflect.get(e,t,n)),set:(e,t,n,o)=>{const r=e[t];return isRef(r)&&!isRef(n)?(r.value=n,!0):Reflect.set(e,t,n,o)}};function proxyRefs(e){return isReactive(e)?e:new Proxy(e,shallowUnwrapHandlers)}function toRefs(e){const t=isArray$2(e)?new Array(e.length):{};for(const n in e)t[n]=propertyToRef(e,n);return t}class ObjectRefImpl{constructor(e,t,n){this._object=e,this._key=t,this._defaultValue=n,this.__v_isRef=!0}get value(){const e=this._object[this._key];return void 0===e?this._defaultValue:e}set value(e){this._object[this._key]=e}get dep(){return getDepFromReactive(toRaw(this._object),this._key)}}function propertyToRef(e,t,n){const o=e[t];return isRef(o)?o:new ObjectRefImpl(e,t,n)}class ComputedRefImpl{constructor(e,t,n,o){this._setter=t,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this._dirty=!0,this.effect=new ReactiveEffect(e,(()=>{this._dirty||(this._dirty=!0,triggerRefValue(this))})),this.effect.computed=this,this.effect.active=this._cacheable=!o,this.__v_isReadonly=n}get value(){const e=toRaw(this);return trackRefValue(e),!e._dirty&&e._cacheable||(e._dirty=!1,e._value=e.effect.run()),e._value}set value(e){this._setter(e)}}function computed$1(e,t,n=!1){let o,r;const i=isFunction$2(e);i?(o=e,r=NOOP):(o=e.get,r=e.set);return new ComputedRefImpl(o,r,i||!r,n)}function warn(e,...t){}function callWithErrorHandling(e,t,n,o){let r;try{r=o?e(...o):e()}catch(i){handleError(i,t,n)}return r}function callWithAsyncErrorHandling(e,t,n,o){if(isFunction$2(e)){const r=callWithErrorHandling(e,t,n,o);return r&&isPromise$1(r)&&r.catch((e=>{handleError(e,t,n)})),r}const r=[];for(let i=0;i>>1;getId(queue$1[o])flushIndex&&queue$1.splice(t,1)}function queuePostFlushCb(e){isArray$2(e)?pendingPostFlushCbs.push(...e):activePostFlushCbs&&activePostFlushCbs.includes(e,e.allowRecurse?postFlushIndex+1:postFlushIndex)||pendingPostFlushCbs.push(e),queueFlush()}function flushPreFlushCbs(e,t=(isFlushing?flushIndex+1:0)){for(;tgetId(e)-getId(t))),postFlushIndex=0;postFlushIndexnull==e.id?1/0:e.id,comparator=(e,t)=>{const n=getId(e)-getId(t);if(0===n){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function flushJobs(e){isFlushPending=!1,isFlushing=!0,queue$1.sort(comparator);try{for(flushIndex=0;flushIndexisString$1(e)?e.trim():e))),t&&(r=n.map(looseToNumber))}let s,l=o[s=toHandlerKey(t)]||o[s=toHandlerKey(camelize$1(t))];!l&&i&&(l=o[s=toHandlerKey(hyphenate(t))]),l&&callWithAsyncErrorHandling(l,e,6,r);const c=o[s+"Once"];if(c){if(e.emitted){if(e.emitted[s])return}else e.emitted={};e.emitted[s]=!0,callWithAsyncErrorHandling(c,e,6,r)}}function normalizeEmitsOptions(e,t,n=!1){const o=t.emitsCache,r=o.get(e);if(void 0!==r)return r;const i=e.emits;let a={},s=!1;if(!isFunction$2(e)){const o=e=>{const n=normalizeEmitsOptions(e,t,!0);n&&(s=!0,extend$2(a,n))};!n&&t.mixins.length&&t.mixins.forEach(o),e.extends&&o(e.extends),e.mixins&&e.mixins.forEach(o)}return i||s?(isArray$2(i)?i.forEach((e=>a[e]=null)):extend$2(a,i),isObject$3(e)&&o.set(e,a),a):(isObject$3(e)&&o.set(e,null),null)}function isEmitListener(e,t){return!(!e||!isOn(t))&&(t=t.slice(2).replace(/Once$/,""),hasOwn(e,t[0].toLowerCase()+t.slice(1))||hasOwn(e,hyphenate(t))||hasOwn(e,t))}let currentRenderingInstance=null,currentScopeId=null;function setCurrentRenderingInstance(e){const t=currentRenderingInstance;return currentRenderingInstance=e,currentScopeId=e&&e.type.__scopeId||null,t}function pushScopeId(e){currentScopeId=e}function popScopeId(){currentScopeId=null}function withCtx(e,t=currentRenderingInstance,n){if(!t)return e;if(e._n)return e;const o=(...n)=>{o._d&&setBlockTracking(-1);const r=setCurrentRenderingInstance(t);let i;try{i=e(...n)}finally{setCurrentRenderingInstance(r),o._d&&setBlockTracking(1)}return i};return o._n=!0,o._c=!0,o._d=!0,o}function markAttrsAccessed(){}function renderComponentRoot(e){const{type:t,vnode:n,proxy:o,withProxy:r,props:i,propsOptions:[a],slots:s,attrs:l,emit:c,render:u,renderCache:d,data:p,setupState:A,ctx:f,inheritAttrs:m}=e;let h,g;const v=setCurrentRenderingInstance(e);try{if(4&n.shapeFlag){const e=r||o;h=normalizeVNode(u.call(e,e,d,i,A,p,f)),g=l}else{const e=t;0,h=normalizeVNode(e.length>1?e(i,{attrs:l,slots:s,emit:c}):e(i,null)),g=t.props?l:getFunctionalFallthrough(l)}}catch(E){blockStack.length=0,handleError(E,e,1),h=createVNode(Comment)}let b=h;if(g&&!1!==m){const e=Object.keys(g),{shapeFlag:t}=b;e.length&&7&t&&(a&&e.some(isModelListener)&&(g=filterModelListeners(g,a)),b=cloneVNode(b,g))}return n.dirs&&(b=cloneVNode(b),b.dirs=b.dirs?b.dirs.concat(n.dirs):n.dirs),n.transition&&(b.transition=n.transition),h=b,setCurrentRenderingInstance(v),h}function filterSingleRoot(e){let t;for(let n=0;n{let t;for(const n in e)("class"===n||"style"===n||isOn(n))&&((t||(t={}))[n]=e[n]);return t},filterModelListeners=(e,t)=>{const n={};for(const o in e)isModelListener(o)&&o.slice(9)in t||(n[o]=e[o]);return n};function shouldUpdateComponent(e,t,n){const{props:o,children:r,component:i}=e,{props:a,children:s,patchFlag:l}=t,c=i.emitsOptions;if(t.dirs||t.transition)return!0;if(!(n&&l>=0))return!(!r&&!s||s&&s.$stable)||o!==a&&(o?!a||hasPropsChanged(o,a,c):!!a);if(1024&l)return!0;if(16&l)return o?hasPropsChanged(o,a,c):!!a;if(8&l){const e=t.dynamicProps;for(let t=0;te.__isSuspense,SuspenseImpl={name:"Suspense",__isSuspense:!0,process(e,t,n,o,r,i,a,s,l,c){null==e?mountSuspense(t,n,o,r,i,a,s,l,c):patchSuspense(e,t,n,o,r,a,s,l,c)},hydrate:hydrateSuspense,create:createSuspenseBoundary,normalize:normalizeSuspenseChildren},Suspense=SuspenseImpl;function triggerEvent(e,t){const n=e.props&&e.props[t];isFunction$2(n)&&n()}function mountSuspense(e,t,n,o,r,i,a,s,l){const{p:c,o:{createElement:u}}=l,d=u("div"),p=e.suspense=createSuspenseBoundary(e,r,o,t,d,n,i,a,s,l);c(null,p.pendingBranch=e.ssContent,d,null,o,p,i,a),p.deps>0?(triggerEvent(e,"onPending"),triggerEvent(e,"onFallback"),c(null,e.ssFallback,t,n,o,null,i,a),setActiveBranch(p,e.ssFallback)):p.resolve(!1,!0)}function patchSuspense(e,t,n,o,r,i,a,s,{p:l,um:c,o:{createElement:u}}){const d=t.suspense=e.suspense;d.vnode=t,t.el=e.el;const p=t.ssContent,A=t.ssFallback,{activeBranch:f,pendingBranch:m,isInFallback:h,isHydrating:g}=d;if(m)d.pendingBranch=p,isSameVNodeType(p,m)?(l(m,p,d.hiddenContainer,null,r,d,i,a,s),d.deps<=0?d.resolve():h&&(l(f,A,n,o,r,null,i,a,s),setActiveBranch(d,A))):(d.pendingId++,g?(d.isHydrating=!1,d.activeBranch=m):c(m,r,d),d.deps=0,d.effects.length=0,d.hiddenContainer=u("div"),h?(l(null,p,d.hiddenContainer,null,r,d,i,a,s),d.deps<=0?d.resolve():(l(f,A,n,o,r,null,i,a,s),setActiveBranch(d,A))):f&&isSameVNodeType(p,f)?(l(f,p,n,o,r,d,i,a,s),d.resolve(!0)):(l(null,p,d.hiddenContainer,null,r,d,i,a,s),d.deps<=0&&d.resolve()));else if(f&&isSameVNodeType(p,f))l(f,p,n,o,r,d,i,a,s),setActiveBranch(d,p);else if(triggerEvent(t,"onPending"),d.pendingBranch=p,d.pendingId++,l(null,p,d.hiddenContainer,null,r,d,i,a,s),d.deps<=0)d.resolve();else{const{timeout:e,pendingId:t}=d;e>0?setTimeout((()=>{d.pendingId===t&&d.fallback(A)}),e):0===e&&d.fallback(A)}}function createSuspenseBoundary(e,t,n,o,r,i,a,s,l,c,u=!1){const{p:d,m:p,um:A,n:f,o:{parentNode:m,remove:h}}=c;let g;const v=isVNodeSuspensible(e);v&&(null==t?void 0:t.pendingBranch)&&(g=t.pendingId,t.deps++);const b=e.props?toNumber(e.props.timeout):void 0,E={vnode:e,parent:t,parentComponent:n,isSVG:a,container:o,hiddenContainer:r,anchor:i,deps:0,pendingId:0,timeout:"number"==typeof b?b:-1,activeBranch:null,pendingBranch:null,isInFallback:!0,isHydrating:u,isUnmounted:!1,effects:[],resolve(e=!1,n=!1){const{vnode:o,activeBranch:r,pendingBranch:i,pendingId:a,effects:s,parentComponent:l,container:c}=E;if(E.isHydrating)E.isHydrating=!1;else if(!e){const e=r&&i.transition&&"out-in"===i.transition.mode;e&&(r.transition.afterLeave=()=>{a===E.pendingId&&p(i,c,t,0)});let{anchor:t}=E;r&&(t=f(r),A(r,l,E,!0)),e||p(i,c,t,0)}setActiveBranch(E,i),E.pendingBranch=null,E.isInFallback=!1;let u=E.parent,d=!1;for(;u;){if(u.pendingBranch){u.effects.push(...s),d=!0;break}u=u.parent}d||queuePostFlushCb(s),E.effects=[],v&&t&&t.pendingBranch&&g===t.pendingId&&(t.deps--,0!==t.deps||n||t.resolve()),triggerEvent(o,"onResolve")},fallback(e){if(!E.pendingBranch)return;const{vnode:t,activeBranch:n,parentComponent:o,container:r,isSVG:i}=E;triggerEvent(t,"onFallback");const a=f(n),c=()=>{E.isInFallback&&(d(null,e,r,a,o,null,i,s,l),setActiveBranch(E,e))},u=e.transition&&"out-in"===e.transition.mode;u&&(n.transition.afterLeave=c),E.isInFallback=!0,A(n,o,null,!0),u||c()},move(e,t,n){E.activeBranch&&p(E.activeBranch,e,t,n),E.container=e},next:()=>E.activeBranch&&f(E.activeBranch),registerDep(e,t){const n=!!E.pendingBranch;n&&E.deps++;const o=e.vnode.el;e.asyncDep.catch((t=>{handleError(t,e,0)})).then((r=>{if(e.isUnmounted||E.isUnmounted||E.pendingId!==e.suspenseId)return;e.asyncResolved=!0;const{vnode:i}=e;handleSetupResult(e,r,!1),o&&(i.el=o);const s=!o&&e.subTree.el;t(e,i,m(o||e.subTree.el),o?null:f(e.subTree),E,a,l),s&&h(s),updateHOCHostEl(e,i.el),n&&0==--E.deps&&E.resolve()}))},unmount(e,t){E.isUnmounted=!0,E.activeBranch&&A(E.activeBranch,n,e,t),E.pendingBranch&&A(E.pendingBranch,n,e,t)}};return E}function hydrateSuspense(e,t,n,o,r,i,a,s,l){const c=t.suspense=createSuspenseBoundary(t,o,n,e.parentNode,document.createElement("div"),null,r,i,a,s,!0),u=l(e,c.pendingBranch=t.ssContent,n,c,i,a);return 0===c.deps&&c.resolve(!1,!0),u}function normalizeSuspenseChildren(e){const{shapeFlag:t,children:n}=e,o=32&t;e.ssContent=normalizeSuspenseSlot(o?n.default:n),e.ssFallback=o?normalizeSuspenseSlot(n.fallback):createVNode(Comment)}function normalizeSuspenseSlot(e){let t;if(isFunction$2(e)){const n=isBlockTreeEnabled&&e._c;n&&(e._d=!1,openBlock()),e=e(),n&&(e._d=!0,t=currentBlock,closeBlock())}if(isArray$2(e)){const t=filterSingleRoot(e);e=t}return e=normalizeVNode(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter((t=>t!==e))),e}function queueEffectWithSuspense(e,t){t&&t.pendingBranch?isArray$2(e)?t.effects.push(...e):t.effects.push(e):queuePostFlushCb(e)}function setActiveBranch(e,t){e.activeBranch=t;const{vnode:n,parentComponent:o}=e,r=n.el=t.el;o&&o.subTree===n&&(o.vnode.el=r,updateHOCHostEl(o,r))}function isVNodeSuspensible(e){var t;return null!=(null==(t=e.props)?void 0:t.suspensible)&&!1!==e.props.suspensible}function watchEffect(e,t){return doWatch(e,null,t)}const INITIAL_WATCHER_VALUE={};function watch(e,t,n){return doWatch(e,t,n)}function doWatch(e,t,{immediate:n,deep:o,flush:r,onTrack:i,onTrigger:a}=EMPTY_OBJ){var s;const l=getCurrentScope()===(null==(s=currentInstance)?void 0:s.scope)?currentInstance:null;let c,u,d=!1,p=!1;if(isRef(e)?(c=()=>e.value,d=isShallow(e)):isReactive(e)?(c=()=>e,o=!0):isArray$2(e)?(p=!0,d=e.some((e=>isReactive(e)||isShallow(e))),c=()=>e.map((e=>isRef(e)?e.value:isReactive(e)?traverse(e):isFunction$2(e)?callWithErrorHandling(e,l,2):void 0))):c=isFunction$2(e)?t?()=>callWithErrorHandling(e,l,2):()=>{if(!l||!l.isUnmounted)return u&&u(),callWithAsyncErrorHandling(e,l,3,[f])}:NOOP,t&&o){const e=c;c=()=>traverse(e())}let A,f=e=>{u=v.onStop=()=>{callWithErrorHandling(e,l,4)}};if(isInSSRComponentSetup){if(f=NOOP,t?n&&callWithAsyncErrorHandling(t,l,3,[c(),p?[]:void 0,f]):c(),"sync"!==r)return NOOP;{const e=useSSRContext();A=e.__watcherHandles||(e.__watcherHandles=[])}}let m=p?new Array(e.length).fill(INITIAL_WATCHER_VALUE):INITIAL_WATCHER_VALUE;const h=()=>{if(v.active)if(t){const e=v.run();(o||d||(p?e.some(((e,t)=>hasChanged(e,m[t]))):hasChanged(e,m)))&&(u&&u(),callWithAsyncErrorHandling(t,l,3,[e,m===INITIAL_WATCHER_VALUE?void 0:p&&m[0]===INITIAL_WATCHER_VALUE?[]:m,f]),m=e)}else v.run()};let g;h.allowRecurse=!!t,"sync"===r?g=h:"post"===r?g=()=>queuePostRenderEffect(h,l&&l.suspense):(h.pre=!0,l&&(h.id=l.uid),g=()=>queueJob(h));const v=new ReactiveEffect(c,g);t?n?h():m=v.run():"post"===r?queuePostRenderEffect(v.run.bind(v),l&&l.suspense):v.run();const b=()=>{v.stop(),l&&l.scope&&remove(l.scope.effects,v)};return A&&A.push(b),b}function instanceWatch(e,t,n){const o=this.proxy,r=isString$1(e)?e.includes(".")?createPathGetter(o,e):()=>o[e]:e.bind(o,o);let i;isFunction$2(t)?i=t:(i=t.handler,n=t);const a=currentInstance;setCurrentInstance(this);const s=doWatch(r,i.bind(o),n);return a?setCurrentInstance(a):unsetCurrentInstance(),s}function createPathGetter(e,t){const n=t.split(".");return()=>{let t=e;for(let e=0;e{traverse(e,t)}));else if(isPlainObject$2(e))for(const n in e)traverse(e[n],t);return e}function withDirectives(e,t){const n=currentRenderingInstance;if(null===n)return e;const o=getExposeProxy(n)||n.proxy,r=e.dirs||(e.dirs=[]);for(let i=0;i{e.isMounted=!0})),onBeforeUnmount((()=>{e.isUnmounting=!0})),e}const TransitionHookValidator=[Function,Array],BaseTransitionPropsValidators={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:TransitionHookValidator,onEnter:TransitionHookValidator,onAfterEnter:TransitionHookValidator,onEnterCancelled:TransitionHookValidator,onBeforeLeave:TransitionHookValidator,onLeave:TransitionHookValidator,onAfterLeave:TransitionHookValidator,onLeaveCancelled:TransitionHookValidator,onBeforeAppear:TransitionHookValidator,onAppear:TransitionHookValidator,onAfterAppear:TransitionHookValidator,onAppearCancelled:TransitionHookValidator},BaseTransitionImpl={name:"BaseTransition",props:BaseTransitionPropsValidators,setup(e,{slots:t}){const n=getCurrentInstance(),o=useTransitionState();let r;return()=>{const i=t.default&&getTransitionRawChildren(t.default(),!0);if(!i||!i.length)return;let a=i[0];if(i.length>1)for(const e of i)if(e.type!==Comment){a=e;break}const s=toRaw(e),{mode:l}=s;if(o.isLeaving)return emptyPlaceholder(a);const c=getKeepAliveChild(a);if(!c)return emptyPlaceholder(a);const u=resolveTransitionHooks(c,s,o,n);setTransitionHooks(c,u);const d=n.subTree,p=d&&getKeepAliveChild(d);let A=!1;const{getTransitionKey:f}=c.type;if(f){const e=f();void 0===r?r=e:e!==r&&(r=e,A=!0)}if(p&&p.type!==Comment&&(!isSameVNodeType(c,p)||A)){const e=resolveTransitionHooks(p,s,o,n);if(setTransitionHooks(p,e),"out-in"===l)return o.isLeaving=!0,e.afterLeave=()=>{o.isLeaving=!1,!1!==n.update.active&&n.update()},emptyPlaceholder(a);"in-out"===l&&c.type!==Comment&&(e.delayLeave=(e,t,n)=>{getLeavingNodesForType(o,p)[String(p.key)]=p,e._leaveCb=()=>{t(),e._leaveCb=void 0,delete u.delayedLeave},u.delayedLeave=n})}return a}}},BaseTransition=BaseTransitionImpl;function getLeavingNodesForType(e,t){const{leavingVNodes:n}=e;let o=n.get(t.type);return o||(o=Object.create(null),n.set(t.type,o)),o}function resolveTransitionHooks(e,t,n,o){const{appear:r,mode:i,persisted:a=!1,onBeforeEnter:s,onEnter:l,onAfterEnter:c,onEnterCancelled:u,onBeforeLeave:d,onLeave:p,onAfterLeave:A,onLeaveCancelled:f,onBeforeAppear:m,onAppear:h,onAfterAppear:g,onAppearCancelled:v}=t,b=String(e.key),E=getLeavingNodesForType(n,e),C=(e,t)=>{e&&callWithAsyncErrorHandling(e,o,9,t)},y=(e,t)=>{const n=t[1];C(e,t),isArray$2(e)?e.every((e=>e.length<=1))&&n():e.length<=1&&n()},w={mode:i,persisted:a,beforeEnter(t){let o=s;if(!n.isMounted){if(!r)return;o=m||s}t._leaveCb&&t._leaveCb(!0);const i=E[b];i&&isSameVNodeType(e,i)&&i.el._leaveCb&&i.el._leaveCb(),C(o,[t])},enter(e){let t=l,o=c,i=u;if(!n.isMounted){if(!r)return;t=h||l,o=g||c,i=v||u}let a=!1;const s=e._enterCb=t=>{a||(a=!0,C(t?i:o,[e]),w.delayedLeave&&w.delayedLeave(),e._enterCb=void 0)};t?y(t,[e,s]):s()},leave(t,o){const r=String(e.key);if(t._enterCb&&t._enterCb(!0),n.isUnmounting)return o();C(d,[t]);let i=!1;const a=t._leaveCb=n=>{i||(i=!0,o(),C(n?f:A,[t]),t._leaveCb=void 0,E[r]===e&&delete E[r])};E[r]=e,p?y(p,[t,a]):a()},clone:e=>resolveTransitionHooks(e,t,n,o)};return w}function emptyPlaceholder(e){if(isKeepAlive(e))return(e=cloneVNode(e)).children=null,e}function getKeepAliveChild(e){return isKeepAlive(e)?e.children?e.children[0]:void 0:e}function setTransitionHooks(e,t){6&e.shapeFlag&&e.component?setTransitionHooks(e.component.subTree,t):128&e.shapeFlag?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function getTransitionRawChildren(e,t=!1,n){let o=[],r=0;for(let i=0;i1)for(let i=0;iextend$2({name:e.name},t,{setup:e}))():e}const isAsyncWrapper=e=>!!e.type.__asyncLoader,isKeepAlive=e=>e.type.__isKeepAlive,KeepAliveImpl={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){const n=getCurrentInstance(),o=n.ctx;if(!o.renderer)return()=>{const e=t.default&&t.default();return e&&1===e.length?e[0]:e};const r=new Map,i=new Set;let a=null;const s=n.suspense,{renderer:{p:l,m:c,um:u,o:{createElement:d}}}=o,p=d("div");function A(e){resetShapeFlag(e),u(e,n,s,!0)}function f(e){r.forEach(((t,n)=>{const o=getComponentName(t.type);!o||e&&e(o)||m(n)}))}function m(e){const t=r.get(e);a&&isSameVNodeType(t,a)?a&&resetShapeFlag(a):A(t),r.delete(e),i.delete(e)}o.activate=(e,t,n,o,r)=>{const i=e.component;c(e,t,n,0,s),l(i.vnode,e,t,n,i,s,o,e.slotScopeIds,r),queuePostRenderEffect((()=>{i.isDeactivated=!1,i.a&&invokeArrayFns(i.a);const t=e.props&&e.props.onVnodeMounted;t&&invokeVNodeHook(t,i.parent,e)}),s)},o.deactivate=e=>{const t=e.component;c(e,p,null,1,s),queuePostRenderEffect((()=>{t.da&&invokeArrayFns(t.da);const n=e.props&&e.props.onVnodeUnmounted;n&&invokeVNodeHook(n,t.parent,e),t.isDeactivated=!0}),s)},watch((()=>[e.include,e.exclude]),(([e,t])=>{e&&f((t=>matches(e,t))),t&&f((e=>!matches(t,e)))}),{flush:"post",deep:!0});let h=null;const g=()=>{null!=h&&r.set(h,getInnerChild(n.subTree))};return onMounted(g),onUpdated(g),onBeforeUnmount((()=>{r.forEach((e=>{const{subTree:t,suspense:o}=n,r=getInnerChild(t);if(e.type!==r.type||e.key!==r.key)A(e);else{resetShapeFlag(r);const e=r.component.da;e&&queuePostRenderEffect(e,o)}}))})),()=>{if(h=null,!t.default)return null;const n=t.default(),o=n[0];if(n.length>1)return a=null,n;if(!(isVNode(o)&&(4&o.shapeFlag||128&o.shapeFlag)))return a=null,o;let s=getInnerChild(o);const l=s.type,c=getComponentName(isAsyncWrapper(s)?s.type.__asyncResolved||{}:l),{include:u,exclude:d,max:p}=e;if(u&&(!c||!matches(u,c))||d&&c&&matches(d,c))return a=s,o;const A=null==s.key?l:s.key,f=r.get(A);return s.el&&(s=cloneVNode(s),128&o.shapeFlag&&(o.ssContent=s)),h=A,f?(s.el=f.el,s.component=f.component,s.transition&&setTransitionHooks(s,s.transition),s.shapeFlag|=512,i.delete(A),i.add(A)):(i.add(A),p&&i.size>parseInt(p,10)&&m(i.values().next().value)),s.shapeFlag|=256,a=s,isSuspense(o.type)?o:s}}},KeepAlive=KeepAliveImpl;function matches(e,t){return isArray$2(e)?e.some((e=>matches(e,t))):isString$1(e)?e.split(",").includes(t):!!isRegExp$1(e)&&e.test(t)}function onActivated(e,t){registerKeepAliveHook(e,"a",t)}function onDeactivated(e,t){registerKeepAliveHook(e,"da",t)}function registerKeepAliveHook(e,t,n=currentInstance){const o=e.__wdc||(e.__wdc=()=>{let t=n;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()});if(injectHook(t,o,n),n){let e=n.parent;for(;e&&e.parent;)isKeepAlive(e.parent.vnode)&&injectToKeepAliveRoot(o,t,n,e),e=e.parent}}function injectToKeepAliveRoot(e,t,n,o){const r=injectHook(t,e,o,!0);onUnmounted((()=>{remove(o[t],r)}),n)}function resetShapeFlag(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function getInnerChild(e){return 128&e.shapeFlag?e.ssContent:e}function injectHook(e,t,n=currentInstance,o=!1){if(n){const r=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{if(n.isUnmounted)return;pauseTracking(),setCurrentInstance(n);const r=callWithAsyncErrorHandling(t,n,e,o);return unsetCurrentInstance(),resetTracking(),r});return o?r.unshift(i):r.push(i),i}}const createHook=e=>(t,n=currentInstance)=>(!isInSSRComponentSetup||"sp"===e)&&injectHook(e,((...e)=>t(...e)),n),onBeforeMount=createHook("bm"),onMounted=createHook("m"),onBeforeUpdate=createHook("bu"),onUpdated=createHook("u"),onBeforeUnmount=createHook("bum"),onUnmounted=createHook("um"),onServerPrefetch=createHook("sp"),onRenderTriggered=createHook("rtg"),onRenderTracked=createHook("rtc");function onErrorCaptured(e,t=currentInstance){injectHook("ec",e,t)}const COMPONENTS="components",DIRECTIVES="directives";function resolveComponent(e,t){return resolveAsset(COMPONENTS,e,!0,t)||e}const NULL_DYNAMIC_COMPONENT=Symbol.for("v-ndc");function resolveDynamicComponent(e){return isString$1(e)?resolveAsset(COMPONENTS,e,!1)||e:e||NULL_DYNAMIC_COMPONENT}function resolveDirective(e){return resolveAsset(DIRECTIVES,e)}function resolveAsset(e,t,n=!0,o=!1){const r=currentRenderingInstance||currentInstance;if(r){const n=r.type;if(e===COMPONENTS){const e=getComponentName(n,!1);if(e&&(e===t||e===camelize$1(t)||e===capitalize(camelize$1(t))))return n}const i=resolve(r[e]||n[e],t)||resolve(r.appContext[e],t);return!i&&o?n:i}}function resolve(e,t){return e&&(e[t]||e[camelize$1(t)]||e[capitalize(camelize$1(t))])}function renderList(e,t,n,o){let r;const i=n&&n[o];if(isArray$2(e)||isString$1(e)){r=new Array(e.length);for(let n=0,o=e.length;nt(e,n,void 0,i&&i[n])));else{const n=Object.keys(e);r=new Array(n.length);for(let o=0,a=n.length;o!isVNode(e)||e.type!==Comment&&!(e.type===Fragment&&!ensureValidVNode(e.children))))?e:null}const getPublicInstance=e=>e?isStatefulComponent(e)?getExposeProxy(e)||e.proxy:getPublicInstance(e.parent):null,publicPropertiesMap=extend$2(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>getPublicInstance(e.parent),$root:e=>getPublicInstance(e.root),$emit:e=>e.emit,$options:e=>resolveMergedOptions(e),$forceUpdate:e=>e.f||(e.f=()=>queueJob(e.update)),$nextTick:e=>e.n||(e.n=nextTick.bind(e.proxy)),$watch:e=>instanceWatch.bind(e)}),hasSetupBinding=(e,t)=>e!==EMPTY_OBJ&&!e.__isScriptSetup&&hasOwn(e,t),PublicInstanceProxyHandlers={get({_:e},t){const{ctx:n,setupState:o,data:r,props:i,accessCache:a,type:s,appContext:l}=e;let c;if("$"!==t[0]){const s=a[t];if(void 0!==s)switch(s){case 1:return o[t];case 2:return r[t];case 4:return n[t];case 3:return i[t]}else{if(hasSetupBinding(o,t))return a[t]=1,o[t];if(r!==EMPTY_OBJ&&hasOwn(r,t))return a[t]=2,r[t];if((c=e.propsOptions[0])&&hasOwn(c,t))return a[t]=3,i[t];if(n!==EMPTY_OBJ&&hasOwn(n,t))return a[t]=4,n[t];shouldCacheAccess&&(a[t]=0)}}const u=publicPropertiesMap[t];let d,p;return u?("$attrs"===t&&track(e,"get",t),u(e)):(d=s.__cssModules)&&(d=d[t])?d:n!==EMPTY_OBJ&&hasOwn(n,t)?(a[t]=4,n[t]):(p=l.config.globalProperties,hasOwn(p,t)?p[t]:void 0)},set({_:e},t,n){const{data:o,setupState:r,ctx:i}=e;return hasSetupBinding(r,t)?(r[t]=n,!0):o!==EMPTY_OBJ&&hasOwn(o,t)?(o[t]=n,!0):!hasOwn(e.props,t)&&(("$"!==t[0]||!(t.slice(1)in e))&&(i[t]=n,!0))},has({_:{data:e,setupState:t,accessCache:n,ctx:o,appContext:r,propsOptions:i}},a){let s;return!!n[a]||e!==EMPTY_OBJ&&hasOwn(e,a)||hasSetupBinding(t,a)||(s=i[0])&&hasOwn(s,a)||hasOwn(o,a)||hasOwn(publicPropertiesMap,a)||hasOwn(r.config.globalProperties,a)},defineProperty(e,t,n){return null!=n.get?e._.accessCache[t]=0:hasOwn(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function useSlots(){return getContext().slots}function getContext(){const e=getCurrentInstance();return e.setupContext||(e.setupContext=createSetupContext(e))}function normalizePropsOrEmits(e){return isArray$2(e)?e.reduce(((e,t)=>(e[t]=null,e)),{}):e}let shouldCacheAccess=!0;function applyOptions(e){const t=resolveMergedOptions(e),n=e.proxy,o=e.ctx;shouldCacheAccess=!1,t.beforeCreate&&callHook$1(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:a,watch:s,provide:l,inject:c,created:u,beforeMount:d,mounted:p,beforeUpdate:A,updated:f,activated:m,deactivated:h,beforeDestroy:g,beforeUnmount:v,destroyed:b,unmounted:E,render:C,renderTracked:y,renderTriggered:w,errorCaptured:I,serverPrefetch:S,expose:R,inheritAttrs:T,components:_,directives:O,filters:N}=t;if(c&&resolveInjections(c,o,null),a)for(const k in a){const e=a[k];isFunction$2(e)&&(o[k]=e.bind(n))}if(r){const t=r.call(n,n);isObject$3(t)&&(e.data=reactive(t))}if(shouldCacheAccess=!0,i)for(const k in i){const e=i[k],t=isFunction$2(e)?e.bind(n,n):isFunction$2(e.get)?e.get.bind(n,n):NOOP,r=!isFunction$2(e)&&isFunction$2(e.set)?e.set.bind(n):NOOP,a=computed({get:t,set:r});Object.defineProperty(o,k,{enumerable:!0,configurable:!0,get:()=>a.value,set:e=>a.value=e})}if(s)for(const k in s)createWatcher(s[k],o,n,k);if(l){const e=isFunction$2(l)?l.call(n):l;Reflect.ownKeys(e).forEach((t=>{provide(t,e[t])}))}function D(e,t){isArray$2(t)?t.forEach((t=>e(t.bind(n)))):t&&e(t.bind(n))}if(u&&callHook$1(u,e,"c"),D(onBeforeMount,d),D(onMounted,p),D(onBeforeUpdate,A),D(onUpdated,f),D(onActivated,m),D(onDeactivated,h),D(onErrorCaptured,I),D(onRenderTracked,y),D(onRenderTriggered,w),D(onBeforeUnmount,v),D(onUnmounted,E),D(onServerPrefetch,S),isArray$2(R))if(R.length){const t=e.exposed||(e.exposed={});R.forEach((e=>{Object.defineProperty(t,e,{get:()=>n[e],set:t=>n[e]=t})}))}else e.exposed||(e.exposed={});C&&e.render===NOOP&&(e.render=C),null!=T&&(e.inheritAttrs=T),_&&(e.components=_),O&&(e.directives=O)}function resolveInjections(e,t,n=NOOP){isArray$2(e)&&(e=normalizeInject(e));for(const o in e){const n=e[o];let r;r=isObject$3(n)?"default"in n?inject(n.from||o,n.default,!0):inject(n.from||o):inject(n),isRef(r)?Object.defineProperty(t,o,{enumerable:!0,configurable:!0,get:()=>r.value,set:e=>r.value=e}):t[o]=r}}function callHook$1(e,t,n){callWithAsyncErrorHandling(isArray$2(e)?e.map((e=>e.bind(t.proxy))):e.bind(t.proxy),t,n)}function createWatcher(e,t,n,o){const r=o.includes(".")?createPathGetter(n,o):()=>n[o];if(isString$1(e)){const n=t[e];isFunction$2(n)&&watch(r,n)}else if(isFunction$2(e))watch(r,e.bind(n));else if(isObject$3(e))if(isArray$2(e))e.forEach((e=>createWatcher(e,t,n,o)));else{const o=isFunction$2(e.handler)?e.handler.bind(n):t[e.handler];isFunction$2(o)&&watch(r,o,e)}}function resolveMergedOptions(e){const t=e.type,{mixins:n,extends:o}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:a}}=e.appContext,s=i.get(t);let l;return s?l=s:r.length||n||o?(l={},r.length&&r.forEach((e=>mergeOptions$1(l,e,a,!0))),mergeOptions$1(l,t,a)):l=t,isObject$3(t)&&i.set(t,l),l}function mergeOptions$1(e,t,n,o=!1){const{mixins:r,extends:i}=t;i&&mergeOptions$1(e,i,n,!0),r&&r.forEach((t=>mergeOptions$1(e,t,n,!0)));for(const a in t)if(o&&"expose"===a);else{const o=internalOptionMergeStrats[a]||n&&n[a];e[a]=o?o(e[a],t[a]):t[a]}return e}const internalOptionMergeStrats={data:mergeDataFn,props:mergeEmitsOrPropsOptions,emits:mergeEmitsOrPropsOptions,methods:mergeObjectOptions,computed:mergeObjectOptions,beforeCreate:mergeAsArray,created:mergeAsArray,beforeMount:mergeAsArray,mounted:mergeAsArray,beforeUpdate:mergeAsArray,updated:mergeAsArray,beforeDestroy:mergeAsArray,beforeUnmount:mergeAsArray,destroyed:mergeAsArray,unmounted:mergeAsArray,activated:mergeAsArray,deactivated:mergeAsArray,errorCaptured:mergeAsArray,serverPrefetch:mergeAsArray,components:mergeObjectOptions,directives:mergeObjectOptions,watch:mergeWatchOptions,provide:mergeDataFn,inject:mergeInject};function mergeDataFn(e,t){return t?e?function(){return extend$2(isFunction$2(e)?e.call(this,this):e,isFunction$2(t)?t.call(this,this):t)}:t:e}function mergeInject(e,t){return mergeObjectOptions(normalizeInject(e),normalizeInject(t))}function normalizeInject(e){if(isArray$2(e)){const t={};for(let n=0;n(i.has(e)||(e&&isFunction$2(e.install)?(i.add(e),e.install(s,...t)):isFunction$2(e)&&(i.add(e),e(s,...t))),s),mixin:e=>(r.mixins.includes(e)||r.mixins.push(e),s),component:(e,t)=>t?(r.components[e]=t,s):r.components[e],directive:(e,t)=>t?(r.directives[e]=t,s):r.directives[e],mount(i,l,c){if(!a){const u=createVNode(n,o);return u.appContext=r,l&&t?t(u,i):e(u,i,c),a=!0,s._container=i,i.__vue_app__=s,getExposeProxy(u.component)||u.component.proxy}},unmount(){a&&(e(null,s._container),delete s._container.__vue_app__)},provide:(e,t)=>(r.provides[e]=t,s),runWithContext(e){currentApp=s;try{return e()}finally{currentApp=null}}};return s}}let currentApp=null;function provide(e,t){if(currentInstance){let n=currentInstance.provides;const o=currentInstance.parent&¤tInstance.parent.provides;o===n&&(n=currentInstance.provides=Object.create(o)),n[e]=t}else;}function inject(e,t,n=!1){const o=currentInstance||currentRenderingInstance;if(o||currentApp){const r=o?null==o.parent?o.vnode.appContext&&o.vnode.appContext.provides:o.parent.provides:currentApp._context.provides;if(r&&e in r)return r[e];if(arguments.length>1)return n&&isFunction$2(t)?t.call(o&&o.proxy):t}}function hasInjectionContext(){return!!(currentInstance||currentRenderingInstance||currentApp)}function initProps(e,t,n,o=!1){const r={},i={};def(i,InternalObjectKey,1),e.propsDefaults=Object.create(null),setFullProps(e,t,r,i);for(const a in e.propsOptions[0])a in r||(r[a]=void 0);n?e.props=o?r:shallowReactive(r):e.type.props?e.props=r:e.props=i,e.attrs=i}function updateProps(e,t,n,o){const{props:r,attrs:i,vnode:{patchFlag:a}}=e,s=toRaw(r),[l]=e.propsOptions;let c=!1;if(!(o||a>0)||16&a){let o;setFullProps(e,t,r,i)&&(c=!0);for(const i in s)t&&(hasOwn(t,i)||(o=hyphenate(i))!==i&&hasOwn(t,o))||(l?!n||void 0===n[i]&&void 0===n[o]||(r[i]=resolvePropValue(l,s,i,void 0,e,!0)):delete r[i]);if(i!==s)for(const e in i)t&&hasOwn(t,e)||(delete i[e],c=!0)}else if(8&a){const n=e.vnode.dynamicProps;for(let o=0;o{l=!0;const[n,o]=normalizePropsOptions(e,t,!0);extend$2(a,n),o&&s.push(...o)};!n&&t.mixins.length&&t.mixins.forEach(o),e.extends&&o(e.extends),e.mixins&&e.mixins.forEach(o)}if(!i&&!l)return isObject$3(e)&&o.set(e,EMPTY_ARR),EMPTY_ARR;if(isArray$2(i))for(let u=0;u-1,n[1]=o<0||t-1||hasOwn(n,"default"))&&s.push(e)}}}const c=[a,s];return isObject$3(e)&&o.set(e,c),c}function validatePropName(e){return"$"!==e[0]}function getType(e){const t=e&&e.toString().match(/^\s*(function|class) (\w+)/);return t?t[2]:null===e?"null":""}function isSameType(e,t){return getType(e)===getType(t)}function getTypeIndex(e,t){return isArray$2(t)?t.findIndex((t=>isSameType(t,e))):isFunction$2(t)&&isSameType(t,e)?0:-1}const isInternalKey=e=>"_"===e[0]||"$stable"===e,normalizeSlotValue=e=>isArray$2(e)?e.map(normalizeVNode):[normalizeVNode(e)],normalizeSlot$1=(e,t,n)=>{if(t._n)return t;const o=withCtx(((...e)=>normalizeSlotValue(t(...e))),n);return o._c=!1,o},normalizeObjectSlots=(e,t,n)=>{const o=e._ctx;for(const r in e){if(isInternalKey(r))continue;const n=e[r];if(isFunction$2(n))t[r]=normalizeSlot$1(r,n,o);else if(null!=n){const e=normalizeSlotValue(n);t[r]=()=>e}}},normalizeVNodeSlots=(e,t)=>{const n=normalizeSlotValue(t);e.slots.default=()=>n},initSlots=(e,t)=>{if(32&e.vnode.shapeFlag){const n=t._;n?(e.slots=toRaw(t),def(t,"_",n)):normalizeObjectSlots(t,e.slots={})}else e.slots={},t&&normalizeVNodeSlots(e,t);def(e.slots,InternalObjectKey,1)},updateSlots=(e,t,n)=>{const{vnode:o,slots:r}=e;let i=!0,a=EMPTY_OBJ;if(32&o.shapeFlag){const e=t._;e?n&&1===e?i=!1:(extend$2(r,t),n||1!==e||delete r._):(i=!t.$stable,normalizeObjectSlots(t,r)),a=t}else t&&(normalizeVNodeSlots(e,t),a={default:1});if(i)for(const s in r)isInternalKey(s)||s in a||delete r[s]};function setRef(e,t,n,o,r=!1){if(isArray$2(e))return void e.forEach(((e,i)=>setRef(e,t&&(isArray$2(t)?t[i]:t),n,o,r)));if(isAsyncWrapper(o)&&!r)return;const i=4&o.shapeFlag?getExposeProxy(o.component)||o.component.proxy:o.el,a=r?null:i,{i:s,r:l}=e,c=t&&t.r,u=s.refs===EMPTY_OBJ?s.refs={}:s.refs,d=s.setupState;if(null!=c&&c!==l&&(isString$1(c)?(u[c]=null,hasOwn(d,c)&&(d[c]=null)):isRef(c)&&(c.value=null)),isFunction$2(l))callWithErrorHandling(l,s,12,[a,u]);else{const t=isString$1(l),o=isRef(l);if(t||o){const s=()=>{if(e.f){const n=t?hasOwn(d,l)?d[l]:u[l]:l.value;r?isArray$2(n)&&remove(n,i):isArray$2(n)?n.includes(i)||n.push(i):t?(u[l]=[i],hasOwn(d,l)&&(d[l]=u[l])):(l.value=[i],e.k&&(u[e.k]=l.value))}else t?(u[l]=a,hasOwn(d,l)&&(d[l]=a)):o&&(l.value=a,e.k&&(u[e.k]=a))};a?(s.id=-1,queuePostRenderEffect(s,n)):s()}}}const queuePostRenderEffect=queueEffectWithSuspense;function createRenderer(e){return baseCreateRenderer(e)}function baseCreateRenderer(e,t){getGlobalThis().__VUE__=!0;const{insert:n,remove:o,patchProp:r,createElement:i,createText:a,createComment:s,setText:l,setElementText:c,parentNode:u,nextSibling:d,setScopeId:p=NOOP,insertStaticContent:A}=e,f=(e,t,n,o=null,r=null,i=null,a=!1,s=null,l=!!t.dynamicChildren)=>{if(e===t)return;e&&!isSameVNodeType(e,t)&&(o=U(e),B(e,r,i,!0),e=null),-2===t.patchFlag&&(l=!1,t.dynamicChildren=null);const{type:c,ref:u,shapeFlag:d}=t;switch(c){case Text:m(e,t,n,o);break;case Comment:h(e,t,n,o);break;case Static:null==e&&g(t,n,o,a);break;case Fragment:S(e,t,n,o,r,i,a,s,l);break;default:1&d?v(e,t,n,o,r,i,a,s,l):6&d?R(e,t,n,o,r,i,a,s,l):(64&d||128&d)&&c.process(e,t,n,o,r,i,a,s,l,F)}null!=u&&r&&setRef(u,e&&e.ref,i,t||e,!t)},m=(e,t,o,r)=>{if(null==e)n(t.el=a(t.children),o,r);else{const n=t.el=e.el;t.children!==e.children&&l(n,t.children)}},h=(e,t,o,r)=>{null==e?n(t.el=s(t.children||""),o,r):t.el=e.el},g=(e,t,n,o)=>{[e.el,e.anchor]=A(e.children,t,n,o,e.el,e.anchor)},v=(e,t,n,o,r,i,a,s,l)=>{a=a||"svg"===t.type,null==e?b(t,n,o,r,i,a,s,l):y(e,t,r,i,a,s,l)},b=(e,t,o,a,s,l,u,d)=>{let p,A;const{type:f,props:m,shapeFlag:h,transition:g,dirs:v}=e;if(p=e.el=i(e.type,l,m&&m.is,m),8&h?c(p,e.children):16&h&&C(e.children,p,null,a,s,l&&"foreignObject"!==f,u,d),v&&invokeDirectiveHook(e,null,a,"created"),E(p,e,e.scopeId,u,a),m){for(const t in m)"value"===t||isReservedProp(t)||r(p,t,null,m[t],l,e.children,a,s,G);"value"in m&&r(p,"value",null,m.value),(A=m.onVnodeBeforeMount)&&invokeVNodeHook(A,a,e)}v&&invokeDirectiveHook(e,null,a,"beforeMount");const b=(!s||s&&!s.pendingBranch)&&g&&!g.persisted;b&&g.beforeEnter(p),n(p,t,o),((A=m&&m.onVnodeMounted)||b||v)&&queuePostRenderEffect((()=>{A&&invokeVNodeHook(A,a,e),b&&g.enter(p),v&&invokeDirectiveHook(e,null,a,"mounted")}),s)},E=(e,t,n,o,r)=>{if(n&&p(e,n),o)for(let i=0;i{for(let c=l;c{const l=t.el=e.el;let{patchFlag:u,dynamicChildren:d,dirs:p}=t;u|=16&e.patchFlag;const A=e.props||EMPTY_OBJ,f=t.props||EMPTY_OBJ;let m;n&&toggleRecurse(n,!1),(m=f.onVnodeBeforeUpdate)&&invokeVNodeHook(m,n,t,e),p&&invokeDirectiveHook(t,e,n,"beforeUpdate"),n&&toggleRecurse(n,!0);const h=i&&"foreignObject"!==t.type;if(d?w(e.dynamicChildren,d,l,n,o,h,a):s||D(e,t,l,null,n,o,h,a,!1),u>0){if(16&u)I(l,t,A,f,n,o,i);else if(2&u&&A.class!==f.class&&r(l,"class",null,f.class,i),4&u&&r(l,"style",A.style,f.style,i),8&u){const a=t.dynamicProps;for(let t=0;t{m&&invokeVNodeHook(m,n,t,e),p&&invokeDirectiveHook(t,e,n,"updated")}),o)},w=(e,t,n,o,r,i,a)=>{for(let s=0;s{if(n!==o){if(n!==EMPTY_OBJ)for(const l in n)isReservedProp(l)||l in o||r(e,l,n[l],null,s,t.children,i,a,G);for(const l in o){if(isReservedProp(l))continue;const c=o[l],u=n[l];c!==u&&"value"!==l&&r(e,l,u,c,s,t.children,i,a,G)}"value"in o&&r(e,"value",n.value,o.value)}},S=(e,t,o,r,i,s,l,c,u)=>{const d=t.el=e?e.el:a(""),p=t.anchor=e?e.anchor:a("");let{patchFlag:A,dynamicChildren:f,slotScopeIds:m}=t;m&&(c=c?c.concat(m):m),null==e?(n(d,o,r),n(p,o,r),C(t.children,o,p,i,s,l,c,u)):A>0&&64&A&&f&&e.dynamicChildren?(w(e.dynamicChildren,f,o,i,s,l,c),(null!=t.key||i&&t===i.subTree)&&traverseStaticChildren(e,t,!0)):D(e,t,o,p,i,s,l,c,u)},R=(e,t,n,o,r,i,a,s,l)=>{t.slotScopeIds=s,null==e?512&t.shapeFlag?r.ctx.activate(t,n,o,a,l):T(t,n,o,r,i,a,l):_(e,t,l)},T=(e,t,n,o,r,i,a)=>{const s=e.component=createComponentInstance(e,o,r);if(isKeepAlive(e)&&(s.ctx.renderer=F),setupComponent(s),s.asyncDep){if(r&&r.registerDep(s,O),!e.el){const e=s.subTree=createVNode(Comment);h(null,e,t,n)}}else O(s,e,t,n,r,i,a)},_=(e,t,n)=>{const o=t.component=e.component;if(shouldUpdateComponent(e,t,n)){if(o.asyncDep&&!o.asyncResolved)return void N(o,t,n);o.next=t,invalidateJob(o.update),o.update()}else t.el=e.el,o.vnode=t},O=(e,t,n,o,r,i,a)=>{const s=e.effect=new ReactiveEffect((()=>{if(e.isMounted){let t,{next:n,bu:o,u:s,parent:l,vnode:c}=e,d=n;toggleRecurse(e,!1),n?(n.el=c.el,N(e,n,a)):n=c,o&&invokeArrayFns(o),(t=n.props&&n.props.onVnodeBeforeUpdate)&&invokeVNodeHook(t,l,n,c),toggleRecurse(e,!0);const p=renderComponentRoot(e),A=e.subTree;e.subTree=p,f(A,p,u(A.el),U(A),e,r,i),n.el=p.el,null===d&&updateHOCHostEl(e,p.el),s&&queuePostRenderEffect(s,r),(t=n.props&&n.props.onVnodeUpdated)&&queuePostRenderEffect((()=>invokeVNodeHook(t,l,n,c)),r)}else{let a;const{el:s,props:l}=t,{bm:c,m:u,parent:d}=e,p=isAsyncWrapper(t);if(toggleRecurse(e,!1),c&&invokeArrayFns(c),!p&&(a=l&&l.onVnodeBeforeMount)&&invokeVNodeHook(a,d,t),toggleRecurse(e,!0),s&&Z){const n=()=>{e.subTree=renderComponentRoot(e),Z(s,e.subTree,e,r,null)};p?t.type.__asyncLoader().then((()=>!e.isUnmounted&&n())):n()}else{const a=e.subTree=renderComponentRoot(e);f(null,a,n,o,e,r,i),t.el=a.el}if(u&&queuePostRenderEffect(u,r),!p&&(a=l&&l.onVnodeMounted)){const e=t;queuePostRenderEffect((()=>invokeVNodeHook(a,d,e)),r)}(256&t.shapeFlag||d&&isAsyncWrapper(d.vnode)&&256&d.vnode.shapeFlag)&&e.a&&queuePostRenderEffect(e.a,r),e.isMounted=!0,t=n=o=null}}),(()=>queueJob(l)),e.scope),l=e.update=()=>s.run();l.id=e.uid,toggleRecurse(e,!0),l()},N=(e,t,n)=>{t.component=e;const o=e.vnode.props;e.vnode=t,e.next=null,updateProps(e,t.props,o,n),updateSlots(e,t.children,n),pauseTracking(),flushPreFlushCbs(),resetTracking()},D=(e,t,n,o,r,i,a,s,l=!1)=>{const u=e&&e.children,d=e?e.shapeFlag:0,p=t.children,{patchFlag:A,shapeFlag:f}=t;if(A>0){if(128&A)return void M(u,p,n,o,r,i,a,s,l);if(256&A)return void k(u,p,n,o,r,i,a,s,l)}8&f?(16&d&&G(u,r,i),p!==u&&c(n,p)):16&d?16&f?M(u,p,n,o,r,i,a,s,l):G(u,r,i,!0):(8&d&&c(n,""),16&f&&C(p,n,o,r,i,a,s,l))},k=(e,t,n,o,r,i,a,s,l)=>{t=t||EMPTY_ARR;const c=(e=e||EMPTY_ARR).length,u=t.length,d=Math.min(c,u);let p;for(p=0;pu?G(e,r,i,!0,!1,d):C(t,n,o,r,i,a,s,l,d)},M=(e,t,n,o,r,i,a,s,l)=>{let c=0;const u=t.length;let d=e.length-1,p=u-1;for(;c<=d&&c<=p;){const o=e[c],u=t[c]=l?cloneIfMounted(t[c]):normalizeVNode(t[c]);if(!isSameVNodeType(o,u))break;f(o,u,n,null,r,i,a,s,l),c++}for(;c<=d&&c<=p;){const o=e[d],c=t[p]=l?cloneIfMounted(t[p]):normalizeVNode(t[p]);if(!isSameVNodeType(o,c))break;f(o,c,n,null,r,i,a,s,l),d--,p--}if(c>d){if(c<=p){const e=p+1,d=ep)for(;c<=d;)B(e[c],r,i,!0),c++;else{const A=c,m=c,h=new Map;for(c=m;c<=p;c++){const e=t[c]=l?cloneIfMounted(t[c]):normalizeVNode(t[c]);null!=e.key&&h.set(e.key,c)}let g,v=0;const b=p-m+1;let E=!1,C=0;const y=new Array(b);for(c=0;c=b){B(o,r,i,!0);continue}let u;if(null!=o.key)u=h.get(o.key);else for(g=m;g<=p;g++)if(0===y[g-m]&&isSameVNodeType(o,t[g])){u=g;break}void 0===u?B(o,r,i,!0):(y[u-m]=c+1,u>=C?C=u:E=!0,f(o,t[u],n,null,r,i,a,s,l),v++)}const w=E?getSequence(y):EMPTY_ARR;for(g=w.length-1,c=b-1;c>=0;c--){const e=m+c,d=t[e],p=e+1{const{el:a,type:s,transition:l,children:c,shapeFlag:u}=e;if(6&u)return void P(e.component.subTree,t,o,r);if(128&u)return void e.suspense.move(t,o,r);if(64&u)return void s.move(e,t,o,F);if(s===Fragment){n(a,t,o);for(let e=0;e{let i;for(;e&&e!==t;)i=d(e),n(e,o,r),e=i;n(t,o,r)})(e,t,o);if(2!==r&&1&u&&l)if(0===r)l.beforeEnter(a),n(a,t,o),queuePostRenderEffect((()=>l.enter(a)),i);else{const{leave:e,delayLeave:r,afterLeave:i}=l,s=()=>n(a,t,o),c=()=>{e(a,(()=>{s(),i&&i()}))};r?r(a,s,c):c()}else n(a,t,o)},B=(e,t,n,o=!1,r=!1)=>{const{type:i,props:a,ref:s,children:l,dynamicChildren:c,shapeFlag:u,patchFlag:d,dirs:p}=e;if(null!=s&&setRef(s,null,n,e,!0),256&u)return void t.ctx.deactivate(e);const A=1&u&&p,f=!isAsyncWrapper(e);let m;if(f&&(m=a&&a.onVnodeBeforeUnmount)&&invokeVNodeHook(m,t,e),6&u)V(e.component,n,o);else{if(128&u)return void e.suspense.unmount(n,o);A&&invokeDirectiveHook(e,null,t,"beforeUnmount"),64&u?e.type.remove(e,t,n,r,F,o):c&&(i!==Fragment||d>0&&64&d)?G(c,t,n,!1,!0):(i===Fragment&&384&d||!r&&16&u)&&G(l,t,n),o&&x(e)}(f&&(m=a&&a.onVnodeUnmounted)||A)&&queuePostRenderEffect((()=>{m&&invokeVNodeHook(m,t,e),A&&invokeDirectiveHook(e,null,t,"unmounted")}),n)},x=e=>{const{type:t,el:n,anchor:r,transition:i}=e;if(t===Fragment)return void L(n,r);if(t===Static)return void(({el:e,anchor:t})=>{let n;for(;e&&e!==t;)n=d(e),o(e),e=n;o(t)})(e);const a=()=>{o(n),i&&!i.persisted&&i.afterLeave&&i.afterLeave()};if(1&e.shapeFlag&&i&&!i.persisted){const{leave:t,delayLeave:o}=i,r=()=>t(n,a);o?o(e.el,a,r):r()}else a()},L=(e,t)=>{let n;for(;e!==t;)n=d(e),o(e),e=n;o(t)},V=(e,t,n)=>{const{bum:o,scope:r,update:i,subTree:a,um:s}=e;o&&invokeArrayFns(o),r.stop(),i&&(i.active=!1,B(a,e,t,n)),s&&queuePostRenderEffect(s,t),queuePostRenderEffect((()=>{e.isUnmounted=!0}),t),t&&t.pendingBranch&&!t.isUnmounted&&e.asyncDep&&!e.asyncResolved&&e.suspenseId===t.pendingId&&(t.deps--,0===t.deps&&t.resolve())},G=(e,t,n,o=!1,r=!1,i=0)=>{for(let a=i;a6&e.shapeFlag?U(e.component.subTree):128&e.shapeFlag?e.suspense.next():d(e.anchor||e.el),j=(e,t,n)=>{null==e?t._vnode&&B(t._vnode,null,null,!0):f(t._vnode||null,e,t,null,null,null,n),flushPreFlushCbs(),flushPostFlushCbs(),t._vnode=e},F={p:f,um:B,m:P,r:x,mt:T,mc:C,pc:D,pbc:w,n:U,o:e};let Y,Z;return t&&([Y,Z]=t(F)),{render:j,hydrate:Y,createApp:createAppAPI(j,Y)}}function toggleRecurse({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function traverseStaticChildren(e,t,n=!1){const o=e.children,r=t.children;if(isArray$2(o)&&isArray$2(r))for(let i=0;i>1,e[n[s]]0&&(t[o]=n[i-1]),n[i]=o)}}for(i=n.length,a=n[i-1];i-- >0;)n[i]=a,a=t[a];return n}const isTeleport=e=>e.__isTeleport,isTeleportDisabled=e=>e&&(e.disabled||""===e.disabled),isTargetSVG=e=>"undefined"!=typeof SVGElement&&e instanceof SVGElement,resolveTarget=(e,t)=>{const n=e&&e.to;if(isString$1(n)){if(t){return t(n)}return null}return n},TeleportImpl={__isTeleport:!0,process(e,t,n,o,r,i,a,s,l,c){const{mc:u,pc:d,pbc:p,o:{insert:A,querySelector:f,createText:m,createComment:h}}=c,g=isTeleportDisabled(t.props);let{shapeFlag:v,children:b,dynamicChildren:E}=t;if(null==e){const e=t.el=m(""),c=t.anchor=m("");A(e,n,o),A(c,n,o);const d=t.target=resolveTarget(t.props,f),p=t.targetAnchor=m("");d&&(A(p,d),a=a||isTargetSVG(d));const h=(e,t)=>{16&v&&u(b,e,t,r,i,a,s,l)};g?h(n,c):d&&h(d,p)}else{t.el=e.el;const o=t.anchor=e.anchor,u=t.target=e.target,A=t.targetAnchor=e.targetAnchor,m=isTeleportDisabled(e.props),h=m?n:u,v=m?o:A;if(a=a||isTargetSVG(u),E?(p(e.dynamicChildren,E,h,r,i,a,s),traverseStaticChildren(e,t,!0)):l||d(e,t,h,v,r,i,a,s,!1),g)m||moveTeleport(t,n,o,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const e=t.target=resolveTarget(t.props,f);e&&moveTeleport(t,e,null,c,0)}else m&&moveTeleport(t,u,A,c,1)}updateCssVars(t)},remove(e,t,n,o,{um:r,o:{remove:i}},a){const{shapeFlag:s,children:l,anchor:c,targetAnchor:u,target:d,props:p}=e;if(d&&i(u),(a||!isTeleportDisabled(p))&&(i(c),16&s))for(let A=0;A0?currentBlock||EMPTY_ARR:null,closeBlock(),isBlockTreeEnabled>0&¤tBlock&¤tBlock.push(e),e}function createElementBlock(e,t,n,o,r,i){return setupBlock(createBaseVNode(e,t,n,o,r,i,!0))}function createBlock(e,t,n,o,r){return setupBlock(createVNode(e,t,n,o,r,!0))}function isVNode(e){return!!e&&!0===e.__v_isVNode}function isSameVNodeType(e,t){return e.type===t.type&&e.key===t.key}const InternalObjectKey="__vInternal",normalizeKey=({key:e})=>null!=e?e:null,normalizeRef=({ref:e,ref_key:t,ref_for:n})=>("number"==typeof e&&(e=""+e),null!=e?isString$1(e)||isRef(e)||isFunction$2(e)?{i:currentRenderingInstance,r:e,k:t,f:!!n}:e:null);function createBaseVNode(e,t=null,n=null,o=0,r=null,i=(e===Fragment?0:1),a=!1,s=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&normalizeKey(t),ref:t&&normalizeRef(t),scopeId:currentScopeId,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:o,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:currentRenderingInstance};return s?(normalizeChildren(l,n),128&i&&e.normalize(l)):n&&(l.shapeFlag|=isString$1(n)?8:16),isBlockTreeEnabled>0&&!a&¤tBlock&&(l.patchFlag>0||6&i)&&32!==l.patchFlag&¤tBlock.push(l),l}const createVNode=_createVNode;function _createVNode(e,t=null,n=null,o=0,r=null,i=!1){if(e&&e!==NULL_DYNAMIC_COMPONENT||(e=Comment),isVNode(e)){const o=cloneVNode(e,t,!0);return n&&normalizeChildren(o,n),isBlockTreeEnabled>0&&!i&¤tBlock&&(6&o.shapeFlag?currentBlock[currentBlock.indexOf(e)]=o:currentBlock.push(o)),o.patchFlag|=-2,o}if(isClassComponent(e)&&(e=e.__vccOpts),t){t=guardReactiveProps(t);let{class:e,style:n}=t;e&&!isString$1(e)&&(t.class=normalizeClass(e)),isObject$3(n)&&(isProxy(n)&&!isArray$2(n)&&(n=extend$2({},n)),t.style=normalizeStyle(n))}return createBaseVNode(e,t,n,o,r,isString$1(e)?1:isSuspense(e)?128:isTeleport(e)?64:isObject$3(e)?4:isFunction$2(e)?2:0,i,!0)}function guardReactiveProps(e){return e?isProxy(e)||InternalObjectKey in e?extend$2({},e):e:null}function cloneVNode(e,t,n=!1){const{props:o,ref:r,patchFlag:i,children:a}=e,s=t?mergeProps(o||{},t):o;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:s,key:s&&normalizeKey(s),ref:t&&t.ref?n&&r?isArray$2(r)?r.concat(normalizeRef(t)):[r,normalizeRef(t)]:normalizeRef(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Fragment?-1===i?16:16|i:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&cloneVNode(e.ssContent),ssFallback:e.ssFallback&&cloneVNode(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function createTextVNode(e=" ",t=0){return createVNode(Text,null,e,t)}function createStaticVNode(e,t){const n=createVNode(Static,null,e);return n.staticCount=t,n}function createCommentVNode(e="",t=!1){return t?(openBlock(),createBlock(Comment,null,e)):createVNode(Comment,null,e)}function normalizeVNode(e){return null==e||"boolean"==typeof e?createVNode(Comment):isArray$2(e)?createVNode(Fragment,null,e.slice()):"object"==typeof e?cloneIfMounted(e):createVNode(Text,null,String(e))}function cloneIfMounted(e){return null===e.el&&-1!==e.patchFlag||e.memo?e:cloneVNode(e)}function normalizeChildren(e,t){let n=0;const{shapeFlag:o}=e;if(null==t)t=null;else if(isArray$2(t))n=16;else if("object"==typeof t){if(65&o){const n=t.default;return void(n&&(n._c&&(n._d=!1),normalizeChildren(e,n()),n._c&&(n._d=!0)))}{n=32;const o=t._;o||InternalObjectKey in t?3===o&¤tRenderingInstance&&(1===currentRenderingInstance.slots._?t._=1:(t._=2,e.patchFlag|=1024)):t._ctx=currentRenderingInstance}}else isFunction$2(t)?(t={default:t,_ctx:currentRenderingInstance},n=32):(t=String(t),64&o?(n=16,t=[createTextVNode(t)]):n=8);e.children=t,e.shapeFlag|=n}function mergeProps(...e){const t={};for(let n=0;ncurrentInstance||currentRenderingInstance;let internalSetCurrentInstance,globalCurrentInstanceSetters,settersKey="__VUE_INSTANCE_SETTERS__";(globalCurrentInstanceSetters=getGlobalThis()[settersKey])||(globalCurrentInstanceSetters=getGlobalThis()[settersKey]=[]),globalCurrentInstanceSetters.push((e=>currentInstance=e)),internalSetCurrentInstance=e=>{globalCurrentInstanceSetters.length>1?globalCurrentInstanceSetters.forEach((t=>t(e))):globalCurrentInstanceSetters[0](e)};const setCurrentInstance=e=>{internalSetCurrentInstance(e),e.scope.on()},unsetCurrentInstance=()=>{currentInstance&¤tInstance.scope.off(),internalSetCurrentInstance(null)};function isStatefulComponent(e){return 4&e.vnode.shapeFlag}let isInSSRComponentSetup=!1,compile;function setupComponent(e,t=!1){isInSSRComponentSetup=t;const{props:n,children:o}=e.vnode,r=isStatefulComponent(e);initProps(e,n,r,t),initSlots(e,o);const i=r?setupStatefulComponent(e,t):void 0;return isInSSRComponentSetup=!1,i}function setupStatefulComponent(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=markRaw(new Proxy(e.ctx,PublicInstanceProxyHandlers));const{setup:o}=n;if(o){const n=e.setupContext=o.length>1?createSetupContext(e):null;setCurrentInstance(e),pauseTracking();const r=callWithErrorHandling(o,e,0,[e.props,n]);if(resetTracking(),unsetCurrentInstance(),isPromise$1(r)){if(r.then(unsetCurrentInstance,unsetCurrentInstance),t)return r.then((n=>{handleSetupResult(e,n,t)})).catch((t=>{handleError(t,e,0)}));e.asyncDep=r}else handleSetupResult(e,r,t)}else finishComponentSetup(e,t)}function handleSetupResult(e,t,n){isFunction$2(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:isObject$3(t)&&(e.setupState=proxyRefs(t)),finishComponentSetup(e,n)}function finishComponentSetup(e,t,n){const o=e.type;if(!e.render){if(!t&&compile&&!o.render){const t=o.template||resolveMergedOptions(e).template;if(t){const{isCustomElement:n,compilerOptions:r}=e.appContext.config,{delimiters:i,compilerOptions:a}=o,s=extend$2(extend$2({isCustomElement:n,delimiters:i},r),a);o.render=compile(t,s)}}e.render=o.render||NOOP}setCurrentInstance(e),pauseTracking(),applyOptions(e),resetTracking(),unsetCurrentInstance()}function getAttrsProxy(e){return e.attrsProxy||(e.attrsProxy=new Proxy(e.attrs,{get:(t,n)=>(track(e,"get","$attrs"),t[n])}))}function createSetupContext(e){const t=t=>{e.exposed=t||{}};return{get attrs(){return getAttrsProxy(e)},slots:e.slots,emit:e.emit,expose:t}}function getExposeProxy(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(proxyRefs(markRaw(e.exposed)),{get:(t,n)=>n in t?t[n]:n in publicPropertiesMap?publicPropertiesMap[n](e):void 0,has:(e,t)=>t in e||t in publicPropertiesMap}))}function getComponentName(e,t=!0){return isFunction$2(e)?e.displayName||e.name:e.name||t&&e.__name}function isClassComponent(e){return isFunction$2(e)&&"__vccOpts"in e}const computed=(e,t)=>computed$1(e,t,isInSSRComponentSetup);function h$1(e,t,n){const o=arguments.length;return 2===o?isObject$3(t)&&!isArray$2(t)?isVNode(t)?createVNode(e,null,[t]):createVNode(e,t):createVNode(e,null,t):(o>3?n=Array.prototype.slice.call(arguments,2):3===o&&isVNode(n)&&(n=[n]),createVNode(e,t,n))}const ssrContextKey=Symbol.for("v-scx"),useSSRContext=()=>inject(ssrContextKey),version$1="3.3.4",svgNS="http://www.w3.org/2000/svg",doc="undefined"!=typeof document?document:null,templateContainer=doc&&doc.createElement("template"),nodeOps={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,o)=>{const r=t?doc.createElementNS(svgNS,e):doc.createElement(e,n?{is:n}:void 0);return"select"===e&&o&&null!=o.multiple&&r.setAttribute("multiple",o.multiple),r},createText:e=>doc.createTextNode(e),createComment:e=>doc.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>doc.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,o,r,i){const a=n?n.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),r!==i&&(r=r.nextSibling););else{templateContainer.innerHTML=o?`${e}`:e;const r=templateContainer.content;if(o){const e=r.firstChild;for(;e.firstChild;)r.appendChild(e.firstChild);r.removeChild(e)}t.insertBefore(r,n)}return[a?a.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}};function patchClass(e,t,n){const o=e._vtc;o&&(t=(t?[t,...o]:[...o]).join(" ")),null==t?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}function patchStyle(e,t,n){const o=e.style,r=isString$1(n);if(n&&!r){if(t&&!isString$1(t))for(const e in t)null==n[e]&&setStyle(o,e,"");for(const e in n)setStyle(o,e,n[e])}else{const i=o.display;r?t!==n&&(o.cssText=n):t&&e.removeAttribute("style"),"_vod"in e&&(o.display=i)}}const importantRE=/\s*!important$/;function setStyle(e,t,n){if(isArray$2(n))n.forEach((n=>setStyle(e,t,n)));else if(null==n&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const o=autoPrefix(e,t);importantRE.test(n)?e.setProperty(hyphenate(o),n.replace(importantRE,""),"important"):e[o]=n}}const prefixes=["Webkit","Moz","ms"],prefixCache={};function autoPrefix(e,t){const n=prefixCache[t];if(n)return n;let o=camelize$1(t);if("filter"!==o&&o in e)return prefixCache[t]=o;o=capitalize(o);for(let r=0;rcachedNow||(p$1.then((()=>cachedNow=0)),cachedNow=Date.now());function createInvoker(e,t){const n=e=>{if(e._vts){if(e._vts<=n.attached)return}else e._vts=Date.now();callWithAsyncErrorHandling(patchStopImmediatePropagation(e,n.value),t,5,[e])};return n.value=e,n.attached=getNow(),n}function patchStopImmediatePropagation(e,t){if(isArray$2(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map((e=>t=>!t._stopped&&e&&e(t)))}return t}const nativeOnRE=/^on[a-z]/,patchProp=(e,t,n,o,r=!1,i,a,s,l)=>{"class"===t?patchClass(e,o,r):"style"===t?patchStyle(e,n,o):isOn(t)?isModelListener(t)||patchEvent(e,t,n,o,a):("."===t[0]?(t=t.slice(1),1):"^"===t[0]?(t=t.slice(1),0):shouldSetAsProp(e,t,o,r))?patchDOMProp(e,t,o,i,a,s,l):("true-value"===t?e._trueValue=o:"false-value"===t&&(e._falseValue=o),patchAttr(e,t,o,r))};function shouldSetAsProp(e,t,n,o){return o?"innerHTML"===t||"textContent"===t||!!(t in e&&nativeOnRE.test(t)&&isFunction$2(n)):"spellcheck"!==t&&"draggable"!==t&&"translate"!==t&&("form"!==t&&(("list"!==t||"INPUT"!==e.tagName)&&(("type"!==t||"TEXTAREA"!==e.tagName)&&((!nativeOnRE.test(t)||!isString$1(n))&&t in e))))}const TRANSITION="transition",ANIMATION="animation",Transition=(e,{slots:t})=>h$1(BaseTransition,resolveTransitionProps(e),t);Transition.displayName="Transition";const DOMTransitionPropsValidators={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String};Transition.props=extend$2({},BaseTransitionPropsValidators,DOMTransitionPropsValidators);const callHook=(e,t=[])=>{isArray$2(e)?e.forEach((e=>e(...t))):e&&e(...t)},hasExplicitCallback=e=>!!e&&(isArray$2(e)?e.some((e=>e.length>1)):e.length>1);function resolveTransitionProps(e){const t={};for(const _ in e)_ in DOMTransitionPropsValidators||(t[_]=e[_]);if(!1===e.css)return t;const{name:n="v",type:o,duration:r,enterFromClass:i=`${n}-enter-from`,enterActiveClass:a=`${n}-enter-active`,enterToClass:s=`${n}-enter-to`,appearFromClass:l=i,appearActiveClass:c=a,appearToClass:u=s,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:A=`${n}-leave-to`}=e,f=normalizeDuration(r),m=f&&f[0],h=f&&f[1],{onBeforeEnter:g,onEnter:v,onEnterCancelled:b,onLeave:E,onLeaveCancelled:C,onBeforeAppear:y=g,onAppear:w=v,onAppearCancelled:I=b}=t,S=(e,t,n)=>{removeTransitionClass(e,t?u:s),removeTransitionClass(e,t?c:a),n&&n()},R=(e,t)=>{e._isLeaving=!1,removeTransitionClass(e,d),removeTransitionClass(e,A),removeTransitionClass(e,p),t&&t()},T=e=>(t,n)=>{const r=e?w:v,a=()=>S(t,e,n);callHook(r,[t,a]),nextFrame((()=>{removeTransitionClass(t,e?l:i),addTransitionClass(t,e?u:s),hasExplicitCallback(r)||whenTransitionEnds(t,o,m,a)}))};return extend$2(t,{onBeforeEnter(e){callHook(g,[e]),addTransitionClass(e,i),addTransitionClass(e,a)},onBeforeAppear(e){callHook(y,[e]),addTransitionClass(e,l),addTransitionClass(e,c)},onEnter:T(!1),onAppear:T(!0),onLeave(e,t){e._isLeaving=!0;const n=()=>R(e,t);addTransitionClass(e,d),forceReflow(),addTransitionClass(e,p),nextFrame((()=>{e._isLeaving&&(removeTransitionClass(e,d),addTransitionClass(e,A),hasExplicitCallback(E)||whenTransitionEnds(e,o,h,n))})),callHook(E,[e,n])},onEnterCancelled(e){S(e,!1),callHook(b,[e])},onAppearCancelled(e){S(e,!0),callHook(I,[e])},onLeaveCancelled(e){R(e),callHook(C,[e])}})}function normalizeDuration(e){if(null==e)return null;if(isObject$3(e))return[NumberOf(e.enter),NumberOf(e.leave)];{const t=NumberOf(e);return[t,t]}}function NumberOf(e){return toNumber(e)}function addTransitionClass(e,t){t.split(/\s+/).forEach((t=>t&&e.classList.add(t))),(e._vtc||(e._vtc=new Set)).add(t)}function removeTransitionClass(e,t){t.split(/\s+/).forEach((t=>t&&e.classList.remove(t)));const{_vtc:n}=e;n&&(n.delete(t),n.size||(e._vtc=void 0))}function nextFrame(e){requestAnimationFrame((()=>{requestAnimationFrame(e)}))}let endId=0;function whenTransitionEnds(e,t,n,o){const r=e._endId=++endId,i=()=>{r===e._endId&&o()};if(n)return setTimeout(i,n);const{type:a,timeout:s,propCount:l}=getTransitionInfo(e,t);if(!a)return o();const c=a+"end";let u=0;const d=()=>{e.removeEventListener(c,p),i()},p=t=>{t.target===e&&++u>=l&&d()};setTimeout((()=>{u(n[e]||"").split(", "),r=o(`${TRANSITION}Delay`),i=o(`${TRANSITION}Duration`),a=getTimeout(r,i),s=o(`${ANIMATION}Delay`),l=o(`${ANIMATION}Duration`),c=getTimeout(s,l);let u=null,d=0,p=0;t===TRANSITION?a>0&&(u=TRANSITION,d=a,p=i.length):t===ANIMATION?c>0&&(u=ANIMATION,d=c,p=l.length):(d=Math.max(a,c),u=d>0?a>c?TRANSITION:ANIMATION:null,p=u?u===TRANSITION?i.length:l.length:0);return{type:u,timeout:d,propCount:p,hasTransform:u===TRANSITION&&/\b(transform|all)(,|$)/.test(o(`${TRANSITION}Property`).toString())}}function getTimeout(e,t){for(;e.lengthtoMs(t)+toMs(e[n]))))}function toMs(e){return 1e3*Number(e.slice(0,-1).replace(",","."))}function forceReflow(){return document.body.offsetHeight}const getModelAssigner=e=>{const t=e.props["onUpdate:modelValue"]||!1;return isArray$2(t)?e=>invokeArrayFns(t,e):t};function onCompositionStart(e){e.target.composing=!0}function onCompositionEnd(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const vModelText={created(e,{modifiers:{lazy:t,trim:n,number:o}},r){e._assign=getModelAssigner(r);const i=o||r.props&&"number"===r.props.type;addEventListener(e,t?"change":"input",(t=>{if(t.target.composing)return;let o=e.value;n&&(o=o.trim()),i&&(o=looseToNumber(o)),e._assign(o)})),n&&addEventListener(e,"change",(()=>{e.value=e.value.trim()})),t||(addEventListener(e,"compositionstart",onCompositionStart),addEventListener(e,"compositionend",onCompositionEnd),addEventListener(e,"change",onCompositionEnd))},mounted(e,{value:t}){e.value=null==t?"":t},beforeUpdate(e,{value:t,modifiers:{lazy:n,trim:o,number:r}},i){if(e._assign=getModelAssigner(i),e.composing)return;if(document.activeElement===e&&"range"!==e.type){if(n)return;if(o&&e.value.trim()===t)return;if((r||"number"===e.type)&&looseToNumber(e.value)===t)return}const a=null==t?"":t;e.value!==a&&(e.value=a)}},systemModifiers=["ctrl","shift","alt","meta"],modifierGuards={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&0!==e.button,middle:e=>"button"in e&&1!==e.button,right:e=>"button"in e&&2!==e.button,exact:(e,t)=>systemModifiers.some((n=>e[`${n}Key`]&&!t.includes(n)))},withModifiers=(e,t)=>(n,...o)=>{for(let e=0;en=>{if(!("key"in n))return;const o=hyphenate(n.key);return t.some((e=>e===o||keyNames[e]===o))?e(n):void 0},vShow={beforeMount(e,{value:t},{transition:n}){e._vod="none"===e.style.display?"":e.style.display,n&&t?n.beforeEnter(e):setDisplay(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:o}){!t!=!n&&(o?t?(o.beforeEnter(e),setDisplay(e,!0),o.enter(e)):o.leave(e,(()=>{setDisplay(e,!1)})):setDisplay(e,t))},beforeUnmount(e,{value:t}){setDisplay(e,t)}};function setDisplay(e,t){e.style.display=t?e._vod:"none"}const rendererOptions=extend$2({patchProp:patchProp},nodeOps);let renderer;function ensureRenderer(){return renderer||(renderer=createRenderer(rendererOptions))}const createApp=(...e)=>{const t=ensureRenderer().createApp(...e),{mount:n}=t;return t.mount=e=>{const o=normalizeContainer(e);if(!o)return;const r=t._component;isFunction$2(r)||r.render||r.template||(r.template=o.innerHTML),o.innerHTML="";const i=n(o,!1,o instanceof SVGElement);return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),i},t};function normalizeContainer(e){if(isString$1(e)){return document.querySelector(e)}return e}const style="",scriptRel="modulepreload",assetsURL=function(e){return"/"+e},seen={},__vitePreload=function(e,t,n){if(!t||0===t.length)return e();const o=document.getElementsByTagName("link");return Promise.all(t.map((e=>{if((e=assetsURL(e))in seen)return;seen[e]=!0;const t=e.endsWith(".css"),r=t?'[rel="stylesheet"]':"";if(!!n)for(let n=o.length-1;n>=0;n--){const r=o[n];if(r.href===e&&(!t||"stylesheet"===r.rel))return}else if(document.querySelector(`link[href="${e}"]${r}`))return;const i=document.createElement("link");return i.rel=t?"stylesheet":scriptRel,t||(i.as="script",i.crossOrigin=""),i.href=e,document.head.appendChild(i),t?new Promise(((t,n)=>{i.addEventListener("load",t),i.addEventListener("error",(()=>n(new Error(`Unable to preload CSS for ${e}`))))})):void 0}))).then((()=>e())).catch((e=>{const t=new Event("vite:preloadError",{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}))},isBrowser="undefined"!=typeof window;function isESModule(e){return e.__esModule||"Module"===e[Symbol.toStringTag]}const assign$1=Object.assign;function applyToParams(e,t){const n={};for(const o in t){const r=t[o];n[o]=isArray$1(r)?r.map(e):e(r)}return n}const noop$3=()=>{},isArray$1=Array.isArray,TRAILING_SLASH_RE=/\/$/,removeTrailingSlash=e=>e.replace(TRAILING_SLASH_RE,"");function parseURL(e,t,n="/"){let o,r={},i="",a="";const s=t.indexOf("#");let l=t.indexOf("?");return s=0&&(l=-1),l>-1&&(o=t.slice(0,l),i=t.slice(l+1,s>-1?s:t.length),r=e(i)),s>-1&&(o=o||t.slice(0,s),a=t.slice(s,t.length)),o=resolveRelativePath(null!=o?o:t,n),{fullPath:o+(i&&"?")+i+a,path:o,query:r,hash:a}}function stringifyURL(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function stripBase(e,t){return t&&e.toLowerCase().startsWith(t.toLowerCase())?e.slice(t.length)||"/":e}function isSameRouteLocation(e,t,n){const o=t.matched.length-1,r=n.matched.length-1;return o>-1&&o===r&&isSameRouteRecord(t.matched[o],n.matched[r])&&isSameRouteLocationParams(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function isSameRouteRecord(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function isSameRouteLocationParams(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!isSameRouteLocationParamsValue(e[n],t[n]))return!1;return!0}function isSameRouteLocationParamsValue(e,t){return isArray$1(e)?isEquivalentArray(e,t):isArray$1(t)?isEquivalentArray(t,e):e===t}function isEquivalentArray(e,t){return isArray$1(t)?e.length===t.length&&e.every(((e,n)=>e===t[n])):1===e.length&&e[0]===t}function resolveRelativePath(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),o=e.split("/"),r=o[o.length-1];".."!==r&&"."!==r||o.push("");let i,a,s=n.length-1;for(i=0;i1&&s--}return n.slice(0,s).join("/")+"/"+o.slice(i-(i===o.length?1:0)).join("/")}var NavigationType,NavigationType2,NavigationDirection,NavigationDirection2;function normalizeBase(e){if(!e)if(isBrowser){const t=document.querySelector("base");e=(e=t&&t.getAttribute("href")||"/").replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return"/"!==e[0]&&"#"!==e[0]&&(e="/"+e),removeTrailingSlash(e)}NavigationType2=NavigationType||(NavigationType={}),NavigationType2.pop="pop",NavigationType2.push="push",NavigationDirection2=NavigationDirection||(NavigationDirection={}),NavigationDirection2.back="back",NavigationDirection2.forward="forward",NavigationDirection2.unknown="";const BEFORE_HASH_RE=/^[^#]+#/;function createHref(e,t){return e.replace(BEFORE_HASH_RE,"#")+t}function getElementPosition(e,t){const n=document.documentElement.getBoundingClientRect(),o=e.getBoundingClientRect();return{behavior:t.behavior,left:o.left-n.left-(t.left||0),top:o.top-n.top-(t.top||0)}}const computeScrollPosition=()=>({left:window.pageXOffset,top:window.pageYOffset});function scrollToPosition(e){let t;if("el"in e){const n=e.el,o="string"==typeof n&&n.startsWith("#"),r="string"==typeof n?o?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!r)return;t=getElementPosition(r,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(null!=t.left?t.left:window.pageXOffset,null!=t.top?t.top:window.pageYOffset)}function getScrollKey(e,t){return(history.state?history.state.position-t:-1)+e}const scrollPositions=new Map;function saveScrollPosition(e,t){scrollPositions.set(e,t)}function getSavedScrollPosition(e){const t=scrollPositions.get(e);return scrollPositions.delete(e),t}let createBaseLocation=()=>location.protocol+"//"+location.host;function createCurrentLocation(e,t){const{pathname:n,search:o,hash:r}=t,i=e.indexOf("#");if(i>-1){let t=r.includes(e.slice(i))?e.slice(i).length:1,n=r.slice(t);return"/"!==n[0]&&(n="/"+n),stripBase(n,"")}return stripBase(n,e)+o+r}function useHistoryListeners(e,t,n,o){let r=[],i=[],a=null;const s=({state:i})=>{const s=createCurrentLocation(e,location),l=n.value,c=t.value;let u=0;if(i){if(n.value=s,t.value=i,a&&a===l)return void(a=null);u=c?i.position-c.position:0}else o(s);r.forEach((e=>{e(n.value,l,{delta:u,type:NavigationType.pop,direction:u?u>0?NavigationDirection.forward:NavigationDirection.back:NavigationDirection.unknown})}))};function l(){const{history:e}=window;e.state&&e.replaceState(assign$1({},e.state,{scroll:computeScrollPosition()}),"")}return window.addEventListener("popstate",s),window.addEventListener("beforeunload",l,{passive:!0}),{pauseListeners:function(){a=n.value},listen:function(e){r.push(e);const t=()=>{const t=r.indexOf(e);t>-1&&r.splice(t,1)};return i.push(t),t},destroy:function(){for(const e of i)e();i=[],window.removeEventListener("popstate",s),window.removeEventListener("beforeunload",l)}}}function buildState(e,t,n,o=!1,r=!1){return{back:e,current:t,forward:n,replaced:o,position:window.history.length,scroll:r?computeScrollPosition():null}}function useHistoryStateNavigation(e){const{history:t,location:n}=window,o={value:createCurrentLocation(e,n)},r={value:t.state};function i(o,i,a){const s=e.indexOf("#"),l=s>-1?(n.host&&document.querySelector("base")?e:e.slice(s))+o:createBaseLocation()+e+o;try{t[a?"replaceState":"pushState"](i,"",l),r.value=i}catch(c){n[a?"replace":"assign"](l)}}return r.value||i(o.value,{back:null,current:o.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0),{location:o,state:r,push:function(e,n){const a=assign$1({},r.value,t.state,{forward:e,scroll:computeScrollPosition()});i(a.current,a,!0),i(e,assign$1({},buildState(o.value,e,null),{position:a.position+1},n),!1),o.value=e},replace:function(e,n){i(e,assign$1({},t.state,buildState(r.value.back,e,r.value.forward,!0),n,{position:r.value.position}),!0),o.value=e}}}function createWebHistory(e){const t=useHistoryStateNavigation(e=normalizeBase(e)),n=useHistoryListeners(e,t.state,t.location,t.replace);const o=assign$1({location:"",base:e,go:function(e,t=!0){t||n.pauseListeners(),history.go(e)},createHref:createHref.bind(null,e)},t,n);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>t.state.value}),o}function isRouteLocation(e){return"string"==typeof e||e&&"object"==typeof e}function isRouteName(e){return"string"==typeof e||"symbol"==typeof e}const START_LOCATION_NORMALIZED={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},NavigationFailureSymbol=Symbol("");var NavigationFailureType,NavigationFailureType2;function createRouterError(e,t){return assign$1(new Error,{type:e,[NavigationFailureSymbol]:!0},t)}function isNavigationFailure(e,t){return e instanceof Error&&NavigationFailureSymbol in e&&(null==t||!!(e.type&t))}NavigationFailureType2=NavigationFailureType||(NavigationFailureType={}),NavigationFailureType2[NavigationFailureType2.aborted=4]="aborted",NavigationFailureType2[NavigationFailureType2.cancelled=8]="cancelled",NavigationFailureType2[NavigationFailureType2.duplicated=16]="duplicated";const BASE_PARAM_PATTERN="[^/]+?",BASE_PATH_PARSER_OPTIONS={sensitive:!1,strict:!1,start:!0,end:!0},REGEX_CHARS_RE=/[.+*?^${}()[\]/\\]/g;function tokensToParser(e,t){const n=assign$1({},BASE_PATH_PARSER_OPTIONS,t),o=[];let r=n.start?"^":"";const i=[];for(const l of e){const e=l.length?[]:[90];n.strict&&!l.length&&(r+="/");for(let t=0;tt.length?1===t.length&&80===t[0]?1:-1:0}function comparePathParserScore(e,t){let n=0;const o=e.score,r=t.score;for(;n0&&t[t.length-1]<0}const ROOT_TOKEN={type:0,value:""},VALID_PARAM_RE=/[a-zA-Z0-9_]/;function tokenizePath(e){if(!e)return[[]];if("/"===e)return[[ROOT_TOKEN]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(e){throw new Error(`ERR (${n})/"${c}": ${e}`)}let n=0,o=n;const r=[];let i;function a(){i&&r.push(i),i=[]}let s,l=0,c="",u="";function d(){c&&(0===n?i.push({type:0,value:c}):1===n||2===n||3===n?(i.length>1&&("*"===s||"+"===s)&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),i.push({type:1,value:c,regexp:u,repeatable:"*"===s||"+"===s,optional:"*"===s||"?"===s})):t("Invalid state to consume buffer"),c="")}function p(){c+=s}for(;l{i(p)}:noop$3}function i(e){if(isRouteName(e)){const t=o.get(e);t&&(o.delete(e),n.splice(n.indexOf(t),1),t.children.forEach(i),t.alias.forEach(i))}else{const t=n.indexOf(e);t>-1&&(n.splice(t,1),e.record.name&&o.delete(e.record.name),e.children.forEach(i),e.alias.forEach(i))}}function a(e){let t=0;for(;t=0&&(e.record.path!==n[t].record.path||!isRecordChildOf(e,n[t]));)t++;n.splice(t,0,e),e.record.name&&!isAliasRecord(e)&&o.set(e.record.name,e)}return t=mergeOptions({strict:!1,end:!0,sensitive:!1},t),e.forEach((e=>r(e))),{addRoute:r,resolve:function(e,t){let r,i,a,s={};if("name"in e&&e.name){if(r=o.get(e.name),!r)throw createRouterError(1,{location:e});a=r.record.name,s=assign$1(paramsFromLocation(t.params,r.keys.filter((e=>!e.optional)).map((e=>e.name))),e.params&¶msFromLocation(e.params,r.keys.map((e=>e.name)))),i=r.stringify(s)}else if("path"in e)i=e.path,r=n.find((e=>e.re.test(i))),r&&(s=r.parse(i),a=r.record.name);else{if(r=t.name?o.get(t.name):n.find((e=>e.re.test(t.path))),!r)throw createRouterError(1,{location:e,currentLocation:t});a=r.record.name,s=assign$1({},t.params,e.params),i=r.stringify(s)}const l=[];let c=r;for(;c;)l.unshift(c.record),c=c.parent;return{name:a,path:i,params:s,matched:l,meta:mergeMetaFields(l)}},removeRoute:i,getRoutes:function(){return n},getRecordMatcher:function(e){return o.get(e)}}}function paramsFromLocation(e,t){const n={};for(const o of t)o in e&&(n[o]=e[o]);return n}function normalizeRouteRecord(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:normalizeRecordProps(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function normalizeRecordProps(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const o in e.components)t[o]="object"==typeof n?n[o]:n;return t}function isAliasRecord(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function mergeMetaFields(e){return e.reduce(((e,t)=>assign$1(e,t.meta)),{})}function mergeOptions(e,t){const n={};for(const o in e)n[o]=o in t?t[o]:e[o];return n}function isRecordChildOf(e,t){return t.children.some((t=>t===e||isRecordChildOf(e,t)))}const HASH_RE=/#/g,AMPERSAND_RE=/&/g,SLASH_RE=/\//g,EQUAL_RE=/=/g,IM_RE=/\?/g,PLUS_RE=/\+/g,ENC_BRACKET_OPEN_RE=/%5B/g,ENC_BRACKET_CLOSE_RE=/%5D/g,ENC_CARET_RE=/%5E/g,ENC_BACKTICK_RE=/%60/g,ENC_CURLY_OPEN_RE=/%7B/g,ENC_PIPE_RE=/%7C/g,ENC_CURLY_CLOSE_RE=/%7D/g,ENC_SPACE_RE=/%20/g;function commonEncode(e){return encodeURI(""+e).replace(ENC_PIPE_RE,"|").replace(ENC_BRACKET_OPEN_RE,"[").replace(ENC_BRACKET_CLOSE_RE,"]")}function encodeHash(e){return commonEncode(e).replace(ENC_CURLY_OPEN_RE,"{").replace(ENC_CURLY_CLOSE_RE,"}").replace(ENC_CARET_RE,"^")}function encodeQueryValue(e){return commonEncode(e).replace(PLUS_RE,"%2B").replace(ENC_SPACE_RE,"+").replace(HASH_RE,"%23").replace(AMPERSAND_RE,"%26").replace(ENC_BACKTICK_RE,"`").replace(ENC_CURLY_OPEN_RE,"{").replace(ENC_CURLY_CLOSE_RE,"}").replace(ENC_CARET_RE,"^")}function encodeQueryKey(e){return encodeQueryValue(e).replace(EQUAL_RE,"%3D")}function encodePath(e){return commonEncode(e).replace(HASH_RE,"%23").replace(IM_RE,"%3F")}function encodeParam(e){return null==e?"":encodePath(e).replace(SLASH_RE,"%2F")}function decode(e){try{return decodeURIComponent(""+e)}catch(t){}return""+e}function parseQuery(e){const t={};if(""===e||"?"===e)return t;const n=("?"===e[0]?e.slice(1):e).split("&");for(let o=0;oe&&encodeQueryValue(e))):[o&&encodeQueryValue(o)]).forEach((e=>{void 0!==e&&(t+=(t.length?"&":"")+n,null!=e&&(t+="="+e))}))}return t}function normalizeQuery(e){const t={};for(const n in e){const o=e[n];void 0!==o&&(t[n]=isArray$1(o)?o.map((e=>null==e?null:""+e)):null==o?o:""+o)}return t}const matchedRouteKey=Symbol(""),viewDepthKey=Symbol(""),routerKey=Symbol(""),routeLocationKey=Symbol(""),routerViewLocationKey=Symbol("");function useCallbacks(){let e=[];return{add:function(t){return e.push(t),()=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)}},list:()=>e.slice(),reset:function(){e=[]}}}function registerGuard(e,t,n){const o=()=>{e[t].delete(n)};onUnmounted(o),onDeactivated(o),onActivated((()=>{e[t].add(n)})),e[t].add(n)}function onBeforeRouteLeave(e){const t=inject(matchedRouteKey,{}).value;t&®isterGuard(t,"leaveGuards",e)}function guardToPromiseFn(e,t,n,o,r){const i=o&&(o.enterCallbacks[r]=o.enterCallbacks[r]||[]);return()=>new Promise(((a,s)=>{const l=e=>{!1===e?s(createRouterError(4,{from:n,to:t})):e instanceof Error?s(e):isRouteLocation(e)?s(createRouterError(2,{from:t,to:e})):(i&&o.enterCallbacks[r]===i&&"function"==typeof e&&i.push(e),a())},c=e.call(o&&o.instances[r],t,n,l);let u=Promise.resolve(c);e.length<3&&(u=u.then(l)),u.catch((e=>s(e)))}))}function extractComponentsGuards(e,t,n,o){const r=[];for(const i of e)for(const e in i.components){let a=i.components[e];if("beforeRouteEnter"===t||i.instances[e])if(isRouteComponent(a)){const s=(a.__vccOpts||a)[t];s&&r.push(guardToPromiseFn(s,n,o,i,e))}else{let s=a();r.push((()=>s.then((r=>{if(!r)return Promise.reject(new Error(`Couldn't resolve component "${e}" at "${i.path}"`));const a=isESModule(r)?r.default:r;i.components[e]=a;const s=(a.__vccOpts||a)[t];return s&&guardToPromiseFn(s,n,o,i,e)()}))))}}return r}function isRouteComponent(e){return"object"==typeof e||"displayName"in e||"props"in e||"__vccOpts"in e}function useLink(e){const t=inject(routerKey),n=inject(routeLocationKey),o=computed((()=>t.resolve(unref(e.to)))),r=computed((()=>{const{matched:e}=o.value,{length:t}=e,r=e[t-1],i=n.matched;if(!r||!i.length)return-1;const a=i.findIndex(isSameRouteRecord.bind(null,r));if(a>-1)return a;const s=getOriginalPath(e[t-2]);return t>1&&getOriginalPath(r)===s&&i[i.length-1].path!==s?i.findIndex(isSameRouteRecord.bind(null,e[t-2])):a})),i=computed((()=>r.value>-1&&includesParams(n.params,o.value.params))),a=computed((()=>r.value>-1&&r.value===n.matched.length-1&&isSameRouteLocationParams(n.params,o.value.params)));return{route:o,href:computed((()=>o.value.href)),isActive:i,isExactActive:a,navigate:function(n={}){return guardEvent(n)?t[unref(e.replace)?"replace":"push"](unref(e.to)).catch(noop$3):Promise.resolve()}}}const RouterLinkImpl=defineComponent({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:useLink,setup(e,{slots:t}){const n=reactive(useLink(e)),{options:o}=inject(routerKey),r=computed((()=>({[getLinkClass(e.activeClass,o.linkActiveClass,"router-link-active")]:n.isActive,[getLinkClass(e.exactActiveClass,o.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive})));return()=>{const o=t.default&&t.default(n);return e.custom?o:h$1("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:r.value},o)}}}),RouterLink=RouterLinkImpl;function guardEvent(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey||e.defaultPrevented||void 0!==e.button&&0!==e.button)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function includesParams(e,t){for(const n in t){const o=t[n],r=e[n];if("string"==typeof o){if(o!==r)return!1}else if(!isArray$1(r)||r.length!==o.length||o.some(((e,t)=>e!==r[t])))return!1}return!0}function getOriginalPath(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const getLinkClass=(e,t,n)=>null!=e?e:null!=t?t:n,RouterViewImpl=defineComponent({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const o=inject(routerViewLocationKey),r=computed((()=>e.route||o.value)),i=inject(viewDepthKey,0),a=computed((()=>{let e=unref(i);const{matched:t}=r.value;let n;for(;(n=t[e])&&!n.components;)e++;return e})),s=computed((()=>r.value.matched[a.value]));provide(viewDepthKey,computed((()=>a.value+1))),provide(matchedRouteKey,s),provide(routerViewLocationKey,r);const l=ref();return watch((()=>[l.value,s.value,e.name]),(([e,t,n],[o,r,i])=>{t&&(t.instances[n]=e,r&&r!==t&&e&&e===o&&(t.leaveGuards.size||(t.leaveGuards=r.leaveGuards),t.updateGuards.size||(t.updateGuards=r.updateGuards))),!e||!t||r&&isSameRouteRecord(t,r)&&o||(t.enterCallbacks[n]||[]).forEach((t=>t(e)))}),{flush:"post"}),()=>{const o=r.value,i=e.name,a=s.value,c=a&&a.components[i];if(!c)return normalizeSlot(n.default,{Component:c,route:o});const u=a.props[i],d=u?!0===u?o.params:"function"==typeof u?u(o):u:null,p=h$1(c,assign$1({},d,t,{onVnodeUnmounted:e=>{e.component.isUnmounted&&(a.instances[i]=null)},ref:l}));return normalizeSlot(n.default,{Component:p,route:o})||p}}});function normalizeSlot(e,t){if(!e)return null;const n=e(t);return 1===n.length?n[0]:n}const RouterView=RouterViewImpl;function createRouter(e){const t=createRouterMatcher(e.routes,e),n=e.parseQuery||parseQuery,o=e.stringifyQuery||stringifyQuery,r=e.history,i=useCallbacks(),a=useCallbacks(),s=useCallbacks(),l=shallowRef(START_LOCATION_NORMALIZED);let c=START_LOCATION_NORMALIZED;isBrowser&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=applyToParams.bind(null,(e=>""+e)),d=applyToParams.bind(null,encodeParam),p=applyToParams.bind(null,decode);function A(e,i){if(i=assign$1({},i||l.value),"string"==typeof e){const o=parseURL(n,e,i.path),a=t.resolve({path:o.path},i),s=r.createHref(o.fullPath);return assign$1(o,a,{params:p(a.params),hash:decode(o.hash),redirectedFrom:void 0,href:s})}let a;if("path"in e)a=assign$1({},e,{path:parseURL(n,e.path,i.path).path});else{const t=assign$1({},e.params);for(const e in t)null==t[e]&&delete t[e];a=assign$1({},e,{params:d(t)}),i.params=d(i.params)}const s=t.resolve(a,i),c=e.hash||"";s.params=u(p(s.params));const A=stringifyURL(o,assign$1({},e,{hash:encodeHash(c),path:s.path})),f=r.createHref(A);return assign$1({fullPath:A,hash:c,query:o===stringifyQuery?normalizeQuery(e.query):e.query||{}},s,{redirectedFrom:void 0,href:f})}function f(e){return"string"==typeof e?parseURL(n,e,l.value.path):assign$1({},e)}function m(e,t){if(c!==e)return createRouterError(8,{from:t,to:e})}function h(e){return v(e)}function g(e){const t=e.matched[e.matched.length-1];if(t&&t.redirect){const{redirect:n}=t;let o="function"==typeof n?n(e):n;return"string"==typeof o&&(o=o.includes("?")||o.includes("#")?o=f(o):{path:o},o.params={}),assign$1({query:e.query,hash:e.hash,params:"path"in o?{}:e.params},o)}}function v(e,t){const n=c=A(e),r=l.value,i=e.state,a=e.force,s=!0===e.replace,u=g(n);if(u)return v(assign$1(f(u),{state:"object"==typeof u?assign$1({},i,u.state):i,force:a,replace:s}),t||n);const d=n;let p;return d.redirectedFrom=t,!a&&isSameRouteLocation(o,r,n)&&(p=createRouterError(16,{to:d,from:r}),N(r,r,!0,!1)),(p?Promise.resolve(p):C(d,r)).catch((e=>isNavigationFailure(e)?isNavigationFailure(e,2)?e:O(e):_(e,d,r))).then((e=>{if(e){if(isNavigationFailure(e,2))return v(assign$1({replace:s},f(e.to),{state:"object"==typeof e.to?assign$1({},i,e.to.state):i,force:a}),t||d)}else e=w(d,r,!0,s,i);return y(d,r,e),e}))}function b(e,t){const n=m(e,t);return n?Promise.reject(n):Promise.resolve()}function E(e){const t=M.values().next().value;return t&&"function"==typeof t.runWithContext?t.runWithContext(e):e()}function C(e,t){let n;const[o,r,s]=extractChangingRecords(e,t);n=extractComponentsGuards(o.reverse(),"beforeRouteLeave",e,t);for(const i of o)i.leaveGuards.forEach((o=>{n.push(guardToPromiseFn(o,e,t))}));const l=b.bind(null,e,t);return n.push(l),B(n).then((()=>{n=[];for(const o of i.list())n.push(guardToPromiseFn(o,e,t));return n.push(l),B(n)})).then((()=>{n=extractComponentsGuards(r,"beforeRouteUpdate",e,t);for(const o of r)o.updateGuards.forEach((o=>{n.push(guardToPromiseFn(o,e,t))}));return n.push(l),B(n)})).then((()=>{n=[];for(const o of s)if(o.beforeEnter)if(isArray$1(o.beforeEnter))for(const r of o.beforeEnter)n.push(guardToPromiseFn(r,e,t));else n.push(guardToPromiseFn(o.beforeEnter,e,t));return n.push(l),B(n)})).then((()=>(e.matched.forEach((e=>e.enterCallbacks={})),n=extractComponentsGuards(s,"beforeRouteEnter",e,t),n.push(l),B(n)))).then((()=>{n=[];for(const o of a.list())n.push(guardToPromiseFn(o,e,t));return n.push(l),B(n)})).catch((e=>isNavigationFailure(e,8)?e:Promise.reject(e)))}function y(e,t,n){s.list().forEach((o=>E((()=>o(e,t,n)))))}function w(e,t,n,o,i){const a=m(e,t);if(a)return a;const s=t===START_LOCATION_NORMALIZED,c=isBrowser?history.state:{};n&&(o||s?r.replace(e.fullPath,assign$1({scroll:s&&c&&c.scroll},i)):r.push(e.fullPath,i)),l.value=e,N(e,t,n,s),O()}let I;let S,R=useCallbacks(),T=useCallbacks();function _(e,t,n){O(e);const o=T.list();return o.length&&o.forEach((o=>o(e,t,n))),Promise.reject(e)}function O(e){return S||(S=!e,I||(I=r.listen(((e,t,n)=>{if(!P.listening)return;const o=A(e),i=g(o);if(i)return void v(assign$1(i,{replace:!0}),o).catch(noop$3);c=o;const a=l.value;isBrowser&&saveScrollPosition(getScrollKey(a.fullPath,n.delta),computeScrollPosition()),C(o,a).catch((e=>isNavigationFailure(e,12)?e:isNavigationFailure(e,2)?(v(e.to,o).then((e=>{isNavigationFailure(e,20)&&!n.delta&&n.type===NavigationType.pop&&r.go(-1,!1)})).catch(noop$3),Promise.reject()):(n.delta&&r.go(-n.delta,!1),_(e,o,a)))).then((e=>{(e=e||w(o,a,!1))&&(n.delta&&!isNavigationFailure(e,8)?r.go(-n.delta,!1):n.type===NavigationType.pop&&isNavigationFailure(e,20)&&r.go(-1,!1)),y(o,a,e)})).catch(noop$3)}))),R.list().forEach((([t,n])=>e?n(e):t())),R.reset()),e}function N(t,n,o,r){const{scrollBehavior:i}=e;if(!isBrowser||!i)return Promise.resolve();const a=!o&&getSavedScrollPosition(getScrollKey(t.fullPath,0))||(r||!o)&&history.state&&history.state.scroll||null;return nextTick().then((()=>i(t,n,a))).then((e=>e&&scrollToPosition(e))).catch((e=>_(e,t,n)))}const D=e=>r.go(e);let k;const M=new Set,P={currentRoute:l,listening:!0,addRoute:function(e,n){let o,r;return isRouteName(e)?(o=t.getRecordMatcher(e),r=n):r=e,t.addRoute(r,o)},removeRoute:function(e){const n=t.getRecordMatcher(e);n&&t.removeRoute(n)},hasRoute:function(e){return!!t.getRecordMatcher(e)},getRoutes:function(){return t.getRoutes().map((e=>e.record))},resolve:A,options:e,push:h,replace:function(e){return h(assign$1(f(e),{replace:!0}))},go:D,back:()=>D(-1),forward:()=>D(1),beforeEach:i.add,beforeResolve:a.add,afterEach:s.add,onError:T.add,isReady:function(){return S&&l.value!==START_LOCATION_NORMALIZED?Promise.resolve():new Promise(((e,t)=>{R.add([e,t])}))},install(e){e.component("RouterLink",RouterLink),e.component("RouterView",RouterView),e.config.globalProperties.$router=this,Object.defineProperty(e.config.globalProperties,"$route",{enumerable:!0,get:()=>unref(l)}),isBrowser&&!k&&l.value===START_LOCATION_NORMALIZED&&(k=!0,h(r.location).catch((e=>{})));const t={};for(const o in START_LOCATION_NORMALIZED)Object.defineProperty(t,o,{get:()=>l.value[o],enumerable:!0});e.provide(routerKey,this),e.provide(routeLocationKey,shallowReactive(t)),e.provide(routerViewLocationKey,l);const n=e.unmount;M.add(e),e.unmount=function(){M.delete(e),M.size<1&&(c=START_LOCATION_NORMALIZED,I&&I(),I=null,l.value=START_LOCATION_NORMALIZED,k=!1,S=!1),n()}}};function B(e){return e.reduce(((e,t)=>e.then((()=>E(t)))),Promise.resolve())}return P}function extractChangingRecords(e,t){const n=[],o=[],r=[],i=Math.max(t.matched.length,e.matched.length);for(let a=0;aisSameRouteRecord(e,i)))?o.push(i):n.push(i));const s=e.matched[a];s&&(t.matched.find((e=>isSameRouteRecord(e,s)))||r.push(s))}return[n,o,r]}function useRouter(){return inject(routerKey)}function useRoute$1(){return inject(routeLocationKey)}const actions={USER_TOEKN:"USER_TOEKN",USER_INFO:"USER_INFO",LOGIN_INFO:"LOGIN_INFO",BROWSER:"BROWSER",ADD_TO_HOME:"ADD_TO_HOME",HOME_POSITION:"HOME_POSITION",PROPS_DATA:"PROPS_DATA",DRAW_POPUP:"DRAW_POPUP",SEARCH_DATA:"SEARCH_DATA",GAME_LIST:"GAME_LIST",ALL_GAME_CLASS:"ALL_GAME_CLASS",COLLECT_GAME_IDS:"COLLECT_GAME_IDS",COLLECT_TYPE:"COLLECT_TYPE",SHOW_NOTICE:"SHOW_NOTICE",AD_ID:"AD_ID",API_BASE_URL:"API_BASE_URL",API_BASE_IMG_URL:"API_BASE_IMG_URL"},storage={getStorage:e=>localStorage.getItem(e),setStorage(e,t){localStorage.setItem(e,t)},removeStorage(e){localStorage.removeItem(e)},clearStorage(){localStorage.clear()},setSessionStorage(e,t){sessionStorage.setItem(e,t)},getSessionStorage:e=>sessionStorage.getItem(e),removeSessionStorage(e){sessionStorage.removeItem(e)}};function noop$2(){}const extend$1=Object.assign,inBrowser$1="undefined"!=typeof window,isObject$2=e=>null!==e&&"object"==typeof e,isDef=e=>null!=e,isFunction$1=e=>"function"==typeof e,isPromise=e=>isObject$2(e)&&isFunction$1(e.then)&&isFunction$1(e.catch),isDate$1=e=>"[object Date]"===Object.prototype.toString.call(e)&&!Number.isNaN(e.getTime());function isMobile(e){return e=e.replace(/[^-|\d]/g,""),/^((\+86)|(86))?(1)\d{10}$/.test(e)||/^0[0-9-]{10,13}$/.test(e)}const isNumeric=e=>"number"==typeof e||/^\d+(\.\d+)?$/.test(e),isIOS$1=()=>!!inBrowser$1&&/ios|iphone|ipad|ipod/.test(navigator.userAgent.toLowerCase());function get$1(e,t){const n=t.split(".");let o=e;return n.forEach((e=>{var t;o=isObject$2(o)&&null!=(t=o[e])?t:""})),o}function pick$1(e,t,n){return t.reduce(((t,o)=>(n&&void 0===e[o]||(t[o]=e[o]),t)),{})}const isSameValue=(e,t)=>JSON.stringify(e)===JSON.stringify(t),toArray$1=e=>Array.isArray(e)?e:[e],unknownProp=null,numericProp=[Number,String],truthProp={type:Boolean,default:!0},makeRequiredProp=e=>({type:e,required:!0}),makeArrayProp=()=>({type:Array,default:()=>[]}),makeNumberProp=e=>({type:Number,default:e}),makeNumericProp=e=>({type:numericProp,default:e}),makeStringProp=e=>({type:String,default:e});var inBrowser="undefined"!=typeof window;function raf(e){return inBrowser?requestAnimationFrame(e):-1}function cancelRaf(e){inBrowser&&cancelAnimationFrame(e)}function doubleRaf(e){raf((()=>raf(e)))}var isWindow=e=>e===window,makeDOMRect=(e,t)=>({top:0,left:0,right:e,bottom:t,width:e,height:t}),useRect=e=>{const t=unref(e);if(isWindow(t)){const e=t.innerWidth,n=t.innerHeight;return makeDOMRect(e,n)}return(null==t?void 0:t.getBoundingClientRect)?t.getBoundingClientRect():makeDOMRect(0,0)};function useToggle(e=!1){const t=ref(e);return[t,(e=!t.value)=>{t.value=e}]}function useParent(e){const t=inject(e,null);if(t){const e=getCurrentInstance(),{link:n,unlink:o,internalChildren:r}=t;n(e),onUnmounted((()=>o(e)));return{parent:t,index:computed((()=>r.indexOf(e)))}}return{parent:null,index:ref(-1)}}function flattenVNodes(e){const t=[],n=e=>{Array.isArray(e)&&e.forEach((e=>{var o;isVNode(e)&&(t.push(e),(null==(o=e.component)?void 0:o.subTree)&&(t.push(e.component.subTree),n(e.component.subTree.children)),e.children&&n(e.children))}))};return n(e),t}var findVNodeIndex=(e,t)=>{const n=e.indexOf(t);return-1===n?e.findIndex((e=>void 0!==t.key&&null!==t.key&&e.type===t.type&&e.key===t.key)):n};function sortChildren(e,t,n){const o=flattenVNodes(e.subTree.children);n.sort(((e,t)=>findVNodeIndex(o,e.vnode)-findVNodeIndex(o,t.vnode)));const r=n.map((e=>e.proxy));t.sort(((e,t)=>r.indexOf(e)-r.indexOf(t)))}function useChildren(e){const t=reactive([]),n=reactive([]),o=getCurrentInstance();return{children:t,linkChildren:r=>{provide(e,Object.assign({link:e=>{e.proxy&&(n.push(e),t.push(e.proxy),sortChildren(o,t,n))},unlink:e=>{const o=n.indexOf(e);t.splice(o,1),n.splice(o,1)},children:t,internalChildren:n},r))}}}var SECOND=1e3,MINUTE=60*SECOND,HOUR=60*MINUTE,DAY=24*HOUR,width,height;function parseTime(e){return{total:e,days:Math.floor(e/DAY),hours:Math.floor(e%DAY/HOUR),minutes:Math.floor(e%HOUR/MINUTE),seconds:Math.floor(e%MINUTE/SECOND),milliseconds:Math.floor(e%SECOND)}}function isSameSecond(e,t){return Math.floor(e/1e3)===Math.floor(t/1e3)}function useCountDown(e){let t,n,o,r;const i=ref(e.time),a=computed((()=>parseTime(i.value))),s=()=>{o=!1,cancelRaf(t)},l=()=>Math.max(n-Date.now(),0),c=t=>{var n,o;i.value=t,null==(n=e.onChange)||n.call(e,a.value),0===t&&(s(),null==(o=e.onFinish)||o.call(e))},u=()=>{t=raf((()=>{o&&(c(l()),i.value>0&&u())}))},d=()=>{t=raf((()=>{if(o){const e=l();isSameSecond(e,i.value)&&0!==e||c(e),i.value>0&&d()}}))},p=()=>{inBrowser&&(e.millisecond?u():d())};return onBeforeUnmount(s),onActivated((()=>{r&&(o=!0,r=!1,p())})),onDeactivated((()=>{o&&(s(),r=!0)})),{start:()=>{o||(n=Date.now()+i.value,o=!0,p())},pause:s,reset:(t=e.time)=>{s(),i.value=t},current:a}}function onMountedOrActivated(e){let t;onMounted((()=>{e(),nextTick((()=>{t=!0}))})),onActivated((()=>{t&&e()}))}function useEventListener(e,t,n={}){if(!inBrowser)return;const{target:o=window,passive:r=!1,capture:i=!1}=n;let a,s=!1;const l=n=>{if(s)return;const o=unref(n);o&&!a&&(o.addEventListener(e,t,{capture:i,passive:r}),a=!0)},c=n=>{if(s)return;const o=unref(n);o&&a&&(o.removeEventListener(e,t,i),a=!1)};let u;return onUnmounted((()=>c(o))),onDeactivated((()=>c(o))),onMountedOrActivated((()=>l(o))),isRef(o)&&(u=watch(o,((e,t)=>{c(t),l(e)}))),()=>{null==u||u(),c(o),s=!0}}function useClickAway(e,t,n={}){if(!inBrowser)return;const{eventName:o="click"}=n;useEventListener(o,(n=>{(Array.isArray(e)?e:[e]).every((e=>{const t=unref(e);return t&&!t.contains(n.target)}))&&t(n)}),{target:document})}function useWindowSize(){if(!width&&(width=ref(0),height=ref(0),inBrowser)){const e=()=>{width.value=window.innerWidth,height.value=window.innerHeight};e(),window.addEventListener("resize",e,{passive:!0}),window.addEventListener("orientationchange",e,{passive:!0})}return{width:width,height:height}}var overflowScrollReg=/scroll|auto|overlay/i,defaultRoot=inBrowser?window:void 0,visibility;function isElement$1(e){return"HTML"!==e.tagName&&"BODY"!==e.tagName&&1===e.nodeType}function getScrollParent$1(e,t=defaultRoot){let n=e;for(;n&&n!==t&&isElement$1(n);){const{overflowY:e}=window.getComputedStyle(n);if(overflowScrollReg.test(e))return n;n=n.parentNode}return t}function useScrollParent(e,t=defaultRoot){const n=ref();return onMounted((()=>{e.value&&(n.value=getScrollParent$1(e.value,t))})),n}function usePageVisibility(){if(!visibility&&(visibility=ref("visible"),inBrowser)){const e=()=>{visibility.value=document.hidden?"hidden":"visible"};e(),window.addEventListener("visibilitychange",e)}return visibility}var CUSTOM_FIELD_INJECTION_KEY=Symbol("van-field");function useCustomFieldValue(e){const t=inject(CUSTOM_FIELD_INJECTION_KEY,null);t&&!t.customValue.value&&(t.customValue.value=e,watch(e,(()=>{t.resetValidation(),t.validateWithTrigger("onChange")})))}function getScrollTop(e){const t="scrollTop"in e?e.scrollTop:e.pageYOffset;return Math.max(t,0)}function setScrollTop(e,t){"scrollTop"in e?e.scrollTop=t:e.scrollTo(e.scrollX,t)}function getRootScrollTop(){return window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0}function setRootScrollTop(e){setScrollTop(window,e),setScrollTop(document.body,e)}function getElementTop(e,t){if(e===window)return 0;const n=t?getScrollTop(t):getRootScrollTop();return useRect(e).top+n}const isIOS=isIOS$1();function resetScroll(){isIOS&&setRootScrollTop(getRootScrollTop())}const stopPropagation=e=>e.stopPropagation();function preventDefault(e,t){("boolean"!=typeof e.cancelable||e.cancelable)&&e.preventDefault(),t&&stopPropagation(e)}function isHidden(e){const t=unref(e);if(!t)return!1;const n=window.getComputedStyle(t),o="none"===n.display,r=null===t.offsetParent&&"fixed"!==n.position;return o||r}const{width:windowWidth,height:windowHeight}=useWindowSize();function addUnit(e){if(isDef(e))return isNumeric(e)?`${e}px`:String(e)}function getSizeStyle(e){if(isDef(e)){if(Array.isArray(e))return{width:addUnit(e[0]),height:addUnit(e[1])};const t=addUnit(e);return{width:t,height:t}}}function getZIndexStyle(e){const t={};return void 0!==e&&(t.zIndex=+e),t}let rootFontSize;function getRootFontSize(){if(!rootFontSize){const e=document.documentElement,t=e.style.fontSize||window.getComputedStyle(e).fontSize;rootFontSize=parseFloat(t)}return rootFontSize}function convertRem(e){return+(e=e.replace(/rem/g,""))*getRootFontSize()}function convertVw(e){return+(e=e.replace(/vw/g,""))*windowWidth.value/100}function convertVh(e){return+(e=e.replace(/vh/g,""))*windowHeight.value/100}function unitToPx(e){if("number"==typeof e)return e;if(inBrowser$1){if(e.includes("rem"))return convertRem(e);if(e.includes("vw"))return convertVw(e);if(e.includes("vh"))return convertVh(e)}return parseFloat(e)}const camelizeRE=/-(\w)/g,camelize=e=>e.replace(camelizeRE,((e,t)=>t.toUpperCase())),kebabCase=e=>e.replace(/([A-Z])/g,"-$1").toLowerCase().replace(/^-/,"");function padZero(e,t=2){let n=e+"";for(;n.lengthMath.min(Math.max(e,t),n);function trimExtraChar(e,t,n){const o=e.indexOf(t);return-1===o?e:"-"===t&&0!==o?e.slice(0,o):e.slice(0,o+1)+e.slice(o).replace(n,"")}function formatNumber(e,t=!0,n=!0){e=t?trimExtraChar(e,".",/\./g):e.split(".")[0];const o=t?/[^-0-9.]/g:/[^-0-9]/g;return(e=n?trimExtraChar(e,"-",/-/g):e.replace(/-/,"")).replace(o,"")}function addNumber(e,t){const n=10**10;return Math.round((e+t)*n)/n}const{hasOwnProperty:hasOwnProperty$1}=Object.prototype;function assignKey(e,t,n){const o=t[n];isDef(o)&&(hasOwnProperty$1.call(e,n)&&isObject$2(o)?e[n]=deepAssign(Object(e[n]),o):e[n]=o)}function deepAssign(e,t){return Object.keys(t).forEach((n=>{assignKey(e,t,n)})),e}var stdin_default$1T={name:"姓名",tel:"电话",save:"保存",clear:"清空",cancel:"取消",confirm:"确认",delete:"删除",loading:"加载中...",noCoupon:"暂无优惠券",nameEmpty:"请填写姓名",addContact:"添加联系人",telInvalid:"请填写正确的电话",vanCalendar:{end:"结束",start:"开始",title:"日期选择",weekdays:["日","一","二","三","四","五","六"],monthTitle:(e,t)=>`${e}年${t}月`,rangePrompt:e=>`最多选择 ${e} 天`},vanCascader:{select:"请选择"},vanPagination:{prev:"上一页",next:"下一页"},vanPullRefresh:{pulling:"下拉即可刷新...",loosing:"释放即可刷新..."},vanSubmitBar:{label:"合计:"},vanCoupon:{unlimited:"无门槛",discount:e=>`${e}折`,condition:e=>`满${e}元可用`},vanCouponCell:{title:"优惠券",count:e=>`${e}张可用`},vanCouponList:{exchange:"兑换",close:"不使用",enable:"可用",disabled:"不可用",placeholder:"输入优惠码"},vanAddressEdit:{area:"地区",areaEmpty:"请选择地区",addressEmpty:"请填写详细地址",addressDetail:"详细地址",defaultAddress:"设为默认收货地址"},vanAddressList:{add:"新增地址"}};const lang=ref("zh-CN"),messages=reactive({"zh-CN":stdin_default$1T}),Locale={messages:()=>messages[lang.value],use(e,t){lang.value=e,this.add({[e]:t})},add(e={}){deepAssign(messages,e)}};var stdin_default$1S=Locale;function createTranslate(e){const t=camelize(e)+".";return(e,...n)=>{const o=stdin_default$1S.messages(),r=get$1(o,t+e)||get$1(o,e);return isFunction$1(r)?r(...n):r}}function genBem(e,t){return t?"string"==typeof t?` ${e}--${t}`:Array.isArray(t)?t.reduce(((t,n)=>t+genBem(e,n)),""):Object.keys(t).reduce(((n,o)=>n+(t[o]?genBem(e,o):"")),""):""}function createBEM(e){return(t,n)=>(t&&"string"!=typeof t&&(n=t,t=""),`${t=t?`${e}__${t}`:e}${genBem(t,n)}`)}function createNamespace(e){const t=`van-${e}`;return[t,createBEM(t),createTranslate(t)]}const BORDER="van-hairline",BORDER_TOP=`${BORDER}--top`,BORDER_LEFT=`${BORDER}--left`,BORDER_RIGHT=`${BORDER}--right`,BORDER_BOTTOM=`${BORDER}--bottom`,BORDER_SURROUND=`${BORDER}--surround`,BORDER_TOP_BOTTOM=`${BORDER}--top-bottom`,BORDER_UNSET_TOP_BOTTOM=`${BORDER}-unset--top-bottom`,HAPTICS_FEEDBACK="van-haptics-feedback",FORM_KEY=Symbol("van-form"),LONG_PRESS_START_TIME=500,TAP_OFFSET=5;function callInterceptor(e,{args:t=[],done:n,canceled:o,error:r}){if(e){const i=e.apply(null,t);isPromise(i)?i.then((e=>{e?n():o&&o()})).catch(r||noop$2):i?n():o&&o()}else n()}function withInstall(e){return e.install=t=>{const{name:n}=e;n&&(t.component(n,e),t.component(camelize(`-${n}`),e))},e}function closest(e,t){return e.reduce(((e,n)=>Math.abs(e-t){t&&e()}))}const useHeight=(e,t)=>{const n=ref(),o=()=>{n.value=useRect(e).height};return onMounted((()=>{if(nextTick(o),t)for(let e=1;e<=3;e++)setTimeout(o,100*e)})),onPopupReopen((()=>nextTick(o))),watch([windowWidth,windowHeight],o),n};function usePlaceholder(e,t){const n=useHeight(e,!0);return e=>createVNode("div",{class:t("placeholder"),style:{height:n.value?`${n.value}px`:void 0}},[e()])}const[name$1J,bem$1E]=createNamespace("action-bar"),ACTION_BAR_KEY=Symbol(name$1J),actionBarProps={placeholder:Boolean,safeAreaInsetBottom:truthProp};var stdin_default$1R=defineComponent({name:name$1J,props:actionBarProps,setup(e,{slots:t}){const n=ref(),o=usePlaceholder(n,bem$1E),{linkChildren:r}=useChildren(ACTION_BAR_KEY);r();const i=()=>{var o;return createVNode("div",{ref:n,class:[bem$1E(),{"van-safe-area-bottom":e.safeAreaInsetBottom}]},[null==(o=t.default)?void 0:o.call(t)])};return()=>e.placeholder?o(i):i()}});const ActionBar=withInstall(stdin_default$1R);function useExpose(e){const t=getCurrentInstance();t&&extend$1(t.proxy,e)}const routeProps={to:[String,Object],url:String,replace:Boolean};function route({to:e,url:t,replace:n,$router:o}){e&&o?o[n?"replace":"push"](e):t&&(n?location.replace(t):location.href=t)}function useRoute(){const e=getCurrentInstance().proxy;return()=>route(e)}const[name$1I,bem$1D]=createNamespace("badge"),badgeProps={dot:Boolean,max:numericProp,tag:makeStringProp("div"),color:String,offset:Array,content:numericProp,showZero:truthProp,position:makeStringProp("top-right")};var stdin_default$1Q=defineComponent({name:name$1I,props:badgeProps,setup(e,{slots:t}){const n=()=>{if(t.content)return!0;const{content:n,showZero:o}=e;return isDef(n)&&""!==n&&(o||0!==n&&"0"!==n)},o=()=>{const{dot:o,max:r,content:i}=e;if(!o&&n())return t.content?t.content():isDef(r)&&isNumeric(i)&&+i>+r?`${r}+`:i},r=e=>e.startsWith("-")?e.replace("-",""):`-${e}`,i=computed((()=>{const n={background:e.color};if(e.offset){const[o,i]=e.offset,{position:a}=e,[s,l]=a.split("-");t.default?(n[s]="number"==typeof i?addUnit("top"===s?i:-i):"top"===s?addUnit(i):r(i),n[l]="number"==typeof o?addUnit("left"===l?o:-o):"left"===l?addUnit(o):r(o)):(n.marginTop=addUnit(i),n.marginLeft=addUnit(o))}return n})),a=()=>{if(n()||e.dot)return createVNode("div",{class:bem$1D([e.position,{dot:e.dot,fixed:!!t.default}]),style:i.value},[o()])};return()=>{if(t.default){const{tag:n}=e;return createVNode(n,{class:bem$1D("wrapper")},{default:()=>[t.default(),a()]})}return a()}}});const Badge=withInstall(stdin_default$1Q);let globalZIndex=2e3;const useGlobalZIndex=()=>++globalZIndex,setGlobalZIndex=e=>{globalZIndex=e},[name$1H,bem$1C]=createNamespace("config-provider"),CONFIG_PROVIDER_KEY=Symbol(name$1H),configProviderProps={tag:makeStringProp("div"),theme:makeStringProp("light"),zIndex:Number,themeVars:Object,themeVarsDark:Object,themeVarsLight:Object,themeVarsScope:makeStringProp("local"),iconPrefix:String};function insertDash(e){return e.replace(/([a-zA-Z])(\d)/g,"$1-$2")}function mapThemeVarsToCSSVars(e){const t={};return Object.keys(e).forEach((n=>{const o=insertDash(kebabCase(n));t[`--van-${o}`]=e[n]})),t}function syncThemeVarsOnRoot(e={},t={}){Object.keys(e).forEach((n=>{e[n]!==t[n]&&document.documentElement.style.setProperty(n,e[n])})),Object.keys(t).forEach((t=>{e[t]||document.documentElement.style.removeProperty(t)}))}var stdin_default$1P=defineComponent({name:name$1H,props:configProviderProps,setup(e,{slots:t}){const n=computed((()=>mapThemeVarsToCSSVars(extend$1({},e.themeVars,"dark"===e.theme?e.themeVarsDark:e.themeVarsLight))));if(inBrowser$1){const t=()=>{document.documentElement.classList.add(`van-theme-${e.theme}`)},o=(t=e.theme)=>{document.documentElement.classList.remove(`van-theme-${t}`)};watch((()=>e.theme),((e,n)=>{n&&o(n),t()}),{immediate:!0}),onActivated(t),onDeactivated(o),onBeforeUnmount(o),watch(n,((t,n)=>{"global"===e.themeVarsScope&&syncThemeVarsOnRoot(t,n)})),watch((()=>e.themeVarsScope),((e,t)=>{"global"===t&&syncThemeVarsOnRoot({},n.value),"global"===e&&syncThemeVarsOnRoot(n.value,{})})),"global"===e.themeVarsScope&&syncThemeVarsOnRoot(n.value,{})}return provide(CONFIG_PROVIDER_KEY,e),watchEffect((()=>{void 0!==e.zIndex&&setGlobalZIndex(e.zIndex)})),()=>createVNode(e.tag,{class:bem$1C(),style:"local"===e.themeVarsScope?n.value:void 0},{default:()=>{var e;return[null==(e=t.default)?void 0:e.call(t)]}})}});const[name$1G,bem$1B]=createNamespace("icon"),isImage$1=e=>null==e?void 0:e.includes("/"),iconProps={dot:Boolean,tag:makeStringProp("i"),name:String,size:numericProp,badge:numericProp,color:String,badgeProps:Object,classPrefix:String};var stdin_default$1O=defineComponent({name:name$1G,props:iconProps,setup(e,{slots:t}){const n=inject(CONFIG_PROVIDER_KEY,null),o=computed((()=>e.classPrefix||(null==n?void 0:n.iconPrefix)||bem$1B()));return()=>{const{tag:n,dot:r,name:i,size:a,badge:s,color:l}=e,c=isImage$1(i);return createVNode(Badge,mergeProps({dot:r,tag:n,class:[o.value,c?"":`${o.value}-${i}`],style:{color:l,fontSize:addUnit(a)},content:s},e.badgeProps),{default:()=>{var e;return[null==(e=t.default)?void 0:e.call(t),c&&createVNode("img",{class:bem$1B("image"),src:i},null)]}})}}});const Icon=withInstall(stdin_default$1O);var stdin_default$1N=Icon;const[name$1F,bem$1A]=createNamespace("loading"),SpinIcon=Array(12).fill(null).map(((e,t)=>createVNode("i",{class:bem$1A("line",String(t+1))},null))),CircularIcon=createVNode("svg",{class:bem$1A("circular"),viewBox:"25 25 50 50"},[createVNode("circle",{cx:"50",cy:"50",r:"20",fill:"none"},null)]),loadingProps={size:numericProp,type:makeStringProp("circular"),color:String,vertical:Boolean,textSize:numericProp,textColor:String};var stdin_default$1M=defineComponent({name:name$1F,props:loadingProps,setup(e,{slots:t}){const n=computed((()=>extend$1({color:e.color},getSizeStyle(e.size)))),o=()=>{const o="spinner"===e.type?SpinIcon:CircularIcon;return createVNode("span",{class:bem$1A("spinner",e.type),style:n.value},[t.icon?t.icon():o])},r=()=>{var n;if(t.default)return createVNode("span",{class:bem$1A("text"),style:{fontSize:addUnit(e.textSize),color:null!=(n=e.textColor)?n:e.color}},[t.default()])};return()=>{const{type:t,vertical:n}=e;return createVNode("div",{class:bem$1A([t,{vertical:n}]),"aria-live":"polite","aria-busy":!0},[o(),r()])}}});const Loading$1=withInstall(stdin_default$1M),[name$1E,bem$1z]=createNamespace("button"),buttonProps=extend$1({},routeProps,{tag:makeStringProp("button"),text:String,icon:String,type:makeStringProp("default"),size:makeStringProp("normal"),color:String,block:Boolean,plain:Boolean,round:Boolean,square:Boolean,loading:Boolean,hairline:Boolean,disabled:Boolean,iconPrefix:String,nativeType:makeStringProp("button"),loadingSize:numericProp,loadingText:String,loadingType:String,iconPosition:makeStringProp("left")});var stdin_default$1L=defineComponent({name:name$1E,props:buttonProps,emits:["click"],setup(e,{emit:t,slots:n}){const o=useRoute(),r=()=>e.loading?n.loading?n.loading():createVNode(Loading$1,{size:e.loadingSize,type:e.loadingType,class:bem$1z("loading")},null):n.icon?createVNode("div",{class:bem$1z("icon")},[n.icon()]):e.icon?createVNode(Icon,{name:e.icon,class:bem$1z("icon"),classPrefix:e.iconPrefix},null):void 0,i=()=>{let t;if(t=e.loading?e.loadingText:n.default?n.default():e.text,t)return createVNode("span",{class:bem$1z("text")},[t])},a=()=>{const{color:t,plain:n}=e;if(t){const e={color:n?t:"white"};return n||(e.background=t),t.includes("gradient")?e.border=0:e.borderColor=t,e}},s=n=>{e.loading?preventDefault(n):e.disabled||(t("click",n),o())};return()=>{const{tag:t,type:n,size:o,block:l,round:c,plain:u,square:d,loading:p,disabled:A,hairline:f,nativeType:m,iconPosition:h}=e,g=[bem$1z([n,o,{plain:u,block:l,round:c,square:d,loading:p,disabled:A,hairline:f}]),{[BORDER_SURROUND]:f}];return createVNode(t,{type:m,class:g,style:a(),disabled:A,onClick:s},{default:()=>[createVNode("div",{class:bem$1z("content")},["left"===h&&r(),i(),"right"===h&&r()])]})}}});const Button=withInstall(stdin_default$1L),[name$1D,bem$1y]=createNamespace("action-bar-button"),actionBarButtonProps=extend$1({},routeProps,{type:String,text:String,icon:String,color:String,loading:Boolean,disabled:Boolean});var stdin_default$1K=defineComponent({name:name$1D,props:actionBarButtonProps,setup(e,{slots:t}){const n=useRoute(),{parent:o,index:r}=useParent(ACTION_BAR_KEY),i=computed((()=>{if(o){const e=o.children[r.value-1];return!(e&&"isButton"in e)}})),a=computed((()=>{if(o){const e=o.children[r.value+1];return!(e&&"isButton"in e)}}));return useExpose({isButton:!0}),()=>{const{type:o,icon:r,text:s,color:l,loading:c,disabled:u}=e;return createVNode(Button,{class:bem$1y([o,{last:a.value,first:i.value}]),size:"large",type:o,icon:r,color:l,loading:c,disabled:u,onClick:n},{default:()=>[t.default?t.default():s]})}}});const ActionBarButton=withInstall(stdin_default$1K),[name$1C,bem$1x]=createNamespace("action-bar-icon"),actionBarIconProps=extend$1({},routeProps,{dot:Boolean,text:String,icon:String,color:String,badge:numericProp,iconClass:unknownProp,badgeProps:Object,iconPrefix:String});var stdin_default$1J=defineComponent({name:name$1C,props:actionBarIconProps,setup(e,{slots:t}){const n=useRoute();useParent(ACTION_BAR_KEY);const o=()=>{const{dot:n,badge:o,icon:r,color:i,iconClass:a,badgeProps:s,iconPrefix:l}=e;return t.icon?createVNode(Badge,mergeProps({dot:n,class:bem$1x("icon"),content:o},s),{default:t.icon}):createVNode(Icon,{tag:"div",dot:n,name:r,badge:o,color:i,class:[bem$1x("icon"),a],badgeProps:s,classPrefix:l},null)};return()=>createVNode("div",{role:"button",class:bem$1x(),tabindex:0,onClick:n},[o(),t.default?t.default():e.text])}});const ActionBarIcon=withInstall(stdin_default$1J),popupSharedProps={show:Boolean,zIndex:numericProp,overlay:truthProp,duration:numericProp,teleport:[String,Object],lockScroll:truthProp,lazyRender:truthProp,beforeClose:Function,overlayStyle:Object,overlayClass:unknownProp,transitionAppear:Boolean,closeOnClickOverlay:truthProp},popupSharedPropKeys=Object.keys(popupSharedProps);function getDirection(e,t){return e>t?"horizontal":t>e?"vertical":""}function useTouch(){const e=ref(0),t=ref(0),n=ref(0),o=ref(0),r=ref(0),i=ref(0),a=ref(""),s=ref(!0),l=()=>{n.value=0,o.value=0,r.value=0,i.value=0,a.value="",s.value=!0};return{move:l=>{const c=l.touches[0];n.value=(c.clientX<0?0:c.clientX)-e.value,o.value=c.clientY-t.value,r.value=Math.abs(n.value),i.value=Math.abs(o.value);(!a.value||r.value<10&&i.value<10)&&(a.value=getDirection(r.value,i.value)),s.value&&(r.value>TAP_OFFSET||i.value>TAP_OFFSET)&&(s.value=!1)},start:n=>{l(),e.value=n.touches[0].clientX,t.value=n.touches[0].clientY},reset:l,startX:e,startY:t,deltaX:n,deltaY:o,offsetX:r,offsetY:i,direction:a,isVertical:()=>"vertical"===a.value,isHorizontal:()=>"horizontal"===a.value,isTap:s}}let totalLockCount=0;const BODY_LOCK_CLASS="van-overflow-hidden";function useLockScroll(e,t){const n=useTouch(),o=t=>{n.move(t);const o=n.deltaY.value>0?"10":"01",r=getScrollParent$1(t.target,e.value),{scrollHeight:i,offsetHeight:a,scrollTop:s}=r;let l="11";0===s?l=a>=i?"00":"01":s+a>=i&&(l="10"),"11"===l||!n.isVertical()||parseInt(l,2)&parseInt(o,2)||preventDefault(t,!0)},r=()=>{document.addEventListener("touchstart",n.start),document.addEventListener("touchmove",o,{passive:!1}),totalLockCount||document.body.classList.add(BODY_LOCK_CLASS),totalLockCount++},i=()=>{totalLockCount&&(document.removeEventListener("touchstart",n.start),document.removeEventListener("touchmove",o),totalLockCount--,totalLockCount||document.body.classList.remove(BODY_LOCK_CLASS))},a=()=>t()&&i();onMountedOrActivated((()=>t()&&r())),onDeactivated(a),onBeforeUnmount(a),watch(t,(e=>{e?r():i()}))}function useLazyRender(e){const t=ref(!1);return watch(e,(e=>{e&&(t.value=e)}),{immediate:!0}),e=>()=>t.value?e():null}const useScopeId=()=>{var e;const{scopeId:t}=(null==(e=getCurrentInstance())?void 0:e.vnode)||{};return t?{[t]:""}:null},[name$1B,bem$1w]=createNamespace("overlay"),overlayProps={show:Boolean,zIndex:numericProp,duration:numericProp,className:unknownProp,lockScroll:truthProp,lazyRender:truthProp,customStyle:Object};var stdin_default$1I=defineComponent({name:name$1B,props:overlayProps,setup(e,{slots:t}){const n=ref(),o=useLazyRender((()=>e.show||!e.lazyRender))((()=>{var o;const r=extend$1(getZIndexStyle(e.zIndex),e.customStyle);return isDef(e.duration)&&(r.animationDuration=`${e.duration}s`),withDirectives(createVNode("div",{ref:n,style:r,class:[bem$1w(),e.className]},[null==(o=t.default)?void 0:o.call(t)]),[[vShow,e.show]])}));return useEventListener("touchmove",(t=>{e.lockScroll&&preventDefault(t,!0)}),{target:n}),()=>createVNode(Transition,{name:"van-fade",appear:!0},{default:o})}});const Overlay=withInstall(stdin_default$1I),popupProps$2=extend$1({},popupSharedProps,{round:Boolean,position:makeStringProp("center"),closeIcon:makeStringProp("cross"),closeable:Boolean,transition:String,iconPrefix:String,closeOnPopstate:Boolean,closeIconPosition:makeStringProp("top-right"),safeAreaInsetTop:Boolean,safeAreaInsetBottom:Boolean}),[name$1A,bem$1v]=createNamespace("popup");var stdin_default$1H=defineComponent({name:name$1A,inheritAttrs:!1,props:popupProps$2,emits:["open","close","opened","closed","keydown","update:show","clickOverlay","clickCloseIcon"],setup(e,{emit:t,attrs:n,slots:o}){let r,i;const a=ref(),s=ref(),l=useLazyRender((()=>e.show||!e.lazyRender)),c=computed((()=>{const t={zIndex:a.value};if(isDef(e.duration)){t["center"===e.position?"animationDuration":"transitionDuration"]=`${e.duration}s`}return t})),u=()=>{r||(r=!0,a.value=void 0!==e.zIndex?+e.zIndex:useGlobalZIndex(),t("open"))},d=()=>{r&&callInterceptor(e.beforeClose,{done(){r=!1,t("close"),t("update:show",!1)}})},p=n=>{t("clickOverlay",n),e.closeOnClickOverlay&&d()},A=()=>{if(e.overlay)return createVNode(Overlay,mergeProps({show:e.show,class:e.overlayClass,zIndex:a.value,duration:e.duration,customStyle:e.overlayStyle,role:e.closeOnClickOverlay?"button":void 0,tabindex:e.closeOnClickOverlay?0:void 0},useScopeId(),{onClick:p}),{default:o["overlay-content"]})},f=e=>{t("clickCloseIcon",e),d()},m=()=>{if(e.closeable)return createVNode(Icon,{role:"button",tabindex:0,name:e.closeIcon,class:[bem$1v("close-icon",e.closeIconPosition),HAPTICS_FEEDBACK],classPrefix:e.iconPrefix,onClick:f},null)};let h;const g=()=>{h&&clearTimeout(h),h=setTimeout((()=>{t("opened")}))},v=()=>t("closed"),b=e=>t("keydown",e),E=l((()=>{var t;const{round:r,position:i,safeAreaInsetTop:a,safeAreaInsetBottom:l}=e;return withDirectives(createVNode("div",mergeProps({ref:s,style:c.value,role:"dialog",tabindex:0,class:[bem$1v({round:r,[i]:i}),{"van-safe-area-top":a,"van-safe-area-bottom":l}],onKeydown:b},n,useScopeId()),[null==(t=o.default)?void 0:t.call(o),m()]),[[vShow,e.show]])})),C=()=>{const{position:t,transition:n,transitionAppear:o}=e;return createVNode(Transition,{name:n||("center"===t?"van-fade":`van-popup-slide-${t}`),appear:o,onAfterEnter:g,onAfterLeave:v},{default:E})};return watch((()=>e.show),(e=>{e&&!r&&(u(),0===n.tabindex&&nextTick((()=>{var e;null==(e=s.value)||e.focus()}))),!e&&r&&(r=!1,t("close"))})),useExpose({popupRef:s}),useLockScroll(s,(()=>e.show&&e.lockScroll)),useEventListener("popstate",(()=>{e.closeOnPopstate&&(d(),i=!1)})),onMounted((()=>{e.show&&u()})),onActivated((()=>{i&&(t("update:show",!0),i=!1)})),onDeactivated((()=>{e.show&&e.teleport&&(d(),i=!0)})),provide(POPUP_TOGGLE_KEY,(()=>e.show)),()=>e.teleport?createVNode(Teleport,{to:e.teleport},{default:()=>[A(),C()]}):createVNode(Fragment,null,[A(),C()])}});const Popup=withInstall(stdin_default$1H),[name$1z,bem$1u]=createNamespace("action-sheet"),actionSheetProps=extend$1({},popupSharedProps,{title:String,round:truthProp,actions:makeArrayProp(),closeIcon:makeStringProp("cross"),closeable:truthProp,cancelText:String,description:String,closeOnPopstate:truthProp,closeOnClickAction:Boolean,safeAreaInsetBottom:truthProp}),popupInheritKeys$2=[...popupSharedPropKeys,"round","closeOnPopstate","safeAreaInsetBottom"];var stdin_default$1G=defineComponent({name:name$1z,props:actionSheetProps,emits:["select","cancel","update:show"],setup(e,{slots:t,emit:n}){const o=e=>n("update:show",e),r=()=>{o(!1),n("cancel")},i=()=>{if(e.title)return createVNode("div",{class:bem$1u("header")},[e.title,e.closeable&&createVNode(Icon,{name:e.closeIcon,class:[bem$1u("close"),HAPTICS_FEEDBACK],onClick:r},null)])},a=()=>{if(t.cancel||e.cancelText)return[createVNode("div",{class:bem$1u("gap")},null),createVNode("button",{type:"button",class:bem$1u("cancel"),onClick:r},[t.cancel?t.cancel():e.cancelText])]},s=(e,n)=>e.loading?createVNode(Loading$1,{class:bem$1u("loading-icon")},null):t.action?t.action({action:e,index:n}):[createVNode("span",{class:bem$1u("name")},[e.name]),e.subname&&createVNode("div",{class:bem$1u("subname")},[e.subname])],l=(t,r)=>{const{color:i,loading:a,callback:l,disabled:c,className:u}=t;return createVNode("button",{type:"button",style:{color:i},class:[bem$1u("item",{loading:a,disabled:c}),u],onClick:()=>{c||a||(l&&l(t),e.closeOnClickAction&&o(!1),nextTick((()=>n("select",t,r))))}},[s(t,r)])},c=()=>{if(e.description||t.description){const n=t.description?t.description():e.description;return createVNode("div",{class:bem$1u("description")},[n])}};return()=>createVNode(Popup,mergeProps({class:bem$1u(),position:"bottom","onUpdate:show":o},pick$1(e,popupInheritKeys$2)),{default:()=>{var n;return[i(),c(),createVNode("div",{class:bem$1u("content")},[e.actions.map(l),null==(n=t.default)?void 0:n.call(t)]),a()]}})}});const ActionSheet=withInstall(stdin_default$1G),[name$1y,bem$1t,t$k]=createNamespace("picker"),getFirstEnabledOption=e=>e.find((e=>!e.disabled))||e[0];function getColumnsType(e,t){const n=e[0];if(n){if(Array.isArray(n))return"multiple";if(t.children in n)return"cascade"}return"default"}function findIndexOfEnabledOption(e,t){for(let n=t=clamp$1(t,0,e.length);n=0;n--)if(!e[n].disabled)return n;return 0}const isOptionExist=(e,t,n)=>void 0!==t&&!!e.find((e=>e[n.value]===t));function findOptionByValue(e,t,n){const o=e.findIndex((e=>e[n.value]===t));return e[findIndexOfEnabledOption(e,o)]}function formatCascadeColumns(e,t,n){const o=[];let r={[t.children]:e},i=0;for(;r&&r[t.children];){const e=r[t.children],a=n.value[i];if(r=isDef(a)?findOptionByValue(e,a,t):void 0,!r&&e.length){r=findOptionByValue(e,getFirstEnabledOption(e)[t.value],t)}i++,o.push(e)}return o}function getElementTranslateY(e){const{transform:t}=window.getComputedStyle(e),n=t.slice(7,t.length-1).split(", ")[5];return Number(n)}function assignDefaultFields(e){return extend$1({text:"text",value:"value",children:"children"},e)}const DEFAULT_DURATION=200,MOMENTUM_TIME=300,MOMENTUM_DISTANCE=15,[name$1x,bem$1s]=createNamespace("picker-column"),PICKER_KEY=Symbol(name$1x);var stdin_default$1F=defineComponent({name:name$1x,props:{value:numericProp,fields:makeRequiredProp(Object),options:makeArrayProp(),readonly:Boolean,allowHtml:Boolean,optionHeight:makeRequiredProp(Number),swipeDuration:makeRequiredProp(numericProp),visibleOptionNum:makeRequiredProp(numericProp)},emits:["change","clickOption","scrollInto"],setup(e,{emit:t,slots:n}){let o,r,i,a,s;const l=ref(),c=ref(),u=ref(0),d=ref(0),p=useTouch(),A=()=>e.options.length,f=()=>e.optionHeight*(+e.visibleOptionNum-1)/2,m=n=>{let r=findIndexOfEnabledOption(e.options,n);const i=-r*e.optionHeight,a=()=>{r>A()-1&&(r=findIndexOfEnabledOption(e.options,n));const o=e.options[r][e.fields.value];o!==e.value&&t("change",o)};o&&i!==u.value?s=a:a(),u.value=i},h=()=>e.readonly||!e.options.length,g=t=>clamp$1(Math.round(-t/e.optionHeight),0,A()-1),v=computed((()=>g(u.value))),b=()=>{o=!1,d.value=0,s&&(s(),s=null)},E=e=>{if(!h()){if(p.start(e),o){const e=getElementTranslateY(c.value);u.value=Math.min(0,e-f())}d.value=0,r=u.value,i=Date.now(),a=r,s=null}},C=()=>{if(h())return;const t=u.value-a,n=Date.now()-i;if(nMOMENTUM_DISTANCE)return void((t,n)=>{const o=Math.abs(t/n);t=u.value+o/.003*(t<0?-1:1);const r=g(t);d.value=+e.swipeDuration,m(r)})(t,n);const r=g(u.value);d.value=DEFAULT_DURATION,m(r),setTimeout((()=>{o=!1}),0)},y=()=>{const r={height:`${e.optionHeight}px`};return e.options.map(((i,a)=>{const l=i[e.fields.text],{disabled:c}=i,u=i[e.fields.value],p={role:"button",style:r,tabindex:c?-1:0,class:[bem$1s("item",{disabled:c,selected:u===e.value}),i.className],onClick:()=>(n=>{o||h()||(s=null,d.value=DEFAULT_DURATION,m(n),t("clickOption",e.options[n]))})(a)},A={class:"van-ellipsis",[e.allowHtml?"innerHTML":"textContent"]:l};return createVNode("li",p,[n.option?n.option(i,a):createVNode("div",A,null)])}))};return useParent(PICKER_KEY),useExpose({stopMomentum:b}),watchEffect((()=>{const t=o?Math.floor(-u.value/e.optionHeight):e.options.findIndex((t=>t[e.fields.value]===e.value)),n=findIndexOfEnabledOption(e.options,t),r=-n*e.optionHeight;o&&n{if(h())return;p.move(n),p.isVertical()&&(o=!0,preventDefault(n,!0));const s=clamp$1(r+p.deltaY.value,-A()*e.optionHeight,e.optionHeight),l=g(s);l!==v.value&&t("scrollInto",e.options[l]),u.value=s;const c=Date.now();c-i>MOMENTUM_TIME&&(i=c,a=s)}),{target:l}),()=>createVNode("div",{ref:l,class:bem$1s(),onTouchstartPassive:E,onTouchend:C,onTouchcancel:C},[createVNode("ul",{ref:c,style:{transform:`translate3d(0, ${u.value+f()}px, 0)`,transitionDuration:`${d.value}ms`,transitionProperty:d.value?"all":"none"},class:bem$1s("wrapper"),onTransitionend:b},[y()])])}});const[name$1w]=createNamespace("picker-toolbar"),pickerToolbarProps={title:String,cancelButtonText:String,confirmButtonText:String},pickerToolbarSlots=["cancel","confirm","title","toolbar"],pickerToolbarPropKeys=Object.keys(pickerToolbarProps);var stdin_default$1E=defineComponent({name:name$1w,props:pickerToolbarProps,emits:["confirm","cancel"],setup(e,{emit:t,slots:n}){const o=()=>t("cancel"),r=()=>t("confirm"),i=()=>{const t=e.cancelButtonText||t$k("cancel");return createVNode("button",{type:"button",class:[bem$1t("cancel"),HAPTICS_FEEDBACK],onClick:o},[n.cancel?n.cancel():t])},a=()=>{const t=e.confirmButtonText||t$k("confirm");return createVNode("button",{type:"button",class:[bem$1t("confirm"),HAPTICS_FEEDBACK],onClick:r},[n.confirm?n.confirm():t])};return()=>createVNode("div",{class:bem$1t("toolbar")},[n.toolbar?n.toolbar():[i(),n.title?n.title():e.title?createVNode("div",{class:[bem$1t("title"),"van-ellipsis"]},[e.title]):void 0,a()]])}});const useSyncPropRef=(e,t)=>{const n=ref(e());return watch(e,(e=>{e!==n.value&&(n.value=e)})),watch(n,(n=>{n!==e()&&t(n)})),n};function scrollLeftTo(e,t,n){let o,r=0;const i=e.scrollLeft,a=0===n?1:Math.round(1e3*n/16);return function n(){e.scrollLeft+=(t-i)/a,++rt||!a&&it?r=raf(n):o&&(r=raf(o))}(),function(){cancelRaf(r)}}let current=0;function useId(){const e=getCurrentInstance(),{name:t="unknown"}=(null==e?void 0:e.type)||{};return`${t}-${++current}`}function useRefs(){const e=ref([]),t=[];onBeforeUpdate((()=>{e.value=[]}));return[e,n=>(t[n]||(t[n]=t=>{e.value[n]=t}),t[n])]}function useVisibilityChange(e,t){if(!inBrowser$1||!window.IntersectionObserver)return;const n=new IntersectionObserver((e=>{t(e[0].intersectionRatio>0)}),{root:document.body}),o=()=>{e.value&&n.unobserve(e.value)};onDeactivated(o),onBeforeUnmount(o),onMountedOrActivated((()=>{e.value&&n.observe(e.value)}))}const[name$1v,bem$1r]=createNamespace("sticky"),stickyProps={zIndex:numericProp,position:makeStringProp("top"),container:Object,offsetTop:makeNumericProp(0),offsetBottom:makeNumericProp(0)};var stdin_default$1D=defineComponent({name:name$1v,props:stickyProps,emits:["scroll","change"],setup(e,{emit:t,slots:n}){const o=ref(),r=useScrollParent(o),i=reactive({fixed:!1,width:0,height:0,transform:0}),a=ref(!1),s=computed((()=>unitToPx("top"===e.position?e.offsetTop:e.offsetBottom))),l=computed((()=>{if(a.value)return;const{fixed:e,height:t,width:n}=i;return e?{width:`${n}px`,height:`${t}px`}:void 0})),c=computed((()=>{if(!i.fixed||a.value)return;const t=extend$1(getZIndexStyle(e.zIndex),{width:`${i.width}px`,height:`${i.height}px`,[e.position]:`${s.value}px`});return i.transform&&(t.transform=`translate3d(0, ${i.transform}px, 0)`),t})),u=()=>{if(!o.value||isHidden(o))return;const{container:n,position:r}=e,a=useRect(o),l=getScrollTop(window);if(i.width=a.width,i.height=a.height,"top"===r)if(n){const e=useRect(n),t=e.bottom-s.value-i.height;i.fixed=s.value>a.top&&e.bottom>0,i.transform=t<0?t:0}else i.fixed=s.value>a.top;else{const{clientHeight:e}=document.documentElement;if(n){const t=useRect(n),o=e-t.top-s.value-i.height;i.fixed=e-s.valuet.top,i.transform=o<0?-o:0}else i.fixed=e-s.value{t("scroll",{scrollTop:e,isFixed:i.fixed})})(l)};return watch((()=>i.fixed),(e=>t("change",e))),useEventListener("scroll",u,{target:r,passive:!0}),useVisibilityChange(o,u),watch([windowWidth,windowHeight],(()=>{o.value&&!isHidden(o)&&i.fixed&&(a.value=!0,nextTick((()=>{const e=useRect(o);i.width=e.width,i.height=e.height,a.value=!1})))})),()=>{var e;return createVNode("div",{ref:o,style:l.value},[createVNode("div",{class:bem$1r({fixed:i.fixed&&!a.value}),style:c.value},[null==(e=n.default)?void 0:e.call(n)])])}}});const Sticky=withInstall(stdin_default$1D),[name$1u,bem$1q]=createNamespace("swipe"),swipeProps={loop:truthProp,width:numericProp,height:numericProp,vertical:Boolean,autoplay:makeNumericProp(0),duration:makeNumericProp(500),touchable:truthProp,lazyRender:Boolean,initialSwipe:makeNumericProp(0),indicatorColor:String,showIndicators:truthProp,stopPropagation:truthProp},SWIPE_KEY=Symbol(name$1u);var stdin_default$1C=defineComponent({name:name$1u,props:swipeProps,emits:["change","dragStart","dragEnd"],setup(e,{emit:t,slots:n}){const o=ref(),r=ref(),i=reactive({rect:null,width:0,height:0,offset:0,active:0,swiping:!1});let a=!1;const s=useTouch(),{children:l,linkChildren:c}=useChildren(SWIPE_KEY),u=computed((()=>l.length)),d=computed((()=>i[e.vertical?"height":"width"])),p=computed((()=>e.vertical?s.deltaY.value:s.deltaX.value)),A=computed((()=>{if(i.rect){return(e.vertical?i.rect.height:i.rect.width)-d.value*u.value}return 0})),f=computed((()=>d.value?Math.ceil(Math.abs(A.value)/d.value):u.value)),m=computed((()=>u.value*d.value)),h=computed((()=>(i.active+u.value)%u.value)),g=computed((()=>{const t=e.vertical?"vertical":"horizontal";return s.direction.value===t})),v=computed((()=>{const t={transitionDuration:`${i.swiping?0:e.duration}ms`,transform:`translate${e.vertical?"Y":"X"}(${+i.offset.toFixed(2)}px)`};if(d.value){const n=e.vertical?"height":"width",o=e.vertical?"width":"height";t[n]=`${m.value}px`,t[o]=e[o]?`${e[o]}px`:""}return t})),b=(t,n=0)=>{let o=t*d.value;e.loop||(o=Math.min(o,-A.value));let r=n-o;return e.loop||(r=clamp$1(r,A.value,0)),r},E=({pace:n=0,offset:o=0,emitChange:r})=>{if(u.value<=1)return;const{active:a}=i,s=(t=>{const{active:n}=i;return t?e.loop?clamp$1(n+t,-1,u.value):clamp$1(n+t,0,f.value):n})(n),c=b(s,o);if(e.loop){if(l[0]&&c!==A.value){const e=c0;l[u.value-1].setOffset(e?-m.value:0)}}i.active=s,i.offset=c,r&&s!==a&&t("change",h.value)},C=()=>{i.swiping=!0,i.active<=-1?E({pace:u.value}):i.active>=u.value&&E({pace:-u.value})},y=()=>{C(),s.reset(),doubleRaf((()=>{i.swiping=!1,E({pace:1,emitChange:!0})}))};let w;const I=()=>clearTimeout(w),S=()=>{I(),+e.autoplay>0&&u.value>1&&(w=setTimeout((()=>{y(),S()}),+e.autoplay))},R=(t=+e.initialSwipe)=>{if(!o.value)return;const n=()=>{var n,r;if(!isHidden(o)){const t={width:o.value.offsetWidth,height:o.value.offsetHeight};i.rect=t,i.width=+(null!=(n=e.width)?n:t.width),i.height=+(null!=(r=e.height)?r:t.height)}u.value&&-1===(t=Math.min(u.value-1,t))&&(t=u.value-1),i.active=t,i.swiping=!0,i.offset=b(t),l.forEach((e=>{e.setOffset(0)})),S()};isHidden(o)?nextTick().then(n):n()},T=()=>R(i.active);let _;const O=t=>{!e.touchable||t.touches.length>1||(s.start(t),a=!1,_=Date.now(),I(),C())},N=()=>{if(!e.touchable||!i.swiping)return;const n=Date.now()-_,o=p.value/n;if((Math.abs(o)>.25||Math.abs(p.value)>d.value/2)&&g.value){const t=e.vertical?s.offsetY.value:s.offsetX.value;let n=0;n=e.loop?t>0?p.value>0?-1:1:0:-Math[p.value>0?"ceil":"floor"](p.value/d.value),E({pace:n,emitChange:!0})}else p.value&&E({pace:0});a=!1,i.swiping=!1,t("dragEnd",{index:h.value}),S()},D=(t,n)=>{const o=n===h.value,r=o?{backgroundColor:e.indicatorColor}:void 0;return createVNode("i",{style:r,class:bem$1q("indicator",{active:o})},null)};return useExpose({prev:()=>{C(),s.reset(),doubleRaf((()=>{i.swiping=!1,E({pace:-1,emitChange:!0})}))},next:y,state:i,resize:T,swipeTo:(t,n={})=>{C(),s.reset(),doubleRaf((()=>{let o;o=e.loop&&t===u.value?0===i.active?0:t:t%u.value,n.immediate?doubleRaf((()=>{i.swiping=!1})):i.swiping=!1,E({pace:o-i.active,emitChange:!0})}))}}),c({size:d,props:e,count:u,activeIndicator:h}),watch((()=>e.initialSwipe),(e=>R(+e))),watch(u,(()=>R(i.active))),watch((()=>e.autoplay),S),watch([windowWidth,windowHeight,()=>e.width,()=>e.height],T),watch(usePageVisibility(),(e=>{"visible"===e?S():I()})),onMounted(R),onActivated((()=>R(i.active))),onPopupReopen((()=>R(i.active))),onDeactivated(I),onBeforeUnmount(I),useEventListener("touchmove",(n=>{if(e.touchable&&i.swiping&&(s.move(n),g.value)){!e.loop&&(0===i.active&&p.value>0||i.active===u.value-1&&p.value<0)||(preventDefault(n,e.stopPropagation),E({offset:p.value}),a||(t("dragStart",{index:h.value}),a=!0))}}),{target:r}),()=>{var t;return createVNode("div",{ref:o,class:bem$1q()},[createVNode("div",{ref:r,style:v.value,class:bem$1q("track",{vertical:e.vertical}),onTouchstartPassive:O,onTouchend:N,onTouchcancel:N},[null==(t=n.default)?void 0:t.call(n)]),n.indicator?n.indicator({active:h.value,total:u.value}):e.showIndicators&&u.value>1?createVNode("div",{class:bem$1q("indicators",{vertical:e.vertical})},[Array(u.value).fill("").map(D)]):void 0])}}});const Swipe=withInstall(stdin_default$1C),[name$1t,bem$1p]=createNamespace("tabs");var stdin_default$1B=defineComponent({name:name$1t,props:{count:makeRequiredProp(Number),inited:Boolean,animated:Boolean,duration:makeRequiredProp(numericProp),swipeable:Boolean,lazyRender:Boolean,currentIndex:makeRequiredProp(Number)},emits:["change"],setup(e,{emit:t,slots:n}){const o=ref(),r=e=>t("change",e),i=()=>{var t;const i=null==(t=n.default)?void 0:t.call(n);return e.animated||e.swipeable?createVNode(Swipe,{ref:o,loop:!1,class:bem$1p("track"),duration:1e3*+e.duration,touchable:e.swipeable,lazyRender:e.lazyRender,showIndicators:!1,onChange:r},{default:()=>[i]}):i},a=t=>{const n=o.value;n&&n.state.active!==t&&n.swipeTo(t,{immediate:!e.inited})};return watch((()=>e.currentIndex),a),onMounted((()=>{a(e.currentIndex)})),useExpose({swipeRef:o}),()=>createVNode("div",{class:bem$1p("content",{animated:e.animated||e.swipeable})},[i()])}});const[name$1s,bem$1o]=createNamespace("tabs"),tabsProps={type:makeStringProp("line"),color:String,border:Boolean,sticky:Boolean,shrink:Boolean,active:makeNumericProp(0),duration:makeNumericProp(.3),animated:Boolean,ellipsis:truthProp,swipeable:Boolean,scrollspy:Boolean,offsetTop:makeNumericProp(0),background:String,lazyRender:truthProp,lineWidth:numericProp,lineHeight:numericProp,beforeChange:Function,swipeThreshold:makeNumericProp(5),titleActiveColor:String,titleInactiveColor:String},TABS_KEY=Symbol(name$1s);var stdin_default$1A=defineComponent({name:name$1s,props:tabsProps,emits:["change","scroll","rendered","clickTab","update:active"],setup(e,{emit:t,slots:n}){let o,r,i,a,s;const l=ref(),c=ref(),u=ref(),d=ref(),p=useId(),A=useScrollParent(l),[f,m]=useRefs(),{children:h,linkChildren:g}=useChildren(TABS_KEY),v=reactive({inited:!1,position:"",lineStyle:{},currentIndex:-1}),b=computed((()=>h.length>+e.swipeThreshold||!e.ellipsis||e.shrink)),E=computed((()=>({borderColor:e.color,background:e.background}))),C=(e,t)=>{var n;return null!=(n=e.name)?n:t},y=computed((()=>{const e=h[v.currentIndex];if(e)return C(e,v.currentIndex)})),w=computed((()=>unitToPx(e.offsetTop))),I=computed((()=>e.sticky?w.value+o:0)),S=t=>{const n=c.value,o=f.value;if(!(b.value&&n&&o&&o[v.currentIndex]))return;const r=o[v.currentIndex].$el,i=r.offsetLeft-(n.offsetWidth-r.offsetWidth)/2;a&&a(),a=scrollLeftTo(n,i,t?0:+e.duration)},R=()=>{const t=v.inited;nextTick((()=>{const n=f.value;if(!n||!n[v.currentIndex]||"line"!==e.type||isHidden(l.value))return;const o=n[v.currentIndex].$el,{lineWidth:r,lineHeight:i}=e,a=o.offsetLeft+o.offsetWidth/2,s={width:addUnit(r),backgroundColor:e.color,transform:`translateX(${a}px) translateX(-50%)`};if(t&&(s.transitionDuration=`${e.duration}s`),isDef(i)){const e=addUnit(i);s.height=e,s.borderRadius=e}v.lineStyle=s}))},T=(n,o)=>{const r=(e=>{const t=e=0&&e{const n=h.find(((t,n)=>C(t,n)===e)),o=n?h.indexOf(n):0;T(o,t)},O=(t=!1)=>{if(e.scrollspy){const n=h[v.currentIndex].$el;if(n&&A.value){const o=getElementTop(n,A.value)-I.value;r=!0,s&&s(),s=scrollTopTo(A.value,o,t?0:+e.duration,(()=>{r=!1}))}}},N=(n,o,r)=>{const{title:i,disabled:a}=h[o],s=C(h[o],o);a||(callInterceptor(e.beforeChange,{args:[s],done:()=>{T(o),O()}}),route(n)),t("clickTab",{name:s,title:i,event:r,disabled:a})},D=e=>{i=e.isFixed,t("scroll",e)},k=()=>{if("line"===e.type&&h.length)return createVNode("div",{class:bem$1o("line"),style:v.lineStyle},null)},M=()=>{var t,o,r;const{type:i,border:a,sticky:s}=e,l=[createVNode("div",{ref:s?void 0:u,class:[bem$1o("wrap"),{[BORDER_TOP_BOTTOM]:"line"===i&&a}]},[createVNode("div",{ref:c,role:"tablist",class:bem$1o("nav",[i,{shrink:e.shrink,complete:b.value}]),style:E.value,"aria-orientation":"horizontal"},[null==(t=n["nav-left"])?void 0:t.call(n),h.map((e=>e.renderTitle(N))),k(),null==(o=n["nav-right"])?void 0:o.call(n)])]),null==(r=n["nav-bottom"])?void 0:r.call(n)];return s?createVNode("div",{ref:u},[l]):l},P=()=>{R(),nextTick((()=>{var e,t;S(!0),null==(t=null==(e=d.value)?void 0:e.swipeRef.value)||t.resize()}))};watch((()=>[e.color,e.duration,e.lineWidth,e.lineHeight]),R),watch(windowWidth,P),watch((()=>e.active),(e=>{e!==y.value&&_(e)})),watch((()=>h.length),(()=>{v.inited&&(_(e.active),R(),nextTick((()=>{S(!0)})))}));return useExpose({resize:P,scrollTo:e=>{nextTick((()=>{_(e),O(!0)}))}}),onActivated(R),onPopupReopen(R),onMountedOrActivated((()=>{_(e.active,!0),nextTick((()=>{v.inited=!0,u.value&&(o=useRect(u.value).height),S(!0)}))})),useVisibilityChange(l,R),useEventListener("scroll",(()=>{if(e.scrollspy&&!r){const e=(()=>{for(let e=0;eI.value)return 0===e?0:e-1}return h.length-1})();T(e)}}),{target:A,passive:!0}),g({id:p,props:e,setLine:R,scrollable:b,onRendered:(e,n)=>t("rendered",e,n),currentName:y,setTitleRefs:m,scrollIntoView:S}),()=>createVNode("div",{ref:l,class:bem$1o([e.type])},[e.sticky?createVNode(Sticky,{container:l.value,offsetTop:w.value,onScroll:D},{default:()=>[M()]}):M(),createVNode(stdin_default$1B,{ref:d,count:h.length,inited:v.inited,animated:e.animated,duration:e.duration,swipeable:e.swipeable,lazyRender:e.lazyRender,currentIndex:v.currentIndex,onChange:T},{default:()=>{var e;return[null==(e=n.default)?void 0:e.call(n)]}})])}});const TAB_STATUS_KEY=Symbol(),useTabStatus=()=>inject(TAB_STATUS_KEY,null),[name$1r,bem$1n]=createNamespace("tab"),TabTitle=defineComponent({name:name$1r,props:{id:String,dot:Boolean,type:String,color:String,title:String,badge:numericProp,shrink:Boolean,isActive:Boolean,disabled:Boolean,controls:String,scrollable:Boolean,activeColor:String,inactiveColor:String,showZeroBadge:truthProp},setup(e,{slots:t}){const n=computed((()=>{const t={},{type:n,color:o,disabled:r,isActive:i,activeColor:a,inactiveColor:s}=e;o&&"card"===n&&(t.borderColor=o,r||(i?t.backgroundColor=o:t.color=o));const l=i?a:s;return l&&(t.color=l),t})),o=()=>{const n=createVNode("span",{class:bem$1n("text",{ellipsis:!e.scrollable})},[t.title?t.title():e.title]);return e.dot||isDef(e.badge)&&""!==e.badge?createVNode(Badge,{dot:e.dot,content:e.badge,showZero:e.showZeroBadge},{default:()=>[n]}):n};return()=>createVNode("div",{id:e.id,role:"tab",class:[bem$1n([e.type,{grow:e.scrollable&&!e.shrink,shrink:e.shrink,active:e.isActive,disabled:e.disabled}])],style:n.value,tabindex:e.disabled?void 0:e.isActive?0:-1,"aria-selected":e.isActive,"aria-disabled":e.disabled||void 0,"aria-controls":e.controls},[o()])}}),[name$1q,bem$1m]=createNamespace("swipe-item");var stdin_default$1z=defineComponent({name:name$1q,setup(e,{slots:t}){let n;const o=reactive({offset:0,inited:!1,mounted:!1}),{parent:r,index:i}=useParent(SWIPE_KEY);if(!r)return;const a=computed((()=>{const e={},{vertical:t}=r.props;return r.size.value&&(e[t?"height":"width"]=`${r.size.value}px`),o.offset&&(e.transform=`translate${t?"Y":"X"}(${o.offset}px)`),e})),s=computed((()=>{const{loop:e,lazyRender:t}=r.props;if(!t||n)return!0;if(!o.mounted)return!1;const a=r.activeIndicator.value,s=r.count.value-1,l=0===a&&e?s:a-1,c=a===s&&e?0:a+1;return n=i.value===a||i.value===l||i.value===c,n}));return onMounted((()=>{nextTick((()=>{o.mounted=!0}))})),useExpose({setOffset:e=>{o.offset=e}}),()=>{var e;return createVNode("div",{class:bem$1m(),style:a.value},[s.value?null==(e=t.default)?void 0:e.call(t):null])}}});const SwipeItem=withInstall(stdin_default$1z),[name$1p,bem$1l]=createNamespace("tab"),tabProps=extend$1({},routeProps,{dot:Boolean,name:numericProp,badge:numericProp,title:String,disabled:Boolean,titleClass:unknownProp,titleStyle:[String,Object],showZeroBadge:truthProp});var stdin_default$1y=defineComponent({name:name$1p,props:tabProps,setup(e,{slots:t}){const n=useId(),o=ref(!1),r=getCurrentInstance(),{parent:i,index:a}=useParent(TABS_KEY);if(!i)return;const s=()=>{var t;return null!=(t=e.name)?t:a.value},l=computed((()=>{const t=s()===i.currentName.value;return t&&!o.value&&(o.value=!0,i.props.lazyRender&&nextTick((()=>{i.onRendered(s(),e.title)}))),t})),c=ref(""),u=ref("");watchEffect((()=>{const{titleClass:t,titleStyle:n}=e;c.value=t?normalizeClass(t):"",u.value=n&&"string"!=typeof n?stringifyStyle(normalizeStyle(n)):n}));const d=ref(!l.value);return watch(l,(e=>{e?d.value=!1:doubleRaf((()=>{d.value=!0}))})),watch((()=>e.title),(()=>{i.setLine(),i.scrollIntoView()})),provide(TAB_STATUS_KEY,l),useExpose({id:n,renderTitle:o=>createVNode(TabTitle,mergeProps({key:n,id:`${i.id}-${a.value}`,ref:i.setTitleRefs(a.value),style:u.value,class:c.value,isActive:l.value,controls:n,scrollable:i.scrollable.value,activeColor:i.props.titleActiveColor,inactiveColor:i.props.titleInactiveColor,onClick:e=>o(r.proxy,a.value,e)},pick$1(i.props,["type","color","shrink"]),pick$1(e,["dot","badge","title","disabled","showZeroBadge"])),{title:t.title})}),()=>{var e;const r=`${i.id}-${a.value}`,{animated:s,swipeable:c,scrollspy:u,lazyRender:p}=i.props;if(!t.default&&!s)return;const A=u||l.value;if(s||c)return createVNode(SwipeItem,{id:n,role:"tabpanel",class:bem$1l("panel-wrapper",{inactive:d.value}),tabindex:l.value?0:-1,"aria-hidden":!l.value,"aria-labelledby":r},{default:()=>{var e;return[createVNode("div",{class:bem$1l("panel")},[null==(e=t.default)?void 0:e.call(t)])]}});const f=o.value||u||!p?null==(e=t.default)?void 0:e.call(t):null;return withDirectives(createVNode("div",{id:n,role:"tabpanel",class:bem$1l("panel"),tabindex:A?0:-1,"aria-labelledby":r},[f]),[[vShow,A]])}}});const Tab=withInstall(stdin_default$1y),Tabs=withInstall(stdin_default$1A),[name$1o,bem$1k]=createNamespace("picker-group"),PICKER_GROUP_KEY=Symbol(name$1o),pickerGroupProps=extend$1({tabs:makeArrayProp(),activeTab:makeNumericProp(0),nextStepText:String},pickerToolbarProps);var stdin_default$1x=defineComponent({name:name$1o,props:pickerGroupProps,emits:["confirm","cancel","update:activeTab"],setup(e,{emit:t,slots:n}){const o=useSyncPropRef((()=>e.activeTab),(e=>t("update:activeTab",e))),{children:r,linkChildren:i}=useChildren(PICKER_GROUP_KEY);i();const a=()=>+o.value{a()?o.value=+o.value+1:t("confirm",r.map((e=>e.confirm())))},l=()=>t("cancel");return()=>{var t;const r=null==(t=n.default)?void 0:t.call(n),i=a()?e.nextStepText:e.confirmButtonText;return createVNode("div",{class:bem$1k()},[createVNode(stdin_default$1E,{title:e.title,cancelButtonText:e.cancelButtonText,confirmButtonText:i,onConfirm:s,onCancel:l},pick$1(n,pickerToolbarSlots)),createVNode(Tabs,{active:o.value,"onUpdate:active":e=>o.value=e,class:bem$1k("tabs"),shrink:!0,animated:!0,lazyRender:!1},{default:()=>[e.tabs.map(((e,t)=>createVNode(Tab,{title:e,titleClass:bem$1k("tab-title")},{default:()=>[null==r?void 0:r[t]]})))]})])}}});const pickerSharedProps=extend$1({loading:Boolean,readonly:Boolean,allowHtml:Boolean,optionHeight:makeNumericProp(44),showToolbar:truthProp,swipeDuration:makeNumericProp(1e3),visibleOptionNum:makeNumericProp(6)},pickerToolbarProps),pickerProps=extend$1({},pickerSharedProps,{columns:makeArrayProp(),modelValue:makeArrayProp(),toolbarPosition:makeStringProp("top"),columnsFieldNames:Object});var stdin_default$1w=defineComponent({name:name$1y,props:pickerProps,emits:["confirm","cancel","change","scrollInto","clickOption","update:modelValue"],setup(e,{emit:t,slots:n}){const o=ref(),r=ref(e.modelValue.slice(0)),{parent:i}=useParent(PICKER_GROUP_KEY),{children:a,linkChildren:s}=useChildren(PICKER_KEY);s();const l=computed((()=>assignDefaultFields(e.columnsFieldNames))),c=computed((()=>unitToPx(e.optionHeight))),u=computed((()=>getColumnsType(e.columns,l.value))),d=computed((()=>{const{columns:t}=e;switch(u.value){case"multiple":return t;case"cascade":return formatCascadeColumns(t,l.value,r);default:return[t]}})),p=computed((()=>d.value.some((e=>e.length)))),A=computed((()=>d.value.map(((e,t)=>findOptionByValue(e,r.value[t],l.value))))),f=computed((()=>d.value.map(((e,t)=>e.findIndex((e=>e[l.value.value]===r.value[t])))))),m=(e,t)=>{if(r.value[e]!==t){const n=r.value.slice(0);n[e]=t,r.value=n}},h=()=>({selectedValues:r.value.slice(0),selectedOptions:A.value,selectedIndexes:f.value}),g=()=>{a.forEach((e=>e.stopMomentum()));const e=h();return nextTick((()=>{t("confirm",e)})),e},v=()=>t("cancel",h()),b=()=>d.value.map(((o,i)=>createVNode(stdin_default$1F,{value:r.value[i],fields:l.value,options:o,readonly:e.readonly,allowHtml:e.allowHtml,optionHeight:c.value,swipeDuration:e.swipeDuration,visibleOptionNum:e.visibleOptionNum,onChange:e=>((e,n)=>{m(n,e),"cascade"===u.value&&r.value.forEach(((e,t)=>{const n=d.value[t];isOptionExist(n,e,l.value)||m(t,n.length?n[0][l.value.value]:void 0)})),nextTick((()=>{t("change",extend$1({columnIndex:n},h()))}))})(e,i),onClickOption:e=>((e,n)=>{const o={columnIndex:n,currentOption:e};t("clickOption",extend$1(h(),o)),t("scrollInto",o)})(e,i),onScrollInto:e=>{t("scrollInto",{currentOption:e,columnIndex:i})}},{option:n.option}))),E=e=>{if(p.value){const t={height:`${c.value}px`},n={backgroundSize:`100% ${(e-c.value)/2}px`};return[createVNode("div",{class:bem$1t("mask"),style:n},null),createVNode("div",{class:[BORDER_UNSET_TOP_BOTTOM,bem$1t("frame")],style:t},null)]}},C=()=>{const t=c.value*+e.visibleOptionNum,n={height:`${t}px`};return createVNode("div",{ref:o,class:bem$1t("columns"),style:n},[b(),E(t)])},y=()=>{if(e.showToolbar&&!i)return createVNode(stdin_default$1E,mergeProps(pick$1(e,pickerToolbarPropKeys),{onConfirm:g,onCancel:v}),pick$1(n,pickerToolbarSlots))};let w;watch(d,(e=>{e.forEach(((e,t)=>{e.length&&!isOptionExist(e,r.value[t],l.value)&&m(t,getFirstEnabledOption(e)[l.value.value])}))}),{immediate:!0}),watch((()=>e.modelValue),(e=>{isSameValue(e,r.value)||isSameValue(e,w)||(r.value=e.slice(0),w=e.slice(0))}),{deep:!0}),watch(r,(n=>{isSameValue(n,e.modelValue)||(w=n.slice(0),t("update:modelValue",w))}),{immediate:!0}),useEventListener("touchmove",preventDefault,{target:o});return useExpose({confirm:g,getSelectedOptions:()=>A.value}),()=>{var t,o;return createVNode("div",{class:bem$1t()},["top"===e.toolbarPosition?y():null,e.loading?createVNode(Loading$1,{class:bem$1t("loading")},null):null,null==(t=n["columns-top"])?void 0:t.call(n),C(),null==(o=n["columns-bottom"])?void 0:o.call(n),"bottom"===e.toolbarPosition?y():null])}}});const AREA_EMPTY_CODE="000000",INHERIT_SLOTS=["title","cancel","confirm","toolbar","columns-top","columns-bottom"],INHERIT_PROPS=["title","loading","readonly","optionHeight","swipeDuration","visibleOptionNum","cancelButtonText","confirmButtonText"],makeOption=(e="",t=AREA_EMPTY_CODE,n=void 0)=>({text:e,value:t,children:n});function formatDataForCascade({areaList:e,columnsNum:t,columnsPlaceholder:n}){const{city_list:o={},county_list:r={},province_list:i={}}=e,a=+t>1,s=+t>2,l=new Map;Object.keys(i).forEach((e=>{l.set(e.slice(0,2),makeOption(i[e],e,(()=>{if(a)return n.length?[makeOption(n[0],AREA_EMPTY_CODE,s?[]:void 0)]:[]})()))}));const c=new Map;if(a){const e=()=>{if(s)return n.length?[makeOption(n[1])]:[]};Object.keys(o).forEach((t=>{const n=makeOption(o[t],t,e());c.set(t.slice(0,4),n);const r=l.get(t.slice(0,2));r&&r.children.push(n)}))}s&&Object.keys(r).forEach((e=>{const t=c.get(e.slice(0,4));t&&t.children.push(makeOption(r[e],e))}));const u=Array.from(l.values());if(n.length){const e=s?[makeOption(n[2])]:void 0,t=a?[makeOption(n[1],AREA_EMPTY_CODE,e)]:void 0;u.unshift(makeOption(n[0],AREA_EMPTY_CODE,t))}return u}const Picker=withInstall(stdin_default$1w),[name$1n,bem$1j]=createNamespace("area"),areaProps=extend$1({},pick$1(pickerSharedProps,INHERIT_PROPS),{modelValue:String,columnsNum:makeNumericProp(3),columnsPlaceholder:makeArrayProp(),areaList:{type:Object,default:()=>({})}});var stdin_default$1v=defineComponent({name:name$1n,props:areaProps,emits:["change","confirm","cancel","update:modelValue"],setup(e,{emit:t,slots:n}){const o=ref([]),r=ref(),i=computed((()=>formatDataForCascade(e))),a=(...e)=>t("change",...e),s=(...e)=>t("cancel",...e),l=(...e)=>t("confirm",...e);return watch(o,(n=>{const o=n.length?n[n.length-1]:"";o&&o!==e.modelValue&&t("update:modelValue",o)}),{deep:!0}),watch((()=>e.modelValue),(t=>{if(t){t!==(o.value.length?o.value[o.value.length-1]:"")&&(o.value=[`${t.slice(0,2)}0000`,`${t.slice(0,4)}00`,t].slice(0,+e.columnsNum))}else o.value=[]}),{immediate:!0}),useExpose({confirm:()=>{var e;return null==(e=r.value)?void 0:e.confirm()},getSelectedOptions:()=>{var e;return(null==(e=r.value)?void 0:e.getSelectedOptions())||[]}}),()=>createVNode(Picker,mergeProps({ref:r,modelValue:o.value,"onUpdate:modelValue":e=>o.value=e,class:bem$1j(),columns:i.value,onChange:a,onCancel:s,onConfirm:l},pick$1(e,INHERIT_PROPS)),pick$1(n,INHERIT_SLOTS))}});const Area=withInstall(stdin_default$1v),[name$1m,bem$1i]=createNamespace("cell"),cellSharedProps={tag:makeStringProp("div"),icon:String,size:String,title:numericProp,value:numericProp,label:numericProp,center:Boolean,isLink:Boolean,border:truthProp,required:Boolean,iconPrefix:String,valueClass:unknownProp,labelClass:unknownProp,titleClass:unknownProp,titleStyle:null,arrowDirection:String,clickable:{type:Boolean,default:null}},cellProps=extend$1({},cellSharedProps,routeProps);var stdin_default$1u=defineComponent({name:name$1m,props:cellProps,setup(e,{slots:t}){const n=useRoute(),o=()=>{if(t.label||isDef(e.label))return createVNode("div",{class:[bem$1i("label"),e.labelClass]},[t.label?t.label():e.label])},r=()=>{var n;if(t.title||isDef(e.title)){const r=null==(n=t.title)?void 0:n.call(t);if(Array.isArray(r)&&0===r.length)return;return createVNode("div",{class:[bem$1i("title"),e.titleClass],style:e.titleStyle},[r||createVNode("span",null,[e.title]),o()])}},i=()=>{const n=t.value||t.default;if(n||isDef(e.value))return createVNode("div",{class:[bem$1i("value"),e.valueClass]},[n?n():createVNode("span",null,[e.value])])},a=()=>{if(t["right-icon"])return t["right-icon"]();if(e.isLink){const t=e.arrowDirection&&"right"!==e.arrowDirection?`arrow-${e.arrowDirection}`:"arrow";return createVNode(Icon,{name:t,class:bem$1i("right-icon")},null)}};return()=>{var o;const{tag:s,size:l,center:c,border:u,isLink:d,required:p}=e,A=null!=(o=e.clickable)?o:d,f={center:c,required:p,clickable:A,borderless:!u};return l&&(f[l]=!!l),createVNode(s,{class:bem$1i(f),role:A?"button":void 0,tabindex:A?0:void 0,onClick:n},{default:()=>{var n;return[t.icon?t.icon():e.icon?createVNode(Icon,{name:e.icon,class:bem$1i("left-icon"),classPrefix:e.iconPrefix},null):void 0,r(),i(),a(),null==(n=t.extra)?void 0:n.call(t)]}})}}});const Cell=withInstall(stdin_default$1u),[name$1l,bem$1h]=createNamespace("form"),formProps={colon:Boolean,disabled:Boolean,readonly:Boolean,showError:Boolean,labelWidth:numericProp,labelAlign:String,inputAlign:String,scrollToError:Boolean,validateFirst:Boolean,submitOnEnter:truthProp,showErrorMessage:truthProp,errorMessageAlign:String,validateTrigger:{type:[String,Array],default:"onBlur"}};var stdin_default$1t=defineComponent({name:name$1l,props:formProps,emits:["submit","failed"],setup(e,{emit:t,slots:n}){const{children:o,linkChildren:r}=useChildren(FORM_KEY),i=e=>e?o.filter((t=>e.includes(t.name))):o,a=t=>{return"string"==typeof t?(e=>{const t=o.find((t=>t.name===e));return t?new Promise(((e,n)=>{t.validate().then((t=>{t?n(t):e()}))})):Promise.reject()})(t):e.validateFirst?(n=t,new Promise(((e,t)=>{const o=[];i(n).reduce(((e,t)=>e.then((()=>{if(!o.length)return t.validate().then((e=>{e&&o.push(e)}))}))),Promise.resolve()).then((()=>{o.length?t(o):e()}))}))):(e=>new Promise(((t,n)=>{const o=i(e);Promise.all(o.map((e=>e.validate()))).then((e=>{(e=e.filter(Boolean)).length?n(e):t()}))})))(t);var n},s=(e,t)=>{o.some((n=>n.name===e&&(n.$el.scrollIntoView(t),!0)))},l=()=>o.reduce(((e,t)=>(void 0!==t.name&&(e[t.name]=t.formValue.value),e)),{}),c=()=>{const n=l();a().then((()=>t("submit",n))).catch((o=>{t("failed",{values:n,errors:o}),e.scrollToError&&o[0].name&&s(o[0].name)}))},u=e=>{preventDefault(e),c()};return r({props:e}),useExpose({submit:c,validate:a,getValues:l,scrollToField:s,resetValidation:e=>{"string"==typeof e&&(e=[e]);i(e).forEach((e=>{e.resetValidation()}))},getValidationStatus:()=>o.reduce(((e,t)=>(e[t.name]=t.getValidationStatus(),e)),{})}),()=>{var e;return createVNode("form",{class:bem$1h(),onSubmit:u},[null==(e=n.default)?void 0:e.call(n)])}}});const Form=withInstall(stdin_default$1t);function isEmptyValue(e){return Array.isArray(e)?!e.length:0!==e&&!e}function runSyncRule(e,t){if(isEmptyValue(e)){if(t.required)return!1;if(!1===t.validateEmpty)return!0}return!(t.pattern&&!t.pattern.test(String(e)))}function runRuleValidator(e,t){return new Promise((n=>{const o=t.validator(e,t);isPromise(o)?o.then(n):n(o)}))}function getRuleMessage(e,t){const{message:n}=t;return isFunction$1(n)?n(e,t):n||""}function startComposing({target:e}){e.composing=!0}function endComposing({target:e}){e.composing&&(e.composing=!1,e.dispatchEvent(new Event("input")))}function resizeTextarea(e,t){const n=getRootScrollTop();e.style.height="auto";let o=e.scrollHeight;if(isObject$2(t)){const{maxHeight:e,minHeight:n}=t;void 0!==e&&(o=Math.min(o,e)),void 0!==n&&(o=Math.max(o,n))}o&&(e.style.height=`${o}px`,setRootScrollTop(n))}function mapInputType(e){return"number"===e?{type:"text",inputmode:"decimal"}:"digit"===e?{type:"tel",inputmode:"numeric"}:{type:e}}function getStringLength(e){return[...e].length}function cutString(e,t){return[...e].slice(0,t).join("")}const[name$1k,bem$1g]=createNamespace("field"),fieldSharedProps={id:String,name:String,leftIcon:String,rightIcon:String,autofocus:Boolean,clearable:Boolean,maxlength:numericProp,formatter:Function,clearIcon:makeStringProp("clear"),modelValue:makeNumericProp(""),inputAlign:String,placeholder:String,autocomplete:String,autocapitalize:String,autocorrect:String,errorMessage:String,enterkeyhint:String,spellcheck:{type:Boolean,default:null},clearTrigger:makeStringProp("focus"),formatTrigger:makeStringProp("onChange"),error:{type:Boolean,default:null},disabled:{type:Boolean,default:null},readonly:{type:Boolean,default:null}},fieldProps=extend$1({},cellSharedProps,fieldSharedProps,{rows:numericProp,type:makeStringProp("text"),rules:Array,autosize:[Boolean,Object],labelWidth:numericProp,labelClass:unknownProp,labelAlign:String,showWordLimit:Boolean,errorMessageAlign:String,colon:{type:Boolean,default:null}});var stdin_default$1s=defineComponent({name:name$1k,props:fieldProps,emits:["blur","focus","clear","keypress","clickInput","endValidate","startValidate","clickLeftIcon","clickRightIcon","update:modelValue"],setup(e,{emit:t,slots:n}){const o=useId(),r=reactive({status:"unvalidated",focused:!1,validateMessage:""}),i=ref(),a=ref(),s=ref(),{parent:l}=useParent(FORM_KEY),c=()=>{var t;return String(null!=(t=e.modelValue)?t:"")},u=t=>isDef(e[t])?e[t]:l&&isDef(l.props[t])?l.props[t]:void 0,d=computed((()=>{const t=u("readonly");if(e.clearable&&!t){const t=""!==c(),n="always"===e.clearTrigger||"focus"===e.clearTrigger&&r.focused;return t&&n}return!1})),p=computed((()=>s.value&&n.input?s.value():e.modelValue)),A=()=>{r.status="unvalidated",r.validateMessage=""},f=()=>t("endValidate",{status:r.status,message:r.validateMessage}),m=(n=e.rules)=>new Promise((o=>{A(),n?(t("startValidate"),(e=>e.reduce(((e,t)=>e.then((()=>{if("failed"===r.status)return;let{value:e}=p;if(t.formatter&&(e=t.formatter(e,t)),!runSyncRule(e,t))return r.status="failed",void(r.validateMessage=getRuleMessage(e,t));if(t.validator){if(isEmptyValue(e)&&!1===t.validateEmpty)return;return runRuleValidator(e,t).then((n=>{n&&"string"==typeof n?(r.status="failed",r.validateMessage=n):!1===n&&(r.status="failed",r.validateMessage=getRuleMessage(e,t))}))}}))),Promise.resolve()))(n).then((()=>{"failed"===r.status?(o({name:e.name,message:r.validateMessage}),f()):(r.status="passed",o(),f())}))):o()})),h=t=>{if(l&&e.rules){const{validateTrigger:n}=l.props,o=toArray$1(n).includes(t),r=e.rules.filter((e=>e.trigger?toArray$1(e.trigger).includes(t):o));r.length&&m(r)}},g=(n,o="onChange")=>{const a=n;n=(t=>{var n;const{maxlength:o}=e;if(isDef(o)&&getStringLength(t)>+o){const e=c();if(e&&getStringLength(e)===+o)return e;const a=null==(n=i.value)?void 0:n.selectionEnd;if(r.focused&&a){const e=[...t],n=e.length-+o;return e.splice(a-n,n),e.join("")}return cutString(t,+o)}return t})(n);const s=getStringLength(a)-getStringLength(n);if("number"===e.type||"digit"===e.type){const t="number"===e.type;n=formatNumber(n,t,t)}let l=0;if(e.formatter&&o===e.formatTrigger){const{formatter:t,maxlength:o}=e;if(n=t(n),isDef(o)&&getStringLength(n)>+o&&(n=cutString(n,+o)),i.value&&r.focused){const{selectionEnd:e}=i.value,n=cutString(a,e);l=getStringLength(t(n))-getStringLength(n)}}if(i.value&&i.value.value!==n)if(r.focused){let{selectionStart:e,selectionEnd:t}=i.value;if(i.value.value=n,isDef(e)&&isDef(t)){const o=getStringLength(n);s?(e-=s,t-=s):l&&(e+=l,t+=l),i.value.setSelectionRange(Math.min(e,o),Math.min(t,o))}}else i.value.value=n;n!==e.modelValue&&t("update:modelValue",n)},v=e=>{e.target.composing||g(e.target.value)},b=()=>{var e;return null==(e=i.value)?void 0:e.blur()},E=()=>{var e;return null==(e=i.value)?void 0:e.focus()},C=()=>{const t=i.value;"textarea"===e.type&&e.autosize&&t&&resizeTextarea(t,e.autosize)},y=e=>{r.focused=!0,t("focus",e),nextTick(C),u("readonly")&&b()},w=e=>{r.focused=!1,g(c(),"onBlur"),t("blur",e),u("readonly")||(h("onBlur"),nextTick(C),resetScroll())},I=e=>t("clickInput",e),S=e=>t("clickLeftIcon",e),R=e=>t("clickRightIcon",e),T=computed((()=>"boolean"==typeof e.error?e.error:!(!l||!l.props.showError||"failed"!==r.status)||void 0)),_=computed((()=>{const e=u("labelWidth"),t=u("labelAlign");if(e&&"top"!==t)return{width:addUnit(e)}})),O=n=>{if(13===n.keyCode){l&&l.props.submitOnEnter||"textarea"===e.type||preventDefault(n),"search"===e.type&&b()}t("keypress",n)},N=()=>e.id||`${o}-input`,D=()=>{const t=bem$1g("control",[u("inputAlign"),{error:T.value,custom:!!n.input,"min-height":"textarea"===e.type&&!e.autosize}]);if(n.input)return createVNode("div",{class:t,onClick:I},[n.input()]);const r={id:N(),ref:i,name:e.name,rows:void 0!==e.rows?+e.rows:void 0,class:t,disabled:u("disabled"),readonly:u("readonly"),autofocus:e.autofocus,placeholder:e.placeholder,autocomplete:e.autocomplete,autocapitalize:e.autocapitalize,autocorrect:e.autocorrect,enterkeyhint:e.enterkeyhint,spellcheck:e.spellcheck,"aria-labelledby":e.label?`${o}-label`:void 0,onBlur:w,onFocus:y,onInput:v,onClick:I,onChange:endComposing,onKeypress:O,onCompositionend:endComposing,onCompositionstart:startComposing};return"textarea"===e.type?createVNode("textarea",r,null):createVNode("input",mergeProps(mapInputType(e.type),r),null)},k=()=>{const t=n["right-icon"];if(e.rightIcon||t)return createVNode("div",{class:bem$1g("right-icon"),onClick:R},[t?t():createVNode(Icon,{name:e.rightIcon,classPrefix:e.iconPrefix},null)])},M=()=>{if(e.showWordLimit&&e.maxlength){const t=getStringLength(c());return createVNode("div",{class:bem$1g("word-limit")},[createVNode("span",{class:bem$1g("word-num")},[t]),createTextVNode("/"),e.maxlength])}},P=()=>{if(l&&!1===l.props.showErrorMessage)return;const t=e.errorMessage||r.validateMessage;if(t){const e=n["error-message"],o=u("errorMessageAlign");return createVNode("div",{class:bem$1g("error-message",o)},[e?e({message:t}):t])}},B=()=>[createVNode("div",{class:bem$1g("body")},[D(),d.value&&createVNode(Icon,{ref:a,name:e.clearIcon,class:bem$1g("clear")},null),k(),n.button&&createVNode("div",{class:bem$1g("button")},[n.button()])]),M(),P()];return useExpose({blur:b,focus:E,validate:m,formValue:p,resetValidation:A,getValidationStatus:()=>r.status}),provide(CUSTOM_FIELD_INJECTION_KEY,{customValue:s,resetValidation:A,validateWithTrigger:h}),watch((()=>e.modelValue),(()=>{g(c()),A(),h("onChange"),nextTick(C)})),onMounted((()=>{g(c(),e.formatTrigger),nextTick(C)})),useEventListener("touchstart",(e=>{preventDefault(e),t("update:modelValue",""),t("clear",e)}),{target:computed((()=>{var e;return null==(e=a.value)?void 0:e.$el}))}),()=>{const t=u("disabled"),r=u("labelAlign"),i=(()=>{const t=n["left-icon"];if(e.leftIcon||t)return createVNode("div",{class:bem$1g("left-icon"),onClick:S},[t?t():createVNode(Icon,{name:e.leftIcon,classPrefix:e.iconPrefix},null)])})();return createVNode(Cell,{size:e.size,class:bem$1g({error:T.value,disabled:t,[`label-${r}`]:r}),center:e.center,border:e.border,isLink:e.isLink,clickable:e.clickable,titleStyle:_.value,valueClass:bem$1g("value"),titleClass:[bem$1g("label",[r,{required:e.required}]),e.labelClass],arrowDirection:e.arrowDirection},{icon:i&&"top"!==r?()=>i:null,title:()=>{const t=(()=>{const t=u("labelWidth"),r=u("labelAlign"),i=u("colon")?":":"";return n.label?[n.label(),i]:e.label?createVNode("label",{id:`${o}-label`,for:n.input?void 0:N(),onClick:e=>{preventDefault(e),E()},style:"top"===r&&t?{width:addUnit(t)}:void 0},[e.label+i]):void 0})();return"top"===r?[i,t].filter(Boolean):t||[]},value:B,extra:n.extra})}}});const Field=withInstall(stdin_default$1s);let lockCount=0;function lockClick(e){e?(lockCount||document.body.classList.add("van-toast--unclickable"),lockCount++):lockCount&&(lockCount--,lockCount||document.body.classList.remove("van-toast--unclickable"))}const[name$1j,bem$1f]=createNamespace("toast"),popupInheritProps=["show","overlay","teleport","transition","overlayClass","overlayStyle","closeOnClickOverlay"],toastProps={icon:String,show:Boolean,type:makeStringProp("text"),overlay:Boolean,message:numericProp,iconSize:numericProp,duration:makeNumberProp(2e3),position:makeStringProp("middle"),teleport:[String,Object],wordBreak:String,className:unknownProp,iconPrefix:String,transition:makeStringProp("van-fade"),loadingType:String,forbidClick:Boolean,overlayClass:unknownProp,overlayStyle:Object,closeOnClick:Boolean,closeOnClickOverlay:Boolean};var stdin_default$1r=defineComponent({name:name$1j,props:toastProps,emits:["update:show"],setup(e,{emit:t,slots:n}){let o,r=!1;const i=()=>{const t=e.show&&e.forbidClick;r!==t&&(r=t,lockClick(r))},a=e=>t("update:show",e),s=()=>{e.closeOnClick&&a(!1)},l=()=>clearTimeout(o),c=()=>{const{icon:t,type:n,iconSize:o,iconPrefix:r,loadingType:i}=e;return t||"success"===n||"fail"===n?createVNode(Icon,{name:t||n,size:o,class:bem$1f("icon"),classPrefix:r},null):"loading"===n?createVNode(Loading$1,{class:bem$1f("loading"),size:o,type:i},null):void 0},u=()=>{const{type:t,message:o}=e;return n.message?createVNode("div",{class:bem$1f("text")},[n.message()]):isDef(o)&&""!==o?"html"===t?createVNode("div",{key:0,class:bem$1f("text"),innerHTML:String(o)},null):createVNode("div",{class:bem$1f("text")},[o]):void 0};return watch((()=>[e.show,e.forbidClick]),i),watch((()=>[e.show,e.type,e.message,e.duration]),(()=>{l(),e.show&&e.duration>0&&(o=setTimeout((()=>{a(!1)}),e.duration))})),onMounted(i),onUnmounted(i),()=>createVNode(Popup,mergeProps({class:[bem$1f([e.position,"normal"===e.wordBreak?"break-normal":e.wordBreak,{[e.type]:!e.icon}]),e.className],lockScroll:!1,onClick:s,onClosed:l,"onUpdate:show":a},pick$1(e,popupInheritProps)),{default:()=>[c(),u()]})}});function usePopupState(){const e=reactive({show:!1}),t=t=>{e.show=t},n=n=>{extend$1(e,n,{transitionAppear:!0}),t(!0)},o=()=>t(!1);return useExpose({open:n,close:o,toggle:t}),{open:n,close:o,state:e,toggle:t}}function mountComponent(e){const t=createApp(e),n=document.createElement("div");return document.body.appendChild(n),{instance:t.mount(n),unmount(){t.unmount(),document.body.removeChild(n)}}}const defaultOptions={icon:"",type:"text",message:"",className:"",overlay:!1,onClose:void 0,onOpened:void 0,duration:2e3,teleport:"body",iconSize:void 0,iconPrefix:void 0,position:"middle",transition:"van-fade",forbidClick:!1,loadingType:void 0,overlayClass:"",overlayStyle:void 0,closeOnClick:!1,closeOnClickOverlay:!1};let queue=[],allowMultiple=!1,currentOptions$1=extend$1({},defaultOptions);const defaultOptionsMap=new Map;function parseOptions(e){return isObject$2(e)?e:{message:e}}function createInstance$1(){const{instance:e,unmount:t}=mountComponent({setup(){const e=ref(""),{open:t,state:n,close:o,toggle:r}=usePopupState(),i=()=>{};return watch(e,(e=>{n.message=e})),getCurrentInstance().render=()=>createVNode(stdin_default$1r,mergeProps(n,{onClosed:i,"onUpdate:show":r}),null),{open:t,close:o,message:e}}});return e}function getInstance(){if(!queue.length||allowMultiple){const e=createInstance$1();queue.push(e)}return queue[queue.length-1]}function showToast(e={}){if(!inBrowser$1)return{};const t=getInstance(),n=parseOptions(e);return t.open(extend$1({},currentOptions$1,defaultOptionsMap.get(n.type||currentOptions$1.type),n)),t}const createMethod=e=>t=>showToast(extend$1({type:e},parseOptions(t))),showLoadingToast=createMethod("loading"),Toast=withInstall(stdin_default$1r),[name$1i,bem$1e]=createNamespace("switch"),switchProps={size:numericProp,loading:Boolean,disabled:Boolean,modelValue:unknownProp,activeColor:String,inactiveColor:String,activeValue:{type:unknownProp,default:!0},inactiveValue:{type:unknownProp,default:!1}};var stdin_default$1q=defineComponent({name:name$1i,props:switchProps,emits:["change","update:modelValue"],setup(e,{emit:t,slots:n}){const o=()=>e.modelValue===e.activeValue,r=()=>{if(!e.disabled&&!e.loading){const n=o()?e.inactiveValue:e.activeValue;t("update:modelValue",n),t("change",n)}},i=()=>{if(e.loading){const t=o()?e.activeColor:e.inactiveColor;return createVNode(Loading$1,{class:bem$1e("loading"),color:t},null)}if(n.node)return n.node()};return useCustomFieldValue((()=>e.modelValue)),()=>{var t;const{size:a,loading:s,disabled:l,activeColor:c,inactiveColor:u}=e,d=o(),p={fontSize:addUnit(a),backgroundColor:d?c:u};return createVNode("div",{role:"switch",class:bem$1e({on:d,loading:s,disabled:l}),style:p,tabindex:l?void 0:0,"aria-checked":d,onClick:r},[createVNode("div",{class:bem$1e("node")},[i()]),null==(t=n.background)?void 0:t.call(n)])}}});const Switch=withInstall(stdin_default$1q),[name$1h,bem$1d]=createNamespace("address-edit-detail"),t$j=createNamespace("address-edit")[2];var stdin_default$1p=defineComponent({name:name$1h,props:{show:Boolean,rows:numericProp,value:String,rules:Array,focused:Boolean,maxlength:numericProp,searchResult:Array,showSearchResult:Boolean},emits:["blur","focus","input","selectSearch"],setup(e,{emit:t}){const n=ref(),o=()=>e.focused&&e.searchResult&&e.showSearchResult,r=()=>{if(!o())return;const{searchResult:n}=e;return n.map((e=>createVNode(Cell,{clickable:!0,key:(e.name||"")+(e.address||""),icon:"location-o",title:e.name,label:e.address,class:bem$1d("search-item"),border:!1,onClick:()=>(e=>{t("selectSearch",e),t("input",`${e.address||""} ${e.name||""}`.trim())})(e)},null)))},i=e=>t("blur",e),a=e=>t("focus",e),s=e=>t("input",e);return()=>{if(e.show)return createVNode(Fragment,null,[createVNode(Field,{autosize:!0,clearable:!0,ref:n,class:bem$1d(),rows:e.rows,type:"textarea",rules:e.rules,label:t$j("addressDetail"),border:!o(),maxlength:e.maxlength,modelValue:e.value,placeholder:t$j("addressDetail"),onBlur:i,onFocus:a,"onUpdate:modelValue":s},null),r()])}}});const[name$1g,bem$1c,t$i]=createNamespace("address-edit"),DEFAULT_DATA={name:"",tel:"",city:"",county:"",country:"",province:"",areaCode:"",isDefault:!1,addressDetail:""},addressEditProps={areaList:Object,isSaving:Boolean,isDeleting:Boolean,validator:Function,showArea:truthProp,showDetail:truthProp,showDelete:Boolean,disableArea:Boolean,searchResult:Array,telMaxlength:numericProp,showSetDefault:Boolean,saveButtonText:String,areaPlaceholder:String,deleteButtonText:String,showSearchResult:Boolean,detailRows:makeNumericProp(1),detailMaxlength:makeNumericProp(200),areaColumnsPlaceholder:makeArrayProp(),addressInfo:{type:Object,default:()=>extend$1({},DEFAULT_DATA)},telValidator:{type:Function,default:isMobile}};var stdin_default$1o=defineComponent({name:name$1g,props:addressEditProps,emits:["save","focus","change","delete","clickArea","changeArea","changeDetail","selectSearch","changeDefault"],setup(e,{emit:t,slots:n}){const o=ref(),r=reactive({}),i=ref(!1),a=ref(!1),s=computed((()=>isObject$2(e.areaList)&&Object.keys(e.areaList).length)),l=computed((()=>{const{province:e,city:t,county:n,areaCode:o}=r;if(o){const o=[e,t,n];return e&&e===t&&o.splice(1,1),o.filter(Boolean).join("/")}return""})),c=computed((()=>{var t;return(null==(t=e.searchResult)?void 0:t.length)&&a.value})),u=e=>{a.value="addressDetail"===e,t("focus",e)},d=(e,n)=>{t("change",{key:e,value:n})},p=computed((()=>{const{validator:t,telValidator:n}=e,o=(e,n)=>({validator:o=>{if(t){const n=t(e,o);if(n)return n}return!!o||n}});return{name:[o("name",t$i("nameEmpty"))],tel:[o("tel",t$i("telInvalid")),{validator:n,message:t$i("telInvalid")}],areaCode:[o("areaCode",t$i("areaEmpty"))],addressDetail:[o("addressDetail",t$i("addressEmpty"))]}})),A=()=>t("save",r),f=e=>{r.addressDetail=e,t("changeDetail",e)},m=e=>{r.province=e[0].text,r.city=e[1].text,r.county=e[2].text},h=({selectedValues:e,selectedOptions:n})=>{e.some((e=>e===AREA_EMPTY_CODE))?showToast(t$i("areaEmpty")):(i.value=!1,m(n),t("changeArea",n))},g=()=>t("delete",r),v=()=>{setTimeout((()=>{a.value=!1}))},b=()=>{if(e.showSetDefault){const e={"right-icon":()=>createVNode(Switch,{modelValue:r.isDefault,"onUpdate:modelValue":e=>r.isDefault=e,onChange:e=>t("changeDefault",e)},null)};return withDirectives(createVNode(Cell,{center:!0,border:!1,title:t$i("defaultAddress"),class:bem$1c("default")},e),[[vShow,!c.value]])}};return useExpose({setAreaCode:e=>{r.areaCode=e||""},setAddressDetail:e=>{r.addressDetail=e}}),watch((()=>e.addressInfo),(e=>{extend$1(r,DEFAULT_DATA,e),nextTick((()=>{var e;const t=null==(e=o.value)?void 0:e.getSelectedOptions();t&&t.every((e=>e&&e.value!==AREA_EMPTY_CODE))&&m(t)}))}),{deep:!0,immediate:!0}),()=>{const{disableArea:m}=e;return createVNode(Form,{class:bem$1c(),onSubmit:A},{default:()=>{var A;return[createVNode("div",{class:bem$1c("fields")},[createVNode(Field,{modelValue:r.name,"onUpdate:modelValue":[e=>r.name=e,e=>d("name",e)],clearable:!0,label:t$i("name"),rules:p.value.name,placeholder:t$i("name"),onFocus:()=>u("name")},null),createVNode(Field,{modelValue:r.tel,"onUpdate:modelValue":[e=>r.tel=e,e=>d("tel",e)],clearable:!0,type:"tel",label:t$i("tel"),rules:p.value.tel,maxlength:e.telMaxlength,placeholder:t$i("tel"),onFocus:()=>u("tel")},null),withDirectives(createVNode(Field,{readonly:!0,label:t$i("area"),"is-link":!m,modelValue:l.value,rules:p.value.areaCode,placeholder:e.areaPlaceholder||t$i("area"),onFocus:()=>u("areaCode"),onClick:()=>{t("clickArea"),i.value=!m}},null),[[vShow,e.showArea]]),createVNode(stdin_default$1p,{show:e.showDetail,rows:e.detailRows,rules:p.value.addressDetail,value:r.addressDetail,focused:a.value,maxlength:e.detailMaxlength,searchResult:e.searchResult,showSearchResult:e.showSearchResult,onBlur:v,onFocus:()=>u("addressDetail"),onInput:f,onSelectSearch:e=>t("selectSearch",e)},null),null==(A=n.default)?void 0:A.call(n)]),b(),withDirectives(createVNode("div",{class:bem$1c("buttons")},[createVNode(Button,{block:!0,round:!0,type:"primary",text:e.saveButtonText||t$i("save"),class:bem$1c("button"),loading:e.isSaving,nativeType:"submit"},null),e.showDelete&&createVNode(Button,{block:!0,round:!0,class:bem$1c("button"),loading:e.isDeleting,text:e.deleteButtonText||t$i("delete"),onClick:g},null)]),[[vShow,!c.value]]),createVNode(Popup,{show:i.value,"onUpdate:show":e=>i.value=e,round:!0,teleport:"body",position:"bottom",lazyRender:!1},{default:()=>[createVNode(Area,{modelValue:r.areaCode,"onUpdate:modelValue":e=>r.areaCode=e,ref:o,loading:!s.value,areaList:e.areaList,columnsPlaceholder:e.areaColumnsPlaceholder,onConfirm:h,onCancel:()=>{i.value=!1}},null)]})]}})}}});const AddressEdit=withInstall(stdin_default$1o),[name$1f,bem$1b]=createNamespace("radio-group"),radioGroupProps={shape:String,disabled:Boolean,iconSize:numericProp,direction:String,modelValue:unknownProp,checkedColor:String},RADIO_KEY=Symbol(name$1f);var stdin_default$1n=defineComponent({name:name$1f,props:radioGroupProps,emits:["change","update:modelValue"],setup(e,{emit:t,slots:n}){const{linkChildren:o}=useChildren(RADIO_KEY);return watch((()=>e.modelValue),(e=>t("change",e))),o({props:e,updateValue:e=>t("update:modelValue",e)}),useCustomFieldValue((()=>e.modelValue)),()=>{var t;return createVNode("div",{class:bem$1b([e.direction]),role:"radiogroup"},[null==(t=n.default)?void 0:t.call(n)])}}});const RadioGroup=withInstall(stdin_default$1n),[name$1e,bem$1a]=createNamespace("tag"),tagProps={size:String,mark:Boolean,show:truthProp,type:makeStringProp("default"),color:String,plain:Boolean,round:Boolean,textColor:String,closeable:Boolean};var stdin_default$1m=defineComponent({name:name$1e,props:tagProps,emits:["close"],setup(e,{slots:t,emit:n}){const o=e=>{e.stopPropagation(),n("close",e)},r=()=>{var n;const{type:r,mark:i,plain:a,round:s,size:l,closeable:c}=e,u={mark:i,plain:a,round:s};l&&(u[l]=l);const d=c&&createVNode(Icon,{name:"cross",class:[bem$1a("close"),HAPTICS_FEEDBACK],onClick:o},null);return createVNode("span",{style:e.plain?{color:e.textColor||e.color,borderColor:e.color}:{color:e.textColor,background:e.color},class:bem$1a([u,r])},[null==(n=t.default)?void 0:n.call(t),d])};return()=>createVNode(Transition,{name:e.closeable?"van-fade":void 0},{default:()=>[e.show?r():null]})}});const Tag=withInstall(stdin_default$1m),checkerProps={name:unknownProp,disabled:Boolean,iconSize:numericProp,modelValue:unknownProp,checkedColor:String,labelPosition:String,labelDisabled:Boolean};var stdin_default$1l=defineComponent({props:extend$1({},checkerProps,{bem:makeRequiredProp(Function),role:String,shape:String,parent:Object,checked:Boolean,bindGroup:truthProp,indeterminate:{type:Boolean,default:null}}),emits:["click","toggle"],setup(e,{emit:t,slots:n}){const o=ref(),r=t=>{if(e.parent&&e.bindGroup)return e.parent.props[t]},i=computed((()=>{if(e.parent&&e.bindGroup){const t=r("disabled")||e.disabled;if("checkbox"===e.role){const n=r("modelValue").length,o=r("max");return t||o&&n>=+o&&!e.checked}return t}return e.disabled})),a=computed((()=>r("direction"))),s=computed((()=>{const t=e.checkedColor||r("checkedColor");if(t&&e.checked&&!i.value)return{borderColor:t,backgroundColor:t}})),l=computed((()=>e.shape||r("shape")||"round")),c=n=>{const{target:r}=n,a=o.value,s=a===r||(null==a?void 0:a.contains(r));i.value||!s&&e.labelDisabled||t("toggle"),t("click",n)},u=()=>{var t,a;const{bem:c,checked:u,indeterminate:d}=e,p=e.iconSize||r("iconSize");return createVNode("div",{ref:o,class:c("icon",[l.value,{disabled:i.value,checked:u,indeterminate:d}]),style:"dot"!==l.value?{fontSize:addUnit(p)}:{width:addUnit(p),height:addUnit(p),borderColor:null==(t=s.value)?void 0:t.borderColor}},[n.icon?n.icon({checked:u,disabled:i.value}):"dot"!==l.value?createVNode(Icon,{name:d?"minus":"success",style:s.value},null):createVNode("div",{class:c("icon--dot__icon"),style:{backgroundColor:null==(a=s.value)?void 0:a.backgroundColor}},null)])},d=()=>{if(n.default)return createVNode("span",{class:e.bem("label",[e.labelPosition,{disabled:i.value}])},[n.default()])};return()=>{const t="left"===e.labelPosition?[d(),u()]:[u(),d()];return createVNode("div",{role:e.role,class:e.bem([{disabled:i.value,"label-disabled":e.labelDisabled},a.value]),tabindex:i.value?void 0:0,"aria-checked":e.checked,onClick:c},[t])}}});const radioProps=extend$1({},checkerProps,{shape:String}),[name$1d,bem$19]=createNamespace("radio");var stdin_default$1k=defineComponent({name:name$1d,props:radioProps,emits:["update:modelValue"],setup(e,{emit:t,slots:n}){const{parent:o}=useParent(RADIO_KEY),r=()=>{o?o.updateValue(e.name):t("update:modelValue",e.name)};return()=>createVNode(stdin_default$1l,mergeProps({bem:bem$19,role:"radio",parent:o,checked:(o?o.props.modelValue:e.modelValue)===e.name,onToggle:r},e),pick$1(n,["default","icon"]))}});const Radio=withInstall(stdin_default$1k),[name$1c,bem$18]=createNamespace("address-item");var stdin_default$1j=defineComponent({name:name$1c,props:{address:makeRequiredProp(Object),disabled:Boolean,switchable:Boolean,defaultTagText:String,rightIcon:makeStringProp("edit")},emits:["edit","click","select"],setup(e,{slots:t,emit:n}){const o=()=>{e.switchable&&n("select"),n("click")},r=()=>createVNode(Icon,{name:e.rightIcon,class:bem$18("edit"),onClick:e=>{e.stopPropagation(),n("edit"),n("click")}},null),i=()=>{const{address:n,disabled:o,switchable:r}=e,i=[createVNode("div",{class:bem$18("name")},[`${n.name} ${n.tel}`,t.tag?t.tag(e.address):e.address.isDefault&&e.defaultTagText?createVNode(Tag,{type:"primary",round:!0,class:bem$18("tag")},{default:()=>[e.defaultTagText]}):void 0]),createVNode("div",{class:bem$18("address")},[n.address])];return r&&!o?createVNode(Radio,{name:n.id,iconSize:18},{default:()=>[i]}):i};return()=>{var n;const{disabled:a}=e;return createVNode("div",{class:bem$18({disabled:a}),onClick:o},[createVNode(Cell,{border:!1,titleClass:bem$18("title")},{title:i,"right-icon":r}),null==(n=t.bottom)?void 0:n.call(t,extend$1({},e.address,{disabled:a}))])}}});const[name$1b,bem$17,t$h]=createNamespace("address-list"),addressListProps={list:makeArrayProp(),modelValue:numericProp,switchable:truthProp,disabledText:String,disabledList:makeArrayProp(),showAddButton:truthProp,addButtonText:String,defaultTagText:String,rightIcon:makeStringProp("edit")};var stdin_default$1i=defineComponent({name:name$1b,props:addressListProps,emits:["add","edit","select","clickItem","editDisabled","selectDisabled","update:modelValue"],setup(e,{slots:t,emit:n}){const o=(o,r)=>{if(o)return o.map(((o,i)=>((o,r,i)=>createVNode(stdin_default$1j,{key:o.id,address:o,disabled:i,switchable:e.switchable,defaultTagText:e.defaultTagText,rightIcon:e.rightIcon,onEdit:()=>n(i?"editDisabled":"edit",o,r),onClick:()=>n("clickItem",o,r),onSelect:()=>{n(i?"selectDisabled":"select",o,r),i||n("update:modelValue",o.id)}},{bottom:t["item-bottom"],tag:t.tag}))(o,i,r)))};return()=>{var r,i;const a=o(e.list),s=o(e.disabledList,!0),l=e.disabledText&&createVNode("div",{class:bem$17("disabled-text")},[e.disabledText]);return createVNode("div",{class:bem$17()},[null==(r=t.top)?void 0:r.call(t),createVNode(RadioGroup,{modelValue:e.modelValue},{default:()=>[a]}),l,s,null==(i=t.default)?void 0:i.call(t),e.showAddButton?createVNode("div",{class:[bem$17("bottom"),"van-safe-area-bottom"]},[createVNode(Button,{round:!0,block:!0,type:"primary",text:e.addButtonText||t$h("add"),class:bem$17("add"),onClick:()=>n("add")},null)]):void 0])}}});const AddressList=withInstall(stdin_default$1i);function throttle(e,t){let n=null,o=0;return function(...r){if(n)return;const i=()=>{o=Date.now(),n=!1,e.apply(this,r)};Date.now()-o>=t?i():n=setTimeout(i,t)}}const[name$1a,bem$16]=createNamespace("back-top"),backTopProps={right:numericProp,bottom:numericProp,zIndex:numericProp,target:[String,Object],offset:makeNumericProp(200),immediate:Boolean,teleport:{type:[String,Object],default:"body"}};var stdin_default$1h=defineComponent({name:name$1a,inheritAttrs:!1,props:backTopProps,emits:["click"],setup(e,{emit:t,slots:n,attrs:o}){let r=!1;const i=ref(!1),a=ref(),s=ref(),l=computed((()=>extend$1(getZIndexStyle(e.zIndex),{right:addUnit(e.right),bottom:addUnit(e.bottom)}))),c=n=>{var o;t("click",n),null==(o=s.value)||o.scrollTo({top:0,behavior:e.immediate?"auto":"smooth"})},u=()=>{i.value=!!s.value&&getScrollTop(s.value)>=+e.offset},d=()=>{inBrowser$1&&nextTick((()=>{s.value=e.target?(()=>{const{target:t}=e;if("string"!=typeof t)return t;{const e=document.querySelector(t);if(e)return e}})():getScrollParent$1(a.value),u()}))};return useEventListener("scroll",throttle(u,100),{target:s}),onMounted(d),onActivated((()=>{r&&(i.value=!0,r=!1)})),onDeactivated((()=>{i.value&&e.teleport&&(i.value=!1,r=!0)})),watch((()=>e.target),d),()=>{const t=createVNode("div",mergeProps({ref:e.teleport?void 0:a,class:bem$16({active:i.value}),style:l.value,onClick:c},o),[n.default?n.default():createVNode(Icon,{name:"back-top",class:bem$16("icon")},null)]);return e.teleport?[createVNode("div",{ref:a,class:bem$16("placeholder")},null),createVNode(Teleport,{to:e.teleport},{default:()=>[t]})]:t}}});const BackTop=withInstall(stdin_default$1h);var __async=(e,t,n)=>new Promise(((o,r)=>{var i=e=>{try{s(n.next(e))}catch(t){r(t)}},a=e=>{try{s(n.throw(e))}catch(t){r(t)}},s=e=>e.done?o(e.value):Promise.resolve(e.value).then(i,a);s((n=n.apply(e,t)).next())}));const barrageProps={top:makeNumericProp(10),rows:makeNumericProp(4),duration:makeNumericProp(4e3),autoPlay:truthProp,delay:makeNumberProp(300),modelValue:makeArrayProp()},[name$19,bem$15]=createNamespace("barrage");var stdin_default$1g=defineComponent({name:name$19,props:barrageProps,emits:["update:modelValue"],setup(e,{emit:t,slots:n}){const o=ref(),r=bem$15("item"),i=ref(0),a=[],s=ref(!0),l=ref(e.autoPlay),c=({id:n,text:c},u)=>{var d;const p=((t,n=e.delay)=>{const o=document.createElement("span");return o.className=r,o.innerText=String(t),o.style.animationDuration=`${e.duration}ms`,o.style.animationDelay=`${n}ms`,o.style.animationName="van-barrage",o.style.animationTimingFunction="linear",o})(c,s.value?u*e.delay:void 0);e.autoPlay||!1!==l.value||(p.style.animationPlayState="paused"),null==(d=o.value)||d.append(p),i.value++;const A=(i.value-1)%+e.rows*p.offsetHeight+ +e.top;p.style.top=`${A}px`,p.dataset.id=String(n),a.push(p),p.addEventListener("animationend",(()=>{t("update:modelValue",[...e.modelValue].filter((e=>String(e.id)!==p.dataset.id)))}))},u=(e,t)=>{const n=new Map(t.map((e=>[e.id,e])));e.forEach(((e,t)=>{n.has(e.id)?n.delete(e.id):c(e,t)})),n.forEach((e=>{const t=a.findIndex((t=>t.dataset.id===String(e.id)));t>-1&&(a[t].remove(),a.splice(t,1))})),s.value=!1};watch((()=>e.modelValue.slice()),((e,t)=>u(null!=e?e:[],null!=t?t:[])),{deep:!0});const d=ref({});onMounted((()=>__async(this,null,(function*(){var t;d.value["--move-distance"]=`-${null==(t=o.value)?void 0:t.offsetWidth}px`,yield nextTick(),u(e.modelValue,[])}))));return useExpose({play:()=>{l.value=!0,a.forEach((e=>{e.style.animationPlayState="running"}))},pause:()=>{l.value=!1,a.forEach((e=>{e.style.animationPlayState="paused"}))}}),()=>{var e;return createVNode("div",{class:bem$15(),ref:o,style:d.value},[null==(e=n.default)?void 0:e.call(n)])}}});const Barrage=withInstall(stdin_default$1g),[name$18,bem$14,t$g]=createNamespace("calendar"),formatMonthTitle=e=>t$g("monthTitle",e.getFullYear(),e.getMonth()+1);function compareMonth(e,t){const n=e.getFullYear(),o=t.getFullYear();if(n===o){const n=e.getMonth(),o=t.getMonth();return n===o?0:n>o?1:-1}return n>o?1:-1}function compareDay(e,t){const n=compareMonth(e,t);if(0===n){const n=e.getDate(),o=t.getDate();return n===o?0:n>o?1:-1}return n}const cloneDate=e=>new Date(e),cloneDates=e=>Array.isArray(e)?e.map(cloneDate):cloneDate(e);function getDayByOffset(e,t){const n=cloneDate(e);return n.setDate(n.getDate()+t),n}const getPrevDay=e=>getDayByOffset(e,-1),getNextDay=e=>getDayByOffset(e,1),getToday=()=>{const e=new Date;return e.setHours(0,0,0,0),e};function calcDateNum(e){const t=e[0].getTime();return(e[1].getTime()-t)/864e5+1}const sharedProps=extend$1({},pickerSharedProps,{modelValue:makeArrayProp(),filter:Function,formatter:{type:Function,default:(e,t)=>t}}),pickerInheritKeys=Object.keys(pickerSharedProps);function times(e,t){if(e<0)return[];const n=Array(e);let o=-1;for(;++o32-new Date(e,t-1,32).getDate(),genOptions=(e,t,n,o,r,i)=>{const a=times(t-e+1,(t=>{const r=padZero(e+t);return o(n,{text:r,value:r})}));return r?r(n,a,i):a},formatValueRange=(e,t)=>e.map(((e,n)=>{const o=t[n];if(o.length){const t=+o[0].value,n=+o[o.length-1].value;return padZero(clamp$1(+e,t,n))}return e})),[name$17]=createNamespace("calendar-day");var stdin_default$1f=defineComponent({name:name$17,props:{item:makeRequiredProp(Object),color:String,index:Number,offset:makeNumberProp(0),rowHeight:String},emits:["click","clickDisabledDate"],setup(e,{emit:t,slots:n}){const o=computed((()=>{var t;const{item:n,index:o,color:r,offset:i,rowHeight:a}=e,s={height:a};if("placeholder"===n.type)return s.width="100%",s;if(0===o&&(s.marginLeft=100*i/7+"%"),r)switch(n.type){case"end":case"start":case"start-end":case"multiple-middle":case"multiple-selected":s.background=r;break;case"middle":s.color=r}return i+((null==(t=n.date)?void 0:t.getDate())||1)>28&&(s.marginBottom=0),s})),r=()=>{"disabled"!==e.item.type?t("click",e.item):t("clickDisabledDate",e.item)},i=()=>{const{topInfo:t}=e.item;if(t||n["top-info"])return createVNode("div",{class:bem$14("top-info")},[n["top-info"]?n["top-info"](e.item):t])},a=()=>{const{bottomInfo:t}=e.item;if(t||n["bottom-info"])return createVNode("div",{class:bem$14("bottom-info")},[n["bottom-info"]?n["bottom-info"](e.item):t])},s=()=>{const{item:t,color:n,rowHeight:o}=e,{type:r,text:s}=t,l=[i(),s,a()];return"selected"===r?createVNode("div",{class:bem$14("selected-day"),style:{width:o,height:o,background:n}},[l]):l};return()=>{const{type:t,className:n}=e.item;return"placeholder"===t?createVNode("div",{class:bem$14("day"),style:o.value},null):createVNode("div",{role:"gridcell",style:o.value,class:[bem$14("day",t),n],tabindex:"disabled"===t?void 0:-1,onClick:r},[s()])}}});const[name$16]=createNamespace("calendar-month"),calendarMonthProps={date:makeRequiredProp(Date),type:String,color:String,minDate:makeRequiredProp(Date),maxDate:makeRequiredProp(Date),showMark:Boolean,rowHeight:numericProp,formatter:Function,lazyRender:Boolean,currentDate:[Date,Array],allowSameDay:Boolean,showSubtitle:Boolean,showMonthTitle:Boolean,firstDayOfWeek:Number};var stdin_default$1e=defineComponent({name:name$16,props:calendarMonthProps,emits:["click","clickDisabledDate"],setup(e,{emit:t,slots:n}){const[o,r]=useToggle(),i=ref(),a=ref(),s=useHeight(a),l=computed((()=>formatMonthTitle(e.date))),c=computed((()=>addUnit(e.rowHeight))),u=computed((()=>{const t=e.date.getDay();return e.firstDayOfWeek?(t+7-e.firstDayOfWeek)%7:t})),d=computed((()=>getMonthEndDay(e.date.getFullYear(),e.date.getMonth()+1))),p=computed((()=>o.value||!e.lazyRender)),A=t=>{const{type:n,minDate:o,maxDate:r,currentDate:i}=e;if(compareDay(t,o)<0||compareDay(t,r)>0)return"disabled";if(null===i)return"";if(Array.isArray(i)){if("multiple"===n)return(t=>{const n=t=>e.currentDate.some((e=>0===compareDay(e,t)));if(n(t)){const e=getPrevDay(t),o=getNextDay(t),r=n(e),i=n(o);return r&&i?"multiple-middle":r?"end":i?"start":"multiple-selected"}return""})(t);if("range"===n)return(t=>{const[n,o]=e.currentDate;if(!n)return"";const r=compareDay(t,n);if(!o)return 0===r?"start":"";const i=compareDay(t,o);return e.allowSameDay&&0===r&&0===i?"start-end":0===r?"start":0===i?"end":r>0&&i<0?"middle":""})(t)}else if("single"===n)return 0===compareDay(t,i)?"selected":"";return""},f=t=>{if("range"===e.type){if("start"===t||"end"===t)return t$g(t);if("start-end"===t)return`${t$g("start")}/${t$g("end")}`}},m=()=>{if(e.showMonthTitle)return createVNode("div",{class:bem$14("month-title")},[n["month-title"]?n["month-title"]({date:e.date,text:l.value}):l.value])},h=()=>{if(e.showMark&&p.value)return createVNode("div",{class:bem$14("month-mark")},[e.date.getMonth()+1])},g=computed((()=>{const e=Math.ceil((d.value+u.value)/7);return Array(e).fill({type:"placeholder"})})),v=computed((()=>{const t=[],n=e.date.getFullYear(),o=e.date.getMonth();for(let r=1;r<=d.value;r++){const i=new Date(n,o,r),a=A(i);let s={date:i,type:a,text:r,bottomInfo:f(a)};e.formatter&&(s=e.formatter(s)),t.push(s)}return t})),b=computed((()=>v.value.filter((e=>"disabled"===e.type)))),E=(o,r)=>createVNode(stdin_default$1f,{item:o,index:r,color:e.color,offset:u.value,rowHeight:c.value,onClick:e=>t("click",e),onClickDisabledDate:e=>t("clickDisabledDate",e)},pick$1(n,["top-info","bottom-info"]));return useExpose({getTitle:()=>l.value,getHeight:()=>s.value,setVisible:r,scrollToDate:(e,t)=>{if(i.value){const n=useRect(i.value),o=g.value.length,r=(Math.ceil((t.getDate()+u.value)/7)-1)*n.height/o;setScrollTop(e,n.top+r+e.scrollTop-useRect(e).top)}},disabledDays:b}),()=>createVNode("div",{class:bem$14("month"),ref:a},[m(),createVNode("div",{ref:i,role:"grid",class:bem$14("days")},[h(),(p.value?v:g).value.map(E)])])}});const[name$15]=createNamespace("calendar-header");var stdin_default$1d=defineComponent({name:name$15,props:{date:Date,title:String,subtitle:String,showTitle:Boolean,showSubtitle:Boolean,firstDayOfWeek:Number},emits:["clickSubtitle"],setup(e,{slots:t,emit:n}){const o=()=>{if(e.showTitle){const n=e.title||t$g("title"),o=t.title?t.title():n;return createVNode("div",{class:bem$14("header-title")},[o])}},r=e=>n("clickSubtitle",e),i=()=>{if(e.showSubtitle){const n=t.subtitle?t.subtitle({date:e.date,text:e.subtitle}):e.subtitle;return createVNode("div",{class:bem$14("header-subtitle"),onClick:r},[n])}},a=()=>{const{firstDayOfWeek:t}=e,n=t$g("weekdays"),o=[...n.slice(t,7),...n.slice(0,t)];return createVNode("div",{class:bem$14("weekdays")},[o.map((e=>createVNode("span",{class:bem$14("weekday")},[e])))])};return()=>createVNode("div",{class:bem$14("header")},[o(),i(),a()])}});const calendarProps={show:Boolean,type:makeStringProp("single"),title:String,color:String,round:truthProp,readonly:Boolean,poppable:truthProp,maxRange:makeNumericProp(null),position:makeStringProp("bottom"),teleport:[String,Object],showMark:truthProp,showTitle:truthProp,formatter:Function,rowHeight:numericProp,confirmText:String,rangePrompt:String,lazyRender:truthProp,showConfirm:truthProp,defaultDate:[Date,Array],allowSameDay:Boolean,showSubtitle:truthProp,closeOnPopstate:truthProp,showRangePrompt:truthProp,confirmDisabledText:String,closeOnClickOverlay:truthProp,safeAreaInsetTop:Boolean,safeAreaInsetBottom:truthProp,minDate:{type:Date,validator:isDate$1,default:getToday},maxDate:{type:Date,validator:isDate$1,default:()=>{const e=getToday();return new Date(e.getFullYear(),e.getMonth()+6,e.getDate())}},firstDayOfWeek:{type:numericProp,default:0,validator:e=>e>=0&&e<=6}};var stdin_default$1c=defineComponent({name:name$18,props:calendarProps,emits:["select","confirm","unselect","monthShow","overRange","update:show","clickSubtitle","clickDisabledDate"],setup(e,{emit:t,slots:n}){const o=(t,n=e.minDate,o=e.maxDate)=>-1===compareDay(t,n)?n:1===compareDay(t,o)?o:t,r=(t=e.defaultDate)=>{const{type:n,minDate:r,maxDate:i,allowSameDay:a}=e;if(null===t)return t;const s=getToday();if("range"===n){Array.isArray(t)||(t=[]);return[o(t[0]||s,r,a?i:getPrevDay(i)),o(t[1]||s,a?r:getNextDay(r))]}return"multiple"===n?Array.isArray(t)?t.map((e=>o(e))):[o(s)]:(t&&!Array.isArray(t)||(t=s),o(t))};let i;const a=ref(),s=ref({text:"",date:void 0}),l=ref(r()),[c,u]=useRefs(),d=computed((()=>e.firstDayOfWeek?+e.firstDayOfWeek%7:0)),p=computed((()=>{const t=[],n=new Date(e.minDate);n.setDate(1);do{t.push(new Date(n)),n.setMonth(n.getMonth()+1)}while(1!==compareMonth(n,e.maxDate));return t})),A=computed((()=>{if(l.value){if("range"===e.type)return!l.value[0]||!l.value[1];if("multiple"===e.type)return!l.value.length}return!l.value})),f=()=>{const e=getScrollTop(a.value),n=e+i,o=p.value.map(((e,t)=>c.value[t].getHeight()));if(n>o.reduce(((e,t)=>e+t),0)&&e>0)return;let r,l=0;const u=[-1,-1];for(let i=0;i=e&&(u[1]=i,r||(r=a,u[0]=i),c.value[i].showed||(c.value[i].showed=!0,t("monthShow",{date:a.date,title:a.getTitle()}))),l+=o[i]}p.value.forEach(((e,t)=>{const n=t>=u[0]-1&&t<=u[1]+1;c.value[t].setVisible(n)})),r&&(s.value={text:r.getTitle(),date:r.date})},m=e=>{raf((()=>{p.value.some(((t,n)=>0===compareMonth(t,e)&&(a.value&&c.value[n].scrollToDate(a.value,e),!0))),f()}))},h=()=>{if(!e.poppable||e.show)if(l.value){const t="single"===e.type?l.value:l.value[0];isDate$1(t)&&m(t)}else raf(f)},g=()=>{e.poppable&&!e.show||(raf((()=>{i=Math.floor(useRect(a).height)})),h())},v=(e=r())=>{l.value=e,h()},b=()=>{var e;return t("confirm",null!=(e=l.value)?e:cloneDates(l.value))},E=(n,o)=>{const r=e=>{l.value=e,t("select",cloneDates(e))};if(o&&"range"===e.type){const o=(n=>{const{maxRange:o,rangePrompt:r,showRangePrompt:i}=e;return!(o&&calcDateNum(n)>+o&&(i&&showToast(r||t$g("rangePrompt",o)),t("overRange"),1))})(n);if(!o)return void r([n[0],getDayByOffset(n[0],+e.maxRange-1)])}r(n),o&&!e.showConfirm&&b()},C=computed((()=>c.value.reduce(((e,t)=>{var n,o;return e.push(...null!=(o=null==(n=t.disabledDays)?void 0:n.value)?o:[]),e}),[]))),y=n=>{if(e.readonly||!n.date)return;const{date:o}=n,{type:r}=e;if("range"===r){if(!l.value)return void E([o]);const[t,n]=l.value;if(t&&!n){const n=compareDay(o,t);if(1===n){const e=((e,t,n)=>{var o;return null==(o=e.find((e=>-1===compareDay(t,e.date)&&-1===compareDay(e.date,n))))?void 0:o.date})(C.value,t,o);if(e){const n=getPrevDay(e);-1===compareDay(t,n)?E([t,n]):E([o])}else E([t,o],!0)}else-1===n?E([o]):e.allowSameDay&&E([o,o],!0)}else E([o])}else if("multiple"===r){if(!l.value)return void E([o]);const n=l.value,r=n.findIndex((e=>0===compareDay(e,o)));if(-1!==r){const[e]=n.splice(r,1);t("unselect",cloneDate(e))}else e.maxRange&&n.length>=+e.maxRange?showToast(e.rangePrompt||t$g("rangePrompt",e.maxRange)):E([...n,o])}else E(o,!0)},w=e=>t("update:show",e),I=(o,r)=>{const i=0!==r||!e.showSubtitle;return createVNode(stdin_default$1e,mergeProps({ref:u(r),date:o,currentDate:l.value,showMonthTitle:i,firstDayOfWeek:d.value},pick$1(e,["type","color","minDate","maxDate","showMark","formatter","rowHeight","lazyRender","showSubtitle","allowSameDay"]),{onClick:y,onClickDisabledDate:e=>t("clickDisabledDate",e)}),pick$1(n,["top-info","bottom-info","month-title"]))},S=()=>{if(n.footer)return n.footer();if(e.showConfirm){const t=n["confirm-text"],o=A.value,r=o?e.confirmDisabledText:e.confirmText;return createVNode(Button,{round:!0,block:!0,type:"primary",color:e.color,class:bem$14("confirm"),disabled:o,nativeType:"button",onClick:b},{default:()=>[t?t({disabled:o}):r||t$g("confirm")]})}},R=()=>createVNode("div",{class:bem$14()},[createVNode(stdin_default$1d,{date:s.value.date,title:e.title,subtitle:s.value.text,showTitle:e.showTitle,showSubtitle:e.showSubtitle,firstDayOfWeek:d.value,onClickSubtitle:e=>t("clickSubtitle",e)},pick$1(n,["title","subtitle"])),createVNode("div",{ref:a,class:bem$14("body"),onScroll:f},[p.value.map(I)]),createVNode("div",{class:[bem$14("footer"),{"van-safe-area-bottom":e.safeAreaInsetBottom}]},[S()])]);return watch((()=>e.show),g),watch((()=>[e.type,e.minDate,e.maxDate]),(()=>v(r(l.value)))),watch((()=>e.defaultDate),((e=null)=>{l.value=e,h()})),useExpose({reset:v,scrollToDate:m,getSelectedDate:()=>l.value}),onMountedOrActivated(g),()=>e.poppable?createVNode(Popup,{show:e.show,class:bem$14("popup"),round:e.round,position:e.position,closeable:e.showTitle||e.showSubtitle,teleport:e.teleport,closeOnPopstate:e.closeOnPopstate,safeAreaInsetTop:e.safeAreaInsetTop,closeOnClickOverlay:e.closeOnClickOverlay,"onUpdate:show":w},{default:R}):R()}});const Calendar=withInstall(stdin_default$1c),[name$14,bem$13]=createNamespace("image"),imageProps={src:String,alt:String,fit:String,position:String,round:Boolean,block:Boolean,width:numericProp,height:numericProp,radius:numericProp,lazyLoad:Boolean,iconSize:numericProp,showError:truthProp,errorIcon:makeStringProp("photo-fail"),iconPrefix:String,showLoading:truthProp,loadingIcon:makeStringProp("photo")};var stdin_default$1b=defineComponent({name:name$14,props:imageProps,emits:["load","error"],setup(e,{emit:t,slots:n}){const o=ref(!1),r=ref(!0),i=ref(),{$Lazyload:a}=getCurrentInstance().proxy,s=computed((()=>{const t={width:addUnit(e.width),height:addUnit(e.height)};return isDef(e.radius)&&(t.overflow="hidden",t.borderRadius=addUnit(e.radius)),t}));watch((()=>e.src),(()=>{o.value=!1,r.value=!0}));const l=e=>{r.value&&(r.value=!1,t("load",e))},c=()=>{const e=new Event("load");Object.defineProperty(e,"target",{value:i.value,enumerable:!0}),l(e)},u=e=>{o.value=!0,r.value=!1,t("error",e)},d=(t,n,o)=>o?o():createVNode(Icon,{name:t,size:e.iconSize,class:n,classPrefix:e.iconPrefix},null),p=()=>{if(o.value||!e.src)return;const t={alt:e.alt,class:bem$13("img"),style:{objectFit:e.fit,objectPosition:e.position}};return e.lazyLoad?withDirectives(createVNode("img",mergeProps({ref:i},t),null),[[resolveDirective("lazy"),e.src]]):createVNode("img",mergeProps({ref:i,src:e.src,onLoad:l,onError:u},t),null)},A=({el:e})=>{const t=()=>{e===i.value&&r.value&&c()};i.value?t():nextTick(t)},f=({el:e})=>{e!==i.value||o.value||u()};return a&&inBrowser$1&&(a.$on("loaded",A),a.$on("error",f),onBeforeUnmount((()=>{a.$off("loaded",A),a.$off("error",f)}))),onMounted((()=>{nextTick((()=>{var t;(null==(t=i.value)?void 0:t.complete)&&!e.lazyLoad&&c()}))})),()=>{var t;return createVNode("div",{class:bem$13({round:e.round,block:e.block}),style:s.value},[p(),r.value&&e.showLoading?createVNode("div",{class:bem$13("loading")},[d(e.loadingIcon,bem$13("loading-icon"),n.loading)]):o.value&&e.showError?createVNode("div",{class:bem$13("error")},[d(e.errorIcon,bem$13("error-icon"),n.error)]):void 0,null==(t=n.default)?void 0:t.call(n)])}}});const Image$1=withInstall(stdin_default$1b),[name$13,bem$12]=createNamespace("card"),cardProps={tag:String,num:numericProp,desc:String,thumb:String,title:String,price:numericProp,centered:Boolean,lazyLoad:Boolean,currency:makeStringProp("¥"),thumbLink:String,originPrice:numericProp};var stdin_default$1a=defineComponent({name:name$13,props:cardProps,emits:["clickThumb"],setup(e,{slots:t,emit:n}){const o=()=>{if(t.tag||e.tag)return createVNode("div",{class:bem$12("tag")},[t.tag?t.tag():createVNode(Tag,{mark:!0,type:"primary"},{default:()=>[e.tag]})])},r=()=>{if(t.thumb||e.thumb)return createVNode("a",{href:e.thumbLink,class:bem$12("thumb"),onClick:e=>n("clickThumb",e)},[t.thumb?t.thumb():createVNode(Image$1,{src:e.thumb,fit:"cover",width:"100%",height:"100%",lazyLoad:e.lazyLoad},null),o()])},i=()=>{const t=e.price.toString().split(".");return createVNode("div",null,[createVNode("span",{class:bem$12("price-currency")},[e.currency]),createVNode("span",{class:bem$12("price-integer")},[t[0]]),createTextVNode("."),createVNode("span",{class:bem$12("price-decimal")},[t[1]])])};return()=>{var n,o,a;const s=t.num||isDef(e.num),l=t.price||isDef(e.price),c=t["origin-price"]||isDef(e.originPrice),u=s||l||c||t.bottom,d=l&&createVNode("div",{class:bem$12("price")},[t.price?t.price():i()]),p=c&&createVNode("div",{class:bem$12("origin-price")},[t["origin-price"]?t["origin-price"]():`${e.currency} ${e.originPrice}`]),A=s&&createVNode("div",{class:bem$12("num")},[t.num?t.num():`x${e.num}`]),f=t.footer&&createVNode("div",{class:bem$12("footer")},[t.footer()]),m=u&&createVNode("div",{class:bem$12("bottom")},[null==(n=t["price-top"])?void 0:n.call(t),d,p,A,null==(o=t.bottom)?void 0:o.call(t)]);return createVNode("div",{class:bem$12()},[createVNode("div",{class:bem$12("header")},[r(),createVNode("div",{class:bem$12("content",{centered:e.centered})},[createVNode("div",null,[t.title?t.title():e.title?createVNode("div",{class:[bem$12("title"),"van-multi-ellipsis--l2"]},[e.title]):void 0,t.desc?t.desc():e.desc?createVNode("div",{class:[bem$12("desc"),"van-ellipsis"]},[e.desc]):void 0,null==(a=t.tags)?void 0:a.call(t)]),m])]),f])}}});const Card=withInstall(stdin_default$1a),[name$12,bem$11,t$f]=createNamespace("cascader"),cascaderProps={title:String,options:makeArrayProp(),closeable:truthProp,swipeable:truthProp,closeIcon:makeStringProp("cross"),showHeader:truthProp,modelValue:numericProp,fieldNames:Object,placeholder:String,activeColor:String};var stdin_default$19=defineComponent({name:name$12,props:cascaderProps,emits:["close","change","finish","clickTab","update:modelValue"],setup(e,{slots:t,emit:n}){const o=ref([]),r=ref(0),[i,a]=useRefs(),{text:s,value:l,children:c}=extend$1({text:"text",value:"value",children:"children"},e.fieldNames),u=(e,t)=>{for(const n of e){if(n[l]===t)return[n];if(n[c]){const e=u(n[c],t);if(e)return[n,...e]}}},d=()=>{const{options:t,modelValue:n}=e;if(void 0!==n){const e=u(t,n);if(e){let n=t;return o.value=e.map((e=>{const t={options:n,selected:e},o=n.find((t=>t[l]===e[l]));return o&&(n=o[c]),t})),n&&o.value.push({options:n,selected:null}),void nextTick((()=>{r.value=o.value.length-1}))}}o.value=[{options:t,selected:null}]},p=()=>n("close"),A=({name:e,title:t})=>n("clickTab",e,t),f=(i,u,d)=>{const{disabled:p}=i,A=!(!u||i[l]!==u[l]),f=i.color||(A?e.activeColor:void 0),m=t.option?t.option({option:i,selected:A}):createVNode("span",null,[i[s]]);return createVNode("li",{ref:A?a(d):void 0,role:"menuitemradio",class:[bem$11("option",{selected:A,disabled:p}),i.className],style:{color:f},tabindex:p?void 0:A?0:-1,"aria-checked":A,"aria-disabled":p||void 0,onClick:()=>((e,t)=>{if(e.disabled)return;if(o.value[t].selected=e,o.value.length>t+1&&(o.value=o.value.slice(0,t+1)),e[c]){const n={options:e[c],selected:null};o.value[t+1]?o.value[t+1]=n:o.value.push(n),nextTick((()=>{r.value++}))}const i=o.value.map((e=>e.selected)).filter(Boolean);n("update:modelValue",e[l]);const a={value:e[l],tabIndex:t,selectedOptions:i};n("change",a),e[c]||n("finish",a)})(i,d)},[m,A?createVNode(Icon,{name:"success",class:bem$11("selected-icon")},null):null])},m=(e,t,n)=>createVNode("ul",{role:"menu",class:bem$11("options")},[e.map((e=>f(e,t,n)))]),h=(n,o)=>{const{options:r,selected:i}=n,a=e.placeholder||t$f("select"),l=i?i[s]:a;return createVNode(Tab,{title:l,titleClass:bem$11("tab",{unselected:!i})},{default:()=>{var e,n;return[null==(e=t["options-top"])?void 0:e.call(t,{tabIndex:o}),m(r,i,o),null==(n=t["options-bottom"])?void 0:n.call(t,{tabIndex:o})]}})};return d(),watch(r,(e=>{const t=i.value[e];t&&(e=>{const t=e.parentElement;t&&(t.scrollTop=e.offsetTop-(t.offsetHeight-e.offsetHeight)/2)})(t)})),watch((()=>e.options),d,{deep:!0}),watch((()=>e.modelValue),(e=>{if(void 0!==e){if(o.value.map((e=>{var t;return null==(t=e.selected)?void 0:t[l]})).includes(e))return}d()})),()=>createVNode("div",{class:bem$11()},[e.showHeader?createVNode("div",{class:bem$11("header")},[createVNode("h2",{class:bem$11("title")},[t.title?t.title():e.title]),e.closeable?createVNode(Icon,{name:e.closeIcon,class:[bem$11("close-icon"),HAPTICS_FEEDBACK],onClick:p},null):null]):null,createVNode(Tabs,{active:r.value,"onUpdate:active":e=>r.value=e,shrink:!0,animated:!0,class:bem$11("tabs"),color:e.activeColor,swipeable:e.swipeable,onClickTab:A},{default:()=>[o.value.map(h)]})])}});const Cascader=withInstall(stdin_default$19),[name$11,bem$10]=createNamespace("cell-group"),cellGroupProps={title:String,inset:Boolean,border:truthProp};var stdin_default$18=defineComponent({name:name$11,inheritAttrs:!1,props:cellGroupProps,setup(e,{slots:t,attrs:n}){const o=()=>{var o;return createVNode("div",mergeProps({class:[bem$10({inset:e.inset}),{[BORDER_TOP_BOTTOM]:e.border&&!e.inset}]},n,useScopeId()),[null==(o=t.default)?void 0:o.call(t)])};return()=>e.title||t.title?createVNode(Fragment,null,[createVNode("div",{class:bem$10("title",{inset:e.inset})},[t.title?t.title():e.title]),o()]):o()}});const CellGroup=withInstall(stdin_default$18),[name$10,bem$$]=createNamespace("checkbox-group"),checkboxGroupProps={max:numericProp,shape:makeStringProp("round"),disabled:Boolean,iconSize:numericProp,direction:String,modelValue:makeArrayProp(),checkedColor:String},CHECKBOX_GROUP_KEY=Symbol(name$10);var stdin_default$17=defineComponent({name:name$10,props:checkboxGroupProps,emits:["change","update:modelValue"],setup(e,{emit:t,slots:n}){const{children:o,linkChildren:r}=useChildren(CHECKBOX_GROUP_KEY),i=e=>t("update:modelValue",e);return watch((()=>e.modelValue),(e=>t("change",e))),useExpose({toggleAll:(e={})=>{"boolean"==typeof e&&(e={checked:e});const{checked:t,skipDisabled:n}=e,r=o.filter((e=>!!e.props.bindGroup&&(e.props.disabled&&n?e.checked.value:null!=t?t:!e.checked.value))).map((e=>e.name));i(r)}}),useCustomFieldValue((()=>e.modelValue)),r({props:e,updateValue:i}),()=>{var t;return createVNode("div",{class:bem$$([e.direction])},[null==(t=n.default)?void 0:t.call(n)])}}});const[name$$,bem$_]=createNamespace("checkbox"),checkboxProps=extend$1({},checkerProps,{shape:String,bindGroup:truthProp,indeterminate:{type:Boolean,default:null}});var stdin_default$16=defineComponent({name:name$$,props:checkboxProps,emits:["change","update:modelValue"],setup(e,{emit:t,slots:n}){const{parent:o}=useParent(CHECKBOX_GROUP_KEY),r=computed((()=>o&&e.bindGroup?-1!==o.props.modelValue.indexOf(e.name):!!e.modelValue)),i=(n=!r.value)=>{o&&e.bindGroup?(t=>{const{name:n}=e,{max:r,modelValue:i}=o.props,a=i.slice();if(t)r&&a.length>=+r||a.includes(n)||(a.push(n),e.bindGroup&&o.updateValue(a));else{const t=a.indexOf(n);-1!==t&&(a.splice(t,1),e.bindGroup&&o.updateValue(a))}})(n):t("update:modelValue",n),null!==e.indeterminate&&t("change",n)};return watch((()=>e.modelValue),(n=>{null===e.indeterminate&&t("change",n)})),useExpose({toggle:i,props:e,checked:r}),useCustomFieldValue((()=>e.modelValue)),()=>createVNode(stdin_default$1l,mergeProps({bem:bem$_,role:"checkbox",parent:o,checked:r.value,onToggle:i},e),pick$1(n,["default","icon"]))}});const Checkbox=withInstall(stdin_default$16),CheckboxGroup=withInstall(stdin_default$17),[name$_,bem$Z]=createNamespace("circle");let uid=0;const format$1=e=>Math.min(Math.max(+e,0),100);function getPath(e,t){const n=e?1:0;return`M ${t/2} ${t/2} m 0, -500 a 500, 500 0 1, ${n} 0, 1000 a 500, 500 0 1, ${n} 0, -1000`}const circleProps={text:String,size:numericProp,fill:makeStringProp("none"),rate:makeNumericProp(100),speed:makeNumericProp(0),color:[String,Object],clockwise:truthProp,layerColor:String,currentRate:makeNumberProp(0),strokeWidth:makeNumericProp(40),strokeLinecap:String,startPosition:makeStringProp("top")};var stdin_default$15=defineComponent({name:name$_,props:circleProps,emits:["update:currentRate"],setup(e,{emit:t,slots:n}){const o="van-circle-"+uid++,r=computed((()=>+e.strokeWidth+1e3)),i=computed((()=>getPath(e.clockwise,r.value))),a=computed((()=>{const t={top:0,right:90,bottom:180,left:270}[e.startPosition];if(t)return{transform:`rotate(${t}deg)`}}));watch((()=>e.rate),(n=>{let o;const r=Date.now(),i=e.currentRate,a=format$1(n),s=Math.abs(1e3*(i-a)/+e.speed),l=()=>{const e=Date.now(),n=Math.min((e-r)/s,1)*(a-i)+i;t("update:currentRate",format$1(parseFloat(n.toFixed(1)))),(a>i?na)&&(o=raf(l))};e.speed?(o&&cancelRaf(o),o=raf(l)):t("update:currentRate",a)}),{immediate:!0});const s=()=>{const{strokeWidth:t,currentRate:n,strokeLinecap:r}=e,a=3140*n/100,s=isObject$2(e.color)?`url(#${o})`:e.color,l={stroke:s,strokeWidth:+t+1+"px",strokeLinecap:r,strokeDasharray:`${a}px 3140px`};return createVNode("path",{d:i.value,style:l,class:bem$Z("hover"),stroke:s},null)},l=()=>{const t={fill:e.fill,stroke:e.layerColor,strokeWidth:`${e.strokeWidth}px`};return createVNode("path",{class:bem$Z("layer"),style:t,d:i.value},null)},c=()=>{const{color:t}=e;if(!isObject$2(t))return;const n=Object.keys(t).sort(((e,t)=>parseFloat(e)-parseFloat(t))).map(((e,n)=>createVNode("stop",{key:n,offset:e,"stop-color":t[e]},null)));return createVNode("defs",null,[createVNode("linearGradient",{id:o,x1:"100%",y1:"0%",x2:"0%",y2:"0%"},[n])])};return()=>createVNode("div",{class:bem$Z(),style:getSizeStyle(e.size)},[createVNode("svg",{viewBox:`0 0 ${r.value} ${r.value}`,style:a.value},[c(),l(),s()]),n.default?n.default():e.text?createVNode("div",{class:bem$Z("text")},[e.text]):void 0])}});const Circle=withInstall(stdin_default$15),[name$Z,bem$Y]=createNamespace("row"),ROW_KEY=Symbol(name$Z),rowProps={tag:makeStringProp("div"),wrap:truthProp,align:String,gutter:makeNumericProp(0),justify:String};var stdin_default$14=defineComponent({name:name$Z,props:rowProps,setup(e,{slots:t}){const{children:n,linkChildren:o}=useChildren(ROW_KEY),r=computed((()=>{const e=[[]];let t=0;return n.forEach(((n,o)=>{t+=Number(n.span),t>24?(e.push([o]),t-=24):e[e.length-1].push(o)})),e}));return o({spaces:computed((()=>{const t=Number(e.gutter),n=[];return t?(r.value.forEach((e=>{const o=t*(e.length-1)/e.length;e.forEach(((e,r)=>{if(0===r)n.push({right:o});else{const r=t-n[e-1].right,i=o-r;n.push({left:r,right:i})}}))})),n):n}))}),()=>{const{tag:n,wrap:o,align:r,justify:i}=e;return createVNode(n,{class:bem$Y({[`align-${r}`]:r,[`justify-${i}`]:i,nowrap:!o})},{default:()=>{var e;return[null==(e=t.default)?void 0:e.call(t)]}})}}});const[name$Y,bem$X]=createNamespace("col"),colProps={tag:makeStringProp("div"),span:makeNumericProp(0),offset:numericProp};var stdin_default$13=defineComponent({name:name$Y,props:colProps,setup(e,{slots:t}){const{parent:n,index:o}=useParent(ROW_KEY),r=computed((()=>{if(!n)return;const{spaces:e}=n;if(e&&e.value&&e.value[o.value]){const{left:t,right:n}=e.value[o.value];return{paddingLeft:t?`${t}px`:null,paddingRight:n?`${n}px`:null}}}));return()=>{const{tag:n,span:o,offset:i}=e;return createVNode(n,{style:r.value,class:bem$X({[o]:o,[`offset-${i}`]:i})},{default:()=>{var e;return[null==(e=t.default)?void 0:e.call(t)]}})}}});const Col=withInstall(stdin_default$13),[name$X,bem$W]=createNamespace("collapse"),COLLAPSE_KEY=Symbol(name$X),collapseProps={border:truthProp,accordion:Boolean,modelValue:{type:[String,Number,Array],default:""}};var stdin_default$12=defineComponent({name:name$X,props:collapseProps,emits:["change","update:modelValue"],setup(e,{emit:t,slots:n}){const{linkChildren:o,children:r}=useChildren(COLLAPSE_KEY),i=e=>{t("change",e),t("update:modelValue",e)};return useExpose({toggleAll:(t={})=>{if(e.accordion)return;"boolean"==typeof t&&(t={expanded:t});const{expanded:n,skipDisabled:o}=t,a=r.filter((e=>e.disabled&&o?e.expanded.value:null!=n?n:!e.expanded.value)).map((e=>e.itemName.value));i(a)}}),o({toggle:(t,n)=>{const{accordion:o,modelValue:r}=e;i(o?t===r?"":t:n?r.concat(t):r.filter((e=>e!==t)))},isExpanded:t=>{const{accordion:n,modelValue:o}=e;return n?o===t:o.includes(t)}}),()=>{var t;return createVNode("div",{class:[bem$W(),{[BORDER_TOP_BOTTOM]:e.border}]},[null==(t=n.default)?void 0:t.call(n)])}}});const Collapse=withInstall(stdin_default$12),[name$W,bem$V]=createNamespace("collapse-item"),CELL_SLOTS=["icon","title","value","label","right-icon"],collapseItemProps=extend$1({},cellSharedProps,{name:numericProp,isLink:truthProp,disabled:Boolean,readonly:Boolean,lazyRender:truthProp});var stdin_default$11=defineComponent({name:name$W,props:collapseItemProps,setup(e,{slots:t}){const n=ref(),o=ref(),{parent:r,index:i}=useParent(COLLAPSE_KEY);if(!r)return;const a=computed((()=>{var t;return null!=(t=e.name)?t:i.value})),s=computed((()=>r.isExpanded(a.value))),l=ref(s.value),c=useLazyRender((()=>l.value||!e.lazyRender)),u=()=>{s.value?n.value&&(n.value.style.height=""):l.value=!1};watch(s,((e,t)=>{if(null===t)return;e&&(l.value=!0);(e?nextTick:raf)((()=>{if(!o.value||!n.value)return;const{offsetHeight:t}=o.value;if(t){const o=`${t}px`;n.value.style.height=e?"0":o,doubleRaf((()=>{n.value&&(n.value.style.height=e?o:"0")}))}else u()}))}));const d=(e=!s.value)=>{r.toggle(a.value,e)},p=()=>{e.disabled||e.readonly||d()},A=()=>{const{border:n,disabled:o,readonly:r}=e,i=pick$1(e,Object.keys(cellSharedProps));return r&&(i.isLink=!1),(o||r)&&(i.clickable=!1),createVNode(Cell,mergeProps({role:"button",class:bem$V("title",{disabled:o,expanded:s.value,borderless:!n}),"aria-expanded":String(s.value),onClick:p},i),pick$1(t,CELL_SLOTS))},f=c((()=>{var e;return withDirectives(createVNode("div",{ref:n,class:bem$V("wrapper"),onTransitionend:u},[createVNode("div",{ref:o,class:bem$V("content")},[null==(e=t.default)?void 0:e.call(t)])]),[[vShow,l.value]])}));return useExpose({toggle:d,expanded:s,itemName:a}),()=>createVNode("div",{class:[bem$V({border:i.value&&e.border})]},[A(),f()])}});const CollapseItem=withInstall(stdin_default$11),ConfigProvider=withInstall(stdin_default$1P),[name$V,bem$U,t$e]=createNamespace("contact-card"),contactCardProps={tel:String,name:String,type:makeStringProp("add"),addText:String,editable:truthProp};var stdin_default$10=defineComponent({name:name$V,props:contactCardProps,emits:["click"],setup(e,{emit:t}){const n=n=>{e.editable&&t("click",n)},o=()=>"add"===e.type?e.addText||t$e("addContact"):[createVNode("div",null,[`${t$e("name")}:${e.name}`]),createVNode("div",null,[`${t$e("tel")}:${e.tel}`])];return()=>createVNode(Cell,{center:!0,icon:"edit"===e.type?"contact":"add-square",class:bem$U([e.type]),border:!1,isLink:e.editable,titleClass:bem$U("title"),onClick:n},{title:o})}});const ContactCard=withInstall(stdin_default$10),[name$U,bem$T,t$d]=createNamespace("contact-edit"),DEFAULT_CONTACT={tel:"",name:""},contactEditProps={isEdit:Boolean,isSaving:Boolean,isDeleting:Boolean,showSetDefault:Boolean,setDefaultLabel:String,contactInfo:{type:Object,default:()=>extend$1({},DEFAULT_CONTACT)},telValidator:{type:Function,default:isMobile}};var stdin_default$$=defineComponent({name:name$U,props:contactEditProps,emits:["save","delete","changeDefault"],setup(e,{emit:t}){const n=reactive(extend$1({},DEFAULT_CONTACT,e.contactInfo)),o=()=>{e.isSaving||t("save",n)},r=()=>t("delete",n),i=()=>createVNode(Switch,{modelValue:n.isDefault,"onUpdate:modelValue":e=>n.isDefault=e,onChange:e=>t("changeDefault",e)},null),a=()=>{if(e.showSetDefault)return createVNode(Cell,{title:e.setDefaultLabel,class:bem$T("switch-cell"),border:!1},{"right-icon":i})};return watch((()=>e.contactInfo),(e=>extend$1(n,DEFAULT_CONTACT,e))),()=>createVNode(Form,{class:bem$T(),onSubmit:o},{default:()=>[createVNode("div",{class:bem$T("fields")},[createVNode(Field,{modelValue:n.name,"onUpdate:modelValue":e=>n.name=e,clearable:!0,label:t$d("name"),rules:[{required:!0,message:t$d("nameEmpty")}],maxlength:"30",placeholder:t$d("name")},null),createVNode(Field,{modelValue:n.tel,"onUpdate:modelValue":e=>n.tel=e,clearable:!0,type:"tel",label:t$d("tel"),rules:[{validator:e.telValidator,message:t$d("telInvalid")}],placeholder:t$d("tel")},null)]),a(),createVNode("div",{class:bem$T("buttons")},[createVNode(Button,{block:!0,round:!0,type:"primary",text:t$d("save"),class:bem$T("button"),loading:e.isSaving,nativeType:"submit"},null),e.isEdit&&createVNode(Button,{block:!0,round:!0,text:t$d("delete"),class:bem$T("button"),loading:e.isDeleting,onClick:r},null)])]})}});const ContactEdit=withInstall(stdin_default$$),[name$T,bem$S,t$c]=createNamespace("contact-list"),contactListProps={list:Array,addText:String,modelValue:unknownProp,defaultTagText:String};var stdin_default$_=defineComponent({name:name$T,props:contactListProps,emits:["add","edit","select","update:modelValue"],setup(e,{emit:t}){const n=(n,o)=>createVNode(Cell,{key:n.id,isLink:!0,center:!0,class:bem$S("item"),titleClass:bem$S("item-title"),onClick:()=>{t("update:modelValue",n.id),t("select",n,o)}},{icon:()=>createVNode(Icon,{name:"edit",class:bem$S("edit"),onClick:e=>{e.stopPropagation(),t("edit",n,o)}},null),title:()=>{const t=[`${n.name},${n.tel}`];return n.isDefault&&e.defaultTagText&&t.push(createVNode(Tag,{type:"primary",round:!0,class:bem$S("item-tag")},{default:()=>[e.defaultTagText]})),t},"right-icon":()=>createVNode(Radio,{class:bem$S("radio"),name:n.id,iconSize:18},null)});return()=>createVNode("div",{class:bem$S()},[createVNode(RadioGroup,{modelValue:e.modelValue,class:bem$S("group")},{default:()=>[e.list&&e.list.map(n)]}),createVNode("div",{class:[bem$S("bottom"),"van-safe-area-bottom"]},[createVNode(Button,{round:!0,block:!0,type:"primary",class:bem$S("add"),text:e.addText||t$c("addContact"),onClick:()=>t("add")},null)])])}});const ContactList=withInstall(stdin_default$_);function parseFormat(e,t){const{days:n}=t;let{hours:o,minutes:r,seconds:i,milliseconds:a}=t;if(e.includes("DD")?e=e.replace("DD",padZero(n)):o+=24*n,e.includes("HH")?e=e.replace("HH",padZero(o)):r+=60*o,e.includes("mm")?e=e.replace("mm",padZero(r)):i+=60*r,e.includes("ss")?e=e.replace("ss",padZero(i)):a+=1e3*i,e.includes("S")){const t=padZero(a,3);e=e.includes("SSS")?e.replace("SSS",t):e.includes("SS")?e.replace("SS",t.slice(0,2)):e.replace("S",t.charAt(0))}return e}const[name$S,bem$R]=createNamespace("count-down"),countDownProps={time:makeNumericProp(0),format:makeStringProp("HH:mm:ss"),autoStart:truthProp,millisecond:Boolean};var stdin_default$Z=defineComponent({name:name$S,props:countDownProps,emits:["change","finish"],setup(e,{emit:t,slots:n}){const{start:o,pause:r,reset:i,current:a}=useCountDown({time:+e.time,millisecond:e.millisecond,onChange:e=>t("change",e),onFinish:()=>t("finish")}),s=computed((()=>parseFormat(e.format,a.value))),l=()=>{i(+e.time),e.autoStart&&o()};return watch((()=>e.time),l,{immediate:!0}),useExpose({start:o,pause:r,reset:l}),()=>createVNode("div",{role:"timer",class:bem$R()},[n.default?n.default(a.value):s.value])}});const CountDown=withInstall(stdin_default$Z);function getDate(e){const t=new Date(1e3*e);return`${t.getFullYear()}.${padZero(t.getMonth()+1)}.${padZero(t.getDate())}`}const formatDiscount=e=>(e/10).toFixed(e%10==0?0:1),formatAmount=e=>(e/100).toFixed(e%100==0?0:e%10==0?1:2),[name$R,bem$Q,t$b]=createNamespace("coupon");var stdin_default$Y=defineComponent({name:name$R,props:{chosen:Boolean,coupon:makeRequiredProp(Object),disabled:Boolean,currency:makeStringProp("¥")},setup(e){const t=computed((()=>{const{startAt:t,endAt:n}=e.coupon;return`${getDate(t)} - ${getDate(n)}`})),n=computed((()=>{const{coupon:t,currency:n}=e;if(t.valueDesc)return[t.valueDesc,createVNode("span",null,[t.unitDesc||""])];if(t.denominations){const e=formatAmount(t.denominations);return[createVNode("span",null,[n]),` ${e}`]}return t.discount?t$b("discount",formatDiscount(t.discount)):""})),o=computed((()=>{const t=formatAmount(e.coupon.originCondition||0);return"0"===t?t$b("unlimited"):t$b("condition",t)}));return()=>{const{chosen:r,coupon:i,disabled:a}=e,s=a&&i.reason||i.description;return createVNode("div",{class:bem$Q({disabled:a})},[createVNode("div",{class:bem$Q("content")},[createVNode("div",{class:bem$Q("head")},[createVNode("h2",{class:bem$Q("amount")},[n.value]),createVNode("p",{class:bem$Q("condition")},[i.condition||o.value])]),createVNode("div",{class:bem$Q("body")},[createVNode("p",{class:bem$Q("name")},[i.name]),createVNode("p",{class:bem$Q("valid")},[t.value]),!a&&createVNode(Checkbox,{class:bem$Q("corner"),modelValue:r},null)])]),s&&createVNode("p",{class:bem$Q("description")},[s])])}}});const Coupon=withInstall(stdin_default$Y),[name$Q,bem$P,t$a]=createNamespace("coupon-cell"),couponCellProps={title:String,border:truthProp,editable:truthProp,coupons:makeArrayProp(),currency:makeStringProp("¥"),chosenCoupon:makeNumericProp(-1)};function formatValue({coupons:e,chosenCoupon:t,currency:n}){const o=e[+t];if(o){let e=0;return isDef(o.value)?({value:e}=o):isDef(o.denominations)&&(e=o.denominations),`-${n} ${(e/100).toFixed(2)}`}return 0===e.length?t$a("noCoupon"):t$a("count",e.length)}var stdin_default$X=defineComponent({name:name$Q,props:couponCellProps,setup:e=>()=>{const t=e.coupons[+e.chosenCoupon];return createVNode(Cell,{class:bem$P(),value:formatValue(e),title:e.title||t$a("title"),border:e.border,isLink:e.editable,valueClass:bem$P("value",{selected:t})},null)}});const CouponCell=withInstall(stdin_default$X),[name$P,bem$O]=createNamespace("empty"),emptyProps={image:makeStringProp("default"),imageSize:[Number,String,Array],description:String};var stdin_default$W=defineComponent({name:name$P,props:emptyProps,setup(e,{slots:t}){const n=()=>{const n=t.description?t.description():e.description;if(n)return createVNode("p",{class:bem$O("description")},[n])},o=()=>{if(t.default)return createVNode("div",{class:bem$O("bottom")},[t.default()])},r=useId(),i=e=>`${r}-${e}`,a=e=>`url(#${i(e)})`,s=(e,t,n)=>createVNode("stop",{"stop-color":e,offset:`${t}%`,"stop-opacity":n},null),l=(e,t)=>[s(e,0),s(t,100)],c=e=>[createVNode("defs",null,[createVNode("radialGradient",{id:i(e),cx:"50%",cy:"54%",fx:"50%",fy:"54%",r:"297%",gradientTransform:"matrix(-.16 0 0 -.33 .58 .72)"},[s("#EBEDF0",0),s("#F2F3F5",100,.3)])]),createVNode("ellipse",{fill:a(e),opacity:".8",cx:"80",cy:"140",rx:"46",ry:"8"},null)],u=()=>[createVNode("defs",null,[createVNode("linearGradient",{id:i("a"),x1:"64%",y1:"100%",x2:"64%"},[s("#FFF",0,.5),s("#F2F3F5",100)])]),createVNode("g",{opacity:".8"},[createVNode("path",{d:"M36 131V53H16v20H2v58h34z",fill:a("a")},null),createVNode("path",{d:"M123 15h22v14h9v77h-31V15z",fill:a("a")},null)])],d=()=>[createVNode("defs",null,[createVNode("linearGradient",{id:i("b"),x1:"64%",y1:"97%",x2:"64%",y2:"0%"},[s("#F2F3F5",0,.3),s("#F2F3F5",100)])]),createVNode("g",{opacity:".8"},[createVNode("path",{d:"M87 6c3 0 7 3 8 6a8 8 0 1 1-1 16H80a7 7 0 0 1-8-6c0-4 3-7 6-7 0-5 4-9 9-9Z",fill:a("b")},null),createVNode("path",{d:"M19 23c2 0 3 1 4 3 2 0 4 2 4 4a4 4 0 0 1-4 3v1h-7v-1l-1 1c-2 0-3-2-3-4 0-1 1-3 3-3 0-2 2-4 4-4Z",fill:a("b")},null)])],p=()=>createVNode("svg",{viewBox:"0 0 160 160"},[createVNode("defs",null,[createVNode("linearGradient",{id:i(1),x1:"64%",y1:"100%",x2:"64%"},[s("#FFF",0,.5),s("#F2F3F5",100)]),createVNode("linearGradient",{id:i(2),x1:"50%",x2:"50%",y2:"84%"},[s("#EBEDF0",0),s("#DCDEE0",100,0)]),createVNode("linearGradient",{id:i(3),x1:"100%",x2:"100%",y2:"100%"},[l("#EAEDF0","#DCDEE0")]),createVNode("radialGradient",{id:i(4),cx:"50%",cy:"0%",fx:"50%",fy:"0%",r:"100%",gradientTransform:"matrix(0 1 -.54 0 .5 -.5)"},[s("#EBEDF0",0),s("#FFF",100,0)])]),createVNode("g",{fill:"none"},[u(),createVNode("path",{fill:a(4),d:"M0 139h160v21H0z"},null),createVNode("path",{d:"M80 54a7 7 0 0 1 3 13v27l-2 2h-2a2 2 0 0 1-2-2V67a7 7 0 0 1 3-13z",fill:a(2)},null),createVNode("g",{opacity:".6","stroke-linecap":"round","stroke-width":"7"},[createVNode("path",{d:"M64 47a19 19 0 0 0-5 13c0 5 2 10 5 13",stroke:a(3)},null),createVNode("path",{d:"M53 36a34 34 0 0 0 0 48",stroke:a(3)},null),createVNode("path",{d:"M95 73a19 19 0 0 0 6-13c0-5-2-9-6-13",stroke:a(3)},null),createVNode("path",{d:"M106 84a34 34 0 0 0 0-48",stroke:a(3)},null)]),createVNode("g",{transform:"translate(31 105)"},[createVNode("rect",{fill:"#EBEDF0",width:"98",height:"34",rx:"2"},null),createVNode("rect",{fill:"#FFF",x:"9",y:"8",width:"80",height:"18",rx:"1.1"},null),createVNode("rect",{fill:"#EBEDF0",x:"15",y:"12",width:"18",height:"6",rx:"1.1"},null)])])]),A=()=>createVNode("svg",{viewBox:"0 0 160 160"},[createVNode("defs",null,[createVNode("linearGradient",{x1:"50%",x2:"50%",y2:"100%",id:i(5)},[l("#F2F3F5","#DCDEE0")]),createVNode("linearGradient",{x1:"95%",y1:"48%",x2:"5.5%",y2:"51%",id:i(6)},[l("#EAEDF1","#DCDEE0")]),createVNode("linearGradient",{y1:"45%",x2:"100%",y2:"54%",id:i(7)},[l("#EAEDF1","#DCDEE0")])]),u(),d(),createVNode("g",{transform:"translate(36 50)",fill:"none"},[createVNode("g",{transform:"translate(8)"},[createVNode("rect",{fill:"#EBEDF0",opacity:".6",x:"38",y:"13",width:"36",height:"53",rx:"2"},null),createVNode("rect",{fill:a(5),width:"64",height:"66",rx:"2"},null),createVNode("rect",{fill:"#FFF",x:"6",y:"6",width:"52",height:"55",rx:"1"},null),createVNode("g",{transform:"translate(15 17)",fill:a(6)},[createVNode("rect",{width:"34",height:"6",rx:"1"},null),createVNode("path",{d:"M0 14h34v6H0z"},null),createVNode("rect",{y:"28",width:"34",height:"6",rx:"1"},null)])]),createVNode("rect",{fill:a(7),y:"61",width:"88",height:"28",rx:"1"},null),createVNode("rect",{fill:"#F7F8FA",x:"29",y:"72",width:"30",height:"6",rx:"1"},null)])]),f=()=>createVNode("svg",{viewBox:"0 0 160 160"},[createVNode("defs",null,[createVNode("linearGradient",{x1:"50%",x2:"50%",y2:"100%",id:i(8)},[l("#EAEDF1","#DCDEE0")])]),u(),d(),c("c"),createVNode("path",{d:"m59 60 21 21 21-21h3l9 9v3L92 93l21 21v3l-9 9h-3l-21-21-21 21h-3l-9-9v-3l21-21-21-21v-3l9-9h3Z",fill:a(8)},null)]),m=()=>createVNode("svg",{viewBox:"0 0 160 160"},[createVNode("defs",null,[createVNode("linearGradient",{x1:"50%",y1:"100%",x2:"50%",id:i(9)},[l("#EEE","#D8D8D8")]),createVNode("linearGradient",{x1:"100%",y1:"50%",y2:"50%",id:i(10)},[l("#F2F3F5","#DCDEE0")]),createVNode("linearGradient",{x1:"50%",x2:"50%",y2:"100%",id:i(11)},[l("#F2F3F5","#DCDEE0")]),createVNode("linearGradient",{x1:"50%",x2:"50%",y2:"100%",id:i(12)},[l("#FFF","#F7F8FA")])]),u(),d(),c("d"),createVNode("g",{transform:"rotate(-45 113 -4)",fill:"none"},[createVNode("rect",{fill:a(9),x:"24",y:"52.8",width:"5.8",height:"19",rx:"1"},null),createVNode("rect",{fill:a(10),x:"22.1",y:"67.3",width:"9.9",height:"28",rx:"1"},null),createVNode("circle",{stroke:a(11),"stroke-width":"8",cx:"27",cy:"27",r:"27"},null),createVNode("circle",{fill:a(12),cx:"27",cy:"27",r:"16"},null),createVNode("path",{d:"M37 7c-8 0-15 5-16 12",stroke:a(11),"stroke-width":"3",opacity:".5","stroke-linecap":"round",transform:"rotate(45 29 13)"},null)])]),h=()=>{var n;if(t.image)return t.image();const o={error:f,search:m,network:p,default:A};return(null==(n=o[e.image])?void 0:n.call(o))||createVNode("img",{src:e.image},null)};return()=>createVNode("div",{class:bem$O()},[createVNode("div",{class:bem$O("image"),style:getSizeStyle(e.imageSize)},[h()]),n(),o()])}});const Empty=withInstall(stdin_default$W),[name$O,bem$N,t$9]=createNamespace("coupon-list"),couponListProps={code:makeStringProp(""),coupons:makeArrayProp(),currency:makeStringProp("¥"),showCount:truthProp,emptyImage:String,chosenCoupon:makeNumberProp(-1),enabledTitle:String,disabledTitle:String,disabledCoupons:makeArrayProp(),showExchangeBar:truthProp,showCloseButton:truthProp,closeButtonText:String,inputPlaceholder:String,exchangeMinLength:makeNumberProp(1),exchangeButtonText:String,displayedCouponIndex:makeNumberProp(-1),exchangeButtonLoading:Boolean,exchangeButtonDisabled:Boolean};var stdin_default$V=defineComponent({name:name$O,props:couponListProps,emits:["change","exchange","update:code"],setup(e,{emit:t,slots:n}){const[o,r]=useRefs(),i=ref(),a=ref(),s=ref(0),l=ref(0),c=ref(e.code),u=computed((()=>!e.exchangeButtonLoading&&(e.exchangeButtonDisabled||!c.value||c.value.length{const e=useRect(i).height,t=useRect(a).height+44;l.value=(e>t?e:windowHeight.value)-t},p=()=>{t("exchange",c.value),e.code||(c.value="")},A=e=>{nextTick((()=>{var t;return null==(t=o.value[e])?void 0:t.scrollIntoView()}))},f=()=>createVNode(Empty,{image:e.emptyImage},{default:()=>[createVNode("p",{class:bem$N("empty-tip")},[t$9("noCoupon")])]}),m=()=>{if(e.showExchangeBar)return createVNode("div",{ref:a,class:bem$N("exchange-bar")},[createVNode(Field,{modelValue:c.value,"onUpdate:modelValue":e=>c.value=e,clearable:!0,border:!1,class:bem$N("field"),placeholder:e.inputPlaceholder||t$9("placeholder"),maxlength:"20"},null),createVNode(Button,{plain:!0,type:"primary",class:bem$N("exchange"),text:e.exchangeButtonText||t$9("exchange"),loading:e.exchangeButtonLoading,disabled:u.value,onClick:p},null)])},h=()=>{const{coupons:o}=e,i=e.showCount?` (${o.length})`:"",a=(e.enabledTitle||t$9("enable"))+i;return createVNode(Tab,{title:a},{default:()=>{var i;return[createVNode("div",{class:bem$N("list",{"with-bottom":e.showCloseButton}),style:{height:`${l.value}px`}},[o.map(((n,o)=>createVNode(Coupon,{key:n.id,ref:r(o),coupon:n,chosen:o===e.chosenCoupon,currency:e.currency,onClick:()=>t("change",o)},null))),!o.length&&f(),null==(i=n["list-footer"])?void 0:i.call(n)])]}})},g=()=>{const{disabledCoupons:t}=e,o=e.showCount?` (${t.length})`:"",r=(e.disabledTitle||t$9("disabled"))+o;return createVNode(Tab,{title:r},{default:()=>{var o;return[createVNode("div",{class:bem$N("list",{"with-bottom":e.showCloseButton}),style:{height:`${l.value}px`}},[t.map((t=>createVNode(Coupon,{disabled:!0,key:t.id,coupon:t,currency:e.currency},null))),!t.length&&f(),null==(o=n["disabled-list-footer"])?void 0:o.call(n)])]}})};return watch((()=>e.code),(e=>{c.value=e})),watch(windowHeight,d),watch(c,(e=>t("update:code",e))),watch((()=>e.displayedCouponIndex),A),onMounted((()=>{d(),A(e.displayedCouponIndex)})),()=>createVNode("div",{ref:i,class:bem$N()},[m(),createVNode(Tabs,{active:s.value,"onUpdate:active":e=>s.value=e,class:bem$N("tab")},{default:()=>[h(),g()]}),createVNode("div",{class:bem$N("bottom")},[withDirectives(createVNode(Button,{round:!0,block:!0,type:"primary",class:bem$N("close"),text:e.closeButtonText||t$9("close"),onClick:()=>t("change",-1)},null),[[vShow,e.showCloseButton]])])])}});const CouponList=withInstall(stdin_default$V),currentYear=(new Date).getFullYear(),[name$N]=createNamespace("date-picker"),datePickerProps=extend$1({},sharedProps,{columnsType:{type:Array,default:()=>["year","month","day"]},minDate:{type:Date,default:()=>new Date(currentYear-10,0,1),validator:isDate$1},maxDate:{type:Date,default:()=>new Date(currentYear+10,11,31),validator:isDate$1}});var stdin_default$U=defineComponent({name:name$N,props:datePickerProps,emits:["confirm","cancel","change","update:modelValue"],setup(e,{emit:t,slots:n}){const o=ref(e.modelValue),r=ref(!1),i=t=>t===e.minDate.getFullYear(),a=t=>t===e.maxDate.getFullYear(),s=t=>{const{minDate:n,columnsType:i}=e,a=i.indexOf(t),s=r.value?e.modelValue[a]:o.value[a];if(s)return+s;switch(t){case"year":return n.getFullYear();case"month":return n.getMonth()+1;case"day":return n.getDate()}},l=()=>{const t=s("year"),n=s("month"),o=i(t)&&(t=>t===e.minDate.getMonth()+1)(n)?e.minDate.getDate():1,r=a(t)&&(t=>t===e.maxDate.getMonth()+1)(n)?e.maxDate.getDate():getMonthEndDay(t,n);return genOptions(o,r,"day",e.formatter,e.filter)},c=computed((()=>e.columnsType.map((t=>{switch(t){case"year":return(()=>{const t=e.minDate.getFullYear(),n=e.maxDate.getFullYear();return genOptions(t,n,"year",e.formatter,e.filter)})();case"month":return(()=>{const t=s("year"),n=i(t)?e.minDate.getMonth()+1:1,o=a(t)?e.maxDate.getMonth()+1:12;return genOptions(n,o,"month",e.formatter,e.filter)})();case"day":return l();default:return[]}}))));watch(o,(n=>{isSameValue(n,e.modelValue)||t("update:modelValue",n)})),watch((()=>e.modelValue),((e,t)=>{r.value=isSameValue(t,o.value),e=formatValueRange(e,c.value),isSameValue(e,o.value)||(o.value=e),r.value=!1}),{immediate:!0});const u=(...e)=>t("change",...e),d=(...e)=>t("cancel",...e),p=(...e)=>t("confirm",...e);return()=>createVNode(Picker,mergeProps({modelValue:o.value,"onUpdate:modelValue":e=>o.value=e,columns:c.value,onChange:u,onCancel:d,onConfirm:p},pick$1(e,pickerInheritKeys)),n)}});const DatePicker=withInstall(stdin_default$U),[name$M,bem$M,t$8]=createNamespace("dialog"),dialogProps=extend$1({},popupSharedProps,{title:String,theme:String,width:numericProp,message:[String,Function],callback:Function,allowHtml:Boolean,className:unknownProp,transition:makeStringProp("van-dialog-bounce"),messageAlign:String,closeOnPopstate:truthProp,showCancelButton:Boolean,cancelButtonText:String,cancelButtonColor:String,cancelButtonDisabled:Boolean,confirmButtonText:String,confirmButtonColor:String,confirmButtonDisabled:Boolean,showConfirmButton:truthProp,closeOnClickOverlay:Boolean}),popupInheritKeys$1=[...popupSharedPropKeys,"transition","closeOnPopstate"];var stdin_default$T=defineComponent({name:name$M,props:dialogProps,emits:["confirm","cancel","keydown","update:show"],setup(e,{emit:t,slots:n}){const o=ref(),r=reactive({confirm:!1,cancel:!1}),i=e=>t("update:show",e),a=t=>{var n;i(!1),null==(n=e.callback)||n.call(e,t)},s=n=>()=>{e.show&&(t(n),e.beforeClose?(r[n]=!0,callInterceptor(e.beforeClose,{args:[n],done(){a(n),r[n]=!1},canceled(){r[n]=!1}})):a(n))},l=s("cancel"),c=s("confirm"),u=withKeys((n=>{var r,i;if(n.target!==(null==(i=null==(r=o.value)?void 0:r.popupRef)?void 0:i.value))return;({Enter:e.showConfirmButton?c:noop$2,Escape:e.showCancelButton?l:noop$2})[n.key](),t("keydown",n)}),["enter","esc"]),d=()=>{const t=n.title?n.title():e.title;if(t)return createVNode("div",{class:bem$M("header",{isolated:!e.message&&!n.default})},[t])},p=t=>{const{message:n,allowHtml:o,messageAlign:r}=e,i=bem$M("message",{"has-title":t,[r]:r}),a=isFunction$1(n)?n():n;return o&&"string"==typeof a?createVNode("div",{class:i,innerHTML:a},null):createVNode("div",{class:i},[a])},A=()=>{if(n.default)return createVNode("div",{class:bem$M("content")},[n.default()]);const{title:t,message:o,allowHtml:r}=e;if(o){const e=!(!t&&!n.title);return createVNode("div",{key:r?1:0,class:bem$M("content",{isolated:!e})},[p(e)])}},f=()=>n.footer?n.footer():"round-button"===e.theme?createVNode(ActionBar,{class:bem$M("footer")},{default:()=>[e.showCancelButton&&createVNode(ActionBarButton,{type:"warning",text:e.cancelButtonText||t$8("cancel"),class:bem$M("cancel"),color:e.cancelButtonColor,loading:r.cancel,disabled:e.cancelButtonDisabled,onClick:l},null),e.showConfirmButton&&createVNode(ActionBarButton,{type:"danger",text:e.confirmButtonText||t$8("confirm"),class:bem$M("confirm"),color:e.confirmButtonColor,loading:r.confirm,disabled:e.confirmButtonDisabled,onClick:c},null)]}):createVNode("div",{class:[BORDER_TOP,bem$M("footer")]},[e.showCancelButton&&createVNode(Button,{size:"large",text:e.cancelButtonText||t$8("cancel"),class:bem$M("cancel"),style:{color:e.cancelButtonColor},loading:r.cancel,disabled:e.cancelButtonDisabled,onClick:l},null),e.showConfirmButton&&createVNode(Button,{size:"large",text:e.confirmButtonText||t$8("confirm"),class:[bem$M("confirm"),{[BORDER_LEFT]:e.showCancelButton}],style:{color:e.confirmButtonColor},loading:r.confirm,disabled:e.confirmButtonDisabled,onClick:c},null)]);return()=>{const{width:t,title:n,theme:r,message:a,className:s}=e;return createVNode(Popup,mergeProps({ref:o,role:"dialog",class:[bem$M([r]),s],style:{width:addUnit(t)},tabindex:0,"aria-labelledby":n||a,onKeydown:u,"onUpdate:show":i},pick$1(e,popupInheritKeys$1)),{default:()=>[d(),A(),f()]})}}});let instance$2;const DEFAULT_OPTIONS$1={title:"",width:"",theme:null,message:"",overlay:!0,callback:null,teleport:"body",className:"",allowHtml:!1,lockScroll:!0,transition:void 0,beforeClose:null,overlayClass:"",overlayStyle:void 0,messageAlign:"",cancelButtonText:"",cancelButtonColor:null,cancelButtonDisabled:!1,confirmButtonText:"",confirmButtonColor:null,confirmButtonDisabled:!1,showConfirmButton:!0,showCancelButton:!1,closeOnPopstate:!0,closeOnClickOverlay:!1};let currentOptions=extend$1({},DEFAULT_OPTIONS$1);function initInstance$1(){const e={setup(){const{state:e,toggle:t}=usePopupState();return()=>createVNode(stdin_default$T,mergeProps(e,{"onUpdate:show":t}),null)}};({instance:instance$2}=mountComponent(e))}function showDialog(e){return inBrowser$1?new Promise(((t,n)=>{instance$2||initInstance$1(),instance$2.open(extend$1({},currentOptions,e,{callback:e=>{("confirm"===e?t:n)(e)}}))})):Promise.resolve(void 0)}const showConfirmDialog=e=>showDialog(extend$1({showCancelButton:!0},e)),Dialog=withInstall(stdin_default$T),[name$L,bem$L]=createNamespace("divider"),dividerProps={dashed:Boolean,hairline:truthProp,vertical:Boolean,contentPosition:makeStringProp("center")};var stdin_default$S=defineComponent({name:name$L,props:dividerProps,setup:(e,{slots:t})=>()=>{var n;return createVNode("div",{role:"separator",class:bem$L({dashed:e.dashed,hairline:e.hairline,vertical:e.vertical,[`content-${e.contentPosition}`]:!!t.default&&!e.vertical})},[!e.vertical&&(null==(n=t.default)?void 0:n.call(t))])}});const Divider=withInstall(stdin_default$S),[name$K,bem$K]=createNamespace("dropdown-menu"),dropdownMenuProps={overlay:truthProp,zIndex:numericProp,duration:makeNumericProp(.2),direction:makeStringProp("down"),activeColor:String,closeOnClickOutside:truthProp,closeOnClickOverlay:truthProp,swipeThreshold:numericProp},DROPDOWN_KEY=Symbol(name$K);var stdin_default$R=defineComponent({name:name$K,props:dropdownMenuProps,setup(e,{slots:t}){const n=useId(),o=ref(),r=ref(),i=ref(0),{children:a,linkChildren:s}=useChildren(DROPDOWN_KEY),l=useScrollParent(o),c=computed((()=>a.some((e=>e.state.showWrapper)))),u=computed((()=>e.swipeThreshold&&a.length>+e.swipeThreshold)),d=computed((()=>{if(c.value&&isDef(e.zIndex))return{zIndex:+e.zIndex+1}})),p=()=>{a.forEach((e=>{e.toggle(!1)}))},A=()=>{if(r.value){const t=useRect(r);"down"===e.direction?i.value=t.bottom:i.value=windowHeight.value-t.top}},f=(t,o)=>{const{showPopup:r}=t.state,{disabled:i,titleClass:s}=t;return createVNode("div",{id:`${n}-${o}`,role:"button",tabindex:i?void 0:0,class:[bem$K("item",{disabled:i,grow:u.value}),{[HAPTICS_FEEDBACK]:!i}],onClick:()=>{var e;i||(e=o,a.forEach(((t,n)=>{n===e?t.toggle():t.state.showPopup&&t.toggle(!1,{immediate:!0})})))}},[createVNode("span",{class:[bem$K("title",{down:r===("down"===e.direction),active:r}),s],style:{color:r?e.activeColor:""}},[createVNode("div",{class:"van-ellipsis"},[t.renderTitle()])])])};return useExpose({close:p}),s({id:n,props:e,offset:i,updateOffset:A}),useClickAway(o,(()=>{e.closeOnClickOutside&&p()})),useEventListener("scroll",(()=>{c.value&&A()}),{target:l,passive:!0}),()=>{var e;return createVNode("div",{ref:o,class:bem$K()},[createVNode("div",{ref:r,style:d.value,class:bem$K("bar",{opened:c.value,scrollable:u.value})},[a.map(f)]),null==(e=t.default)?void 0:e.call(t)])}}});const[name$J,bem$J]=createNamespace("dropdown-item"),dropdownItemProps={title:String,options:makeArrayProp(),disabled:Boolean,teleport:[String,Object],lazyRender:truthProp,modelValue:unknownProp,titleClass:unknownProp};var stdin_default$Q=defineComponent({name:name$J,inheritAttrs:!1,props:dropdownItemProps,emits:["open","opened","close","closed","change","update:modelValue"],setup(e,{emit:t,slots:n,attrs:o}){const r=reactive({showPopup:!1,transition:!0,showWrapper:!1}),{parent:i,index:a}=useParent(DROPDOWN_KEY);if(!i)return;const s=e=>()=>t(e),l=s("open"),c=s("close"),u=s("opened"),d=()=>{r.showWrapper=!1,t("closed")},p=t=>{e.teleport&&t.stopPropagation()},A=n=>{const{activeColor:o}=i.props,a=n.value===e.modelValue;return createVNode(Cell,{role:"menuitem",key:String(n.value),icon:n.icon,title:n.text,class:bem$J("option",{active:a}),style:{color:a?o:""},tabindex:a?0:-1,clickable:!0,onClick:()=>{r.showPopup=!1,n.value!==e.modelValue&&(t("update:modelValue",n.value),t("change",n.value))}},{value:()=>{if(a)return createVNode(Icon,{class:bem$J("icon"),color:o,name:"success"},null)}})},f=()=>{const{offset:t}=i,{zIndex:s,overlay:f,duration:m,direction:h,closeOnClickOverlay:g}=i.props,v=getZIndexStyle(s);return"down"===h?v.top=`${t.value}px`:v.bottom=`${t.value}px`,withDirectives(createVNode("div",mergeProps({style:v,class:bem$J([h]),onClick:p},o),[createVNode(Popup,{show:r.showPopup,"onUpdate:show":e=>r.showPopup=e,role:"menu",class:bem$J("content"),overlay:f,position:"down"===h?"top":"bottom",duration:r.transition?m:0,lazyRender:e.lazyRender,overlayStyle:{position:"absolute"},"aria-labelledby":`${i.id}-${a.value}`,closeOnClickOverlay:g,onOpen:l,onClose:c,onOpened:u,onClosed:d},{default:()=>{var t;return[e.options.map(A),null==(t=n.default)?void 0:t.call(n)]}})]),[[vShow,r.showWrapper]])};return useExpose({state:r,toggle:(e=!r.showPopup,t={})=>{e!==r.showPopup&&(r.showPopup=e,r.transition=!t.immediate,e&&(i.updateOffset(),r.showWrapper=!0))},renderTitle:()=>{if(n.title)return n.title();if(e.title)return e.title;const t=e.options.find((t=>t.value===e.modelValue));return t?t.text:""}}),()=>e.teleport?createVNode(Teleport,{to:e.teleport},{default:()=>[f()]}):f()}});const DropdownItem=withInstall(stdin_default$Q),DropdownMenu=withInstall(stdin_default$R),floatingBubbleProps={gap:makeNumberProp(24),icon:String,axis:makeStringProp("y"),magnetic:String,offset:{type:Object,default:()=>({x:-1,y:-1})},teleport:{type:[String,Object],default:"body"}},[name$I,bem$I]=createNamespace("floating-bubble");var stdin_default$P=defineComponent({name:name$I,inheritAttrs:!1,props:floatingBubbleProps,emits:["click","update:offset","offsetChange"],setup(e,{slots:t,emit:n,attrs:o}){const r=ref(),i=ref({x:0,y:0,width:0,height:0}),a=computed((()=>({top:e.gap,right:windowWidth.value-i.value.width-e.gap,bottom:windowHeight.value-i.value.height-e.gap,left:e.gap}))),s=ref(!1);let l=!1;const c=computed((()=>{const e={},t=addUnit(i.value.x),n=addUnit(i.value.y);return e.transform=`translate3d(${t}, ${n}, 0)`,!s.value&&l||(e.transition="none"),e})),u=()=>{if(!g.value)return;const{width:t,height:n}=useRect(r.value),{offset:o}=e;i.value={x:o.x>-1?o.x:windowWidth.value-t-e.gap,y:o.y>-1?o.y:windowHeight.value-n-e.gap,width:t,height:n}},d=useTouch();let p=0,A=0;const f=e=>{d.start(e),s.value=!0,p=i.value.x,A=i.value.y};useEventListener("touchmove",(t=>{if(t.preventDefault(),d.move(t),"lock"!==e.axis&&!d.isTap.value){if("x"===e.axis||"xy"===e.axis){let e=p+d.deltaX.value;ea.value.right&&(e=a.value.right),i.value.x=e}if("y"===e.axis||"xy"===e.axis){let e=A+d.deltaY.value;ea.value.bottom&&(e=a.value.bottom),i.value.y=e}const t=pick$1(i.value,["x","y"]);n("update:offset",t)}}),{target:r});const m=()=>{s.value=!1,nextTick((()=>{if("x"===e.magnetic){const e=closest([a.value.left,a.value.right],i.value.x);i.value.x=e}if("y"===e.magnetic){const e=closest([a.value.top,a.value.bottom],i.value.y);i.value.y=e}if(!d.isTap.value){const e=pick$1(i.value,["x","y"]);n("update:offset",e),p===e.x&&A===e.y||n("offsetChange",e)}}))},h=e=>{d.isTap.value?n("click",e):e.stopPropagation()};onMounted((()=>{u(),nextTick((()=>{l=!0}))})),watch([windowWidth,windowHeight,()=>e.gap,()=>e.offset],u);const g=ref(!0);return onActivated((()=>{g.value=!0})),onDeactivated((()=>{e.teleport&&(g.value=!1)})),()=>{const n=withDirectives(createVNode("div",mergeProps({class:bem$I(),ref:r,onTouchstartPassive:f,onTouchend:m,onTouchcancel:m,onClickCapture:h,style:c.value},o),[t.default?t.default():createVNode(stdin_default$1N,{name:e.icon,class:bem$I("icon")},null)]),[[vShow,g.value]]);return e.teleport?createVNode(Teleport,{to:e.teleport},{default:()=>[n]}):n}}});const FloatingBubble=withInstall(stdin_default$P),floatingPanelProps={height:makeNumericProp(0),anchors:makeArrayProp(),duration:makeNumericProp(.3),contentDraggable:truthProp,lockScroll:Boolean,safeAreaInsetBottom:truthProp},[name$H,bem$H]=createNamespace("floating-panel");var stdin_default$O=defineComponent({name:name$H,props:floatingPanelProps,emits:["heightChange","update:height"],setup(e,{emit:t,slots:n}){const o=ref(),r=ref(),i=useSyncPropRef((()=>+e.height),(e=>t("update:height",e))),a=computed((()=>{var t,n;return{min:null!=(t=e.anchors[0])?t:100,max:null!=(n=e.anchors[e.anchors.length-1])?n:Math.round(.6*windowHeight.value)}})),s=computed((()=>e.anchors.length>=2?e.anchors:[a.value.min,a.value.max])),l=ref(!1),c=computed((()=>({height:addUnit(a.value.max),transform:`translateY(calc(100% + ${addUnit(-i.value)}))`,transition:l.value?"none":`transform ${e.duration}s cubic-bezier(0.18, 0.89, 0.32, 1.28)`})));let u,d=-1;const p=useTouch(),A=e=>{p.start(e),l.value=!0,u=-i.value,d=-1},f=()=>{d=-1,l.value=!1,i.value=closest(s.value,i.value),i.value!==-u&&t("heightChange",{height:i.value})};return watch(a,(()=>{i.value=closest(s.value,i.value)}),{immediate:!0}),useLockScroll(o,(()=>e.lockScroll||l.value)),useEventListener("touchmove",(t=>{var n;p.move(t);const o=t.target;if(r.value===o||(null==(n=r.value)?void 0:n.contains(o))){const{scrollTop:n}=r.value;if(d=Math.max(d,n),!e.contentDraggable)return;if(-u0)||d>0)return}const s=p.deltaY.value+u;i.value=-(e=>{const t=Math.abs(e),{min:n,max:o}=a.value;return t>o?-(o+.2*(t-o)):t{var t;return createVNode("div",{class:[bem$H(),{"van-safe-area-bottom":e.safeAreaInsetBottom}],ref:o,style:c.value,onTouchstartPassive:A,onTouchend:f,onTouchcancel:f},[createVNode("div",{class:bem$H("header")},[createVNode("div",{class:bem$H("header-bar")},null)]),createVNode("div",{class:bem$H("content"),ref:r},[null==(t=n.default)?void 0:t.call(n)])])}}});const FloatingPanel=withInstall(stdin_default$O),[name$G,bem$G]=createNamespace("grid"),gridProps={square:Boolean,center:truthProp,border:truthProp,gutter:numericProp,reverse:Boolean,iconSize:numericProp,direction:String,clickable:Boolean,columnNum:makeNumericProp(4)},GRID_KEY=Symbol(name$G);var stdin_default$N=defineComponent({name:name$G,props:gridProps,setup(e,{slots:t}){const{linkChildren:n}=useChildren(GRID_KEY);return n({props:e}),()=>{var n;return createVNode("div",{style:{paddingLeft:addUnit(e.gutter)},class:[bem$G(),{[BORDER_TOP]:e.border&&!e.gutter}]},[null==(n=t.default)?void 0:n.call(t)])}}});const Grid=withInstall(stdin_default$N),[name$F,bem$F]=createNamespace("grid-item"),gridItemProps=extend$1({},routeProps,{dot:Boolean,text:String,icon:String,badge:numericProp,iconColor:String,iconPrefix:String,badgeProps:Object});var stdin_default$M=defineComponent({name:name$F,props:gridItemProps,setup(e,{slots:t}){const{parent:n,index:o}=useParent(GRID_KEY),r=useRoute();if(!n)return;const i=computed((()=>{const{square:e,gutter:t,columnNum:r}=n.props,i=100/+r+"%",a={flexBasis:i};if(e)a.paddingTop=i;else if(t){const e=addUnit(t);a.paddingRight=e,o.value>=+r&&(a.marginTop=e)}return a})),a=computed((()=>{const{square:e,gutter:t}=n.props;if(e&&t){const e=addUnit(t);return{right:e,bottom:e,height:"auto"}}}));return()=>{const{center:o,border:s,square:l,gutter:c,reverse:u,direction:d,clickable:p}=n.props,A=[bem$F("content",[d,{center:o,square:l,reverse:u,clickable:p,surround:s&&c}]),{[BORDER]:s}];return createVNode("div",{class:[bem$F({square:l})],style:i.value},[createVNode("div",{role:p?"button":void 0,class:A,style:a.value,tabindex:p?0:void 0,onClick:r},[t.default?t.default():[t.icon?createVNode(Badge,mergeProps({dot:e.dot,content:e.badge},e.badgeProps),{default:t.icon}):e.icon?createVNode(Icon,{dot:e.dot,name:e.icon,size:n.props.iconSize,badge:e.badge,class:bem$F("icon"),color:e.iconColor,badgeProps:e.badgeProps,classPrefix:e.iconPrefix},null):void 0,t.text?t.text():e.text?createVNode("span",{class:bem$F("text")},[e.text]):void 0]])])}}});const GridItem=withInstall(stdin_default$M),getDistance=e=>Math.sqrt((e[0].clientX-e[1].clientX)**2+(e[0].clientY-e[1].clientY)**2),getCenter=e=>({x:(e[0].clientX+e[1].clientX)/2,y:(e[0].clientY+e[1].clientY)/2}),bem$E=createNamespace("image-preview")[1],longImageRatio=2.6;var stdin_default$L=defineComponent({props:{src:String,show:Boolean,active:Number,minZoom:makeRequiredProp(numericProp),maxZoom:makeRequiredProp(numericProp),rootWidth:makeRequiredProp(Number),rootHeight:makeRequiredProp(Number),disableZoom:Boolean,closeOnClickOverlay:Boolean},emits:["scale","close","longPress"],setup(e,{emit:t,slots:n}){const o=reactive({scale:1,moveX:0,moveY:0,moving:!1,zooming:!1,initializing:!1,imageRatio:0}),r=useTouch(),i=ref(),a=ref(),s=ref(!1),l=ref(!1);let c=0;const u=computed((()=>{const{scale:e,moveX:t,moveY:n,moving:r,zooming:i,initializing:a}=o,s={transitionDuration:i||r||a?"0s":".3s"};return(1!==e||l.value)&&(s.transform=`matrix(${e}, 0, 0, ${e}, ${t}, ${n})`),s})),d=computed((()=>{if(o.imageRatio){const{rootWidth:t,rootHeight:n}=e,r=s.value?n/o.imageRatio:t;return Math.max(0,(o.scale*r-t)/2)}return 0})),p=computed((()=>{if(o.imageRatio){const{rootWidth:t,rootHeight:n}=e,r=s.value?n:t*o.imageRatio;return Math.max(0,(o.scale*r-n)/2)}return 0})),A=(n,r)=>{var a;if((n=clamp$1(n,+e.minZoom,+e.maxZoom+1))!==o.scale){const s=n/o.scale;if(o.scale=n,r){const e=useRect(null==(a=i.value)?void 0:a.$el),t={x:.5*e.width,y:.5*e.height},n=o.moveX-(r.x-e.left-t.x)*(s-1),l=o.moveY-(r.y-e.top-t.y)*(s-1);o.moveX=clamp$1(n,-d.value,d.value),o.moveY=clamp$1(l,-p.value,p.value)}else o.moveX=0,o.moveY=l.value?c:0;t("scale",{scale:n,index:e.active})}},f=()=>{A(1)};let m,h,g,v,b,E,C,y,w=!1;const I=t=>{const{touches:n}=t;if(m=n.length,2===m&&e.disableZoom)return;const{offsetX:i}=r;r.start(t),h=o.moveX,g=o.moveY,y=Date.now(),w=!1,o.moving=1===m&&(1!==o.scale||l.value),o.zooming=2===m&&!i.value,o.zooming&&(v=o.scale,b=getDistance(n))},S=n=>{var i;if(m>1)return;const{offsetX:s,offsetY:c}=r,u=Date.now()-y;if(s.value{const e=o.scale>1?1:2;A(e,2===e||l.value?{x:r.startX.value,y:r.startY.value}:void 0)})();else{if(!e.closeOnClickOverlay&&n.target===(null==(i=a.value)?void 0:i.$el))return;C=setTimeout((()=>{t("close"),C=null}),250)}else u>LONG_PRESS_START_TIME&&t("longPress")},R=t=>{let n=!1;if((o.moving||o.zooming)&&(n=!0,o.moving&&h===o.moveX&&g===o.moveY&&(n=!1),!t.touches.length)){o.zooming&&(o.moveX=clamp$1(o.moveX,-d.value,d.value),o.moveY=clamp$1(o.moveY,-p.value,p.value),o.zooming=!1),o.moving=!1,h=0,g=0,v=1,o.scale<1&&f();const t=+e.maxZoom;o.scale>t&&A(t,E)}preventDefault(t,n),S(t),r.reset()},T=()=>{const{rootWidth:t,rootHeight:n}=e,r=n/t,{imageRatio:i}=o;s.value=o.imageRatio>r&&ir&&i>=longImageRatio,l.value&&(c=(i*t-n)/2,o.moveY=c,o.initializing=!0,raf((()=>{o.initializing=!1}))),f()},_=e=>{const{naturalWidth:t,naturalHeight:n}=e.target;o.imageRatio=n/t,T()};return watch((()=>e.active),f),watch((()=>e.show),(e=>{e||f()})),watch((()=>[e.rootWidth,e.rootHeight]),T),useEventListener("touchmove",(e=>{const{touches:t}=e;if(r.move(e),o.moving){const{deltaX:t,deltaY:n}=r,i=t.value+h,a=n.value+g;if((i>d.value||i<-d.value)&&!w&&r.isHorizontal())return void(o.moving=!1);w=!0,preventDefault(e,!0),o.moveX=clamp$1(i,-d.value,d.value),o.moveY=clamp$1(a,-p.value,p.value)}if(o.zooming&&(preventDefault(e,!0),2===t.length)){const e=getDistance(t),n=v*e/b;E=getCenter(t),A(n,E)}}),{target:computed((()=>{var e;return null==(e=a.value)?void 0:e.$el}))}),()=>{const t={loading:()=>createVNode(Loading$1,{type:"spinner"},null)};return createVNode(SwipeItem,{ref:a,class:bem$E("swipe-item"),onTouchstartPassive:I,onTouchend:R,onTouchcancel:R},{default:()=>[n.image?createVNode("div",{class:bem$E("image-wrap")},[n.image({src:e.src})]):createVNode(Image$1,{ref:i,src:e.src,fit:"contain",class:bem$E("image",{vertical:s.value}),style:u.value,onLoad:_},t)]})}}});const[name$E,bem$D]=createNamespace("image-preview"),popupProps$1=["show","teleport","transition","overlayStyle","closeOnPopstate"],imagePreviewProps={show:Boolean,loop:truthProp,images:makeArrayProp(),minZoom:makeNumericProp(1/3),maxZoom:makeNumericProp(3),overlay:truthProp,closeable:Boolean,showIndex:truthProp,className:unknownProp,closeIcon:makeStringProp("clear"),transition:String,beforeClose:Function,overlayClass:unknownProp,overlayStyle:Object,swipeDuration:makeNumericProp(300),startPosition:makeNumericProp(0),showIndicators:Boolean,closeOnPopstate:truthProp,closeOnClickOverlay:truthProp,closeIconPosition:makeStringProp("top-right"),teleport:[String,Object]};var stdin_default$K=defineComponent({name:name$E,props:imagePreviewProps,emits:["scale","close","closed","change","longPress","update:show"],setup(e,{emit:t,slots:n}){const o=ref(),r=reactive({active:0,rootWidth:0,rootHeight:0,disableZoom:!1}),i=()=>{if(o.value){const e=useRect(o.value.$el);r.rootWidth=e.width,r.rootHeight=e.height,o.value.resize()}},a=e=>t("scale",e),s=e=>t("update:show",e),l=()=>{callInterceptor(e.beforeClose,{args:[r.active],done:()=>s(!1)})},c=e=>{e!==r.active&&(r.active=e,t("change",e))},u=()=>{if(e.showIndex)return createVNode("div",{class:bem$D("index")},[n.index?n.index({index:r.active}):`${r.active+1} / ${e.images.length}`])},d=()=>{if(n.cover)return createVNode("div",{class:bem$D("cover")},[n.cover()])},p=()=>{r.disableZoom=!0},A=()=>{r.disableZoom=!1},f=()=>{if(e.closeable)return createVNode(Icon,{role:"button",name:e.closeIcon,class:[bem$D("close-icon",e.closeIconPosition),HAPTICS_FEEDBACK],onClick:l},null)},m=()=>t("closed"),h=(e,t)=>{var n;return null==(n=o.value)?void 0:n.swipeTo(e,t)};return useExpose({swipeTo:h}),onMounted(i),watch([windowWidth,windowHeight],i),watch((()=>e.startPosition),(e=>c(+e))),watch((()=>e.show),(n=>{const{images:o,startPosition:a}=e;n?(c(+a),nextTick((()=>{i(),h(+a,{immediate:!0})}))):t("close",{index:r.active,url:o[r.active]})})),()=>createVNode(Popup,mergeProps({class:[bem$D(),e.className],overlayClass:[bem$D("overlay"),e.overlayClass],onClosed:m,"onUpdate:show":s},pick$1(e,popupProps$1)),{default:()=>[f(),createVNode(Swipe,{ref:o,lazyRender:!0,loop:e.loop,class:bem$D("swipe"),duration:e.swipeDuration,initialSwipe:e.startPosition,showIndicators:e.showIndicators,indicatorColor:"white",onChange:c,onDragEnd:A,onDragStart:p},{default:()=>[e.images.map(((o,i)=>createVNode(stdin_default$L,{src:o,show:e.show,active:r.active,maxZoom:e.maxZoom,minZoom:e.minZoom,rootWidth:r.rootWidth,rootHeight:r.rootHeight,disableZoom:r.disableZoom,closeOnClickOverlay:e.closeOnClickOverlay,onScale:a,onClose:l,onLongPress:()=>t("longPress",{index:i})},{image:n.image})))]}),u(),d()]})}});let instance$1;const defaultConfig={loop:!0,images:[],maxZoom:3,minZoom:1/3,onScale:void 0,onClose:void 0,onChange:void 0,teleport:"body",className:"",showIndex:!0,closeable:!1,closeIcon:"clear",transition:void 0,beforeClose:void 0,overlayStyle:void 0,overlayClass:void 0,startPosition:0,swipeDuration:300,showIndicators:!1,closeOnPopstate:!0,closeOnClickOverlay:!0,closeIconPosition:"top-right"};function initInstance(){({instance:instance$1}=mountComponent({setup(){const{state:e,toggle:t}=usePopupState(),n=()=>{e.images=[]};return()=>createVNode(stdin_default$K,mergeProps(e,{onClosed:n,"onUpdate:show":t}),null)}}))}const showImagePreview=(e,t=0)=>{if(inBrowser$1)return instance$1||initInstance(),e=Array.isArray(e)?{images:e,startPosition:t}:e,instance$1.open(extend$1({},defaultConfig,e)),instance$1},ImagePreview=withInstall(stdin_default$K);function genAlphabet(){const e="A".charCodeAt(0);return Array(26).fill("").map(((t,n)=>String.fromCharCode(e+n)))}const[name$D,bem$C]=createNamespace("index-bar"),indexBarProps={sticky:truthProp,zIndex:numericProp,teleport:[String,Object],highlightColor:String,stickyOffsetTop:makeNumberProp(0),indexList:{type:Array,default:genAlphabet}},INDEX_BAR_KEY=Symbol(name$D);var stdin_default$J=defineComponent({name:name$D,props:indexBarProps,emits:["select","change"],setup(e,{emit:t,slots:n}){const o=ref(),r=ref(),i=ref(""),a=useTouch(),s=useScrollParent(o),{children:l,linkChildren:c}=useChildren(INDEX_BAR_KEY);let u;c({props:e});const d=computed((()=>{if(isDef(e.zIndex))return{zIndex:+e.zIndex+1}})),p=computed((()=>{if(e.highlightColor)return{color:e.highlightColor}})),A=(t,n)=>{for(let o=l.length-1;o>=0;o--){const r=o>0?n[o-1].height:0;if(t+(e.sticky?r+e.stickyOffsetTop:0)>=n[o].top)return o}return-1},f=e=>l.find((t=>String(t.index)===e)),m=()=>{if(isHidden(o))return;const{sticky:t,indexList:n}=e,r=getScrollTop(s.value),a=useRect(s),c=l.map((e=>e.getRect(s.value,a)));let d=-1;if(u){const e=f(u);if(e){const t=e.getRect(s.value,a);d=A(t.top,c)}}else d=A(r,c);i.value=n[d],t&&l.forEach(((t,n)=>{const{state:o,$el:i}=t;if(n===d||n===d-1){const e=i.getBoundingClientRect();o.left=e.left,o.width=e.width}else o.left=null,o.width=null;if(n===d)o.active=!0,o.top=Math.max(e.stickyOffsetTop,c[n].top-r)+a.top;else if(n===d-1&&""===u){const e=c[d].top-r;o.active=e>0,o.top=e+a.top-c[n].height}else o.active=!1})),u=""},h=()=>{nextTick(m)};useEventListener("scroll",m,{target:s,passive:!0}),onMounted(h),watch((()=>e.indexList),h),watch(i,(e=>{e&&t("change",e)}));const g=n=>{u=String(n);const o=f(u);if(o){const n=getScrollTop(s.value),r=useRect(s),{offsetHeight:i}=document.documentElement;if(o.$el.scrollIntoView(),n===i-r.height)return void m();e.sticky&&e.stickyOffsetTop&&setRootScrollTop(getRootScrollTop()-e.stickyOffsetTop),t("select",o.index)}},v=e=>{const{index:t}=e.dataset;t&&g(t)},b=e=>{v(e.target)};let E;const C=()=>createVNode("div",{ref:r,class:bem$C("sidebar"),style:d.value,onClick:b,onTouchstartPassive:a.start},[e.indexList.map((e=>{const t=e===i.value;return createVNode("span",{class:bem$C("index",{active:t}),style:t?p.value:void 0,"data-index":e},[e])}))]);return useExpose({scrollTo:g}),useEventListener("touchmove",(e=>{if(a.move(e),a.isVertical()){preventDefault(e);const{clientX:t,clientY:n}=e.touches[0],o=document.elementFromPoint(t,n);if(o){const{index:e}=o.dataset;e&&E!==e&&(E=e,v(o))}}}),{target:r}),()=>{var t;return createVNode("div",{ref:o,class:bem$C()},[e.teleport?createVNode(Teleport,{to:e.teleport},{default:()=>[C()]}):C(),null==(t=n.default)?void 0:t.call(n)])}}});const[name$C,bem$B]=createNamespace("index-anchor"),indexAnchorProps={index:numericProp};var stdin_default$I=defineComponent({name:name$C,props:indexAnchorProps,setup(e,{slots:t}){const n=reactive({top:0,left:null,rect:{top:0,height:0},width:null,active:!1}),o=ref(),{parent:r}=useParent(INDEX_BAR_KEY);if(!r)return;const i=()=>n.active&&r.props.sticky,a=computed((()=>{const{zIndex:e,highlightColor:t}=r.props;if(i())return extend$1(getZIndexStyle(e),{left:n.left?`${n.left}px`:void 0,width:n.width?`${n.width}px`:void 0,transform:n.top?`translate3d(0, ${n.top}px, 0)`:void 0,color:t})}));return useExpose({state:n,getRect:(e,t)=>{const r=useRect(o);return n.rect.height=r.height,e===window||e===document.body?n.rect.top=r.top+getRootScrollTop():n.rect.top=r.top+getScrollTop(e)-t.top,n.rect}}),()=>{const r=i();return createVNode("div",{ref:o,style:{height:r?`${n.rect.height}px`:void 0}},[createVNode("div",{style:a.value,class:[bem$B({sticky:r}),{[BORDER_BOTTOM]:r}]},[t.default?t.default():e.index])])}}});const IndexAnchor=withInstall(stdin_default$I),IndexBar=withInstall(stdin_default$J),[name$B,bem$A,t$7]=createNamespace("list"),listProps={error:Boolean,offset:makeNumericProp(300),loading:Boolean,disabled:Boolean,finished:Boolean,scroller:Object,errorText:String,direction:makeStringProp("down"),loadingText:String,finishedText:String,immediateCheck:truthProp};var stdin_default$H=defineComponent({name:name$B,props:listProps,emits:["load","update:error","update:loading"],setup(e,{emit:t,slots:n}){const o=ref(e.loading),r=ref(),i=ref(),a=useTabStatus(),s=useScrollParent(r),l=computed((()=>e.scroller||s.value)),c=()=>{nextTick((()=>{if(o.value||e.finished||e.disabled||e.error||!1===(null==a?void 0:a.value))return;const{direction:n}=e,s=+e.offset,c=useRect(l);if(!c.height||isHidden(r))return;let u=!1;const d=useRect(i);u="up"===n?c.top-d.top<=s:d.bottom-c.bottom<=s,u&&(o.value=!0,t("update:loading",!0),t("load"))}))},u=()=>{if(e.finished){const t=n.finished?n.finished():e.finishedText;if(t)return createVNode("div",{class:bem$A("finished-text")},[t])}},d=()=>{t("update:error",!1),c()},p=()=>{if(e.error){const t=n.error?n.error():e.errorText;if(t)return createVNode("div",{role:"button",class:bem$A("error-text"),tabindex:0,onClick:d},[t])}},A=()=>{if(o.value&&!e.finished&&!e.disabled)return createVNode("div",{class:bem$A("loading")},[n.loading?n.loading():createVNode(Loading$1,{class:bem$A("loading-icon")},{default:()=>[e.loadingText||t$7("loading")]})])};return watch((()=>[e.loading,e.finished,e.error]),c),a&&watch(a,(e=>{e&&c()})),onUpdated((()=>{o.value=e.loading})),onMounted((()=>{e.immediateCheck&&c()})),useExpose({check:c}),useEventListener("scroll",c,{target:l,passive:!0}),()=>{var t;const a=null==(t=n.default)?void 0:t.call(n),s=createVNode("div",{ref:i,class:bem$A("placeholder")},null);return createVNode("div",{ref:r,role:"feed",class:bem$A(),"aria-busy":o.value},["down"===e.direction?a:s,A(),u(),p(),"up"===e.direction?a:s])}}});const List=withInstall(stdin_default$H),[name$A,bem$z]=createNamespace("nav-bar"),navBarProps={title:String,fixed:Boolean,zIndex:numericProp,border:truthProp,leftText:String,rightText:String,leftDisabled:Boolean,rightDisabled:Boolean,leftArrow:Boolean,placeholder:Boolean,safeAreaInsetTop:Boolean,clickable:truthProp};var stdin_default$G=defineComponent({name:name$A,props:navBarProps,emits:["clickLeft","clickRight"],setup(e,{emit:t,slots:n}){const o=ref(),r=usePlaceholder(o,bem$z),i=n=>{e.leftDisabled||t("clickLeft",n)},a=n=>{e.rightDisabled||t("clickRight",n)},s=()=>{const{title:t,fixed:r,border:s,zIndex:l}=e,c=getZIndexStyle(l),u=e.leftArrow||e.leftText||n.left,d=e.rightText||n.right;return createVNode("div",{ref:o,style:c,class:[bem$z({fixed:r}),{[BORDER_BOTTOM]:s,"van-safe-area-top":e.safeAreaInsetTop}]},[createVNode("div",{class:bem$z("content")},[u&&createVNode("div",{class:[bem$z("left",{disabled:e.leftDisabled}),e.clickable&&!e.leftDisabled?HAPTICS_FEEDBACK:""],onClick:i},[n.left?n.left():[e.leftArrow&&createVNode(Icon,{class:bem$z("arrow"),name:"arrow-left"},null),e.leftText&&createVNode("span",{class:bem$z("text")},[e.leftText])]]),createVNode("div",{class:[bem$z("title"),"van-ellipsis"]},[n.title?n.title():t]),d&&createVNode("div",{class:[bem$z("right",{disabled:e.rightDisabled}),e.clickable&&!e.rightDisabled?HAPTICS_FEEDBACK:""],onClick:a},[n.right?n.right():createVNode("span",{class:bem$z("text")},[e.rightText])])])])};return()=>e.fixed&&e.placeholder?r(s):s()}});const NavBar=withInstall(stdin_default$G),[name$z,bem$y]=createNamespace("notice-bar"),noticeBarProps={text:String,mode:String,color:String,delay:makeNumericProp(1),speed:makeNumericProp(60),leftIcon:String,wrapable:Boolean,background:String,scrollable:{type:Boolean,default:null}};var stdin_default$F=defineComponent({name:name$z,props:noticeBarProps,emits:["close","replay"],setup(e,{emit:t,slots:n}){let o,r=0,i=0;const a=ref(),s=ref(),l=reactive({show:!0,offset:0,duration:0}),c=n=>{"closeable"===e.mode&&(l.show=!1,t("close",n))},u=()=>{if(n["right-icon"])return n["right-icon"]();const t="closeable"===e.mode?"cross":"link"===e.mode?"arrow":void 0;return t?createVNode(Icon,{name:t,class:bem$y("right-icon"),onClick:c},null):void 0},d=()=>{l.offset=r,l.duration=0,raf((()=>{doubleRaf((()=>{l.offset=-i,l.duration=(i+r)/+e.speed,t("replay")}))}))},p=()=>{const t=!1===e.scrollable&&!e.wrapable,o={transform:l.offset?`translateX(${l.offset}px)`:"",transitionDuration:`${l.duration}s`};return createVNode("div",{ref:a,role:"marquee",class:bem$y("wrap")},[createVNode("div",{ref:s,style:o,class:[bem$y("content"),{"van-ellipsis":t}],onTransitionend:d},[n.default?n.default():e.text])])},A=()=>{const{delay:t,speed:n,scrollable:c}=e,u=isDef(t)?1e3*+t:0;r=0,i=0,l.offset=0,l.duration=0,clearTimeout(o),o=setTimeout((()=>{if(!a.value||!s.value||!1===c)return;const e=useRect(a).width,t=useRect(s).width;(c||t>e)&&doubleRaf((()=>{r=e,i=t,l.offset=-i,l.duration=i/+n}))}),u)};return onPopupReopen(A),onMountedOrActivated(A),useEventListener("pageshow",A),useExpose({reset:A}),watch((()=>[e.text,e.scrollable]),A),()=>{const{color:t,wrapable:o,background:r}=e;return withDirectives(createVNode("div",{role:"alert",class:bem$y({wrapable:o}),style:{color:t,background:r}},[n["left-icon"]?n["left-icon"]():e.leftIcon?createVNode(Icon,{class:bem$y("left-icon"),name:e.leftIcon},null):void 0,p(),u()]),[[vShow,l.show]])}}});const NoticeBar=withInstall(stdin_default$F),[name$y,bem$x]=createNamespace("notify"),notifyProps=extend$1({},popupSharedProps,{type:makeStringProp("danger"),color:String,message:numericProp,position:makeStringProp("top"),className:unknownProp,background:String,lockScroll:Boolean});var stdin_default$E=defineComponent({name:name$y,props:notifyProps,emits:["update:show"],setup(e,{emit:t,slots:n}){const o=e=>t("update:show",e);return()=>createVNode(Popup,{show:e.show,class:[bem$x([e.type]),e.className],style:{color:e.color,background:e.background},overlay:!1,zIndex:e.zIndex,position:e.position,duration:.2,lockScroll:e.lockScroll,"onUpdate:show":o},{default:()=>[n.default?n.default():e.message]})}});const Notify$1=withInstall(stdin_default$E),[name$x,bem$w]=createNamespace("key"),CollapseIcon=createVNode("svg",{class:bem$w("collapse-icon"),viewBox:"0 0 30 24"},[createVNode("path",{d:"M26 13h-2v2h2v-2zm-8-3h2V8h-2v2zm2-4h2V4h-2v2zm2 4h4V4h-2v4h-2v2zm-7 14 3-3h-6l3 3zM6 13H4v2h2v-2zm16 0H8v2h14v-2zm-12-3h2V8h-2v2zM28 0l1 1 1 1v15l-1 2H1l-1-2V2l1-1 1-1zm0 2H2v15h26V2zM6 4v2H4V4zm10 2h2V4h-2v2zM8 9v1H4V8zm8 0v1h-2V8zm-6-5v2H8V4zm4 0v2h-2V4z",fill:"currentColor"},null)]),DeleteIcon=createVNode("svg",{class:bem$w("delete-icon"),viewBox:"0 0 32 22"},[createVNode("path",{d:"M28 0a4 4 0 0 1 4 4v14a4 4 0 0 1-4 4H10.4a2 2 0 0 1-1.4-.6L1 13.1c-.6-.5-.9-1.3-.9-2 0-1 .3-1.7.9-2.2L9 .6a2 2 0 0 1 1.4-.6zm0 2H10.4l-8.2 8.3a1 1 0 0 0-.3.7c0 .3.1.5.3.7l8.2 8.4H28a2 2 0 0 0 2-2V4c0-1.1-.9-2-2-2zm-5 4a1 1 0 0 1 .7.3 1 1 0 0 1 0 1.4L20.4 11l3.3 3.3c.2.2.3.5.3.7 0 .3-.1.5-.3.7a1 1 0 0 1-.7.3 1 1 0 0 1-.7-.3L19 12.4l-3.4 3.3a1 1 0 0 1-.6.3 1 1 0 0 1-.7-.3 1 1 0 0 1-.3-.7c0-.2.1-.5.3-.7l3.3-3.3-3.3-3.3A1 1 0 0 1 14 7c0-.3.1-.5.3-.7A1 1 0 0 1 15 6a1 1 0 0 1 .6.3L19 9.6l3.3-3.3A1 1 0 0 1 23 6z",fill:"currentColor"},null)]);var stdin_default$D=defineComponent({name:name$x,props:{type:String,text:numericProp,color:String,wider:Boolean,large:Boolean,loading:Boolean},emits:["press"],setup(e,{emit:t,slots:n}){const o=ref(!1),r=useTouch(),i=e=>{r.start(e),o.value=!0},a=e=>{r.move(e),r.direction.value&&(o.value=!1)},s=r=>{o.value&&(n.default||preventDefault(r),o.value=!1,t("press",e.text,e.type))},l=()=>{if(e.loading)return createVNode(Loading$1,{class:bem$w("loading-icon")},null);const t=n.default?n.default():e.text;switch(e.type){case"delete":return t||DeleteIcon;case"extra":return t||CollapseIcon;default:return t}};return()=>createVNode("div",{class:bem$w("wrapper",{wider:e.wider}),onTouchstartPassive:i,onTouchmovePassive:a,onTouchend:s,onTouchcancel:s},[createVNode("div",{role:"button",tabindex:0,class:bem$w([e.color,{large:e.large,active:o.value,delete:"delete"===e.type}])},[l()])])}});const[name$w,bem$v]=createNamespace("number-keyboard"),numberKeyboardProps={show:Boolean,title:String,theme:makeStringProp("default"),zIndex:numericProp,teleport:[String,Object],maxlength:makeNumericProp(1/0),modelValue:makeStringProp(""),transition:truthProp,blurOnClose:truthProp,showDeleteKey:truthProp,randomKeyOrder:Boolean,closeButtonText:String,deleteButtonText:String,closeButtonLoading:Boolean,hideOnClickOutside:truthProp,safeAreaInsetBottom:truthProp,extraKey:{type:[String,Array],default:""}};function shuffle(e){for(let t=e.length-1;t>0;t--){const n=Math.floor(Math.random()*(t+1)),o=e[t];e[t]=e[n],e[n]=o}return e}var stdin_default$C=defineComponent({name:name$w,inheritAttrs:!1,props:numberKeyboardProps,emits:["show","hide","blur","input","close","delete","update:modelValue"],setup(e,{emit:t,slots:n,attrs:o}){const r=ref(),i=()=>{const t=Array(9).fill("").map(((e,t)=>({text:t+1})));return e.randomKeyOrder&&shuffle(t),t},a=computed((()=>"custom"===e.theme?(()=>{const t=i(),{extraKey:n}=e,o=Array.isArray(n)?n:[n];return 1===o.length?t.push({text:0,wider:!0},{text:o[0],type:"extra"}):2===o.length&&t.push({text:o[0],type:"extra"},{text:0},{text:o[1],type:"extra"}),t})():[...i(),{text:e.extraKey,type:"extra"},{text:0},{text:e.showDeleteKey?e.deleteButtonText:"",type:e.showDeleteKey?"delete":""}])),s=()=>{e.show&&t("blur")},l=()=>{t("close"),e.blurOnClose&&s()},c=()=>t(e.show?"show":"hide"),u=(n,o)=>{if(""===n)return void("extra"===o&&s());const r=e.modelValue;"delete"===o?(t("delete"),t("update:modelValue",r.slice(0,r.length-1))):"close"===o?l():r.length<+e.maxlength&&(t("input",n),t("update:modelValue",r+n))},d=()=>{if("custom"===e.theme)return createVNode("div",{class:bem$v("sidebar")},[e.showDeleteKey&&createVNode(stdin_default$D,{large:!0,text:e.deleteButtonText,type:"delete",onPress:u},{delete:n.delete}),createVNode(stdin_default$D,{large:!0,text:e.closeButtonText,type:"close",color:"blue",loading:e.closeButtonLoading,onPress:u},null)])};return watch((()=>e.show),(n=>{e.transition||t(n?"show":"hide")})),e.hideOnClickOutside&&useClickAway(r,s,{eventName:"touchstart"}),()=>{const t=(()=>{const{title:t,theme:o,closeButtonText:r}=e,i=n["title-left"],a=r&&"default"===o;if(t||a||i)return createVNode("div",{class:bem$v("header")},[i&&createVNode("span",{class:bem$v("title-left")},[i()]),t&&createVNode("h2",{class:bem$v("title")},[t]),a&&createVNode("button",{type:"button",class:[bem$v("close"),HAPTICS_FEEDBACK],onClick:l},[r])])})(),i=createVNode(Transition,{name:e.transition?"van-slide-up":""},{default:()=>[withDirectives(createVNode("div",mergeProps({ref:r,style:getZIndexStyle(e.zIndex),class:bem$v({unfit:!e.safeAreaInsetBottom,"with-title":!!t}),onAnimationend:c,onTouchstartPassive:stopPropagation},o),[t,createVNode("div",{class:bem$v("body")},[createVNode("div",{class:bem$v("keys")},[a.value.map((e=>{const t={};return"delete"===e.type&&(t.default=n.delete),"extra"===e.type&&(t.default=n["extra-key"]),createVNode(stdin_default$D,{key:e.text,text:e.text,type:e.type,wider:e.wider,color:e.color,onPress:u},t)}))]),d()])]),[[vShow,e.show]])]});return e.teleport?createVNode(Teleport,{to:e.teleport},{default:()=>[i]}):i}}});const NumberKeyboard=withInstall(stdin_default$C),[name$v,bem$u,t$6]=createNamespace("pagination"),makePage=(e,t,n)=>({number:e,text:t,active:n}),paginationProps={mode:makeStringProp("multi"),prevText:String,nextText:String,pageCount:makeNumericProp(0),modelValue:makeNumberProp(0),totalItems:makeNumericProp(0),showPageSize:makeNumericProp(5),itemsPerPage:makeNumericProp(10),forceEllipses:Boolean,showPrevButton:truthProp,showNextButton:truthProp};var stdin_default$B=defineComponent({name:name$v,props:paginationProps,emits:["change","update:modelValue"],setup(e,{emit:t,slots:n}){const o=computed((()=>{const{pageCount:t,totalItems:n,itemsPerPage:o}=e,r=+t||Math.ceil(+n/+o);return Math.max(1,r)})),r=computed((()=>{const t=[],n=o.value,r=+e.showPageSize,{modelValue:i,forceEllipses:a}=e;let s=1,l=n;const c=rn&&(l=n,s=l-r+1));for(let e=s;e<=l;e++){const n=makePage(e,e,e===i);t.push(n)}if(c&&r>0&&a){if(s>1){const e=makePage(s-1,"...");t.unshift(e)}if(l{n=clamp$1(n,1,o.value),e.modelValue!==n&&(t("update:modelValue",n),r&&t("change",n))};watchEffect((()=>i(e.modelValue)));const a=()=>{const{mode:t,modelValue:o,showPrevButton:r}=e;if(!r)return;const a=n["prev-text"],s=1===o;return createVNode("li",{class:[bem$u("item",{disabled:s,border:"simple"===t,prev:!0}),BORDER_SURROUND]},[createVNode("button",{type:"button",disabled:s,onClick:()=>i(o-1,!0)},[a?a():e.prevText||t$6("prev")])])},s=()=>{const{mode:t,modelValue:r,showNextButton:a}=e;if(!a)return;const s=n["next-text"],l=r===o.value;return createVNode("li",{class:[bem$u("item",{disabled:l,border:"simple"===t,next:!0}),BORDER_SURROUND]},[createVNode("button",{type:"button",disabled:l,onClick:()=>i(r+1,!0)},[s?s():e.nextText||t$6("next")])])};return()=>createVNode("nav",{role:"navigation",class:bem$u()},[createVNode("ul",{class:bem$u("items")},[a(),"simple"===e.mode?createVNode("li",{class:bem$u("page-desc")},[n.pageDesc?n.pageDesc():`${e.modelValue}/${o.value}`]):r.value.map((e=>createVNode("li",{class:[bem$u("item",{active:e.active,page:!0}),BORDER_SURROUND]},[createVNode("button",{type:"button","aria-current":e.active||void 0,onClick:()=>i(e.number,!0)},[n.page?n.page(e):e.text])]))),s()])])}});const Pagination=withInstall(stdin_default$B),[name$u,bem$t]=createNamespace("password-input"),passwordInputProps={info:String,mask:truthProp,value:makeStringProp(""),gutter:numericProp,length:makeNumericProp(6),focused:Boolean,errorInfo:String};var stdin_default$A=defineComponent({name:name$u,props:passwordInputProps,emits:["focus"],setup(e,{emit:t}){const n=e=>{e.stopPropagation(),t("focus",e)},o=()=>{const t=[],{mask:n,value:o,gutter:r,focused:i}=e,a=+e.length;for(let e=0;e{const t=e.errorInfo||e.info;return createVNode("div",{class:bem$t()},[createVNode("ul",{class:[bem$t("security"),{[BORDER_SURROUND]:!e.gutter}],onTouchstartPassive:n},[o()]),t&&createVNode("div",{class:bem$t(e.errorInfo?"error-info":"info")},[t])])}}});const PasswordInput=withInstall(stdin_default$A),PickerGroup=withInstall(stdin_default$1x);function getWindow(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function isElement(e){return e instanceof getWindow(e).Element||e instanceof Element}function isHTMLElement(e){return e instanceof getWindow(e).HTMLElement||e instanceof HTMLElement}function isShadowRoot(e){return"undefined"!=typeof ShadowRoot&&(e instanceof getWindow(e).ShadowRoot||e instanceof ShadowRoot)}var round$1=Math.round;function getUAString(){var e=navigator.userAgentData;return null!=e&&e.brands?e.brands.map((function(e){return e.brand+"/"+e.version})).join(" "):navigator.userAgent}function isLayoutViewport(){return!/^((?!chrome|android).)*safari/i.test(getUAString())}function getBoundingClientRect(e,t,n){void 0===t&&(t=!1),void 0===n&&(n=!1);var o=e.getBoundingClientRect(),r=1,i=1;t&&isHTMLElement(e)&&(r=e.offsetWidth>0&&round$1(o.width)/e.offsetWidth||1,i=e.offsetHeight>0&&round$1(o.height)/e.offsetHeight||1);var a=(isElement(e)?getWindow(e):window).visualViewport,s=!isLayoutViewport()&&n,l=(o.left+(s&&a?a.offsetLeft:0))/r,c=(o.top+(s&&a?a.offsetTop:0))/i,u=o.width/r,d=o.height/i;return{width:u,height:d,top:c,right:l+u,bottom:c+d,left:l,x:l,y:c}}function getWindowScroll(e){var t=getWindow(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function getHTMLElementScroll(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function getNodeScroll(e){return e!==getWindow(e)&&isHTMLElement(e)?getHTMLElementScroll(e):getWindowScroll(e)}function getNodeName(e){return e?(e.nodeName||"").toLowerCase():null}function getDocumentElement(e){return((isElement(e)?e.ownerDocument:e.document)||window.document).documentElement}function getWindowScrollBarX(e){return getBoundingClientRect(getDocumentElement(e)).left+getWindowScroll(e).scrollLeft}function getComputedStyle(e){return getWindow(e).getComputedStyle(e)}function isScrollParent(e){var t=getComputedStyle(e),n=t.overflow,o=t.overflowX,r=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+r+o)}function isElementScaled(e){var t=e.getBoundingClientRect(),n=round$1(t.width)/e.offsetWidth||1,o=round$1(t.height)/e.offsetHeight||1;return 1!==n||1!==o}function getCompositeRect(e,t,n){void 0===n&&(n=!1);var o=isHTMLElement(t),r=isHTMLElement(t)&&isElementScaled(t),i=getDocumentElement(t),a=getBoundingClientRect(e,r,n),s={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(o||!o&&!n)&&(("body"!==getNodeName(t)||isScrollParent(i))&&(s=getNodeScroll(t)),isHTMLElement(t)?((l=getBoundingClientRect(t,!0)).x+=t.clientLeft,l.y+=t.clientTop):i&&(l.x=getWindowScrollBarX(i))),{x:a.left+s.scrollLeft-l.x,y:a.top+s.scrollTop-l.y,width:a.width,height:a.height}}function getLayoutRect(e){var t=getBoundingClientRect(e),n=e.offsetWidth,o=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-o)<=1&&(o=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:o}}function getParentNode(e){return"html"===getNodeName(e)?e:e.assignedSlot||e.parentNode||(isShadowRoot(e)?e.host:null)||getDocumentElement(e)}function getScrollParent(e){return["html","body","#document"].indexOf(getNodeName(e))>=0?e.ownerDocument.body:isHTMLElement(e)&&isScrollParent(e)?e:getScrollParent(getParentNode(e))}function listScrollParents(e,t){var n;void 0===t&&(t=[]);var o=getScrollParent(e),r=o===(null==(n=e.ownerDocument)?void 0:n.body),i=getWindow(o),a=r?[i].concat(i.visualViewport||[],isScrollParent(o)?o:[]):o,s=t.concat(a);return r?s:s.concat(listScrollParents(getParentNode(a)))}function isTableElement(e){return["table","td","th"].indexOf(getNodeName(e))>=0}function getTrueOffsetParent(e){return isHTMLElement(e)&&"fixed"!==getComputedStyle(e).position?e.offsetParent:null}function getContainingBlock(e){var t=/firefox/i.test(getUAString());if(/Trident/i.test(getUAString())&&isHTMLElement(e)&&"fixed"===getComputedStyle(e).position)return null;var n=getParentNode(e);for(isShadowRoot(n)&&(n=n.host);isHTMLElement(n)&&["html","body"].indexOf(getNodeName(n))<0;){var o=getComputedStyle(n);if("none"!==o.transform||"none"!==o.perspective||"paint"===o.contain||-1!==["transform","perspective"].indexOf(o.willChange)||t&&"filter"===o.willChange||t&&o.filter&&"none"!==o.filter)return n;n=n.parentNode}return null}function getOffsetParent(e){for(var t=getWindow(e),n=getTrueOffsetParent(e);n&&isTableElement(n)&&"static"===getComputedStyle(n).position;)n=getTrueOffsetParent(n);return n&&("html"===getNodeName(n)||"body"===getNodeName(n)&&"static"===getComputedStyle(n).position)?t:n||getContainingBlock(e)||t}var top="top",bottom="bottom",right="right",left="left",auto="auto",basePlacements=[top,bottom,right,left],start="start",end="end",placements=[].concat(basePlacements,[auto]).reduce((function(e,t){return e.concat([t,t+"-"+start,t+"-"+end])}),[]),beforeRead="beforeRead",read="read",afterRead="afterRead",beforeMain="beforeMain",main="main",afterMain="afterMain",beforeWrite="beforeWrite",write="write",afterWrite="afterWrite",modifierPhases=[beforeRead,read,afterRead,beforeMain,main,afterMain,beforeWrite,write,afterWrite];function order(e){var t=new Map,n=new Set,o=[];function r(e){n.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach((function(e){if(!n.has(e)){var o=t.get(e);o&&r(o)}})),o.push(e)}return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){n.has(e.name)||r(e)})),o}function orderModifiers(e){var t=order(e);return modifierPhases.reduce((function(e,n){return e.concat(t.filter((function(e){return e.phase===n})))}),[])}function debounce(e){var t;return function(){return t||(t=new Promise((function(n){Promise.resolve().then((function(){t=void 0,n(e())}))}))),t}}function format(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o=0?"x":"y"}function computeOffsets(e){var t,n=e.reference,o=e.element,r=e.placement,i=r?getBasePlacement(r):null,a=r?getVariation(r):null,s=n.x+n.width/2-o.width/2,l=n.y+n.height/2-o.height/2;switch(i){case top:t={x:s,y:n.y-o.height};break;case bottom:t={x:s,y:n.y+n.height};break;case right:t={x:n.x+n.width,y:l};break;case left:t={x:n.x-o.width,y:l};break;default:t={x:n.x,y:n.y}}var c=i?getMainAxisFromPlacement(i):null;if(null!=c){var u="y"===c?"height":"width";switch(a){case start:t[c]=t[c]-(n[u]/2-o[u]/2);break;case end:t[c]=t[c]+(n[u]/2-o[u]/2)}}return t}var INVALID_ELEMENT_ERROR="Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.",INFINITE_LOOP_ERROR="Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.",DEFAULT_OPTIONS={placement:"bottom",modifiers:[],strategy:"absolute"};function areValidElements(){for(var e=arguments.length,t=new Array(e),n=0;n100);i++)if(!0!==r.reset){var a=r.orderedModifiers[i],c=a.fn,u=a.options,d=void 0===u?{}:u,p=a.name;"function"==typeof c&&(r=c({state:r,options:d,name:p,instance:l})||r)}else r.reset=!1,i=-1}}},update:debounce((function(){return new Promise((function(e){l.forceUpdate(),e(r)}))})),destroy:function(){c(),s=!0}};if(!areValidElements(e,t))return l;function c(){a.forEach((function(e){return e()})),a=[]}return l.setOptions(n).then((function(e){!s&&n.onFirstUpdate&&n.onFirstUpdate(e)})),l}}var passive={passive:!0};function effect(e){var t=e.state,n=e.instance,o=e.options,r=o.scroll,i=void 0===r||r,a=o.resize,s=void 0===a||a,l=getWindow(t.elements.popper),c=[].concat(t.scrollParents.reference,t.scrollParents.popper);return i&&c.forEach((function(e){e.addEventListener("scroll",n.update,passive)})),s&&l.addEventListener("resize",n.update,passive),function(){i&&c.forEach((function(e){e.removeEventListener("scroll",n.update,passive)})),s&&l.removeEventListener("resize",n.update,passive)}}var eventListeners_default={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:effect,data:{}};function popperOffsets(e){var t=e.state,n=e.name;t.modifiersData[n]=computeOffsets({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}var popperOffsets_default={name:"popperOffsets",enabled:!0,phase:"read",fn:popperOffsets,data:{}},unsetSides={top:"auto",right:"auto",bottom:"auto",left:"auto"};function roundOffsetsByDPR(e){var t=e.x,n=e.y,o=window.devicePixelRatio||1;return{x:round$1(t*o)/o||0,y:round$1(n*o)/o||0}}function mapToStyles(e){var t,n=e.popper,o=e.popperRect,r=e.placement,i=e.variation,a=e.offsets,s=e.position,l=e.gpuAcceleration,c=e.adaptive,u=e.roundOffsets,d=e.isFixed,p=a.x,A=void 0===p?0:p,f=a.y,m=void 0===f?0:f,h="function"==typeof u?u({x:A,y:m}):{x:A,y:m};A=h.x,m=h.y;var g=a.hasOwnProperty("x"),v=a.hasOwnProperty("y"),b=left,E=top,C=window;if(c){var y=getOffsetParent(n),w="clientHeight",I="clientWidth";if(y===getWindow(n)&&"static"!==getComputedStyle(y=getDocumentElement(n)).position&&"absolute"===s&&(w="scrollHeight",I="scrollWidth"),r===top||(r===left||r===right)&&i===end)E=bottom,m-=(d&&y===C&&C.visualViewport?C.visualViewport.height:y[w])-o.height,m*=l?1:-1;if(r===left||(r===top||r===bottom)&&i===end)b=right,A-=(d&&y===C&&C.visualViewport?C.visualViewport.width:y[I])-o.width,A*=l?1:-1}var S,R=Object.assign({position:s},c&&unsetSides),T=!0===u?roundOffsetsByDPR({x:A,y:m}):{x:A,y:m};return A=T.x,m=T.y,l?Object.assign({},R,((S={})[E]=v?"0":"",S[b]=g?"0":"",S.transform=(C.devicePixelRatio||1)<=1?"translate("+A+"px, "+m+"px)":"translate3d("+A+"px, "+m+"px, 0)",S)):Object.assign({},R,((t={})[E]=v?m+"px":"",t[b]=g?A+"px":"",t.transform="",t))}function computeStyles(e){var t=e.state,n=e.options,o=n.gpuAcceleration,r=void 0===o||o,i=n.adaptive,a=void 0===i||i,s=n.roundOffsets,l=void 0===s||s,c=getComputedStyle(t.elements.popper).transitionProperty||"";a&&["transform","top","right","bottom","left"].some((function(e){return c.indexOf(e)>=0}));var u={placement:getBasePlacement(t.placement),variation:getVariation(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:r,isFixed:"fixed"===t.options.strategy};null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign({},t.styles.popper,mapToStyles(Object.assign({},u,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:a,roundOffsets:l})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,mapToStyles(Object.assign({},u,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}var computeStyles_default={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:computeStyles,data:{}};function applyStyles(e){var t=e.state;Object.keys(t.elements).forEach((function(e){var n=t.styles[e]||{},o=t.attributes[e]||{},r=t.elements[e];isHTMLElement(r)&&getNodeName(r)&&(Object.assign(r.style,n),Object.keys(o).forEach((function(e){var t=o[e];!1===t?r.removeAttribute(e):r.setAttribute(e,!0===t?"":t)})))}))}function effect2(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach((function(e){var o=t.elements[e],r=t.attributes[e]||{},i=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:n[e]).reduce((function(e,t){return e[t]="",e}),{});isHTMLElement(o)&&getNodeName(o)&&(Object.assign(o.style,i),Object.keys(r).forEach((function(e){o.removeAttribute(e)})))}))}}var applyStyles_default={name:"applyStyles",enabled:!0,phase:"write",fn:applyStyles,effect:effect2,requires:["computeStyles"]},defaultModifiers=[eventListeners_default,popperOffsets_default,computeStyles_default,applyStyles_default],createPopper=popperGenerator({defaultModifiers:defaultModifiers});function distanceAndSkiddingToXY(e,t,n){var o=getBasePlacement(e),r=[left,top].indexOf(o)>=0?-1:1,i="function"==typeof n?n(Object.assign({},t,{placement:e})):n,a=i[0],s=i[1];return a=a||0,s=(s||0)*r,[left,right].indexOf(o)>=0?{x:s,y:a}:{x:a,y:s}}function offset(e){var t=e.state,n=e.options,o=e.name,r=n.offset,i=void 0===r?[0,0]:r,a=placements.reduce((function(e,n){return e[n]=distanceAndSkiddingToXY(n,t.rects,i),e}),{}),s=a[t.placement],l=s.x,c=s.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=c),t.modifiersData[o]=a}var offset_default={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:offset};const[name$t,bem$s]=createNamespace("popover"),popupProps=["overlay","duration","teleport","overlayStyle","overlayClass","closeOnClickOverlay"],popoverProps={show:Boolean,theme:makeStringProp("light"),overlay:Boolean,actions:makeArrayProp(),actionsDirection:makeStringProp("vertical"),trigger:makeStringProp("click"),duration:numericProp,showArrow:truthProp,placement:makeStringProp("bottom"),iconPrefix:String,overlayClass:unknownProp,overlayStyle:Object,closeOnClickAction:truthProp,closeOnClickOverlay:truthProp,closeOnClickOutside:truthProp,offset:{type:Array,default:()=>[0,8]},teleport:{type:[String,Object],default:"body"}};var stdin_default$z=defineComponent({name:name$t,props:popoverProps,emits:["select","touchstart","update:show"],setup(e,{emit:t,slots:n,attrs:o}){let r;const i=ref(),a=ref(),s=ref(),l=useSyncPropRef((()=>e.show),(e=>t("update:show",e))),c=()=>({placement:e.placement,modifiers:[{name:"computeStyles",options:{adaptive:!1,gpuAcceleration:!1}},extend$1({},offset_default,{options:{offset:e.offset}})]}),u=()=>{nextTick((()=>{l.value&&(r?r.setOptions(c()):(r=a.value&&s.value?createPopper(a.value,s.value.popupRef.value,c()):null,inBrowser$1&&(window.addEventListener("animationend",u),window.addEventListener("transitionend",u))))}))},d=e=>{l.value=e},p=()=>{"click"===e.trigger&&(l.value=!l.value)},A=(t,o)=>n.action?n.action({action:t,index:o}):[t.icon&&createVNode(Icon,{name:t.icon,classPrefix:e.iconPrefix,class:bem$s("action-icon")},null),createVNode("div",{class:[bem$s("action-text"),{[BORDER_BOTTOM]:"vertical"===e.actionsDirection}]},[t.text])],f=(n,o)=>{const{icon:r,color:i,disabled:a,className:s}=n;return createVNode("div",{role:"menuitem",class:[bem$s("action",{disabled:a,"with-icon":r}),{[BORDER_RIGHT]:"horizontal"===e.actionsDirection},s],style:{color:i},tabindex:a?void 0:0,"aria-disabled":a||void 0,onClick:()=>((n,o)=>{n.disabled||(t("select",n,o),e.closeOnClickAction&&(l.value=!1))})(n,o)},[A(n,o)])};return onMounted((()=>{u(),watchEffect((()=>{var e;i.value=null==(e=s.value)?void 0:e.popupRef.value}))})),onBeforeUnmount((()=>{r&&(inBrowser$1&&(window.removeEventListener("animationend",u),window.removeEventListener("transitionend",u)),r.destroy(),r=null)})),watch((()=>[l.value,e.offset,e.placement]),u),useClickAway([a,i],(()=>{l.value&&e.closeOnClickOutside&&(!e.overlay||e.closeOnClickOverlay)&&(l.value=!1)}),{eventName:"touchstart"}),()=>{var t;return createVNode(Fragment,null,[createVNode("span",{ref:a,class:bem$s("wrapper"),onClick:p},[null==(t=n.reference)?void 0:t.call(n)]),createVNode(Popup,mergeProps({ref:s,show:l.value,class:bem$s([e.theme]),position:"",transition:"van-popover-zoom",lockScroll:!1,"onUpdate:show":d},o,useScopeId(),pick$1(e,popupProps)),{default:()=>[e.showArrow&&createVNode("div",{class:bem$s("arrow")},null),createVNode("div",{role:"menu",class:bem$s("content",e.actionsDirection)},[n.default?n.default():e.actions.map(f)])]})])}}});const Popover=withInstall(stdin_default$z),[name$s,bem$r]=createNamespace("progress"),progressProps={color:String,inactive:Boolean,pivotText:String,textColor:String,showPivot:truthProp,pivotColor:String,trackColor:String,strokeWidth:numericProp,percentage:{type:numericProp,default:0,validator:e=>+e>=0&&+e<=100}};var stdin_default$y=defineComponent({name:name$s,props:progressProps,setup(e){const t=computed((()=>e.inactive?void 0:e.color)),n=()=>{const{textColor:n,pivotText:o,pivotColor:r,percentage:i}=e,a=null!=o?o:`${i}%`;if(e.showPivot&&a){const o={color:n,left:+i+"%",transform:`translate(-${+i}%,-50%)`,background:r||t.value};return createVNode("span",{style:o,class:bem$r("pivot",{inactive:e.inactive})},[a])}};return()=>{const{trackColor:o,percentage:r,strokeWidth:i}=e,a={background:o,height:addUnit(i)},s={width:`${r}%`,background:t.value};return createVNode("div",{class:bem$r(),style:a},[createVNode("span",{class:bem$r("portion",{inactive:e.inactive}),style:s},null),n()])}}});const Progress=withInstall(stdin_default$y),[name$r,bem$q,t$5]=createNamespace("pull-refresh"),DEFAULT_HEAD_HEIGHT=50,TEXT_STATUS=["pulling","loosing","success"],pullRefreshProps={disabled:Boolean,modelValue:Boolean,headHeight:makeNumericProp(DEFAULT_HEAD_HEIGHT),successText:String,pullingText:String,loosingText:String,loadingText:String,pullDistance:numericProp,successDuration:makeNumericProp(500),animationDuration:makeNumericProp(300)};var stdin_default$x=defineComponent({name:name$r,props:pullRefreshProps,emits:["change","refresh","update:modelValue"],setup(e,{emit:t,slots:n}){let o;const r=ref(),i=ref(),a=useScrollParent(r),s=reactive({status:"normal",distance:0,duration:0}),l=useTouch(),c=()=>{if(e.headHeight!==DEFAULT_HEAD_HEIGHT)return{height:`${e.headHeight}px`}},u=()=>"loading"!==s.status&&"success"!==s.status&&!e.disabled,d=(n,o)=>{const r=+(e.pullDistance||e.headHeight);s.distance=n,s.status=o?"loading":0===n?"normal":n{const{status:t}=s;return"normal"===t?"":e[`${t}Text`]||t$5(t)},A=()=>{const{status:e,distance:t}=s;if(n[e])return n[e]({distance:t});const o=[];return TEXT_STATUS.includes(e)&&o.push(createVNode("div",{class:bem$q("text")},[p()])),"loading"===e&&o.push(createVNode(Loading$1,{class:bem$q("loading")},{default:p})),o},f=e=>{o=0===getScrollTop(a.value),o&&(s.duration=0,l.start(e))},m=e=>{u()&&f(e)},h=()=>{o&&l.deltaY.value&&u()&&(s.duration=+e.animationDuration,"loosing"===s.status?(d(+e.headHeight,!0),t("update:modelValue",!0),nextTick((()=>t("refresh")))):d(0))};return watch((()=>e.modelValue),(t=>{s.duration=+e.animationDuration,t?d(+e.headHeight,!0):n.success||e.successText?(s.status="success",setTimeout((()=>{d(0)}),+e.successDuration)):d(0,!1)})),useEventListener("touchmove",(t=>{if(u()){o||f(t);const{deltaY:n}=l;l.move(t),o&&n.value>=0&&l.isVertical()&&(preventDefault(t),d((t=>{const n=+(e.pullDistance||e.headHeight);return t>n&&(t=t<2*n?n+(t-n)/2:1.5*n+(t-2*n)/4),Math.round(t)})(n.value)))}}),{target:i}),()=>{var e;const t={transitionDuration:`${s.duration}ms`,transform:s.distance?`translate3d(0,${s.distance}px, 0)`:""};return createVNode("div",{ref:r,class:bem$q()},[createVNode("div",{ref:i,class:bem$q("track"),style:t,onTouchstartPassive:m,onTouchend:h,onTouchcancel:h},[createVNode("div",{class:bem$q("head"),style:c()},[A()]),null==(e=n.default)?void 0:e.call(n)])])}}});const PullRefresh=withInstall(stdin_default$x),[name$q,bem$p]=createNamespace("rate");function getRateStatus(e,t,n,o){if(e>=t)return{status:"full",value:1};if(e+.5>=t&&n&&!o)return{status:"half",value:.5};if(e+1>=t&&n&&o){const n=10**10;return{status:"half",value:Math.round((e-t+1)*n)/n}}return{status:"void",value:0}}const rateProps={size:numericProp,icon:makeStringProp("star"),color:String,count:makeNumericProp(5),gutter:numericProp,clearable:Boolean,readonly:Boolean,disabled:Boolean,voidIcon:makeStringProp("star-o"),allowHalf:Boolean,voidColor:String,touchable:truthProp,iconPrefix:String,modelValue:makeNumberProp(0),disabledColor:String};var stdin_default$w=defineComponent({name:name$q,props:rateProps,emits:["change","update:modelValue"],setup(e,{emit:t}){const n=useTouch(),[o,r]=useRefs(),i=ref(),a=computed((()=>e.readonly||e.disabled)),s=computed((()=>a.value||!e.touchable)),l=computed((()=>Array(+e.count).fill("").map(((t,n)=>getRateStatus(e.modelValue,n+1,e.allowHalf,e.readonly)))));let c,u,d=Number.MAX_SAFE_INTEGER,p=Number.MIN_SAFE_INTEGER;const A=()=>{u=useRect(i);const t=o.value.map(useRect);c=[],t.forEach(((t,n)=>{d=Math.min(t.top,d),p=Math.max(t.top,p),e.allowHalf?c.push({score:n+.5,left:t.left,top:t.top,height:t.height},{score:n+1,left:t.left+t.width/2,top:t.top,height:t.height}):c.push({score:n+1,left:t.left,top:t.top,height:t.height})}))},f=(t,n)=>{for(let e=c.length-1;e>0;e--)if(n>=u.top&&n<=u.bottom){if(t>c[e].left&&n>=c[e].top&&n<=c[e].top+c[e].height)return c[e].score}else{const o=nc[e].left&&c[e].top===o)return c[e].score}return e.allowHalf?.5:1},m=n=>{a.value||n===e.modelValue||(t("update:modelValue",n),t("change",n))},h=e=>{s.value||(n.start(e),A())},g=(t,o)=>{const{icon:i,size:a,color:s,count:l,gutter:c,voidIcon:u,disabled:d,voidColor:p,allowHalf:h,iconPrefix:g,disabledColor:v}=e,b=o+1,E="full"===t.status,C="void"===t.status,y=h&&t.value>0&&t.value<1;let w;c&&b!==+l&&(w={paddingRight:addUnit(c)});return createVNode("div",{key:o,ref:r(o),role:"radio",style:w,class:bem$p("item"),tabindex:d?void 0:0,"aria-setsize":l,"aria-posinset":b,"aria-checked":!C,onClick:t=>{A();let o=h?f(t.clientX,t.clientY):b;e.clearable&&n.isTap.value&&o===e.modelValue&&(o=0),m(o)}},[createVNode(Icon,{size:a,name:E?i:u,class:bem$p("icon",{disabled:d,full:E}),color:d?v:E?s:p,classPrefix:g},null),y&&createVNode(Icon,{size:a,style:{width:t.value+"em"},name:C?u:i,class:bem$p("icon",["half",{disabled:d,full:!C}]),color:d?v:C?p:s,classPrefix:g},null)])};return useCustomFieldValue((()=>e.modelValue)),useEventListener("touchmove",(e=>{if(!s.value&&(n.move(e),n.isHorizontal()&&!n.isTap.value)){const{clientX:t,clientY:n}=e.touches[0];preventDefault(e),m(f(t,n))}}),{target:i}),()=>createVNode("div",{ref:i,role:"radiogroup",class:bem$p({readonly:e.readonly,disabled:e.disabled}),tabindex:e.disabled?void 0:0,"aria-disabled":e.disabled,"aria-readonly":e.readonly,onTouchstartPassive:h},[l.value.map(g)])}});const Rate=withInstall(stdin_default$w),props={figureArr:makeArrayProp(),delay:Number,duration:makeNumberProp(2),isStart:Boolean,direction:makeStringProp("down"),height:makeNumberProp(40)},[name$p,bem$o]=createNamespace("rolling-text-item");var stdin_default$v=defineComponent({name:name$p,props:props,setup(e){const t=computed((()=>"down"===e.direction?e.figureArr.slice().reverse():e.figureArr)),n=computed((()=>`-${e.height*(e.figureArr.length-1)}px`)),o=computed((()=>({lineHeight:addUnit(e.height)}))),r=computed((()=>({height:addUnit(e.height),"--van-translate":n.value,"--van-duration":e.duration+"s","--van-delay":e.delay+"s"})));return()=>createVNode("div",{class:bem$o([e.direction]),style:r.value},[createVNode("div",{class:bem$o("box",{animate:e.isStart})},[Array.isArray(t.value)&&t.value.map((e=>createVNode("div",{class:bem$o("item"),style:o.value},[e])))])])}});const[name$o,bem$n]=createNamespace("rolling-text"),rollingTextProps={startNum:makeNumberProp(0),targetNum:Number,textList:makeArrayProp(),duration:makeNumberProp(2),autoStart:truthProp,direction:makeStringProp("down"),stopOrder:makeStringProp("ltr"),height:makeNumberProp(40)},CIRCLE_NUM=2;var stdin_default$u=defineComponent({name:name$o,props:rollingTextProps,setup(e){const t=computed((()=>Array.isArray(e.textList)&&e.textList.length)),n=computed((()=>t.value?e.textList[0].length:`${Math.max(e.startNum,e.targetNum)}`.length)),o=t=>{const n=[];for(let o=0;ot.value?new Array(n.value).fill(""):padZero(e.targetNum,n.value).split(""))),i=computed((()=>padZero(e.startNum,n.value).split(""))),a=e=>{const t=+i.value[e],n=+r.value[e],o=[];for(let r=t;r<=9;r++)o.push(r);for(let r=0;r<=CIRCLE_NUM;r++)for(let e=0;e<=9;e++)o.push(e);for(let r=0;r<=n;r++)o.push(r);return o},s=(t,n)=>"ltr"===e.stopOrder?.2*t:.2*(n-1-t),l=ref(e.autoStart),c=()=>{l.value=!0};return watch((()=>e.autoStart),(e=>{e&&c()})),useExpose({start:c,reset:()=>{l.value=!1,e.autoStart&&raf((()=>c()))}}),()=>createVNode("div",{class:bem$n()},[r.value.map(((r,i)=>createVNode(stdin_default$v,{figureArr:t.value?o(i):a(i),duration:e.duration,direction:e.direction,isStart:l.value,height:e.height,delay:s(i,n.value)},null)))])}});const RollingText=withInstall(stdin_default$u),Row=withInstall(stdin_default$14),[name$n,bem$m,t$4]=createNamespace("search"),searchProps=extend$1({},fieldSharedProps,{label:String,shape:makeStringProp("square"),leftIcon:makeStringProp("search"),clearable:truthProp,actionText:String,background:String,showAction:Boolean});var stdin_default$t=defineComponent({name:name$n,props:searchProps,emits:["blur","focus","clear","search","cancel","clickInput","clickLeftIcon","clickRightIcon","update:modelValue"],setup(e,{emit:t,slots:n,attrs:o}){const r=useId(),i=ref(),a=()=>{n.action||(t("update:modelValue",""),t("cancel"))},s=n=>{13===n.keyCode&&(preventDefault(n),t("search",e.modelValue))},l=()=>e.id||`${r}-input`,c=()=>{if(n.label||e.label)return createVNode("label",{class:bem$m("label"),for:l()},[n.label?n.label():e.label])},u=()=>{if(e.showAction){const t=e.actionText||t$4("cancel");return createVNode("div",{class:bem$m("action"),role:"button",tabindex:0,onClick:a},[n.action?n.action():t])}},d=e=>t("blur",e),p=e=>t("focus",e),A=e=>t("clear",e),f=e=>t("clickInput",e),m=e=>t("clickLeftIcon",e),h=e=>t("clickRightIcon",e),g=Object.keys(fieldSharedProps),v=()=>{const r=extend$1({},o,pick$1(e,g),{id:l()});return createVNode(Field,mergeProps({ref:i,type:"search",class:bem$m("field"),border:!1,onBlur:d,onFocus:p,onClear:A,onKeypress:s,onClickInput:f,onClickLeftIcon:m,onClickRightIcon:h,"onUpdate:modelValue":e=>t("update:modelValue",e)},r),pick$1(n,["left-icon","right-icon"]))};return useExpose({focus:()=>{var e;return null==(e=i.value)?void 0:e.focus()},blur:()=>{var e;return null==(e=i.value)?void 0:e.blur()}}),()=>{var t;return createVNode("div",{class:bem$m({"show-action":e.showAction}),style:{background:e.background}},[null==(t=n.left)?void 0:t.call(n),createVNode("div",{class:bem$m("content",e.shape)},[c(),v()]),u()])}}});const Search=withInstall(stdin_default$t),isImage=e=>null==e?void 0:e.includes("/"),popupInheritKeys=[...popupSharedPropKeys,"round","closeOnPopstate","safeAreaInsetBottom"],iconMap={qq:"qq",link:"link-o",weibo:"weibo",qrcode:"qr",poster:"photo-o",wechat:"wechat","weapp-qrcode":"miniprogram-o","wechat-moments":"wechat-moments"},[name$m,bem$l,t$3]=createNamespace("share-sheet"),shareSheetProps=extend$1({},popupSharedProps,{title:String,round:truthProp,options:makeArrayProp(),cancelText:String,description:String,closeOnPopstate:truthProp,safeAreaInsetBottom:truthProp});var stdin_default$s=defineComponent({name:name$m,props:shareSheetProps,emits:["cancel","select","update:show"],setup(e,{emit:t,slots:n}){const o=e=>t("update:show",e),r=()=>{o(!1),t("cancel")},i=()=>{const t=n.title?n.title():e.title,o=n.description?n.description():e.description;if(t||o)return createVNode("div",{class:bem$l("header")},[t&&createVNode("h2",{class:bem$l("title")},[t]),o&&createVNode("span",{class:bem$l("description")},[o])])},a=e=>isImage(e)?createVNode("img",{src:e,class:bem$l("image-icon")},null):createVNode("div",{class:bem$l("icon",[e])},[createVNode(Icon,{name:iconMap[e]||e},null)]),s=(e,n)=>{const{name:o,icon:r,className:i,description:s}=e;return createVNode("div",{role:"button",tabindex:0,class:[bem$l("option"),i,HAPTICS_FEEDBACK],onClick:()=>((e,n)=>t("select",e,n))(e,n)},[a(r),o&&createVNode("span",{class:bem$l("name")},[o]),s&&createVNode("span",{class:bem$l("option-description")},[s])])},l=(e,t)=>createVNode("div",{class:bem$l("options",{border:t})},[e.map(s)]),c=()=>{const{options:t}=e;return Array.isArray(t[0])?t.map(((e,t)=>l(e,0!==t))):l(t)},u=()=>{var t;const o=null!=(t=e.cancelText)?t:t$3("cancel");if(n.cancel||o)return createVNode("button",{type:"button",class:bem$l("cancel"),onClick:r},[n.cancel?n.cancel():o])};return()=>createVNode(Popup,mergeProps({class:bem$l(),position:"bottom","onUpdate:show":o},pick$1(e,popupInheritKeys)),{default:()=>[i(),c(),u()]})}});const ShareSheet=withInstall(stdin_default$s),[name$l,bem$k]=createNamespace("sidebar"),SIDEBAR_KEY=Symbol(name$l),sidebarProps={modelValue:makeNumericProp(0)};var stdin_default$r=defineComponent({name:name$l,props:sidebarProps,emits:["change","update:modelValue"],setup(e,{emit:t,slots:n}){const{linkChildren:o}=useChildren(SIDEBAR_KEY),r=()=>+e.modelValue;return o({getActive:r,setActive:e=>{e!==r()&&(t("update:modelValue",e),t("change",e))}}),()=>{var e;return createVNode("div",{role:"tablist",class:bem$k()},[null==(e=n.default)?void 0:e.call(n)])}}});const Sidebar=withInstall(stdin_default$r),[name$k,bem$j]=createNamespace("sidebar-item"),sidebarItemProps=extend$1({},routeProps,{dot:Boolean,title:String,badge:numericProp,disabled:Boolean,badgeProps:Object});var stdin_default$q=defineComponent({name:name$k,props:sidebarItemProps,emits:["click"],setup(e,{emit:t,slots:n}){const o=useRoute(),{parent:r,index:i}=useParent(SIDEBAR_KEY);if(!r)return;const a=()=>{e.disabled||(t("click",i.value),r.setActive(i.value),o())};return()=>{const{dot:t,badge:o,title:s,disabled:l}=e,c=i.value===r.getActive();return createVNode("div",{role:"tab",class:bem$j({select:c,disabled:l}),tabindex:l?void 0:0,"aria-selected":c,onClick:a},[createVNode(Badge,mergeProps({dot:t,class:bem$j("text"),content:o},e.badgeProps),{default:()=>[n.title?n.title():s]})])}}});const SidebarItem=withInstall(stdin_default$q),[name$j,bem$i,t$2]=createNamespace("signature"),signatureProps={tips:String,type:makeStringProp("png"),penColor:makeStringProp("#000"),lineWidth:makeNumberProp(3),clearButtonText:String,backgroundColor:makeStringProp(""),confirmButtonText:String},hasCanvasSupport=()=>{var e;const t=document.createElement("canvas");return!!(null==(e=t.getContext)?void 0:e.call(t,"2d"))};var stdin_default$p=defineComponent({name:name$j,props:signatureProps,emits:["submit","clear","start","end","signing"],setup(e,{emit:t}){const n=ref(),o=ref(),r=reactive({width:0,height:0,ctx:null,ratio:inBrowser$1?window.devicePixelRatio:1});let i;const a=!inBrowser$1||hasCanvasSupport(),s=()=>{if(!r.ctx)return!1;r.ctx.beginPath(),r.ctx.lineWidth=e.lineWidth*r.ratio,r.ctx.strokeStyle=e.penColor,i=useRect(n),t("start")},l=e=>{var n,o;if(!r.ctx)return!1;preventDefault(e);const a=e.touches[0],s=(a.clientX-((null==i?void 0:i.left)||0))*r.ratio,l=(a.clientY-((null==i?void 0:i.top)||0))*r.ratio;r.ctx.lineCap="round",r.ctx.lineJoin="round",null==(n=r.ctx)||n.lineTo(s,l),null==(o=r.ctx)||o.stroke(),t("signing",e)},c=e=>{preventDefault(e),t("end")},u=t=>{t&&e.backgroundColor&&(t.fillStyle=e.backgroundColor,t.fillRect(0,0,r.width,r.height))},d=()=>{var o,r;const i=n.value;if(!i)return;const a=(t=>{const n=document.createElement("canvas");if(n.width=t.width,n.height=t.height,e.backgroundColor){const e=n.getContext("2d");u(e)}return t.toDataURL()===n.toDataURL()})(i),s=a?"":(null==(r=(o={jpg:()=>i.toDataURL("image/jpeg",.8),jpeg:()=>i.toDataURL("image/jpeg",.8)})[e.type])?void 0:r.call(o))||i.toDataURL(`image/${e.type}`);t("submit",{image:s,canvas:i})},p=()=>{r.ctx&&(r.ctx.clearRect(0,0,r.width,r.height),r.ctx.closePath(),u(r.ctx)),t("clear")};return onMounted((()=>{var e,t,i;a&&(r.ctx=null==(e=n.value)?void 0:e.getContext("2d"),r.width=((null==(t=o.value)?void 0:t.offsetWidth)||0)*r.ratio,r.height=((null==(i=o.value)?void 0:i.offsetHeight)||0)*r.ratio,nextTick((()=>{u(r.ctx)})))})),()=>createVNode("div",{class:bem$i()},[createVNode("div",{class:bem$i("content"),ref:o},[a?createVNode("canvas",{ref:n,width:r.width,height:r.height,onTouchstartPassive:s,onTouchmove:l,onTouchend:c},null):createVNode("p",null,[e.tips])]),createVNode("div",{class:bem$i("footer")},[createVNode(Button,{size:"small",onClick:p},{default:()=>[e.clearButtonText||t$2("clear")]}),createVNode(Button,{type:"primary",size:"small",onClick:d},{default:()=>[e.confirmButtonText||t$2("confirm")]})])])}});const Signature=withInstall(stdin_default$p),[name$i,bem$h]=createNamespace("skeleton-title"),skeletonTitleProps={round:Boolean,titleWidth:numericProp};var stdin_default$o=defineComponent({name:name$i,props:skeletonTitleProps,setup:e=>()=>createVNode("h3",{class:bem$h([{round:e.round}]),style:{width:addUnit(e.titleWidth)}},null)});const SkeletonTitle=withInstall(stdin_default$o);var stdin_default$n=SkeletonTitle;const[name$h,bem$g]=createNamespace("skeleton-avatar"),skeletonAvatarProps={avatarSize:numericProp,avatarShape:makeStringProp("round")};var stdin_default$m=defineComponent({name:name$h,props:skeletonAvatarProps,setup:e=>()=>createVNode("div",{class:bem$g([e.avatarShape]),style:getSizeStyle(e.avatarSize)},null)});const SkeletonAvatar=withInstall(stdin_default$m);var stdin_default$l=SkeletonAvatar;const DEFAULT_ROW_WIDTH="100%",skeletonParagraphProps={round:Boolean,rowWidth:{type:numericProp,default:DEFAULT_ROW_WIDTH}},[name$g,bem$f]=createNamespace("skeleton-paragraph");var stdin_default$k=defineComponent({name:name$g,props:skeletonParagraphProps,setup:e=>()=>createVNode("div",{class:bem$f([{round:e.round}]),style:{width:e.rowWidth}},null)});const SkeletonParagraph=withInstall(stdin_default$k);var stdin_default$j=SkeletonParagraph;const[name$f,bem$e]=createNamespace("skeleton"),DEFAULT_LAST_ROW_WIDTH="60%",skeletonProps={row:makeNumericProp(0),round:Boolean,title:Boolean,titleWidth:numericProp,avatar:Boolean,avatarSize:numericProp,avatarShape:makeStringProp("round"),loading:truthProp,animate:truthProp,rowWidth:{type:[Number,String,Array],default:DEFAULT_ROW_WIDTH}};var stdin_default$i=defineComponent({name:name$f,inheritAttrs:!1,props:skeletonProps,setup(e,{slots:t,attrs:n}){const o=()=>{if(e.avatar)return createVNode(stdin_default$l,{avatarShape:e.avatarShape,avatarSize:e.avatarSize},null)},r=()=>{if(e.title)return createVNode(stdin_default$n,{round:e.round,titleWidth:e.titleWidth},null)},i=t=>{const{rowWidth:n}=e;return n===DEFAULT_ROW_WIDTH&&t===+e.row-1?DEFAULT_LAST_ROW_WIDTH:Array.isArray(n)?n[t]:n};return()=>{var a;return e.loading?createVNode("div",mergeProps({class:bem$e({animate:e.animate,round:e.round})},n),[t.template?t.template():createVNode(Fragment,null,[o(),createVNode("div",{class:bem$e("content")},[r(),Array(+e.row).fill("").map(((t,n)=>createVNode(stdin_default$j,{key:n,round:e.round,rowWidth:addUnit(i(n))},null)))])])]):null==(a=t.default)?void 0:a.call(t)}}});const Skeleton=withInstall(stdin_default$i),[name$e,bem$d]=createNamespace("skeleton-image"),skeletonImageProps={imageSize:numericProp,imageShape:makeStringProp("square")};var stdin_default$h=defineComponent({name:name$e,props:skeletonImageProps,setup:e=>()=>createVNode("div",{class:bem$d([e.imageShape]),style:getSizeStyle(e.imageSize)},[createVNode(Icon,{name:"photo",class:bem$d("icon")},null)])});const SkeletonImage=withInstall(stdin_default$h),[name$d,bem$c]=createNamespace("slider"),sliderProps={min:makeNumericProp(0),max:makeNumericProp(100),step:makeNumericProp(1),range:Boolean,reverse:Boolean,disabled:Boolean,readonly:Boolean,vertical:Boolean,barHeight:numericProp,buttonSize:numericProp,activeColor:String,inactiveColor:String,modelValue:{type:[Number,Array],default:0}};var stdin_default$g=defineComponent({name:name$d,props:sliderProps,emits:["change","dragEnd","dragStart","update:modelValue"],setup(e,{emit:t,slots:n}){let o,r,i;const a=ref(),s=[ref(),ref()],l=ref(),c=useTouch(),u=computed((()=>Number(e.max)-Number(e.min))),d=computed((()=>{const t=e.vertical?"width":"height";return{background:e.inactiveColor,[t]:addUnit(e.barHeight)}})),p=t=>e.range&&Array.isArray(t),A=()=>{const{modelValue:t,min:n}=e;return p(t)?100*(t[1]-t[0])/u.value+"%":100*(t-Number(n))/u.value+"%"},f=computed((()=>{const t=e.vertical?"height":"width",n={[t]:A(),background:e.activeColor};l.value&&(n.transition="none");return n[e.vertical?e.reverse?"bottom":"top":e.reverse?"right":"left"]=(()=>{const{modelValue:t,min:n}=e;return p(t)?100*(t[0]-Number(n))/u.value+"%":"0%"})(),n})),m=t=>{const n=+e.min,o=+e.max,r=+e.step;t=clamp$1(t,n,o);return addNumber(n,Math.round((t-n)/r)*r)},h=()=>{const t=e.modelValue;i=p(t)?t.map(m):m(t)},g=(n,o)=>{n=p(n)?(t=>{var n,o;const r=null!=(n=t[0])?n:Number(e.min),i=null!=(o=t[1])?o:Number(e.max);return r>i?[i,r]:[r,i]})(n).map(m):m(n),isSameValue(n,e.modelValue)||t("update:modelValue",n),o&&!isSameValue(n,i)&&t("change",n)},v=t=>{if(t.stopPropagation(),e.disabled||e.readonly)return;h();const{min:n,reverse:o,vertical:r,modelValue:i}=e,s=useRect(a),l=r?s.height:s.width,c=Number(n)+(r?o?s.bottom-t.clientY:t.clientY-s.top:o?s.right-t.clientX:t.clientX-s.left)/l*u.value;if(p(i)){const[e,t]=i;g(c<=(e+t)/2?[c,t]:[e,c],!0)}else g(c,!0)},b=n=>{if(e.disabled||e.readonly)return;"start"===l.value&&t("dragStart",n),preventDefault(n,!0),c.move(n),l.value="dragging";const s=useRect(a);let d=(e.vertical?c.deltaY.value:c.deltaX.value)/(e.vertical?s.height:s.width)*u.value;if(e.reverse&&(d=-d),p(i)){const t=e.reverse?1-o:o;r[t]=i[t]+d}else r=i+d;g(r)},E=n=>{e.disabled||e.readonly||("dragging"===l.value&&(g(r,!0),t("dragEnd",n)),l.value="")},C=t=>{if("number"==typeof t){return bem$c("button-wrapper",["left","right"][t])}return bem$c("button-wrapper",e.reverse?"left":"right")},y=(t,i)=>{const a="dragging"===l.value;if("number"==typeof i){const e=n[0===i?"left-button":"right-button"];let s;if(a&&Array.isArray(r)&&(s=r[0]>r[1]?1^o:o),e)return e({value:t,dragging:a,dragIndex:s})}return n.button?n.button({value:t,dragging:a}):createVNode("div",{class:bem$c("button"),style:getSizeStyle(e.buttonSize)},null)},w=t=>{const n="number"==typeof t?e.modelValue[t]:e.modelValue;return createVNode("div",{ref:s[null!=t?t:0],role:"slider",class:C(t),tabindex:e.disabled?void 0:0,"aria-valuemin":e.min,"aria-valuenow":n,"aria-valuemax":e.max,"aria-disabled":e.disabled||void 0,"aria-readonly":e.readonly||void 0,"aria-orientation":e.vertical?"vertical":"horizontal",onTouchstartPassive:n=>{"number"==typeof t&&(o=t),(t=>{e.disabled||e.readonly||(c.start(t),r=e.modelValue,h(),l.value="start")})(n)},onTouchend:E,onTouchcancel:E,onClick:stopPropagation},[y(n,t)])};return g(e.modelValue),useCustomFieldValue((()=>e.modelValue)),s.forEach((e=>{useEventListener("touchmove",b,{target:e})})),()=>createVNode("div",{ref:a,style:d.value,class:bem$c({vertical:e.vertical,disabled:e.disabled}),onClick:v},[createVNode("div",{class:bem$c("bar"),style:f.value},[e.range?[w(0),w(1)]:w()])])}});const Slider=withInstall(stdin_default$g),[name$c,bem$b]=createNamespace("space"),spaceProps={align:String,direction:{type:String,default:"horizontal"},size:{type:[Number,String,Array],default:8},wrap:Boolean,fill:Boolean};function filterEmpty(e=[]){const t=[];return e.forEach((e=>{Array.isArray(e)?t.push(...e):e.type===Fragment?t.push(...filterEmpty(e.children)):t.push(e)})),t.filter((e=>{var t;return!(e&&(e.type===Comment||e.type===Fragment&&0===(null==(t=e.children)?void 0:t.length)||e.type===Text&&""===e.children.trim()))}))}var stdin_default$f=defineComponent({name:name$c,props:spaceProps,setup(e,{slots:t}){const n=computed((()=>{var t;return null!=(t=e.align)?t:"horizontal"===e.direction?"center":""})),o=e=>"number"==typeof e?e+"px":e,r=t=>{const n={},r=`${o(Array.isArray(e.size)?e.size[0]:e.size)}`,i=`${o(Array.isArray(e.size)?e.size[1]:e.size)}`;return t?e.wrap?{marginBottom:i}:{}:("horizontal"===e.direction&&(n.marginRight=r),("vertical"===e.direction||e.wrap)&&(n.marginBottom=i),n)};return()=>{var o;const i=filterEmpty(null==(o=t.default)?void 0:o.call(t));return createVNode("div",{class:[bem$b({[e.direction]:e.direction,[`align-${n.value}`]:n.value,wrap:e.wrap,fill:e.fill})]},[i.map(((e,t)=>createVNode("div",{key:`item-${t}`,class:`${name$c}-item`,style:r(t===i.length-1)},[e])))])}}});const Space=withInstall(stdin_default$f),[name$b,bem$a]=createNamespace("steps"),stepsProps={active:makeNumericProp(0),direction:makeStringProp("horizontal"),activeIcon:makeStringProp("checked"),iconPrefix:String,finishIcon:String,activeColor:String,inactiveIcon:String,inactiveColor:String},STEPS_KEY=Symbol(name$b);var stdin_default$e=defineComponent({name:name$b,props:stepsProps,emits:["clickStep"],setup(e,{emit:t,slots:n}){const{linkChildren:o}=useChildren(STEPS_KEY);return o({props:e,onClickStep:e=>t("clickStep",e)}),()=>{var t;return createVNode("div",{class:bem$a([e.direction])},[createVNode("div",{class:bem$a("items")},[null==(t=n.default)?void 0:t.call(n)])])}}});const[name$a,bem$9]=createNamespace("step");var stdin_default$d=defineComponent({name:name$a,setup(e,{slots:t}){const{parent:n,index:o}=useParent(STEPS_KEY);if(!n)return;const r=n.props,i=()=>{const e=+r.active;return o.value"process"===i(),s=computed((()=>({background:"finish"===i()?r.activeColor:r.inactiveColor}))),l=computed((()=>a()?{color:r.activeColor}:"waiting"===i()?{color:r.inactiveColor}:void 0)),c=()=>n.onClickStep(o.value),u=()=>{const{iconPrefix:e,finishIcon:n,activeIcon:o,activeColor:l,inactiveIcon:c}=r;return a()?t["active-icon"]?t["active-icon"]():createVNode(Icon,{class:bem$9("icon","active"),name:o,color:l,classPrefix:e},null):"finish"===i()&&(n||t["finish-icon"])?t["finish-icon"]?t["finish-icon"]():createVNode(Icon,{class:bem$9("icon","finish"),name:n,color:l,classPrefix:e},null):t["inactive-icon"]?t["inactive-icon"]():c?createVNode(Icon,{class:bem$9("icon"),name:c,classPrefix:e},null):createVNode("i",{class:bem$9("circle"),style:s.value},null)};return()=>{var e;const n=i();return createVNode("div",{class:[BORDER,bem$9([r.direction,{[n]:n}])]},[createVNode("div",{class:bem$9("title",{active:a()}),style:l.value,onClick:c},[null==(e=t.default)?void 0:e.call(t)]),createVNode("div",{class:bem$9("circle-container"),onClick:c},[u()]),createVNode("div",{class:bem$9("line"),style:s.value},null)])}}});const Step=withInstall(stdin_default$d),[name$9,bem$8]=createNamespace("stepper"),LONG_PRESS_INTERVAL=200,isEqual=(e,t)=>String(e)===String(t),stepperProps={min:makeNumericProp(1),max:makeNumericProp(1/0),name:makeNumericProp(""),step:makeNumericProp(1),theme:String,integer:Boolean,disabled:Boolean,showPlus:truthProp,showMinus:truthProp,showInput:truthProp,longPress:truthProp,autoFixed:truthProp,allowEmpty:Boolean,modelValue:numericProp,inputWidth:numericProp,buttonSize:numericProp,placeholder:String,disablePlus:Boolean,disableMinus:Boolean,disableInput:Boolean,beforeChange:Function,defaultValue:makeNumericProp(1),decimalLength:numericProp};var stdin_default$c=defineComponent({name:name$9,props:stepperProps,emits:["plus","blur","minus","focus","change","overlimit","update:modelValue"],setup(e,{emit:t}){const n=(t,n=!0)=>{const{min:o,max:r,allowEmpty:i,decimalLength:a}=e;return i&&""===t||(t=""===(t=formatNumber(String(t),!e.integer))?0:+t,t=Number.isNaN(t)?+o:t,t=n?Math.max(Math.min(+r,t),+o):t,isDef(a)&&(t=t.toFixed(+a))),t};let o;const r=ref(),i=ref((()=>{var o;const r=null!=(o=e.modelValue)?o:e.defaultValue,i=n(r);return isEqual(i,e.modelValue)||t("update:modelValue",i),i})()),a=computed((()=>e.disabled||e.disableMinus||+i.value<=+e.min)),s=computed((()=>e.disabled||e.disablePlus||+i.value>=+e.max)),l=computed((()=>({width:addUnit(e.inputWidth),height:addUnit(e.buttonSize)}))),c=computed((()=>getSizeStyle(e.buttonSize))),u=t=>{e.beforeChange?callInterceptor(e.beforeChange,{args:[t],done(){i.value=t}}):i.value=t},d=()=>{if("plus"===o&&s.value||"minus"===o&&a.value)return void t("overlimit",o);const r="minus"===o?-e.step:+e.step,l=n(addNumber(+i.value,r));u(l),t(o)},p=t=>{const n=t.target,{value:o}=n,{decimalLength:r}=e;let a=formatNumber(String(o),!e.integer);if(isDef(r)&&a.includes(".")){const e=a.split(".");a=`${e[0]}.${e[1].slice(0,+r)}`}e.beforeChange?n.value=String(i.value):isEqual(o,a)||(n.value=a);const s=a===String(+a);u(s?+a:a)},A=n=>{var o;e.disableInput?null==(o=r.value)||o.blur():t("focus",n)},f=o=>{const r=o.target,a=n(r.value,e.autoFixed);r.value=String(a),i.value=a,nextTick((()=>{t("blur",o),resetScroll()}))};let m,h;const g=()=>{h=setTimeout((()=>{d(),g()}),LONG_PRESS_INTERVAL)},v=t=>{e.longPress&&(clearTimeout(h),m&&preventDefault(t))},b=t=>{e.disableInput&&preventDefault(t)},E=t=>({onClick:e=>{preventDefault(e),o=t,d()},onTouchstartPassive:()=>{o=t,e.longPress&&(m=!1,clearTimeout(h),h=setTimeout((()=>{m=!0,d(),g()}),LONG_PRESS_START_TIME))},onTouchend:v,onTouchcancel:v});return watch((()=>[e.max,e.min,e.integer,e.decimalLength]),(()=>{const e=n(i.value);isEqual(e,i.value)||(i.value=e)})),watch((()=>e.modelValue),(e=>{isEqual(e,i.value)||(i.value=n(e))})),watch(i,(n=>{t("update:modelValue",n),t("change",n,{name:e.name})})),useCustomFieldValue((()=>e.modelValue)),()=>createVNode("div",{role:"group",class:bem$8([e.theme])},[withDirectives(createVNode("button",mergeProps({type:"button",style:c.value,class:[bem$8("minus",{disabled:a.value}),{[HAPTICS_FEEDBACK]:!a.value}],"aria-disabled":a.value||void 0},E("minus")),null),[[vShow,e.showMinus]]),withDirectives(createVNode("input",{ref:r,type:e.integer?"tel":"text",role:"spinbutton",class:bem$8("input"),value:i.value,style:l.value,disabled:e.disabled,readonly:e.disableInput,inputmode:e.integer?"numeric":"decimal",placeholder:e.placeholder,"aria-valuemax":e.max,"aria-valuemin":e.min,"aria-valuenow":i.value,onBlur:f,onInput:p,onFocus:A,onMousedown:b},null),[[vShow,e.showInput]]),withDirectives(createVNode("button",mergeProps({type:"button",style:c.value,class:[bem$8("plus",{disabled:s.value}),{[HAPTICS_FEEDBACK]:!s.value}],"aria-disabled":s.value||void 0},E("plus")),null),[[vShow,e.showPlus]])])}});const Stepper=withInstall(stdin_default$c),Steps=withInstall(stdin_default$e),[name$8,bem$7,t$1]=createNamespace("submit-bar"),submitBarProps={tip:String,label:String,price:Number,tipIcon:String,loading:Boolean,currency:makeStringProp("¥"),disabled:Boolean,textAlign:String,buttonText:String,buttonType:makeStringProp("danger"),buttonColor:String,suffixLabel:String,placeholder:Boolean,decimalLength:makeNumericProp(2),safeAreaInsetBottom:truthProp};var stdin_default$b=defineComponent({name:name$8,props:submitBarProps,emits:["submit"],setup(e,{emit:t,slots:n}){const o=ref(),r=usePlaceholder(o,bem$7),i=()=>{const{price:t,label:n,currency:o,textAlign:r,suffixLabel:i,decimalLength:a}=e;if("number"==typeof t){const e=(t/100).toFixed(+a).split("."),s=a?`.${e[1]}`:"";return createVNode("div",{class:bem$7("text"),style:{textAlign:r}},[createVNode("span",null,[n||t$1("label")]),createVNode("span",{class:bem$7("price")},[o,createVNode("span",{class:bem$7("price-integer")},[e[0]]),s]),i&&createVNode("span",{class:bem$7("suffix-label")},[i])])}},a=()=>{var t;const{tip:o,tipIcon:r}=e;if(n.tip||o)return createVNode("div",{class:bem$7("tip")},[r&&createVNode(Icon,{class:bem$7("tip-icon"),name:r},null),o&&createVNode("span",{class:bem$7("tip-text")},[o]),null==(t=n.tip)?void 0:t.call(n)])},s=()=>t("submit"),l=()=>{var t,r;return createVNode("div",{ref:o,class:[bem$7(),{"van-safe-area-bottom":e.safeAreaInsetBottom}]},[null==(t=n.top)?void 0:t.call(n),a(),createVNode("div",{class:bem$7("bar")},[null==(r=n.default)?void 0:r.call(n),i(),n.button?n.button():createVNode(Button,{round:!0,type:e.buttonType,text:e.buttonText,class:bem$7("button",e.buttonType),color:e.buttonColor,loading:e.loading,disabled:e.disabled,onClick:s},null)])])};return()=>e.placeholder?r(l):l()}});const SubmitBar=withInstall(stdin_default$b),[name$7,bem$6]=createNamespace("swipe-cell"),swipeCellProps={name:makeNumericProp(""),disabled:Boolean,leftWidth:numericProp,rightWidth:numericProp,beforeClose:Function,stopPropagation:Boolean};var stdin_default$a=defineComponent({name:name$7,props:swipeCellProps,emits:["open","close","click"],setup(e,{emit:t,slots:n}){let o,r,i,a;const s=ref(),l=ref(),c=ref(),u=reactive({offset:0,dragging:!1}),d=useTouch(),p=e=>e.value?useRect(e).width:0,A=computed((()=>isDef(e.leftWidth)?+e.leftWidth:p(l))),f=computed((()=>isDef(e.rightWidth)?+e.rightWidth:p(c))),m=n=>{u.offset="left"===n?A.value:-f.value,o||(o=!0,t("open",{name:e.name,position:n}))},h=n=>{u.offset=0,o&&(o=!1,t("close",{name:e.name,position:n}))},g=t=>{e.disabled||(i=u.offset,d.start(t))},v=()=>{u.dragging&&(u.dragging=!1,(e=>{const t=Math.abs(u.offset),n=o?.85:.15,r="left"===e?A.value:f.value;r&&t>r*n?m(e):h(e)})(u.offset>0?"left":"right"),setTimeout((()=>{r=!1}),0))},b=(n="outside")=>{a||(t("click",n),o&&!r&&(a=!0,callInterceptor(e.beforeClose,{args:[{name:e.name,position:n}],done:()=>{a=!1,h(n)},canceled:()=>a=!1,error:()=>a=!1})))},E=(e,t)=>n=>{t&&n.stopPropagation(),b(e)},C=(e,t)=>{const o=n[e];if(o)return createVNode("div",{ref:t,class:bem$6(e),onClick:E(e,!0)},[o()])};return useExpose({open:m,close:h}),useClickAway(s,(()=>b("outside")),{eventName:"touchstart"}),useEventListener("touchmove",(t=>{if(e.disabled)return;const{deltaX:n}=d;if(d.move(t),d.isHorizontal()){r=!0,u.dragging=!0;(!o||n.value*i<0)&&preventDefault(t,e.stopPropagation),u.offset=clamp$1(n.value+i,-f.value,A.value)}}),{target:s}),()=>{var e;const t={transform:`translate3d(${u.offset}px, 0, 0)`,transitionDuration:u.dragging?"0s":".6s"};return createVNode("div",{ref:s,class:bem$6(),onClick:E("cell",r),onTouchstartPassive:g,onTouchend:v,onTouchcancel:v},[createVNode("div",{class:bem$6("wrapper"),style:t},[C("left",l),null==(e=n.default)?void 0:e.call(n),C("right",c)])])}}});const SwipeCell=withInstall(stdin_default$a),[name$6,bem$5]=createNamespace("tabbar"),tabbarProps={route:Boolean,fixed:truthProp,border:truthProp,zIndex:numericProp,placeholder:Boolean,activeColor:String,beforeChange:Function,inactiveColor:String,modelValue:makeNumericProp(0),safeAreaInsetBottom:{type:Boolean,default:null}},TABBAR_KEY=Symbol(name$6);var stdin_default$9=defineComponent({name:name$6,props:tabbarProps,emits:["change","update:modelValue"],setup(e,{emit:t,slots:n}){const o=ref(),{linkChildren:r}=useChildren(TABBAR_KEY),i=usePlaceholder(o,bem$5),a=()=>{var t;return null!=(t=e.safeAreaInsetBottom)?t:e.fixed},s=()=>{var t;const{fixed:r,zIndex:i,border:s}=e;return createVNode("div",{ref:o,role:"tablist",style:getZIndexStyle(i),class:[bem$5({fixed:r}),{[BORDER_TOP_BOTTOM]:s,"van-safe-area-bottom":a()}]},[null==(t=n.default)?void 0:t.call(n)])};return r({props:e,setActive:(n,o)=>{callInterceptor(e.beforeChange,{args:[n],done(){t("update:modelValue",n),t("change",n),o()}})}}),()=>e.fixed&&e.placeholder?i(s):s()}});const Tabbar=withInstall(stdin_default$9),[name$5,bem$4]=createNamespace("tabbar-item"),tabbarItemProps=extend$1({},routeProps,{dot:Boolean,icon:String,name:numericProp,badge:numericProp,badgeProps:Object,iconPrefix:String});var stdin_default$8=defineComponent({name:name$5,props:tabbarItemProps,emits:["click"],setup(e,{emit:t,slots:n}){const o=useRoute(),r=getCurrentInstance().proxy,{parent:i,index:a}=useParent(TABBAR_KEY);if(!i)return;const s=computed((()=>{var t;const{route:n,modelValue:o}=i.props;if(n&&"$route"in r){const{$route:t}=r,{to:n}=e,o=isObject$2(n)?n:{path:n};return!!t.matched.find((e=>{const t="path"in o&&o.path===e.path,n="name"in o&&o.name===e.name;return t||n}))}return(null!=(t=e.name)?t:a.value)===o})),l=n=>{var r;s.value||i.setActive(null!=(r=e.name)?r:a.value,o),t("click",n)},c=()=>n.icon?n.icon({active:s.value}):e.icon?createVNode(Icon,{name:e.icon,classPrefix:e.iconPrefix},null):void 0;return()=>{var t;const{dot:o,badge:r}=e,{activeColor:a,inactiveColor:u}=i.props,d=s.value?a:u;return createVNode("div",{role:"tab",class:bem$4({active:s.value}),style:{color:d},tabindex:0,"aria-selected":s.value,onClick:l},[createVNode(Badge,mergeProps({dot:o,class:bem$4("icon"),content:r},e.badgeProps),{default:c}),createVNode("div",{class:bem$4("text")},[null==(t=n.default)?void 0:t.call(n,{active:s.value})])])}}});const TabbarItem=withInstall(stdin_default$8),[name$4,bem$3]=createNamespace("text-ellipsis"),textEllipsisProps={rows:makeNumericProp(1),dots:makeStringProp("..."),content:makeStringProp(""),expandText:makeStringProp(""),collapseText:makeStringProp(""),position:makeStringProp("end")};var stdin_default$7=defineComponent({name:name$4,props:textEllipsisProps,emits:["clickAction"],setup(e,{emit:t}){const n=ref(""),o=ref(!1),r=ref(!1),i=ref(),a=computed((()=>o.value?e.collapseText:e.expandText)),s=e=>{if(!e)return 0;const t=e.match(/^\d*(\.\d*)?/);return t?Number(t[0]):0},l=()=>{const t=(()=>{if(!i.value)return;const t=window.getComputedStyle(i.value),n=document.createElement("div");return Array.prototype.slice.apply(t).forEach((e=>{n.style.setProperty(e,t.getPropertyValue(e))})),n.style.position="fixed",n.style.zIndex="-9999",n.style.top="-9999px",n.style.height="auto",n.style.minHeight="auto",n.style.maxHeight="auto",n.innerText=e.content,document.body.appendChild(n),n})();if(!t)return;const{paddingBottom:o,paddingTop:l,lineHeight:c}=t.style,u=Math.ceil((Number(e.rows)+.5)*s(c)+s(l)+s(o));u{const{content:o,position:r,dots:i}=e,s=o.length,l=(r,a)=>{if(r[1]-r[0]<=1&&a[1]-a[0]<=1)return o.slice(0,r[0])+i+o.slice(a[1],s);const c=Math.floor((r[0]+r[1])/2),u=Math.ceil((a[0]+a[1])/2);return t.innerText=e.content.slice(0,c)+e.dots+e.content.slice(u,s)+e.expandText,t.offsetHeight>=n?l([r[0],c],[u,a[1]]):l([c,r[1]],[a[0],u])},c=0+s>>1;return"middle"===e.position?t.innerText=l([0,c],[c,s]):(()=>{const e=(l,c)=>{if(c-l<=1)return"end"===r?o.slice(0,l)+i:i+o.slice(c,s);const u=Math.round((l+c)/2);return t.innerText="end"===r?o.slice(0,u)+i+a.value:i+o.slice(u,s)+a.value,t.offsetHeight>n?"end"===r?e(l,u):e(u,c):"end"===r?e(u,c):e(l,u)};t.innerText=e(0,s)})(),t.innerText})(t,u)):(r.value=!1,n.value=e.content),document.body.removeChild(t)},c=e=>{o.value=!o.value,t("clickAction",e)};return onMounted(l),watch((()=>[e.content,e.rows,e.position]),l),useEventListener("resize",l),()=>createVNode("div",{ref:i,class:bem$3()},[o.value?e.content:n.value,r.value?createVNode("span",{class:bem$3("action"),onClick:c},[a.value]):null])}});const TextEllipsis=withInstall(stdin_default$7),[name$3]=createNamespace("time-picker"),validateTime=e=>/^([01]\d|2[0-3]):([0-5]\d):([0-5]\d)$/.test(e),fullColumns=["hour","minute","second"],timePickerProps=extend$1({},sharedProps,{minHour:makeNumericProp(0),maxHour:makeNumericProp(23),minMinute:makeNumericProp(0),maxMinute:makeNumericProp(59),minSecond:makeNumericProp(0),maxSecond:makeNumericProp(59),minTime:{type:String,validator:validateTime},maxTime:{type:String,validator:validateTime},columnsType:{type:Array,default:()=>["hour","minute"]},filter:Function});var stdin_default$6=defineComponent({name:name$3,props:timePickerProps,emits:["confirm","cancel","change","update:modelValue"],setup(e,{emit:t,slots:n}){const o=ref(e.modelValue),r=t=>{const n=t.split(":");return fullColumns.map(((t,o)=>e.columnsType.includes(t)?n[o]:"00"))},i=computed((()=>{let{minHour:t,maxHour:n,minMinute:i,maxMinute:a,minSecond:s,maxSecond:l}=e;if(e.minTime||e.maxTime){const c={hour:0,minute:0,second:0};e.columnsType.forEach(((e,t)=>{var n;c[e]=null!=(n=o.value[t])?n:0}));const{hour:u,minute:d}=c;if(e.minTime){const[n,o,a]=r(e.minTime);t=n,i=+u<=+t?o:"00",s=+u<=+t&&+d<=+i?a:"00"}if(e.maxTime){const[t,o,i]=r(e.maxTime);n=t,a=+u>=+n?o:"59",l=+u>=+n&&+d>=+a?i:"59"}}return e.columnsType.map((r=>{const{filter:c,formatter:u}=e;switch(r){case"hour":return genOptions(+t,+n,r,u,c,o.value);case"minute":return genOptions(+i,+a,r,u,c,o.value);case"second":return genOptions(+s,+l,r,u,c,o.value);default:return[]}}))}));watch(o,(n=>{isSameValue(n,e.modelValue)||t("update:modelValue",n)})),watch((()=>e.modelValue),(e=>{e=formatValueRange(e,i.value),isSameValue(e,o.value)||(o.value=e)}),{immediate:!0});const a=(...e)=>t("change",...e),s=(...e)=>t("cancel",...e),l=(...e)=>t("confirm",...e);return()=>createVNode(Picker,mergeProps({modelValue:o.value,"onUpdate:modelValue":e=>o.value=e,columns:i.value,onChange:a,onCancel:s,onConfirm:l},pick$1(e,pickerInheritKeys)),n)}});const TimePicker=withInstall(stdin_default$6),[name$2,bem$2]=createNamespace("tree-select"),treeSelectProps={max:makeNumericProp(1/0),items:makeArrayProp(),height:makeNumericProp(300),selectedIcon:makeStringProp("success"),mainActiveIndex:makeNumericProp(0),activeId:{type:[Number,String,Array],default:0}};var stdin_default$5=defineComponent({name:name$2,props:treeSelectProps,emits:["clickNav","clickItem","update:activeId","update:mainActiveIndex"],setup(e,{emit:t,slots:n}){const o=t=>Array.isArray(e.activeId)?e.activeId.includes(t):e.activeId===t,r=n=>createVNode("div",{key:n.id,class:["van-ellipsis",bem$2("item",{active:o(n.id),disabled:n.disabled})],onClick:()=>{if(n.disabled)return;let o;if(Array.isArray(e.activeId)){o=e.activeId.slice();const t=o.indexOf(n.id);-1!==t?o.splice(t,1):o.length<+e.max&&o.push(n.id)}else o=n.id;t("update:activeId",o),t("clickItem",n)}},[n.text,o(n.id)&&createVNode(Icon,{name:e.selectedIcon,class:bem$2("selected")},null)]),i=e=>{t("update:mainActiveIndex",e)},a=e=>t("clickNav",e),s=()=>{const t=e.items.map((e=>createVNode(SidebarItem,{dot:e.dot,badge:e.badge,class:[bem$2("nav-item"),e.className],disabled:e.disabled,onClick:a},{title:()=>n["nav-text"]?n["nav-text"](e):e.text})));return createVNode(Sidebar,{class:bem$2("nav"),modelValue:e.mainActiveIndex,onChange:i},{default:()=>[t]})},l=()=>{if(n.content)return n.content();const t=e.items[+e.mainActiveIndex]||{};return t.children?t.children.map(r):void 0};return()=>createVNode("div",{class:bem$2(),style:{height:addUnit(e.height)}},[s(),createVNode("div",{class:bem$2("content")},[l()])])}});const TreeSelect=withInstall(stdin_default$5),[name$1,bem$1,t]=createNamespace("uploader");function readFileContent(e,t){return new Promise((n=>{if("file"===t)return void n();const o=new FileReader;o.onload=e=>{n(e.target.result)},"dataUrl"===t?o.readAsDataURL(e):"text"===t&&o.readAsText(e)}))}function isOversize(e,t){return toArray$1(e).some((e=>!!e.file&&(isFunction$1(t)?t(e.file):e.file.size>+t)))}function filterFiles(e,t){const n=[],o=[];return e.forEach((e=>{isOversize(e,t)?o.push(e):n.push(e)})),{valid:n,invalid:o}}const IMAGE_REGEXP=/\.(jpeg|jpg|gif|png|svg|webp|jfif|bmp|dpg|avif)/i,isImageUrl=e=>IMAGE_REGEXP.test(e);function isImageFile(e){return!!e.isImage||(e.file&&e.file.type?0===e.file.type.indexOf("image"):e.url?isImageUrl(e.url):"string"==typeof e.content&&0===e.content.indexOf("data:image"))}var stdin_default$4=defineComponent({props:{name:numericProp,item:makeRequiredProp(Object),index:Number,imageFit:String,lazyLoad:Boolean,deletable:Boolean,reupload:Boolean,previewSize:[Number,String,Array],beforeDelete:Function},emits:["delete","preview","reupload"],setup(e,{emit:n,slots:o}){const r=()=>{const{status:t,message:n}=e.item;if("uploading"===t||"failed"===t){const e="failed"===t?createVNode(Icon,{name:"close",class:bem$1("mask-icon")},null):createVNode(Loading$1,{class:bem$1("loading")},null),o=isDef(n)&&""!==n;return createVNode("div",{class:bem$1("mask")},[e,o&&createVNode("div",{class:bem$1("mask-message")},[n])])}},i=t=>{const{name:o,item:r,index:i,beforeDelete:a}=e;t.stopPropagation(),callInterceptor(a,{args:[r,{name:o,index:i}],done:()=>n("delete")})},a=()=>n("preview"),s=()=>n("reupload"),l=()=>{if(e.deletable&&"uploading"!==e.item.status){const e=o["preview-delete"];return createVNode("div",{role:"button",class:bem$1("preview-delete",{shadow:!e}),tabindex:0,"aria-label":t("delete"),onClick:i},[e?e():createVNode(Icon,{name:"cross",class:bem$1("preview-delete-icon")},null)])}},c=()=>{if(o["preview-cover"]){const{index:t,item:n}=e;return createVNode("div",{class:bem$1("preview-cover")},[o["preview-cover"](extend$1({index:t},n))])}},u=()=>{const{item:t,lazyLoad:n,imageFit:o,previewSize:r,reupload:i}=e;return isImageFile(t)?createVNode(Image$1,{fit:o,src:t.objectUrl||t.content||t.url,class:bem$1("preview-image"),width:Array.isArray(r)?r[0]:r,height:Array.isArray(r)?r[1]:r,lazyLoad:n,onClick:i?s:a},{default:c}):createVNode("div",{class:bem$1("file"),style:getSizeStyle(e.previewSize)},[createVNode(Icon,{class:bem$1("file-icon"),name:"description"},null),createVNode("div",{class:[bem$1("file-name"),"van-ellipsis"]},[t.file?t.file.name:t.url]),c()])};return()=>createVNode("div",{class:bem$1("preview")},[u(),r(),l()])}});const uploaderProps={name:makeNumericProp(""),accept:makeStringProp("image/*"),capture:String,multiple:Boolean,disabled:Boolean,readonly:Boolean,lazyLoad:Boolean,maxCount:makeNumericProp(1/0),imageFit:makeStringProp("cover"),resultType:makeStringProp("dataUrl"),uploadIcon:makeStringProp("photograph"),uploadText:String,deletable:truthProp,reupload:Boolean,afterRead:Function,showUpload:truthProp,modelValue:makeArrayProp(),beforeRead:Function,beforeDelete:Function,previewSize:[Number,String,Array],previewImage:truthProp,previewOptions:Object,previewFullImage:truthProp,maxSize:{type:[Number,String,Function],default:1/0}};var stdin_default$3=defineComponent({name:name$1,props:uploaderProps,emits:["delete","oversize","clickUpload","closePreview","clickPreview","clickReupload","update:modelValue"],setup(e,{emit:t,slots:n}){const o=ref(),r=[],i=ref(-1),a=(t=e.modelValue.length)=>({name:e.name,index:t}),s=()=>{o.value&&(o.value.value="")},l=n=>{if(s(),isOversize(n,e.maxSize)){if(!Array.isArray(n))return void t("oversize",n,a());{const o=filterFiles(n,e.maxSize);if(n=o.valid,t("oversize",o.invalid,a()),!n.length)return}}if(n=reactive(n),i.value>-1){const o=[...e.modelValue];o.splice(i.value,1,n),t("update:modelValue",o),i.value=-1}else t("update:modelValue",[...e.modelValue,...toArray$1(n)]);e.afterRead&&e.afterRead(n,a())},c=t=>{const{maxCount:n,modelValue:o,resultType:r}=e;if(Array.isArray(t)){const e=+n-o.length;t.length>e&&(t=t.slice(0,e)),Promise.all(t.map((e=>readFileContent(e,r)))).then((e=>{const n=t.map(((t,n)=>{const o={file:t,status:"",message:"",objectUrl:URL.createObjectURL(t)};return e[n]&&(o.content=e[n]),o}));l(n)}))}else readFileContent(t,r).then((e=>{const n={file:t,status:"",message:"",objectUrl:URL.createObjectURL(t)};e&&(n.content=e),l(n)}))},u=t=>{const{files:n}=t.target;if(e.disabled||!n||!n.length)return;const o=1===n.length?n[0]:[].slice.call(n);if(e.beforeRead){const t=e.beforeRead(o,a());if(!t)return void s();if(isPromise(t))return void t.then((e=>{c(e||o)})).catch(s)}c(o)};let d;const p=()=>t("closePreview"),A=(o,s)=>{const l=["imageFit","deletable","reupload","previewSize","beforeDelete"],c=extend$1(pick$1(e,l),pick$1(o,l,!0));return createVNode(stdin_default$4,mergeProps({item:o,index:s,onClick:()=>t(e.reupload?"clickReupload":"clickPreview",o,a(s)),onDelete:()=>((n,o)=>{const r=e.modelValue.slice(0);r.splice(o,1),t("update:modelValue",r),t("delete",n,a(o))})(o,s),onPreview:()=>(t=>{if(e.previewFullImage){const n=e.modelValue.filter(isImageFile),o=n.map((e=>(e.objectUrl&&!e.url&&"failed"!==e.status&&(e.url=e.objectUrl,r.push(e.url)),e.url))).filter(Boolean);d=showImagePreview(extend$1({images:o,startPosition:n.indexOf(t),onClose:p},e.previewOptions))}})(o),onReupload:()=>(e=>{g(),i.value=e})(s)},pick$1(e,["name","lazyLoad"]),c),pick$1(n,["preview-cover","preview-delete"]))},f=()=>{if(e.previewImage)return e.modelValue.map(A)},m=e=>t("clickUpload",e),h=()=>{if(e.modelValue.length>=+e.maxCount&&!e.reupload)return;const t=e.modelValue.length>=+e.maxCount&&e.reupload,r=e.readonly?null:createVNode("input",{ref:o,type:"file",class:bem$1("input"),accept:e.accept,capture:e.capture,multiple:e.multiple&&-1===i.value,disabled:e.disabled,onChange:u},null);return n.default?withDirectives(createVNode("div",{class:bem$1("input-wrapper"),onClick:m},[n.default(),r]),[[vShow,!t]]):withDirectives(createVNode("div",{class:bem$1("upload",{readonly:e.readonly}),style:getSizeStyle(e.previewSize),onClick:m},[createVNode(Icon,{name:e.uploadIcon,class:bem$1("upload-icon")},null),e.uploadText&&createVNode("span",{class:bem$1("upload-text")},[e.uploadText]),r]),[[vShow,e.showUpload&&!t]])},g=()=>{o.value&&!e.disabled&&o.value.click()};return onBeforeUnmount((()=>{r.forEach((e=>URL.revokeObjectURL(e)))})),useExpose({chooseFile:g,closeImagePreview:()=>{d&&d.close()}}),useCustomFieldValue((()=>e.modelValue)),()=>createVNode("div",{class:bem$1()},[createVNode("div",{class:bem$1("wrapper",{disabled:e.disabled})},[f(),h()])])}});const Uploader=withInstall(stdin_default$3),[name,bem]=createNamespace("watermark"),watermarkProps={gapX:makeNumberProp(0),gapY:makeNumberProp(0),image:String,width:makeNumberProp(100),height:makeNumberProp(100),rotate:makeNumericProp(-22),zIndex:numericProp,content:String,opacity:numericProp,fullPage:truthProp,textColor:makeStringProp("#dcdee0")};var stdin_default$2=defineComponent({name:name,props:watermarkProps,setup(e,{slots:t}){const n=ref(),o=ref(""),r=ref(""),i=()=>{const n={transformOrigin:"center",transform:`rotate(${e.rotate}deg)`},o=e.width+e.gapX,i=e.height+e.gapY;return createVNode("svg",{viewBox:`0 0 ${o} ${i}`,width:o,height:i,xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",style:{padding:`0 ${e.gapX}px ${e.gapY}px 0`,opacity:e.opacity}},[e.image&&!t.content?createVNode("image",{href:r.value,"xlink:href":r.value,x:"0",y:"0",width:e.width,height:e.height,style:n},null):createVNode("foreignObject",{x:"0",y:"0",width:e.width,height:e.height},[createVNode("div",{xmlns:"http://www.w3.org/1999/xhtml",style:n},[t.content?t.content():createVNode("span",{style:{color:e.textColor}},[e.content])])])])};return watchEffect((()=>{e.image&&(e=>{const t=document.createElement("canvas"),n=new Image;n.crossOrigin="anonymous",n.referrerPolicy="no-referrer",n.onload=()=>{t.width=n.naturalWidth,t.height=n.naturalHeight;const e=t.getContext("2d");null==e||e.drawImage(n,0,0),r.value=t.toDataURL()},n.src=e})(e.image)})),watch((()=>[r.value,e.content,e.textColor,e.height,e.width,e.rotate,e.gapX,e.gapY]),(()=>{nextTick((()=>{n.value&&(o.value&&URL.revokeObjectURL(o.value),o.value=(e=>{const t=new Blob([e],{type:"image/svg+xml"});return URL.createObjectURL(t)})(n.value.innerHTML))}))}),{immediate:!0}),onUnmounted((()=>{o.value&&URL.revokeObjectURL(o.value)})),()=>{const t=extend$1({backgroundImage:`url(${o.value})`},getZIndexStyle(e.zIndex));return createVNode("div",{class:bem({full:e.fullPage}),style:t},[createVNode("div",{class:bem("wrapper"),ref:n},[i()])])}}});const Watermark=withInstall(stdin_default$2),version="4.7.1";function install(e){[ActionBar,ActionBarButton,ActionBarIcon,ActionSheet,AddressEdit,AddressList,Area,BackTop,Badge,Barrage,Button,Calendar,Card,Cascader,Cell,CellGroup,Checkbox,CheckboxGroup,Circle,Col,Collapse,CollapseItem,ConfigProvider,ContactCard,ContactEdit,ContactList,CountDown,Coupon,CouponCell,CouponList,DatePicker,Dialog,Divider,DropdownItem,DropdownMenu,Empty,Field,FloatingBubble,FloatingPanel,Form,Grid,GridItem,Icon,Image$1,ImagePreview,IndexAnchor,IndexBar,List,Loading$1,Locale,NavBar,NoticeBar,Notify$1,NumberKeyboard,Overlay,Pagination,PasswordInput,Picker,PickerGroup,Popover,Popup,Progress,PullRefresh,Radio,RadioGroup,Rate,RollingText,Row,Search,ShareSheet,Sidebar,SidebarItem,Signature,Skeleton,SkeletonAvatar,SkeletonImage,SkeletonParagraph,SkeletonTitle,Slider,Space,Step,Stepper,Steps,Sticky,SubmitBar,Swipe,SwipeCell,SwipeItem,Switch,Tab,Tabbar,TabbarItem,Tabs,Tag,TextEllipsis,TimePicker,Toast,TreeSelect,Uploader,Watermark].forEach((t=>{t.install?e.use(t):t.name&&e.component(t.name,t)}))}var stdin_default$1={install:install,version:version};let Loading=null;function toast(e,t){showToast({message:e,className:"particulars-detail-popup",...t})}function showLoading(){Loading=showLoadingToast({message:"loading...",forbidClick:!1,overlay:!0,duration:0,className:"particulars-detail-popup"})}function closeLoading(){Loading.close()}const __vite_glob_0_0="/assets/01_1730186905.png",__vite_glob_0_1="/assets/02_1730186905.png",__vite_glob_0_2="/assets/03_1730186905.png",__vite_glob_0_3="/assets/04_1730186905.png",__vite_glob_0_4="/assets/05_1730186905.png",__vite_glob_0_5="/assets/2logo_1730186905.png",__vite_glob_0_6="data:image/png;base64,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",__vite_glob_0_7="data:image/png;base64,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",__vite_glob_0_8="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAKIElEQVRYhaWXeXBUVRbGf++9Tnenk+6sHbJB2AxEWcSwGHbBBQcLxJkRy5EShHHE0XJmhNJxL3EY0dEaHRdGQYrRUhQsS0RAZFPWsCQGAlkJCUkI6e50Op3eu9+7U687cRwGS6vmVr0/+vW95373ft/5znmSGhP8cEgKSFxpqEVodfNQ68dhuHAVUrAQfOkgvMScF1Hbz5EUrUSO7gDHWTgL9Mc2UVsR5telIEuQJP8n/M8BMBZYgdg/H2mDFX8EunpQPWG0kBGDwYxkd0C+C5QgiNYIMXaQlPoi+I7+FADDFQ/bP4T6PJLytP5LOC4R3FRBqFUj6u4kHAJNUhBCxmgLo1q7MQ0F+zyMcgHzwTcflbdQpIchWYPwFbf4MQBpqK7PUTJnCC2E88WXCR9bj21kMrYZQzEMLgWrClIIYhrCK+NvFnRXdVG9shLr1b0M+SOQwoNExGSMhl9q0HSlja5EQY4UrdxNUtLocJWLlkeWYhvhIPfhO6HYAL5y6KxKHEgDIYFkjEOGtPHE2ofR8rEDx6F9jHoBrBPjYdurjzHzxkk0Fujzf1QDMsjhnYcxnyoLHkmi7t4/MfyZMlLvmQbNHyKa2xBqQif6XCGDpCWWxt/HQCoAri7Bs280Z/68i5LVHjJngfsizUtuYFxFPZ48JY69b6F/A7GIQI0IRKTuWSHuFOGzD4jDmYjIwTuEEI8IUYkQhxHiu77n2A+e44n/tEPE50W3IjoeQ4gaROT8InFoUpbo1ecJRK+Dj28eDkXABAOUKvo51C9BU5EFQ+AfzwntEvWL1zL27elIY2W6X30Nz0HoOQPeExA8RyJNsvoUpB8lCaRs0HzgOpKMyTKTppVg6H2fiWun07jKBD5ItXPn/Du40cF/MlQSvXqALhB1GzBPXux4JYtghULBytm4P/wGw6CxSEoyAgVEDJxN9HqqMGZC3oI+EDHoPgj+Rjv22z/ANPV62P5bGtd9QtYCCDRMxph3GPtycNVzcvbVTPCriHSdSiEg1lOZJWK/8go3omGeWfRsniK631sqRHeDECIsLh/hC7WiY9Ui0fY4QjQhul5DON58XsQ6Tgkh9ggR+lQI8YFQncuF8xVEzaIkUb80QwhngorH5nGrnQQFSuAkFBTOuj1n+PN3+7dBknskyXOixLzXYy69A2It9FZW0HXiCN66GpJkDfOQa0idvgDv4Uq6j9ZhHvQYWctWIKeeg54eMGjQ1oWUnYZl6jAUx3Fad0vY7FFMuSD7sGzaycdZugYqjijk5G25SefDdwxSr02D8CkiPh8QAacf157VRM/fQ6z1Llo3zcC75704f/m3L6TlCFgmlAKnaFm9ipb3W8BUSMfGz2j567dAJunjSolEAvhbgDYYYGZKNmRGVZB3u9SsnOLNc1HB3wrGYpVoL6jREOAh3NWGOb2DojlQNBcMwoP35CE9tRGimd6IAbTuuOsEXJ0EnLXABSKx/bTXfU7DS7s4uPokQ8rAEDOidkJeLjljipjZI/QsCDISiRxdpRFMSFYprtBoqBeEE1OmRsw3nIZ34Ny6XJLSZ1NwVxlQg7uykqyRMTw1bfEbKXlmJSMWZkOwAkvhMIQGrp3HGV2kMXAoxLxRVMVKagqkZTAqqms45AFzNpAMqhwDRUFKTkGNRsB7HixuBv5+MbTNQI0qKEXZkCzw7NxP7cH9THgUOo9tpW2TkcKbxyEXNMOFs9h/MQCLvZ4L24nXr3Q/SBGBwQqxgO6AjNTtTP6unIuamwA9kJRsi9MuTLlEowHQ/KiOBpq3fkMoYkAZnAyeEDUvbeXI+r9QssCDedR4UrKrOPHJ0xxc8yqug2EwxcBxgJTroWSFThY0VkHGQJAzetHZDUfIlMEsnzxAhy9MJzp1jm7CPRJSsoloSOe1C+/ZC5S/9Tp71qwn1maEjBQCQZn8MiPZc0fg/MyDo3oUBcNMeGr24j3+Ishf0LoFOjeOgjSZa+ZCQz0EMYIV6pqhugFhk5Dkr7YQ6qigFhtYbBA47UCzZaMlm6C7Bp+zlUn3QPHs0xx6cwOEzZTeNw7VXULLZ2dwn3dQMnUsE5bF0E0trkFrOm0dmTjqdZO5nxTTCCJ64UodobcGeFqgVaM1WSEkH74AzR9RTy8U3grR5jp8uxwYBhRB4BIYLQQ6zVw1E0T0AIdf3whpYcaUVtG8E1oOevHWNULh/dxyL5ToGdk2gDFlUUZPPgNiLU1VdUTThpIxU4UAOI7Ha9lRTaDKycCuPZzgom5NkFUMDWtqURxnoKiItCw7wZYQHIGZo+DSN5/j2noaww1w3XhwtsLRzeV0bQtjnPcktmnA6TpSJvXClMFc+hK2vQ3jF10DxWfhgpl930o6GU49c5QCGZoCuG6z80DaFIxyPshdaRzf0UhKrsy5A02Y3E5ybYkSXJAO+7bVkBTNpb7Sx7AiKB4Fuz6qxN1gZ3C6AUocqPUj2b7Ry8kdfmbccC3FTzWD1EP7e1N4aW+zU5ZZZ5RoV4Yo0KbRaznHxOmTGcl1kFYynFCVmfL3q0mWnUwshXjdCIPZDhlWOLDDhy6TSVPBMhRGj4P2qhrKv3ZgssHXm13YU/zcNlsib3kZpJVD6xLevf8IO/3+8myZv0sQVfKkeDWlJkjPZAe/yZ2uO4qT/NJJjMsyMSzDhWLo63zkREG05sCY8TC0pK8aRuN9J4PGQyAGB45DST5MHQXK3FoYovMSpGVFG88eOK3f5FqLxH69Iiv5ejJK4ICmjmbG3+Kh2DhJD9wEeVeBcTS0NxK3hfiKRGerkxjfvP8RibJcMAImDIKBA2agzt6NXFwMDIC3y3nihX9xDKpzZJ7Q0J2nD4C+1iIhzgiaw7UsnFaHUR4GDGqDvGQYOBtFSUPRe7BYD1oE5P6eSkts3N/S4S6FtKdgzhDkgpeBxbD1BV7/wyo2BsCu8IwEe7/vCfWa3L82KPSL4sllCi88NBlSH9R7p4RNE5oAliWQNAUuVoNfTxtfokFMSofs0gSX8imwb4foF9ABVCzjg6fX8Xg1WGW2WGUWaYLQ/wDoB+EXWIISbyw0seS+Ahg2B+RZui76Ol/bLFBmgTwYDOZEJ6qbiH65vBu38nhKe5ZCpcIb/3yHNeWQInEoTeFeVXDuv7rwHwLoBxESpHbD3yZa+N3dVigbDLmlCRAiH5S8eJmP22qcf/08bhKs6g7eexPVtam88elXbKsJYJP42qqw/PLNrwigH4QKSpfGIxYDj07PJH+aCUpSIdcOKYVgTAfdxaQ+AWoBcAfhtNvK3uYgX1TGcAnChQrrDRLPaSJhPD8LwGW3UebSeMgsc1txKrYhlrimscmJbzxVAb8BOlVocsMZb5wQNQcOpBp4UxNs+fEdfgLA90Ak5Jhgmlfl1ghMUSQGKejlC7OeBEIQiSVwXLTJnDDJfKWJuNLjqfZ/A7hs6OwXJpKblL6vBF0FLqAVuPSzIwH/Bmo4ib6ixrkUAAAAAElFTkSuQmCC",__vite_glob_0_9="data:image/png;base64,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",__vite_glob_0_10="/assets/R__1730186905.png",__vite_glob_0_11="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAdCAYAAABWk2cPAAADUElEQVRIibWWTW8TRxjHf2tv4oS0JYGoh3Ercahoe+XCi0R6AQ6oUgW9VSq9tB+g6gcon6DHHtoqF4RQQHDlQNXmwgGJAAo0KY1IDnRN6sShgrB24tkZ9MzOhnSJSZx1H3nslWfm/5vnZR5tYC27tU+AAJjser9Aux1KqZIxTMqQ52737wraaHDSWqyMRoNTu4Wet5aBnWwQz1otbmZQed6ht7LmOwdVSpW15qoxTFnLgW687MLbQWO4KhzhlYCBep0HQcAha5lKEk53yn+1qkpDQ5zP/z80xPcy12HbqLX8FgScXV7mPlART4cvX+arTSdPksSF+7WQbeXlNt5+YAxz2ZorVzinlNor0LeOHx85ojXrm0WM4bq17O+Uy/zI51ZrjhrDUrYuSWiPjY0cFp6I9SulPlxa4mFeyBgWrHVhf6OXeW+15nNriXNzfwlHeJIHDcSLi8zmkxEEHABuas03W+Vyq9xqzbflMhPA4Oa5Wo0Z4QivFEU1A7QW5pnuoDUQhvxUqXBsO6isCUN+AMr5Oa/fEl5Wceu/T3J7O9Ei5vXXRWIDOjGh5uOYlf8DKLqin0FD2u5/+Y5XnvBwz/scdW28V2ZBdH0+20IKeeHEE6C5OMcf7+3rPVR0Rd9xXkh4Y4hu1aQjrs1Mc49VcAdp9mCIzio4XVhznFg8jdPTSLx/vPTu1LlP62366HPZLuKxaBp3IfX4tdE7Lp/NVPM/0Mf18KmOWAhHOeiKvlM33YkJMAG9zPzc4/4VB40zaNNn1DeJfyJmqwMcJNzqtnVhoqlB9LKm4MJdzjzVEP1SM9WvVevRAtPVYT5zm5ICUDlwGUTPNYWfa8ZBQ/msevH1NMQ3pgZvjw030yJoF4D2SV8E0XPqwunPPH3uxU0KHb87Mj9+d+QLYF8BZGaSy7QpZDeiL4PqDajgnwJP/JKi9q/XaztPS1l4n3tgCpVAN6Jfa3/zcQ+Qs1A9oQazpuCgpVcdyeGiL2u2ekFZLvqcFLW0JqzouoL1tyGtXryn6QHe5hawDDwrAH1H3o683jPWpKiyex/Seg1aqc6oM/IeVshP0a0TuRcxfz8zaKCUyi+X8320cc5iJvH60/9umPSdvElpycJKD6BrXu+VAS8Blh3TzrGSAmoAAAAASUVORK5CYII=",__vite_glob_0_12="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAdCAYAAADRoo4JAAABlElEQVRYhe3YvUrDUByG8eectFZQq7T4gQSli5ODo+Ls1kVXwVuQjh2dHIu3ILjq4i2Ijg6OQlGKX6UW21qbNh/yTwVFqFvIEfJcwa+nJ5C8ikoR+/BcA1PAApADxgBFvAVAH3gFnoB2rVz0lT2HYOdqm7PbbK+WWJoukEmlYsYOc1yX+7cqZzcV+6J+BrwIeKa2PrvL3kaFQKdpeNALhr8vzuT/HVeQt0D5A44vS/ZV/UROd561lX3eVZoHFz4MwPJ1IcQiJrGJEeZ1eGcnpwp0ffANgP5OTGITI+T01wOWwjHhWEc0tMlzNabD2xJgxjUY1bdPaRN9f5WAoy4BR10CjroEHHUJOOoScNQl4Kj7l+CAQL7jDH6D//YFOvz27zkurhc/bFRic/quWHU4VDw1q3R7Zp6ymMT2+FoVq5WdwGv1O12yE1v4gUU6BVqBinn4EejAg2YbGq0B17cH2ebgUoYUK1x+lsd3WMzvM5kpoC0zlh/fc+k4VR4aR/Zd7zRcfn5sa9lwVDFzW3sGWrVy0f8E3gOVPrTDyUEAAAAASUVORK5CYII=",__vite_glob_0_13="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAAtCAYAAAAOYyOGAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OUEyQjZFNjJCOTk5MTFFREI0NkFFRjFDQzk2MzVEREQiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OUEyQjZFNjFCOTk5MTFFREI0NkFFRjFDQzk2MzVEREQiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTU1NEZENENCOTk5MTFFRDhBOUVDNjNGQ0FFQ0JFOTMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NTU1NEZENERCOTk5MTFFRDhBOUVDNjNGQ0FFQ0JFOTMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5xPd5QAAACtklEQVR42tSazWsTURTFJ2oUEqmL4qbWD3AjXRQ3FmypWogKihUFt64q/Svc+ScI2kVduRJUEIqIX23jR7GgO0FBqCKKlAottkVbjefgHRjC1My7701yc+G3CZnMO3PP3HfvTAq1Wi0yElvAOtgGfvr80CYjgi6D92ABzIKKz48VWpypHvASlLmWxOfrIqzabpk6LVnZXicotuJ10KH1casE3Wlw/r3tZL9+8AQUG3yPxaJkPVM812HwMON5l9qh+g2LoGLKPZQWt6zbbwjcz2C5pPW6wXermTrpKOgPuKIV1IxMuWaI8Rocsrr5DoIH0vZkjWWwzydLedqP+9AjR0G03VFfQXmJoqDbiu1iHLwJsYDQ9rsAboLNGcs2gwv4KFn6bE3UsOwtRcfj1sABMBdqIaHsV1EK4hUdDSkoVKb6wLRCEGMGDIS+qX1FcT95puwhf4AuKeNBw9d+j5WCeCVH8hDkK+qeTKz/dcIGn3Oyncxr19eKKksJzpKRNJGLeY49WlHLysIQi/wFvloT1SEW0kYpyjG0ojiVPvc4b9mxL2xaobgIVpXH0rrnLIqaB2c8bDgG9lsTxXgqc9Oa4lg+77tqURTjFTiiFHZCej9TbVIy+iVzrvsPL8ZusbOpLp3xApxXZIxFY9aa/ZIxAc4qhDFTNyzar36+mnC04m9wELy1Kiqes6bAVodjVsCuyOORc14PXpJV8ZSjFdk+3bV2T6XtY6MNhNVbhd3/Jav2q5+Qqw6dPS9Cp3aIbNZbD5bs4w4tFcVfs56pZPGoZqyK38AeTW/Z7He+LB5DGRe6I1K+823V2/leEVhMGffjBa1K0xtZz1QcHzboPJJX+BPY2U6ZiuS+4jw1IzarJR7MsLsY0PaErfwfBe+rd5IN/uPlS/TvAeccOObT5BYM/TcpWPwVYADusbDwSYPcDwAAAABJRU5ErkJggg==",__vite_glob_0_14="/assets/bg_1730186905.jpg",__vite_glob_0_15="/assets/bg_1730186905.png",__vite_glob_0_16="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAACCAYAAABsfz2XAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAF0lEQVQImWPUtbX5z0ACYCJFMQMDAwMAnPkBqZUzAIUAAAAASUVORK5CYII=",__vite_glob_0_17="/assets/bg2_1730186905.png",__vite_glob_0_18="/assets/bg_di1_1730186905.png",__vite_glob_0_19="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAcCAYAAACdz7SqAAADIUlEQVRIibWWXWiPcRTHP3+2vNWI1GpMWmNJQxb2crN5jQuzGysvIxe0hC0JizFMifJaiqghKZO3C1GszWttNi6Uud2uZi6QcrH+Ouv76PT0f9X8aj3/8/2d8/2e3855zvOLNB47xj+s5cApYB/wLN3wUWn6ZwDNwBNgvp4nhf8X0VygHTjg4uy5X/iMkRatAj4AxQ7rcb+LZVeNhOhY4BLQCkwS9gPYBCwANspG+63yH/uvogXAO6DWYe+BhcBN2bdkdzmfWsUVpCu6BegECmVHgXNACfAl5Gt2qfajwgoVvzUV0Syd4jowQdggUAnsAX7HSfK39tfKH8VfE19WPNGFym6Dwzr0ajyMIZQfA3sk/w6HbRBvkReNKMtXjmgIsKlRDvSFiK1JLgO9eo4L7fcprkk8QYIvpRPJUAeWuNNERfYixknmAHeAubK3q57rgU/Oz8QagTZghw6GdL6lMwa3AeeB8TH2fgG7gaupEKUyHKwJboswEPwKNAADsg2/Ir+sBFwpiRbp3ax2WJuapVkDos3tVcu/KAZXUlGrQT3wGsgTZnU6AiwD+oX1y250TZOnuHpXy6SiU9X6Z4BMR14BHHXkwRpSp1a4Ts9U/GPxJRS1Vu8G1jjMEpinL0mi1a5/+yPns1p85bFER+sU9kHOEWZTpi40ZYI1ETiop1+D8q9z0ytHvE3SGRadpnfycABqnpYBZ908DdYiZX9Cz8Wh/ajiSt2cNt5D0pluw2EWcEF/QdBT4HuIzJpir8SCWs/UyLPX53QowS518YpQQ+Wb6PMktULN0AKsCp0oogTsvrRU39kB52OJ3w2TpTIcrCs/hgQf6Ht532Er5VeRjDCRqP0XjqsJsoVZc+wC1mngV8kOmiZb/scTXdbiieaq6A3Op1d3oQuudlHZS7QfcDYoPjdV0UqNsjKH3dD3tjtOkj3ab3FYmfwrE4mOUdb3gCnCfgI1wGb9TrQC3xrnO1l8xvv3shaIzgbeAjtde1v21vI++1SW+VtccEU1PuN9I51hUTuFXSdshNmyOl1U/T6nKRgsi7M6G09Qf+PvBGr+AOHtuYVjYdTnAAAAAElFTkSuQmCC",__vite_glob_0_20="data:image/png;base64,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",__vite_glob_0_21="/assets/bottom-2_1730186905.png",__vite_glob_0_22="/assets/br_1730186905.png",__vite_glob_0_23="data:image/png;base64,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",__vite_glob_0_24="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAARMAAABPCAYAAADIkiGAAAAACXBIWXMAAAsTAAALEwEAmpwYAAABUElEQVR4nO3cwWmCQRRG0WcyiRW5TgspIUWkaqtwYwf/hWHgHHD/VpdvFLw9/v4/B+CiNTNiAlwmJkBivT8Al1gmQMIyARJrZr52HwGczzIBEpYJkBATICEmQEJMgMSame/dRwDns0yAhGUCJMQESIgJkBATICEmQEJMgMSamfvuI4DzWSZAQkyAhGcOkLBMgIQ/lAYSYgIkxARIiAmQEBMgISZAQkyAhJgACTEBEmICJMQESKyZ+dh9BHA+ywRIiAmQEBMgISZAQkyAhJgACT8NAwnLBEiICZAQEyDhOxMgYZkACTEBEp45QMIyARKWCZCwTICEZQIkLBMgYZkACTEBEp45QMIyARJiAiTEBEiICZAQEyAhJkBCTICEmAAJMQESYgIk1szcdh8BnM8yARJiAiQ8c4CEZQIkLBMgYZkACcsESKznz6+YAJd54gCJF8L3BLlWLDpQAAAAAElFTkSuQmCC",__vite_glob_0_25="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAM5JREFUOE+Nk20RwjAQRN8pAAl1ACgAFIADLCEBKUioBCQUBcdsJ2HSfDS9n53Z173di7n7CDhwNbOJDePuL+AGnMzd38AZEKgLCeIH8AUGAfaAIIceJBNfzGw0Od4CqYmlnQE9SEu8ALQgwBOIO8+205z/DhpO1IoyUmCFuHCQQT7ALnxTOwq6mMJBWEU9y3acZsW1FaJYtu8hg2bFC0At7V7FaY3pnxeBrUHiITXFvTvRKXfFqxB3jy+w2nPeW7bO/BoHYNr6lBM3R13lD4vRnHXgWmt9AAAAAElFTkSuQmCC",__vite_glob_0_26="/assets/choujiang_1730186905.png",__vite_glob_0_27="data:image/png;base64,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",__vite_glob_0_28="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAATVJREFUWEftlsEKgkAQhmcJxbpkhyA82SHwlo/Qq/RmvUk9gt2ELp4k6OJJQwljD4JY7cwvmBe97sc/3+7ODioa+VMj16dJoPcJuLXvOuS4dxUnkmv8xfcS0GGLan4mIj+3im2mkswkYeJhgVZYSFRfUzsOhcW/8pBAt3huPQ+m3Ut4sYAkrH0SUl4kIA1rBBCeFUDCtADKGwXQMJTXwj8F0DCUb67rqwAahvLtZv0QQMNQvjszPgS8MoiI1F4PGe6d6zCUlwhkRGpJVJ9SOz5yc94rA4hnBdblLrRodpFKoDwroAE0FOWNTdgsoqEob3yG/5RgRzG6M5RnBYbuCZHAkBJigaEkIIEhJGCBrkRuFSvup7TdmF2+l4CW2NSB/6pe7sO+Rdy4NvG9BSRFJcwkMPoJvAEmPGww9Jw9pQAAAABJRU5ErkJggg==",__vite_glob_0_29="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAATBJREFUWEftlrEKglAUhs8lkmhyCcLJJXCr3qCepFfrUXoEt4SGmiRouS0lShhGgtz0nvOD2qKrH///ocdzVfTnS/25nwaBnycwzwM/oURrddGS14PyZuaPgJcGmkidH+PnViKB8hKBkEgtiSiUSHhpAPGsgJv77jSbHKQSKM8KFAAaivJVicbPEA1F+VLCugfQUJQvJNhFhIaiPCvQ9UyIBLqUEAt0JQEJ1EnEznFtW9nmTJg8LFCUeWmwJ1I7ovweO5HLnRk2HhaohmX02tycU2gT4HhIgAszRSS8WEASVhWQ8iIBaVgpgPCsABJmDqhkRqwCXZdbz4I+yhsF+iqvFeizvEng8zcsGaDv0EE8+0s2Sxer0Xikryq6cCu2uI/yrICktE2G3QNtltVlDQJvhDCQMBzEZ6IAAAAASUVORK5CYII=",__vite_glob_0_30="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAdCAYAAAC5UQwxAAAEPElEQVRIibWWfUxVZRjAf+dw742rBSEfdqMZ1Rp9bf2Ry9Y/LVcba1mtxCjzzlqxlRRqH2srpCjbbJqVLkkI9GwlUmGBXzXQRMIwohm42koxzN0EA5TB5d5z73nbC4dzP7hwAeez3bv7Pud539/7POf5uApC4yJlIVAKzAG+B1bgcvdNdKR6sTT+/Od54EYgFXgCv/4FHi3l0gFfKx2g0xNaO+w5JjTp0gB/6noP99qTHDsRCdUD1bGg8d5hOpAFJI/YTiTNx+ew58haVuXeQFpyyEgP7MduW4bLfW4yoNzxNLAcIa4DEuNGQpjfQthJiDL1+mtxOp7E5R6US1vU1gcwxCeoyrWj15nYqQixzGLYG0YODW0ZQGc08EWE2IiqJFgaPQAXBmHIB0JM4qECRhAyUmB2YkgfCMK6Kp2yA0NjqjHgUoT4EEUZjUfQgH1HoaxOp/V0LwaDVuAmQLLs7lkUuV2WmxL2thak/OBq4Gw4MJsh3yZmXTYK8+tQVGmgNX0JbAR+xqMZE6JcbvBoz2GILajmOzDEGKwA2BpubuNMTyGZ6aFC/XR3EK0pH49WMYlHIfFoj2OIUlQzOtKz4kpBRWOB2YEixIaqPmwpus7CjvoNU4ZJOfrHEu68KQR7a5tBReML8uphl1oAPCITx0Zq0lXWg0Pt/XQOrJsyTMobZV3kLoSrU2FvS5Bdv6yIgiXh9e/E6RjJfBsOe6hw+geO4NF6pwXs6Hmfjp06MA/4yvyEpOZwOvffcQ04YFwdpiefmhbM9EF21AmfdvdFNA7bSH2NFXh3f3+MLdlAvtlxtsu3Nq3rzM++nsudVkewUfCR4K7bFI6fhIbWJl56NNz8Vvz6Hhz20c4zOHwvsxPnA0Mxjo4tacnLLYeEwEZNWx41bfcAvwIHwjbdgl/fbcEYyci5bKpJoKZkajCZnT79QWvd3okNj1YNVEeZZpueZVmaQ8fg5c0/4PFPzTuPdjNefxVOh8PS7W05Fd28xzzbh8M+z9J83QiF5fsJ8iweLRgHNBdYQiC4BqcjzdLLVrmj/oPo8XQ7fr02Aibb1H/nL5B+ZdcUBnYiQqShKJGD93C7jE4dp7154UCV7r5dZKQ8FOfQqYvsy1o9rK9q4LzIA86FQiqbcPHiDPIXgRo212TZBM3eHW8+SlvZ3uRIa/kdttb5aT2zGVgjc5yIwpcTIcv9OV7/AlY+pliHS9i27wyaOwROx+REny74+98AJ3p68XLQnDat4SaRSeNjC+trUxGimNW5o4fbEmDpfT6ucG5gZeVvccI5bE72v8zf42T8fxqXW4Le5JVFJaxaHAqvIQKoylNmCYkw+zh3iJTxZeHR5GHv4HILECUjnsrwqoqNweGP6R/4lsz0mLefGTAEfpdMt/SshGdyRqHfNDv4sV3ls1dnykMhNA1jP4fXgUKzBsuBIplKM6IB/wOwl5f3EZl7sgAAAABJRU5ErkJggg==",__vite_glob_0_31="/assets/event_1730186905.png",__vite_glob_0_32="/assets/facebook_1730186905.png",__vite_glob_0_33="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAAtCAYAAAAOYyOGAAABN2lDQ1BBZG9iZSBSR0IgKDE5OTgpAAAokZWPv0rDUBSHvxtFxaFWCOLgcCdRUGzVwYxJW4ogWKtDkq1JQ5ViEm6uf/oQjm4dXNx9AidHwUHxCXwDxamDQ4QMBYvf9J3fORzOAaNi152GUYbzWKt205Gu58vZF2aYAoBOmKV2q3UAECdxxBjf7wiA10277jTG+38yH6ZKAyNguxtlIYgK0L/SqQYxBMygn2oQD4CpTto1EE9AqZf7G1AKcv8ASsr1fBBfgNlzPR+MOcAMcl8BTB1da4Bakg7UWe9Uy6plWdLuJkEkjweZjs4zuR+HiUoT1dFRF8jvA2AxH2w3HblWtay99X/+PRHX82Vun0cIQCw9F1lBeKEuf1UYO5PrYsdwGQ7vYXpUZLs3cLcBC7dFtlqF8hY8Dn8AwMZP/fNTP8gAAAAJcEhZcwAACxMAAAsTAQCanBgAAAaaaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzE0NSA3OS4xNjM0OTksIDIwMTgvMDgvMTMtMTY6NDA6MjIgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo5QTJCNkU2MkI5OTkxMUVEQjQ2QUVGMUNDOTYzNURERCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2ZWNhMzlkZi1hYTMwLTVhNDktYmVjOS00MWRhNGYyNmM3NDUiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo5QTJCNkU2MkI5OTkxMUVEQjQ2QUVGMUNDOTYzNURERCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDIzLTExLTI5VDE2OjU4OjQyKzA4OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyMy0xMS0yOVQxNjo1OToxNyswODowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyMy0xMS0yOVQxNjo1OToxNyswODowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJBZG9iZSBSR0IgKDE5OTgpIiBwaG90b3Nob3A6SGlzdG9yeT0iMjAyMy0xMS0yOVQxNjo1ODo1MSswODowMCYjeDk75paH5Lu2IGZhbmh1aSgxKS5wbmcg5bey5omT5byAJiN4QTsyMDIzLTExLTI5VDE2OjU5OjE3KzA4OjAwJiN4OTvmlofku7YgQzpcVXNlcnNcQTAwNFxEZXNrdG9wXGZhbmh1aSgxKS5wbmcg5bey5a2Y5YKoJiN4QTsiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo1NTU0RkQ0Q0I5OTkxMUVEOEE5RUM2M0ZDQUVDQkU5MyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo1NTU0RkQ0REI5OTkxMUVEOEE5RUM2M0ZDQUVDQkU5MyIvPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo2ZWNhMzlkZi1hYTMwLTVhNDktYmVjOS00MWRhNGYyNmM3NDUiIHN0RXZ0OndoZW49IjIwMjMtMTEtMjlUMTY6NTk6MTcrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5gSwkzAAAC5UlEQVRogc3az4uNURzH8dcwkzLTsLGUhZ2NFUX5PSjjRxQrsSF/g4WyEGtRWFBSFgoRSYiSkZkFK0UpSSxEkUkYrsVxM6479z7POee513t56znf87nf83zP98fTU6vVlGX/0wulnylALyYwA1/rPx5ZsKP0QtPy7SmJA3iO9xjDUMpivTl2lMACPEQ/en7/NhvXBWH3YxbtpqeGBa8M+COoTi9OYjBm4W55ahiX2tifF7t4Nzy1FBe1/0On4VOMgU56qhdLcKug3ShBdNZTmwVBff59h5oRfW90StQqnBcEFeErDsYa64So9bihuKCfOIQPsQarFrUKVxQXBE9wOMVolaKWCZdoGUHjgmeTqErUMG4LeVxRfmKFhGNXpwpRw4rdQ42cxuMcG8gtarv2mUIjNbwUgkMWcl6+m3EuYs0JrMHrXBvJ5akh4bIsExQIXtoneCobOUQtxjXlBcEjnM2wh79IPX6LhJonZp3PWJdovympnrojTlANe4R7KTspoq4KFWsrpkpcJ3AvwXZLYkX1CxdlOxq7OnWRH1VY9sSKGhcXGOoiv+FtpO22xIoaFI5QLDMTnm1LrKhPeJBgt1+5vLAUKYFiF75EPtuHrQm2W5Ii6h02iT+GpzA/wf6UpN5Td4W66XvEswM4nmi/KTnSpFEsFydsnZD7ZSVXQjuK1eKO4lHMybQP5K2nRrBNeY/1Ce3nbOQuEq9ji/LC5uJMrk1UUc7fxEblj+JOYQqSTFWNl9tCVPxW4pnpQn0VNemYTJUtslFsUO4ozsTlVMNVNzPvCiG7lbDGTH4F9qYY7UTb+azWF3RjzdWDY9rXalPSqQHBGNYqHjz6cCLWWCdHOfcFjxUVNiSykOz0JHFUGBoUETZLZCTsxnh0ROhCNXvHJr9fNZF99W5N519onnlMjoSvROaE3RI1LrTXFvoz250s6Ad2CzVbabr5HcUEngneOIA3QoPzJVZKSHJ7Yr5N+t/5BQWOgpAFqYXbAAAAAElFTkSuQmCC",__vite_glob_0_34="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAZRJREFUWEftl99Ng1AUxr9zkcYXlQGk0SdhCtsJihNYN+gGuoEjWCeQTmCdgvqkKQ5A41sRjrloG0BDuUBaTeCR3HO/H1/OPwg7fmjH+vg/AC8GjOWhPmAmB2BD1TkCXhmxa/nRJB1b2gHP1MdEdKkqnD9PHF2c+ZG7el8aYNbVA4CO5AUxU6AMIkSPgGtmvrf9cFgBoMMyyJovS0OnIb3jvR4J8cjMT7Yf9lqAv+lAUmoH+i0THIC+So15avlhf9bdQg54pj4kort08qySZisAM7PjgjDI16oE2gqAZ+pTIjrnOO7bbx/TtBMtQOtA60BdB55NzWHSHsCYWP7S+bUVF5bhd49QHsO5AGa+sv1wrAyQjFMSI9moqkHwghnu/ns4Og2w3icys73IgWqim6MaB0g+AmA5wDbLI7sVN+GAarI27kBdgGTzJeBGxHFmGJWxMyI2QJoL8MKah6VW94wD61oto1ZwJr/5Fl33Y8OVEDGEbBQnqhwEChgsS81Nl5oSgKpo3fOVdvy6opV+zZoUTd/1CYPEiDCYIEKXAAAAAElFTkSuQmCC",__vite_glob_0_35="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAIJJREFUOE/tkyEOAlEMBWccx+AmHAGJhCNwBCTHweIWBw7JUXCPrCH8hUCTRSBoUtHkdZq0rzIyHNlPA0gyARYF6Em99LohYAosC4BOPTSAJDtg/qH5CmyBl4AOmBWmb/4AfmMHe/U49EHpjGpjvnuRZAX0+S7O6vpR8N1nKrjwSXIDNKZEEemGHAkAAAAASUVORK5CYII=",__vite_glob_0_36="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAZCAYAAAAiwE4nAAAACXBIWXMAAAsTAAALEwEAmpwYAAAEnUlEQVRIibWVa0yTVxjH/+/7tm9XaAtI30JpuVgKKpSbaJwjZMhFnUHUIsI2l2UuZi5Z5mK2D9uHZfuwS7Jk+kWzJWQuw7ixzTCdDgyIXNRxv7Xcyk2BFrm0097ojXYf9DVNh6BT/p9Onuf/PL+c55ycQyBAyaqUY8kpqe+Gh4tTA3MWs/n24EB/eWdH2xcAECmNykpLzzihiFeqA71er9c9OqKr7O3p+nZhfr6bjRPsgsPhBL1SWHRJLo/Oe1S0tORadDgWaJoWcblcARs3GPRNBv10w5at2z71hyza7bMgCJLP5zP+8Yb6a0cHB7Tlj4AEQVCHyl7vWRcergKAuzMzt/p6u08a9NONDofDxOXSgojIiG2qlLT34tYr9vo3c7tclq7Ojq/Gx0YvmM33J0AQRFho2IZ4ZcKhzVu2fkwQBAUAjQ31xwa0mu8JAMgr2FWRuGHjYQBob2v5rKOt9fPAEbHalJT8dk5ufjkAzM/Pdf11+VKh3WabWc4bEhqaULRPXScQCmMAoPL8ORWxLjxcVfrqYQ0ADA0OnL1+rfbI42CslAmJpYwkYkvr3zc/8Xq97pW8/KCgiDfePHKHoiieQT/dQG3Pyv5GLGbSHA6HserCr1mrwQDAZDL2T09N1vp8Pu9qXo/bbQPgk8mjc4UiUSwZKZW+BABjoyO/PQns/0ir6T39cEmQfH6QBABMRqN2rYBOp/Pe4qJ9DgBI9hZ5fV7PWgEBYMmz5AAA0ul0/gMAIpFo/VrBSIqigwUCGQCQJtODUcrlMflrBZTJZDnsJMmxEV0lADASSSYjkWSuBTA9I/MjALDZbAZyeGiwwuVymQEgL3/XT88bFiWT58ijH0yvX9N3hgLgs1qtU4p4pZrP5zMcDjdoemqy7nnAuFyuoKT0tS6Komi7zTZTU325mAIAk3FBwzCSzNCwsA1SaVSW1WK5s7Aw3/OswOKSshbhw2ftz4tVBVardYpkk1err6jN5vvjALAjr+CsMiGx9Flge/er68QMkwEAN5sbP5idvdsKABRr8Pl83tERXWVSsuooRXFeiFcmHLRaLJNPu1OSouiiA8X1Mpl8BwD09Xaf8v8MKH+zx+22jY3oKjduSn6LoijeekX8Pp/P550x6JueBBYUHCwtPljawt52rabvzI2mxvf9PVRgkdPpvDc6ovtFoVCqaR4vRCaP3iEShSgmxsf+WAkmjZJlHyguaRYIBNEA0N3Z8fWtG00nAn3/AQKAy+m8pxserJBKo7IEQmGMWMykxcbG7dHrp6+zL5O/UtPSj+/cvaeSw+HwAeBGc+Pxro72L5frvSwQADwez+LQ4MAPQqEoTsww6cECgSwpWXXUYjZPmIxGDQDQNC8kN3/nj+kZmR8CgNvttl2tvqLWDQ+de1zfxwJZ3Z4Yv+hyuu7HxMbuJkmSq4hXFtNcWkhxOLzCov01EZHS7QAwNzfbfqnq95y5udn2lfoRKyX9xTCSzfm7dv8cGhqWGJjr7ek+udx5LadVd8jKbrfNDGg139E0LyQiMvJFALBaLVO1NdVlWk3f6dXqn0lJqpR3srJfPiUShSietvZfZd+/2ffJzm4AAAAASUVORK5CYII=",__vite_glob_0_37="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAaCAYAAACgoey0AAAACXBIWXMAAAsTAAALEwEAmpwYAAABsElEQVRIicXWvWsUQRgH4OcWiYogiqWFaJNgI4iCiBLRKIhgZSGWYmEjCir4L4iF2iikUoIkWJkqNtHCRrDQFcHCsxC/EIUDEz9IYSxmBi/H3t6Huc0PFo69d/eZ3bm5eWv5yIiSbMYw/uA93pYVx6yL9b/KirKCc2txBs/wAbN4jHo8LmNjyzXDGMdnzONnvHYCh1FrRWotT3wAd7ClbLT4hgu4h3O4htUl9U9xFnkRfDKOcFUHtN/8jsY0/171btwdIAprcB87m+EbGBogmjKEmwnehr0VoCn7sDWLH6rOWIZNKwBvz9BYAXhDpmltVZi5BH+pGK5nwv/qeMXwk7SOr+NrRWiO5wlu4HxF8BWW7k6TuD1gdAIPW2HCjvNoQGgu7FCK4AWcwMtlRt/gmLBPF8KE+R7D62VC6ziIj80ni2DCL/wQXvwnmmNU6EaWpB1MaGNG9T/nM9iPT0VflsHwHUcx1QO4iKs4jrl2Rd10HAs4JczRxQ61DZzGg0437fTEKYu4FAfwo03NLHZ0g/YCp0xij7A8UuaFTvOI0Ht3lX6au1fYhVtYH9F3vd7kL7igV8Ge2M/6AAAAAElFTkSuQmCC",__vite_glob_0_38="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA2CAYAAACbZ/oUAAAFPUlEQVRoge2aCYhVVRjHf28cy7ScpsUMSqONgbLMaKMCK6PGFsoWbVNcSipQyAwSsoVoI7CF9h0qyxayTBEpWgixRSpsbCFp1WymxSXLaubFif+Vx+t+5y7vvDsyzR8ezNzz3XO+/z3nfNs5JdYsoUD0A2YDV2vIh4GZwK9FqdBQINk9gZcryDpMAV4D9ilKiaIIHwq8CpwY0zYCWAwcU4QiRRA+VWSHeWTcDC8AJtVbmXoTngC8AOyWQrYJuK9qyQdHvQiXgGuBx4FtMrznZG8C7qiTXnUh3B94GrjOI/MZ8K6nfTowD9g+tHKhCQ8FXgLGeWTeBE4GTpeshXNk1fcNqWBIwgfJ8MRZ4gjPAWcAXwFrgQu07C0cB7wCHBZKyVCER8q1HGi0l4HbgbFVQcYmYKKWf6fxbotm+rQQioYgfDEwHxhstP8BXKGIqmzIXA9cog8QB9f3XGByrcrWSvg24F5goNH+I3BRSqv7KHC+lnscBgAPKjTNjbyEm6Sgm7VGQ6ZNy/D5DP3OF+kVRnuDVoMjvmMOvXMR3l3GZ6JH5i1gdILrsbAUOAV4xyPjttFT0iUTshJ24eGiBEv8mBT+OgfZCN8ArcCTHpnRsuAtWTrOQrhVbudgoz2yxJcCG7MoYWCDjNQcj0yUlBydttO0hCfLSg4x2jcrBp6pv0PhT1n4WZ5+91YAc1YIwq79GiXqTYaM86sXArcGJFqNm2UzrELBLsCzwGVJnHyN/WUNb/DIfK69lMUS58VchaOrjPf7APfIVfa1xrAI7yUSPkfvakMnyaoWhbeVX7/vGW+Gkpcd0hIeLrKtnk7nKQ62goR6YqVmepFnjLOBF+PcVjXh44GFsn4W7gbGA+3dQDbCGpF6xCMzSvH98MqHlYTHK9LxOfNbgGmBLXFebJILfMjz/jCRPiF6EBF2JJ5IkXCfBxzVbRT/C5d3j0mQGaTl7bbBv4THZXApQ5W/+vZ3UZikFbdzivEGKskZ6Qrx7fJjWfCJqhbfed4ZoarFkcp0ujyyJf3WAW9oRlZ65PcHPga2zaj3ikadBmRFs34W4RkqxmUp4EUYpehqmhKEOAz2+VoP+jYo8W7L+OLfnhmbrZg6D9kIO8kYTTHaOz0VEgsu+5raqAhmgfbyAUoCyiLUoswnLaYrXw2B7UT6Zy3xNHCx9zNAR8U2QWRdZrU5St43GOb9zAyED6m1GmHAZUvLgO9TyP6uUPhLS8CqVkTIYhTGaCnG4QdgfcUXr0ZJycmuMW1DFE4+kEKHklaGiSTCWWBFZwuVTf2mAD8OnSK8xMi3D09JOBEhCQ8wnn8I/JLi/XYtxTjCsYlAHoQsxFtWO+1HbQg8AeYg/yv0Eu7p6CXc09FLuKcjJGErO6olawqOkISXxTzrypF61hUhCbuE//KKo87XgXM9SXy3IGQo16G6katZ7wF8oYRhq0ISYSudK3uuL3Tot1UiaUlbpPrlrCkljWUlINUf3tLLer4FSYStmXK13mOTOs+IclLyXgFrq1grcguSlnSb9uJ+MR3P0pXgNimbOJgHnTrAO8IQqTzDalZR3Zos7yQmEV6tg7W4C5/uSOaqNGxqRJdu76EVcJcqKHFwZP/yDZfGLbnD8E8LIGbhAxXnm3V/xCKLCvmrfZ2lIbxKxxrfBlE/G36Sb9+o0/2xCW/PEWkTaQOPpTr8XlwQUYfluuf1nv5PuihzP3BnUqd9uNKdkqaCs9juGpErtrnDKVdSDe2a3H79SDXyqVX1ZRfBOePmPERUznX71U2Gu6t5Y8L5FQD/AJGg/ZtCdIuOAAAAAElFTkSuQmCC",__vite_glob_0_39="data:image/png;base64,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",__vite_glob_0_40="/assets/icon_0_1730186905.png",__vite_glob_0_41="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAYAAACpSkzOAAAACXBIWXMAAAsTAAALEwEAmpwYAAACfUlEQVRIiaXWS2gVVxjA8d81Z6SFYiIGwVolKook6cJH200b8AFCfSAIKqIo+Ch0VShuXPgAoaWu7KquqvWBIi60CqLtqtWFggqKj41KItYuClp1romCLs5cnIyTe2/iB8OZ7zHff86ZM9/5Kr/cX6+BdGIZ5qMD7UjxEFdwCn+iv16SUMf3NXZhbolvLCbiM3yDx/gZe/CsLNmoElsbjuHMEJAyacN23MJXzYA+xl9Y2SDx/7hRYv9EXMa19UCtOIvuBhDYgU+xt8SXYL/4XUtB+7KHm5FH2bhnCH8LfsOUIqgHq5qEwJNs/K9OTKu4QUB4GVk/DQMCd7LxgwZxS/A5LoWXQie+GAbkd9zN7ic0Eb8Zl0K/luXDgPyN1Tl9fjb24Zr47eZgdi5mGbaE/kpY0CTknrgUaaZXssTTvJ0hfJiLgfGYGl5IOgoJU4PLyUd4ihXebgJ4jRMlLzSuxDYtVCVtBeMP2J3TT+M6rpYkKJOyEtQaqpJqwdjMD1tP0hJbNaSSf8UCWZPO9wR1ldj+CankqsG7ZKZY1V+NEFSsgQO4FaqV0X9gY86RYAZujhA0qaBfRBpSySnxPGnLObveA7SzoB+CUJWk+DG7atKN4yOALMK6nP4AR2ogYvH7FpOzgC+xMLtvF4/weeJPe78O6LuCvhVVqEzv/bVm7MF5jG7w1r04J55dV8QKHrAN3+fiDmBDTalM7juYT7JGPEdaGsAayXmxXA3UDKF/cM4jeJ7BxowQcgib8hAIA+82QicxS/xui4cBeCgu3dEyZ3hV2gi5K0691k4tFatwUQZwAYfFmQzZ29Xr6+BydlUwVewBxuJFNoPb4lI3lDcEF4ahISOKowAAAABJRU5ErkJggg==",__vite_glob_0_42="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAYAAACpSkzOAAAACXBIWXMAAAsTAAALEwEAmpwYAAACkklEQVRIia3WX4iVRRjH8c95d44mwe6a+YcMMbuTvCjahFAv8kIw21UE/4BRWtp9BVEXQUIhdiF4lUGgoqYFYVL4H1PLCwULQeymCIkTemWR5+zZV8qLOUfPeZ1zdlf9wfDC88w833lnnpl5Sp/98ZpRNBeDeAmz8TiqqOAiDuEk6t2ChC6+pfgIzyd8kzETA3gLN7Adn+LfVLAsYevHAXzfAZJSPz7EFSwcC+gJnMWqMQKKelJcxnXdQH04gmfuE9JUGTvFfU2CdmDeA0Ka6sFuPFUELcLqhwRpqk9MkAjKZXLZ1sa3tf2Sy4Zy2fRcNjOXDeayH1r8p3PZklzWm8sezWUrctnlQoxlueyFXCbkwlzML8zmqLjGIy22Cg7jO1wV0/r/Fv9BnMKP2vd5I86Hup7lid/+oABp6hY24J8CpKm/8Z54NJoaxKZQL4XFiQGXEramKl18xOPRqmmYE4aVZyc6P4browTspKkJ29OhptyfcKzRkjHj1IaErS/UlGsJx2Ycw6/jhAzg3YS9FqrK18QLsm0GYgYN4fwYIQvxDSYmfH+FqvLPeC7hnIHTeF9cxv86AHrwNj4Wr5+iRnAl1EoTTuCNDkEewTasxOv4reCfhS/xYofxcA7VUFU+JL4n/V06LxAfuTfxdcM2hC8wpcs42AOhplzFlkbrpl58JSbKMD4ZpT/8iX1Qmnf1c5gkZtisMQwej9ZiP4ThuH81vIrjmPCQILuaEAj10p2y4QzWi+9IzwNCjmNTqyHU22Puw80GrPc+IXvEpGm7lMPIvYXQt3hWPDsvjwNQwTtalqsNdCtZCPkdy9wtp14Rb+GiRvAT9op/0rG261bXwYVGK2GOWANMFtO7ImbqzVFigNuhiJ4yQrfl9wAAAABJRU5ErkJggg==",__vite_glob_0_43="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAYAAACpSkzOAAAACXBIWXMAAAsTAAALEwEAmpwYAAACDElEQVRIia3WP2gUQRTH8c8ls8Em5oJioSIau6CC4p9KC+38h5U2iogawVZsBTvRzko7DTFoaUAQoo2iRQStJFYiIpF0iX9uc0lQi7mYy7rZ7MV8YXjszr73Y2Zn3nuVO5/OWoJeHMdBbMZa1DCGtxjCc9SLgoSCucO4jt05c93YgD24hAncxi38yAvWlvOuikd4sohIHlVcwyj2lxFaj5c4WVIgy0ZxG08XCXXhKbYtEmQHKg1bRIJ74n/NFbqL7QUBPmdsEe3ox5as0AGcKhGgFbrEAwLCTNS6WcKxnrFlOIq9GAkzQi/2lXCaytiyXMRIqGs/0aJjqxxHX6hXwqGSDm34Jf/uFbEOPWFKsrmkQycmG7ZVtoZUUl2GY6t0hVSSlvz4Z8N+E3PdRNNcVbzMHViD9xnfNNQk42KCXIrZhv2dEZF5Hs/x/RpqknfYVUJotbiaBKvwvWmuU6wEiVhGmpnGaEgrHc9wvoTQZIlv8niNWqhJhsSlV5cZaCkGIKSSGm40xkrzBYNzQsTkdxmbVljoKlIIU1EoxRkMi0d0JbiPh3MPoV752za8wDmxjrT/p8gw+ppfhPrCmIPixewXj/NyGMAF8VjPC03/2wg9xk7xvx1pQWAMVzRt1wKh2fxk/FEsWnPt1DExC2eZxis8EFeyaFEs6uvgTWNU0CP2AN1i8RvDB/M5sJA/6KduNyqq34YAAAAASUVORK5CYII=",__vite_glob_0_44="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACkAAAApCAYAAACoYAD2AAAHAklEQVRYhb2ZCZAVxRnHfz3TawAPMBEVF148421EFMWrMEYFseL1RDwAQ2m0LFapqKVFvPC2FInZWBoVQ8LhwZalJlmwsDxABRUFTZR4FBbPXZHgtQrrgLs7qe/tf3AYlvfeLshX1fV6pr/p/vfX39Xfc2OXnUkXqQroDwwCDgN2BboDHoiB74FvgI+A14BXgPezS9Xm6squ7ruAz8CcBwwHDqqA/1fA74AIWADMAGYCX1e6YGdA9gauAi4Etk+9bwI+UGsEvgVCoCfwc2AfYE+gGzBY7WpgEvCgJF6SKj3u04G7gd313ALMAh4D5gGflPh2K4E8QdI/MjVm315em6tbVGrxoNwmgFuBJ1MAnwCOAn6joysF0Ggt8B5wL3A0MEzgjI4BXqgp5M/vKkhThSnAeD0vBU4FzgZeL7O5jZEZVD1wHDAOaJZaTK0p5H/fFZAPAaPUnwMcCzzTRXBZapVkT9DmjSbWFPJjOwPyBuAC9Z8CTpNRGA3QMX8lFzMbOEW6l6adgevkdpr1e1XG6F4Ffg0s0fMfawr5oZWAtN1dr/6LcjfNeh5ork3H/gYwV37yH8AEoJf4DgamAzfJyOq11i3ANenFanN1H0sIn8krTK4p5HcpBXI7gbD3nwIjUwDRswG9BzhLEjQ/uFiLmwFsC9To/X3aRB44A3gTOBnYNwP0A7m2NqAPcFcW5Di5kxwwBthbY6bIDZlNGM8qWfRavbOFzbg+1kKTgXM0581SCRShvNSie/b4anN1/wIe0OM5NYX8scmYX0N4JVAtx5q4GYtVj2cnAuYDQ6UCC4G39P5Z8V8B/FJjdwIrNH4gcLvC5/2p79ajNYQ3yif30cnMLUoywtVFOCLcSRFurwjXFuGiCDc5wg3UWNLuiHDXRbj+EW5ehHs0wg2PcHvo+R3xvR7h3o9wQyLctAi3IMIdGeFuj3Dj03Om6cHc4ysj3J80duKowoj+RUk2E/wFuAT4SUoFEufaA1gm/4aO2vj+LSsfodYq3X1O8dnG/isfSFFI8LZ07hLpvlFLvnDu0rrcjCkJ1maCqZJiT+n9Ir8Kv0STD8tI3xb7M/ByR0eToVAGU68jui8FEG1skNr6J9yeIa0DWZeb0TikMOolRTQ7+vG+qTh/0bEOUabyNPAI8HxKgpVSd0m/XLhNyCS7OvuyiXCmQNom8J+2g5zTxbTtR6H5ub9OA6Ylc/uC26zYnFxNVSf4e5Rj8u3qVJIe05GsSTHF0sNuKd9n9C6wXKFyhXLFFqlRNm/0mmODbH3DnRQuq2THZq39NKktuo2c9CJFpjbxba3+d6lve8hP7iov0CKAlhwvivvd+79yi1ciSZRwnJRJIixduygVlQzIAcrgl8jwWgVokFK+3uKN5dps3r9XALIinWzWggktk5v5UM/ddI8xq/4cGC29rJfELVE+RLE/obZKrg6dAZmlfwpAcqyD5TJekAqMksOer5RuucLuL4DDO7tY0A6yU20W+Mngv9B3O4K/DHwOfBP4tcWUAH8U+OHgQ/Ax+MXgp4P/Frz7Yc2KJFmRTpJy0D2Vqr0h6di95UCNtcmtrFI2dZai2X5SgZ/J6rftjCQ9rujSztctbkIqc8lSYsHJbW9/9c0Y+mR4k0h1kKJX31SGRalI5hpu66N8wDZ0W9x3fHMiyYnAjsqOb6pwg71T1ropPAJ356HAbyG0O/ZOem0Cq0108j39DltfX7ZEM4ATx4FfAP5S8Dul1r3QNUysSqz7CVnoALWFFUpzM5HfQ4FitZx/kmiauhwftI+FT0H4FYQhhDV6t4WaUXgthEMgrNWaMYQt6l+egFwO4RT1R0A4cEuCjPuObYJwDoSnQujUv1U8u6Wd+STdtbdXf3AqImzND9suRYGiT/YO3hGF6/P5u1O3yElKHy3kLkz7yU90u7tHrsUuRX/Q2JOqM1alXFGaErHM1TzTFW1aOuB3soqVwH+KLxoeOcWOVeN1cd8xs9V/uP2DhinZxWapQBBLsmUTgE2kQ7XmDpLcEXH16Mb0nD6T6be2+6pi1Wu3ZCc/ItDDdUo7KF8dHVePbMwyBR0ocyOEZ0C4AsIqCP8G4QQIO+LdlGYGOhvCXSBshXBMXD3y+Y52ErRLcoO2GIKhECzV2PUQPAvBgI3wd6b1g+AhCB6FoBcEqyEYGVefO2Nj4nY0dFSoWEc5lQBP1Au7BkxVOaTDKkQJ2l2qdHEqVNrV4aK4evi8Uh86GmaWm9yrfHJ1qmz3vcp29bo3m+V/Kb2K5QV66cpxiK7Lx6fu4q2qGV0bV+dXlgNQCciE9lQRa0Smxmhk/yRYRm4pmrkcC20/VdKSJity2cYsoSkWHeJqK7htPpAJmQpYPdFqlCalpCa5MbLs3Wrm5masEGbllnVUFiTwf+9V1V/HMTgKAAAAAElFTkSuQmCC",__vite_glob_0_45="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDcuMS1jMDAwIDc5LjljY2M0ZGU5MywgMjAyMi8wMy8xNC0xNDowNzoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIzLjMgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjg4RkUyRUQ1RTI3QTExRUU4RTRFOENCOTEzRDBFMzY4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjg4RkUyRUQ2RTI3QTExRUU4RTRFOENCOTEzRDBFMzY4Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6ODhGRTJFRDNFMjdBMTFFRThFNEU4Q0I5MTNEMEUzNjgiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6ODhGRTJFRDRFMjdBMTFFRThFNEU4Q0I5MTNEMEUzNjgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz63vq0AAAAEyklEQVR42ryWaWxUVRTH35t2hmoXbC2KYTpls7ihmEAQRYP6wYWomKYkGJaKscY9dSsStValCS6xhi0im0pQo034QAgioeDWEIJRosWqRKdTCsHQKsi047Qdf2f6n8k47WD54kt+uffd9+459557luvGYjHn/3yyz/Tx7WClS3Ou8EMFXKv3kZAHzbAGDkI//PVA6aZIJpluph2iLIfmGlgEt0n4H3ASuiEKPiiAIvVb4EP4BNpR3D8shSgroXkM7oc+2A2NsA9+l0IT5oV8uBhugTlwGXwHr8Cn6bsdpBBlU2hehZtgG9TDfsgyJemr5n9T6jL+N/1c+lXwJBTCS7CCb+EhFTJhMs1GuEIrrNcO7oTx8As0IaBD5zsJboZi+BY+M+F8m0r/DbgBnoPXbEFJhZp8HmyBWbCEH95iPED/ZZhgziDH+VqLGS1hF8EJOdEOWM7cHuZOpL8OZsICO1vGYx5tbrZMcb0JM2Uav1tns4WxW2mfhTIzE9RBD8yFheYkYP+Mson8b9aohqNa9KRkWEQdzzr1O+zAVwYXm9edchzP57TXwXTGWnlvoj8GVsGPWqQ51cPy4vWPlG4I8a9vwIs95jzLFDb3Qk3cpG8GqxIHae1XsBX+VBjcCPeAncEXCgszvzmCeeBVcLXmbbBjUojsqS5d24rsC+nvtXPmvTi+w4iT9Y1i6bC5srZv5hwhwblSUg4heFGhsCRloZfLu8+H4/A8tCK7i/YjuC9p0oibXSXbH6wNrOioa3u0Tp7nyEtTn3O0kJzU8NKCE88omdhkR2XS5qRClBxIldjjeBM7deQYPikwRW3wq8b36FuPLNEnRadtd5Jtuz8mDx46l3Y73m0K9Clydzu3XfCDhOYqJnfq+wzlWEfprUlnOujxZFDYBWWwEBZBAA41BJYfph0Lc+EuyGGshbYDZsBiqIBCxsPDrhZhx+tTajJHCcK77wdqf17QVkcG8VbLO810ZYw9zZiZaxos1dnnn7E8lbfV2yF3NgaW9klhTKbrlQdO5p9OBM+nP1VhM0IJo0WmnqCE3qc5yYe55lBR5J+KK+x2fWtp3rk99PrO7SVP9fLuaqLF3lh4QunpAlWK8EBicCzGauQ0Y+RAFrv9yLLjujSevVzfLFmqJls7miPXtjLUG45XnbjCRGUYKRw5UGL3rnJp6hPVoqxMNcjUBRobUMgh71XSvnJ6aDWlyJvIFu4Qx5ClOujN4HTZmmsJ/UspLlD8DkxA4RrIg8fBBxHIFU4aBRrPB3eI74Uma1/JQ0dpd0MW7IL3kk5DoG+n2aysv/+nksqGstCmRplNiTjuCDlaebM8+ISs0KvF+1QAmphP/fQu03crxIf+VYBL2zePV86znPiMOZE8MTvF61ydayRFQfpjddOuKOt1THZVWR30z+8bVPFHt38wTXnPKv5Kq/jH/PM6z+YaiIzZKtBWRWqt2iOjZ8grRlH7x652aCa4A75X1d7a6a84kkkJ8y7RVWOmirCFzQtWuJnX/Z+3toL2RssW8+BBVfjjuokdSTFpv7LKOAV9scYbZZ0DJ/3lvcO+l6LUpxjL08orJfi04rBIIbJDDheSc9mVogtlsbO6CKcpT2SNiSmxaZnmN5WecCYF6c8/AgwAhezW06ktDO0AAAAASUVORK5CYII=",__vite_glob_0_46="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDcuMS1jMDAwIDc5LjljY2M0ZGU5MywgMjAyMi8wMy8xNC0xNDowNzoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIzLjMgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjhFNDY4RUQzRTI3QTExRUU4Qjg3Q0M5MTBBMTMxOUFEIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjhFNDY4RUQ0RTI3QTExRUU4Qjg3Q0M5MTBBMTMxOUFEIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OEU0NjhFRDFFMjdBMTFFRThCODdDQzkxMEExMzE5QUQiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OEU0NjhFRDJFMjdBMTFFRThCODdDQzkxMEExMzE5QUQiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7Jv2FoAAAEwUlEQVR42ryWf0yWVRTHnwfeF+gXiEVDxg+lspWJONqyHxLYojIqG1NGSCM3odqaWW6ZYo2WVgtNnWYpNkqrrR+42bLSstSauvJnNrew3MtLGj9kRiG9Rb19Tnzf1wci8S+f7bPzPOeec89zz7333OuGw2HnXD6+MzW+Gqj0I66B2yFf76kevx5ohkaoq85q6MQngfe1cB+UoGs8q4A4jkRUwDQFGuw5D66EPOiVLiTs+XOggztYSglWgKiBWzzqX+EY/AhtCpatn26At+AiuBCehbtgFnwgm3ZGe9I3SLA7EUtgtFQn4FP4BA6DpTkJfvMEtn7Ww8UQDyPl+wTcr/Y34UXfgGCFiGVwmVQ79f0Zf9chm6cQU+AHdFOlG4FIhGR1Huk3QXqf3k+nFKdRiHVwo4wtFfPo9JDnh3KVvnHQDTPMDpse2rKVTkvrAijStGyEWDiOXdu/AbWyrHG++v4SqjA4rEBjENVws1Jt9n9BEPZAPbYfy9bVKn0A7kG/0ZvFmL6lFJML5WDvrbA4EmxFYMZ4vlfBI5ADCbKLhZFQAiuxm6a+4iEGwhBSH2MgyRPQVww4++z9I9hi+pcCVXG8z4KJatsHR4DOfG2wA3ohG57E/gpkCF6BMjiArhS5GiZF92HIic3XiDttNc7NWtUt/SjtMXv2Qyk8BqZvhdnwKEyHq2ECvk3IXcbzgYcKNZ82JXfAhr6Arm+cOg1q6TvS+zTh9pyv1WupcZWdJgXdrjn92jtf+KchMvSZFx3h744/Ucrj0BFxQH9EP3CVgq3VvrNgthXmgS2WN1RV+lUR/C0LJ7U1UqNz2MNeFr/AqYjDc5lLQnzXwV6IgTRIlq3Jx6ERNkMR9v0Cqr9u2ccNFtA6db1OSzNf2ImuGObDNujy2LswDPJheXVzzfUDArpe22hKTzn+sOZlGFygxeNUNNfafGVSzaycLYfF8B4UK/XvwFiYqHJ2r6qTo34T1V+kqPeNkIZOMJkKKR6HXFgLW2ChbNrtB6EDaqAWQsBc+C8taV4U6/HPhGT5BaMj7HHj9utkYDRODuyV/phshkMlfKvSZRmxObFSd4MKtq3So5sy5ph0JgfrEhw3Lk/2kbocHeEX8DckweSC4DIrwg7OTXzXQ5falsGtEAMjYA08DS4cgg2e0Y2FAk9WNp0eoeP/EFGmzWsjvRteV1s94hJ4UFvB8ezLy/V+AGp3Zzx80D6uC77MiP0V2k72WP/fRE+LnOAavyrIQm10c6w6mDFzd6R3bKao0hQpxb1KvaVqHbZ7ZGeLbyYs0vnYbn60f97veBodbLCNuVondeTEmPt9RuVXkaDYWEa2alVa+ZtM+3ZPuxWFcnhG2bBiUGsHL3Z//OeKkdWyfjziNS0Ge76zE8fOtED69IBs7Ji6TZen2ejD6OI1HeU6I5Plb2fnHGxO/O+dJrXlbTuAl8K10QrlODtgG+zTlSNWf+9q/02ASTqYHU+wBT+nl7UMeYka3vJuju4jpZ7i3av5+EmFIU5pS9GcRp5WZWVFZ/rU9rO6tdmT2PJ+iiqHrd6bhrrD6ic2q5Bv7UovCQ1m5A518yaw3VUKtVBsbtO00cNaOEd1LNkq3EWgtjP1557rq/4/AgwAOMv8Y/AmNkgAAAAASUVORK5CYII=",__vite_glob_0_47="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDcuMS1jMDAwIDc5LjljY2M0ZGU5MywgMjAyMi8wMy8xNC0xNDowNzoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIzLjMgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjkzMDVCQjQwRTI3QTExRUU4NUVFQkUxMkU4OUI5RjAzIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjkzMDVCQjQxRTI3QTExRUU4NUVFQkUxMkU4OUI5RjAzIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OTMwNUJCM0VFMjdBMTFFRTg1RUVCRTEyRTg5QjlGMDMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OTMwNUJCM0ZFMjdBMTFFRTg1RUVCRTEyRTg5QjlGMDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6qC+7zAAABzElEQVR42mL8//8/Az0BCymKZz5MYAJSbkC8L11+wS9yLGQiRTHQkn9ASgOIHwMtrwBibppaCAVzgJgHiNuB+DbQUn9SNDOSE4dAS04AKXMoF2TAVCAuAIbAX1r4EAT+ITsaiHOAeDbQIYxUtxBoqCqQMsQilQjE1VQNUqBlfiCfALEYDiW/gdgMGLQXKMoWUx4mawGpXgYGZg8CSlmBuB6IA8nyYe/DNBaoARUk5FlQ/hQslp/1jSQftj3MBiYA1hVAZjCJ0cwGxIpAfJUkC78zsoaQYRkMfCM5Dr8xsPqSadkzIH5IhoVsimRaOHW6XOs/ki38ysD2lQzL9gBxD1m1xVcG1ptAyp1Ii0D5bwoo46+Vq/pFloXfGNkWAKlsIGbGo/8BtBxdtF225BXFhbfd40kV0FoBG9gOxEGHZPN+ULW2MHk8A1jCMBRhkfI4I5uxk+r1IdDQYmAWqQXi/0DMgIRZyEnCRNUW12STW4AFQRIQ/wViBihWoWkT475M3IKfDKzBQPwLiBmAmJscC0mu8YWfrALV9HKgsvKtTNg1iizke7L2EpDSpWKr8PInmWA9ajQxqNYuXQPEx6lo/lOqtNooAXQPUoAAAwDDq5bEESLSSgAAAABJRU5ErkJggg==",__vite_glob_0_48="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDcuMS1jMDAwIDc5LjljY2M0ZGU5MywgMjAyMi8wMy8xNC0xNDowNzoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIzLjMgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjk4NzAyQ0MwRTI3QTExRUU5RjExOTM5ODcxMEMwQ0VGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjk4NzAyQ0MxRTI3QTExRUU5RjExOTM5ODcxMEMwQ0VGIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OTg3MDJDQkVFMjdBMTFFRTlGMTE5Mzk4NzEwQzBDRUYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OTg3MDJDQkZFMjdBMTFFRTlGMTE5Mzk4NzEwQzBDRUYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7+mobAAAAEJElEQVR42ryWe4hUdRTH753Zh5XaJj2k5tFDzAq3QmGDiqA2KqUHWOCK5RRpKC1p+IcFshlWRIJrD62U2mjBNpEKQsgsraC32dKDsKhmZzLBslzdXTdnZ/qcme+9/Bx3mjGoH3z4zT2/x3fO73fuOdcvFAre/9nq/mnwuXTqMrp5cAMkq+z1C2yDF+5Jdr1faZI/mocIjaVLwZ3Q7Pyx3+FnOAi20OadDadp3GxfQTdsQPiPqoKInU7XIc9OkvkDeAu+gD4YgjycAAm4FK6BVs238R5Yjmi2oqDEVsEciMKP0Amv25GxOF/h6H26M2EGLIEL5O1me3ZFQ0EWmTePwSKJ7YBl8DkLRmoJCAnbFTwqcfuDXbA0OF43aGbrGKM6woVM+q4GgXP0mNYf68W+0IbhemiDr2G1TYpo4cV0C2A8ZMyzamJqN+mu1kIsMLLW7vkB2K17TqFxeSh4xIu0QTPkoRM+reUImTcFpsJ1kHo6fVeDM9YLT8AIXAh3hHe4Or3gW130Lrh1SfJ5Cxaz25GPsXkKArflFcUb4EbYA3PhPdYXtN683ghX2MlhTxTvcNiLTtImb+sF9mRv0b3Ww18SKQh7HoAJsp8F7fAN7NP6vXRbJRgPg2bYrws27O1IPDUcCvp10+jmH0fmsmw0LhBcllyXW9HXvkuJYlwoeLjoQNGztLsa+w907+quRxQAEcdLT1EdLV6b562HbNkeWWWnqaHgUEnwAPS7k7Fvp9sJOZnqywQLstk+w52Jx38td5k9LOscOip5SzCi4AgbGwwpTf3rxt5+8DaEgoMlwVMVAGG7vW+FDVwLVxVjoHSsfoW9owqeN19OdHwWGNnb7u6U0QTPgElKacFke14Jl0isrganLEBcwXPd0lY6Ur/hsN636TMyq17ZEl96SPacc9TWWxBZTmws8zS4y5yqSbGxV6PnN0zT/BHXw166FhXaZ+FL2X/Si/2kNrWIfQQaJOC2iI50j+NdQnt6SnNh0GyiO1+1bV5LZu33n8QXDeyI35fjd4/q3M2qea8y9k61c2UdXtVbmbuoqF0qVaXoMUH4yKIV7oaZzZn1xSNj8308r4HfYAyMrTE6W+Fei1LYCd1H1cPJma6ZOs6YXlQrMVt3x1N5xhoVqfaKfIztSCUh5vpKZevknWWddtb0HFPxk9nuxXQPKw2Z6HJ4Ix2be7CmvJbtPlF3ZpE9pZhoSkV9JXvkjxGcmN1ogfAg3K/aaB69BC9ahO6Nte0fTYh1TXTn6dNkvv7woOrkQ6wbqPgRNSG7qV7Hudip5pb1t+v9stL1p6L2ZH21TYernSJsefkZWLM/dttg1c9Ea+Ozm1v1fXOlslDQ+ssEm5wxe0c/NM/6Y7O21Pxd6ohOpLsFZsmLpgpTD6h4v2YgljmuD+H/sv0twAAOqJQ7QSsKdAAAAABJRU5ErkJggg==",__vite_glob_0_49="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDcuMS1jMDAwIDc5LjljY2M0ZGU5MywgMjAyMi8wMy8xNC0xNDowNzoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIzLjMgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlDRjJCODMyRTI3QTExRUVCMzc1ODdBRDk4RTMwN0QyIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlDRjJCODMzRTI3QTExRUVCMzc1ODdBRDk4RTMwN0QyIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OUNGMkI4MzBFMjdBMTFFRUIzNzU4N0FEOThFMzA3RDIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OUNGMkI4MzFFMjdBMTFFRUIzNzU4N0FEOThFMzA3RDIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4CpFiGAAACOUlEQVR42tSWTUhUURTH73szI0RFSiSWNYIFQW0EoaClmzZuXARqm0jCpURS0MdOE5VIpI1BIJIts5DWbUKDFpXah5CgSS2ssAicKZum34Uz+ca58+adRKELP857951z/+e+e+/hetls1mxli4d9HFo4cwAzDJVwr71muCfEtxnTAdvhCr7jLj+v2AwZoArzAWbgCbRABRxjsGcBvzLMFByGO/AbzonodY3gc0wtQbsCfaOYVmii/wHv9ts7sKLH6Xsrft2Yy7CHvs9Rf2kdTAY7CD7NYHM8jmHtjGwCn+g/si52Vuw2zQxPYB4Lj+S32WxjMCFrZVsnvIB9stb1cAoukMhgqCAiR22fvH6ENuhz5GOFV0S82vH9JnTB3sB4b0gg4+c8bi2cvbFq/BmYFr7AJfgGZh19BNdgzzu+fYdWiQ+ON5K3hqsm3uDIdHeR9Y1JjGsP7BRce2JN8IeJLWvPLzEJRcxyvqAXV5ccYv690qRNolYRVykxFYqYg3mCKZO4Jgd4KUKSryXmPmYeMiViynPr/ldwINl7t/391aSco7CWzQkgmJFtX2otXw4lu6YLKs2KSdzGnIzwe/rhIv6N9vhG8LfV6ZBLcDHieiyJ/9eI/nPOWpryylQ7TuvvmqEqWOtfOEPlAKn/TjCtHCC9UUFtqdpQaZNirBNU+hcI/jS6jLX+BYK/jF8VMa5c/HdE9N9f7BL1UK6CntTMYkm+kmdbuJ+WKN6+3InCL1Gb1Xyzxe2PAAMA/gPEVxdWO0EAAAAASUVORK5CYII=",__vite_glob_0_50="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAB20lEQVRIiaXWT4hOURgG8N/9TDIbNkZjyoqVhZ1CdpTQLCgKCxssNJbKWrGQUpKFlYWmDGVn0DSlbFiRUtixIxsy/vt0dD6d78459/uueTb3nvec8zzvPe+fc6tut6uE6vDO4lwBo1iNt73pyqEdbUlKWIVZbMEUroZ1I8ni5diIZQ0kL/AlY++Rb43jK+iEZ09gDHPYNMDLMP88Y9+Gzcm4wmXc6iSKg8hzCJ6fwX0cxPdkzW28C1+wFgdqm9/jU4YwJQjkd6P363ECk7gTj+sIuiMx6lWy8UL0qpxe/eQBx6L4VAzyS/xQC3IPMy3JeziJZ7iWGjuLtvOhgXxlgTzgHq7XjTmBjw3kswXyB9hfi1ErgdEG8nnsK9THIoEF/MysC7H6nbE/jJmzkCPPCZSOZwKhMd1IbI+wt4lcJotyAmvwFOdwFK+wC3vwOa5J6+gx3rQROI4VMcef4FIUS49sJnkPBTbdRmA8en4T3zLzjRhG4FRb0hR1ga9LIUvRnZ77O6pnUbh91rXkqpom618wFgN5PmbDryEEtg8SqBfWeLws/hd9idCJrXV+CYQpXsem1ycQ8jlU5MVSPxkS4SrdnRTfvyMKCNlzGmexodAEmxC6aPgh6I8Z/gDSS2QgPJF+NgAAAABJRU5ErkJggg==",__vite_glob_0_51="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDcuMS1jMDAwIDc5LjljY2M0ZGU5MywgMjAyMi8wMy8xNC0xNDowNzoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIzLjMgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJEMkNENTdEMERFMzExRUZCOTNCQzVENjQ1OEEyMDY2IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJEMkNENTdFMERFMzExRUZCOTNCQzVENjQ1OEEyMDY2Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkQyQ0Q1N0IwREUzMTFFRkI5M0JDNUQ2NDU4QTIwNjYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkQyQ0Q1N0MwREUzMTFFRkI5M0JDNUQ2NDU4QTIwNjYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6SsvdaAAADAklEQVR42uyaS2gTURSGz8zk2TSY5kETSCNKogsXpqAtYlp8YTfFle58rLNxY9104UKkGx/gynURV9aFoAuRorXiIgi2iIKmVIlVIk1CajrGpHl4zu0kjI9QkU4yt8yBM3cyDOH/8t9zM3fuFer1OmwUobnxEDY+6Ewsp6ITqY1uElqBoPgRbM5hDmEGobOxhDmLOYlQj/4JBAG82NzCPNm4Vs0WobpS6giBtM0KkseuvjSFGUegTEsQhIhgcxdzb01eg8KDBZCfphhIJ4NAHIdC4BwNg+gw06V5zFMIk/wDRHHiMWa09C4H2esJqOZ/gJ5CctnAc2EArLvd9PEV5vGGM6LqPupO0fL7HCxffq47CNbFURNpKydz9LFf0QxNEHTjCNVErViBzLUE1NdqoNcgbZmrCSCtpFnR3nTkDB1WHy7o0om/OUNalTirBonRQX72CXgJeaapdYiBoDV+bMM0vFbSMjcgla9yo/fsRIYAOdLH7MoUgbeoZptlECQQ63oRVbkDUWm2irBFwgAxQAwQA+T/o+tgEASbiX+Q7pEdELh5DLpiOLEUOO9aUg/OHc7vg94rw2CJ9PBfI5aIm8G44/0Mju9iFwRwHN7OupvzRAQEk8gpSIMHBwDX6T3gv3EU7PsD/A+/Jr8DvBcHwTd+AMxBJ///I4JZwtwcCaZOANDcJ3/nDXx/sYTP4sAfSL1chW/3k1DApPNN7a7tIQD265MLWs1ENQcpf1iB/ORrKL3NaDuAaPXFtUKZOSA/SaEjdc1N1wREnv4IxZdpoPfHbRvSNQGZaf/7MWM+YoAYIAYIfyClxpMob6HSXCIQNuhLXjt3IJK7OXX+LKaiE2k8WaRlYFOvgxsI0qq8A1hEhi+NGqHFeHAM93EDotI6qy7223ToHg2zBXrddymXjWlVa2cgaM00NvdEuwk8Y4ObNv3UpsBF8I4NAGnFmFK0/zL8xjHnaTHedynGqPXoBGmz7GIbBuYUzeuAW24LhwqG/001vwHxvc2pBZTuN579FGAARF8xXYtQq7UAAAAASUVORK5CYII=",__vite_glob_0_52="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAhCAYAAAAoNdCeAAAACXBIWXMAAAsTAAALEwEAmpwYAAACJElEQVRIib3Wv2sUQRjG8c/ebTSaQklUohFshEsTUEiljeEgiKKSymAjaKOFpWDhj0aInYXY2djYiJDCP0AsbNNop42FhWLwBxgszFnsrG4us3t758UHhruZe/f5zs68884lK50lNZXiDm6E7/AEV/GtjkGjLgkncR0f8ByfcQGX6hr0AzuO7biFM3gQxmeHCduDKzgf+kfQxtHQP4fbmOhllPTYs2O4ixNIwtiv0LYV4jp4gZt4VWZW9WYLeIa5AgiaXSDh97kQv9AvrI1HmKyYTEyT4bl2XdgUHmK8T1Cu8fD8VB3YNbQGBOVqBZ9K2GEslhh0+hxfDH6lsHkcKjFcjxiXjQs+82WwpvgBzQ0bNmal0G9UAGeD7ybYBKYjoHwi3aAiMDfsBk4rHPYibDcORIzKIDFod+x+7IrBGhipaVxXI/7eEJsSpCyzBtVYaFHYsDUa2n+BdRRWa6thG7TVCdJQcs5GsWPIsBQ7Y7Ax2bU/TDWxNwY7qHoZN2x2H/pTlXJYgrPKq0VeHwfRvFBFUpzCxQCLQSgvxHU0i2UsJyudpTWFg7eVSvFWtq79zDpWdDslHolsZb6kOI0Z2dvF9mUda+EzN8uvnCRAGrJsTiPABD/xOsX70KrUkmVq92Tyy3NNtkKVSnsFyI7EU+wrwJJCa+KrLOve/StsNZjMVMR8wvdeRnUK8Q/cD4ZluoePw4DBS1zGm67xVdn/w8d1TH4DT6VePlGAw5kAAAAASUVORK5CYII=",__vite_glob_0_53="/assets/icon_sz025_1730186905.png",__vite_glob_0_54="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB8AAAAfCAYAAAAfrhY5AAAFcUlEQVRIia3XW4icdxnH8c87Mzt7PiXdbA5m09ikaRKlxZCkKFERQ1oTo6IXtioqSEUEFRSp9coLseqNKFQhogglqKhV24CR3vTCVC2xpjG62s05m8PuTnZ2Zmd35yzvvLPb3dlDtpAH3mHm/c/7/z7/Z37PYQJPPeZN2Dp8Fodxf/1zBmfwAn6OsdVuF3fg7av5XgJP4df4ALagAwFa6p8P4gso4eXVbrrIqk9+InylXBB8/zdt+C0eWfC9zhZ/fEeXo6dvMRnM3cX3sA+fqj7+wIxYsrYQPPvaIk5sJc/q4OcXgfGhtc0+2FdypCe/1KMfw3PB8cGWlfZfFh48fXwW/L6l1k9lMmSG3Co2L7fFIzUHnn1tWQeWE9yKYMmYwceO2LFpu8mzx3S+mGZ62XP8CR/BTOPCUk+sDK7BAzsqFym8riO4YV/zon3nWxiB39eFucAaBbck+F1b13piU7vdG7ardvbJX/076cvESrXzHNsypXjwsFiy09DNK35x8aoTF1LztzhUd+DD8yMwP+yLwb3tXt3b7aH1A2w8QDzJ/55jw4N0765lg/xN0mfIxdh5lESC66dcvPSqt/71BqkFgjw534HZsMfr6bQAXD0Q99CmbQy8h2qWX76bm6fpfyeVPMVU5NDabZz9KU9vJXWKnn5bB3aqvr+PvgXRDiPwqzpvDv7NxnS6vT+gc4Deeyle43efZ+w2+z/D9ChTlymMMTPMVIq9R7la5ZnHKVyntYPOzaoPx0kskNZRfHUWvgHfmL/66R09euNFujYhzdkTnB9k355a7amBi7cphNc4U2PEy+wZ4HSJl18gMUNTG83NvnNfoMHCarkmhH+uUYlfW5elbQ2VHJU0r/+DVjQnI1B+hPxYdPJCiuI4hQmSScK0//c/o7VyhmSHL67PNMK78USo9kcbV96WSJPcEp1KkulcBJ8cZnqYRCfFNJUC1TLFXBShqWm6wlaTZmKCoEBQ1RkP19sbMYdC+K7GuzVxlacpThG/h0oTZWSvkLtCa3900moRFYqTzIyTTUcxrMYolojdplimNL0Igd2JejNYYLl8RXtumNYWOrqIdzFRb56ZSyQTFNJUKwShV1OMjzKZizTRtpaWKhOjhP7lb9cb3wJrC3/z0ca7L031kP4XpSmK1+nrr0VVGL2xi5RuUUpH10yKIMPYWJS94bVxgCBFKUf2vP9kkkudPBXC/9t49/DldibPkR9l9Cw719C/i0vhIyNkhkMBUJ6gNEI2xchIFJneHh7cRPYchQwjp33p1qJTh3Y+HCb66oPAGzYTCBL3em/2z5SvEVxj4w6GhrhSwHV6s0xfojLCuRRnSpHYDh6ieYjLg9wY9LPxh/1gtH8p+DNheQ3z/LxIz29YZ7vKA68I7nlLJMD+DWTaOXuOribWt0S/d77KcCZS+LZddOW58DeK8ZoIt488amimpxEcptF9s7U9TPpvzy1196oeaWXz/STaqMYp5YlPUy4xmSGXpZCjmCWYJCgyORopPt5CPE45wY3zNl/Y61qhez78y/jhbFf7LvbXSx+lUW7djMpkmE6x9mhaqwlwMkrB8kzkSBAQJOvAtfRuoamdpg7RCNVrz43AtcIc+Dh+ZF5LDfPl4+HkUSv+uYSvn475VudJrWHFCltnLBFdieaoAYYRCctnvJ14c9RgQieCUMOFmtpLuQk/uVTwh4l1s+AT9ek3TMhFk0zrnAN338LR+qORZ5E1TjLT9ZHn5F1GLwJbZoy62w4sCV4OfjcdWBa8EvxuOLAi+E7w+Q48/ybBx+8EXg18vgNP1t+vZGH7+Qo+eSdwaKv9oxjm5V9wrP4vNKwPTXXnR/AKfhxOYGFTXM2G8H8YkgIsjlhspgAAAABJRU5ErkJggg==",__vite_glob_0_55="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAACXBIWXMAAAsTAAALEwEAmpwYAAADPklEQVRIiY3WX4hUdRQH8M/v3pmddd1d13VHydrVTUKIMLSwAu0PVBT9exAS8aEeCkp7CImkgl5Cih4qiuwPlE/WQ71IC0XlQwSZkpDZIoFtur6ItRGZrjpz5/ZwHe/s7MzsfuHCPed8z+/cc36/3zk3FO+6wRzowm24GcNYgH8xgQM4grTTAoUOtkHsxBOX39thAm/hA1xqRYjaOD6N3/H8HAHgWryNcdzTihDHo0sb5SL24EV0z2Au6JKuWym9cYShPuH8RaYrjYxBbJWV8sdGQ3O59lwm5uguSh6/Xe3hdXQXc30tFX6aEO/+VpicqmsjvImLeK+uDA0bvw3vNq6fLu2XvL5FOrJkdg3qmL6k8NJnws8nG7UVbMRB8nItxz7ZScpQjCVvbJWOljP53AXRrk9Ee/cLZ/6Rrh6mq0Axlq5bKdp3mNqVQxZjPT5EWt/459Db+Cm1R26Srlp2RY5f+Fg89ovo6J+id74Sb3mVapJlXO5XW7+qOcc12ERWwy481syobbwuF6qJ6NApFg2ysE9Yskw0VRMOHMs5IwPNS8CTZBt/qxbHNIyfYPJ0XaI8xLmLOaG0YIacdre8cndgYUF2k2ch2vU5tSRXlJcT5dcqvf5q6Z1rcvvEaS3QhTUFrGhlDeWrWqlB7cG1km1350f63AXx97/JrtksrCi0s7TEQI9kx/1qG1bnuqQm3vkRlSg7U7NRLGB6Puuno2XJa5ul5f5MUU2Erw+Ldn8hOlOht7+d63RB1qPmRPLsfTMCxJteEY6fEQaGOgWA4xF+mE8QpYj/sqTD+EnRX4mw7BpK3Z28zuLXgmwe/IHRTuz4gZepVugpsWQxpYH5fNoYqvW2UsS9ndhh0aCweEjoWSSkBaLWu9yEZ3Cy3iB7cAwj7djVT7dLe0og+vKI+P3988niIfKhdV42AZN2HmlPF33d2aPSjlbHlKyrawwC32BHe7+GMZ52HOnn8ShO1RWhxY/EU7JxOuOSplOT+eKlXqGv5YyZknXe7xqVrYLALbJZkDenxj4WAmHW78EYtmOy2dDuR+Ig1mKzrIwVUezKkwc4i73YINvkWQE6ZdKMhbKshtGHv3ECR1Gdy/l/SI7R29Ggmk8AAAAASUVORK5CYII=",__vite_glob_0_56="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAKJJREFUOE+d01ENQjEMheH/OMABwQESwAEWkIASkIADJIAEHIAEUFAy0ptwk7Vr2OOy823tUtFZZrYAjsBB0qt3ZtpTAKyBG/AAthnSBRpqZiUkBKpIClSQIfCDnFtlwF7SPW1i8jOtsUtv7BcpvWAC/XtnyD/AFVgBm1ZKGfDbZ+FyCVG4BGThITAKp0AlHAI+BxfgDewkPaOJzKbx5OF0nD9P01YR4c1X4gAAAABJRU5ErkJggg==",__vite_glob_0_57="data:image/png;base64,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",__vite_glob_0_58="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAAdCAYAAABxPebnAAABY0lEQVQ4jY3Uv29PURgH4KeVMOjQdKEmxhoba4lRpBYGpKlN4kckEpGIgTQVBgNNGAhpLSTMbSQMGNo/BCGaGCWkIW9yrny9Oed+fbb7OfcZ3nPuuSOLS/dhGWfwABcNySiuFBC5gJP/g2ZT9xhTw9Cn1I3hFXb2oav4lvr9eNSHPuI4fqa10zjXQpEPuFxZv4cDLRR5iCdpfTteYqKFIuexnrq9eIaRFoq5TlR29CiutVDkc4F5YxZwuIUiG5Wd24bn2NNCkaeVs9qFF30o8q7SzQxD1QxDRyrdWh86i7nUxc7Ot9A0llK3hVPYrKHxcjV2pP4m3qvMFJ/KCval/i1udw8Zxd06lrqvZbatGjqIW5U5AnwZLDu0O066fCqDuYM3eejR8mKAybQWQ9/IoEOXcCj1m+W6/50jo3zqv8t/MN+pf1Ac5GDuYrUFOvR64Dnu0fU+0KH4o/7A9/JL/tUr8AcSFT7xADiB1AAAAABJRU5ErkJggg==",__vite_glob_0_59="/assets/loading-page_1730186905.gif",__vite_glob_0_60="/assets/loading-page_1730186905.jpg",__vite_glob_0_61="/assets/qiandao_1730186905.png",__vite_glob_0_62="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAQCAYAAAD9L+QYAAAD0UlEQVQ4jY1UX0xbVRz+7rm3LS1tMcCwQBsICI4VZrfpWAFhY8KKIQ4lQTchEtJMn1wI2cPi2xKfZp8WH0aIGgkYloljG7ChzbaoY1DrYN2FwliGDh1WOqHQ29t/95reDi2DB76n3zm/c75z8v2+34/qqMNWoKa1CvqpLIVsmX0OKoGnkqLB6JCxJZKYYRIXNrNVXu2+ULd32XfJuBYEKM92uEEBEEVgaG0xBWqdbxO5zWxVN012na/IxvHKlhxk5aZBoWI2M4kJoQhQBKAoCtf7xtBy+2pbd07lOaQWRqVHY7LYzFblsYmu3veq6IY3m81gkuTb+vE6Rr4Zg/2SH/IkgOeAz/YdV0Om8lM4Y2WOur4601gcOd3SfgigKYQDIUw5HuOvBW/iRyUIggD1CyqYq4vAKGUY6r6Nz2+Kd+r1wQMNrSb8ODiBXidzdqCk9RPmwOzl18q1kdOWpr0SMbccwMXOUQy78FOYkPsUhA1F4kiS/KBm6UTJfh53h1340s5f3x3GkfpjRmTmpeLw2/uwMO885Z357hqTy3maTYc02GHQAoKIW1fu4uI0033F1Pphx2hX4HkJ5tSRPQBODPc68OvPwFy67mTu0qLb5XgIQ0E60rJT8OrraXB86/2AJAkwZuakS5XhfAGwv/D4U5HWuRVxDAOGg1OeJ8CgEx/FtJ14qX5mJD2rzOXg4fcFJevo8zKQHEUJISIYmqali5GIgFAQ4Ils9ZmDmPlkUsxqlTk2s1U61DH9Q1AUQfeYrOdjRYvtEQhcTLyoIMQtKCMgIuQkSLCwvOSTLJasUSCnEMgMrdTEHGRhe9r3awRXGQnMV7svGBLrmhDTuuBKbYYeUKnjLvv7yTJ4Go8Yr1x5+b7T866pIgClVonyI7vgnpw6mzrZVVRbiLaaRiP6v2DxdE1lZLXhFwVCKAFEfGO6DxwtZ9RhvqqMBD6teccoWTi4yuPe2B/wyhX9zLX03YMmdgzj9hlUvfUKZiZ/R5AHKgvQ9v7HZaBoCimpQBO3eFWu3VyDrCKgoq4YhpczpPX4jRk8uAcMZe8akJpoMENf3Li64MorAvrmkkcbsvzm5vZSaNKSpQtiKAJBFEFRcYUTVSEyOt6mANg7v6Hn3EOMaHR7nAX1E1J/u/MtbOf8DV3pg8e1R/X+r5tPlkKtUUik/5HEmZ/1/3oMRENR/ONZgWv8Eb7vX4abIY3OgvrJWG7DVLTtPKw6NWv3k7h5tgVKBKIiIArA8A79TjbfMrs+gTZMpg63nWO1ChlHK7c9XHgijxFFy72eMJtv+X9aAPgXGhJ3h5jTbUEAAAAASUVORK5CYII=",__vite_glob_0_63="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAYAAACpSkzOAAAACXBIWXMAAAsTAAALEwEAmpwYAAAB2UlEQVRIibXWvWsUURTG4WfHjV3cFSWFWpjYBRUEPyottBMNgqAIWohff4FtwE5il85CUAlBSwVBUBEUbAStJFYWIpFYraK7SVC0uLNkvZmd3AnJD5bDzJ1z3p05c947tfGJSSswijEcxU5sRRuzeIfHeIGFsiL1krXjuIH9BWubsR0HcA0tTOIWfhYVywrONfEQT/qIFNHEOGZwOEVoG17jTKJAzA7hMZ4vE2rgKXb3KbIXtTyWMYC7Ql8LhW5jT0mBz1EsYwPuYzgWOoKzCQWq0BBekP+EJhISF6KYwgkc7AqN4lBC0nwUU7nSFTpVMbEqY6hlOJaYkEUxlSGMZIKtpDAYxSrsyoSpXm8adXQSL/6Vxx+C17V61prCMG/EFnyIcjt1zAkGuRK/8/g3EhEdzxXkfs3wPkEENuVxwPI+DQp3OSSMSy+LmKnjOS4lCH1P/EMxb9DOhI2rtcoiKUwRZqKNm+sk8gXTXSGC+aW4clWuy9/qrlAHF4TGrRX38KB70Gsnr3ARf9ZA5Bmu9p6IfWsap4WhXC1TOCl6OkUG+Qj7hI+TKszinNCCZXtWPyf+ZGnTuoNvfa5bxEtcxoiensSUfdfB2/xXywsNCw4wn9/BR0seWMo/Qf9WPdbpXLkAAAAASUVORK5CYII=",__vite_glob_0_64="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAYAAACpSkzOAAAACXBIWXMAAAsTAAALEwEAmpwYAAABuElEQVRIibWWPWsUURRAzw5rjGDclUgKbczaCSnVyhSms1gtReyCP8TOH2EhKKKtWolaiiAoRERb8Yut3AhusiFwLGaiw3Nn9s5GDzwuM/PuPTMM777XUpnCaaAPXABOAseAEfAVeA08BJ4B49oqatW4qL4yxnf1hnq4qt6km131QVCQ8kk9HxEdV9/OKNljR71WJ+qoGzUFVop5KwHZrtqvEt2fktwpvVCEobqcilYDiU1Fqo9S0ctA0nwxd76BSPWsSlask3PTFhOwncQo1wEy4HLDxKb0gVYGrAUTsiRGWQJ6GXlbibCQxCacyoDuDIlN6bSBreDkn0X8ARwFhqVnXaAFzAGLwLskd6sNDIATAdFuEU0kJNeDCbnfMuBNQAJwpIgH+Ps/LZB/5RL5cimzA7xvA0+B9YBoM/hCKS+AUUa+cQ1nLBLhLuRrYgTc/E+Sz8A94HevO6R+bNjDIlxxwjaxqo7/oeS2FfsR6lXzTWu/PFHn6kSol9TNfUjuqAfTulUnoJ76uKHgi6V/EhXtjTPqLXVQUXysPlfXJ31FebScfoCEvI/1gGXyDrBNfoD8wJ8eWMsvQmf03LFUUBsAAAAASUVORK5CYII=",__vite_glob_0_65="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAYAAACpSkzOAAAACXBIWXMAAAsTAAALEwEAmpwYAAACP0lEQVRIia3WS4hOYRgH8N+cmYkog8YlJDM2EgtlRuRSLomYIbkVC5NLWUkmZTHFkoWanaSQxA65hjBkQSElVhbSiNUQhjFi8Z7D53i/7xsz/nUW5/+8z/M/530u71vRdrBdGUxFExZiEmrxGZ14hAu4ia+lglSVsC3HfsyM2EZgPBqwA11oxyF8jAVLItxwnMWlIiIxDEcbnmNeX4TG4S7W9VEgjwnCNm4qJVSDq5jWT5EM1Tgu5DUqdATTByiSoRInUZcXmo/1/0kkQ41QIH8IHYwsfIJmjBEqrAm3C+x3sBTDMBSr8SwXYwUaCeU9FbNyC66lgXsKuE5cwUW8Esr6R4H9HG7hnj/zvA0PEqyK/M2+nEiGXrRgd04kw3vszXFNqKjCoojD0wiXobOEjdAehRiN+kQYK3mMLBOsFEZFuMmJ0NV5bBiAUEuEq0nQHTEcwJR+iDRgT4TvTvA29gVCBTX+g8g8XMagiO1NgsdFHMcKvbJLfPhmqESrMONqI/YePE9wo0SQwTicCk6O2CeiQ2j46iIx7uNzIhxcXSXEYK5wyK0t4JpTbk4Z31NQuWDJsm8psbiMw6BUKMFsHMWQMj6vsR292Qnbjp3CVpRDWx/WZGiVVnWW5G5sFh87/cUJnMleCqupA1vw/T+IXBe27BfyZXsaa/BhACKnsFJud2L9cR4zhMvJv6ATG4UU/HX1KtaIL/0+tI7hXZF1PcIE2Yp6BTnJo9S9Dh6mT0UaqE64031J/+AFPpWJAX4C3D9rJO+UJsMAAAAASUVORK5CYII=",__vite_glob_0_66="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAYAAACpSkzOAAAACXBIWXMAAAsTAAALEwEAmpwYAAAB6klEQVRIia2WPWtUQRSG37sGQ5aEjaIpLILJNpJScLtNYZFCNLERlmCV/IE0Itrlb2gKwca0MQQRkhVEEASFaGEr0YSAYFLkY0V4LGYHhrvn3jv78cI0c+68zz13zpy5CaACzUial3Rb0nVJVySdStqX9FnShqRtSa1cFyBr3AE+Eac/wCowmuVnTY4D65GAtPaAegzoGvC1R4jXX+BhHqgC7PYJ8foHzGeBXg0I4nUETKVBswOGeL1Ogz4aD33BpT+B27t7QDOIvwPmgDGgDNwHvhk+NQ+aMYJvgIt0Vs9QO/YMSIx4hc5ieu5BTw3QTcMkrMzM84I7f6EOgUTAtgEayjEqGmOGX7XUbitpXS7qSzm6asxVS5LGjUCjD9CSMVcR8NNI9Qi40cNnuwWcG353S5IOzTeQmpJqXWRSl7QladiIHQhYM97A6wxYAUo5WVwAHuF6nKUWUBbQyAF5vQeqBmQS+FCwtkn7HJVx90mRjoEHAWQB+B2xbtmDBDyOWOC1CjyJfHYPGAlBI8CPLmCxamBcE7O4jRuUXgTeHTfsIu7S6ldvSTVlq1wXcBvfq14Cw2nfrLMxDWx2CfhFsCexoLClrOFavaUWsIMr4Y4swpFA4Q+kJCWSpiVNSbok6VzuB/K7pJMYg/9UXsDdLDY1xQAAAABJRU5ErkJggg==",__vite_glob_0_67="/assets/redicon_1730186905.png",__vite_glob_0_68="data:image/png;base64,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",__vite_glob_0_69="/assets/telegram_1730186905.png",__vite_glob_0_70="/assets/tips_1730186905.png",__vite_glob_0_71="/assets/vip_bg_1730186905.png",__vite_glob_0_72="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAYCAYAAADOMhxqAAAACXBIWXMAAAsTAAALEwEAmpwYAAABOklEQVQ4jY3TzytlYRgH8M+V1EhmNPkP7C9Jo0nULCWL2cmKdIuiWeEfoKRmgzQ1TcpCFrMhP6KUlGSS5F/wD8xmpuQ2Fuc9zdt133M9q/d7ej6d5zy9pzR5vv4GvbjBXw2qCQe4wCU6XwPK4dyNU7xvBGZQDbkcUEcR2MVEhHoCepcCsI2pCPXiBG9TALZQwb+Q+3Bci2IAP2pQPw7RngLwHdMR+ihbfVsKwDfMRmggoNYUgA18idAgdooArOE6ykONwAI+RHmpCIxjOcqbWE2BT7IVl0I+wxz1t9SFn2gJ+R6f8VQPdOLI/3v0gGH8zhti0Ir98Ab4g9GA1IKS7ALmG6liDLe18+ZgOcyZ1yz2Xn5eBipYjJ59la2wbjVhJcp7mE815+BXOF+FuavpdpoxIvuX7/BY1AzPCzc8a0dUVlkAAAAASUVORK5CYII=",__vite_glob_0_73="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAQCAYAAAAWGF8bAAAAAXNSR0IArs4c6QAAAYlJREFUOE+llD1SAkEQhb9eqgw0cENkAyWQxUhuoIZGamCuJ1BDMj2BcALgBHID8QRiJKuBJCCZm2iVVjltDf8uu2CVk81095s3r1+PMGc9k941OGcgh4M0bYKUfDq1pDJJCgRkKiAn8XFtLvGxlyUMo/FYwBZr54JzPY89aN2ne/QnwADvDXDnA4LhO7tFrz2dN8NwoFvqdpKkNQdTtXtDqgRsj2KKucjzas/Gaww4bMA1SOE3M73y6V7asxZeQ2AnEq8KUs7RadrzPuAT3olCJaEBCwD7VaHAngWVR9IbDqmXZL0WMRwaCm3n6WYlIFMHOfgvoK13+D62gPcR3ULQ8ugCB9PYpNeYSKMbfYsjrsBZRM+iBHg6y06rPt3TJNYvuO4Xy7fRBiqUpUWmLcj6X0GTwIZKFqWFV5qlPhJ61mcBmZvJbEcejNmXwY0r1u2rcU8UOM3R6Rt7/nzz4NMpjHxYULDCJ4IqupP8WfCwxPuu/SzGk2KZfrJyCXoYr2mMynAHpj49fj9jGZbqZQxcmgAAAABJRU5ErkJggg==",__vite_glob_0_74="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAJBJREFUOE/NktENwjAQQ583YgPKBrABIzECozBCN2CFbmCUqKAovTRU/Wl+c346+yx2Pu3UcxCA7QdwBi6Spp4t2880I+meLdg+AS/g3YPM4iswSBp/GfwDqcV5i3LdNUgkXgBadlriEBBARuD29VwH3OxBYSdpcmDRdVaLNEPSuUJx00KvB+X/Qaq8ZeV69gOIKkURxtJl2AAAAABJRU5ErkJggg==",__vite_glob_0_75="/assets/zhucaidan_1730186905.png",__vite_glob_0_76="/assets/OEM_1730186905.png",__vite_glob_0_77="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQoAAAAyCAYAAACklZW9AAAACXBIWXMAAAsTAAALEwEAmpwYAAACo0lEQVR4nO3dv2sTYRzH8c89l8uPpqZt0Ez+wGilTSmWinaof4OLk+LSxT9AHAQXcZIKjg5C0UkHq+Aigg4KzlaU0qVFi1oHsWJsm9i0F4c7BJHjGZ8H8n4tWT/Tm++lRxNM140kmTsPbo0fOrz/RqmvdNqYoF8AelIcdzdaW63Xqx8+X7l47tJ7SXF4cCgwN29fO3n8RONloVhoBEGQdz0UgDtBEOTz+ehode/ghcb4sRfPn776aiSVh0fqs2EYckUA+CsMw/7h0SOzkspGUnVgqHLK9SgA/hkcGpiSVDWSKlGUK7oeBMA/aRsqRlLkegwAr0XG9QIA/iMUAKwIBQArQgHAilAAsCIUAKxyyUfsdgUAryWh6BIKANnSi2LX7QoAXiMUAKwIBQCr9DuKHcczAPgsvSgIBYBs6UXBoweAbGko2o5nAPBZEortL45nAPBZEorfPx3PAOCzJBRbTcczAPiMUACwSkKx+cvxDAA+S0LR3nQ8A4DPklDs8MIVgGz84xoAVslFEeYczwDgs6QQhlAAyJaGgicQANmSUASEAkA2QgHAikcPAFZcFACsCAUAqzQUgeMZAHyWvkBBKABk46IAYMWXEwCsCAUAK0IBwOrfUPBnUgDSfy0wkrTdibeVK0um4GQTAM+YgpQrJ21QEorOylp3VfmaVKhJYZnLAuhVgUkaUKhJ+ZqW1+JVSZ2cpObdx8vz169OXS72VyP11aW4zc8MAr0oCCVTlEyk9sZ6596jZw8lNYPputkjaXJyYvj8zMzZM6NjI/uKpVLoei8AN9qt1u7S4tK3ubn5J2/frdyXtBBM142RVJU0JmlC0gFJfeJ1TaAXdSVtSfokaUHSoqQfOUmxpHVJbyR9lFSRFLnZCMADHUlNSd+VRCP+A4t7fAKL20aoAAAAAElFTkSuQmCC",__vite_glob_0_78="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC4AAAAuCAYAAABXuSs3AAAACXBIWXMAAAsTAAALEwEAmpwYAAAE30lEQVRogc3ZW4hVVRzH8Y/jGGX5FIndcOwtJ6iXpKsVFmoFVhRUYqRQ7Ha5rca0C/QUYY2p7WKzQSstowcjCSKNStIsKnooqB7V6CZdnux+mx7WOs7xzDlzLnNm8vdyzll77f//u9fZa63/+v8nDQ0N6ZbyopyCM3AiTojNP+Mn7MvS5K9u+Zo0FvC8KI/DVZiHSzALX+Nb/Bq7TcUpOA37sRu78FqWJr9NKHhelLMxgGvxEXbiHXyRpcmfDe45BrNxKRZgDrZjXZYmn48reF6UM7EWF+MpPJelybftOo22TsFSLMe7WJmlyZet3t8SeF6Uk3AvVuNJrM/S5NfR72pNeVFOxT1YgceEf6ApVFPwvChPxIs4HkuyNDkwZtr6fvqwGX9gcZYmP47Wv6eJsZnYi89w2XhBQ7Q9D5/gvfggDdVwxPOiPF2AXp+lyYZuQjZTXpQrhMl/YZYmX9XrUxc8L8qT8D6eytIkH1fKBsqLcjkyXJClyQ+110eAx4n4Oj7P0mTlhFA2UF6Ua9GPK2snbL13fADTcP8EsDXT/cIOPGIAjxjxOCE+xpwsTfZNFN1oyovyDHyIc6sXh9oRfxwbjhZoiCwbMFjd3lv5khflmZiLW1sxmBdlN+GadVmPfXlR9lfCg+oRHxBWka7siN1UZMqF3RsRPG671+HZNm1eL7x/N7dxz2LswwNt+noW10bWwyO+EB9lafJdm8YGhCjvBSFgaqaleF4If5u+H9XK0uSgEIkuZBj8crzRjqGodfgn2tlkdPilsU8PhvBwB/524gqGwecK8XS72haBquGX1elXC30btnTgb7dwYNFbddxqO5iPeiHCbMZkbIztlfmyNLZVQz/Toa/P0JcX5ZQe9OGbRieXFrVVWEYrI79RGPkK9OQuQItn1m/Q14vpODgG6Iq2xs/Nhkd+SJegq3QQ03uFuORQFwwyEp7uQhNYp416kOhQU2p+D+HfbjvpEZ+gS/Zq3+lWl8p2NA2HevADZnTBYC307Y6csN2Cn4Hve4Qkzakx79Gp6kFvMnK1abTOt6S4dJ+KAz1xidkvnDS6CV1Ro6WyE/XjQJYmf1Um5x4hw9SuboqQ1Uvepjr96sEv7sDfpcLueXjLfxPzOzC0Wus7Yi383R34W4C3GAbfgTl5UZ7cpqGnhVDhFq2t01txIz4QArSWlRflDCESfZ0IHgP1V7T/7m3CWYY3nlb0Ms7HS236WobtlYNO9Qa0HssrgfrRpMiUqfqXak/52/BpliaPTDxeY+VF+RDOydLkhkpb7ZZ/H1bElMBRobwoZwkTeVV1+xHgMW8xiC15Ufb6nxUZnsdglib7q6/VC7IG8QvWTABbM60RWAZrL4wAjzm6JViUF+Vd489WX3lR3olFQk5+RGa2blgbs6PzsCovyjvGF3GkYqZ2NebVy9TSpCIRc4lv4FU8mKXJ3+PAWe1vMh7FNZg/WiFh1INEvPFCnI1dzaoEY1G0/TbOERL6B0br32rxqkdIf60yvsWrtVibpUnTE1O75cI+YYZfZLhc2G72q2LrZMPlwr24r50aU6cF2n4h/XadEDDtMFygrVv2joeAfiGhsxDnCfHRE+NeoK0DcxyuFlJ4c4XE0pfql8RnCsnOPUJoOvEl8UaKDzJLyNUcG5t/x/fYPxbQWv0HKz7W+MjbUE4AAAAASUVORK5CYII=",__vite_glob_0_79="/assets/pix2_1730186905.png",__vite_glob_0_80="/assets/game-back_1730186905.png",__vite_glob_0_81="/assets/img_good_1730186905.png",__vite_glob_0_82="/assets/img_hot_1730186905.png",__vite_glob_0_83="/assets/img_new_1730186905.png",__vite_glob_0_84="/assets/group_1730186905.webp",__vite_glob_0_85="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAABV7bNHAAAE+0lEQVR4nO2cWYhcRRSGv8706MQ1Mrii4oNKog8aFcUnF3AHR+NCjKgToygqgkZBgpiIoBKRiOIyiU7EGBMkiBH3KJpHl6Ci0YAgeZGoGBhRYRKjLaf5u7l9p7urqrt60akPmst016069d+l/lO37hRKpRLdpLD6wXxrc4DFwPnAocDPwIfAY8C32YKlhUu7Gqsxo+st1rII+FLbo4C9tB0FvgJu63F8PRXoQmCVRKlHEXgKuKCHMfZMoAKwQttmWHxP9vJA9qrhucBsz7LHA6d2OJ6G9FKgEE7sUZw9v0n3PcU6w66TCMPtF4Hlt8YQspW+Zs+gmcBdwGfAn8AE8JGG3Nhnmgm0zbPs98CWyO2jPo2qjxPqs/X9bmlRpqjtMcCbda71s/WxikaA3yIFV1IgbzlGMit3J/BPpHYrHAi8rr5lOU2fm4GLgO2m4t7A244b4VnA6shBvqNA/mrw+x7gDuDdyO0aL9YRJ8tsaTJkAt0qu+/icuC8yIG+AJwMrAF+lFi2fRk4CXgmcnuoD5d5lDNNbrFL7JqAyq3spjaCq4flW9dHrrMZIf2dX2B82a4mdj/Pp8AZHQu9O3wCnO7Z0u5+8EEFZe+l3OfeDrbnS1mgEE8SxY/kuBE4t873DwBHdqC9bwLKbjWB1gXssL6FgJpxuOZ96rGfEtrYhPR3nQk0BnznUXgj8H7kYG0646Amv1+paZGYbJIHcmFGdswEmgQudlw+m4EbIgdqQ+0VHuVsumMocttmfD9u8vs2GcXJAUbKfmlCRtCc8iHAARLuc2CpXO9kxABnyUXv71F2WP5oc8T2d8l7bQcO1ln8tyzHCs1w/kr5jj6+LGK73qyUi/ZlUk7/h24HOqMHE+F2yt4UuM+QLrVOMsULmjZ5HzRHw2BJCWLIUfbt6MpAL1LhEqU7MTF78Z4yebvsfgGuytafF2hDJmm1TozJp8TCrufj2qjrCWDfSLHcB3ygx0376Du7Hz2bPYBZgWwK4IRcJQU9eRiNENBcPf9qh6OB+9usw/r8NPBIgzN5WINUtbBPhc8D17URVFF1FD3KulgcMOFfL46XQp63+eZiA7IBIZlwFrMJp7S4b55BTYOE3scGlQlcG7JTSLI6IO9wdWBgx+reE5NzAg+WnTmveBrTGkKzeRNprVIAHwoatWZ6lg/h8ey9whHzmoCYa2hluqNyNOZ5lF2ko90JDgMectRbOUDzW22/1fmgQWXFI03KHAEsb7F+X27XlG0jlrdrU9qZMDPn+aoMXD1cmXoMBprcsM3n3NNuG+3OKJpIrynzzTLP8xKMwZm6lLNYKvNwjMpjTLlWRKosU5mls6ebPCqDZ1wKPNdiOjOFGMYN5VideH7ly3BleiI2afGCgySQgySQgySQgySQgySQgySQgySQgySQgySQgySQgySQgySQgySQgySQgySQgySQgySQgySQgySQgySQgySQgySQgySQgySQgySQgySQg6xAv+s90enOHmlRJiuQLRz/abqrIw2qb1nnL7Gvux9P31GjQV6gjdNXlypvZP/IC2QrWHd2P6a+YadeSa+SF+gPYMn01KbMEmlQpd4wv0pn0nRjrfqOS6CSls7GfoG3n1mvPk/5j3eNjOJuYIFWj+74HwuzQytiF6jPU2i2iNPUHNdaaKvAFo3bom1b4f5fdeAVr2f/ec9GbHtjoOaeUwPwL7xo0YQKIkioAAAAAElFTkSuQmCC",__vite_glob_0_86="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAACPUlEQVQ4jZ3V32vOYRjH8Zc1P4bhGbWZkVjyayglCZNfQ62cTg6cOlAkEkeKJAcOHPgDhBOcOLDhZAkNJT+ilVh4CPHY0mTYdO/7nbZn3++eh089fZ/u67re93Vf3fd1jeo7J00ZNGErlqAKPXiLF7iGi8glxSeBx2EfDmJK6raRvuIUTuP7SODZuIrFBYD5eopGdAyslwxyqMGt/4CKY27FjH6Vxt9w/CuDDf0aX8nCo8xoYGINPd/ofkv2Ju3H+P55sHdNzKgPZRkoxSGcGALNrGBjM2MzyTn+yHGzgdz9fMvhwArgCrzE5CHmbQ+pWEbvT+7t5+N1yutYsIeqtZHPpzZaVuaDOzGnNL5Sk/OtJsyKvtkWXpyJ/ne1k73EpttUroo2Hq7AagrghsSjtqxhWj2vzw635Z5E4O53yWViSwAnbqvrWfTLV1mGmY3RYsflNPDScN0q06zDNH4m61uZUE3uKc8PpHlWBvCPgsDaPWy+w/aXlJTx4AjX6qIHnqJQivcoHxG8/Dijy2ndyZvzxZztQ8i4vaDb7x76fpMtChr0KGTcEr/zdN3YQOkkeovlai6JW19nqsuocN13MW939MQLK7AuBvAXnEx1n1rPor3MbaJqezHgwPoy0CvK0Ia6xIw33WVMhub5/BoRGtrnisFNKKgWraguJq0EZbEuni5D+nFYWB3v+q8KMSG2H5oPDnoVH+VIPHYKKfgE3xDzd3r0V7DAMN0RGko8TKfH6+FBPQ5XChcShyn+AD9IjzRjZSjHAAAAAElFTkSuQmCC",__vite_glob_0_87="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAABoElEQVQ4jbWVu0oDQRSGv81FtDLaRCGFdhZBjTE2iq0KWmgX0TdQiI0K1gpioZ1vYDoLG7X10iTG4KURBC28YBO1Eg0hcpZJCMusO0LywzAw85+PM8vZc6zk3DwuagOSwATQC3QAP8ATcA8cAmngXRcc0Jw1A0vAMhBy3DUBPWpNAuvAFrANfNUafY7ALiALbGigOoUUPKNiteAIcApEdYTRkWFSiwv2rlFUxUacYHn+fu2FU0OJBMFgkMF43M0SUYyWWnAKSBg83UsJxbLB7cCqV0Qmm6VYLHKRy3lZV4QZUCXV6uU+OTu3l4GElZSMx+rwCZwal4z7TZxSDQOxGJf5vEnmfZJx2ARsUBW1Cgv428RpWZa9+/1+E7tdFa9Gzv/pTcB3DQBfCfi4AeAjn2p9n3WECist4AKwWUewsAqVXrED3PzlLpfL9l4qlf6y3SpWtQlJk54BXtwiDHrFMzBdafjO0dQNHLj1ZI9Mp4DHyoFzgjzITwasAR8GQPGIV2KqUJFu5slTZDTtArPSUNQw7VT38kNdS0kBe9phCvwCJtJfBFqCrZ4AAAAASUVORK5CYII=",__vite_glob_0_88="/assets/qian_1730186905.webp",__vite_glob_0_89="/assets/wxdl_1730186905.png",__vite_glob_0_90="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAABACAYAAAAAqrdiAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAzUlEQVRYhe3YsQ2CQACF4R9z8RKCBAo7GmPrAhZGWhdyBbdxAC11DxtjQSEECOZotDBqZeXZvTfA+/o/MMvpHLD4nQMK4BKs7re7qyv6rvXyPAwjbJywz2drYGtcXVGdT7i69ALYOCXJJgAL4Gj6rsXVJbfq6gUA6LsxwAiwA2+vXyZAgAABAgQIECBAgAABAgQIECBAgAABfmeepTb1dmjjlGEYfQAbJyTZ5BVTf94rLb+BfT5z/CeON4AzwI5nBva5BjgAhQE2/DHvPwA2BjMTNu5B6QAAAABJRU5ErkJggg==",__vite_glob_0_91="/assets/bg_02_1730186905.png",__vite_glob_0_92="/assets/bg_03_1730186905.png",__vite_glob_0_93="/assets/bg_xuanzhong_03_1730186905.png",__vite_glob_0_94="/assets/dihe_1730186905.png",__vite_glob_0_95="/assets/erw_1730186905.png",__vite_glob_0_96="/assets/icon_jinbi_1730186905.png",__vite_glob_0_97="/assets/iphone_1730186905.png",__vite_glob_0_98="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAC9ElEQVRYhcWXzUtWQRTGn/v2kkRaYhAVQWnQIiG0UmjR99emqE3RIogEcRu1sD+gXbaRqKCtULtX+oAWkVG06INSNwVZSCAkbt4yAk37tbj30nicufe+RPTAWczMOc85M3NmzkwEqCAiSR2S9klql7RRUmMyVpU0LumtpCFJryQVIwbypAHoBcYojrHEpiGPP2swArqAqRocW0wlHFGtAawEKn/h2KKScBYKYC0wEiCaBPqBY0AzUA8sA9YDh4DLhLdqJOHODGAlMBpw3A0s9c3CSAQcB957eEbtSljDisfoPrCqgGMrdcA1D98gTk64Buc8yreAJR7yNuCgIweAlkAgFz28XTaABhZn+z2P84P4tyjFUzz7DPQZvSlghRvAJaMwCTQZkm5gLsN5iueeAMrAa6PXmwYQAeNmsNtDUsR5im0e+51GZxwoCegwA1/wZ7uLAeI9T2WiwAREvEUuOsuSDpjb+Y6k2Zwb/JukT057zoyXA3YDknY57f1lSVuN0lDAOAr0r5bUYPqqAd1Hpr1VwAuzLM2B5fNJK/DJ2F/P0I+A747uSwHvDEF9QeeHgaqxHSCj8CTiJvw7317NB5bPRYukB1q413clnVX+O2ABf0lxQrloKhDAcuP8saSTljwAl3+6LOmjpE6nc4ukiRySz5JOOe0Hyj85krROf15RkjRWkjRqlPYUIPqq+Bhul7RB4RNiYblHfRfRhwKJtBuYdWyGKVaqB42vztBVfDSH6DaLsTfHZjMw7+iPA6WS4qy9aZamT1JdxlL+9PTN5Cz/VcVJn+KGpF9Z5bg/YzatwLSj+xAoZej3GO5F5Vj4HyQXMkhbgPPAGeJyG9I7AcwY3kUPkjQXKp4gruQ4yJIeFiYrZDzJRPhR+gY4UoPjduJtsch8lKayhvhY+fCMuNZvCtidTmY477Et9Cx3V6ISCCLFD+BjItUc3Qo1fEzcnPhvXzNX/unnNIKavuc7FH/P2xSX5MZkrKq4NgxLeqIavue/AVUNE/EM1PeQAAAAAElFTkSuQmCC",__vite_glob_0_99="/assets/sgam_1730186905.png",__vite_glob_0_100="data:image/png;base64,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",__vite_glob_0_101="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAAWCAYAAAAb+hYkAAAACXBIWXMAAAsTAAALEwEAmpwYAAABRklEQVQ4jYXUv0vUcRzH8cedEnSDIVwQ5CCog6C4CEJThEQihZs/WpwCXUME3TskFxtCRJo6PRCaxJQIRcHF2f8gcHCIBh3E6xq+ny/35br73Gt7vnk/+fz+5EqfNnKYQR47qGmTTszha+AJzOM+JuWRy/BbfMPDdlIZm5naaxygKybVsIBSpv4cP1FsJaVZwZL6RoziFD0xCdbxDtXAgzjDQEyCbcziLnBvGHEkJsEe3uAm8BMc41lMgiO8xO/A3fiB4ZgE53if4QLG20lDWMvwL1RiUh++43Hga7zCVSvpKQ7Vz+gPJnFJ840ohhH6A99iChdpQ6P0CPsYDnyHaZxkm7JSQXLDxwJXJc9kv3EqqfQAu3gRuIbFUPsveXTgi+QGpFnGVjMhlWYljy/NB3xsJWSnl+YzVmMCyR9RlqzhLyrtBPgHorY5tc8dwScAAAAASUVORK5CYII=",__vite_glob_0_102="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAACXBIWXMAAAsTAAALEwEAmpwYAAABH0lEQVQ4jbXVwU7CQBAA0Ecl/IaJJPo14kE568GvU7xQot+iCSHqmQPXIuKh29jULd2SOLfdbl4205nZwWqzFmKMd3w5LoY4xRKysHmLVzxhdAQ6wiwYdzBYbdZneMNJODTHFEUP9BGTsN7hIsMnnmsHJ+Fgys2bKLzgI8MWN8h74jF0gWtsqxwXPfFDaMHvz6vj8w68E23CFT6N4LMAJqGUVSESMSDHPgU9BLfh9ciVqYuWZTMV9YilJQntgqvYJ+4lwyM84CryrbPO2+AYutCjiWJwG3qtRxM14UNooUeH1uEYmvtbp0l4BbehbSXViWfKOdwHTcGHg9VmPVZO/mrQp6D1qF6Py7D+xnmmfKPulZO/L9q8+S5Yy8F/PaY/C9x5yrgF+ocAAAAASUVORK5CYII=",__vite_glob_0_103="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD0AAAA2CAYAAAB0pZEqAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDYuMC1jMDAyIDc5LjE2NDQ4OCwgMjAyMC8wNy8xMC0yMjowNjo1MyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIyLjAgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjdGODg1MkFCNzZDNzExRUU5NzVCQTBENjVBNjdGMjdEIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjdGODg1MkFDNzZDNzExRUU5NzVCQTBENjVBNjdGMjdEIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6N0Y4ODUyQTk3NkM3MTFFRTk3NUJBMEQ2NUE2N0YyN0QiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6N0Y4ODUyQUE3NkM3MTFFRTk3NUJBMEQ2NUE2N0YyN0QiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5lSJ09AAABR0lEQVR42uzbvUoDQRSG4ZkttNNGBVsLtRFvJNgEvQB7Qews7ARbCYKdN6BpAl6HjUUK9QKClT9FsIjf2T0bdtUUlpl5D3l3YSYk+4SwqRLXrw9DY1bUieqoTbXY3AzRHnYoj36O1XqM5RPKc/RzqNanaz/2Z63/ueav1XpPv5bpXnvGaqgGqqde642i8aSuelKnaucXeP7Grn9Xnaln97XQtnCrlkOas+S+bo1eVTfVlzfpie5cM/SRfxI5jDmPDb0X8pqOobczQ28VCdyl/zsLRchwQIMGDRo0aNCgQYMGDRo0aNCgQYMGDRo0aNCgQYMGDRo0aNCgQYMGDXo2epyZ+cPQw8zQL4YeZIa+N/SVessEbM5LQ4+U/adhkjh44s5RfffuqwP1nijYXPvubP1k3akNdaEe1decQz/Vgzp3V7/e+BZgAJPEJs8jeC18AAAAAElFTkSuQmCC",__vite_glob_0_104="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDcuMS1jMDAwIDc5LjljY2M0ZGU5MywgMjAyMi8wMy8xNC0xNDowNzoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIzLjMgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJEMzlFMEJGRTI3QTExRUVBNTdGQzYxQTlBRDUyNkE0IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJEMzlFMEMwRTI3QTExRUVBNTdGQzYxQTlBRDUyNkE0Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkQzOUUwQkRFMjdBMTFFRUE1N0ZDNjFBOUFENTI2QTQiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkQzOUUwQkVFMjdBMTFFRUE1N0ZDNjFBOUFENTI2QTQiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4YdXRSAAAEp0lEQVR42rzWD0xVVRzA8Xt570K6ohApcu/xyrJWa5RlWmauv0rmdEXYKkx0S7RCUzD/rBRK09BQszLNP1BuZknOrLmlFa1/wjSWWVFR9v6gSYiGiZIPXt8f/d7r8nwSttXbPjv3nnPe+d17zrn3d81QKGT8nz9nVzqt8OYkUwzGLbgWLlg4jK/xMT7I9ZR++U9jmZ3dIYESKe7AzRiI3ghpoFZ0w9loRDU+wlYCf3XaAQnWl2Ic7kGqVgcxU+9KjntiDIZqezN2oRSvE7i5SwEJNpxiBgZETfuvuJSBDtn65lMsihpC+q3FEvru7zQgA9wpHXFxjBtvwpN6d91xSNf1/hh92/AyZhP0YMyABEuneFWDyVV6pE/UQCdUnA7aLUafRp1emfKnUUzQYIddSrAkimm4EnOxGZm6judqtyrUqAZcLlOMvrrOMuinWKazMR8F2In3DL1Kvey4oRiFd7CcK9pJuQMWjqAYEzANJdiCmXgYj+ETOOHD2/x/G+UqJMn/XvCOS40EXOwdn3zCcGbiMFY+6lmzjzoPxwRwOlCIhdRXo57jDDlHMuc/U5ajABW4C2P+ugnnepSBm3GOigRsMRyD0Q8WDK3LwhCsRdkUz8qGBd6J8RjP+fPIxjbOJ9MW5LgK89CIXOpTKI/qmN0xIrKGLabzNooU3XlPFfnyRhqmcxjHe7BuTtqyg9ovm2KOruFzuqnqpW2GZ3mI/8kar8NUfRZ/tz2j/SMBjxvWZRTxuttkp16hbbJxvOF1pp9sjvPwGTbpTjZt7UcodkAuMEN3cXhjnhWZ0mOGlQIH5DgOTgTxE46GB+R4O+qQgU3Iw5nh9vlpJSHOA9hvG8cIswe0YNob0YoWRB7UJWnPbub8AbyBXijEi7m+J5JsFxXU/xnRIlPabFi/6e07tJRfgk5fQvs4/Eb7is4gSezSZ02mrAzX42q8r2NJ8B76kg+P2TE90WmvPvCyHpJiftQBr0GyZgfpJynqRvg1S7TpGtdJe6bvGW7DkvV34wutH6QX0Pb3lJrxVWiBD/nlabOyKDdiEG4Y5l/k0H5uSNsKFKMaC+hfo+0X4G404xHtWw5pq7Xfobx27tWd2qB18k6VxyUPP9zkX1pZ4S5YTSk5bwr6IKfCPfmA9Keeu7BGa6Jehd2aM+vaH2ud8vY75E97WNQtuArZA/wvWdR9yPFq9MNc3Ep9IvW1HM/CdAlGXTwu4nwSpqIGS2k7RtkfD+puf61Dtkj3vyJzvwGJelffYiLGat132KhrXKsPdW/NLLdjuG4QeVHPwzeaU+X/+bvdD5WclJ4u8ZdKZlis03Bcs0FCVOqR5/KAtvdUcVF9AtirWUS+d3K/d+f4T/qI4tW1QdPN46f4JGnVFGXqhcjAF+p62n8uJes42+vK9p8y46cG1vfSvDhWt370p8N1WsoG+wOTNH9G/2RqC39x3fdup5+JdNjXI/BmEYc+TJCZtjUn6BTWa0Y/R0V/hmyVpWl0ZVV2+astMVBu6veK5LEhOF8DVupUBnUG0jXbN+kUysZ6q8mVWXfa36UaWNLWSIzQt0ZSjG4SaLsEI9Dn//pD+L/4/SnAAL6VGa+pktNJAAAAAElFTkSuQmCC",__vite_glob_0_105="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDcuMS1jMDAwIDc5LjljY2M0ZGU5MywgMjAyMi8wMy8xNC0xNDowNzoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIzLjMgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjMzRUNEQUNERTI3QTExRUVBRjYwQjM0NzJEQjNBRDNDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjMzRUNEQUNFRTI3QTExRUVBRjYwQjM0NzJEQjNBRDNDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MzNFQ0RBQ0JFMjdBMTFFRUFGNjBCMzQ3MkRCM0FEM0MiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MzNFQ0RBQ0NFMjdBMTFFRUFGNjBCMzQ3MkRCM0FEM0MiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5etAFaAAACj0lEQVR42ryW20tUQRzHZ85euhgVCT4EnQIrSsIHIYKILhAVRRZCEUghRPhQoIFQqbEEUkQiyUIQ9bAhQRf/gB4ikB6it56CiAo90AUKItLM3fX0md0f26Jnj9NeGvjwmzNnZr5z+f1mRvu+r/5nipb6cXu8YytmEH5CX+fa1Kuwjqhfj+mHA3AVHtAmPbeeU6JxHLMddsJ+SFC2OURsGeY8dMAm2APLg+o6JfrIwmeZXQSOwmM6PhQgZgRG4CKslGLTdjqoY11qD2WWJ2AA1kjxN1mupFku6uwjfwOa5f8kDBn4/31BQTrQmMXyOQsZ2CJ7uVfKzcjvwic4C6ul/AN0w5Oi1TP9pRHPzBNErAHTBk3gC1kZ9XpohboQvxmD57BI8GU7vsAovEU4GxUx4xCX4GQFHr9LCEqtskqPcoJp5ZzBHKth+JkQO1ckGG0Mi8kqpRWFwP+tIhlZ81qmzF9BHfUtBI13PoSPcBoaylF18j3FbJiEsYSb7MW2w0vLdgUKM/wlHxaDM4eBuuYOPe2euPCGbI/Mtu6fDm9LQSWBnEs33esepqtzot/E3hWJX7slnULQEj3vCHQHRik/DPdhJqx9OYKBox5xE+/5l4Txhdrml1THbZc00JMPeoNNSse7yLpWezhVxh6atNsbXoI5rlSsD7uh2k7jyw2SS9u8W+sQ6iXbDktr4aW+XMiq2bvDhRy7TLalrDfNtJ2gibW2jV5qB2LmoK8v+xHF0aYt6pqL+YjkIxW92ji8nbkOUSJFKji8IwXBGRV9LS+0VTW8Lb4WBDPKSYnYKVm62SqJOPJMeQHDxQ/hd+Z4FE9szE06n9dFwa4Dgl8X1Qs6GIw3/oB78Cz0mVir9EeAAQBcj/F7I4IDNQAAAABJRU5ErkJggg==",__vite_glob_0_106="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDcuMS1jMDAwIDc5LjljY2M0ZGU5MywgMjAyMi8wMy8xNC0xNDowNzoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIzLjMgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjNBMTJBRTc2RTI3QTExRUVBOTgzQkNGRkYyRDQ2NkE4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjNBMTJBRTc3RTI3QTExRUVBOTgzQkNGRkYyRDQ2NkE4Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6M0ExMkFFNzRFMjdBMTFFRUE5ODNCQ0ZGRjJENDY2QTgiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6M0ExMkFFNzVFMjdBMTFFRUE5ODNCQ0ZGRjJENDY2QTgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7+jUz1AAAD6klEQVR42ryWcWhWVRTA71Pfh1YKrdpc7vuWNgJbCRnhCha1QmktsYa2oSMnzbGx2IbCIHDWP6koOVOGLgpxw83WwEKLlOFI3RBNP3UxWBR8+1bWwjGmbm7K1u/IWbzv23tvqz988OO8e88597x77r3nXWt8fNzcz2fWdIwORNY/jiiElyEJkmE2jMIfcAV+hNbi1IO/+Y1l+c2QQA8hPoUX4BdHQK9HgkahisC/uxnM8An2DuIqzIM8BlgD83l/T2cmA3bAt9AA1+AH+AnO4F8y7ZRiXIT4TNJIkKY49TklB92gw2cx4ntYCcfkY+hLwuYj3xnqzPZDhksweTZB2BlMHtpdus5nYURTX8Z4FZ4BUT6MaIFSBrjske10aHZT4HMK8T78DAF4DLYxbqbXDGUt/sbxgEeqlyNuoj/ttfbojsimgU54FlbDFnytmID7IhsW3DEzsmHStkZnwQZ09dA51TEiaC12i+Ay5Oj7ipiAd8ysauiDrt2RjR2QJf3IfPquwheQCGvpe9EvIPo87IxSDE/CuzEBR8zMFVBamVpXiGyEndsjJR3Iw5AORkmCE+jSvAKiL3PYT/BmzMH/uOeD1q2hva9NONF+DnHRZyJy7kruJceYRbAAHlGZ7ebA+Na/5/C2sUecStrXp1gqKW+75IjADbgFPdp+Ap72PfjDxh5yKmjf0oHmegSUErakJrRjOF5R0VPVjrjkW9oIYDsVDHSdvggYDz50C6a+YfS1cfajMTMcMvbseEf6BjxmF64PbW3wyze+ZYiie3Oh4kgpjJkhBoHcnk/mTLR5z6TvUaiDCzAERqma6ixikwYRWMrH1SMfjF1DKyDBZOt+rW2po5u/C25ulHZ2dFey7sYqLdAn/ALiX4c4hP+v+KYbK5Acn9KvEIdfie6RGlpgjN3VFixvnNDjeE2Pwkps+qAF/Sm3YOgoGvZCqaOO9HbF79IaxA7o1q2d4fn1xq5G7IVnPPQ75cicC5beXRatJZX2KtpvxKwhyjEMC3RHJdAe8QqIbr/YLYl+Xhavo28tOgubfRq8GVpphyf9gK8Ei5qeih7Ml7Qh93QH15d7BaUwvI04jt1cHUeqTIjZvIUUnUHHv9BeqmvvfqdJ7W0Q53a9xyyPpKw76RYQu5DecwIu6tchAb6E5xmj2/cSNb+3UXbscXgVjkKbVp0+vceI0wVY6JGAMTgvP+M/U/I7p31rS+ht3i2VSpvHdJf+BS9Bls+pOASV/Smr+//TNVGeeb0tshM36hoNaAoTNW0POEyl2H8j96HBlNzz/+teGhdYrhfL9PczrEVdPqJfj9FpAoWnGse631f9fwQYAMTLonHUTPeBAAAAAElFTkSuQmCC",__vite_glob_0_107="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDcuMS1jMDAwIDc5LjljY2M0ZGU5MywgMjAyMi8wMy8xNC0xNDowNzoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIzLjMgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjNGNkJDNDBDRTI3QTExRUVBNDE1OTBENUMzMTIyNURGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjNGNkJDNDBERTI3QTExRUVBNDE1OTBENUMzMTIyNURGIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6M0Y2QkM0MEFFMjdBMTFFRUE0MTU5MEQ1QzMxMjI1REYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6M0Y2QkM0MEJFMjdBMTFFRUE0MTU5MEQ1QzMxMjI1REYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6P59qRAAAHWUlEQVR42txW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",__vite_glob_0_108="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDcuMS1jMDAwIDc5LjljY2M0ZGU5MywgMjAyMi8wMy8xNC0xNDowNzoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIzLjMgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjQ1MUU2M0I1RTI3QTExRUU5Qzk1RTVGNzZENkJFMDYyIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjQ1MUU2M0I2RTI3QTExRUU5Qzk1RTVGNzZENkJFMDYyIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NDUxRTYzQjNFMjdBMTFFRTlDOTVFNUY3NkQ2QkUwNjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NDUxRTYzQjRFMjdBMTFFRTlDOTVFNUY3NkQ2QkUwNjIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz57u6EEAAAGVElEQVR42rxW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",__vite_glob_0_109="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDcuMS1jMDAwIDc5LjljY2M0ZGU5MywgMjAyMi8wMy8xNC0xNDowNzoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIzLjMgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjRBQjQzQjE5RTI3QTExRUU5QzJEOUIwOUQ0RUJFNjc2IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjRBQjQzQjFBRTI3QTExRUU5QzJEOUIwOUQ0RUJFNjc2Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NEFCNDNCMTdFMjdBMTFFRTlDMkQ5QjA5RDRFQkU2NzYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NEFCNDNCMThFMjdBMTFFRTlDMkQ5QjA5RDRFQkU2NzYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5bVkDpAAAHa0lEQVR42rxW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",__vite_glob_0_110="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDcuMS1jMDAwIDc5LjljY2M0ZGU5MywgMjAyMi8wMy8xNC0xNDowNzoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIzLjMgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUzNTdGRjYzRTI3QTExRUVCNTNDRjBFMDQ3QjU2RkQ4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUzNTdGRjY0RTI3QTExRUVCNTNDRjBFMDQ3QjU2RkQ4Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTM1N0ZGNjFFMjdBMTFFRUI1M0NGMEUwNDdCNTZGRDgiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NTM1N0ZGNjJFMjdBMTFFRUI1M0NGMEUwNDdCNTZGRDgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4Bnlo+AAABh0lEQVR42mL8//8/Az0BEwOdAd0tZKHUgJkPE9yBVBYQGwDxMyCuT5dfsAuXekZy4xBoUSSQqgRiXSzS2kBLr1FsIdASGSCVBMS1BELnHRBLAi39RWmQmgKxIhAvA+LnQPwbhzoBbJZh+BDoAyEgZQXEnED8F00tKxD/AeIneCxC9og8EIMsPQe0/DGGhUDLNIHUESAWonLCBDnOHWjpfpQg/cXA3E0Dy2Ah0wWNDoSFPxhYJWiY/VgxEs13BtYvNLSQEcPCr4xstCxg/mBayECxhXOBuAqIPwCxLHIwgmMM3cIvDOyUWLZ9gVxDSsKjhlZQ8AHZVQTL0s+U+XAr1AywRcGP2haulau6iTfjuz/uPQCk7Mm08D4Qq0GD8tdO2eKnBH1IYZCCirurQNwG8qj14ykqSFUfMxA/Piqbs4jaiQbkwwU45F4DMdUtxAfuYmZ8RlZGumZ8YNHGT0MLuTAsBBbep4GUPo0sfIWtAi4CYiVYqU5FAKo/cylu04y2SweNhQABBgCtTXEF8phAVgAAAABJRU5ErkJggg==",__vite_glob_0_111="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDcuMS1jMDAwIDc5LjljY2M0ZGU5MywgMjAyMi8wMy8xNC0xNDowNzoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIzLjMgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjY0N0JCQUMyRTI3QTExRUU4RjgwOTU3RDBDNUJDMjlFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjY0N0JCQUMzRTI3QTExRUU4RjgwOTU3RDBDNUJDMjlFIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjQ3QkJBQzBFMjdBMTFFRThGODA5NTdEMEM1QkMyOUUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjQ3QkJBQzFFMjdBMTFFRThGODA5NTdEMEM1QkMyOUUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5iNcs9AAACk0lEQVR42mL8//8/Az0BEwOdAd0tZKGGITMfJsQAqQIglgDia0BcmS6/4Cw2tYyUxiHQslIg1YVFyhlo6T6qBinQshIcloHAXqB8ONV8CDQsB0hNJkKpA9CnBymyEGhZNpCaQoIWE1icMpFhmQIWy94T0LaK7Dj8zcDsAMQMSNgZiEWAOAtNHBkrkZ0tfjIwP0HiOhbLzzoAZU/vfZj2G0jPpmo+/MnAuh9I7QbiWVXyUw+0PcyeAGT7A7FSlfysOUB+HpCti6ath+hEU/uoQB5IGQPxByA+2Cw34S+SXA2QagZldqC4NpDPC2TfAWIxJCOWA+WiiPJh8aNSYGpknQhkMkOFjgOxFVSuFyhXBGRu75Xr9gLyRYD8Y2iWLQPKRRMVpJmPqmMZGNjQU+NMqFwHUA5k2fnpcq1eQL4ckH8KyBdHUrsYKBdHVBzGPWoExgPbRCQhULh7LpKr3wmUAwYjWzmQfwjItwdJfmVg60azbCFQLoGoRBP8qC0PGoyInAAsF9fKVR0GygHFWUGJYieQ7wFT8JWBFVTqrAViKSC+ApTbgyvkUBKN5+OeMCC1Ej1Tb5ctEYLKPwdSj4F8MyAbFFedQJwP5H8iNpWjWGj3eNJDICWHLUoPyebNQFLHBqReArEAEMcC5ZaQVQF/Y2CTAGIGLHi6yeMZaeBC8fEMPiD/MhALQOU0yK6AvzGwXobmOazFqNbjuaD4BeVLHiTxg2Rb+J2RNQlIXcSjXhuNv+y+TNxuUizEKGmkniy3BFLHiNC75JlMZCypRSPWok34yaoAILUej751b2XCgsmpuHGWpXxP1toAqcNYpNZ+kgkOoXozEWjoESBlDsRngPgzEL8B4j5KLKNKq23QN4QBAgwAmOn4Rnac8bQAAAAASUVORK5CYII=",__vite_glob_0_112="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDcuMS1jMDAwIDc5LjljY2M0ZGU5MywgMjAyMi8wMy8xNC0xNDowNzoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIzLjMgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjY5OTNGOTBDRTI3QTExRUVBRkIxRDlDMUZERUQ5QzIxIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjY5OTNGOTBERTI3QTExRUVBRkIxRDlDMUZERUQ5QzIxIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6Njk5M0Y5MEFFMjdBMTFFRUFGQjFEOUMxRkRFRDlDMjEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6Njk5M0Y5MEJFMjdBMTFFRUFGQjFEOUMxRkRFRDlDMjEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6i6ZVeAAAB0klEQVR42mL8//8/Az0BEwOdAUUWznyYIA/EEvT04XogPgC0VIpeFgoDsToQHwRaKkvPOFSBWqpAz0SjCA1eJXqmUnmoT9VwKWAkJh8CDeAEUu5AbAzEIMP4gfgbVIwLi5bnQOyULr/gBkkWTn6YDEryFUAcD8QCJPr2JRA758rPvUqUhd0PM3yA1GIyLEIGr4HYtVR+xkW8FjY9zA0HUkuBmJkK8foWiN3q5CefA3FY0GXLHxWbMTCyLaKSZSAgBMQGQHwOw4c5jyrZgdQlaMKgBgAZnjVFrn0GTADFh18Y2FOobdkCuYYZyIIoFn5mYMugpmVr5apm4MwW7o97QcXSfTyGXAPibUB8BohvQDP5RlyW7ZQtnoHNEBak4NTDYdEOIK4/KptzClnQ+vEUGVyWAdXOwOVquIVfGdjE0OR+gdLRBdm02dg0AtXzYLMMqH4GvrBGtpATTXPSbdmEpbg0YlGfBVQ/g1Dkwi38zsj6Hkl89hOZ6KX4NALV/0K2DKh+BjGpCW7hDwbW21DmRyCuJKQRqH45kDIB4ltvZMJmEJt84amU78laUBC9A+Jpn2SCi2neiAJa8h2a7FfTstWGXpY2QPMYzQDjaEOY2gAgwADdepsVMSm+dwAAAABJRU5ErkJggg==",__vite_glob_0_113="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjIwNEU5NjU1OThEMTExRUVBRjhEREZEMkRFOEYwNkIyIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjIwNEU5NjU2OThEMTExRUVBRjhEREZEMkRFOEYwNkIyIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MjA0RTk2NTM5OEQxMTFFRUFGOERERkQyREU4RjA2QjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MjA0RTk2NTQ5OEQxMTFFRUFGOERERkQyREU4RjA2QjIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7yyNOzAAACH0lEQVR42uyYPywDURzHf9de1Z+SkhgkUolRBTGxiEQwMGuIxNDEykAMBhsrlSAhNpuNuSIGg0nEgoga/In4T1PROt+Xe5WjVdfj7h7xSz69l9e7vm9/797vfe8kRVFI5HCQ4CEnG/3HAXJTwowxvKAb9AEP2AZzYCPTRdO+5fcCTQgXCIIJLjIZftADBkDIrilmAg7B7Adx2pgCRVYL7AS7YAmU6zh/Ll3nEzl/XGAH2AEroCqL69i9WWlWBtnfbAJrYBVUG/ydeV2r2ECwJR8BI+AYxAyWuXwjAkuBG2Sq4i/gjIv8Ttzw+1Xh7cdMAhvAJKjjZcKqbUbiY92CRTCcTqAfq2fT5o2jBAyBGtD+TmCUHCESJ9pSMnhHznqBBD6kCLwmZ0wggUqKwHOSEyRgvAncl1xi2y3S7H8CRGEagZZm8F7v91YLXABjGPaEKM4GzM1iimWzxY1ijHG1GUdBzr3C9v2chR+UzeQIH+Pc8mPvli9Vz+jhXfYLPFBnU+4CPt7HXHeZOrZHxxRLOWZOr1etEokdTd8FNwc8fLaWmVpQAQe3hfuvBe1mMAPB0a+m2KpFwlbsOmglygvjGDZQqE0vM8gg7QFm6U654XV88ijBzEKv1WUmGY06z7NNYFY7jWYVCyVQeLPwKwU6JNEzWCB6BiP8cU8ow6otlIMCJe40XfFjL4GCqqGkYhvFwflQ4K36/b9E/+sCXwUYAEO9YOoG6nVfAAAAAElFTkSuQmCC",__vite_glob_0_114="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDcuMS1jMDAwIDc5LjljY2M0ZGU5MywgMjAyMi8wMy8xNC0xNDowNzoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIzLjMgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjc2M0M1QUZCRTI3QTExRUU5OTkxREYxNjI4MThEMDQzIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjc2M0M1QUZDRTI3QTExRUU5OTkxREYxNjI4MThEMDQzIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NzYzQzVBRjlFMjdBMTFFRTk5OTFERjE2MjgxOEQwNDMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NzYzQzVBRkFFMjdBMTFFRTk5OTFERjE2MjgxOEQwNDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5QF4ftAAAB4klEQVR42mL8//8/Az0BEwOdwaiFVAcs5Gia+TCBF0iFALEzECsC8WMg3g3EW9LlF7zEp5eR1FQKtAxkyXIgFsUi/R2I04CWLqGKhUDLDIHUOSKUegIt3UFykAItYAZSDkB8BmjARyC9mUi3LQViYZJ8CLQsGki1AbEcEL8D4tNA7E5C6AcBHbmeKB9OepiiBZRCjgchEi1jgCYo4iz8xsDqT4UcwEFUkNY+KlAHUvOA2IpCC68DcWyz3ISzOC0seFS+AEjFEzDoORCfAOJPQCwPTVT4AChYgyfIdf5HCdKkR/UbgKFATFAenifXGA7V40qEhYEgPUBsA7cw+FEbUCM7sfHGCWN8ZGCXIFKPNdCO0LVyVavBFn5i5IgmIW7gFgL1sZOgzw2IoRYycKgRoQGUF38B8T+4hQwc36HMV0AsRkA/PzxIPzOwXwVSlgQ0fAbiMCA+ixBgXwekeIC4G4gzCei/B7fwKyP7bCCVQkADKEXOAGJQQnkLErgmm/xd/skSWyAzkYgQmoOSLUSfrCwGUj1ExkfUa5nw5UA9EdCaAx/4B1W/EiMf8j1ZawqkoqHFmDA0ztCBMDR4y4G4CohFQIGEnLeBmA2aXzcC8cJPMsF3yK4PR9s0oxbS3UKAAAMAGNaQTJfoleIAAAAASUVORK5CYII=",__vite_glob_0_115="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDcuMS1jMDAwIDc5LjljY2M0ZGU5MywgMjAyMi8wMy8xNC0xNDowNzoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIzLjMgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjdENzA5MUM0RTI3QTExRUU5REZERDUxOUZCQjAxRjI3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjdENzA5MUM1RTI3QTExRUU5REZERDUxOUZCQjAxRjI3Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6N0Q3MDkxQzJFMjdBMTFFRTlERkRENTE5RkJCMDFGMjciIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6N0Q3MDkxQzNFMjdBMTFFRTlERkRENTE5RkJCMDFGMjciLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5dH4itAAAC3UlEQVR42tyWW0gVURSGZzzNwR5SuodIWiDRhW54jJCgC1FUEtmFHkLCoMKkHowgi3oIggojspNaPYRFUeRDQdBFDCIzpJNokQ8RlBldT+Epq0PY9O/6J7Z79sycevChDR9rMXvP/mfWrL3WmLZtGwM50owBHoMcp+75+qC1k8BsMBWMAyHQBR6CVnDf7+ZNOaf7C/qMJWAvKAhY94Trzv9rSNNBPbhKsRawE+SDMWAUmAy2gusgD5wDjSArMKTKGMkQjQV3QBlDp4534DGoBrngEFgFnoEIaE/1DR9QrArM0YiNBuNBhnRNiKwG24AF2sDwVAQvgGxwGGxX5hZR/DV4CnpAAxgqrTnKiJgMr69gIVgDYqBCmSsC18AUhvsKrxeDR2CwtLaG33M6KNUKfkeWg5O0xbQyZ2jLQQQsByNAJ8gCFcr6dbRRkOYSTBqhPDARtIEuYEhMA5n0o9L1OKilP0u5xwaXQDqY68rSpGHNp1uv+a4fwB6eNXVMoO3RzNUwaxeDpn6CX01rBt0bmhtfgH0eRaGMflQzf5e2wPWGXwwrh+6rFMviWqmqVLIwqOObdIxUwfDfFPJCSWwLOB6w3nQJ9hrhl3SHgY8BG1TTVgWIhWjjGkHLKUPzeKj9ntb53rUBDxahjblDaoZv0S0Bp3w2sRmFPpAIENxA26gLaQcTRtTOIeCTTxcRNTMMRJP77CNYQntTlzTCbAaXmRDLvHopOEI/V1NvnXGAD7VLnDrdsTBYH5vBUlAOjmk2avlVJ35v1uTTtHcwYvu1/RAHX14cZyb2sVrIo5WtSwh2a8SKpMK+wLMBJ40/ggl29RhTPp9PG5fue+vxbXczhI5wp49gSL7ezgZ7ke1FcJa98h54z3WZPCKipW2UfqxWsIm7z5TzX5rR3WD4JMlBpbt7jUomyw91IpG9MuW/tjpwAiwEos3M5E+SKIVvGI3bTP3eoM3M//7P+6cAAwAyAtKq2XhT9AAAAABJRU5ErkJggg==",__vite_glob_0_116="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDcuMS1jMDAwIDc5LjljY2M0ZGU5MywgMjAyMi8wMy8xNC0xNDowNzoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIzLjMgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjgyQzQ5RjAzRTI3QTExRUVBQUYzRDlFODIwMjBFNDdCIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjgyQzQ5RjA0RTI3QTExRUVBQUYzRDlFODIwMjBFNDdCIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6ODJDNDlGMDFFMjdBMTFFRUFBRjNEOUU4MjAyMEU0N0IiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6ODJDNDlGMDJFMjdBMTFFRUFBRjNEOUU4MjAyMEU0N0IiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4z78D1AAACkUlEQVR42tyWTUhUURTH73N6byFU6CJS3jDTpsQoAiPELDd9YFkIplCYmYGNZFZaLSKLCoICKdJoLBRpY8QM0UJ01SKyCHRpaIkyo1QgbYoZDYnpf+BArzf3zdw3Ey668OPMvZ5z/t6P8+7VEomEWMmWI1a4rVJ17I005sPsAsWgiGM/ggnw5rRv4KtKHi3dkrLQVXCe/FO49oGbEI5mLAixfTAhsJqHxsB7MMN9L9gByixhxyA66FoQYtUwL7g7Ci4j0VsH3y0wd0AlD7XAN6gsiAR+mFnu9iD4rOI+d9KycrcccaOqp/Ql27CqGDX43oJ5wN3n+Ady0grCiU7iVvADCY64PfaIOcd7XAhOpBVcFp42QLYn01pD7F3OcTLlHnZFmqm2loCnw/dYy6bAkSsGkwvWIdeCtPB/Cp1EPPT7duRMO0z3Fd/DZTdCiKOcTULoSyy4FixIl3RR0w8BwXSBWrczQ0wF6AX5nOegdA87opcK4kIPA2Fhv1tBxJTbctxH7m1JSxoXRkASX+pe0NgpGabPYuNfM4wJowQIGxsbojdMVTH45iGmQpLHnzTDmNA/OeShfbynIogce2AMyZ+SD01cM4JASKhSXk7NqHTI8ShJcNh7cQpTD0iWo0hVkLZAEt+J3K8cP97b54IlMHVgPX+ino15A1MqgoilCVwD13kohNjalDc+HMZhxtMlL57rO0z79cF7KmQpiQKYzdyli/i46xvf3jbMPzX4njxguSvplthL5cxj02D3rNnwJeM3jeXzV28Ro0Z1N2Lp94PWz+bRxaweUX8EPX7J8C/wBAx+M+teZ/WIsrc18+FNMJO24bLvZs27f/JqcxClh9MFLvJ+iA2pxmr//cv7twADAJ+//H5oJHqUAAAAAElFTkSuQmCC",__vite_glob_0_117="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDcuMS1jMDAwIDc5LjljY2M0ZGU5MywgMjAyMi8wMy8xNC0xNDowNzoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIzLjMgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjg4RkUyRUQ1RTI3QTExRUU4RTRFOENCOTEzRDBFMzY4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjg4RkUyRUQ2RTI3QTExRUU4RTRFOENCOTEzRDBFMzY4Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6ODhGRTJFRDNFMjdBMTFFRThFNEU4Q0I5MTNEMEUzNjgiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6ODhGRTJFRDRFMjdBMTFFRThFNEU4Q0I5MTNEMEUzNjgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz63vq0AAAAEyklEQVR42ryWaWxUVRTH35t2hmoXbC2KYTpls7ihmEAQRYP6wYWomKYkGJaKscY9dSsStValCS6xhi0im0pQo034QAgioeDWEIJRosWqRKdTCsHQKsi047Qdf2f6n8k47WD54kt+uffd9+459557luvGYjHn/3yyz/Tx7WClS3Ou8EMFXKv3kZAHzbAGDkI//PVA6aZIJpluph2iLIfmGlgEt0n4H3ASuiEKPiiAIvVb4EP4BNpR3D8shSgroXkM7oc+2A2NsA9+l0IT5oV8uBhugTlwGXwHr8Cn6bsdpBBlU2hehZtgG9TDfsgyJemr5n9T6jL+N/1c+lXwJBTCS7CCb+EhFTJhMs1GuEIrrNcO7oTx8As0IaBD5zsJboZi+BY+M+F8m0r/DbgBnoPXbEFJhZp8HmyBWbCEH95iPED/ZZhgziDH+VqLGS1hF8EJOdEOWM7cHuZOpL8OZsICO1vGYx5tbrZMcb0JM2Uav1tns4WxW2mfhTIzE9RBD8yFheYkYP+Mson8b9aohqNa9KRkWEQdzzr1O+zAVwYXm9edchzP57TXwXTGWnlvoj8GVsGPWqQ51cPy4vWPlG4I8a9vwIs95jzLFDb3Qk3cpG8GqxIHae1XsBX+VBjcCPeAncEXCgszvzmCeeBVcLXmbbBjUojsqS5d24rsC+nvtXPmvTi+w4iT9Y1i6bC5srZv5hwhwblSUg4heFGhsCRloZfLu8+H4/A8tCK7i/YjuC9p0oibXSXbH6wNrOioa3u0Tp7nyEtTn3O0kJzU8NKCE88omdhkR2XS5qRClBxIldjjeBM7deQYPikwRW3wq8b36FuPLNEnRadtd5Jtuz8mDx46l3Y73m0K9Clydzu3XfCDhOYqJnfq+wzlWEfprUlnOujxZFDYBWWwEBZBAA41BJYfph0Lc+EuyGGshbYDZsBiqIBCxsPDrhZhx+tTajJHCcK77wdqf17QVkcG8VbLO810ZYw9zZiZaxos1dnnn7E8lbfV2yF3NgaW9klhTKbrlQdO5p9OBM+nP1VhM0IJo0WmnqCE3qc5yYe55lBR5J+KK+x2fWtp3rk99PrO7SVP9fLuaqLF3lh4QunpAlWK8EBicCzGauQ0Y+RAFrv9yLLjujSevVzfLFmqJls7miPXtjLUG45XnbjCRGUYKRw5UGL3rnJp6hPVoqxMNcjUBRobUMgh71XSvnJ6aDWlyJvIFu4Qx5ClOujN4HTZmmsJ/UspLlD8DkxA4RrIg8fBBxHIFU4aBRrPB3eI74Uma1/JQ0dpd0MW7IL3kk5DoG+n2aysv/+nksqGstCmRplNiTjuCDlaebM8+ISs0KvF+1QAmphP/fQu03crxIf+VYBL2zePV86znPiMOZE8MTvF61ydayRFQfpjddOuKOt1THZVWR30z+8bVPFHt38wTXnPKv5Kq/jH/PM6z+YaiIzZKtBWRWqt2iOjZ8grRlH7x652aCa4A75X1d7a6a84kkkJ8y7RVWOmirCFzQtWuJnX/Z+3toL2RssW8+BBVfjjuokdSTFpv7LKOAV9scYbZZ0DJ/3lvcO+l6LUpxjL08orJfi04rBIIbJDDheSc9mVogtlsbO6CKcpT2SNiSmxaZnmN5WecCYF6c8/AgwAhezW06ktDO0AAAAASUVORK5CYII=",__vite_glob_0_118="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDcuMS1jMDAwIDc5LjljY2M0ZGU5MywgMjAyMi8wMy8xNC0xNDowNzoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIzLjMgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjhFNDY4RUQzRTI3QTExRUU4Qjg3Q0M5MTBBMTMxOUFEIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjhFNDY4RUQ0RTI3QTExRUU4Qjg3Q0M5MTBBMTMxOUFEIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OEU0NjhFRDFFMjdBMTFFRThCODdDQzkxMEExMzE5QUQiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OEU0NjhFRDJFMjdBMTFFRThCODdDQzkxMEExMzE5QUQiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7Jv2FoAAAEwUlEQVR42ryWf0yWVRTHnwfeF+gXiEVDxg+lspWJONqyHxLYojIqG1NGSCM3odqaWW6ZYo2WVgtNnWYpNkqrrR+42bLSstSauvJnNrew3MtLGj9kRiG9Rb19Tnzf1wci8S+f7bPzPOeec89zz7333OuGw2HnXD6+MzW+Gqj0I66B2yFf76kevx5ohkaoq85q6MQngfe1cB+UoGs8q4A4jkRUwDQFGuw5D66EPOiVLiTs+XOggztYSglWgKiBWzzqX+EY/AhtCpatn26At+AiuBCehbtgFnwgm3ZGe9I3SLA7EUtgtFQn4FP4BA6DpTkJfvMEtn7Ww8UQDyPl+wTcr/Y34UXfgGCFiGVwmVQ79f0Zf9chm6cQU+AHdFOlG4FIhGR1Huk3QXqf3k+nFKdRiHVwo4wtFfPo9JDnh3KVvnHQDTPMDpse2rKVTkvrAijStGyEWDiOXdu/AbWyrHG++v4SqjA4rEBjENVws1Jt9n9BEPZAPbYfy9bVKn0A7kG/0ZvFmL6lFJML5WDvrbA4EmxFYMZ4vlfBI5ADCbKLhZFQAiuxm6a+4iEGwhBSH2MgyRPQVww4++z9I9hi+pcCVXG8z4KJatsHR4DOfG2wA3ohG57E/gpkCF6BMjiArhS5GiZF92HIic3XiDttNc7NWtUt/SjtMXv2Qyk8BqZvhdnwKEyHq2ECvk3IXcbzgYcKNZ82JXfAhr6Arm+cOg1q6TvS+zTh9pyv1WupcZWdJgXdrjn92jtf+KchMvSZFx3h744/Ucrj0BFxQH9EP3CVgq3VvrNgthXmgS2WN1RV+lUR/C0LJ7U1UqNz2MNeFr/AqYjDc5lLQnzXwV6IgTRIlq3Jx6ERNkMR9v0Cqr9u2ccNFtA6db1OSzNf2ImuGObDNujy2LswDPJheXVzzfUDArpe22hKTzn+sOZlGFygxeNUNNfafGVSzaycLYfF8B4UK/XvwFiYqHJ2r6qTo34T1V+kqPeNkIZOMJkKKR6HXFgLW2ChbNrtB6EDaqAWQsBc+C8taV4U6/HPhGT5BaMj7HHj9utkYDRODuyV/phshkMlfKvSZRmxObFSd4MKtq3So5sy5ph0JgfrEhw3Lk/2kbocHeEX8DckweSC4DIrwg7OTXzXQ5falsGtEAMjYA08DS4cgg2e0Y2FAk9WNp0eoeP/EFGmzWsjvRteV1s94hJ4UFvB8ezLy/V+AGp3Zzx80D6uC77MiP0V2k72WP/fRE+LnOAavyrIQm10c6w6mDFzd6R3bKao0hQpxb1KvaVqHbZ7ZGeLbyYs0vnYbn60f97veBodbLCNuVondeTEmPt9RuVXkaDYWEa2alVa+ZtM+3ZPuxWFcnhG2bBiUGsHL3Z//OeKkdWyfjziNS0Ge76zE8fOtED69IBs7Ji6TZen2ejD6OI1HeU6I5Plb2fnHGxO/O+dJrXlbTuAl8K10QrlODtgG+zTlSNWf+9q/02ASTqYHU+wBT+nl7UMeYka3vJuju4jpZ7i3av5+EmFIU5pS9GcRp5WZWVFZ/rU9rO6tdmT2PJ+iiqHrd6bhrrD6ic2q5Bv7UovCQ1m5A518yaw3VUKtVBsbtO00cNaOEd1LNkq3EWgtjP1557rq/4/AgwAOMv8Y/AmNkgAAAAASUVORK5CYII=",__vite_glob_0_119="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDcuMS1jMDAwIDc5LjljY2M0ZGU5MywgMjAyMi8wMy8xNC0xNDowNzoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIzLjMgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjkzMDVCQjQwRTI3QTExRUU4NUVFQkUxMkU4OUI5RjAzIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjkzMDVCQjQxRTI3QTExRUU4NUVFQkUxMkU4OUI5RjAzIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OTMwNUJCM0VFMjdBMTFFRTg1RUVCRTEyRTg5QjlGMDMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OTMwNUJCM0ZFMjdBMTFFRTg1RUVCRTEyRTg5QjlGMDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6qC+7zAAABzElEQVR42mL8//8/Az0BCymKZz5MYAJSbkC8L11+wS9yLGQiRTHQkn9ASgOIHwMtrwBibppaCAVzgJgHiNuB+DbQUn9SNDOSE4dAS04AKXMoF2TAVCAuAIbAX1r4EAT+ITsaiHOAeDbQIYxUtxBoqCqQMsQilQjE1VQNUqBlfiCfALEYDiW/gdgMGLQXKMoWUx4mawGpXgYGZg8CSlmBuB6IA8nyYe/DNBaoARUk5FlQ/hQslp/1jSQftj3MBiYA1hVAZjCJ0cwGxIpAfJUkC78zsoaQYRkMfCM5Dr8xsPqSadkzIH5IhoVsimRaOHW6XOs/ki38ysD2lQzL9gBxD1m1xVcG1ptAyp1Ii0D5bwoo46+Vq/pFloXfGNkWAKlsIGbGo/8BtBxdtF225BXFhbfd40kV0FoBG9gOxEGHZPN+ULW2MHk8A1jCMBRhkfI4I5uxk+r1IdDQYmAWqQXi/0DMgIRZyEnCRNUW12STW4AFQRIQ/wViBihWoWkT475M3IKfDKzBQPwLiBmAmJscC0mu8YWfrALV9HKgsvKtTNg1iizke7L2EpDSpWKr8PInmWA9ajQxqNYuXQPEx6lo/lOqtNooAXQPUoAAAwDDq5bEESLSSgAAAABJRU5ErkJggg==",__vite_glob_0_120="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDcuMS1jMDAwIDc5LjljY2M0ZGU5MywgMjAyMi8wMy8xNC0xNDowNzoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIzLjMgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjk4NzAyQ0MwRTI3QTExRUU5RjExOTM5ODcxMEMwQ0VGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjk4NzAyQ0MxRTI3QTExRUU5RjExOTM5ODcxMEMwQ0VGIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OTg3MDJDQkVFMjdBMTFFRTlGMTE5Mzk4NzEwQzBDRUYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OTg3MDJDQkZFMjdBMTFFRTlGMTE5Mzk4NzEwQzBDRUYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7+mobAAAAEJElEQVR42ryWe4hUdRTH753Zh5XaJj2k5tFDzAq3QmGDiqA2KqUHWOCK5RRpKC1p+IcFshlWRIJrD62U2mjBNpEKQsgsraC32dKDsKhmZzLBslzdXTdnZ/qcme+9/Bx3mjGoH3z4zT2/x3fO73fuOdcvFAre/9nq/mnwuXTqMrp5cAMkq+z1C2yDF+5Jdr1faZI/mocIjaVLwZ3Q7Pyx3+FnOAi20OadDadp3GxfQTdsQPiPqoKInU7XIc9OkvkDeAu+gD4YgjycAAm4FK6BVs238R5Yjmi2oqDEVsEciMKP0Amv25GxOF/h6H26M2EGLIEL5O1me3ZFQ0EWmTePwSKJ7YBl8DkLRmoJCAnbFTwqcfuDXbA0OF43aGbrGKM6woVM+q4GgXP0mNYf68W+0IbhemiDr2G1TYpo4cV0C2A8ZMyzamJqN+mu1kIsMLLW7vkB2K17TqFxeSh4xIu0QTPkoRM+reUImTcFpsJ1kHo6fVeDM9YLT8AIXAh3hHe4Or3gW130Lrh1SfJ5Cxaz25GPsXkKArflFcUb4EbYA3PhPdYXtN683ghX2MlhTxTvcNiLTtImb+sF9mRv0b3Ww18SKQh7HoAJsp8F7fAN7NP6vXRbJRgPg2bYrws27O1IPDUcCvp10+jmH0fmsmw0LhBcllyXW9HXvkuJYlwoeLjoQNGztLsa+w907+quRxQAEcdLT1EdLV6b562HbNkeWWWnqaHgUEnwAPS7k7Fvp9sJOZnqywQLstk+w52Jx38td5k9LOscOip5SzCi4AgbGwwpTf3rxt5+8DaEgoMlwVMVAGG7vW+FDVwLVxVjoHSsfoW9owqeN19OdHwWGNnb7u6U0QTPgElKacFke14Jl0isrganLEBcwXPd0lY6Ur/hsN636TMyq17ZEl96SPacc9TWWxBZTmws8zS4y5yqSbGxV6PnN0zT/BHXw166FhXaZ+FL2X/Si/2kNrWIfQQaJOC2iI50j+NdQnt6SnNh0GyiO1+1bV5LZu33n8QXDeyI35fjd4/q3M2qea8y9k61c2UdXtVbmbuoqF0qVaXoMUH4yKIV7oaZzZn1xSNj8308r4HfYAyMrTE6W+Fei1LYCd1H1cPJma6ZOs6YXlQrMVt3x1N5xhoVqfaKfIztSCUh5vpKZevknWWddtb0HFPxk9nuxXQPKw2Z6HJ4Ix2be7CmvJbtPlF3ZpE9pZhoSkV9JXvkjxGcmN1ogfAg3K/aaB69BC9ahO6Nte0fTYh1TXTn6dNkvv7woOrkQ6wbqPgRNSG7qV7Hudip5pb1t+v9stL1p6L2ZH21TYernSJsefkZWLM/dttg1c9Ea+Ozm1v1fXOlslDQ+ssEm5wxe0c/NM/6Y7O21Pxd6ohOpLsFZsmLpgpTD6h4v2YgljmuD+H/sv0twAAOqJQ7QSsKdAAAAABJRU5ErkJggg==",__vite_glob_0_121="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDcuMS1jMDAwIDc5LjljY2M0ZGU5MywgMjAyMi8wMy8xNC0xNDowNzoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIzLjMgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlDRjJCODMyRTI3QTExRUVCMzc1ODdBRDk4RTMwN0QyIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlDRjJCODMzRTI3QTExRUVCMzc1ODdBRDk4RTMwN0QyIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OUNGMkI4MzBFMjdBMTFFRUIzNzU4N0FEOThFMzA3RDIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OUNGMkI4MzFFMjdBMTFFRUIzNzU4N0FEOThFMzA3RDIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4CpFiGAAACOUlEQVR42tSWTUhUURTH73szI0RFSiSWNYIFQW0EoaClmzZuXARqm0jCpURS0MdOE5VIpI1BIJIts5DWbUKDFpXah5CgSS2ssAicKZum34Uz+ca58+adRKELP857951z/+e+e+/hetls1mxli4d9HFo4cwAzDJVwr71muCfEtxnTAdvhCr7jLj+v2AwZoArzAWbgCbRABRxjsGcBvzLMFByGO/AbzonodY3gc0wtQbsCfaOYVmii/wHv9ts7sKLH6Xsrft2Yy7CHvs9Rf2kdTAY7CD7NYHM8jmHtjGwCn+g/si52Vuw2zQxPYB4Lj+S32WxjMCFrZVsnvIB9stb1cAoukMhgqCAiR22fvH6ENuhz5GOFV0S82vH9JnTB3sB4b0gg4+c8bi2cvbFq/BmYFr7AJfgGZh19BNdgzzu+fYdWiQ+ON5K3hqsm3uDIdHeR9Y1JjGsP7BRce2JN8IeJLWvPLzEJRcxyvqAXV5ccYv690qRNolYRVykxFYqYg3mCKZO4Jgd4KUKSryXmPmYeMiViynPr/ldwINl7t/391aSco7CWzQkgmJFtX2otXw4lu6YLKs2KSdzGnIzwe/rhIv6N9vhG8LfV6ZBLcDHieiyJ/9eI/nPOWpryylQ7TuvvmqEqWOtfOEPlAKn/TjCtHCC9UUFtqdpQaZNirBNU+hcI/jS6jLX+BYK/jF8VMa5c/HdE9N9f7BL1UK6CntTMYkm+kmdbuJ+WKN6+3InCL1Gb1Xyzxe2PAAMA/gPEVxdWO0EAAAAASUVORK5CYII=",__vite_glob_0_122="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjI0NjMxMTM2OThEMTExRUU5QTg1RjA4MzhFQTgwNkVDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjI0NjMxMTM3OThEMTExRUU5QTg1RjA4MzhFQTgwNkVDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MjQ2MzExMzQ5OEQxMTFFRTlBODVGMDgzOEVBODA2RUMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MjQ2MzExMzU5OEQxMTFFRTlBODVGMDgzOEVBODA2RUMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz44J7XaAAAFkElEQVR42syZa2wVRRTHz+zu7bWFQmypvKQqBB9oDGpFQwyChiAxkagxEuI7ysOIGlAi+PzgAxM1QQWNfpDGKCgltSEhCBX1QxMMmmBUDNQgIi3QCgW8bWnvY/zN7hQrdNvdllYm+Xf37pyd+c85cx6zVVprOZubI2d588wftf91/qZFdIZrFmQ6IetjiqSkTB+XdnHjznERmAtuA2NAE/gKfAC2dffiO6UV/a7BSWANWAImgEJQCh4Em8HDkTTYT+1qUAVGhPQbsm+ANvDxQO/Ba3og19GGglXg6YEkWAYqwPkR5QeDZ8BDA0HQ7Lm14MKY7xUB46n39yfBydYhxvXy/WHGccGi/iBozLkSjO3jOMZxFoM7YxNMisblQ7POa2DiGVrsKPBUxzaJGGa0bIHiUFUgo3QbceE/67oeXBvyYiXYbfunmZwQkeSVYBZYEZmgWUuFDJFZKiUjfJInM8pVIeHkRbT+PtdGkVwJ8i9xvyAiwXOsuaNq0Cw851+riAozuA4jNaYDhbTanNhZfl6BZFf/JYn2rC/gNIyUtsUt4raz2CciTJiziJtJtE/ySzVIpqLFQihmRW3h4R5QbIUeHyyZ8gOSBzkEaUfFa4Zoa5Gkl6XEM8H5gR4mOgr+7KUXByS/UfmMkGcMXdciztfHWSsg56oP90h+2zHxik+I2gx24lw3pMRVuyW/Za/kLbGy3WEbWNOHXKz9te2AZJ12pET0csy9rliyu2pU8kSblpIxktuAzCS7P2YkRGpSwZZoSXevl+3Izh8iuUwcgvlgCrjRar0GkluZu7lRJaVRtzeNl9z325TZ2zJclN5QK26HZ1eW6sx7taqAVWV4N7eqm3kov/TsCTpT58WoZsZD5E0R95aT9hV5EvwInuVRtdlqtX5XZqQNLR3kvqWWXLBPFR6yTraMce4LmWcHY81B/o845RYlkypH7IqQvHs5qLbhjWzirbfPTcPEmflEi0NB0Ssr6A8LMz9B7mbkj8SpBw25T1jxpV30pcALaIU458dDilD9WSdyVDPZhYSzg4xhtsQryD3axXw5u10oErJH4hSsBF/1Kd2XhPQvZcB3g3gqFzDPWptRrFkzbIHkQfubRXimlOrqrLAzyBjppjgV9cRuyLUGtVsOcnlmT1EcZJF1rrP969DGY6Ah4OOb3njjMVv3uVZrrYHm5J7uyHVFkEpYfc7jsSGxhZpNvy2SMJNfzFwfIWvJ6Uo/S6hkgz+sbg0OYiKYNlFhI8C5JswEDmHqxnS0U51tbHiHMt0ZHSK7KdCcH9+NJl7mOtmS20jfIlH5B7gno+hBogbXi05lgnXJVoten4spFp3VohKjgYSgGe0cExPrlEcW8+qD5x6O5DwiqnBvYEFNSJLvuI6DJP1DrPL7dHBXd6HMsmCCUGAi7+4gZifNq8/z3nSuSyFXT58RgpxnxqK6UeZIWdBRCfWWpDWxNzeCbAl4jokwYxJzeX+LtFdbTzb77S0WMc+yN22qLZtaRFEfcOhHPnb6t9JeUcC1RxATHfahnh78LjBDGO98ld8cxr1kJ1nn33tuVZHlnuuNBt1f7Ik/SrssyApChpHfg1DhzOwiIqROs6tiq2sTj5sjlwFWymFCNTPGwgzJ5T3IrLch5ZRa9jxINtpQGNnEDkEzUR7RzBGQYG+6Jk22ne5shuTwyE5jNZiHOTTHPdfk1Gl9O5SpXxmD/Zg7HC6Tjusk/moOi1KzRbmbgPQS26kNbmWs/f30AVORphwqC7cq6IoD9weuc6zjnNkPmKc0Q3KhPfbdFHEczCoUotnfBuoTMCcqdS9a+aKH7GJAeeXebkunAf1GXR+U9mpjUDZ1CcwqlFe5Xf/TR3TF+UDhkYqKWO0DaQvIq5XgDvBzf35DVmf7vyH+EWAAs5uJ4B+LwoAAAAAASUVORK5CYII=",__vite_glob_0_123="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjI3Q0FDREYwOThEMTExRUVBREY2Qjk1RUE4MkVCMDBEIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjI3Q0FDREYxOThEMTExRUVBREY2Qjk1RUE4MkVCMDBEIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MjdDQUNERUU5OEQxMTFFRUFERjZCOTVFQTgyRUIwMEQiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MjdDQUNERUY5OEQxMTFFRUFERjZCOTVFQTgyRUIwMEQiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5E74sdAAACrElEQVR42uyYS2jUQBjHZzaJ1FIqvawPbH1UK4h6kBY8KB4UETwo+EDBiwfBVwUpiojaXjwUvAi6evAFnsSLF2/WoiCCrQ+qFykoWh8oiGi1B3e78ZdtoiHu7kx2N00OHfgl2cnk459vM9/3zUjbtkWSW0okvCVeoOldyJEuX3cWcoVzu50T6cK1EI3uuV7kYVxlewnshkvwQTV4TBiQEj+Q9AUGWq5V50HHoKKdhZPwAjqS+Be3uucmeAw7kiZwNPD7JnQnfZL0QG/SZ/ExuJ0EgWNl7m2GAZitHWZq0ObBUki7tCrGt8Nz2AjPohK4ELbD1gpDifMiT2EtPKilwKNOECYWrqiR9+/DAbhYrcB90EXEXxTBN5uBme5MDy1wGVwlDXVEPMO73RS5K4zAw+TGc5MYhnbCXFijI/DEoDTPxBArV+t4cL8QVhzivHKqrMD13MrEWAZa5QTO4P6NGMWNupkmKLDe8+5lDrNiEvcSNqHhXSkPUrtZ22IS1w/rEGcXj4MSD9q/e2ISd4ElxiFVqqsTctreEEafwBCMwGvIw3xohhY3v9Zp2OnFMcc1igWzjcN0DYMP4TRvfE9RKD3isEph6yB2MprllrVcQxzriuwt9TDlezre3oCtvhD1oFXubV9NLCGzg2pxjapi+L07U4dCrYuFMNpKjPk4UVyO/1Sba1INGIaVerb+92Ap6xjMahhMBzsaAr/vwBZs5SraWRDSbCia8uzcZ6UVOadY71ff9XnsdFa5LjYMUdgt+Mt1Dn1qcc0i8JwHtZ1BGW84RW5npQHS/w1+9/V/4jvZU4PM0F+zzSMEfvP1nxLe3oss8pT9dtJSjE9g6s2/mZa/IhLSzECsc9oR5XpeLnA9ORy5QL+SX+75rvbTcnHkAuXUHvWUwJjbHwEGAASMieqC9qojAAAAAElFTkSuQmCC",__vite_glob_0_124="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJCNDA3RUEyOThEMTExRUVBRTFDRjg5MzM3ODVCNjFCIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJCNDA3RUEzOThEMTExRUVBRTFDRjg5MzM3ODVCNjFCIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkI0MDdFQTA5OEQxMTFFRUFFMUNGODkzMzc4NUI2MUIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkI0MDdFQTE5OEQxMTFFRUFFMUNGODkzMzc4NUI2MUIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5b2IaKAAAEXUlEQVR42syZSWgUQRSGq7pnJmMSkrijxqAhHiJRJIi7xo0c3KNRXJAcRBGCXsSDIiq4IeISoxIPigoirgfBg3tQBHVwjCvGg2gQdVSEuCbqdPvX9BvtzEz39GJHC75J0V316vWrV+9VVbiqqux/Lj7xs6yp0q2c3mAY6Aq+gUfgHmh1I7S24JSmoItSClaDKSAj4d0zsBscBJ+cDiA57CeDPeAOmJVCOVEKwS4QBtPbU8FccARUW2xfBLaBSe2l4Bowz2affmAtKPZawf5gLOAOPmwoWOq1ggvBQBeLqgTkeKWgsNoQEHChYB+aAU8UzAfZLsOS6N/DKwX/ScqJBerWWFhLW166CbhUPoM3thW0WloYDyuMj0HV71DBJnDdtoLvrI93CIwDg52lH+VekKkfPLMgyuNvjF+NMl7qIETdQpe6Zic++Nxe5NgIeoH5Nvo0wnLrsln0iaNFYrN8jHBpwWvGhcMvsdA+ksvUbcVq9LzjVdwgjcTvTxDV/qpiwX43yWgK+NFqMfJ0amY8/yb3G3iFqsV+3p1ygERq+RxbUBR8ka+M6u/AZvAQDADNmr+xCrCBVrzYyZwBD9pjisVXVutyMrZeSh0s0YL6JV1mjKCdSG2LKEWusum3qTIJTRlHVuMFqHSgb/DrwebTP5Tq6CCFYyEyubzHu3pdv1FgbltZQnYmTS9PmazMQwXvTJsPCGFZcYUxXXKhtqmWj8Jv6rV3fvJNheriWQALQz5AbXFu8U3TZGSRzBwawziT2o1lwzHICLLAFwx6GpVXJu3hn/JxtH1JFhuPn8Ue7gelFRiwhCyyF4NeZCxIR5Jcskom1cUz8U60kXdQH8ylVIVK3t9TkAsfwUDcPxWUMhEuYiGDi5X6xeJW8g76vKC+JYwHFjOepcn+OxaMTekcTFFfilEHoPQNxuFPvxEf0YUIsoR319BnE/WFeeVKOkO7CjODQF9aod3wLcPjmQQLAX6lRuy5B4eS0gVUykn2foqNwoxvwX06S6dVsEzLt75RBiPtNN4yqSQyQKu5zbtGZKkaPC+nBhVEvHwFWyjoK6kUFPX1MP8K8m6TnbWsmh/sFCMrdmPGm+NMyjyj6aDfkuiDk6EjMoQv+CcXpgTnYj7bfvbhiJ++mjSyBRPwU0dB97cFe6K6z+LyF31WMi49xaC3UxpYTbKgSEtVFo+cwsQzwTlwUrMgl2eAPMAsgjzMiwxPp8nti0G5DfkZYJjOgvIAB+fdjjaPm3k2E0i2TkHJ6yOlE/mKXsG7dNloZ/tl5/DzPnay0G4WrJQo9YmvYvksiFC+tEIIjtJofEOS1B5bMvmEDfliI3JOH2bE5hK7DOmD9igt22HscMI+kZANDuz8GPqFLMj+BFaiEkqMg/UUKD+bmP4HWA5Omd8xpRqYN9ClZ4OJfJFNtoLDNM1tFFToynYiuEynKL1iV4BIf7Xxzg5KiHLxRvLJn3/yOztLlwKb9PL5//5viF8CDAA/td8VmZKq7AAAAABJRU5ErkJggg==",__vite_glob_0_125="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJFOTYyRTZGOThEMTExRUU5NzlCQkJFRDU1OUVFM0U3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJFOTYyRTcwOThEMTExRUU5NzlCQkJFRDU1OUVFM0U3Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkU5NjJFNkQ5OEQxMTFFRTk3OUJCQkVENTU5RUUzRTciIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkU5NjJFNkU5OEQxMTFFRTk3OUJCQkVENTU5RUUzRTciLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6ovm6LAAAIpUlEQVR42sxZ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",__vite_glob_0_126="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjMxRUEzMDRCOThEMTExRUVCOTdFQUUwODk5OTM2QUQxIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjMxRUEzMDRDOThEMTExRUVCOTdFQUUwODk5OTM2QUQxIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MzFFQTMwNDk5OEQxMTFFRUI5N0VBRTA4OTk5MzZBRDEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MzFFQTMwNEE5OEQxMTFFRUI5N0VBRTA4OTk5MzZBRDEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6SSxQ4AAADdElEQVR42uyYSWgUQRSGe5tMxkQUFzTGBBUEL24IbqCIGwQ33HC7qYSoiBdF9OB2UAMqaEQx4EUQRYMHD0GMBkRBcAEhKKhgJIob0SRqoqTtbv/K/IOVnm5nutvAIPPgm96qq/6q9+pVTauO4yi5bJqS42akTra3rMpUdihYDSaC++AG+ATsLNopAtPBUtAJroNH4JffCzXldb0FZrDx4BgbUSl0GzgFrrFRPw9NAAfAbKDz/fWgGtQCK6qLB4KTYAG4BFZSWAmPopGxPt4RnbgJKsAdsBzsBCLwD/J55Bjcwt4LIftBAzgK5tFVa8BpMEl6Jwb2gMPgB6gEG0EjOA82gzjYBEqjClxB11wBH3nvJ3gOdtD1C8E+MIbPq8BultkALoA2PhMuvQsugjIwJatJkoWVedxrB4eASUEvwUOwCzzlSDV5vDcKTAXfwJuoAoVbz4EjdLWIqRZODDGDO+i6xWAr7w8Gl8FXMI3tCJcOAjPAEjAMHPfpQCCB9WAd2Et3VVCExWBPzcKRoJgojE1RtpAzV6PIIeAFR7f+b6nGLTDOeJvMmLOlmHkP3jKOSnzqusVJIxqcC/wSqxjVZ2AEwyLB+yqPr0Adc+wfgaairqU7S1lYXgM7GWfFfj01Fa1BV+wzCcWxbUU1UXgZZ7PbCsAcdqK/JCxlX3i/upfALkUXSXi0T/sFmeIAoiwNWMmhN630hlNWSPxsOBiX5uIuRTM5SrGQy2ZcaGJAGrq/wExm9shxC+xQjG6XW4Pav9wW2WkCWwOlxD43J03gE1WPR9x+Ga6lTg9Zj8qM4q40Fkteh/ZULOQK5dZnyHVJFRlX8fMaHRcB2h2wx6Kee66cWOXKp9l4FsJssXd87CFQu40fYPTDcUAIt7RJ18281oLVoWJwnPbkRPZ0hY58p9VwMc92ZqaWsVruF4Ut4jZNCzC7Rdl30FDpmWaSudgQ17N8NqCZrFE6LwfzQ9TxIZnE414CE6n80xxS4Hfp/DM3qomAdbS6Y9bwOI2SHmR3qRHrcAlUY0oumjSCeq4LzPkRNPIC/3OBqpGfxREFanmBueRip69GUKyFRSHr0l1/U8Nk/kL3emz4LNimx5/3TAu8LLCIuxInYB3ypxRPgWKrfwLM5ChYWW40dX7VStkDcJajaAUY/SZ5s9qjPP+VP6L9FmAAta6/BZ7O9i8AAAAASUVORK5CYII=",__vite_glob_0_127="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjM1NzRERDk4OThEMTExRUVCMUI4RDcyOTBFMjU5NDk5IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjM1NzRERDk5OThEMTExRUVCMUI4RDcyOTBFMjU5NDk5Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MzU3NEREOTY5OEQxMTFFRUIxQjhENzI5MEUyNTk0OTkiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MzU3NEREOTc5OEQxMTFFRUIxQjhENzI5MEUyNTk0OTkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4Ms2TkAAADa0lEQVR42uyYTUgVURTHz5257/lMS8vKtNBKCCqwoogW1SKiRRujTfQBEUYhaRRFtijCoFqIULQQwqBaFUgRSKARUropEJIgahFSEH2QLczKr3m3/3n3moNfb2bee+JiDvyceTNv7vzf/9x77r0KpRTN5rBolkcoMBQYCkwSkv/s+3Rg0psOmENxyqMRr+1lgXKwHawDBcaEHvACdICvpumkcbOkWQtMUxSDWlA9RWaqwBdwCzSCbzOZ4s3gKTiZpM0icAk0g5UzJbAMPAZrfDyzFdwFItMCF4KHYEmAZ1nkCU+DxOOvWAbWAhu8BL3goBkUQeO8dlL9CiyQ1QyTOMODHWwwl9qNc/tTzEBhHO0OkmyyphNYAAn4IrBYDA0A2zjnkDjbR7J+3HM7DOkocxV4X5M9ncBGwdlTCYlEf2mnGqR+SET92xYlqncoo7HCJpULI/qj0BCDJdoc5U5xnhE4nBA5QEPoYDY7WS0p48EvL8snp/uJiOE02/SiCN0bE+i4BErqFHNx5NnDiczAbIiXi0EtKmrIMkw6SLg0yRwI3oOH1nsoValGId51GI414PwHmdFAZnqVEyuKqoSoc/glxYmp2HuMuOZYlciRtiVZcF65ShzBY7dxvAp+T1ZmYJVVB2trTeM+Q1zGC7pMCvpNWary+HBEO8l1UZXCweOjIuVYWukYXLsQPFN2K9HQK20kGydLfQh0zwlc/H9C6GnOiBYoYmWkRhpS7Eu5OltDpqPTohTaqgEtoM04aB0iEc1JT5/PMl2QUt3PVroERvemQVm6N9i7XH0wWpSGBmMTU55S5LsEyniABnikvgbzwXJ05IFx97/DVB6Jn434ksB7EhKRXjPMfdUVcA39t4OUswmjt2vcfaya5XsS9luUDV73XfTZ/keXg5HnPlfEHDzb4KXWFRKyRZvknnUUZgXVrjdP8YoAM9J911pUNOra5Re5BU3AKbtGj95sF/zZ3oj7bfheuc92UQetO24H3+DCKZxcD1ZX4qihagGOdS4HsSmysFexFvuvBs5RHN65HEwcbuCIKcb6oz/7QfKqh3drD0yVZuc6cX2pz7bQLQQWKfRoqiU/71m5P+4Gq8A847mXNWvUlAbuy6vBB/AsycbMMouMPtANWkcHx/+RGP4DMxQYCgwFZjb+CTAAOfjAdVkckFwAAAAASUVORK5CYII=",__vite_glob_0_128="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABN2lDQ1BBZG9iZSBSR0IgKDE5OTgpAAAokZWPv0rDUBSHvxtFxaFWCOLgcCdRUGzVwYxJW4ogWKtDkq1JQ5ViEm6uf/oQjm4dXNx9AidHwUHxCXwDxamDQ4QMBYvf9J3fORzOAaNi152GUYbzWKt205Gu58vZF2aYAoBOmKV2q3UAECdxxBjf7wiA10277jTG+38yH6ZKAyNguxtlIYgK0L/SqQYxBMygn2oQD4CpTto1EE9AqZf7G1AKcv8ASsr1fBBfgNlzPR+MOcAMcl8BTB1da4Bakg7UWe9Uy6plWdLuJkEkjweZjs4zuR+HiUoT1dFRF8jvA2AxH2w3HblWtay99X/+PRHX82Vun0cIQCw9F1lBeKEuf1UYO5PrYsdwGQ7vYXpUZLs3cLcBC7dFtlqF8hY8Dn8AwMZP/fNTP8gAAAAJcEhZcwAACxMAAAsTAQCanBgAAAaUaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzE0NSA3OS4xNjM0OTksIDIwMTgvMDgvMTMtMTY6NDA6MjIgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjIuMCAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDIzLTEyLTEyVDE3OjI1OjAyKzA4OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyMy0xMi0xMlQxNzozMjoxOCswODowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyMy0xMi0xMlQxNzozMjoxOCswODowMCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo3OWNlNTdhNS0wYThmLTg0NDQtYTI4NS0xYmNkMjAxZGU2YzgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MjMwMjY1NDQ3NkM4MTFFRUFEOUVFNENCNEVDNjg1NkQiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyMzAyNjU0NDc2QzgxMUVFQUQ5RUU0Q0I0RUM2ODU2RCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJBZG9iZSBSR0IgKDE5OTgpIiBwaG90b3Nob3A6SGlzdG9yeT0iMjAyMy0xMi0xMlQxNzozMjoxMCswODowMCYjeDk75paH5Lu2IGljb25fOC5wbmcg5bey5omT5byAJiN4QTsyMDIzLTEyLTEyVDE3OjMyOjE4KzA4OjAwJiN4OTvmlofku7YgQzpcVXNlcnNcQTAwNFxEZXNrdG9wXHdlXGljb25fOC5wbmcg5bey5a2Y5YKoJiN4QTsiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyMzAyNjU0MTc2QzgxMUVFQUQ5RUU0Q0I0RUM2ODU2RCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoyMzAyNjU0Mjc2QzgxMUVFQUQ5RUU0Q0I0RUM2ODU2RCIvPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo3OWNlNTdhNS0wYThmLTg0NDQtYTI4NS0xYmNkMjAxZGU2YzgiIHN0RXZ0OndoZW49IjIwMjMtMTItMTJUMTc6MzI6MTgrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5nw9pTAAAEVklEQVRYhZ3Xe6zWcxwH8Nc5nXOQ25ZCJiT32FwaMkyxYhMyMpYZlq3F5m5uo9kYYy5jC5s1IsRqxlAbmWsxTkgjJDZRuZUUp07+eH+fneecnuecpz7bb/v+nuf7/X5u78/78/k1jf5qqq2QQ3EcDinrweiHf7AMX5RnIX5v5MKWBvecjYk4CbsUpc099p2ITdiIlZiBmcWgbTZgLO7FgehfftuAT8Tjv9CBHTAQR+AADMH1uAKzcDP+3FoD7sFl2L28f4rpeFM83ITO8l+TRKQVw3ERLsRuuFSiMxnv9VTSVAcDz+Kc4vVPuAOvFy829GK0YshOEoVrcHn5/XvcJmnptrmW8vOK8jkYh+fwSwPKSVTWYDFuwASsxf4S1XOqN/dMwf0YjzY8iIexvIaS/jgXI7GrpGMJXhRPK/IHZmM1nsa+uE/ws4juKTgdzwiYXizW/1hD+XjcWDwaJPkngPxV0H9XjXOnYV5Zt+Mo6Dd0yqjKhtnYT0I9GV/XuOTi4sFw7CjReV8iOVhAd4xUxfweZ5dhBc4UYP+ARRUMjMPBZX2dEp4eMki4YB8pvUo+p0g6puI/4YkLhLCqZTNexgcStdvRVsHAVUIun0uZddpSxuDIsn5K+OGv8r5ccr8brpRInoUFPe74XSpqnqRwdHPx/HipiMcEsbXkfF2c8FGV8oqsxdtlvR32rHFHp9D0FxKFy1twgqB6Hd6QMNaShRKl3wREtWSXqnVHnT0deEVYc2wLDhPvP5OyqSdP4AX8rXajGSrghVV4t849/4qjt2LnFkF0E5b2opzU8uo6/w3BAzi2vC/Aa3X2dgpnIJ7vUdbr1QZfX3KQYGd8eZ8vFfJnL2c6pGtqlrwSNtsW5fdJGcOrwv8f9HGuqaKvRRe/t26DARNlVoC5uFbfqVSUt5IIfCckMUAXrTYih+DUsl4ufaQR5Yqu5ooBiyX3R9u6KIyQUiIDyjsNnmuV0kdS0C6eH4BhMng0AsaleFwoeq76/FHLgEravm2RKWWlMNdlEpH1DVy0oDxNksJGZYB0xs14ulmGh5ni9SXC441g4SDcLeQ0UXcWrCctMqoNFOZ9vtINnyyG9JfGtH0Dl90mw+b5eES86kuGSzMiDWlpxYAlws+ETseoPa5Vyx+6Qt+JnfvYvzdukTliVXGgm5JJ0o7JDHiK3lMxQ8D3DR4qZ+rJHjI3TJBeMB1fseVUPFLGsmH4WSagD9UH5XblWdOL8iG4Wkhqs/SICnNuEeYPZVL5AXvJKD5JKqSfLeXfXpTvKDzxcFG+Uca3s6o3Vc+EFflSmG2E1PgZ0uVWSBtukpzXKr02AfLegqVHZUZcL+k6U4+eU+/LaI5MxNNwOE4uT7tE5S3J4bqyv1lK67hi8GiJ2iaZlKfhzlqK6n0ZVaRZavwmwUWb7sDcqOvbsFo2SWpekxL9uJ6Cvj5OO+WDYhZGFWNGCaqbyvnqOzokMi9Ja27v437/Aw+mDRRhDwdgAAAAAElFTkSuQmCC",__vite_glob_0_129="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABN2lDQ1BBZG9iZSBSR0IgKDE5OTgpAAAokZWPv0rDUBSHvxtFxaFWCOLgcCdRUGzVwYxJW4ogWKtDkq1JQ5ViEm6uf/oQjm4dXNx9AidHwUHxCXwDxamDQ4QMBYvf9J3fORzOAaNi152GUYbzWKt205Gu58vZF2aYAoBOmKV2q3UAECdxxBjf7wiA10277jTG+38yH6ZKAyNguxtlIYgK0L/SqQYxBMygn2oQD4CpTto1EE9AqZf7G1AKcv8ASsr1fBBfgNlzPR+MOcAMcl8BTB1da4Bakg7UWe9Uy6plWdLuJkEkjweZjs4zuR+HiUoT1dFRF8jvA2AxH2w3HblWtay99X/+PRHX82Vun0cIQCw9F1lBeKEuf1UYO5PrYsdwGQ7vYXpUZLs3cLcBC7dFtlqF8hY8Dn8AwMZP/fNTP8gAAAAJcEhZcwAACxMAAAsTAQCanBgAAAaUaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzE0NSA3OS4xNjM0OTksIDIwMTgvMDgvMTMtMTY6NDA6MjIgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjIuMCAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDIzLTEyLTEyVDE3OjI1OjAyKzA4OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyMy0xMi0xMlQxNzozMTo1OSswODowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyMy0xMi0xMlQxNzozMTo1OSswODowMCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpjNWEzZjA1MS05MDk3LWQ1NDgtYjg1Ni1lNWQ1ZmRiYTU3NDUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTZERkYzODU3NkM4MTFFRUIxQzdGNTQ1REQ0MUUyNEEiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo1NkRGRjM4NTc2QzgxMUVFQjFDN0Y1NDVERDQxRTI0QSIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJBZG9iZSBSR0IgKDE5OTgpIiBwaG90b3Nob3A6SGlzdG9yeT0iMjAyMy0xMi0xMlQxNzozMTo0MCswODowMCYjeDk75paH5Lu2IGljb25fOS5wbmcg5bey5omT5byAJiN4QTsyMDIzLTEyLTEyVDE3OjMxOjU5KzA4OjAwJiN4OTvmlofku7YgQzpcVXNlcnNcQTAwNFxEZXNrdG9wXHdlXGljb25fOS5wbmcg5bey5a2Y5YKoJiN4QTsiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo1NkRGRjM4Mjc2QzgxMUVFQjFDN0Y1NDVERDQxRTI0QSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo1NkRGRjM4Mzc2QzgxMUVFQjFDN0Y1NDVERDQxRTI0QSIvPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDpjNWEzZjA1MS05MDk3LWQ1NDgtYjg1Ni1lNWQ1ZmRiYTU3NDUiIHN0RXZ0OndoZW49IjIwMjMtMTItMTJUMTc6MzE6NTkrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7kq7paAAADUklEQVRYha3XaYhWVRgH8N97Z2HGyknbEGvCsZqEMmwRpqkowzIqgupz00IURWhEGfXJiAhaoM0WKmiDyoIWIiShDy20CAXZZFFRSX6QtEkxzXSmD8958fbOfe+83nf+cOHec55znv957rOd2pLRVQ4AJ2IIi3AyjkaGLdiAr/Epvmp1w84W5YZwIy5CX1LagVqaH8AZGMcufIzVeK9dAofiAVyBg9GVm/sDv2Iv5qA/kerChTgXn2AFRqsQWIjnham709gGrMFH+A7/YCIpHsAwLsfZmIElSX451hUpqTXxgYG0cJEw85+4J42NCTOPN+6FHhyEpUn+uETwB9yCDxoVZU1O/2JO+Ze4DM/gd+wsUC4p2iV+zZvCEm+kPQbxYDrYlASeFU5Xw4e4STjV303IFmEPvsHKtB/xK1+YisBpuCSNb8UqrBenq4Kf8VgiU8OpGCkjcCcOT+8rhRe3i29xd3rvwR15vXkC/ThHePRmYf6900BgH74QCSpLeoaLCAyL0IHXxS+YLmzDI+m9U+SJSQSG7I/3x/HXNBL4F+8nIt24oIjA8YndPlyDU7SeqsuQYQHuyn3PLyJwrPDUGm4XEXDUNBDow9W4TaR24mAz8wRW5AhkwkwX14XaxCwsEzWirq8XD9cJLBRpc0bDws4cqXbQixMaxrpwHa7MRI4+pMnipcKEVdElDtjTZP7eLClplunOxOw2CMyWC7kCDGbCRM3MPIjD2iDQh8VlAploo5pZYBZOUj0c58iFXAHGMlGtyhztLNWs0COya3eJzOpMNBlvlwgtw9wKBObi/JL5z3F/PS5HEonNIm3WsV3UhCpFaQ82iSZmR8PcqMi2Ozrm3Xwe0du9KtrrLSJnr8dbopRurEBgu6iom0QFPCaNb8UN+IzJzvVyelpFB44UkbTTZGtN4DfRUcNuvIS1dYF2ik2v6HpHMA/f4xVx6k7RkF4rEl1d+Rrcmt+kHQKXirJ9RPo+XbTj94kEtNz+YrYNr4n+8n+oSmAmrsopr6MfT+W+dwsnfAhPFm1UlcBiBS12wrjooMfwDp5Q8WZUhh+Fcy0omNsoSu06cXUrRbOLyVT4Be+KWK+n8Qlxg3oaz7WivB0ChGmvzyn6SXj8oweyyX883KykfS6/bgAAAABJRU5ErkJggg==",__vite_glob_0_130="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAVCAYAAAC33pUlAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDYuMC1jMDAyIDc5LjE2NDQ4OCwgMjAyMC8wNy8xMC0yMjowNjo1MyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIyLjAgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjZGQkIxMjFBNzZDODExRUU5ODIxRDc2MEJBRDA1MzI1IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjZGQkIxMjFCNzZDODExRUU5ODIxRDc2MEJBRDA1MzI1Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NkZCQjEyMTg3NkM4MTFFRTk4MjFENzYwQkFEMDUzMjUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NkZCQjEyMTk3NkM4MTFFRTk4MjFENzYwQkFEMDUzMjUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4DvSW6AAABl0lEQVR42pyVO0sDQRDHk0sMgkoUbdKkEAvBKp2CWtqK4Kuw8CsIgh9CEPQDCCLiI4K2FsZCu4BgI7Y+QAtfBAsRjP4nzJ67y9yaycCP5Xb/c7M7OzeXbit1pGC9YB7UwQF4SYVNq29YGsG6MV6BIs89gjlwnuCj1ccW8Q6L1lwBVMBSgo9W7wTLCPNZsAb2Qae3ptU7aaT8X3q7te0GTPFo7kujd05GlzscyPkgqIIZftbq/1KSKeRo/ADboAuMCC/IsXMenIKaUl83afSFJNoM5J5ONAuetHopmEnFEY+S3YESeNXoTRp9ewZbYAAMCet5fkFVo48CnwXd47HJt1TJWn0o2DLY4Yr17R7safVRwoe+DlaF3ZNdg1GrHzatz3oL7VzS04HKmgRvrejtk/WAk4DjIZiwAmn1cTBqPRdgPMFxgzv7Z4v6uIFSWZ6BfsHpB6zwfdhlrNE7wRYSHL/AItj15rV6J9i3MF/jzl0R1rR6p8zL4NaaewBjAccyd49m9c7/jMY+3lnEP8D3f/y0+ob9CjAAdXx3Zaa4iEgAAAAASUVORK5CYII=",__vite_glob_0_131="/assets/01_17301869052.png",__vite_glob_0_132="/assets/02_17301869052.png",__vite_glob_0_133="/assets/03_17301869052.png",__vite_glob_0_134="/assets/04_17301869052.png",__vite_glob_0_135="/assets/05_17301869052.png",__vite_glob_0_136="/assets/06_1730186905.png",__vite_glob_0_137="/assets/07_1730186905.png",__vite_glob_0_138="/assets/BG_02_17301869052.png",__vite_glob_0_139="/assets/bg_01_1730186905.png",__vite_glob_0_140="/assets/bg_03_17301869052.png",__vite_glob_0_141="/assets/bg_4_1730186905.png",__vite_glob_0_142="/assets/button_1730186905.png",__vite_glob_0_143="/assets/button_Repair_1730186905.png",__vite_glob_0_144="data:image/png;base64,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",__vite_glob_0_145="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAiYAAABDCAIAAAAnClnRAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDcuMS1jMDAwIDc5LjljY2M0ZGU5MywgMjAyMi8wMy8xNC0xNDowNzoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIzLjMgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlDNEU4MjUzRTI3MzExRUU4MDc4OTQ2NDUxQzAwNDlBIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlDNEU4MjU0RTI3MzExRUU4MDc4OTQ2NDUxQzAwNDlBIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OUM0RTgyNTFFMjczMTFFRTgwNzg5NDY0NTFDMDA0OUEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OUM0RTgyNTJFMjczMTFFRTgwNzg5NDY0NTFDMDA0OUEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6jG10ZAAABnUlEQVR42uzaTVLCQBCA0W7IBbTKg7D1/ieSA8TSlZLUZH5gFvDeEisQJiQfHcm3y2e8tDUiA4DHX1SX6/XLCgEwwckSADDH8jsEAYApBwDJgRarHYbXPuV/HnFjDRdx1YFJ1THlADBJecrJzV+z96vf7oaFZzt8ofz/6++1uNXfx3Mvv+UNc2yV8n7fl/ueeXwHcrPCN8vY+hJ9H63C4Rjcn9Z1ywfMQDWf3ju+hfHNaw5i97lQWI3D873m8EXjFWn3vUTFTsbYrh5ehQ63jepTY/zobFfg9tJxPr1/CC8AE7ixBsAkfj4AgCkHAFMOAJhyAJAcACTHEgAwxxKr/+UAYMoB4KmmHL9YA8CUA4DkAEAzN9YAMOUAIDkA0MGNNQBMOQBIDgBIDgCSA4DkWAIAJAcAyQEAyQFAcgCQHACQHAAkBwAkBwDJAUByAEByAJAcAJAcACQHAMkBAMkBQHIAQHIAkBwAJAcAJAcAyQEAyQFAcgCQHACQHAAkBwAkBwDJAUByAEByAJAcAJAcACQHAMkBAMkB4Dl8CzAAqmtUBhHEdtwAAAAASUVORK5CYII=",__vite_glob_0_146="data:image/png;base64,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",__vite_glob_0_147="/assets/icon_cuxhuod2_1730186905.png",__vite_glob_0_148="data:image/png;base64,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",__vite_glob_0_149="data:image/png;base64,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",__vite_glob_0_150="data:image/png;base64,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",__vite_glob_0_151="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADYAAAA3CAYAAABHGbl4AAAACXBIWXMAAAsTAAALEwEAmpwYAAAFpGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNy4xLWMwMDAgNzkuOWNjYzRkZSwgMjAyMi8wMy8xNC0xMToyNjoxOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIzLjMgKFdpbmRvd3MpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAyNC0wMy0xNVQxMDowNzoxNiswODowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjQtMDMtMTVUMTA6MTU6NTgrMDg6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjQtMDMtMTVUMTA6MTU6NTgrMDg6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiBwaG90b3Nob3A6SGlzdG9yeT0iMjAyNC0wMy0xNVQxMDoxNTo1MiswODowMCYjeDk75paH5Lu2IGljb25fZHpwMi5wbmcg5bey5omT5byAJiN4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",__vite_glob_0_152="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA2CAYAAACbZ/oUAAAFQElEQVRoge2aCYhWVRTHf9841qTlNK1GpdHGQFlmtFGBlWFjuy3aZriUVKCQGCRkC9EetlCZlRVUli1kmSJStBCiVhTF2ELSaovTqllWM1/c+D/5+HrnvuW73xuZ5g8fzLx73r3n/+65555z7i3dPncOBaIJmAlcqSEfBKYDPxelQkOBZHcHXqgg6zAJeBnYqygliiJ8MPAScHxM2zBgCXBUEYoUQfgkkR3ikXEzvBCYUG9l6k34QuBZYOcUss3AfVUmHxz1IlwCrgYeAbbI8J6TvQG4o0561YVwP+AJ4BqPzEfACk/7VGA+sHVo5UITHgw8D4z1yLwGnACcIlkLZ8mr7x1SwZCED5DjifPEEZ4GTgM+A74DzpPZWzgGeBE4JJSSoQgP19ayv9FeBm4DxlQFGRuA8TL/TuPdVs30ySEUDUH4ImABMNBo/wO4XBFV2ZC5FrhYHyAOru95wMRala2V8C3AvcAAo/174IKUXncucK7MPQ79gTkKTXMjL+FmKehmrdGQaZcZPpOh3wUi/YHR3iBrcMS3zaF3LsK7yPmM98i8DoxK2HosLANOBN70yLhl9Lh0yYSshF14uDjBEz8shT/PQTbCF0Ab8JhHZpQ8eGuWjrMQbtO2c6DRHnniS4D1WZQwsE5OapZHJkpKjkzbaVrCE+UlBxntGxUDT9ffofCnPPwMT797KoA5IwRh136VEvVmQ8btq+cDNwckWo0b5TOsQsEOwFPApUmcfI395A2v88h8rLWUxRPnxTyFo6uN9/sA92ir7GuNYRHeQyR8G/1SYKS8alF4Q/n1W57xpil52SYt4aEi2+bpdL7iYCtIqCdWaaYXe8Y4E3gubtuqJnwssEjez8LdwDhgbTeQjfCNSD3kkRmh+H5o5cNKwuMU6fg285uAKYE9cV5s0Bb4gOf9ISJ9XPQgIuxIPJoi4T4HOKLbKP4XLu8enSCzk8zbLYN/CY/NsKUMVv7qW99FYYIsbvsU4w1QkjO8UWuyKYOS+wK3Au8DX3nkhqlqcbgynS6PbEm/X4BXNSOrEnRwBLbMoPeujmtjRrIRWvSzCE9TMS5LAS/CCEVXU5QgxGGgb6/1oG+DEu/2jC/+7ZmxmYqp85CNsJ2c0SSjvdNTIbHgsq/JjYpgFmot76ckoCxCrcp80mKq8tUQ2Eqkf5SJp4GLvZ8EOiqWCSLrMquNUfK+znDvp2cgfFCt1QgDLltaDnydQvZ3hcKfWgJWtSJCFqcwWqYYh2+BXyu+eDVKSk52jGkbpHDy/hQ6lGQZJpIIZ4EVnS1SNvWbAvw4dIrwUiPfPjQl4USEJNzfeP4u8FOK99fKFOMIxyYCeRCyEG957bQftSHwBJiD/K/QS7ino5dwT0cv4Z6OkISt7KiWrCk4QhJeHvOsK0fqWVeEJOwS/ssqjjpfAc72JPHdgpChXIfKLq5mvRvwiRKGzQpJhK10ruy5vtCh32aJJJO2SDXlrCkljWUlINUf3tLLer4JSYStmXK13qOTOs+IclLyXgFrqVgWuQlJJt2utbhPTMczdCW4XcomDuZBpw7wDjNEKs+wWlRUtybLO4lJhNfoYC3uwqc7krkiDZsa0aXbe8gC7lIFJQ6O7F++4dJsS+4w/MMCiFl4W8X5Ft0fsciiQv4aX2dpCK/WscaXQdTPhh+0t6/X6f6YhLdnibSJtIHHMh1+LymIqMM7uue1Uv8nXZSZDdyZ1GmfkaemvsLoPLa7RuSKbe5wypVUQ29Nbr2+pxr55Kr6sovgnHNzO0RUznXr1U2Gu6t5fcL5FQD/AG0Z+9FAPtxGAAAAAElFTkSuQmCC",__vite_glob_0_153="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA2CAYAAACbZ/oUAAAFPUlEQVRoge2aCYhVVRjHf28cy7ScpsUMSqONgbLMaKMCK6PGFsoWbVNcSipQyAwSsoVoI7CF9h0qyxayTBEpWgixRSpsbCFp1WymxSXLaubFif+Vx+t+5y7vvDsyzR8ezNzz3XO+/z3nfNs5JdYsoUD0A2YDV2vIh4GZwK9FqdBQINk9gZcryDpMAV4D9ilKiaIIHwq8CpwY0zYCWAwcU4QiRRA+VWSHeWTcDC8AJtVbmXoTngC8AOyWQrYJuK9qyQdHvQiXgGuBx4FtMrznZG8C7qiTXnUh3B94GrjOI/MZ8K6nfTowD9g+tHKhCQ8FXgLGeWTeBE4GTpeshXNk1fcNqWBIwgfJ8MRZ4gjPAWcAXwFrgQu07C0cB7wCHBZKyVCER8q1HGi0l4HbgbFVQcYmYKKWf6fxbotm+rQQioYgfDEwHxhstP8BXKGIqmzIXA9cog8QB9f3XGByrcrWSvg24F5goNH+I3BRSqv7KHC+lnscBgAPKjTNjbyEm6Sgm7VGQ6ZNy/D5DP3OF+kVRnuDVoMjvmMOvXMR3l3GZ6JH5i1gdILrsbAUOAV4xyPjttFT0iUTshJ24eGiBEv8mBT+OgfZCN8ArcCTHpnRsuAtWTrOQrhVbudgoz2yxJcCG7MoYWCDjNQcj0yUlBydttO0hCfLSg4x2jcrBp6pv0PhT1n4WZ5+91YAc1YIwq79GiXqTYaM86sXArcGJFqNm2UzrELBLsCzwGVJnHyN/WUNb/DIfK69lMUS58VchaOrjPf7APfIVfa1xrAI7yUSPkfvakMnyaoWhbeVX7/vGW+Gkpcd0hIeLrKtnk7nKQ62goR6YqVmepFnjLOBF+PcVjXh44GFsn4W7gbGA+3dQDbCGpF6xCMzSvH98MqHlYTHK9LxOfNbgGmBLXFebJILfMjz/jCRPiF6EBF2JJ5IkXCfBxzVbRT/C5d3j0mQGaTl7bbBv4THZXApQ5W/+vZ3UZikFbdzivEGKskZ6Qrx7fJjWfCJqhbfed4ZoarFkcp0ujyyJf3WAW9oRlZ65PcHPga2zaj3ikadBmRFs34W4RkqxmUp4EUYpehqmhKEOAz2+VoP+jYo8W7L+OLfnhmbrZg6D9kIO8kYTTHaOz0VEgsu+5raqAhmgfbyAUoCyiLUoswnLaYrXw2B7UT6Zy3xNHCx9zNAR8U2QWRdZrU5St43GOb9zAyED6m1GmHAZUvLgO9TyP6uUPhLS8CqVkTIYhTGaCnG4QdgfcUXr0ZJycmuMW1DFE4+kEKHklaGiSTCWWBFZwuVTf2mAD8OnSK8xMi3D09JOBEhCQ8wnn8I/JLi/XYtxTjCsYlAHoQsxFtWO+1HbQg8AeYg/yv0Eu7p6CXc09FLuKcjJGErO6olawqOkISXxTzrypF61hUhCbuE//KKo87XgXM9SXy3IGQo16G6katZ7wF8oYRhq0ISYSudK3uuL3Tot1UiaUlbpPrlrCkljWUlINUf3tLLer4FSYStmXK13mOTOs+IclLyXgFrq1grcguSlnSb9uJ+MR3P0pXgNimbOJgHnTrAO8IQqTzDalZR3Zos7yQmEV6tg7W4C5/uSOaqNGxqRJdu76EVcJcqKHFwZP/yDZfGLbnD8E8LIGbhAxXnm3V/xCKLCvmrfZ2lIbxKxxrfBlE/G36Sb9+o0/2xCW/PEWkTaQOPpTr8XlwQUYfluuf1nv5PuihzP3BnUqd9uNKdkqaCs9juGpErtrnDKVdSDe2a3H79SDXyqVX1ZRfBOePmPERUznX71U2Gu6t5Y8L5FQD/AJGg/ZtCdIuOAAAAAElFTkSuQmCC",__vite_glob_0_154="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC8AAAAyCAYAAADMb4LpAAAFR0lEQVRogdWaaYydUxjHf/d27u2UanV0OpaWYiyNJbWFMCnS8AGtCKKkKULxAUHsPmgsQRAh1mor1X6wbylCq5YYS6UaqdYSU8xoRJnOGEqnVSPP+N96Hc+9877vfWda/+Rmbp53znn/55xnPzd395yZZIT9gCOAo4GDgGHAIGAj8BPwMfA28AGwKotX1mQwx8HAdGAysHOZ/xkLHApcAHwBPAM8CnxbzYvzVYytBa4EXgUuqkA8xD7ADcBC4Kwq3p+a/EhgFnAnMCrlHHsBc4HbgSFpJkijNkb8YeDUMs/bgGagRfpuxPYFjgTqnfdfAxR0Guv7k3wRuKkM8e+B+4AngdXAhsgzW8Du0vnzgKHB2Ms1/q4kZJKqzTnA+Y78HeBEqcDXAXHD78BK4DLgTJ1KFDngWmBCf5EfA1ysI45iCXA2sCzmPAu0CW2BfActbpu4hJKQN1U5IJCtAS4Fvkkwj+Fd4GqgO5CfkGT345KvA04OZH8CDwEfxn1ZgGeBpwPZYOAk53RdxCU/TlEziu+AF1ISR57oKWBdID8GaMiSfCOwbSAzHf8y5vhyWKqIG0W97Csz8ns6bvVT4LcqyXc6ec4wReE+EYe8JVc7OvK1VRI3/KEFRFHQAjIhj4wzih59soDHIdbccchvknFGJ7SgMlp/q0HRMc7uuKcad+dbdMRRHAIMr5L8KEe/uxwjdhGXvHmVjkBmydbe6ThvxkRg10Bmkbc1zuC45D93glGD0oJB8bn+CyOAaVKdKBYB7XEmiEveAslzjuFOV56SBpYeNAXj2pX7bMqSPIqmiwNZQWnstATz2E7PUBUW4gklerGQhLz541uBHwP59ipO7u3DBswzHQ7MB250gt4K4B7HMZRF0mLkLeA64H7VsCUMUXZpmeebwBvyUN0qPMy4j1PGaEleCMtOr3Dy/EzJG+bo6G9WDh7FLsBUfdZLdwuOUUaxSpXU60mJpCnAe7SAecoMy6FWyVwl4l06xZdS8EhMfqh21dzZJXHz7grYDrgNeFFlZCK3m4T8sfI48+Ti0vr3KHIqQCbLFdvc+8cdHEfna+WTr3Kq/ihaZXBtKsLbpfNFpQFjFU2tX+P1eooqzpvUoZhVLXmLog9U6NGsk2d5hb/r0hV9zFdQRTZB9WqTo3pWiMxUvWy9nF/TkLedekxlWQjzxS9rYc0JipKNCkJLZPQT5WLDSJuTvE4di5+9ycrp/Bjpn0e8Rb2b09RvTFtNrVUBboZ6fZk0eKqKfLcd6JEfrh0NdwOlB6eoxxg7EvaBLnmcKUoAQ5gdzPAchEfejHOSI39eXd3lGZEOsVAL8HIbC2JnhMKQ/CTpWogFamP/0E/ES/gEONfpvhUU0ceVI18vFxW6w6Va+Zp+pf0PVmoDVwfyPaQ+myN2lLwZ4fhgQKfc1VcDQDoKc7u3OHZ1ujpqvSiRLzVRo+hRqvvaABMv4XGnI5dT9tnbjC2Rn+Jcy3wGPDJgVP8Lc8EPOi70MOB4RH6YcosQ81N0f7NGs+68oijKXefyCtdh67pVIX9LY4NUJ7zuOcpakHl9Cfsv78fIUwYKi+SBorArovFG/sDggXUI3sswglaLTidw9WpM3mknd+iWemvCR047pDHvdKw6nGPa0ljmpMYNebUuorDiY7etjHzRaXjtVOPceIyWhc/V3egvkueCT9L6N1fhe8553qONHKnMckQwX11NmTZ1oxIhnBs7qvzNQgjv/SXylYql2hqluKGfj2JwhkSzxHLbwQtVMP+fYC3HO2znLSBZSWeJmf24odrbjv6EGa1pymxg8V9cdAMSp8EmbgAAAABJRU5ErkJggg==",__vite_glob_0_155="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC8AAAAyCAYAAADMb4LpAAAFJElEQVRogdWae4xdUxTGf/d27nS8Wh2dDtJ6tR6NkCJCaIo0/IESryihSBUJGkT5wx/EW0g84q1IGe+3FKFVIeqZaqTqPUWraZSaUS2dYYys+m4du+veu8+5Z6b1JTdzs87sfb6zz9prfWvtW2DZLHLC7sD+wEHAXsAgYADwB/AT8BHwJvAesCiPW+ZBfm9gCnAUsG3E/38BPA3cB3xXz43rId8EnAdMA4ZlGP8VcAXwaFYCxYzjhgLTgRszEjfsDMwArgc2yTJBQ4YxRvxu4LgK15cAc4F2+bsR2w04AGhx7n8pUAIuA9b0JflG4MoKxJcBtwFPAEuB7sQ1e4AdgbOAycDmwdgLNf6mNGTS+rzd/HatVBJvARcA8yPmOBK4BRgZ2FcAx2quKKTx+RHaoCHxD4DTIokbZgKny72S2EoLsGlfkDdX2SOwLQemAt+mmMfwNnAJ0BXYDwfGxU4SS74ZODqw/QXcBbwfe7MAzwBPBbaBcqvw7bqIJT9aWTOJ74HnMxJHkehJYHVgPxhozZP8KGCzwGY+/mXk+EqYp4ybRIv2V27kRzph9RPgtzrJdzo6xzTRrjGDY8ibuNrasf8cx68q/tQDJFHSA+RCHm3OJHr1yQMeh6i5Y8j3aHMmJywAw/W3HjQ6m7Mr9q3Grny7XnES+wCD6yQ/zPHvlc4mdhFL3qJKR2AzsbVLNs7rMB7YLrBZ5l0cMziW/OdOMmqVLBgQz/U/GAJMkuskMVs6pyZiyVsiedbZuFOkU7LA5MHYYNwKaZ+ePMmjbDonsJUkYyelmMdW2iqoi51rj0voRSENeYvH1wA/BvYtVZzcWmMPWGTaD2gDLneS3kLgZicwVJkwfQ07WZq+yblmRcgbwOuKUF0qPGxzHyrFaCIvhKnTU4HX0hDJQt5W8BzgKmnwSlgj3y05mzKJRaqkXkxLJEsBbsnqAeBhKcNKaJKYq0Z8pd5iauJZyJsLnKJwdn6s7q6CLYDrgBeAI9KG3TRuc4gq/PF1Eq6EbhUo10qx1kQM+SbF5GlO1Z/EYm1Sy5DfKGb3yG1MBuygbGr9mmq9niXqUEyvRaxW68Oy6B1VejSrFVle5p+6dGGN+UqqyMapXh3ruJ4VIveqXrY3varSZNVW3lbqQZVlISwWv6QHm5uxKGmWC051Mm0ZbepY/JKG/Aj1EL1J2xUmH0mTUKrACo9zlXG9HPCYcsvv4QUv2gzWinrETR4cox5jHsRRuLSIM1ECMMRJasiuF4k88rY5Jzj254CTgQU5kQ4xSw/gaRtLYieGxpD8BPlgiJnKqj/0EfEyPgbOcLpvJbnq6ErkWxSiwnA4T0++vE9p/4tPtYBLA/tOcp91GTtJ/kxgTDCgU+Hq634gnYSF3audfXWCOmprUSZfbqIm0Sup+2o/Ey/jIacjZ6LwonIztkx+onOe9BlwT79RXR+WO+50Ogn7Aoch8oN0GBaiLUP3N29YAnwlmLNR4bpQVLoOW9eLlfI3NLrlOuFxz4HWgizqS9h/eTdCp/QXZisCJWFHRGOM/J7BBesQvJNjBq0XnU7iWusxRaed3KFT6o0JHzrtkFFFp2PV4bymDY35jjRuLap1kYQVH9tvZOQbnYbXNg3Oicdw7fAZOhv9VfZC8Elb/xaqfC8413u1kEOlLIcE8zWbnq/VCw9P7Kjj2N+D1yYvk69W6a1qkMQN43wSA3MkmicW2AqerYL5/wRrOd5gK28J6XgJM/txQ72nHX0J27TmKfcDc/4GeNMLAcUSVlIAAAAASUVORK5CYII=",__vite_glob_0_156="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADYAAAA3CAYAAABHGbl4AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkNFOERGOEE4ODVDMjExRUVCRTBGOTY1RDUxQTlDQTJDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkNFOERGOEE5ODVDMjExRUVCRTBGOTY1RDUxQTlDQTJDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6Q0U4REY4QTY4NUMyMTFFRUJFMEY5NjVENTFBOUNBMkMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6Q0U4REY4QTc4NUMyMTFFRUJFMEY5NjVENTFBOUNBMkMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5qJKOqAAAIAUlEQVR42tya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",__vite_glob_0_157="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADYAAAA3CAYAAABHGbl4AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkQ4QTBCMkREODVDMjExRUVBQ0Q5RjhEQkY5NjJGMzZCIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkQ4QTBCMkRFODVDMjExRUVBQ0Q5RjhEQkY5NjJGMzZCIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RDhBMEIyREI4NUMyMTFFRUFDRDlGOERCRjk2MkYzNkIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RDhBMEIyREM4NUMyMTFFRUFDRDlGOERCRjk2MkYzNkIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6nohkcAAAH8ElEQVR42tya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",__vite_glob_0_158="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAhCAYAAAAoNdCeAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFqWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNy4xLWMwMDAgNzkuOWNjYzRkZSwgMjAyMi8wMy8xNC0xMToyNjoxOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIzLjMgKFdpbmRvd3MpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAyNC0wMy0yOFQxNzozODowMiswODowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjQtMDMtMjhUMTc6Mzk6MTIrMDg6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjQtMDMtMjhUMTc6Mzk6MTIrMDg6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiBwaG90b3Nob3A6SGlzdG9yeT0iMjAyNC0wMy0yOFQxNzozOTowNiswODowMCYjeDk75paH5Lu2IGljb25fbGQucG5nIOW3suaJk+W8gCYjeEE7MjAyNC0wMy0yOFQxNzozOToxMiswODowMCYjeDk75paH5Lu2IEM6XFVzZXJzXEEwMDRcRGVza3RvcFzmlLnniYjliIflm75caG9tZVxpY29uX2xkLnBuZyDlt7LlrZjlgqgmI3hBOyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpkZjRjZmZmNi1hYjU2LWYzNDUtOWJmOS05MGI0MDMyOWVkZjIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ZGY0Y2ZmZjYtYWI1Ni1mMzQ1LTliZjktOTBiNDAzMjllZGYyIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6ZGY0Y2ZmZjYtYWI1Ni1mMzQ1LTliZjktOTBiNDAzMjllZGYyIj4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY3JlYXRlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDpkZjRjZmZmNi1hYjU2LWYzNDUtOWJmOS05MGI0MDMyOWVkZjIiIHN0RXZ0OndoZW49IjIwMjQtMDMtMjhUMTc6Mzg6MDIrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyMy4zIChXaW5kb3dzKSIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5R0W0gAAACFklEQVRIib2XP2sUQRjGf7O3wdOACjGCGrQRLk1AIVUEm8AVYhQry7QWCn4BbfwIfgZ7QbAUP0SKFAqxCqgnEYszKPtY7Ds6t87szZ53PjAsOzv7/ObPO+/sIonMUkp6JumH/uiFpNO5HrkgJN2W9F3SB0mvJH024ONcj4J83QBOAE+AHeC51W/mGuTAzgEPgPt2fw3YBq7b/V3gKbAy1WnK0LckvZFUBev0U9KxJlVZu61Z1+yepEN106G91wm2LWnUEeQ1svezYJck7c8I8to3n6nR+AgYZAROmwbm0xogVyUdJHpbdaw/ML/kyIbAlVjQApVdc+oxn2FYEcJ6xDeoNywA13jmrD4F3DTfv2ArwHoE5DvSBIVAb9gErhNs9hB2FrgYMUpBYtBm2wvAmRisAJYyjXO1BJQxGMTn/V+0bCUKm7f6Vv4LTASztWjYhBYdIAWJfdYHTs4ZVgKnYrBl6mN/nuoBqzHYGu3TOLHYHfQ7K3mYA+6QzhY+P86iIZZFnKRbwK7B+o2GfiSpRJyrt8BLJ2kcgSxEJfCOel679DqWdJXwcNQzc+QkXQY2qEcXW5cKGNvVm/kjxxmkoI7mMgJ0wDGw56SsABtQR2qzM/7wHFPPUKtyYGvAa+B8AHNB6QFfqaPufZtR2fbQ9MVMNlrafAK+TXVqftslyk1JH1u+E3dzfLr8Mu1I2mtARpIe5nr8AgGFflvZprxPAAAAAElFTkSuQmCC",__vite_glob_0_159="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACUAAAAdCAYAAAAtt6XDAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFo2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNy4xLWMwMDAgNzkuOWNjYzRkZSwgMjAyMi8wMy8xNC0xMToyNjoxOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIzLjMgKFdpbmRvd3MpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAyNC0wNS0wOVQxODoyNToxNyswODowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjQtMDUtMDlUMTg6MjU6NDArMDg6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjQtMDUtMDlUMTg6MjU6NDArMDg6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiBwaG90b3Nob3A6SGlzdG9yeT0iMjAyNC0wNS0wOVQxODoyNTozNCswODowMCYjeDk75paH5Lu2IOe7hCA2MyDmi7fotJ0ucG5nIOW3suaJk+W8gCYjeEE7MjAyNC0wNS0wOVQxODoyNTo0MCswODowMCYjeDk75paH5Lu2IEM6XFVzZXJzXEEwMDRcRGVza3RvcFznu4QgNjMg5ou36LSdLnBuZyDlt7LlrZjlgqgmI3hBOyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDowYTMzNDY0MS0xYTg1LTMwNGUtOTNmYy03MjAyMjc3NGY4NjgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MGEzMzQ2NDEtMWE4NS0zMDRlLTkzZmMtNzIwMjI3NzRmODY4IiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6MGEzMzQ2NDEtMWE4NS0zMDRlLTkzZmMtNzIwMjI3NzRmODY4Ij4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY3JlYXRlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDowYTMzNDY0MS0xYTg1LTMwNGUtOTNmYy03MjAyMjc3NGY4NjgiIHN0RXZ0OndoZW49IjIwMjQtMDUtMDlUMTg6MjU6MTcrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyMy4zIChXaW5kb3dzKSIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz62sh+FAAACWUlEQVRYhc3WWYjOURjH8c/850Um3EiEIlmS9YJSGiVxYS+NvbGVkilZhhtxYYkZpcZEFJHI0kRxhRAi3LigLCnNhbiwZMk6w8U5b/P22mYG859f/W+e8zz/8z3nOc9zTsGGiioYjTL0Q4GWVwHe4Sz2ZTACB9E3BZh8FaNPgjlaB1BWSxIMSZsiT5kEn9KmyFeCC2lD5Ol+gmO4ljZJjvYmeI41eJgyDBwSoeAmluFBSjBfcBgr8SFB9zhwEdNwHF9bEOgp1mERXqEoQSUWRocHmIvVqG0BoEuYjZ2oQyfsSTAQu7AeHVGPKpTgzH+CeYMNcY6r0TZSSGFpgpfogE2owajodAsLsBbv/yHQ7QizCS+irQwnMZXQp5KcgPE4jVVoI+S4ElNw4y9hvghpmopz0TYAJ7ADvbKOyQ+hdMV2nMLgaLuESTG4OTfAI8xCOZ4JC14gNO4StMt1/hkUZCLEeZSivbBr5ZiHe42E+SSckwnCIuvQG9XYj54/C/oVVFbdhIZWreElUYPJOOr3raNWWEQpnkTbJOHNtBSFvwr8E1RWi+UcxDjJfKzA3Tzf+gg+U6hqwpHYEv8x6E+TZRoJBcNxBHuwFa+xW2i60zFUKPXLQrF8jHHF2IwxjZ2oKVCE1lEuvFbX4zruY1sc+6ghpYVCqZejR1MmaWz68jVW2I1qofkS3thfhcqaIexgRVOBaPpO5aoLlgvXxB08RhGGCf2nbXN//DdQWXXGuPj9EzU3ff9VrRaq1YEleJs2RL4SXEkbIk9PMjiA/piIz/iWEkyhcIFv/A5nn3mRCSbEpQAAAABJRU5ErkJggg==",__vite_glob_0_160="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACUAAAAdCAYAAAAtt6XDAAAACXBIWXMAAAsTAAALEwEAmpwYAAACKUlEQVRYhc3XT4hWVRjH8d97ZyZUNBIXRashxj9B0SYtjFnYooVBIG50Y0G7mJKEoEXiyk1BqxaNYEyCItEmmVXIwES4cKGCLjQIZrBQhBahxMyofFq88+J5LzP5zp/mznd3uM95nu899znn3ttCkryVZCTJ9iStrD2tJA+SjCc51Z/k9SRjSYYakKkznOSlKsnhrA+hDh9WSV5t2qJGf5VktmmLOlWSi01L1LhZJTmf5NemTQpGg+AN3NI8Y9jYkQrexs2GZOZwBluR4MVCbCfO4+EaCv2JT9E377ApOIsPCrEKn2B6DYQmMFzUfhbfB1dwH19gSxGwBxf+J5m/cRzbinq78ZP5wcUi+Ge8WQRuxWd4sIpCl/FOUSMYwVQnINpLWHIXxzBQTNqHSyuUmcPXeEF3D/+AmTJwISnajT6OV3Sv2lf1BD3yGw540swDeB+3FwpeTKrDHRzBxkLuIG70KDOjvdUHi/mDGMWjxSY9TarDaQzVEp/130fHND7W3Tvv6uGGepWCq3ivKNDCR7hei3uMH7XfEp3Y53ES//RSaClStI+OL/FcUXAXPsc5fItD2FBcH8bkEmosWarDBPbqfjSb0V+M+3AUfyw1+XKl4B6+wcs1uQHtzTCJ2eUkbmEiyb4VfGr8leRakt+TbEryWpKdSZ5ZbsLVkFp1qqYFFmLdSq07sSrJ/aYl6lRJfmlaosZUf5LvkuxIsj/JXBINyfSl/Q964l/EjrpJTG1QPwAAAABJRU5ErkJggg==",__vite_glob_0_161="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAhCAYAAAAoNdCeAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFlWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNy4xLWMwMDAgNzkuOWNjYzRkZSwgMjAyMi8wMy8xNC0xMToyNjoxOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIzLjMgKFdpbmRvd3MpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAyNC0wNS0wOVQxODoyNTowNCswODowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjQtMDUtMDlUMTg6MjY6MjIrMDg6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjQtMDUtMDlUMTg6MjY6MjIrMDg6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiBwaG90b3Nob3A6SGlzdG9yeT0iMjAyNC0wNS0wOVQxODoyNjoxOCswODowMCYjeDk75paH5Lu2IOe7hCA2NC5wbmcg5bey5omT5byAJiN4QTsyMDI0LTA1LTA5VDE4OjI2OjIyKzA4OjAwJiN4OTvmlofku7YgQzpcVXNlcnNcQTAwNFxEZXNrdG9wXOe7hCA2NC5wbmcg5bey5a2Y5YKoJiN4QTsiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDYxZjA1M2QtYTEyZS0zMTQyLTk3YjMtMmM5ODU0YmFhNTM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjQ2MWYwNTNkLWExMmUtMzE0Mi05N2IzLTJjOTg1NGJhYTUzOCIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjQ2MWYwNTNkLWExMmUtMzE0Mi05N2IzLTJjOTg1NGJhYTUzOCI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6NDYxZjA1M2QtYTEyZS0zMTQyLTk3YjMtMmM5ODU0YmFhNTM4IiBzdEV2dDp3aGVuPSIyMDI0LTA1LTA5VDE4OjI1OjA0KzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjMuMyAoV2luZG93cykiLz4gPC9yZGY6U2VxPiA8L3htcE1NOkhpc3Rvcnk+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+f/dj0AAAAiRJREFUSIm91j9rFEEYx/HP3W00GkFJVKIRRBCSRlBIpU0kEERRsTLYCNpooZ1gY7QUG0HRysbGwhBIIb4AX4N22lhYKAb/gMEmZ7GzurnMbPYuF38w3M7cM7/v7Px5ZhtzDx6pqQx3cTs8wwtcx486Bs26JJzCLXzCK3zFJVypa9AN7AS24g7O4nFon+wnbDeu4WKoH8U0joX6ecxhZKOw43iJpzgU2m7idYDADtzDfIjvCXYBCziJRqm9hS0dsY0QtxD6dQWbxjOMVo00otHQb7oubAxPMNwlqNBw6D9WB3YD4z2CCo0Hn0rYYcwmDNpdts8GvyRsBgcThisR41S74DOTgrXED2hh2LR6Vwr1ZgVwMviugY1gIgIqBtIJKgMLw07ghNJhL8N2YX/EKAWJQTtj92FnDNbEQE3juhrw74ZYs0FSO6tXDYUShfVbg6H8F1hbabY2G7ZKm71BmhLnbBDb+gzLsD0GG5Jf+/1UC3tisAOqp3HVYnehv1mpgDVwTjpbFPmxF80IWSTDaVwOsBiEdCKuo0ksYjGTfzcMJgIL81bi/7qawlSG9/J57WbUsaTbTng05DPzLcMZHJG/XWxdVrAcfstvWgDb8ikeki9L7M77jbcZPoZSpXH5Tu0cTHF5LstnqFLZegHyIzGPvSVYo1Ra+C7fdR82ClsKJkcqYr7g53pGdRLxLzwMhindx+d+wOANruJdR/uS/PvweR2TP+qEV5ZEQtTfAAAAAElFTkSuQmCC",__vite_glob_0_162="/assets/anniu_1730186905.png",__vite_glob_0_163="/assets/dx_1730186905.png",__vite_glob_0_164="/assets/dzp_di_1730186905.png",__vite_glob_0_165="/assets/dzp_p_1730186905.png",__vite_glob_0_166="data:image/png;base64,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",__vite_glob_0_167="data:image/png;base64,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",__vite_glob_0_168="/assets/light1_1730186905.png",__vite_glob_0_169="/assets/light2_1730186905.png",__vite_glob_0_170="/assets/title_1730186905.png",__vite_glob_0_171="data:image/png;base64,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",__vite_glob_0_172="/assets/zc_1730186905.png";var commonjsGlobal="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function getDefaultExportFromCjs(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var clipboard$1={exports:{}},factory; +/*! + * clipboard.js v2.0.11 + * https://clipboardjs.com/ + * + * Licensed MIT © Zeno Rocha + */factory=function(){return function(){var e={686:function(e,t,n){n.d(t,{default:function(){return y}});var o=n(279),r=n.n(o),i=n(370),a=n.n(i),s=n(817),l=n.n(s);function c(e){try{return document.execCommand(e)}catch(t){return!1}}var u=function(e){var t=l()(e);return c("cut"),t},d=function(e,t){var n=function(e){var t="rtl"===document.documentElement.getAttribute("dir"),n=document.createElement("textarea");n.style.fontSize="12pt",n.style.border="0",n.style.padding="0",n.style.margin="0",n.style.position="absolute",n.style[t?"right":"left"]="-9999px";var o=window.pageYOffset||document.documentElement.scrollTop;return n.style.top="".concat(o,"px"),n.setAttribute("readonly",""),n.value=e,n}(e);t.container.appendChild(n);var o=l()(n);return c("copy"),n.remove(),o},p=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{container:document.body},n="";return"string"==typeof e?n=d(e,t):e instanceof HTMLInputElement&&!["text","search","url","tel","password"].includes(null==e?void 0:e.type)?n=d(e.value,t):(n=l()(e),c("copy")),n};function A(e){return(A="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var f=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.action,n=void 0===t?"copy":t,o=e.container,r=e.target,i=e.text;if("copy"!==n&&"cut"!==n)throw new Error('Invalid "action" value, use either "copy" or "cut"');if(void 0!==r){if(!r||"object"!==A(r)||1!==r.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===n&&r.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===n&&(r.hasAttribute("readonly")||r.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes')}return i?p(i,{container:o}):r?"cut"===n?u(r):p(r,{container:o}):void 0};function m(e){return(m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function h(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{};this.action="function"==typeof e.action?e.action:this.defaultAction,this.target="function"==typeof e.target?e.target:this.defaultTarget,this.text="function"==typeof e.text?e.text:this.defaultText,this.container="object"===m(e.container)?e.container:document.body}},{key:"listenClick",value:function(e){var t=this;this.listener=a()(e,"click",(function(e){return t.onClick(e)}))}},{key:"onClick",value:function(e){var t=e.delegateTarget||e.currentTarget,n=this.action(t)||"copy",o=f({action:n,container:this.container,target:this.target(t),text:this.text(t)});this.emit(o?"success":"error",{action:n,text:o,trigger:t,clearSelection:function(){t&&t.focus(),window.getSelection().removeAllRanges()}})}},{key:"defaultAction",value:function(e){return E("action",e)}},{key:"defaultTarget",value:function(e){var t=E("target",e);if(t)return document.querySelector(t)}},{key:"defaultText",value:function(e){return E("text",e)}},{key:"destroy",value:function(){this.listener.destroy()}}],o=[{key:"copy",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{container:document.body};return p(e,t)}},{key:"cut",value:function(e){return u(e)}},{key:"isSupported",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["copy","cut"],t="string"==typeof e?[e]:e,n=!!document.queryCommandSupported;return t.forEach((function(e){n=n&&!!document.queryCommandSupported(e)})),n}}],n&&h(t.prototype,n),o&&h(t,o),i}(r()),y=C},828:function(e){if("undefined"!=typeof Element&&!Element.prototype.matches){var t=Element.prototype;t.matches=t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector}e.exports=function(e,t){for(;e&&9!==e.nodeType;){if("function"==typeof e.matches&&e.matches(t))return e;e=e.parentNode}}},438:function(e,t,n){var o=n(828);function r(e,t,n,o,r){var a=i.apply(this,arguments);return e.addEventListener(n,a,r),{destroy:function(){e.removeEventListener(n,a,r)}}}function i(e,t,n,r){return function(n){n.delegateTarget=o(n.target,t),n.delegateTarget&&r.call(e,n)}}e.exports=function(e,t,n,o,i){return"function"==typeof e.addEventListener?r.apply(null,arguments):"function"==typeof n?r.bind(null,document).apply(null,arguments):("string"==typeof e&&(e=document.querySelectorAll(e)),Array.prototype.map.call(e,(function(e){return r(e,t,n,o,i)})))}},879:function(e,t){t.node=function(e){return void 0!==e&&e instanceof HTMLElement&&1===e.nodeType},t.nodeList=function(e){var n=Object.prototype.toString.call(e);return void 0!==e&&("[object NodeList]"===n||"[object HTMLCollection]"===n)&&"length"in e&&(0===e.length||t.node(e[0]))},t.string=function(e){return"string"==typeof e||e instanceof String},t.fn=function(e){return"[object Function]"===Object.prototype.toString.call(e)}},370:function(e,t,n){var o=n(879),r=n(438);e.exports=function(e,t,n){if(!e&&!t&&!n)throw new Error("Missing required arguments");if(!o.string(t))throw new TypeError("Second argument must be a String");if(!o.fn(n))throw new TypeError("Third argument must be a Function");if(o.node(e))return function(e,t,n){return e.addEventListener(t,n),{destroy:function(){e.removeEventListener(t,n)}}}(e,t,n);if(o.nodeList(e))return function(e,t,n){return Array.prototype.forEach.call(e,(function(e){e.addEventListener(t,n)})),{destroy:function(){Array.prototype.forEach.call(e,(function(e){e.removeEventListener(t,n)}))}}}(e,t,n);if(o.string(e))return function(e,t,n){return r(document.body,e,t,n)}(e,t,n);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}},817:function(e){e.exports=function(e){var t;if("SELECT"===e.nodeName)e.focus(),t=e.value;else if("INPUT"===e.nodeName||"TEXTAREA"===e.nodeName){var n=e.hasAttribute("readonly");n||e.setAttribute("readonly",""),e.select(),e.setSelectionRange(0,e.value.length),n||e.removeAttribute("readonly"),t=e.value}else{e.hasAttribute("contenteditable")&&e.focus();var o=window.getSelection(),r=document.createRange();r.selectNodeContents(e),o.removeAllRanges(),o.addRange(r),t=o.toString()}return t}},279:function(e){function t(){}t.prototype={on:function(e,t,n){var o=this.e||(this.e={});return(o[e]||(o[e]=[])).push({fn:t,ctx:n}),this},once:function(e,t,n){var o=this;function r(){o.off(e,r),t.apply(n,arguments)}return r._=t,this.on(e,r,n)},emit:function(e){for(var t=[].slice.call(arguments,1),n=((this.e||(this.e={}))[e]||[]).slice(),o=0,r=n.length;o{const t=void 0===(null==e?void 0:e.appendToBody)||e.appendToBody;return{toClipboard:(e,n)=>new Promise(((o,r)=>{const i=document.createElement("button"),a=new Clipboard(i,{text:()=>e,action:()=>"copy",container:void 0!==n?n:document.body});a.on("success",(e=>{a.destroy(),o(e)})),a.on("error",(e=>{a.destroy(),r(e)})),t&&document.body.appendChild(i),i.click(),t&&document.body.removeChild(i)}))}},VITE_CDN_STATIC_PATH="https://cdn.18n.com/",AGENT_ID=2,GOOGLE_USER_INFO="https://www.googleapis.com/oauth2/v3/userinfo",MOBILE_CODE=55,DOWNLOAD_URL="https://download.t8club.com/18n.apk";var dayjs_min={exports:{}};dayjs_min.exports=function(){var e=1e3,t=6e4,n=36e5,o="millisecond",r="second",i="minute",a="hour",s="day",l="week",c="month",u="quarter",d="year",p="date",A="Invalid Date",f=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,m=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,h={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(e){var t=["th","st","nd","rd"],n=e%100;return"["+e+(t[(n-20)%10]||t[n]||t[0])+"]"}},g=function(e,t,n){var o=String(e);return!o||o.length>=t?e:""+Array(t+1-o.length).join(n)+e},v={s:g,z:function(e){var t=-e.utcOffset(),n=Math.abs(t),o=Math.floor(n/60),r=n%60;return(t<=0?"+":"-")+g(o,2,"0")+":"+g(r,2,"0")},m:function e(t,n){if(t.date()1)return e(a[0])}else{var s=t.name;E[s]=t,r=s}return!o&&r&&(b=r),r||!o&&b},I=function(e,t){if(y(e))return e.clone();var n="object"==typeof t?t:{};return n.date=e,n.args=arguments,new R(n)},S=v;S.l=w,S.i=y,S.w=function(e,t){return I(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var R=function(){function h(e){this.$L=w(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[C]=!0}var g=h.prototype;return g.parse=function(e){this.$d=function(e){var t=e.date,n=e.utc;if(null===t)return new Date(NaN);if(S.u(t))return new Date;if(t instanceof Date)return new Date(t);if("string"==typeof t&&!/Z$/i.test(t)){var o=t.match(f);if(o){var r=o[2]-1||0,i=(o[7]||"0").substring(0,3);return n?new Date(Date.UTC(o[1],r,o[3]||1,o[4]||0,o[5]||0,o[6]||0,i)):new Date(o[1],r,o[3]||1,o[4]||0,o[5]||0,o[6]||0,i)}}return new Date(t)}(e),this.init()},g.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},g.$utils=function(){return S},g.isValid=function(){return!(this.$d.toString()===A)},g.isSame=function(e,t){var n=I(e);return this.startOf(t)<=n&&n<=this.endOf(t)},g.isAfter=function(e,t){return I(e) + * MIT Licence + */var EXP_LIMIT=9e15,MAX_DIGITS=1e9,NUMERALS="0123456789abcdef",LN10="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",PI="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",DEFAULTS={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-EXP_LIMIT,maxE:EXP_LIMIT,crypto:!1},inexact,quadrant,external=!0,decimalError="[DecimalError] ",invalidArgument=decimalError+"Invalid argument: ",precisionLimitExceeded=decimalError+"Precision limit exceeded",cryptoUnavailable=decimalError+"crypto unavailable",tag="[object Decimal]",mathfloor=Math.floor,mathpow=Math.pow,isBinary=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,isHex=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,isOctal=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,isDecimal=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,BASE=1e7,LOG_BASE=7,MAX_SAFE_INTEGER=9007199254740991,LN10_PRECISION=LN10.length-1,PI_PRECISION=PI.length-1,P={toStringTag:tag};function digitsToString(e){var t,n,o,r=e.length-1,i="",a=e[0];if(r>0){for(i+=a,t=1;tn)throw Error(invalidArgument+e)}function checkRoundingDigits(e,t,n,o){var r,i,a,s;for(i=e[0];i>=10;i/=10)--t;return--t<0?(t+=LOG_BASE,r=0):(r=Math.ceil((t+1)/LOG_BASE),t%=LOG_BASE),i=mathpow(10,LOG_BASE-t),s=e[r]%i|0,null==o?t<3?(0==t?s=s/100|0:1==t&&(s=s/10|0),a=n<4&&99999==s||n>3&&49999==s||5e4==s||0==s):a=(n<4&&s+1==i||n>3&&s+1==i/2)&&(e[r+1]/i/100|0)==mathpow(10,t-2)-1||(s==i/2||0==s)&&!(e[r+1]/i/100|0):t<4?(0==t?s=s/1e3|0:1==t?s=s/100|0:2==t&&(s=s/10|0),a=(o||n<4)&&9999==s||!o&&n>3&&4999==s):a=((o||n<4)&&s+1==i||!o&&n>3&&s+1==i/2)&&(e[r+1]/i/1e3|0)==mathpow(10,t-3)-1,a}function convertBase(e,t,n){for(var o,r,i=[0],a=0,s=e.length;an-1&&(void 0===i[o+1]&&(i[o+1]=0),i[o+1]+=i[o]/n|0,i[o]%=n)}return i.reverse()}function cosine(e,t){var n,o,r;if(t.isZero())return t;(o=t.d.length)<32?r=(1/tinyPow(4,n=Math.ceil(o/3))).toString():(n=16,r="2.3283064365386962890625e-10"),e.precision+=n,t=taylorSeries(e,1,t.times(r),new e(1));for(var i=n;i--;){var a=t.times(t);t=a.times(a).minus(a).times(8).plus(1)}return e.precision-=n,t}P.absoluteValue=P.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),finalise(e)},P.ceil=function(){return finalise(new this.constructor(this),this.e+1,2)},P.clampedTo=P.clamp=function(e,t){var n=this,o=n.constructor;if(e=new o(e),t=new o(t),!e.s||!t.s)return new o(NaN);if(e.gt(t))throw Error(invalidArgument+t);return n.cmp(e)<0?e:n.cmp(t)>0?t:new o(n)},P.comparedTo=P.cmp=function(e){var t,n,o,r,i=this,a=i.d,s=(e=new i.constructor(e)).d,l=i.s,c=e.s;if(!a||!s)return l&&c?l!==c?l:a===s?0:!a^l<0?1:-1:NaN;if(!a[0]||!s[0])return a[0]?l:s[0]?-c:0;if(l!==c)return l;if(i.e!==e.e)return i.e>e.e^l<0?1:-1;for(t=0,n=(o=a.length)<(r=s.length)?o:r;ts[t]^l<0?1:-1;return o===r?0:o>r^l<0?1:-1},P.cosine=P.cos=function(){var e,t,n=this,o=n.constructor;return n.d?n.d[0]?(e=o.precision,t=o.rounding,o.precision=e+Math.max(n.e,n.sd())+LOG_BASE,o.rounding=1,n=cosine(o,toLessThanHalfPi(o,n)),o.precision=e,o.rounding=t,finalise(2==quadrant||3==quadrant?n.neg():n,e,t,!0)):new o(1):new o(NaN)},P.cubeRoot=P.cbrt=function(){var e,t,n,o,r,i,a,s,l,c,u=this,d=u.constructor;if(!u.isFinite()||u.isZero())return new d(u);for(external=!1,(i=u.s*mathpow(u.s*u,1/3))&&Math.abs(i)!=1/0?o=new d(i.toString()):(n=digitsToString(u.d),(i=((e=u.e)-n.length+1)%3)&&(n+=1==i||-2==i?"0":"00"),i=mathpow(n,1/3),e=mathfloor((e+1)/3)-(e%3==(e<0?-1:2)),(o=new d(n=i==1/0?"5e"+e:(n=i.toExponential()).slice(0,n.indexOf("e")+1)+e)).s=u.s),a=(e=d.precision)+3;;)if(c=(l=(s=o).times(s).times(s)).plus(u),o=divide(c.plus(u).times(s),c.plus(l),a+2,1),digitsToString(s.d).slice(0,a)===(n=digitsToString(o.d)).slice(0,a)){if("9999"!=(n=n.slice(a-3,a+1))&&(r||"4999"!=n)){+n&&(+n.slice(1)||"5"!=n.charAt(0))||(finalise(o,e+1,1),t=!o.times(o).times(o).eq(u));break}if(!r&&(finalise(s,e+1,0),s.times(s).times(s).eq(u))){o=s;break}a+=4,r=1}return external=!0,finalise(o,e,d.rounding,t)},P.decimalPlaces=P.dp=function(){var e,t=this.d,n=NaN;if(t){if(n=((e=t.length-1)-mathfloor(this.e/LOG_BASE))*LOG_BASE,e=t[e])for(;e%10==0;e/=10)n--;n<0&&(n=0)}return n},P.dividedBy=P.div=function(e){return divide(this,new this.constructor(e))},P.dividedToIntegerBy=P.divToInt=function(e){var t=this.constructor;return finalise(divide(this,new t(e),0,1,1),t.precision,t.rounding)},P.equals=P.eq=function(e){return 0===this.cmp(e)},P.floor=function(){return finalise(new this.constructor(this),this.e+1,3)},P.greaterThan=P.gt=function(e){return this.cmp(e)>0},P.greaterThanOrEqualTo=P.gte=function(e){var t=this.cmp(e);return 1==t||0===t},P.hyperbolicCosine=P.cosh=function(){var e,t,n,o,r,i=this,a=i.constructor,s=new a(1);if(!i.isFinite())return new a(i.s?1/0:NaN);if(i.isZero())return s;n=a.precision,o=a.rounding,a.precision=n+Math.max(i.e,i.sd())+4,a.rounding=1,(r=i.d.length)<32?t=(1/tinyPow(4,e=Math.ceil(r/3))).toString():(e=16,t="2.3283064365386962890625e-10"),i=taylorSeries(a,1,i.times(t),new a(1),!0);for(var l,c=e,u=new a(8);c--;)l=i.times(i),i=s.minus(l.times(u.minus(l.times(u))));return finalise(i,a.precision=n,a.rounding=o,!0)},P.hyperbolicSine=P.sinh=function(){var e,t,n,o,r=this,i=r.constructor;if(!r.isFinite()||r.isZero())return new i(r);if(t=i.precision,n=i.rounding,i.precision=t+Math.max(r.e,r.sd())+4,i.rounding=1,(o=r.d.length)<3)r=taylorSeries(i,2,r,r,!0);else{e=(e=1.4*Math.sqrt(o))>16?16:0|e,r=taylorSeries(i,2,r=r.times(1/tinyPow(5,e)),r,!0);for(var a,s=new i(5),l=new i(16),c=new i(20);e--;)a=r.times(r),r=r.times(s.plus(a.times(l.times(a).plus(c))))}return i.precision=t,i.rounding=n,finalise(r,t,n,!0)},P.hyperbolicTangent=P.tanh=function(){var e,t,n=this,o=n.constructor;return n.isFinite()?n.isZero()?new o(n):(e=o.precision,t=o.rounding,o.precision=e+7,o.rounding=1,divide(n.sinh(),n.cosh(),o.precision=e,o.rounding=t)):new o(n.s)},P.inverseCosine=P.acos=function(){var e,t=this,n=t.constructor,o=t.abs().cmp(1),r=n.precision,i=n.rounding;return-1!==o?0===o?t.isNeg()?getPi(n,r,i):new n(0):new n(NaN):t.isZero()?getPi(n,r+4,i).times(.5):(n.precision=r+6,n.rounding=1,t=t.asin(),e=getPi(n,r+4,i).times(.5),n.precision=r,n.rounding=i,e.minus(t))},P.inverseHyperbolicCosine=P.acosh=function(){var e,t,n=this,o=n.constructor;return n.lte(1)?new o(n.eq(1)?0:NaN):n.isFinite()?(e=o.precision,t=o.rounding,o.precision=e+Math.max(Math.abs(n.e),n.sd())+4,o.rounding=1,external=!1,n=n.times(n).minus(1).sqrt().plus(n),external=!0,o.precision=e,o.rounding=t,n.ln()):new o(n)},P.inverseHyperbolicSine=P.asinh=function(){var e,t,n=this,o=n.constructor;return!n.isFinite()||n.isZero()?new o(n):(e=o.precision,t=o.rounding,o.precision=e+2*Math.max(Math.abs(n.e),n.sd())+6,o.rounding=1,external=!1,n=n.times(n).plus(1).sqrt().plus(n),external=!0,o.precision=e,o.rounding=t,n.ln())},P.inverseHyperbolicTangent=P.atanh=function(){var e,t,n,o,r=this,i=r.constructor;return r.isFinite()?r.e>=0?new i(r.abs().eq(1)?r.s/0:r.isZero()?r:NaN):(e=i.precision,t=i.rounding,o=r.sd(),Math.max(o,e)<2*-r.e-1?finalise(new i(r),e,t,!0):(i.precision=n=o-r.e,r=divide(r.plus(1),new i(1).minus(r),n+e,1),i.precision=e+4,i.rounding=1,r=r.ln(),i.precision=e,i.rounding=t,r.times(.5))):new i(NaN)},P.inverseSine=P.asin=function(){var e,t,n,o,r=this,i=r.constructor;return r.isZero()?new i(r):(t=r.abs().cmp(1),n=i.precision,o=i.rounding,-1!==t?0===t?((e=getPi(i,n+4,o).times(.5)).s=r.s,e):new i(NaN):(i.precision=n+6,i.rounding=1,r=r.div(new i(1).minus(r.times(r)).sqrt().plus(1)).atan(),i.precision=n,i.rounding=o,r.times(2)))},P.inverseTangent=P.atan=function(){var e,t,n,o,r,i,a,s,l,c=this,u=c.constructor,d=u.precision,p=u.rounding;if(c.isFinite()){if(c.isZero())return new u(c);if(c.abs().eq(1)&&d+4<=PI_PRECISION)return(a=getPi(u,d+4,p).times(.25)).s=c.s,a}else{if(!c.s)return new u(NaN);if(d+4<=PI_PRECISION)return(a=getPi(u,d+4,p).times(.5)).s=c.s,a}for(u.precision=s=d+10,u.rounding=1,e=n=Math.min(28,s/LOG_BASE+2|0);e;--e)c=c.div(c.times(c).plus(1).sqrt().plus(1));for(external=!1,t=Math.ceil(s/LOG_BASE),o=1,l=c.times(c),a=new u(c),r=c;-1!==e;)if(r=r.times(l),i=a.minus(r.div(o+=2)),r=r.times(l),void 0!==(a=i.plus(r.div(o+=2))).d[t])for(e=t;a.d[e]===i.d[e]&&e--;);return n&&(a=a.times(2<this.d.length-2},P.isNaN=function(){return!this.s},P.isNegative=P.isNeg=function(){return this.s<0},P.isPositive=P.isPos=function(){return this.s>0},P.isZero=function(){return!!this.d&&0===this.d[0]},P.lessThan=P.lt=function(e){return this.cmp(e)<0},P.lessThanOrEqualTo=P.lte=function(e){return this.cmp(e)<1},P.logarithm=P.log=function(e){var t,n,o,r,i,a,s,l,c=this,u=c.constructor,d=u.precision,p=u.rounding;if(null==e)e=new u(10),t=!0;else{if(n=(e=new u(e)).d,e.s<0||!n||!n[0]||e.eq(1))return new u(NaN);t=e.eq(10)}if(n=c.d,c.s<0||!n||!n[0]||c.eq(1))return new u(n&&!n[0]?-1/0:1!=c.s?NaN:n?0:1/0);if(t)if(n.length>1)i=!0;else{for(r=n[0];r%10==0;)r/=10;i=1!==r}if(external=!1,a=naturalLogarithm(c,s=d+5),o=t?getLn10(u,s+10):naturalLogarithm(e,s),checkRoundingDigits((l=divide(a,o,s,1)).d,r=d,p))do{if(a=naturalLogarithm(c,s+=10),o=t?getLn10(u,s+10):naturalLogarithm(e,s),l=divide(a,o,s,1),!i){+digitsToString(l.d).slice(r+1,r+15)+1==1e14&&(l=finalise(l,d+1,0));break}}while(checkRoundingDigits(l.d,r+=10,p));return external=!0,finalise(l,d,p)},P.minus=P.sub=function(e){var t,n,o,r,i,a,s,l,c,u,d,p,A=this,f=A.constructor;if(e=new f(e),!A.d||!e.d)return A.s&&e.s?A.d?e.s=-e.s:e=new f(e.d||A.s!==e.s?A:NaN):e=new f(NaN),e;if(A.s!=e.s)return e.s=-e.s,A.plus(e);if(c=A.d,p=e.d,s=f.precision,l=f.rounding,!c[0]||!p[0]){if(p[0])e.s=-e.s;else{if(!c[0])return new f(3===l?-0:0);e=new f(A)}return external?finalise(e,s,l):e}if(n=mathfloor(e.e/LOG_BASE),u=mathfloor(A.e/LOG_BASE),c=c.slice(),i=u-n){for((d=i<0)?(t=c,i=-i,a=p.length):(t=p,n=u,a=c.length),i>(o=Math.max(Math.ceil(s/LOG_BASE),a)+2)&&(i=o,t.length=1),t.reverse(),o=i;o--;)t.push(0);t.reverse()}else{for((d=(o=c.length)<(a=p.length))&&(a=o),o=0;o0;--o)c[a++]=0;for(o=p.length;o>i;){if(c[--o](a=(i=Math.ceil(s/LOG_BASE))>a?i+1:a+1)&&(r=a,n.length=1),n.reverse();r--;)n.push(0);n.reverse()}for((a=c.length)-(r=u.length)<0&&(r=a,n=u,u=c,c=n),t=0;r;)t=(c[--r]=c[r]+u[r]+t)/BASE|0,c[r]%=BASE;for(t&&(c.unshift(t),++o),a=c.length;0==c[--a];)c.pop();return e.d=c,e.e=getBase10Exponent(c,o),external?finalise(e,s,l):e},P.precision=P.sd=function(e){var t,n=this;if(void 0!==e&&e!==!!e&&1!==e&&0!==e)throw Error(invalidArgument+e);return n.d?(t=getPrecision(n.d),e&&n.e+1>t&&(t=n.e+1)):t=NaN,t},P.round=function(){var e=this,t=e.constructor;return finalise(new t(e),e.e+1,t.rounding)},P.sine=P.sin=function(){var e,t,n=this,o=n.constructor;return n.isFinite()?n.isZero()?new o(n):(e=o.precision,t=o.rounding,o.precision=e+Math.max(n.e,n.sd())+LOG_BASE,o.rounding=1,n=sine(o,toLessThanHalfPi(o,n)),o.precision=e,o.rounding=t,finalise(quadrant>2?n.neg():n,e,t,!0)):new o(NaN)},P.squareRoot=P.sqrt=function(){var e,t,n,o,r,i,a=this,s=a.d,l=a.e,c=a.s,u=a.constructor;if(1!==c||!s||!s[0])return new u(!c||c<0&&(!s||s[0])?NaN:s?a:1/0);for(external=!1,0==(c=Math.sqrt(+a))||c==1/0?(((t=digitsToString(s)).length+l)%2==0&&(t+="0"),c=Math.sqrt(t),l=mathfloor((l+1)/2)-(l<0||l%2),o=new u(t=c==1/0?"5e"+l:(t=c.toExponential()).slice(0,t.indexOf("e")+1)+l)):o=new u(c.toString()),n=(l=u.precision)+3;;)if(o=(i=o).plus(divide(a,i,n+2,1)).times(.5),digitsToString(i.d).slice(0,n)===(t=digitsToString(o.d)).slice(0,n)){if("9999"!=(t=t.slice(n-3,n+1))&&(r||"4999"!=t)){+t&&(+t.slice(1)||"5"!=t.charAt(0))||(finalise(o,l+1,1),e=!o.times(o).eq(a));break}if(!r&&(finalise(i,l+1,0),i.times(i).eq(a))){o=i;break}n+=4,r=1}return external=!0,finalise(o,l,u.rounding,e)},P.tangent=P.tan=function(){var e,t,n=this,o=n.constructor;return n.isFinite()?n.isZero()?new o(n):(e=o.precision,t=o.rounding,o.precision=e+10,o.rounding=1,(n=n.sin()).s=1,n=divide(n,new o(1).minus(n.times(n)).sqrt(),e+10,0),o.precision=e,o.rounding=t,finalise(2==quadrant||4==quadrant?n.neg():n,e,t,!0)):new o(NaN)},P.times=P.mul=function(e){var t,n,o,r,i,a,s,l,c,u=this,d=u.constructor,p=u.d,A=(e=new d(e)).d;if(e.s*=u.s,!(p&&p[0]&&A&&A[0]))return new d(!e.s||p&&!p[0]&&!A||A&&!A[0]&&!p?NaN:p&&A?0*e.s:e.s/0);for(n=mathfloor(u.e/LOG_BASE)+mathfloor(e.e/LOG_BASE),(l=p.length)<(c=A.length)&&(i=p,p=A,A=i,a=l,l=c,c=a),i=[],o=a=l+c;o--;)i.push(0);for(o=c;--o>=0;){for(t=0,r=l+o;r>o;)s=i[r]+A[o]*p[r-o-1]+t,i[r--]=s%BASE|0,t=s/BASE|0;i[r]=(i[r]+t)%BASE|0}for(;!i[--a];)i.pop();return t?++n:i.shift(),e.d=i,e.e=getBase10Exponent(i,n),external?finalise(e,d.precision,d.rounding):e},P.toBinary=function(e,t){return toStringBinary(this,2,e,t)},P.toDecimalPlaces=P.toDP=function(e,t){var n=this,o=n.constructor;return n=new o(n),void 0===e?n:(checkInt32(e,0,MAX_DIGITS),void 0===t?t=o.rounding:checkInt32(t,0,8),finalise(n,e+n.e+1,t))},P.toExponential=function(e,t){var n,o=this,r=o.constructor;return void 0===e?n=finiteToString(o,!0):(checkInt32(e,0,MAX_DIGITS),void 0===t?t=r.rounding:checkInt32(t,0,8),n=finiteToString(o=finalise(new r(o),e+1,t),!0,e+1)),o.isNeg()&&!o.isZero()?"-"+n:n},P.toFixed=function(e,t){var n,o,r=this,i=r.constructor;return void 0===e?n=finiteToString(r):(checkInt32(e,0,MAX_DIGITS),void 0===t?t=i.rounding:checkInt32(t,0,8),n=finiteToString(o=finalise(new i(r),e+r.e+1,t),!1,e+o.e+1)),r.isNeg()&&!r.isZero()?"-"+n:n},P.toFraction=function(e){var t,n,o,r,i,a,s,l,c,u,d,p,A=this,f=A.d,m=A.constructor;if(!f)return new m(A);if(c=n=new m(1),o=l=new m(0),a=(i=(t=new m(o)).e=getPrecision(f)-A.e-1)%LOG_BASE,t.d[0]=mathpow(10,a<0?LOG_BASE+a:a),null==e)e=i>0?t:c;else{if(!(s=new m(e)).isInt()||s.lt(c))throw Error(invalidArgument+s);e=s.gt(t)?i>0?t:c:s}for(external=!1,s=new m(digitsToString(f)),u=m.precision,m.precision=i=f.length*LOG_BASE*2;d=divide(s,t,0,1,1),1!=(r=n.plus(d.times(o))).cmp(e);)n=o,o=r,r=c,c=l.plus(d.times(r)),l=r,r=t,t=s.minus(d.times(r)),s=r;return r=divide(e.minus(n),o,0,1,1),l=l.plus(r.times(c)),n=n.plus(r.times(o)),l.s=c.s=A.s,p=divide(c,o,i,1).minus(A).abs().cmp(divide(l,n,i,1).minus(A).abs())<1?[c,o]:[l,n],m.precision=u,external=!0,p},P.toHexadecimal=P.toHex=function(e,t){return toStringBinary(this,16,e,t)},P.toNearest=function(e,t){var n=this,o=n.constructor;if(n=new o(n),null==e){if(!n.d)return n;e=new o(1),t=o.rounding}else{if(e=new o(e),void 0===t?t=o.rounding:checkInt32(t,0,8),!n.d)return e.s?n:e;if(!e.d)return e.s&&(e.s=n.s),e}return e.d[0]?(external=!1,n=divide(n,e,0,t,1).times(e),external=!0,finalise(n)):(e.s=n.s,n=e),n},P.toNumber=function(){return+this},P.toOctal=function(e,t){return toStringBinary(this,8,e,t)},P.toPower=P.pow=function(e){var t,n,o,r,i,a,s=this,l=s.constructor,c=+(e=new l(e));if(!(s.d&&e.d&&s.d[0]&&e.d[0]))return new l(mathpow(+s,c));if((s=new l(s)).eq(1))return s;if(o=l.precision,i=l.rounding,e.eq(1))return finalise(s,o,i);if((t=mathfloor(e.e/LOG_BASE))>=e.d.length-1&&(n=c<0?-c:c)<=MAX_SAFE_INTEGER)return r=intPow(l,s,n,o),e.s<0?new l(1).div(r):finalise(r,o,i);if((a=s.s)<0){if(tl.maxE+1||t0?a/0:0):(external=!1,l.rounding=s.s=1,n=Math.min(12,(t+"").length),(r=naturalExponential(e.times(naturalLogarithm(s,o+n)),o)).d&&checkRoundingDigits((r=finalise(r,o+5,1)).d,o,i)&&(t=o+10,+digitsToString((r=finalise(naturalExponential(e.times(naturalLogarithm(s,t+n)),t),t+5,1)).d).slice(o+1,o+15)+1==1e14&&(r=finalise(r,o+1,0))),r.s=a,external=!0,l.rounding=i,finalise(r,o,i))},P.toPrecision=function(e,t){var n,o=this,r=o.constructor;return void 0===e?n=finiteToString(o,o.e<=r.toExpNeg||o.e>=r.toExpPos):(checkInt32(e,1,MAX_DIGITS),void 0===t?t=r.rounding:checkInt32(t,0,8),n=finiteToString(o=finalise(new r(o),e,t),e<=o.e||o.e<=r.toExpNeg,e)),o.isNeg()&&!o.isZero()?"-"+n:n},P.toSignificantDigits=P.toSD=function(e,t){var n=this.constructor;return void 0===e?(e=n.precision,t=n.rounding):(checkInt32(e,1,MAX_DIGITS),void 0===t?t=n.rounding:checkInt32(t,0,8)),finalise(new n(this),e,t)},P.toString=function(){var e=this,t=e.constructor,n=finiteToString(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()&&!e.isZero()?"-"+n:n},P.truncated=P.trunc=function(){return finalise(new this.constructor(this),this.e+1,1)},P.valueOf=P.toJSON=function(){var e=this,t=e.constructor,n=finiteToString(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()?"-"+n:n};var divide=function(){function e(e,t,n){var o,r=0,i=e.length;for(e=e.slice();i--;)o=e[i]*t+r,e[i]=o%n|0,r=o/n|0;return r&&e.unshift(r),e}function t(e,t,n,o){var r,i;if(n!=o)i=n>o?1:-1;else for(r=i=0;rt[r]?1:-1;break}return i}function n(e,t,n,o){for(var r=0;n--;)e[n]-=r,r=e[n]1;)e.shift()}return function(o,r,i,a,s,l){var c,u,d,p,A,f,m,h,g,v,b,E,C,y,w,I,S,R,T,_,O=o.constructor,N=o.s==r.s?1:-1,D=o.d,k=r.d;if(!(D&&D[0]&&k&&k[0]))return new O(o.s&&r.s&&(D?!k||D[0]!=k[0]:k)?D&&0==D[0]||!k?0*N:N/0:NaN);for(l?(A=1,u=o.e-r.e):(l=BASE,A=LOG_BASE,u=mathfloor(o.e/A)-mathfloor(r.e/A)),T=k.length,S=D.length,v=(g=new O(N)).d=[],d=0;k[d]==(D[d]||0);d++);if(k[d]>(D[d]||0)&&u--,null==i?(y=i=O.precision,a=O.rounding):y=s?i+(o.e-r.e)+1:i,y<0)v.push(1),f=!0;else{if(y=y/A+2|0,d=0,1==T){for(p=0,k=k[0],y++;(d1&&(k=e(k,p,l),D=e(D,p,l),T=k.length,S=D.length),I=T,E=(b=D.slice(0,T)).length;E=l/2&&++R;do{p=0,(c=t(k,b,T,E))<0?(C=b[0],T!=E&&(C=C*l+(b[1]||0)),(p=C/R|0)>1?(p>=l&&(p=l-1),1==(c=t(m=e(k,p,l),b,h=m.length,E=b.length))&&(p--,n(m,T=10;p/=10)d++;g.e=d+u*A-1,finalise(g,s?i+g.e+1:i,a,f)}return g}}();function finalise(e,t,n,o){var r,i,a,s,l,c,u,d,p,A=e.constructor;e:if(null!=t){if(!(d=e.d))return e;for(r=1,s=d[0];s>=10;s/=10)r++;if((i=t-r)<0)i+=LOG_BASE,a=t,l=(u=d[p=0])/mathpow(10,r-a-1)%10|0;else if((p=Math.ceil((i+1)/LOG_BASE))>=(s=d.length)){if(!o)break e;for(;s++<=p;)d.push(0);u=l=0,r=1,a=(i%=LOG_BASE)-LOG_BASE+1}else{for(u=s=d[p],r=1;s>=10;s/=10)r++;l=(a=(i%=LOG_BASE)-LOG_BASE+r)<0?0:u/mathpow(10,r-a-1)%10|0}if(o=o||t<0||void 0!==d[p+1]||(a<0?u:u%mathpow(10,r-a-1)),c=n<4?(l||o)&&(0==n||n==(e.s<0?3:2)):l>5||5==l&&(4==n||o||6==n&&(i>0?a>0?u/mathpow(10,r-a):0:d[p-1])%10&1||n==(e.s<0?8:7)),t<1||!d[0])return d.length=0,c?(t-=e.e+1,d[0]=mathpow(10,(LOG_BASE-t%LOG_BASE)%LOG_BASE),e.e=-t||0):d[0]=e.e=0,e;if(0==i?(d.length=p,s=1,p--):(d.length=p+1,s=mathpow(10,LOG_BASE-i),d[p]=a>0?(u/mathpow(10,r-a)%mathpow(10,a)|0)*s:0),c)for(;;){if(0==p){for(i=1,a=d[0];a>=10;a/=10)i++;for(a=d[0]+=s,s=1;a>=10;a/=10)s++;i!=s&&(e.e++,d[0]==BASE&&(d[0]=1));break}if(d[p]+=s,d[p]!=BASE)break;d[p--]=0,s=1}for(i=d.length;0===d[--i];)d.pop()}return external&&(e.e>A.maxE?(e.d=null,e.e=NaN):e.e0?i=i.charAt(0)+"."+i.slice(1)+getZeroString(o):a>1&&(i=i.charAt(0)+"."+i.slice(1)),i=i+(e.e<0?"e":"e+")+e.e):r<0?(i="0."+getZeroString(-r-1)+i,n&&(o=n-a)>0&&(i+=getZeroString(o))):r>=a?(i+=getZeroString(r+1-a),n&&(o=n-r-1)>0&&(i=i+"."+getZeroString(o))):((o=r+1)0&&(r+1===a&&(i+="."),i+=getZeroString(o))),i}function getBase10Exponent(e,t){var n=e[0];for(t*=LOG_BASE;n>=10;n/=10)t++;return t}function getLn10(e,t,n){if(t>LN10_PRECISION)throw external=!0,n&&(e.precision=n),Error(precisionLimitExceeded);return finalise(new e(LN10),t,1,!0)}function getPi(e,t,n){if(t>PI_PRECISION)throw Error(precisionLimitExceeded);return finalise(new e(PI),t,n,!0)}function getPrecision(e){var t=e.length-1,n=t*LOG_BASE+1;if(t=e[t]){for(;t%10==0;t/=10)n--;for(t=e[0];t>=10;t/=10)n++}return n}function getZeroString(e){for(var t="";e--;)t+="0";return t}function intPow(e,t,n,o){var r,i=new e(1),a=Math.ceil(o/LOG_BASE+4);for(external=!1;;){if(n%2&&truncate((i=i.times(t)).d,a)&&(r=!0),0===(n=mathfloor(n/2))){n=i.d.length-1,r&&0===i.d[n]&&++i.d[n];break}truncate((t=t.times(t)).d,a)}return external=!0,i}function isOdd(e){return 1&e.d[e.d.length-1]}function maxOrMin(e,t,n){for(var o,r=new e(t[0]),i=0;++i17)return new p(e.d?e.d[0]?e.s<0?0:1/0:1:e.s?e.s<0?0:e:NaN);for(null==t?(external=!1,l=f):l=t,s=new p(.03125);e.e>-2;)e=e.times(s),d+=5;for(l+=o=Math.log(mathpow(2,d))/Math.LN10*2+5|0,n=i=a=new p(1),p.precision=l;;){if(i=finalise(i.times(e),l,1),n=n.times(++u),digitsToString((s=a.plus(divide(i,n,l,1))).d).slice(0,l)===digitsToString(a.d).slice(0,l)){for(r=d;r--;)a=finalise(a.times(a),l,1);if(null!=t)return p.precision=f,a;if(!(c<3&&checkRoundingDigits(a.d,l-o,A,c)))return finalise(a,p.precision=f,A,external=!0);p.precision=l+=10,n=i=s=new p(1),u=0,c++}a=s}}function naturalLogarithm(e,t){var n,o,r,i,a,s,l,c,u,d,p,A=1,f=e,m=f.d,h=f.constructor,g=h.rounding,v=h.precision;if(f.s<0||!m||!m[0]||!f.e&&1==m[0]&&1==m.length)return new h(m&&!m[0]?-1/0:1!=f.s?NaN:m?0:f);if(null==t?(external=!1,u=v):u=t,h.precision=u+=10,o=(n=digitsToString(m)).charAt(0),!(Math.abs(i=f.e)<15e14))return c=getLn10(h,u+2,v).times(i+""),f=naturalLogarithm(new h(o+"."+n.slice(1)),u-10).plus(c),h.precision=v,null==t?finalise(f,v,g,external=!0):f;for(;o<7&&1!=o||1==o&&n.charAt(1)>3;)o=(n=digitsToString((f=f.times(e)).d)).charAt(0),A++;for(i=f.e,o>1?(f=new h("0."+n),i++):f=new h(o+"."+n.slice(1)),d=f,l=a=f=divide(f.minus(1),f.plus(1),u,1),p=finalise(f.times(f),u,1),r=3;;){if(a=finalise(a.times(p),u,1),digitsToString((c=l.plus(divide(a,new h(r),u,1))).d).slice(0,u)===digitsToString(l.d).slice(0,u)){if(l=l.times(2),0!==i&&(l=l.plus(getLn10(h,u+2,v).times(i+""))),l=divide(l,new h(A),u,1),null!=t)return h.precision=v,l;if(!checkRoundingDigits(l.d,u-10,g,s))return finalise(l,h.precision=v,g,external=!0);h.precision=u+=10,c=a=f=divide(d.minus(1),d.plus(1),u,1),p=finalise(f.times(f),u,1),r=s=1}l=c,r+=2}}function nonFiniteToString(e){return String(e.s*e.s/0)}function parseDecimal(e,t){var n,o,r;for((n=t.indexOf("."))>-1&&(t=t.replace(".","")),(o=t.search(/e/i))>0?(n<0&&(n=o),n+=+t.slice(o+1),t=t.substring(0,o)):n<0&&(n=t.length),o=0;48===t.charCodeAt(o);o++);for(r=t.length;48===t.charCodeAt(r-1);--r);if(t=t.slice(o,r)){if(r-=o,e.e=n=n-o-1,e.d=[],o=(n+1)%LOG_BASE,n<0&&(o+=LOG_BASE),oe.constructor.maxE?(e.d=null,e.e=NaN):e.e-1){if(t=t.replace(/(\d)_(?=\d)/g,"$1"),isDecimal.test(t))return parseDecimal(e,t)}else if("Infinity"===t||"NaN"===t)return+t||(e.s=NaN),e.e=NaN,e.d=null,e;if(isHex.test(t))n=16,t=t.toLowerCase();else if(isBinary.test(t))n=2;else{if(!isOctal.test(t))throw Error(invalidArgument+t);n=8}for((i=t.search(/p/i))>0?(l=+t.slice(i+1),t=t.substring(2,i)):t=t.slice(2),a=(i=t.indexOf("."))>=0,o=e.constructor,a&&(i=(s=(t=t.replace(".","")).length)-i,r=intPow(o,new o(n),i,2*i)),i=u=(c=convertBase(t,n,BASE)).length-1;0===c[i];--i)c.pop();return i<0?new o(0*e.s):(e.e=getBase10Exponent(c,u),e.d=c,external=!1,a&&(e=divide(e,r,4*s)),l&&(e=e.times(Math.abs(l)<54?mathpow(2,l):Decimal.pow(2,l))),external=!0,e)}function sine(e,t){var n,o=t.d.length;if(o<3)return t.isZero()?t:taylorSeries(e,2,t,t);n=(n=1.4*Math.sqrt(o))>16?16:0|n,t=taylorSeries(e,2,t=t.times(1/tinyPow(5,n)),t);for(var r,i=new e(5),a=new e(16),s=new e(20);n--;)r=t.times(t),t=t.times(i.plus(r.times(a.times(r).minus(s))));return t}function taylorSeries(e,t,n,o,r){var i,a,s,l,c=e.precision,u=Math.ceil(c/LOG_BASE);for(external=!1,l=n.times(n),s=new e(o);;){if(a=divide(s.times(l),new e(t++*t++),c,1),s=r?o.plus(a):o.minus(a),o=divide(a.times(l),new e(t++*t++),c,1),void 0!==(a=s.plus(o)).d[u]){for(i=u;a.d[i]===s.d[i]&&i--;);if(-1==i)break}i=s,s=o,o=a,a=i}return external=!0,a.d.length=u+1,a}function tinyPow(e,t){for(var n=e;--t;)n*=e;return n}function toLessThanHalfPi(e,t){var n,o=t.s<0,r=getPi(e,e.precision,1),i=r.times(.5);if((t=t.abs()).lte(i))return quadrant=o?4:1,t;if((n=t.divToInt(r)).isZero())quadrant=o?3:2;else{if((t=t.minus(n.times(r))).lte(i))return quadrant=isOdd(n)?o?2:3:o?4:1,t;quadrant=isOdd(n)?o?1:4:o?3:2}return t.minus(r).abs()}function toStringBinary(e,t,n,o){var r,i,a,s,l,c,u,d,p,A=e.constructor,f=void 0!==n;if(f?(checkInt32(n,1,MAX_DIGITS),void 0===o?o=A.rounding:checkInt32(o,0,8)):(n=A.precision,o=A.rounding),e.isFinite()){for(f?(r=2,16==t?n=4*n-3:8==t&&(n=3*n-2)):r=t,(a=(u=finiteToString(e)).indexOf("."))>=0&&(u=u.replace(".",""),(p=new A(1)).e=u.length-a,p.d=convertBase(finiteToString(p),10,r),p.e=p.d.length),i=l=(d=convertBase(u,10,r)).length;0==d[--l];)d.pop();if(d[0]){if(a<0?i--:((e=new A(e)).d=d,e.e=i,d=(e=divide(e,p,n,o,0,r)).d,i=e.e,c=inexact),a=d[n],s=r/2,c=c||void 0!==d[n+1],c=o<4?(void 0!==a||c)&&(0===o||o===(e.s<0?3:2)):a>s||a===s&&(4===o||c||6===o&&1&d[n-1]||o===(e.s<0?8:7)),d.length=n,c)for(;++d[--n]>r-1;)d[n]=0,n||(++i,d.unshift(1));for(l=d.length;!d[l-1];--l);for(a=0,u="";a1)if(16==t||8==t){for(a=16==t?4:3,--l;l%a;l++)u+="0";for(l=(d=convertBase(u,r,t)).length;!d[l-1];--l);for(a=1,u="1.";al)for(i-=l;i--;)u+="0";else it)return e.length=t,!0}function abs(e){return new this(e).abs()}function acos(e){return new this(e).acos()}function acosh(e){return new this(e).acosh()}function add(e,t){return new this(e).plus(t)}function asin(e){return new this(e).asin()}function asinh(e){return new this(e).asinh()}function atan(e){return new this(e).atan()}function atanh(e){return new this(e).atanh()}function atan2(e,t){e=new this(e),t=new this(t);var n,o=this.precision,r=this.rounding,i=o+4;return e.s&&t.s?e.d||t.d?!t.d||e.isZero()?(n=t.s<0?getPi(this,o,r):new this(0)).s=e.s:!e.d||t.isZero()?(n=getPi(this,i,1).times(.5)).s=e.s:t.s<0?(this.precision=i,this.rounding=1,n=this.atan(divide(e,t,i,1)),t=getPi(this,i,1),this.precision=o,this.rounding=r,n=e.s<0?n.minus(t):n.plus(t)):n=this.atan(divide(e,t,i,1)):(n=getPi(this,i,1).times(t.s>0?.25:.75)).s=e.s:n=new this(NaN),n}function cbrt(e){return new this(e).cbrt()}function ceil(e){return finalise(e=new this(e),e.e+1,2)}function clamp(e,t,n){return new this(e).clamp(t,n)}function config(e){if(!e||"object"!=typeof e)throw Error(decimalError+"Object expected");var t,n,o,r=!0===e.defaults,i=["precision",1,MAX_DIGITS,"rounding",0,8,"toExpNeg",-EXP_LIMIT,0,"toExpPos",0,EXP_LIMIT,"maxE",0,EXP_LIMIT,"minE",-EXP_LIMIT,0,"modulo",0,9];for(t=0;t=i[t+1]&&o<=i[t+2]))throw Error(invalidArgument+n+": "+o);this[n]=o}if(n="crypto",r&&(this[n]=DEFAULTS[n]),void 0!==(o=e[n])){if(!0!==o&&!1!==o&&0!==o&&1!==o)throw Error(invalidArgument+n+": "+o);if(o){if("undefined"==typeof crypto||!crypto||!crypto.getRandomValues&&!crypto.randomBytes)throw Error(cryptoUnavailable);this[n]=!0}else this[n]=!1}return this}function cos(e){return new this(e).cos()}function cosh(e){return new this(e).cosh()}function clone(e){var t,n,o;function r(e){var t,n,o,i=this;if(!(i instanceof r))return new r(e);if(i.constructor=r,isDecimalInstance(e))return i.s=e.s,void(external?!e.d||e.e>r.maxE?(i.e=NaN,i.d=null):e.e=10;n/=10)t++;return void(external?t>r.maxE?(i.e=NaN,i.d=null):t=429e7?t[i]=crypto.getRandomValues(new Uint32Array(1))[0]:s[i++]=r%1e7;else{if(!crypto.randomBytes)throw Error(cryptoUnavailable);for(t=crypto.randomBytes(o*=4);i=214e7?crypto.randomBytes(4).copy(t,i):(s.push(r%1e7),i+=4);i=o/4}else for(;i=10;r/=10)o++;o`${VITE_CDN_STATIC_PATH}static/${e}`,getImage=e=>"https://cdn.18n.com/"+e;function formatDigit(e){let t=/\d{1,3}(?=(\d{3})+$)/g;if(!e)return"0";let n=e.toString(),o=[];return n.includes(".")?(o=n.split("."),(o[0]+"").replace(t,"$&.")+","+o[1]):(e+"").replace(t,"$&.")}function clipboard(e){try{toClipboard(e),toast("Copy Success")}catch(t){}}function writeHistoricalData(e){let t=[];if(e instanceof Array)t=[...e];else{const n=localStorage.getItem("searchHistoryList")?localStorage.getItem("searchHistoryList").split(","):[];n.push(e),t=n.length>3?[...new Set(n)].slice(1,4):[...new Set(n)]}localStorage.setItem("searchHistoryList",t.join(","))}const fomartName=e=>e.replace(e.slice(3,5),"***");function userBrowser(){let e=navigator.userAgent;return{isAndroid:e.indexOf("Android")>-1||e.indexOf("Adr")>-1,isIos:!!e.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/)}}const formatGameList=(e,t)=>{let n=[],o=Math.ceil(e.length/t);for(let r=0;rdayjs(e).format(t),toTimeStamp=(e,t=!0)=>t?dayjs(e).unix():dayjs(e).valueOf();function getCurrentTime(e=1e3){return Math.round((new Date).getTime()/e)}function decimalNumber(e,t,n){let o=0;switch(n){case"add":o=new Decimal(e).add(new Decimal(t));break;case"sub":o=new Decimal(e).sub(new Decimal(t));break;case"mul":o=new Decimal(e).mul(new Decimal(t));break;case"div":o=new Decimal(e).div(new Decimal(t))}return o.toNumber()}function jumpOhterLink(e){try{window.Android.openAndroid(e)}catch(t){window.open(e)}}function getLocationParams(e){e=e||location.href.trim();let t={};return e.split("#").forEach((e=>{if(!e.includes("?"))return;e.split("?")[1].split("&").forEach((e=>{let n=e.split("=");t[n[0]]=decodeURIComponent(n[1])}))})),t}function buryingPointToFaceBook(e,t){try{window.fbq("track",e,t)}catch(n){}}function buryingPointToGoogle(e,t){let n={send_to:"AW-11457761648/TgPJCPabmpcZEPCivtcq",...t};try{window.gtag("event",e,n)}catch(o){}}function buryingPointToKwaiq(e,t){const n=getLocationParams();if(n.kwai_pixel_id)try{window.kwaiq.instance(n.kwai_pixel_id).track(e,t)}catch(o){}}function resultMobile(e){return!!RegExp(/^\d{10,11}$/).test(e)}function otherImg(e){const t=e.replace(/]*>/g,(e=>e&&e.includes("http")?e:e.replace(/src="/g,'src="https://cdn.18n.com/'))),n=document.createElement("div");n.innerHTML=t;n.querySelectorAll("a").forEach((e=>{e.style.display="flex"}));return n.innerHTML}function handleDomClick(e){e.preventDefault();const t=(e.composedPath()||[]).filter((e=>"A"===e.tagName));if(t.length>0){const e=t[0].getAttribute("href");"_blank"===t[0].getAttribute("target")?jumpOhterLink(e):router.push(e)}}const p=getLocationParams(),routes=[{path:"/:pathMatch(.*)",name:"404",redirect:"/"},{path:"/",component:()=>__vitePreload((()=>import("./index_17301869052.js")),["assets/index_17301869052.js","assets/useShare_1730186905.js","assets/index_173018690530.js","assets/index_173018690519.css","assets/game-class_1730186905.js","assets/game-class_1730186905.css","assets/useLogin_1730186905.js","assets/index_17301869052.css"]),meta:{needLogin:!1,keepAlive:!0,index:1}},{path:"/deposit",component:()=>__vitePreload((()=>import("./index_17301869053.js")),["assets/index_17301869053.js","assets/index_173018690533.js","assets/index_173018690535.css","assets/props_1730186905.js","assets/h-table-paging_1730186905.js","assets/h-table-paging_1730186905.css","assets/index_173018690535.js","assets/index_173018690529.css","assets/PAY_STATUS_MENU_1730186905.js","assets/index_17301869053.css","assets/index_173018690533.css","assets/index_173018690534.css","assets/index_173018690511.css"]),meta:{index:4}},{path:"/perfil",name:"perfil",component:()=>__vitePreload((()=>import("./index_17301869054.js")),["assets/index_17301869054.js","assets/index_173018690533.js","assets/index_173018690535.css","assets/index_173018690536.js","assets/index_173018690532.css","assets/useUserLevel_1730186905.js","assets/useShare_1730186905.js","assets/index_17301869054.css"]),meta:{title:"Perfil",keepAlive:!0,index:2}},{path:"/activity",name:"activity",component:()=>__vitePreload((()=>import("./index_17301869055.js")),["assets/index_17301869055.js","assets/index_173018690533.js","assets/index_173018690535.css","assets/index_17301869055.css"]),meta:{needLogin:!1,index:5}},{path:"/search",name:"search",component:()=>__vitePreload((()=>import("./index_17301869056.js")),["assets/index_17301869056.js","assets/index_173018690533.js","assets/index_173018690535.css","assets/game-class_1730186905.js","assets/game-class_1730186905.css","assets/useInView_1730186905.js","assets/index_17301869056.css"]),meta:{needLogin:!1,keepAlive:!0,index:6}},{path:"/gameDetails",name:"gameDetails",component:()=>__vitePreload((()=>Promise.resolve().then((()=>index$2))),void 0),meta:{needLogin:!1,index:7}},{path:"/gameTask",name:"gameTask",component:()=>__vitePreload((()=>import("./index_17301869057.js")),["assets/index_17301869057.js","assets/index_173018690533.js","assets/index_173018690535.css","assets/props_1730186905.js","assets/index_17301869057.css","assets/index_173018690533.css","assets/index_173018690534.css"]),meta:{index:8}},{path:"/banco",name:"banco",component:()=>__vitePreload((()=>import("./banco_1730186905.js")),["assets/banco_1730186905.js","assets/h-table-paging_1730186905.js","assets/h-table-paging_1730186905.css","assets/index_173018690535.js","assets/index_173018690529.css","assets/index_173018690533.js","assets/index_173018690535.css","assets/banco_1730186905.css","assets/index_173018690530.css"]),meta:{index:9}},{path:"/betting",name:"betting",component:()=>__vitePreload((()=>import("./betting_1730186905.js")),["assets/betting_1730186905.js","assets/index_173018690533.js","assets/index_173018690535.css","assets/betting_1730186905.css"]),meta:{index:10}},{path:"/cashback",name:"cashback",component:()=>__vitePreload((()=>import("./cashback_1730186905.js")),["assets/cashback_1730186905.js","assets/index_173018690533.js","assets/index_173018690535.css","assets/useUserLevel_1730186905.js","assets/cashback_1730186905.css"]),meta:{index:11}},{path:"/withdrawal",component:()=>__vitePreload((()=>import("./index_17301869058.js")),["assets/index_17301869058.js","assets/index_173018690533.js","assets/index_173018690535.css","assets/index_173018690538.js","assets/index_173018690528.css","assets/h-table-paging_1730186905.js","assets/h-table-paging_1730186905.css","assets/index_173018690535.js","assets/index_173018690529.css","assets/PAY_STATUS_MENU_1730186905.js","assets/index_17301869058.css","assets/index_173018690530.css","assets/index_173018690533.css","assets/index_173018690534.css"]),meta:{title:"Withdrawal",index:12}},{path:"/wallet",component:()=>__vitePreload((()=>import("./index_17301869059.js")),["assets/index_17301869059.js","assets/index_173018690536.js","assets/index_173018690532.css","assets/index_173018690533.js","assets/index_173018690535.css","assets/index_17301869059.css"]),meta:{title:"Wallet",index:13}},{path:"/login",name:"login",component:()=>__vitePreload((()=>import("./index_173018690510.js")),["assets/index_173018690510.js","assets/index_173018690539.js","assets/index_173018690521.css","assets/index_173018690536.js","assets/index_173018690532.css","assets/index_173018690540.js","assets/useLogin_1730186905.js","assets/index_173018690513.css","assets/index_173018690533.js","assets/index_173018690535.css","assets/useBase_1730186905.js","assets/index_173018690510.css","assets/index_173018690511.css"]),meta:{needLogin:!1,index:14}},{path:"/register",name:"register",component:()=>__vitePreload((()=>import("./index_173018690511.js")),["assets/index_173018690511.js","assets/index_173018690539.js","assets/index_173018690521.css","assets/index_173018690536.js","assets/index_173018690532.css","assets/index_173018690540.js","assets/useLogin_1730186905.js","assets/index_173018690513.css","assets/index_173018690533.js","assets/index_173018690535.css","assets/useBase_1730186905.js","assets/index_173018690512.css","assets/index_173018690533.css"]),meta:{needLogin:!1,index:15}},{path:"/bind-phone",name:"bind-phone",component:()=>__vitePreload((()=>import("./index_173018690512.js")),["assets/index_173018690512.js","assets/index_173018690539.js","assets/index_173018690521.css","assets/index_173018690536.js","assets/index_173018690532.css","assets/index_173018690533.js","assets/index_173018690535.css","assets/useBase_1730186905.js","assets/index_173018690514.css"]),meta:{needLogin:!1,index:16}},{path:"/level",name:"level",component:()=>__vitePreload((()=>import("./level_1730186905.js")),["assets/level_1730186905.js","assets/index_173018690533.js","assets/index_173018690535.css","assets/useUserLevel_1730186905.js","assets/level_1730186905.css"]),meta:{index:17}},{path:"/introduceVip",name:"introduceVip",component:()=>__vitePreload((()=>import("./introduceVip_1730186905.js")),["assets/introduceVip_1730186905.js","assets/index_173018690533.js","assets/index_173018690535.css","assets/introduceVip_1730186905.css"]),meta:{index:18}},{path:"/changePassword",name:"changePassword",component:()=>__vitePreload((()=>import("./index_173018690513.js")),["assets/index_173018690513.js","assets/index_173018690539.js","assets/index_173018690521.css","assets/index_173018690533.js","assets/index_173018690535.css","assets/index_173018690515.css"]),meta:{needLogin:!1,index:19}},{path:"/password",name:"password",component:()=>__vitePreload((()=>import("./index_173018690514.js")),["assets/index_173018690514.js","assets/index_173018690539.js","assets/index_173018690521.css","assets/index_173018690536.js","assets/index_173018690532.css","assets/index_173018690533.js","assets/index_173018690535.css","assets/index_173018690516.css"]),meta:{needLogin:!1,index:20}},{path:"/successful",name:"successful",component:()=>__vitePreload((()=>import("./index_173018690515.js")),["assets/index_173018690515.js","assets/index_173018690539.js","assets/index_173018690521.css","assets/index_173018690517.css"]),meta:{index:21}},{path:"/levelReceive",name:"levelReceive",component:()=>__vitePreload((()=>import("./levelReceive_1730186905.js")),["assets/levelReceive_1730186905.js","assets/index_173018690533.js","assets/index_173018690535.css","assets/levelReceive_1730186905.css"]),meta:{index:22}},{path:"/turntable",name:"turntable",component:()=>__vitePreload((()=>import("./index_173018690516.js")),["assets/index_173018690516.js","assets/index_173018690530.js","assets/index_173018690519.css","assets/useShare_1730186905.js","assets/index_173018690518.css","assets/index_173018690530.css"]),meta:{index:23}},{path:"/email",name:"email",component:()=>__vitePreload((()=>import("./index_173018690517.js")),["assets/index_173018690517.js","assets/index_173018690539.js","assets/index_173018690521.css","assets/index_173018690533.js","assets/index_173018690535.css","assets/h-table-paging_1730186905.js","assets/h-table-paging_1730186905.css","assets/props_1730186905.js","assets/index_173018690520.css","assets/index_173018690533.css","assets/index_173018690534.css"]),meta:{index:24}},{path:"/other",name:"other",component:()=>__vitePreload((()=>import("./index_173018690518.js")),["assets/index_173018690518.js","assets/index_173018690533.js","assets/index_173018690535.css","assets/index_173018690522.css"]),meta:{needLogin:!1,index:25}},{path:"/about-us",name:"about-us",component:()=>__vitePreload((()=>import("./index_173018690519.js")),["assets/index_173018690519.js","assets/index_173018690533.js","assets/index_173018690535.css","assets/index_173018690523.css"]),meta:{needLogin:!1,index:26}},{path:"/help",name:"help",component:()=>__vitePreload((()=>import("./index_173018690520.js")),["assets/index_173018690520.js","assets/index_173018690533.js","assets/index_173018690535.css","assets/index_173018690524.css"]),meta:{needLogin:!1,index:27}},{path:"/download",name:"download",component:()=>__vitePreload((()=>import("./index_173018690521.js")),["assets/index_173018690521.js","assets/index_173018690533.js","assets/index_173018690535.css","assets/index_173018690525.css"]),meta:{needLogin:!1,index:28}},{path:"/allGame",name:"allGame",component:()=>__vitePreload((()=>import("./index_173018690522.js")),["assets/index_173018690522.js","assets/index_173018690533.js","assets/index_173018690535.css","assets/useInView_1730186905.js","assets/index_173018690526.css"]),meta:{needLogin:!1,index:29}},{path:"/setting",name:"setting",component:()=>__vitePreload((()=>import("./index_173018690523.js")),["assets/index_173018690523.js","assets/index_173018690538.js","assets/index_173018690528.css","assets/index_173018690533.js","assets/index_173018690535.css","assets/index_173018690527.css"]),meta:{needLogin:!0,index:30}},{path:"/apostas",name:"apostas",component:()=>__vitePreload((()=>import("./apostas_1730186905.js")),["assets/apostas_1730186905.js","assets/h-table-paging_1730186905.js","assets/h-table-paging_1730186905.css","assets/index_173018690535.js","assets/index_173018690529.css","assets/index_173018690533.js","assets/index_173018690535.css","assets/apostas_1730186905.css","assets/index_173018690530.css"]),meta:{needLogin:!0,index:31}},{path:"/modifyPassWord",name:"modifyPassWord",component:()=>__vitePreload((()=>import("./index_173018690524.js")),["assets/index_173018690524.js","assets/index_173018690536.js","assets/index_173018690532.css","assets/index_173018690533.js","assets/index_173018690535.css","assets/index_173018690531.css"]),meta:{needLogin:!0,index:32}},{path:"/infiniteProxy",name:"infiniteProxy",component:()=>__vitePreload((()=>import("./index_173018690525.js")),["assets/index_173018690525.js","assets/index_173018690533.js","assets/index_173018690535.css","assets/useShare_1730186905.js","assets/h-table-paging_1730186905.js","assets/h-table-paging_1730186905.css","assets/index_173018690536.css","assets/index_173018690533.css","assets/index_173018690534.css"]),meta:{needLogin:!0,keepAlive:!1,index:33}},{path:"/collect",name:"collect",component:()=>__vitePreload((()=>import("./index_173018690526.js")),["assets/index_173018690526.js","assets/index_173018690533.js","assets/index_173018690535.css","assets/useInView_1730186905.js","assets/index_173018690537.css"]),meta:{needLogin:!0,keepAlive:!1,index:34}},{path:"/loteria",name:"loteria",component:()=>__vitePreload((()=>import("./index_173018690527.js")),["assets/index_173018690527.js","assets/index_173018690533.js","assets/index_173018690535.css","assets/useShare_1730186905.js","assets/index_173018690538.css"]),meta:{needLogin:!0,keepAlive:!1,index:35}},{path:"/signIn",name:"signIn",component:()=>__vitePreload((()=>import("./index_173018690528.js")),["assets/index_173018690528.js","assets/index_173018690533.js","assets/index_173018690535.css","assets/useUserLevel_1730186905.js","assets/index_173018690539.css"]),meta:{needLogin:!0,keepAlive:!1,index:36}},{path:"/details",name:"details",component:()=>__vitePreload((()=>import("./index_173018690529.js")),["assets/index_173018690529.js","assets/index_173018690533.js","assets/index_173018690535.css","assets/index_173018690540.css"]),meta:{needLogin:!1,keepAlive:!1,index:37}}],router=createRouter({history:createWebHistory(),routes:routes,scrollBehavior:(e,t,n)=>({top:0})});router.beforeEach(((e,t,n)=>{const o=!!storage.getStorage(actions.USER_TOEKN);if(e.meta.title&&(document.title=e.meta.title),o&&("/login"==e.path||"/register"==e.path))return Object.keys(e.query).length?void n({path:t.path,query:e.query}):void n(t.path);if(Object.keys(e.query).length)n();else if(Object.keys(t.query).length){let r=JSON.parse(JSON.stringify(e.query));r={...t.query},0==e.meta.needLogin||o?n({path:e.path,query:r}):(toast("Por favor, entre!"),n({path:"/login",query:r}))}else 0==e.meta.needLogin||o?n():(toast("Por favor, entre!"),n("/login"))})),router.afterEach((()=>{p.fbPixelId&&(window.fbq("track","PageView"),window.fbq("track","ViewContent"))}));var isVue2=!1; +/*! + * pinia v2.1.6 + * (c) 2023 Eduardo San Martin Morote + * @license MIT + */let activePinia;const setActivePinia=e=>activePinia=e,piniaSymbol=Symbol();function isPlainObject$1(e){return e&&"object"==typeof e&&"[object Object]"===Object.prototype.toString.call(e)&&"function"!=typeof e.toJSON}var MutationType,MutationType2;function createPinia(){const e=effectScope(!0),t=e.run((()=>ref({})));let n=[],o=[];const r=markRaw({install(e){setActivePinia(r),r._a=e,e.provide(piniaSymbol,r),e.config.globalProperties.$pinia=r,o.forEach((e=>n.push(e))),o=[]},use(e){return this._a||isVue2?n.push(e):o.push(e),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return r}MutationType2=MutationType||(MutationType={}),MutationType2.direct="direct",MutationType2.patchObject="patch object",MutationType2.patchFunction="patch function";const noop$1=()=>{};function addSubscription(e,t,n,o=noop$1){e.push(t);const r=()=>{const n=e.indexOf(t);n>-1&&(e.splice(n,1),o())};return!n&&getCurrentScope()&&onScopeDispose(r),r}function triggerSubscriptions(e,...t){e.slice().forEach((e=>{e(...t)}))}const fallbackRunWithContext=e=>e();function mergeReactiveObjects(e,t){e instanceof Map&&t instanceof Map&&t.forEach(((t,n)=>e.set(n,t))),e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const o=t[n],r=e[n];isPlainObject$1(r)&&isPlainObject$1(o)&&e.hasOwnProperty(n)&&!isRef(o)&&!isReactive(o)?e[n]=mergeReactiveObjects(r,o):e[n]=o}return e}const skipHydrateSymbol=Symbol();function shouldHydrate(e){return!isPlainObject$1(e)||!e.hasOwnProperty(skipHydrateSymbol)}const{assign:assign}=Object;function isComputed(e){return!(!isRef(e)||!e.effect)}function createOptionsStore(e,t,n,o){const{state:r,actions:i,getters:a}=t,s=n.state.value[e];let l;return l=createSetupStore(e,(function(){s||(n.state.value[e]=r?r():{});const t=toRefs(n.state.value[e]);return assign(t,i,Object.keys(a||{}).reduce(((t,o)=>(t[o]=markRaw(computed((()=>{setActivePinia(n);const t=n._s.get(e);return a[o].call(t,t)}))),t)),{}))}),t,n,o,!0),l}function createSetupStore(e,t,n={},o,r,i){let a;const s=assign({actions:{}},n),l={deep:!0};let c,u,d,p=[],A=[];const f=o.state.value[e];let m;function h(t){let n;c=u=!1,"function"==typeof t?(t(o.state.value[e]),n={type:MutationType.patchFunction,storeId:e,events:d}):(mergeReactiveObjects(o.state.value[e],t),n={type:MutationType.patchObject,payload:t,storeId:e,events:d});const r=m=Symbol();nextTick().then((()=>{m===r&&(c=!0)})),u=!0,triggerSubscriptions(p,n,o.state.value[e])}i||f||(o.state.value[e]={}),ref({});const g=i?function(){const{state:e}=n,t=e?e():{};this.$patch((e=>{assign(e,t)}))}:noop$1;function v(t,n){return function(){setActivePinia(o);const r=Array.from(arguments),i=[],a=[];let s;triggerSubscriptions(A,{args:r,name:t,store:b,after:function(e){i.push(e)},onError:function(e){a.push(e)}});try{s=n.apply(this&&this.$id===e?this:b,r)}catch(l){throw triggerSubscriptions(a,l),l}return s instanceof Promise?s.then((e=>(triggerSubscriptions(i,e),e))).catch((e=>(triggerSubscriptions(a,e),Promise.reject(e)))):(triggerSubscriptions(i,s),s)}}const b=reactive({_p:o,$id:e,$onAction:addSubscription.bind(null,A),$patch:h,$reset:g,$subscribe(t,n={}){const r=addSubscription(p,t,n.detached,(()=>i())),i=a.run((()=>watch((()=>o.state.value[e]),(o=>{("sync"===n.flush?u:c)&&t({storeId:e,type:MutationType.direct,events:d},o)}),assign({},l,n))));return r},$dispose:function(){a.stop(),p=[],A=[],o._s.delete(e)}});o._s.set(e,b);const E=o._a&&o._a.runWithContext||fallbackRunWithContext,C=o._e.run((()=>(a=effectScope(),E((()=>a.run(t))))));for(const y in C){const t=C[y];if(isRef(t)&&!isComputed(t)||isReactive(t))i||(f&&shouldHydrate(t)&&(isRef(t)?t.value=f[y]:mergeReactiveObjects(t,f[y])),o.state.value[e][y]=t);else if("function"==typeof t){const e=v(y,t);C[y]=e,s.actions[y]=t}}return assign(b,C),assign(toRaw(b),C),Object.defineProperty(b,"$state",{get:()=>o.state.value[e],set:e=>{h((t=>{assign(t,e)}))}}),o._p.forEach((e=>{assign(b,a.run((()=>e({store:b,app:o._a,pinia:o,options:s}))))})),f&&i&&n.hydrate&&n.hydrate(b.$state,f),c=!0,u=!0,b}function defineStore(e,t,n){let o,r;const i="function"==typeof t;function a(e,n){const a=hasInjectionContext();(e=e||(a?inject(piniaSymbol,null):null))&&setActivePinia(e),(e=activePinia)._s.has(o)||(i?createSetupStore(o,t,r,e):createOptionsStore(o,r,e));return e._s.get(o)}return"string"==typeof e?(o=e,r=i?n:t):(r=e,o=e.id),a.$id=o,a}function isObject$1(e){return"object"==typeof e&&null!==e}function normalizeOptions(e,t){return e=isObject$1(e)?e:Object.create(null),new Proxy(e,{get:(e,n,o)=>"key"===n?Reflect.get(e,n,o):Reflect.get(e,n,o)||Reflect.get(t,n,o)})}function get(e,t){return t.reduce(((e,t)=>null==e?void 0:e[t]),e)}function set(e,t,n){return t.slice(0,-1).reduce(((e,t)=>/^(__proto__)$/.test(t)?{}:e[t]=e[t]||{}),e)[t[t.length-1]]=n,e}function pick(e,t){return t.reduce(((t,n)=>{const o=n.split(".");return set(t,o,get(e,o))}),{})}function hydrateStore(e,{storage:t,serializer:n,key:o,debug:r}){try{const r=null==t?void 0:t.getItem(o);r&&e.$patch(null==n?void 0:n.deserialize(r))}catch(i){}}function persistState(e,{storage:t,serializer:n,key:o,paths:r,debug:i}){try{const i=Array.isArray(r)?pick(e,r):e;t.setItem(o,n.serialize(i))}catch(a){}}function createPersistedState(e={}){return t=>{const{auto:n=!1}=e,{options:{persist:o=n},store:r,pinia:i}=t;if(!o)return;if(!(r.$id in i.state.value)){const e=i._s.get(r.$id.replace("__hot:",""));return void(e&&Promise.resolve().then((()=>e.$persist())))}const a=(Array.isArray(o)?o.map((t=>normalizeOptions(t,e))):[normalizeOptions(o,e)]).map((({storage:t=localStorage,beforeRestore:n=null,afterRestore:o=null,serializer:i={serialize:JSON.stringify,deserialize:JSON.parse},key:a=r.$id,paths:s=null,debug:l=!1})=>{var c;return{storage:t,beforeRestore:n,afterRestore:o,serializer:i,key:(null!=(c=e.key)?c:e=>e)("string"==typeof a?a:a(r.$id)),paths:s,debug:l}}));r.$persist=()=>{a.forEach((e=>{persistState(r.$state,e)}))},r.$hydrate=({runHooks:e=!0}={})=>{a.forEach((n=>{const{beforeRestore:o,afterRestore:i}=n;e&&(null==o||o(t)),hydrateStore(r,n),e&&(null==i||i(t))}))},a.forEach((e=>{const{beforeRestore:n,afterRestore:o}=e;null==n||n(t),hydrateStore(r,e),null==o||o(t),r.$subscribe(((t,n)=>{persistState(n,e)}),{detached:!0})}))}}var src_default=createPersistedState();const store=createPinia();function setupStore(e){e.use(store)}store.use(src_default),store.use(createPersistedState({storage:localStorage}));const base$1="",index$a="",index$9="",index$8="",index$7="",_sfc_main$6=defineComponent({__name:"h-img",props:{src:{type:String,default:"",required:!0},width:{type:String,default:"",reqiured:!1},height:{type:String,default:"",reqiured:!1},radius:{type:String,default:"",required:!1},type:{type:String,default:"static",required:!1,validator:e=>["local","static"].includes(e)}},setup(e){const t=e,n=computed((()=>"local"==t.type?getAssets(t.src):getStaticImage(t.src)));return(t,o)=>{const r=Image$1;return openBlock(),createBlock(r,{src:n.value,width:e.width,height:e.height,radius:e.radius},null,8,["src","width","height","radius"])}}}),_hoisted_1$5={class:"title"},_hoisted_2$5={class:"text"},_hoisted_3$4={class:"content"},_sfc_main$5=defineComponent({__name:"index",props:{modelValue:{type:Boolean,default:!1,required:!0},title:{type:String,default:"",required:!1},contentBgcolor:{type:String,default:"#fff",required:!1},width:{type:String,default:"90%",requiref:!1},top:{type:String,default:"20%",requiref:!1},lockScroll:{type:Boolean,default:!0,required:!1},zIndex:{type:Number,default:999,required:!1},showClose:{type:Boolean,default:!0,required:!1}},emits:["update:modelValue","on-close"],setup(e,{emit:t}){async function n(){t("update:modelValue",!1),t("on-close",!1)}return(t,o)=>{const r=_sfc_main$6,i=Overlay;return openBlock(),createBlock(i,{"z-index":e.zIndex,show:e.modelValue,"lock-scroll":e.lockScroll},{default:withCtx((()=>[createBaseVNode("div",{class:"center-popup",style:normalizeStyle({width:e.width,top:e.top,backgroundColor:e.contentBgcolor})},[createBaseVNode("div",_hoisted_1$5,[createBaseVNode("p",_hoisted_2$5,[renderSlot(t.$slots,"title",{},(()=>[createTextVNode(toDisplayString(e.title),1)]),!0)]),e.showClose?(openBlock(),createBlock(r,{key:0,class:"close",src:"base/close.png",onClick:n})):createCommentVNode("",!0)]),createBaseVNode("div",_hoisted_3$4,[renderSlot(t.$slots,"default",{},void 0,!0)])],4)])),_:3},8,["z-index","show","lock-scroll"])}}}),index_vue_vue_type_style_index_0_scoped_c403101d_lang="",_export_sfc=(e,t)=>{const n=e.__vccOpts||e;for(const[o,r]of t)n[o]=r;return n},__unplugin_components_2=_export_sfc(_sfc_main$5,[["__scopeId","data-v-c403101d"]]),index$6="",index$5="",index$4="",index$3="";function bind(e,t){return function(){return e.apply(t,arguments)}}const{toString:toString}=Object.prototype,{getPrototypeOf:getPrototypeOf}=Object,kindOf=(cache=Object.create(null),e=>{const t=toString.call(e);return cache[t]||(cache[t]=t.slice(8,-1).toLowerCase())});var cache;const kindOfTest=e=>(e=e.toLowerCase(),t=>kindOf(t)===e),typeOfTest=e=>t=>typeof t===e,{isArray:isArray}=Array,isUndefined=typeOfTest("undefined");function isBuffer(e){return null!==e&&!isUndefined(e)&&null!==e.constructor&&!isUndefined(e.constructor)&&isFunction(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const isArrayBuffer=kindOfTest("ArrayBuffer");function isArrayBufferView(e){let t;return t="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&isArrayBuffer(e.buffer),t}const isString=typeOfTest("string"),isFunction=typeOfTest("function"),isNumber=typeOfTest("number"),isObject=e=>null!==e&&"object"==typeof e,isBoolean=e=>!0===e||!1===e,isPlainObject=e=>{if("object"!==kindOf(e))return!1;const t=getPrototypeOf(e);return!(null!==t&&t!==Object.prototype&&null!==Object.getPrototypeOf(t)||Symbol.toStringTag in e||Symbol.iterator in e)},isDate=kindOfTest("Date"),isFile=kindOfTest("File"),isBlob=kindOfTest("Blob"),isFileList=kindOfTest("FileList"),isStream=e=>isObject(e)&&isFunction(e.pipe),isFormData=e=>{let t;return e&&("function"==typeof FormData&&e instanceof FormData||isFunction(e.append)&&("formdata"===(t=kindOf(e))||"object"===t&&isFunction(e.toString)&&"[object FormData]"===e.toString()))},isURLSearchParams=kindOfTest("URLSearchParams"),trim=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function forEach(e,t,{allOwnKeys:n=!1}={}){if(null==e)return;let o,r;if("object"!=typeof e&&(e=[e]),isArray(e))for(o=0,r=e.length;o0;)if(o=n[r],t===o.toLowerCase())return o;return null}const _global="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,isContextDefined=e=>!isUndefined(e)&&e!==_global;function merge(){const{caseless:e}=isContextDefined(this)&&this||{},t={},n=(n,o)=>{const r=e&&findKey(t,o)||o;isPlainObject(t[r])&&isPlainObject(n)?t[r]=merge(t[r],n):isPlainObject(n)?t[r]=merge({},n):isArray(n)?t[r]=n.slice():t[r]=n};for(let o=0,r=arguments.length;o(forEach(t,((t,o)=>{n&&isFunction(t)?e[o]=bind(t,n):e[o]=t}),{allOwnKeys:o}),e),stripBOM=e=>(65279===e.charCodeAt(0)&&(e=e.slice(1)),e),inherits=(e,t,n,o)=>{e.prototype=Object.create(t.prototype,o),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},toFlatObject=(e,t,n,o)=>{let r,i,a;const s={};if(t=t||{},null==e)return t;do{for(r=Object.getOwnPropertyNames(e),i=r.length;i-- >0;)a=r[i],o&&!o(a,e,t)||s[a]||(t[a]=e[a],s[a]=!0);e=!1!==n&&getPrototypeOf(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},endsWith=(e,t,n)=>{e=String(e),(void 0===n||n>e.length)&&(n=e.length),n-=t.length;const o=e.indexOf(t,n);return-1!==o&&o===n},toArray=e=>{if(!e)return null;if(isArray(e))return e;let t=e.length;if(!isNumber(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},isTypedArray=(TypedArray="undefined"!=typeof Uint8Array&&getPrototypeOf(Uint8Array),e=>TypedArray&&e instanceof TypedArray);var TypedArray;const forEachEntry=(e,t)=>{const n=(e&&e[Symbol.iterator]).call(e);let o;for(;(o=n.next())&&!o.done;){const n=o.value;t.call(e,n[0],n[1])}},matchAll=(e,t)=>{let n;const o=[];for(;null!==(n=e.exec(t));)o.push(n);return o},isHTMLForm=kindOfTest("HTMLFormElement"),toCamelCase=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(e,t,n){return t.toUpperCase()+n})),hasOwnProperty=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),isRegExp=kindOfTest("RegExp"),reduceDescriptors=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),o={};forEach(n,((n,r)=>{let i;!1!==(i=t(n,r,e))&&(o[r]=i||n)})),Object.defineProperties(e,o)},freezeMethods=e=>{reduceDescriptors(e,((t,n)=>{if(isFunction(e)&&-1!==["arguments","caller","callee"].indexOf(n))return!1;const o=e[n];isFunction(o)&&(t.enumerable=!1,"writable"in t?t.writable=!1:t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")}))}))},toObjectSet=(e,t)=>{const n={},o=e=>{e.forEach((e=>{n[e]=!0}))};return isArray(e)?o(e):o(String(e).split(t)),n},noop=()=>{},toFiniteNumber=(e,t)=>(e=+e,Number.isFinite(e)?e:t),ALPHA="abcdefghijklmnopqrstuvwxyz",DIGIT="0123456789",ALPHABET={DIGIT:DIGIT,ALPHA:ALPHA,ALPHA_DIGIT:ALPHA+ALPHA.toUpperCase()+DIGIT},generateString=(e=16,t=ALPHABET.ALPHA_DIGIT)=>{let n="";const{length:o}=t;for(;e--;)n+=t[Math.random()*o|0];return n};function isSpecCompliantForm(e){return!!(e&&isFunction(e.append)&&"FormData"===e[Symbol.toStringTag]&&e[Symbol.iterator])}const toJSONObject=e=>{const t=new Array(10),n=(e,o)=>{if(isObject(e)){if(t.indexOf(e)>=0)return;if(!("toJSON"in e)){t[o]=e;const r=isArray(e)?[]:{};return forEach(e,((e,t)=>{const i=n(e,o+1);!isUndefined(i)&&(r[t]=i)})),t[o]=void 0,r}}return e};return n(e,0)},isAsyncFn=kindOfTest("AsyncFunction"),isThenable=e=>e&&(isObject(e)||isFunction(e))&&isFunction(e.then)&&isFunction(e.catch),utils={isArray:isArray,isArrayBuffer:isArrayBuffer,isBuffer:isBuffer,isFormData:isFormData,isArrayBufferView:isArrayBufferView,isString:isString,isNumber:isNumber,isBoolean:isBoolean,isObject:isObject,isPlainObject:isPlainObject,isUndefined:isUndefined,isDate:isDate,isFile:isFile,isBlob:isBlob,isRegExp:isRegExp,isFunction:isFunction,isStream:isStream,isURLSearchParams:isURLSearchParams,isTypedArray:isTypedArray,isFileList:isFileList,forEach:forEach,merge:merge,extend:extend,trim:trim,stripBOM:stripBOM,inherits:inherits,toFlatObject:toFlatObject,kindOf:kindOf,kindOfTest:kindOfTest,endsWith:endsWith,toArray:toArray,forEachEntry:forEachEntry,matchAll:matchAll,isHTMLForm:isHTMLForm,hasOwnProperty:hasOwnProperty,hasOwnProp:hasOwnProperty,reduceDescriptors:reduceDescriptors,freezeMethods:freezeMethods,toObjectSet:toObjectSet,toCamelCase:toCamelCase,noop:noop,toFiniteNumber:toFiniteNumber,findKey:findKey,global:_global,isContextDefined:isContextDefined,ALPHABET:ALPHABET,generateString:generateString,isSpecCompliantForm:isSpecCompliantForm,toJSONObject:toJSONObject,isAsyncFn:isAsyncFn,isThenable:isThenable};function AxiosError(e,t,n,o,r){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),o&&(this.request=o),r&&(this.response=r)}utils.inherits(AxiosError,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:utils.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const prototype$1=AxiosError.prototype,descriptors={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((e=>{descriptors[e]={value:e}})),Object.defineProperties(AxiosError,descriptors),Object.defineProperty(prototype$1,"isAxiosError",{value:!0}),AxiosError.from=(e,t,n,o,r,i)=>{const a=Object.create(prototype$1);return utils.toFlatObject(e,a,(function(e){return e!==Error.prototype}),(e=>"isAxiosError"!==e)),AxiosError.call(a,e.message,t,n,o,r),a.cause=e,a.name=e.name,i&&Object.assign(a,i),a};const httpAdapter=null;function isVisitable(e){return utils.isPlainObject(e)||utils.isArray(e)}function removeBrackets(e){return utils.endsWith(e,"[]")?e.slice(0,-2):e}function renderKey(e,t,n){return e?e.concat(t).map((function(e,t){return e=removeBrackets(e),!n&&t?"["+e+"]":e})).join(n?".":""):t}function isFlatArray(e){return utils.isArray(e)&&!e.some(isVisitable)}const predicates=utils.toFlatObject(utils,{},null,(function(e){return/^is[A-Z]/.test(e)}));function toFormData(e,t,n){if(!utils.isObject(e))throw new TypeError("target must be an object");t=t||new FormData;const o=(n=utils.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(e,t){return!utils.isUndefined(t[e])}))).metaTokens,r=n.visitor||c,i=n.dots,a=n.indexes,s=(n.Blob||"undefined"!=typeof Blob&&Blob)&&utils.isSpecCompliantForm(t);if(!utils.isFunction(r))throw new TypeError("visitor must be a function");function l(e){if(null===e)return"";if(utils.isDate(e))return e.toISOString();if(!s&&utils.isBlob(e))throw new AxiosError("Blob is not supported. Use a Buffer instead.");return utils.isArrayBuffer(e)||utils.isTypedArray(e)?s&&"function"==typeof Blob?new Blob([e]):Buffer.from(e):e}function c(e,n,r){let s=e;if(e&&!r&&"object"==typeof e)if(utils.endsWith(n,"{}"))n=o?n:n.slice(0,-2),e=JSON.stringify(e);else if(utils.isArray(e)&&isFlatArray(e)||(utils.isFileList(e)||utils.endsWith(n,"[]"))&&(s=utils.toArray(e)))return n=removeBrackets(n),s.forEach((function(e,o){!utils.isUndefined(e)&&null!==e&&t.append(!0===a?renderKey([n],o,i):null===a?n:n+"[]",l(e))})),!1;return!!isVisitable(e)||(t.append(renderKey(r,n,i),l(e)),!1)}const u=[],d=Object.assign(predicates,{defaultVisitor:c,convertValue:l,isVisitable:isVisitable});if(!utils.isObject(e))throw new TypeError("data must be an object");return function e(n,o){if(!utils.isUndefined(n)){if(-1!==u.indexOf(n))throw Error("Circular reference detected in "+o.join("."));u.push(n),utils.forEach(n,(function(n,i){!0===(!(utils.isUndefined(n)||null===n)&&r.call(t,n,utils.isString(i)?i.trim():i,o,d))&&e(n,o?o.concat(i):[i])})),u.pop()}}(e),t}function encode$1(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,(function(e){return t[e]}))}function AxiosURLSearchParams(e,t){this._pairs=[],e&&toFormData(e,this,t)}const prototype=AxiosURLSearchParams.prototype;function encode(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function buildURL(e,t,n){if(!t)return e;const o=n&&n.encode||encode,r=n&&n.serialize;let i;if(i=r?r(t,n):utils.isURLSearchParams(t)?t.toString():new AxiosURLSearchParams(t,n).toString(o),i){const t=e.indexOf("#");-1!==t&&(e=e.slice(0,t)),e+=(-1===e.indexOf("?")?"?":"&")+i}return e}prototype.append=function(e,t){this._pairs.push([e,t])},prototype.toString=function(e){const t=e?function(t){return e.call(this,t,encode$1)}:encode$1;return this._pairs.map((function(e){return t(e[0])+"="+t(e[1])}),"").join("&")};class InterceptorManager{constructor(){this.handlers=[]}use(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){utils.forEach(this.handlers,(function(t){null!==t&&e(t)}))}}const InterceptorManager$1=InterceptorManager,transitionalDefaults={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},URLSearchParams$1="undefined"!=typeof URLSearchParams?URLSearchParams:AxiosURLSearchParams,FormData$1="undefined"!=typeof FormData?FormData:null,Blob$1="undefined"!=typeof Blob?Blob:null,isStandardBrowserEnv=(()=>{let e;return("undefined"==typeof navigator||"ReactNative"!==(e=navigator.product)&&"NativeScript"!==e&&"NS"!==e)&&("undefined"!=typeof window&&"undefined"!=typeof document)})(),isStandardBrowserWebWorkerEnv="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,platform={isBrowser:!0,classes:{URLSearchParams:URLSearchParams$1,FormData:FormData$1,Blob:Blob$1},isStandardBrowserEnv:isStandardBrowserEnv,isStandardBrowserWebWorkerEnv:isStandardBrowserWebWorkerEnv,protocols:["http","https","file","blob","url","data"]};function toURLEncodedForm(e,t){return toFormData(e,new platform.classes.URLSearchParams,Object.assign({visitor:function(e,t,n,o){return platform.isNode&&utils.isBuffer(e)?(this.append(t,e.toString("base64")),!1):o.defaultVisitor.apply(this,arguments)}},t))}function parsePropPath(e){return utils.matchAll(/\w+|\[(\w*)]/g,e).map((e=>"[]"===e[0]?"":e[1]||e[0]))}function arrayToObject(e){const t={},n=Object.keys(e);let o;const r=n.length;let i;for(o=0;o=e.length;if(i=!i&&utils.isArray(o)?o.length:i,s)return utils.hasOwnProp(o,i)?o[i]=[o[i],n]:o[i]=n,!a;o[i]&&utils.isObject(o[i])||(o[i]=[]);return t(e,n,o[i],r)&&utils.isArray(o[i])&&(o[i]=arrayToObject(o[i])),!a}if(utils.isFormData(e)&&utils.isFunction(e.entries)){const n={};return utils.forEachEntry(e,((e,o)=>{t(parsePropPath(e),o,n,0)})),n}return null}function stringifySafely(e,t,n){if(utils.isString(e))try{return(t||JSON.parse)(e),utils.trim(e)}catch(o){if("SyntaxError"!==o.name)throw o}return(n||JSON.stringify)(e)}const defaults={transitional:transitionalDefaults,adapter:["xhr","http"],transformRequest:[function(e,t){const n=t.getContentType()||"",o=n.indexOf("application/json")>-1,r=utils.isObject(e);r&&utils.isHTMLForm(e)&&(e=new FormData(e));if(utils.isFormData(e))return o&&o?JSON.stringify(formDataToJSON(e)):e;if(utils.isArrayBuffer(e)||utils.isBuffer(e)||utils.isStream(e)||utils.isFile(e)||utils.isBlob(e))return e;if(utils.isArrayBufferView(e))return e.buffer;if(utils.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let i;if(r){if(n.indexOf("application/x-www-form-urlencoded")>-1)return toURLEncodedForm(e,this.formSerializer).toString();if((i=utils.isFileList(e))||n.indexOf("multipart/form-data")>-1){const t=this.env&&this.env.FormData;return toFormData(i?{"files[]":e}:e,t&&new t,this.formSerializer)}}return r||o?(t.setContentType("application/json",!1),stringifySafely(e)):e}],transformResponse:[function(e){const t=this.transitional||defaults.transitional,n=t&&t.forcedJSONParsing,o="json"===this.responseType;if(e&&utils.isString(e)&&(n&&!this.responseType||o)){const n=!(t&&t.silentJSONParsing)&&o;try{return JSON.parse(e)}catch(r){if(n){if("SyntaxError"===r.name)throw AxiosError.from(r,AxiosError.ERR_BAD_RESPONSE,this,null,this.response);throw r}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:platform.classes.FormData,Blob:platform.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};utils.forEach(["delete","get","head","post","put","patch"],(e=>{defaults.headers[e]={}}));const defaults$1=defaults,ignoreDuplicateOf=utils.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),parseHeaders=e=>{const t={};let n,o,r;return e&&e.split("\n").forEach((function(e){r=e.indexOf(":"),n=e.substring(0,r).trim().toLowerCase(),o=e.substring(r+1).trim(),!n||t[n]&&ignoreDuplicateOf[n]||("set-cookie"===n?t[n]?t[n].push(o):t[n]=[o]:t[n]=t[n]?t[n]+", "+o:o)})),t},$internals=Symbol("internals");function normalizeHeader(e){return e&&String(e).trim().toLowerCase()}function normalizeValue(e){return!1===e||null==e?e:utils.isArray(e)?e.map(normalizeValue):String(e)}function parseTokens(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let o;for(;o=n.exec(e);)t[o[1]]=o[2];return t}const isValidHeaderName=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function matchHeaderValue(e,t,n,o,r){return utils.isFunction(o)?o.call(this,t,n):(r&&(t=n),utils.isString(t)?utils.isString(o)?-1!==t.indexOf(o):utils.isRegExp(o)?o.test(t):void 0:void 0)}function formatHeader(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((e,t,n)=>t.toUpperCase()+n))}function buildAccessors(e,t){const n=utils.toCamelCase(" "+t);["get","set","has"].forEach((o=>{Object.defineProperty(e,o+n,{value:function(e,n,r){return this[o].call(this,t,e,n,r)},configurable:!0})}))}class AxiosHeaders{constructor(e){e&&this.set(e)}set(e,t,n){const o=this;function r(e,t,n){const r=normalizeHeader(t);if(!r)throw new Error("header name must be a non-empty string");const i=utils.findKey(o,r);(!i||void 0===o[i]||!0===n||void 0===n&&!1!==o[i])&&(o[i||t]=normalizeValue(e))}const i=(e,t)=>utils.forEach(e,((e,n)=>r(e,n,t)));return utils.isPlainObject(e)||e instanceof this.constructor?i(e,t):utils.isString(e)&&(e=e.trim())&&!isValidHeaderName(e)?i(parseHeaders(e),t):null!=e&&r(t,e,n),this}get(e,t){if(e=normalizeHeader(e)){const n=utils.findKey(this,e);if(n){const e=this[n];if(!t)return e;if(!0===t)return parseTokens(e);if(utils.isFunction(t))return t.call(this,e,n);if(utils.isRegExp(t))return t.exec(e);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=normalizeHeader(e)){const n=utils.findKey(this,e);return!(!n||void 0===this[n]||t&&!matchHeaderValue(this,this[n],n,t))}return!1}delete(e,t){const n=this;let o=!1;function r(e){if(e=normalizeHeader(e)){const r=utils.findKey(n,e);!r||t&&!matchHeaderValue(n,n[r],r,t)||(delete n[r],o=!0)}}return utils.isArray(e)?e.forEach(r):r(e),o}clear(e){const t=Object.keys(this);let n=t.length,o=!1;for(;n--;){const r=t[n];e&&!matchHeaderValue(this,this[r],r,e,!0)||(delete this[r],o=!0)}return o}normalize(e){const t=this,n={};return utils.forEach(this,((o,r)=>{const i=utils.findKey(n,r);if(i)return t[i]=normalizeValue(o),void delete t[r];const a=e?formatHeader(r):String(r).trim();a!==r&&delete t[r],t[a]=normalizeValue(o),n[a]=!0})),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);return utils.forEach(this,((n,o)=>{null!=n&&!1!==n&&(t[o]=e&&utils.isArray(n)?n.join(", "):n)})),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([e,t])=>e+": "+t)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const n=new this(e);return t.forEach((e=>n.set(e))),n}static accessor(e){const t=(this[$internals]=this[$internals]={accessors:{}}).accessors,n=this.prototype;function o(e){const o=normalizeHeader(e);t[o]||(buildAccessors(n,e),t[o]=!0)}return utils.isArray(e)?e.forEach(o):o(e),this}}AxiosHeaders.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),utils.reduceDescriptors(AxiosHeaders.prototype,(({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(e){this[n]=e}}})),utils.freezeMethods(AxiosHeaders);const AxiosHeaders$1=AxiosHeaders;function transformData(e,t){const n=this||defaults$1,o=t||n,r=AxiosHeaders$1.from(o.headers);let i=o.data;return utils.forEach(e,(function(e){i=e.call(n,i,r.normalize(),t?t.status:void 0)})),r.normalize(),i}function isCancel(e){return!(!e||!e.__CANCEL__)}function CanceledError(e,t,n){AxiosError.call(this,null==e?"canceled":e,AxiosError.ERR_CANCELED,t,n),this.name="CanceledError"}function settle(e,t,n){const o=n.config.validateStatus;n.status&&o&&!o(n.status)?t(new AxiosError("Request failed with status code "+n.status,[AxiosError.ERR_BAD_REQUEST,AxiosError.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n)):e(n)}utils.inherits(CanceledError,AxiosError,{__CANCEL__:!0});const cookies=platform.isStandardBrowserEnv?{write:function(e,t,n,o,r,i){const a=[];a.push(e+"="+encodeURIComponent(t)),utils.isNumber(n)&&a.push("expires="+new Date(n).toGMTString()),utils.isString(o)&&a.push("path="+o),utils.isString(r)&&a.push("domain="+r),!0===i&&a.push("secure"),document.cookie=a.join("; ")},read:function(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}};function isAbsoluteURL(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function combineURLs(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}function buildFullPath(e,t){return e&&!isAbsoluteURL(t)?combineURLs(e,t):t}const isURLSameOrigin=platform.isStandardBrowserEnv?function(){const e=/(msie|trident)/i.test(navigator.userAgent),t=document.createElement("a");let n;function o(n){let o=n;return e&&(t.setAttribute("href",o),o=t.href),t.setAttribute("href",o),{href:t.href,protocol:t.protocol?t.protocol.replace(/:$/,""):"",host:t.host,search:t.search?t.search.replace(/^\?/,""):"",hash:t.hash?t.hash.replace(/^#/,""):"",hostname:t.hostname,port:t.port,pathname:"/"===t.pathname.charAt(0)?t.pathname:"/"+t.pathname}}return n=o(window.location.href),function(e){const t=utils.isString(e)?o(e):e;return t.protocol===n.protocol&&t.host===n.host}}():function(){return!0};function parseProtocol(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function speedometer(e,t){e=e||10;const n=new Array(e),o=new Array(e);let r,i=0,a=0;return t=void 0!==t?t:1e3,function(s){const l=Date.now(),c=o[a];r||(r=l),n[i]=s,o[i]=l;let u=a,d=0;for(;u!==i;)d+=n[u++],u%=e;if(i=(i+1)%e,i===a&&(a=(a+1)%e),l-r{const i=r.loaded,a=r.lengthComputable?r.total:void 0,s=i-n,l=o(s);n=i;const c={loaded:i,total:a,progress:a?i/a:void 0,bytes:s,rate:l||void 0,estimated:l&&a&&i<=a?(a-i)/l:void 0,event:r};c[t?"download":"upload"]=!0,e(c)}}const isXHRAdapterSupported="undefined"!=typeof XMLHttpRequest,xhrAdapter=isXHRAdapterSupported&&function(e){return new Promise((function(t,n){let o=e.data;const r=AxiosHeaders$1.from(e.headers).normalize(),i=e.responseType;let a,s;function l(){e.cancelToken&&e.cancelToken.unsubscribe(a),e.signal&&e.signal.removeEventListener("abort",a)}utils.isFormData(o)&&(platform.isStandardBrowserEnv||platform.isStandardBrowserWebWorkerEnv?r.setContentType(!1):r.getContentType(/^\s*multipart\/form-data/)?utils.isString(s=r.getContentType())&&r.setContentType(s.replace(/^\s*(multipart\/form-data);+/,"$1")):r.setContentType("multipart/form-data"));let c=new XMLHttpRequest;if(e.auth){const t=e.auth.username||"",n=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";r.set("Authorization","Basic "+btoa(t+":"+n))}const u=buildFullPath(e.baseURL,e.url);function d(){if(!c)return;const o=AxiosHeaders$1.from("getAllResponseHeaders"in c&&c.getAllResponseHeaders());settle((function(e){t(e),l()}),(function(e){n(e),l()}),{data:i&&"text"!==i&&"json"!==i?c.response:c.responseText,status:c.status,statusText:c.statusText,headers:o,config:e,request:c}),c=null}if(c.open(e.method.toUpperCase(),buildURL(u,e.params,e.paramsSerializer),!0),c.timeout=e.timeout,"onloadend"in c?c.onloadend=d:c.onreadystatechange=function(){c&&4===c.readyState&&(0!==c.status||c.responseURL&&0===c.responseURL.indexOf("file:"))&&setTimeout(d)},c.onabort=function(){c&&(n(new AxiosError("Request aborted",AxiosError.ECONNABORTED,e,c)),c=null)},c.onerror=function(){n(new AxiosError("Network Error",AxiosError.ERR_NETWORK,e,c)),c=null},c.ontimeout=function(){let t=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded";const o=e.transitional||transitionalDefaults;e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),n(new AxiosError(t,o.clarifyTimeoutError?AxiosError.ETIMEDOUT:AxiosError.ECONNABORTED,e,c)),c=null},platform.isStandardBrowserEnv){const t=(e.withCredentials||isURLSameOrigin(u))&&e.xsrfCookieName&&cookies.read(e.xsrfCookieName);t&&r.set(e.xsrfHeaderName,t)}void 0===o&&r.setContentType(null),"setRequestHeader"in c&&utils.forEach(r.toJSON(),(function(e,t){c.setRequestHeader(t,e)})),utils.isUndefined(e.withCredentials)||(c.withCredentials=!!e.withCredentials),i&&"json"!==i&&(c.responseType=e.responseType),"function"==typeof e.onDownloadProgress&&c.addEventListener("progress",progressEventReducer(e.onDownloadProgress,!0)),"function"==typeof e.onUploadProgress&&c.upload&&c.upload.addEventListener("progress",progressEventReducer(e.onUploadProgress)),(e.cancelToken||e.signal)&&(a=t=>{c&&(n(!t||t.type?new CanceledError(null,e,c):t),c.abort(),c=null)},e.cancelToken&&e.cancelToken.subscribe(a),e.signal&&(e.signal.aborted?a():e.signal.addEventListener("abort",a)));const p=parseProtocol(u);p&&-1===platform.protocols.indexOf(p)?n(new AxiosError("Unsupported protocol "+p+":",AxiosError.ERR_BAD_REQUEST,e)):c.send(o||null)}))},knownAdapters={http:httpAdapter,xhr:xhrAdapter};utils.forEach(knownAdapters,((e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch(n){}Object.defineProperty(e,"adapterName",{value:t})}}));const renderReason=e=>`- ${e}`,isResolvedHandle=e=>utils.isFunction(e)||null===e||!1===e,adapters={getAdapter:e=>{e=utils.isArray(e)?e:[e];const{length:t}=e;let n,o;const r={};for(let i=0;i`adapter ${e} `+(!1===t?"is not supported by the environment":"is not available in the build")));throw new AxiosError("There is no suitable adapter to dispatch the request "+(t?e.length>1?"since :\n"+e.map(renderReason).join("\n"):" "+renderReason(e[0]):"as no adapter specified"),"ERR_NOT_SUPPORT")}return o},adapters:knownAdapters};function throwIfCancellationRequested(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new CanceledError(null,e)}function dispatchRequest(e){throwIfCancellationRequested(e),e.headers=AxiosHeaders$1.from(e.headers),e.data=transformData.call(e,e.transformRequest),-1!==["post","put","patch"].indexOf(e.method)&&e.headers.setContentType("application/x-www-form-urlencoded",!1);return adapters.getAdapter(e.adapter||defaults$1.adapter)(e).then((function(t){return throwIfCancellationRequested(e),t.data=transformData.call(e,e.transformResponse,t),t.headers=AxiosHeaders$1.from(t.headers),t}),(function(t){return isCancel(t)||(throwIfCancellationRequested(e),t&&t.response&&(t.response.data=transformData.call(e,e.transformResponse,t.response),t.response.headers=AxiosHeaders$1.from(t.response.headers))),Promise.reject(t)}))}const headersToObject=e=>e instanceof AxiosHeaders$1?e.toJSON():e;function mergeConfig(e,t){t=t||{};const n={};function o(e,t,n){return utils.isPlainObject(e)&&utils.isPlainObject(t)?utils.merge.call({caseless:n},e,t):utils.isPlainObject(t)?utils.merge({},t):utils.isArray(t)?t.slice():t}function r(e,t,n){return utils.isUndefined(t)?utils.isUndefined(e)?void 0:o(void 0,e,n):o(e,t,n)}function i(e,t){if(!utils.isUndefined(t))return o(void 0,t)}function a(e,t){return utils.isUndefined(t)?utils.isUndefined(e)?void 0:o(void 0,e):o(void 0,t)}function s(n,r,i){return i in t?o(n,r):i in e?o(void 0,n):void 0}const l={url:i,method:i,data:i,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:s,headers:(e,t)=>r(headersToObject(e),headersToObject(t),!0)};return utils.forEach(Object.keys(Object.assign({},e,t)),(function(o){const i=l[o]||r,a=i(e[o],t[o],o);utils.isUndefined(a)&&i!==s||(n[o]=a)})),n}const VERSION="1.5.1",validators$1={};["object","boolean","number","function","string","symbol"].forEach(((e,t)=>{validators$1[e]=function(n){return typeof n===e||"a"+(t<1?"n ":" ")+e}}));const deprecatedWarnings={};function assertOptions(e,t,n){if("object"!=typeof e)throw new AxiosError("options must be an object",AxiosError.ERR_BAD_OPTION_VALUE);const o=Object.keys(e);let r=o.length;for(;r-- >0;){const i=o[r],a=t[i];if(a){const t=e[i],n=void 0===t||a(t,i,e);if(!0!==n)throw new AxiosError("option "+i+" must be "+n,AxiosError.ERR_BAD_OPTION_VALUE)}else if(!0!==n)throw new AxiosError("Unknown option "+i,AxiosError.ERR_BAD_OPTION)}}validators$1.transitional=function(e,t,n){return(o,r,i)=>{if(!1===e)throw new AxiosError(function(e,t){return"[Axios v"+VERSION+"] Transitional option '"+e+"'"+t+(n?". "+n:"")}(r," has been removed"+(t?" in "+t:"")),AxiosError.ERR_DEPRECATED);return t&&!deprecatedWarnings[r]&&(deprecatedWarnings[r]=!0),!e||e(o,r,i)}};const validator={assertOptions:assertOptions,validators:validators$1},validators=validator.validators;class Axios{constructor(e){this.defaults=e,this.interceptors={request:new InterceptorManager$1,response:new InterceptorManager$1}}request(e,t){"string"==typeof e?(t=t||{}).url=e:t=e||{},t=mergeConfig(this.defaults,t);const{transitional:n,paramsSerializer:o,headers:r}=t;void 0!==n&&validator.assertOptions(n,{silentJSONParsing:validators.transitional(validators.boolean),forcedJSONParsing:validators.transitional(validators.boolean),clarifyTimeoutError:validators.transitional(validators.boolean)},!1),null!=o&&(utils.isFunction(o)?t.paramsSerializer={serialize:o}:validator.assertOptions(o,{encode:validators.function,serialize:validators.function},!0)),t.method=(t.method||this.defaults.method||"get").toLowerCase();let i=r&&utils.merge(r.common,r[t.method]);r&&utils.forEach(["delete","get","head","post","put","patch","common"],(e=>{delete r[e]})),t.headers=AxiosHeaders$1.concat(i,r);const a=[];let s=!0;this.interceptors.request.forEach((function(e){"function"==typeof e.runWhen&&!1===e.runWhen(t)||(s=s&&e.synchronous,a.unshift(e.fulfilled,e.rejected))}));const l=[];let c;this.interceptors.response.forEach((function(e){l.push(e.fulfilled,e.rejected)}));let u,d=0;if(!s){const e=[dispatchRequest.bind(this),void 0];for(e.unshift.apply(e,a),e.push.apply(e,l),u=e.length,c=Promise.resolve(t);d{if(!n._listeners)return;let t=n._listeners.length;for(;t-- >0;)n._listeners[t](e);n._listeners=null})),this.promise.then=e=>{let t;const o=new Promise((e=>{n.subscribe(e),t=e})).then(e);return o.cancel=function(){n.unsubscribe(t)},o},e((function(e,o,r){n.reason||(n.reason=new CanceledError(e,o,r),t(n.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}static source(){let e;return{token:new CancelToken((function(t){e=t})),cancel:e}}}const CancelToken$1=CancelToken;function spread(e){return function(t){return e.apply(null,t)}}function isAxiosError(e){return utils.isObject(e)&&!0===e.isAxiosError}const HttpStatusCode={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(HttpStatusCode).forEach((([e,t])=>{HttpStatusCode[t]=e}));const HttpStatusCode$1=HttpStatusCode;function createInstance(e){const t=new Axios$1(e),n=bind(Axios$1.prototype.request,t);return utils.extend(n,Axios$1.prototype,t,{allOwnKeys:!0}),utils.extend(n,t,null,{allOwnKeys:!0}),n.create=function(t){return createInstance(mergeConfig(e,t))},n}const axios=createInstance(defaults$1);axios.Axios=Axios$1,axios.CanceledError=CanceledError,axios.CancelToken=CancelToken$1,axios.isCancel=isCancel,axios.VERSION=VERSION,axios.toFormData=toFormData,axios.AxiosError=AxiosError,axios.Cancel=axios.CanceledError,axios.all=function(e){return Promise.all(e)},axios.spread=spread,axios.isAxiosError=isAxiosError,axios.mergeConfig=mergeConfig,axios.AxiosHeaders=AxiosHeaders$1,axios.formToJSON=e=>formDataToJSON(utils.isHTMLForm(e)?new FormData(e):e),axios.getAdapter=adapters.getAdapter,axios.HttpStatusCode=HttpStatusCode$1,axios.default=axios;const axios$1=axios,StringExt=()=>{var e="-",t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function n(e,n){var o=t.indexOf(e.charAt(n));if(-1===o)throw"Cannot decode";return o}function o(e,t){var n=e.charCodeAt(t);if(n>255)throw"INVALID_CHARACTER_ERR: DOM Exception 5";return n}String.prototype.format||(String.prototype.format=function(e){let t=this;if(arguments.length>0)if(1==arguments.length&&"object"==typeof e){for(let n in e)if(null!=e[n]){let o=new RegExp("({)"+n+"(})","g");t=t.replace(o,e[n])}}else for(let n=0;n>18)),a.push(t.charAt(i>>12&63)),a.push(t.charAt(i>>6&63)),a.push(t.charAt(63&i));switch(n.length-s){case 1:i=o(n,r)<<16,a.push(t.charAt(i>>18)+t.charAt(i>>12&63)+e+e);break;case 2:i=o(n,r)<<16|o(n,r+1)<<8,a.push(t.charAt(i>>18)+t.charAt(i>>12&63)+t.charAt(i>>6&63)+e)}return a.join("")}(this.utf8Encode())}),String.prototype.base64Decode||(String.prototype.base64Decode=function(){return function(t){var o,r,i=0,a=(t=String(t)).length,s=[];if(t=String(t),0===a)return t;if(a%4!=0)throw"Cannot decode";for(t.charAt(a-1)===e&&(i=1,t.charAt(a-2)===e&&(i=2),a-=4),o=0;o>16,r>>8&255,255&r));switch(i){case 1:r=n(t,o)<<18|n(t,o+1)<<12|n(t,o+2)<<6,s.push(String.fromCharCode(r>>16,r>>8&255));break;case 2:r=n(t,o)<<18|n(t,o+1)<<12,s.push(String.fromCharCode(r>>16))}return s.join("")}(this).utf8Decode()}),String.prototype.isEnStr||(String.prototype.isEnStr=function(){return"Xm6Ek7ebm0"===this.slice(0,10)})},DateExt=()=>{Date.prototype.format||(Date.prototype.format=function(e){let t={"M+":this.getMonth()+1,"d+":this.getDate(),"h+":this.getHours(),"m+":this.getMinutes(),"s+":this.getSeconds(),S:this.getMilliseconds()};for(let n in t)if(isNaN(t[n]))return"";/(y+)/.test(e)&&(e=e.replace(RegExp.$1,(this.getFullYear()+"").slice(4-RegExp.$1.length)));for(let n in t)new RegExp("("+n+")").test(e)&&(e=e.replace(RegExp.$1,1==RegExp.$1.length?t[n]:("00"+t[n]).slice((""+t[n]).length)));return e}),Date.prototype.getTimeDiffer||(Date.prototype.getTimeDiffer=function(e,t="s"){let n,o=e.getTime()-this.getTime();switch(t){case"d":n=o/864e5;break;case"h":n=o/36e5;break;case"m":n=o/6e4;break;case"s":n=o/1e3;break;case"ms":n=o}return Math.floor(n)}),Date.prototype.incMillisecond||(Date.prototype.incMillisecond=function(e){return new Date(this.getTime()+Math.round(e))}),Date.prototype.getWeekDate||(Date.prototype.getWeekDate=function(){let e=0==this.getDay()?7:this.getDay(),t=this.getDate(),n=this.getMonth(),o=this.getYear();return o+=o<2e3?1900:0,[new Date(o,n,t-e+1),new Date(o,n,t+(7-e))]}),Date.prototype.clone||(Date.prototype.clone=function(){return new Date(this.valueOf())}),Date.prototype.isEqual||(Date.prototype.isEqual=function(e,t="d"){switch(t){case"y":return this.getFullYear()===e.getFullYear();case"m":return this.getMonth()===e.getMonth();case"d":return this.getDate()===e.getDate();case"h":return this.getHours()===e.getHours();case"m":return this.getMinutes()===e.getMinutes();case"s":return this.getSeconds()===e.getSeconds();case"S":return this.getMilliseconds()===e.getMilliseconds();default:return!1}})},prefab={LOADING:{NAME:"fab_loading",SCRIPT:"LoadingController"},TIPS:{NAME:"fab_tips",SCRIPT:"TipsController"},ALERT:{NAME:"fab_alert",SCRIPT:"AlertController"},BUBBLE:{NAME:"fab_bubble",SCRIPT:"BubbleController"},KEYBOARD:{NAME:"fab_keyboard",SCRIPT:"KeyboardController"},BROADCAST:{NAME:"fab_broadcast",SCRIPT:"BroadcastController"},SEND_SCORE:{NAME:"fab_send_score",SCRIPT:"SendScoreController"},PROP_ICON:{NAME:"fab_prop_icon",SCRIPT:"PropIconController"},PROP_GET_TIPS:{NAME:"fab_prop_get_tips",SCRIPT:"PropGetTipsController"},HOTUPDATE_HALL:{NAME:"fab_hotupdate_hall",SCRIPT:"HotUpdateHallController"},MOBILE_REG:{NAME:"fab_mobile_reg",SCRIPT:"MobileRegController"},MOBILE_LOGIN:{NAME:"fab_mobile_login",SCRIPT:"MobileLoginController"},FIND_PWD:{NAME:"fab_find_pwd",SCRIPT:"FindPwdController"},LANGUAGE:{NAME:"fab_language",SCRIPT:"LanguageController"},HOTUPDATE_GAME:{NAME:"fab_hotupdate_game",SCRIPT:"HotUpdateGameController"},ENTER_ROOM:{NAME:"fab_enter_room",SCRIPT:"EnterRoomController"},ENTRY_ICON:{NAME:"fab_entry_icon",SCRIPT:"EntryIconController"},SETUP:{NAME:"fab_setup",SCRIPT:"SetupController"},SELF_DETAIL:{NAME:"fab_self_detail",SCRIPT:"SelfDetailController"},EDIT_NICKNAME:{NAME:"fab_edit_nickname",SCRIPT:"EditNicknameController"},EDIT_HEAD:{NAME:"fab_edit_head",SCRIPT:"EditHeadController"},REG_GIFT:{NAME:"fab_reg_gift",SCRIPT:"RegGiftController"},MANAGE:{NAME:"fab_manage",SCRIPT:"ManageController"},GIFT_CODE_USE:{NAME:"fab_gift_code_use",SCRIPT:"GiftCodeUseController"},MOBILE:{NAME:"fab_mobile",SCRIPT:"MobileController"},INTRO:{NAME:"fab_intro",SCRIPT:"IntroController"},INTRO_TASK:{NAME:"fab_intro_task",SCRIPT:"IntroTaskController"},MAIL:{NAME:"fab_mail",SCRIPT:"MailController"},RANKING:{NAME:"fab_ranking",SCRIPT:"RankingController"},BANK:{NAME:"fab_bank",SCRIPT:"BankController"},BANK_LOGIN:{NAME:"fab_bank_login",SCRIPT:"BankLoginController"},BANK_SET_PWD:{NAME:"fab_bank_set_pwd",SCRIPT:"BankSetPwdController"},GIFT_CODE:{NAME:"fab_gift_code",SCRIPT:"GiftCodeController"},UNION:{NAME:"fab_union",SCRIPT:"UnionController"},UNION_INVITE:{NAME:"fab_union_invite",SCRIPT:"UnionInviteController"},UNION_ITEM:{NAME:"fab_union_item",SCRIPT:"UnionItemController"},CHECKIN:{NAME:"fab_checkin",SCRIPT:"CheckinController"},CHECKIN_DAY:{NAME:"fab_checkin_day",SCRIPT:"CheckinDayController"},LOGIN_AWARD:{NAME:"fab_login_award",SCRIPT:"LoginAwardController"},ONLINE_AWARD:{NAME:"fab_online_award",SCRIPT:"OnlineAwardController"},TASK:{NAME:"fab_task",SCRIPT:"TaskController"},TASK_GROUP_ITEM:{NAME:"fab_task_new_user",SCRIPT:"TaskNoviceItemController"},TASK_ALERT:{NAME:"fab_task_alert",SCRIPT:"TaskAlertController"},ACTIVITY:{NAME:"fab_activity",SCRIPT:"ActivityController"},ACTIVITY_CLASS_BTN:{NAME:"fab_activity_class_btn",SCRIPT:"ActivityClassBtnController"},ACTIVITY_CONTENT:{NAME:"fab_activity_content",SCRIPT:"ActivityContentController"},ACTIVITY_MENU_BTN:{NAME:"fab_activity_menu_btn",SCRIPT:"ActivityMenuBtnController"},ACTIVITY_TEMPLATE:[{NAME:"fab_activity_template_0",SCRIPT:"ActivityContentTemplate0Controller"},{NAME:"fab_activity_template_1",SCRIPT:"ActivityContentTemplate1Controller"},{NAME:"fab_activity_template_2",SCRIPT:"ActivityContentTemplate2Controller"},{NAME:"fab_activity_template_3",SCRIPT:"ActivityContentTemplate3Controller"}],RED_ENVELOPE:{NAME:"fab_red_envelope",SCRIPT:"RedEnvelopeController"},RED_ENVELOPE_SHOW:{NAME:"fab_red_envelope_show",SCRIPT:"RedEnvelopeShowController"},MYSTERY:{NAME:"fab_mystery",SCRIPT:"MysteryController"},MYSTERY_SHOW_ITEM:{NAME:"fab_mystery_show_item",SCRIPT:"MysteryShowItemController"},MYSTERY_USED_ITEM:{NAME:"fab_mystery_used_item",SCRIPT:"MysteryUsedItemController"},BAG:{NAME:"fab_bag",SCRIPT:"BagController"},EVERYDAY_REBATE:{NAME:"fab_everyday_rebate",SCRIPT:"EverydayRebateController"},TOTAL_REBATE:{NAME:"total_rebate",SCRIPT:"TotalRebateController"},WELFARE:{NAME:"fab_welfare",SCRIPT:"WelfareController"},SHOP:{NAME:"fab_shop",SCRIPT:"ShopController"},SHOP2:{NAME:"fab_shop2",SCRIPT:"Shop2Controller"},SHOP2_CHANNEL_ITEM:{NAME:"fab_shop2_channel_item",SCRIPT:"Shop2ChannelController"},SHOP2_ITEM:{NAME:"fab_shop2_item",SCRIPT:"Shop2ItemController"},CONVERT:{NAME:"fab_convert",SCRIPT:"ConvertController"},EVERYDAY_GIFT:{NAME:"fab_everyday_gift",SCRIPT:"EverydayGiftController"},EVERYDAY_SLOTS:{NAME:"fab_everyday_slots",SCRIPT:"EverydaySlotsController"},FIRST_PAY:{NAME:"fab_first_pay",SCRIPT:"FirstPayController"},SUPER_CASH:{NAME:"fab_super_cash",SCRIPT:"SuperCashController"},ONE_OF_THREE:{NAME:"fab_one_of_three",SCRIPT:"OneOfThreeController"},HELP_TURNTABLE:{NAME:"fab_help_turntable",SCRIPT:"HelpTurntableController"},HELP_TURNTABLE_REWARD_ITEM:{NAME:"fab_help_turntable_reward_item",SCRIPT:"HelpTurntableRewardItemController"},HELP_TURNTABLE_ASSISTANCE:{NAME:"fab_help_turntable_assistance",SCRIPT:"HelpTurntableAssistanceController"},HELP_TURNTABLE_INVITE_NOW_ITEM:{NAME:"fab_help_turntable_invite_now_item",SCRIPT:"HelpTurntableInviteNowItemController"},HELP_TURNTABLE_RECEIVE_ITEM:{NAME:"fab_help_turntable_receive_item",SCRIPT:"HelpTurntableReceiveItemController"},HELP_TURNTABLE_RULE_ITEM:{NAME:"fab_help_turntable_rule_item",SCRIPT:"HelpTurntableRuleItemController"},HELP_TURNTABLE2:{NAME:"fab_help_turntable2",SCRIPT:"HelpTurntable2Controller"},HELP_TURNTABLE2_SAMLL:{NAME:"fab_help_turntable2_small",SCRIPT:"HelpTurntable2SmallController"},HELP_TURNTABLE_REWARD2:{NAME:"fab_help_turntable_reward2",SCRIPT:"HelpTurntableReward2Controller"},HELP_TURNTABLE_ASSISTANCE_DETAILS2:{NAME:"fab_help_turntable_assistance_details2",SCRIPT:"HelpTurntableAssistance2Controller"},HELP_TURNTABLE_INVITE_NOW2:{NAME:"fab_help_turntable_invite_now2",SCRIPT:"HelpTurntableInviteNow2Controller"},HELP_TURNTABLE_RECEIVE_RECORD_ITEM2:{NAME:"fab_help_turntable_receive_record2",SCRIPT:"HelpTurntableReceiveItem2Controller"},HELP_TURNTABLE_RULE_ITEM2:{NAME:"fab_help_turntable_rule_item2",SCRIPT:"HelpTurntableRuleItem2Controller"},WITHDRAW:{NAME:"fab_withdraw",SCRIPT:"WithDrawController"},WITHDRAW_DETAILS:{NAME:"fab_withdraw_details",SCRIPT:"WithDrawDetailsController"},BANK_MANAGER:{NAME:"fab_bank_manager",SCRIPT:"BankManagerController"},VIP:{NAME:"fab_vip",SCRIPT:"VipController"},VIP_LV_AWARD:{NAME:"fab_vip_award",SCRIPT:"VipLvAwardsController"},CHILD_REBATE:{NAME:"fab_child_rebate",SCRIPT:"ChildRebateController"},CHILD_REBATE_DETAIL:{NAME:"fab_child_rebate_detail",SCRIPT:"ChildRebateDetailController"},PAY_CHANNEL:{NAME:"fab_pay_channel",SCRIPT:"PayChannelController"},PAY:{NAME:"fab_pay",SCRIPT:"PayController"},INVITE:{NAME:"fab_invite",SCRIPT:"InviteController"},INVITE2:{NAME:"fab_invite2",SCRIPT:"Invite2Controller"},HELP_TURNTABLE2_TIPS:{NAME:"fab_help_turntable2_tips",SCRIPT:"HelpTurntable2TipsController"},GAME_START:{NAME:"fab_game_start",SCRIPT:"GameStartController"},GAME_BET:{NAME:"fab_game_bet",SCRIPT:"GameBetController"},GAME_RESULT1:{NAME:"fab_game_result",SCRIPT:"GameResult1Controller"},GAME_WIN:{NAME:"fab_game_win",SCRIPT:"GameWinController"},GAME_WIN1:{NAME:"fab_game_win1",SCRIPT:"GameWin1Controller"},GAME_WIN2:{NAME:"fab_game_win2",SCRIPT:"GameWin2Controller"},GAME_BONUS:{NAME:"fab_game_bonus",SCRIPT:"GameBonusController"},GAME_FREE:{NAME:"fab_game_free",SCRIPT:"GameFreeController"},GAME_MASTER:{NAME:"fab_game_master",SCRIPT:"GameMasterController"},GAME_CAST_SCORE:{NAME:"fab_game_cast_score",SCRIPT:"CastScoreController"},GAME_INFO:{NAME:"fab_game_info",SCRIPT:"GameInfoController"},GAME_CARD:{NAME:"fab_game_card",SCRIPT:"GameCardController"},GAME_PARTICLE:{NAME:"fab_game_particle",SCRIPT:"GameParticleController"},SCENE_ENTRY:{COMMON_SCENE:{NAME:"fab_common_scene",SCRIPT:"CommonSceneController"},FISH_ENTRY:{NAME:"fab_fish_entry",SCRIPT:"FishEntryController"},OX_ENTRY:{NAME:"fab_ox_entry",SCRIPT:"OxEntryController"},GOBANG_ENTRY:{NAME:"fab_gobang_entry",SCRIPT:"GobangEntryController"},TEXAS_POKER_ENTRY:{NAME:"fab_texas_poker_entry",SCRIPT:"TexasPokerEntryController"},MJ_SICHUAN_ENTRY:{NAME:"fab_mj_sichuan_entry",SCRIPT:"MjSichuanEntryController"},GOLDEN_FLOWER_ENTRY:{NAME:"fab_golden_flower_entry",SCRIPT:"GoldenFlowerEntryController"},OX_ROB_ENTRY:{NAME:"fab_ox_rob_entry",SCRIPT:"OxRobEntryController"},OX_ALL_ENTRY:{NAME:"fab_ox_all_entry",SCRIPT:"OxAllEntryController"}}},keyData={LOGIN_TYPE:{GUEST:0,MOBILE:1,MAIL:2},COINS_RATE:1e4,EVENT_NAME:{BROADCAST:"onBroadcast",USER_ADD:"onAdd",USER_LEAVE:"onLeave",GAME_MSG:"onMsg",GAME_NOTIFY:"onNotify",PAY_ORDER:"onPayOrder",GAME_TENDING:"onTending",GAME_HOTUPDATE:"onHotupdate",PLATFORM_CONFIG:"onPlatform",SWITCH_CONFIG:"onSwitch",SCENE_CONFIG:"onScene",BONUS_POOL:"onBonusPool",ACTIVITY_STATE:"onActivityState",GAME_TIMEOUT:"onTimeout",THIRD_TO_HALL:"onThridToHall",NEW_RECEIVE_HELP_TURNTABLE:"onReceiveHelpTruntable",NEW_RECEIVE_HELP_TURNTABLE2:"onReceiveHelpTruntable2",ON_KICK:"onKick",ROTATION_CHART_CHANGE:"onRotitionChartChange",GAME_PROVIDER_CHANGE:"onGameProviderChange",GAME_CLASS_CHANGE:"onGameClassChange",GAME_INFO_CHANGE:"onGameInfoChange",PDD_AWARD:"onPddAward"},BTN_CODE:{SUPPORT:"support_state",NOTIFY:"notify_state",MAIL:"mail_state",BROADCAST:"broadcast_state",RANKING:"ranking_state",BANK:"bank_state",GIFT_CODE:"giftcode_state",UNION:"union_state",CHECKIN:"checkin_state",LOGIN_AWARD:"login_award_state",ONLINE_AWARD:"online_award_state",NOVICE_TASK:"novice_task_state",EVERYDAY_TASK:"everyday_task_state",ACTIVITY:"activity_state",RED_ENVELOPE:"red_envelope_state",MYSTERY:"mystery_state",BAG:"bag_state",EVERYDAY_REBATE:"everyday_rebate_state",CHILD_REBATE:"child_rebate_state",WELFARE:"welfare_state",PAY:"pay_state",PAY1:"pay1_state",PAY2:"pay2_state",REDEEM:"redeem_state",TRANSFER:"transfer_state",EVERYDAY_GIFT:"everyday_gift_state",EVERYDAY_SLOTS:"everyday_slots_state",SUPER_CASH:"super_cash_state",ONE_OF_THREE:"one_of_three_state",VIP_AWARD:"vip_award_state",TOTAL_REBATE:"total_rebate_state",HELP_TURNTABLE:"help_turntable_state",HELP_TURNTABLE2:"help_turntable2_state",TASK:"task_state"},PROPS_ATTR_CODE:{BAG_CLASS:0,COINS:1,EXP:2,COINS_CARD:3,RED_ENVELOPE_SELF:4,RED_ENVELOPE_OTHER:5,DAY_LIMIT:6,HOUR_LIMIT:7,COUNT_LIMIT:8,FREE_COINS:9,COINS_UP:10,STACK_NUM:11,NUM_LIMIT:12,ENTER_GAME:13,PROP_CHIP:14,CONVERT_COINS:15,CAN_LOAD:16,DIAMOND:17,HEAD:18,FRAME:19,FREE_USE:20},BAG_CLASS:{ALL:0,PROPS:1,COINS:2,RED_ENVELOPE:3,SKIN:4,CHIP:5},TASK_COND_CODE:{STEP:0,LIMIT_NUM:1,ODDS:2,VIP_UNLOCK:3},TASK_RULE_CODE:{PAY:0,WIN:1,LOSE:2,INVEST:3,COINS:4,PRICE:5,COUNT:6,DAY:7,SECOND:8,CONTINUOUS:9,TOTAL:10,ONLINE:11,CHECKIN:12,COLD:13,SPECIAL_ACTION:14,SPECIAL_CONDITION:15,PLAY:16,TASK:17,SLOTS:18,FISH:19,POKER:20,GAME_ID:99},VISIBLE_STATE:{HIDDEN:0,DISABLE:1,ENABLE:2},ACTIVITY_ALERT_CONFIG:{1:prefab.EVERYDAY_SLOTS,2:prefab.ONE_OF_THREE,3:prefab.SUPER_CASH,4:prefab.HELP_TURNTABLE,5:prefab.REG_GIFT,6:prefab.HELP_TURNTABLE2},HELP_TURNTABLE2_AWARD_TYPE:{FIRST_TASK_COINS:{value:1,txt:"任务首次金币"},COINS:{value:2,txt:"直接获得金币"},WITHDRAW:{value:3,txt:"直接提现"},TASK_COINS:{value:4,txt:"任务金币"},NO_AWARD:{value:5,txt:"未中奖"},DIAMOND:{value:6,txt:"直接获得钻石"}},TRANS_METHOD_TYPE:{MOBILE:{value:1,txt:"MOBILE"},EMAIL:{value:2,txt:"EMAIL"},CPF:{value:3,txt:"CPF"},EVP:{value:4,txt:"EVP"},CNPJ:{value:5,txt:"CNPJ"}}},code={OK:0,WARN:1,FAIL:-1,C4:{CODE:4},C5:{CODE:5},C10:{CODE:10},C11:{CODE:11},C12:{CODE:12},C13:{CODE:13},C14:{CODE:14},C15:{CODE:15},C18:{CODE:18},C19:{CODE:19},C21:{CODE:21},C22:{CODE:22},C23:{CODE:23},C24:{CODE:24},C25:{CODE:25},C26:{CODE:26},C27:{CODE:27},C28:{CODE:28},C29:{CODE:29},C30:{CODE:30},C31:{CODE:31},C32:{CODE:32},C33:{CODE:33},C36:{CODE:36},C37:{CODE:37},C38:{CODE:38},C39:{CODE:39},C40:{CODE:40},C41:{CODE:41},C47:{CODE:47},C48:{CODE:48},C107:{CODE:107},C108:{CODE:108},C116:{CODE:116},C123:{CODE:123},C124:{CODE:124},C127:{CODE:127},C128:{CODE:128},C143:{CODE:143},C144:{CODE:144},C145:{CODE:145},C146:{CODE:146},C147:{CODE:147},C148:{CODE:148},C149:{CODE:149},C150:{CODE:150},C187:{CODE:187},C190:{CODE:190},C221:{CODE:221},C223:{CODE:223},C225:{CODE:225},C226:{CODE:226},C228:{CODE:228},C229:{CODE:229},C413:{CODE:413},C421:{CODE:421},C607:{CODE:607},C614:{CODE:614},C618:{CODE:618},C619:{CODE:619},C620:{CODE:620},C621:{CODE:621},C622:{CODE:622},C623:{CODE:623},C624:{CODE:624},C625:{CODE:625},C703:{CODE:703},C705:{CODE:705},C707:{CODE:707},C708:{CODE:708},C711:{CODE:711},C713:{CODE:713},C714:{CODE:714},C721:{CODE:721},C722:{CODE:722},C723:{CODE:723},C724:{CODE:724},C725:{CODE:725},C732:{CODE:732},C733:{CODE:733},C735:{CODE:735},C905:{CODE:905},C1008:{CODE:1008},C1009:{CODE:1009},C1017:{CODE:1017},C1024:{CODE:1024},C1027:{CODE:1027},C1028:{CODE:1028},C1030:{CODE:1030},C1031:{CODE:1031},C1032:{CODE:1032},C1033:{CODE:1033},C1036:{CODE:1036},C1037:{CODE:1037},C1038:{CODE:1038},C1041:{CODE:1041},C1042:{CODE:1042},C1043:{CODE:1043},C1044:{CODE:1044},C1045:{CODE:1045},C1046:{CODE:1046},C1047:{CODE:1047},C1100:{CODE:1100},C1101:{CODE:1101},C1102:{CODE:1102},C1103:{CODE:1103},C1150:{CODE:1150},C1218:{CODE:1218},C1220:{CODE:1220},C1221:{CODE:1221},C1223:{CODE:1223},C1225:{CODE:1225},C1226:{CODE:1226},C1227:{CODE:1227},C1228:{CODE:1228},C1229:{CODE:1229},C1230:{CODE:1230},C1231:{CODE:1231},C1232:{CODE:1232},C1233:{CODE:1233},C1234:{CODE:1234},C1235:{CODE:1235},C1236:{CODE:1236},C1237:{CODE:1237},C1238:{CODE:1238},C1239:{CODE:1239},C1508:{CODE:1508},C1509:{CODE:1509},C1510:{CODE:1510},C1511:{CODE:1511},C1720:{CODE:1720},C1723:{CODE:1723},C1725:{CODE:1725},C1726:{CODE:1726},C1727:{CODE:1727},C1803:{CODE:1803},C1804:{CODE:1804},C1903:{CODE:1903},C1904:{CODE:1904},C1905:{CODE:1905},C1906:{CODE:1906},C2001:{CODE:2001},C2204:{CODE:2204},C2205:{CODE:2205},C2206:{CODE:2206},C2207:{CODE:2207},C2383:{CODE:2383},C2384:{CODE:2384},C2385:{CODE:2385},C2386:{CODE:2386},C2387:{CODE:2387},C2388:{CODE:2388},C2389:{CODE:2389},C2390:{CODE:2390},C2391:{CODE:2391},C2392:{CODE:2392},C2401:{CODE:2401},C2402:{CODE:2402},C2500:{CODE:2500},C2501:{CODE:2501},C2504:{CODE:2504},C2505:{CODE:2505},C2510:{CODE:2510},C2520:{CODE:2520},C2522:{CODE:2522},C2523:{CODE:2523},C2524:{CODE:2524},C2526:{CODE:2526},C2530:{CODE:2530},C2531:{CODE:2531},C2532:{CODE:2532},C2533:{CODE:2533},C2534:{CODE:2534},C2535:{CODE:2535},C10000:{CODE:1e4},C10001:{CODE:10001},C10005:{CODE:10005},C10006:{CODE:10006},C10007:{CODE:10007},C10008:{CODE:10008},C10009:{CODE:10009},C10100:{CODE:10100},C10101:{CODE:10101},C10102:{CODE:10102},C10103:{CODE:10103},C10104:{CODE:10104},C10105:{CODE:10105},C10106:{CODE:10106},C10200:{CODE:10200},C10201:{CODE:10201},C10202:{CODE:10202},C10203:{CODE:10203},C10204:{CODE:10204},C10300:{CODE:10300},C10301:{CODE:10301},C10302:{CODE:10302},C10303:{CODE:10303},C10400:{CODE:10400},C10401:{CODE:10401},C10402:{CODE:10402},C10403:{CODE:10403},C10500:{CODE:10500},C10501:{CODE:10501},C10502:{CODE:10502},C10503:{CODE:10503},C10504:{CODE:10504},C10550:{CODE:10550},C10551:{CODE:10551},C10600:{CODE:10600},C10601:{CODE:10601},C10602:{CODE:10602},C10603:{CODE:10603},C10604:{CODE:10604},C10605:{CODE:10605},C10606:{CODE:10606},C10607:{CODE:10607},C10611:{CODE:10611},C10613:{CODE:10613},C10700:{CODE:10700},C10701:{CODE:10701},C10705:{CODE:10705},C10706:{CODE:10706},C10707:{CODE:10707},C10708:{CODE:10708},C10709:{CODE:10709},C10710:{CODE:10710},C10711:{CODE:10711},C10712:{CODE:10712},C10800:{CODE:10800},C10801:{CODE:10801},C10802:{CODE:10802},C10803:{CODE:10803},C10900:{CODE:10900},C10901:{CODE:10901},C10902:{CODE:10902},C10903:{CODE:10903},C10904:{CODE:10904},C10905:{CODE:10905},C10906:{CODE:10906},C10907:{CODE:10907},C11000:{CODE:11e3},C11001:{CODE:11001},C11002:{CODE:11002},C11003:{CODE:11003},C11004:{CODE:11004},C11005:{CODE:11005},C11006:{CODE:11006},C11007:{CODE:11007},C11100:{CODE:11100},C11101:{CODE:11101},C11102:{CODE:11102},C11103:{CODE:11103},C11104:{CODE:11104},C11200:{CODE:11200},C11201:{CODE:11201},C11202:{CODE:11202},C11203:{CODE:11203},C11204:{CODE:11204},C11205:{CODE:11205},C11206:{CODE:11206},C11207:{CODE:11207},C11300:{CODE:11300},C11301:{CODE:11301},C11302:{CODE:11302},C11303:{CODE:11303},C11304:{CODE:11304},C11305:{CODE:11305},C11306:{CODE:11306},C11307:{CODE:11307},C11308:{CODE:11308},C11309:{CODE:11309},C11400:{CODE:11400},C11401:{CODE:11401},C11402:{CODE:11402},C11403:{CODE:11403},C11404:{CODE:11404},C11405:{CODE:11405},C11406:{CODE:11406},C11407:{CODE:11407},C11500:{CODE:11500},C11501:{CODE:11501},C11502:{CODE:11502},C11503:{CODE:11503},C11600:{CODE:11600},C11601:{CODE:11601},C11602:{CODE:11602},C11603:{CODE:11603},C11604:{CODE:11604},C11605:{CODE:11605},C11606:{CODE:11606},C11700:{CODE:11700},C11701:{CODE:11701},C11702:{CODE:11702},C11703:{CODE:11703},C11800:{CODE:11800},C11801:{CODE:11801},C11802:{CODE:11802},C11803:{CODE:11803},C11900:{CODE:11900},C11901:{CODE:11901},C11902:{CODE:11902},C11903:{CODE:11903},C11904:{CODE:11904},C12000:{CODE:12e3},C12001:{CODE:12001},C12002:{CODE:12002},C12003:{CODE:12003},C12004:{CODE:12004},C12005:{CODE:12005},C12006:{CODE:12006},C12007:{CODE:12007},C12012:{CODE:12012},C12100:{CODE:12100},C12101:{CODE:12101},C12102:{CODE:12102},C12103:{CODE:12103},C12200:{CODE:12200},C12201:{CODE:12201},C12202:{CODE:12202},C12203:{CODE:12203},C12204:{CODE:12204},C12205:{CODE:12205},C12206:{CODE:12206},C12207:{CODE:12207},C12208:{CODE:12208},C12300:{CODE:12300},C12302:{CODE:12302},C12303:{CODE:12303},C12304:{CODE:12304},C12305:{CODE:12305},C12400:{CODE:12400},C12401:{CODE:12401},C12402:{CODE:12402},C12403:{CODE:12403},C12500:{CODE:12500},C12501:{CODE:12501},C12502:{CODE:12502},C12503:{CODE:12503},C12504:{CODE:12504},C12505:{CODE:12505},C12506:{CODE:12506},C12507:{CODE:12507},C12600:{CODE:12600},C12601:{CODE:12601},C12602:{CODE:12602},C12603:{CODE:12603},C12604:{CODE:12604},C12700:{CODE:12700},C12701:{CODE:12701},C12702:{CODE:12702},C12703:{CODE:12703},C12800:{CODE:12800},C12801:{CODE:12801},C12802:{CODE:12802},C12803:{CODE:12803},C12804:{CODE:12804},C12805:{CODE:12805},C12806:{CODE:12806},C12807:{CODE:12807},C12808:{CODE:12808},C12809:{CODE:12809},C12810:{CODE:12810},C12811:{CODE:12811},C12812:{CODE:12812},C12900:{CODE:12900},C12901:{CODE:12901},C12902:{CODE:12902},C12903:{CODE:12903},C12904:{CODE:12904},C12905:{CODE:12905},C12906:{CODE:12906},C12907:{CODE:12907},C13000:{CODE:13e3},C13001:{CODE:13001},C13002:{CODE:13002},C13003:{CODE:13003},C13100:{CODE:13100},C13101:{CODE:13101},C13102:{CODE:13102},C13103:{CODE:13103},C13200:{CODE:13200},C13201:{CODE:13201},C13202:{CODE:13202},C13203:{CODE:13203},C13300:{CODE:13300},C13301:{CODE:13301},C13302:{CODE:13302},C13303:{CODE:13303},C13304:{CODE:13304},C13305:{CODE:13305},C13306:{CODE:13306},C13307:{CODE:13307},C13308:{CODE:13308},C13309:{CODE:13309},C13310:{CODE:13310},C13311:{CODE:13311},C13312:{CODE:13312},C13313:{CODE:13313},C13314:{CODE:13314},C13315:{CODE:13315},C13316:{CODE:13316},C13317:{CODE:13317},C13318:{CODE:13318},C13319:{CODE:13319},C13320:{CODE:13320},C13321:{CODE:13321},C13322:{CODE:13322},C13323:{CODE:13323},C13400:{CODE:13400},C13401:{CODE:13401},C13402:{CODE:13402},C13403:{CODE:13403},C13404:{CODE:13404},C13405:{CODE:13405},C13406:{CODE:13406},C13407:{CODE:13407},C13408:{CODE:13408},C13409:{CODE:13409},C13410:{CODE:13410},C13411:{CODE:13411},C13500:{CODE:13500},C13501:{CODE:13501},C13502:{CODE:13502},C13500:{CODE:13500},C13501:{CODE:13501},C13502:{CODE:13502},C13503:{CODE:13503},C13504:{CODE:13504},C13505:{CODE:13505},C13506:{CODE:13506},C13507:{CODE:13507},C13508:{CODE:13508},C13509:{CODE:13509},C13510:{CODE:13510},C13511:{CODE:13511},C13700:{CODE:13700},C13800:{CODE:13800},C13801:{CODE:13801},C13802:{CODE:13802},C13803:{CODE:13803},C13804:{CODE:13804},C13805:{CODE:13805},C13806:{CODE:13806},C13900:{CODE:13900},C13901:{CODE:13901},C13902:{CODE:13902},C13903:{CODE:13903},C13904:{CODE:13904},C13905:{CODE:13905},C13906:{CODE:13906},C13907:{CODE:13907},C13908:{CODE:13908},C14000:{CODE:14e3},C14001:{CODE:14001},C14002:{CODE:14002},C14003:{CODE:14003},C14100:{CODE:14100},C14101:{CODE:14101},C14102:{CODE:14102},C14103:{CODE:14103},C14200:{CODE:14200},C14201:{CODE:14201},C14202:{CODE:14202},C14203:{CODE:14203},C14300:{CODE:14300},C14301:{CODE:14301},C14302:{CODE:14302},C14303:{CODE:14303},C30000:{CODE:3e4},C30001:{CODE:30001},C30002:{CODE:30002},C30003:{CODE:30003},C30004:{CODE:30004},C30005:{CODE:30005},C30006:{CODE:30006},C30007:{CODE:30007},C30008:{CODE:30008},C30100:{CODE:30100},C30101:{CODE:30101},C30102:{CODE:30102},C30103:{CODE:30103},C30104:{CODE:30104},C30400:{CODE:30400},C30800:{CODE:30800},C30900:{CODE:30900},C31007:{CODE:31007},C31300:{CODE:31300},C31301:{CODE:31301},C31302:{CODE:31302},C31303:{CODE:31303},C31500:{CODE:31500},C31501:{CODE:31501},C31700:{CODE:31700},C31900:{CODE:31900},C32000:{CODE:32e3},C32100:{CODE:32100},C32200:{CODE:32200},C32201:{CODE:32201},C32400:{CODE:32400},C32500:{CODE:32500},C32800:{CODE:32800},C32801:{CODE:32801},C32802:{CODE:32802},C32803:{CODE:32803},C32804:{CODE:32804},C32805:{CODE:32805},C32806:{CODE:32806},C32807:{CODE:32807},C32808:{CODE:32808},C32809:{CODE:32809},C32810:{CODE:32810},C32811:{CODE:32811},C32812:{CODE:32812},C32813:{CODE:32813},C32814:{CODE:32814},C32815:{CODE:32815},C32816:{CODE:32816},C32817:{CODE:32817},C32818:{CODE:32818},C32819:{CODE:32819},C32820:{CODE:32820},C32900:{CODE:32900},C32901:{CODE:32901},C32902:{CODE:32902},C32903:{CODE:32903},C32904:{CODE:32904},C33000:{CODE:33e3},C33001:{CODE:33001},C33100:{CODE:33100},C33101:{CODE:33101},C33102:{CODE:33102},C33103:{CODE:33103},C33300:{CODE:33300},C33400:{CODE:33400},C33401:{CODE:33401},C33402:{CODE:33402},C33404:{CODE:33404},C33405:{CODE:33405},C33501:{CODE:33401},C33700:{CODE:33700},C33701:{CODE:33701},C33702:{CODE:33702},C33703:{CODE:33703},C33900:{CODE:33900},C34000:{CODE:34e3},C34001:{CODE:34001},C35000:{CODE:35e3},C35001:{CODE:35001},C35002:{CODE:35002},C35003:{CODE:35003},C50000:{CODE:5e4},C50001:{CODE:50001},C50002:{CODE:50002},C50003:{CODE:50003},C50004:{CODE:50004},C50005:{CODE:50005},C50006:{CODE:50006},C50007:{CODE:50007},C50008:{CODE:50008},C50009:{CODE:50009},C50010:{CODE:50010},C50011:{CODE:50011},C50012:{CODE:50012},C50013:{CODE:50013},C50014:{CODE:50014},C50015:{CODE:50015},C50016:{CODE:50016},C50017:{CODE:50017},C50018:{CODE:50018},C50019:{CODE:50019},C50020:{CODE:50020},C50021:{CODE:50021},C50022:{CODE:50022},C50023:{CODE:50023}},key={PRIVATE_KEY:"sKx@9x27nDwdm#9s"},Crypto=()=>{function e(e,t){for(var a,s,l=t.length/4-1,c=[[],[],[],[]],u=0;u<16;u++)c[u%4][Math.floor(u/4)]=e[u];for(c=i(c,t,0,4),a=1;a6&&u%o==4&&(l=a(l));for(n=0;n<4;n++)i[u][n]=i[u-o][n]^l[n]}return i}function n(e,t){for(var n,o=0;o<4;o++)for(n=0;n>>8*d&255;for(d=0;d<2;d++)p[d+2]=h>>>8*d&255;for(d=0;d<4;d++)p[d+4]=m>>>8*d&255;for(l="",d=0;d<8;d++)l+=String.fromCharCode(p[d]);var g=t(s),v=Math.ceil(n.length/16),b=new Array(v);for(c=0;c>>8*u&255;for(u=0;u<4;u++)p[11-u]=c/4294967296>>>8*u;var E=e(p,g),C=c>>8*p&255;for(p=0;p<4;p++)l[11-p]=(d+1)/4294967296-1>>>8*p&255;for(A=e(l,h),f=new Array(n[d].length),m=0;m0}isNatureInt(e){return Number.isInteger(e)&&e>=0}isPositiveInt(e){return Number.isInteger(e)&&e>0}isStrNumber(e){return!(!/^\d+(\.\d+)?$/.test(e)&&!/^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$/.test(e))}isDate(e){return"[object Date]"===Object.prototype.toString.call(e)}isTimespan(e){if(!this.isThan0(Number(e)))return!1;let t=new Date("1970-01-01 00:00:00"),n=new Date("2100-01-01 00:00:00"),o=new Date(e);return o>t&&o0}isBoolean(e){return"[object Boolean]"===Object.prototype.toString.call(e)}depthClone(e){return this.jsonParse(this.jsonString(e))}jsonString(e){if(!e&&0!=e)return e;if(!this.isObject(e)&&!this.isArray(e))return e;let t;try{t=JSON.stringify(e)}catch(n){t=e}return t}getRandomStr(e=32,t,n){this.isString(t)&&!n&&(n=t,t=null);let o=n||"ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678",r=o.length,i="";for(let a=0;a>>0,1):e.set(t,[]))},emit:function(t,n){var o=e.get(t);o&&o.slice().map((function(e){e(n)})),(o=e.get("*"))&&o.slice().map((function(e){e(t,n)}))}}}const emitter=mitt(),useGameStore=defineStore("game",{persist:!0,state:()=>({gameInfo:{},gameUrl:"",startGameInfo:{},searchData:{}}),actions:{setGameInfo(e){this.gameInfo={},this.gameInfo=e},setSearchData(e){this.searchData=e},setStartGameInfo(e){this.startGameInfo=e,emitter.emit("openGame")},clearGameUrl(){this.gameUrl=""}}}),useGameStoreWithOut=()=>useGameStore(store),toolsBase=new ToolsBase,getApiData=()=>{let e={};return fetch("https://url.bxreplace.com/url.txt").then((e=>{if(!e.ok)throw new Error("Network response was not ok "+e.statusText);return e.text()})).then((t=>{e=t;const n=toolsBase.deData(e);storage.setSessionStorage(actions.API_BASE_URL,JSON.stringify(n.center))})).catch((e=>{}))},reg=/^[0-9]+.?[0-9]*$/,instance=axios$1.create({baseURL:"",timeout:1e4,headers:{"content-type":"application/x-www-form-urlencoded",lang:"pt"},currentURLIndex:0});function post(e,t,n){return instance.post(e,t,n)}instance.interceptors.request.use((async e=>{storage.getSessionStorage(actions.API_BASE_URL)||await getApiData(),e.baseURL=JSON.parse(storage.getSessionStorage(actions.API_BASE_URL)||"")[e.currentURLIndex];const t=storage.getStorage(actions.USER_TOEKN);let n=getLocationParams(window.window.location.href);return n.a&®.test(n.a)?e.headers.agentId=n.a:e.headers.agentId=AGENT_ID,t&&(e.headers.token=t),e.url.includes("mobileLogin")||e.url.includes("mobileReg"),e}),(e=>Promise.reject(e))),instance.interceptors.response.use((e=>{e.data.code,107==e.data.code&&(storage.clearStorage(),useUserStoreWithOut().clearUser(),useGameStoreWithOut().clearGameUrl());let t=JSON.parse(storage.getSessionStorage(actions.API_BASE_URL)||"");return[t[0],t[e.config.currentURLIndex]]=[t[e.config.currentURLIndex],t[0]],storage.setSessionStorage(actions.API_BASE_URL,JSON.stringify(t)),e.data}),(e=>{var t;107==(null==(t=e.response)?void 0:t.data.code)&&(storage.clearStorage(),useUserStoreWithOut().clearUser(),useGameStoreWithOut().clearGameUrl());const n=JSON.parse(storage.getSessionStorage(actions.API_BASE_URL)||"");return e.config.currentURLIndexawait instance("/useGiftCode",{method:"post",headers:{"Content-Type":"application/json"},data:e}),getCycleRebate=e=>post("getCycleRebate",e),login=e=>post("/mobileLogin",e),register=e=>post("/mobileReg",e),userInfo=()=>post("/getMyInfo"),restPassword=e=>post("/mobileRestPwd",e),mobileCode=e=>post("/getMobileVCode",e),pwdRestPwd=e=>post("pwdRestPwd",e),googleLogin$1=e=>post("/googleLogin",e),bindMobile=e=>post("/bindMobile",e),modifyHead=e=>post("modifyHead",e),verifyMobile=e=>post("verifyMobile",e),modifyNickName=e=>post("modifyNickname",e),favorGame=e=>post("favorGame",e),cancelFavorGame=e=>post("cancelFavorGame",e),getHeadList=()=>post("getHeadList"),getVipLvInfo=e=>post("getVipAward",e),checkNewNotice=e=>post("checkNewNotice",e),checkNewMail=e=>post("checkNewMail",e),user=Object.freeze(Object.defineProperty({__proto__:null,bindMobile:bindMobile,cancelFavorGame:cancelFavorGame,checkNewMail:checkNewMail,checkNewNotice:checkNewNotice,favorGame:favorGame,getCycleRebate:getCycleRebate,getHeadList:getHeadList,getVipLvInfo:getVipLvInfo,googleLogin:googleLogin$1,login:login,mobileCode:mobileCode,modifyHead:modifyHead,modifyNickName:modifyNickName,pwdRestPwd:pwdRestPwd,register:register,restPassword:restPassword,useGiftCode:useGiftCode,userInfo:userInfo,verifyMobile:verifyMobile},Symbol.toStringTag,{value:"Module"})),gameList=e=>post("/getGameInfoList",e),getGameClassList=e=>post("/getGameClassList",e),getGameUrl=e=>post("/getGameUrl",e),getMsgServer=()=>post("/getMsgServer"),getGameProviderList=e=>post("/getGameProviderList",e),getHelpTurntableResult=e=>post("getTurntable2Result",e),getGameTypeList=e=>post("/getGameTypeList",e),getAds=()=>post("/getAdsList"),getTaskList=async e=>await instance("/getTaskList",{method:"post",headers:{"Content-Type":"application/json"},data:e}),getTaskAward=async e=>await instance("receiveTaskAward",{method:"post",headers:{"Content-Type":"application/json"},data:e}),getCustomClassList=()=>post("getCustomClassList"),uncollectGame=e=>post("cancelFavorGame",e),collectGame=e=>post("favorGame",e),game=Object.freeze(Object.defineProperty({__proto__:null,collectGame:collectGame,gameList:gameList,getAds:getAds,getCustomClassList:getCustomClassList,getGameClassList:getGameClassList,getGameProviderList:getGameProviderList,getGameTypeList:getGameTypeList,getGameUrl:getGameUrl,getHelpTurntableResult:getHelpTurntableResult,getMsgServer:getMsgServer,getTaskAward:getTaskAward,getTaskList:getTaskList,uncollectGame:uncollectGame},Symbol.toStringTag,{value:"Module"})),pddAddProbability=async e=>await instance("addPddOdds",{method:"post",headers:{"Content-Type":"application/json"},data:e}),pddPointsBuy=async e=>await instance("buyPddScore",{method:"post",headers:{"Content-Type":"application/json"},data:e}),getHelpTurntable2Log=async e=>await instance("getHelpTurntable2Log",{method:"post",headers:{"Content-Type":"application/json"},data:e}),getPayRecords=async e=>await instance("/getPayRecords",{method:"post",headers:{"Content-Type":"application/json"},data:e}),pddAwardRecords=async e=>await instance("pddAwardRecords",{method:"post",headers:{"Content-Type":"application/json"},data:e}),getFlowRecordPage=async e=>await instance("getFlowRecordPage",{method:"post",headers:{"Content-Type":"application/json"},data:e}),getPropsCache=async e=>await instance("updatePropsCache",{method:"post",headers:{"Content-Type":"application/json"},data:e}),getWithDrawRecord=async e=>await instance("getWithDrawRecordPage",{method:"post",headers:{"Content-Type":"application/json"},data:e}),getChildRebate=async e=>await instance("/getChildRebate",{method:"post",headers:{"Content-Type":"application/json"},data:e}),getChildRebateDetail=async e=>await instance("getChildRebateDetailPage",{method:"post",headers:{"Content-Type":"application/json"},data:e}),getChildRebateRecordsDetail=async e=>await instance("getChildRebateRecordsDetailPage",{method:"post",headers:{"Content-Type":"application/json"},data:e}),getChildRebateRecords=async e=>await instance("getChildRebateRecordsPage",{method:"post",headers:{"Content-Type":"application/json"},data:e}),getChildRebateInfo=async e=>await instance("getChildRebateInfo",{method:"post",headers:{"Content-Type":"application/json"},data:e}),getCoinsDetailLog=async e=>await instance("getCoinsDetailLogPage",{method:"post",headers:{"Content-Type":"application/json"},data:e}),getVipLvAward=async e=>await instance("/receiveVipAwardLevel",{method:"post",headers:{"Content-Type":"application/json"},data:e}),diamondConvert=e=>post("diamondConvert",e),getTotalRebate=e=>post("/getTotalRebate",e),receiveTotalRebate=e=>post("/receiveTotalRebate",e),getCheckin=e=>post("getCheckin",e),receiveCycleRebateLoss=e=>post("receiveCycleRebateLoss",e),checkinDay=e=>post("checkinDay",e),getMonthCheckinAward=e=>post("getMonthCheckinAward",e),helpTurntableTaskAward=e=>post("receiveTurntable2",e),getOneOfThree=e=>post("/getOneOfThree",e),getPayMethodList=e=>post("getPayMethodList",e),oneOfThreeBuy=e=>post("buyOneOfThree",e),receiveOneOfThree=e=>post("receiveOneOfThree",e),receiveChildRebate=e=>post("receiveChildRebate",e),getPopularizePhones=e=>post("getPopularizePhones",e),depositList=e=>post("/getShop2List",e),getPayClass=e=>post("/getPayClass",e),getVipAwardCycle=async e=>await instance("/receiveVipAward",{method:"post",headers:{"Content-Type":"application/json"},data:e}),getPddTask=e=>post("getPddTask",e),userDeposit=e=>post("/buyShop2",e),withdrawList=e=>post("/getWithDrawAccountList",e),getTransMethodList=e=>post("/getWithdrawMethod",e),withdraw=e=>post("/withdraw",e),getCenterUrl=()=>post("/getCenterUrl"),getPlatformConfig=()=>post("/getPlatformConfig"),getNotice=async e=>await instance("/getNotice",{method:"post",headers:{"Content-Type":"application/json"},data:e}),setNoticeRead=async e=>await instance("/readNotice",{method:"post",headers:{"Content-Type":"application/json"},data:e}),getMail=async e=>await instance("/getMail",{method:"post",headers:{"Content-Type":"application/json"},data:e}),setMailRead=async e=>await instance("/readMail",{method:"POST",headers:{"Content-Type":"application/json"},data:e}),receiveMailAttachments=async e=>await instance("/receiveMailAttachments",{method:"POST",headers:{"Content-Type":"application/json"},data:e}),getShareLink=()=>post("/getShareLink"),tokenLogin=()=>post("/tokenLogin"),getCustomerGroup=()=>post("/getCustomerGroupList"),adPoint=e=>post("https://007.czgame.xyz:2087/api/ad/upload",e),base=Object.freeze(Object.defineProperty({__proto__:null,adPoint:adPoint,checkinDay:checkinDay,depositList:depositList,diamondConvert:diamondConvert,getCenterUrl:getCenterUrl,getCheckin:getCheckin,getChildRebate:getChildRebate,getChildRebateDetail:getChildRebateDetail,getChildRebateInfo:getChildRebateInfo,getChildRebateRecords:getChildRebateRecords,getChildRebateRecordsDetail:getChildRebateRecordsDetail,getCoinsDetailLog:getCoinsDetailLog,getCustomerGroup:getCustomerGroup,getFlowRecordPage:getFlowRecordPage,getHelpTurntable2Log:getHelpTurntable2Log,getMail:getMail,getMonthCheckinAward:getMonthCheckinAward,getNotice:getNotice,getOneOfThree:getOneOfThree,getPayClass:getPayClass,getPayMethodList:getPayMethodList,getPayRecords:getPayRecords,getPddTask:getPddTask,getPlatformConfig:getPlatformConfig,getPopularizePhones:getPopularizePhones,getPropsCache:getPropsCache,getShareLink:getShareLink,getTotalRebate:getTotalRebate,getTransMethodList:getTransMethodList,getVipAwardCycle:getVipAwardCycle,getVipLvAward:getVipLvAward,getWithDrawRecord:getWithDrawRecord,helpTurntableTaskAward:helpTurntableTaskAward,oneOfThreeBuy:oneOfThreeBuy,pddAddProbability:pddAddProbability,pddAwardRecords:pddAwardRecords,pddPointsBuy:pddPointsBuy,receiveChildRebate:receiveChildRebate,receiveCycleRebateLoss:receiveCycleRebateLoss,receiveMailAttachments:receiveMailAttachments,receiveOneOfThree:receiveOneOfThree,receiveTotalRebate:receiveTotalRebate,setMailRead:setMailRead,setNoticeRead:setNoticeRead,tokenLogin:tokenLogin,userDeposit:userDeposit,withdraw:withdraw,withdrawList:withdrawList},Symbol.toStringTag,{value:"Module"})),getCarousel=e=>post("/getRotationChartList",e),configuration=Object.freeze(Object.defineProperty({__proto__:null,getCarousel:getCarousel},Symbol.toStringTag,{value:"Module"})),getHelpTurntable=e=>post("/getTurntable2",e),turntableLog=e=>post("/getHelpTurntableLog",e),activity=Object.freeze(Object.defineProperty({__proto__:null,getHelpTurntable:getHelpTurntable,turntableLog:turntableLog},Symbol.toStringTag,{value:"Module"})),http={...user,...game,...base,...configuration,...activity},useUserStore=defineStore("user",{state:()=>({userInfo:{},vipInfo:{},newMail:0,noticesShow:0,pddAward:[]}),actions:{setUserInfo(e){this.userInfo={...e}},setPddAward(e){this.pddAward=[...e]},async getUserInfo(){const{data:e,code:t,txt:n}=await http.userInfo();return e.totalPay=e.totalPay||0,0!==t?(router.push("/login"),this.clearUser(),toast(n),{status:!1,msg:n,code:t}):(storage.setStorage(actions.USER_INFO,JSON.stringify(e)),this.setUserInfo(e),this.getVipLvInfo(),await this.getNewNotice(),await this.checkNewMail(),{status:!0,msg:n,code:t})},clearUser(){storage.removeStorage(actions.USER_INFO),storage.removeStorage(actions.USER_TOEKN),storage.removeSessionStorage(actions.DRAW_POPUP),this.setUserInfo({})},getVipLvInfo(){http.getVipLvInfo().then((e=>{0===e.code&&(this.vipInfo=e.data)}))},async getNewNotice(){const e=await http.checkNewNotice();this.noticesShow=e.data.newNotice||0},async checkNewMail(){const e=await http.checkNewMail();0==e.code&&(this.newMail=e.data.newMail)},hasNewMail(e){this.newMail=e},hasNewNotice(e){this.noticesShow+=e}}}),useUserStoreWithOut=()=>useUserStore(store),_withScopeId$2=e=>(pushScopeId("data-v-e74df1bc"),e=e(),popScopeId(),e),_hoisted_1$4={class:"bg-box"},_hoisted_2$4={class:"di-img"},_hoisted_3$3={class:"box flex-cl"},_hoisted_4$3=["onClick"],_hoisted_5$3={class:"item-tips"},_hoisted_6$3=["onClick"],_hoisted_7$2={class:"tip-top"},_hoisted_8$2={class:"gold"},_hoisted_9$1={class:"diamond"},_hoisted_10={class:"tip-bottom"},_hoisted_11={class:"ganhos-diarios"},_hoisted_12={class:"day"},_hoisted_13={class:"left"},_hoisted_14={class:"jisuan flex-ct"},_hoisted_15=_withScopeId$2((()=>createBaseVNode("span",{class:"ped"},"+",-1))),_hoisted_16=_withScopeId$2((()=>createBaseVNode("span",{class:"ped"},"=",-1))),_hoisted_17=_withScopeId$2((()=>createBaseVNode("span",{style:{"font-size":"0.3rem"}},"R$",-1))),_hoisted_18={class:"origPrice"},_hoisted_19={class:"right"},_hoisted_20={class:"per"},_hoisted_21=_withScopeId$2((()=>createBaseVNode("span",{class:"zhi"},"R$",-1))),_hoisted_22={class:"received-tips"},_hoisted_23={class:"container"},_hoisted_24={class:"payment-list",style:{"margin-bottom":"10px"}},_hoisted_25=["onClick"],_hoisted_26={key:0,class:"my-field"},_hoisted_27={class:"field"},_hoisted_28=_withScopeId$2((()=>createBaseVNode("p",{style:{"font-size":"16px",width:"50px","margin-left":"10px"}},"Nome:",-1))),_hoisted_29={class:"field",style:{"margin-top":"10px"}},_hoisted_30=_withScopeId$2((()=>createBaseVNode("p",{style:{"font-size":"16px",width:"50px","margin-left":"10px"}},"CPF",-1))),_sfc_main$4=defineComponent({__name:"index",props:{zIndex:{type:Number,default:1e3,required:!1},info:{type:Object,default:{},required:!1}},emits:["handle"],setup(e,{expose:t,emit:n}){const o=e,r=inject("socket"),i=useUserStore(),a=ref([]),s=ref([]),l=ref(0),c=ref(-1),u=ref(-1),d=ref(0),p=ref(!1),A=ref(!1),f=ref(),m=ref(),h=computed((()=>i.userInfo.oneOfThreePayIds));watch((()=>p.value),(()=>{E.value="",C.value=""})),watchEffect((()=>{A.value&&o.info.rows?(a.value=o.info.rows.map((e=>{switch(e.sort){case 1:e.icon="perfil/di_1.png";break;case 2:e.icon="perfil/di_2.png";break;case 3:e.icon="perfil/di_3.png"}return e})),h.value&&a.value.forEach(((e,t)=>{h.value.includes(e._id)&&(c.value=t)})),d.value=Number(fomartDate(o.info.oneOfThreeAt,"DD"))):(clearInterval(f.value),f.value=null)}));const g=ref(!1),v=()=>{u.value=-1},b=()=>{http.getPayClass().then((e=>{if(0!==e.code)return toast(e.txt);s.value=Array.from(Object.values(e.data),(e=>e)),p.value=!0}))},E=ref(""),C=ref(""),y=()=>{showLoading();const e={_id:a.value[c.value]._id,method:s.value[l.value].method[0],classValue:s.value[l.value].value,holder:E.value,cpf:C.value};http.oneOfThreeBuy(e).then((e=>{if(0!==e.code)return closeLoading(),void toast(e.txt);closeLoading(),showConfirmDialog({title:"Confirmation",message:"Success!please go to the deposit page",showCancelButton:!1,confirmButtonText:"Go now",confirmButtonColor:"#313160",width:"80%"}).then((async()=>{jumpOhterLink(e.data.url),p.value=!1,r.on(`${keyData.EVENT_NAME.PAY_ORDER}_${e.data.orderId}`).then((async()=>{await i.getUserInfo(),toast("Compra bem sucedida!"),n("handle")}))}))}))},w=()=>{showLoading(),http.receiveOneOfThree().then((async e=>{if(0!==e.code)return closeLoading(),void toast(e.txt);await i.getUserInfo(),0==h.value.length&&(clearInterval(f.value),m.value.innerHTML="",f.value=null),closeLoading(),toast("Recebido com sucesso!"),n("handle")}))},I=e=>((e.origPrice-e.price)/e.price*100).toFixed(0)+"%",S=computed((()=>a.value.length&&-1!==c.value?a.value[c.value].price/1e4:0)),R=computed((()=>-1===c.value)),T=computed((()=>{if(!A.value)return!1;if(!h.value&&!h.value.length)return!0;const e=Number(fomartDate(new Date,"DD"))-d.value;if(e<0)return!0;let t=0;return a.value[c.value]&&(t=a.value[c.value].keepDay-e),!!(h.value&&h.value.length{clearInterval(f.value),f.value=null;const e=getCurrentTime(),t=dayjs().date((new Date).getDate()+1).startOf("day").unix();var n,o,r,i=Number(t)-e;i&&m.value&&(f.value=setInterval((()=>{i--,n=Math.floor(i/60/60)%24,o=Math.floor(i/60%60),r=(r=i%60)<10?"0"+r:r,o=o<10?"0"+o:o,m.value.innerHTML=n+":"+o+":"+r,0==n&&0==o&&0==r&&(clearInterval(f.value),m.value.innerHTML="",f.value=null)}),1e3))})(),!0)}));const _=()=>{A.value=!0},O=()=>{clearInterval(f.value),f.value=null,m.value.innerHTML="",A.value=!1,c.value=-1,u.value=-1};return emitter.on("openThreeInOne",_),emitter.on("closeThreeInOne",O),t({open:_,close:O}),(t,n)=>{const o=_sfc_main$6,r=Button,i=Overlay,d=Field,f=__unplugin_components_2;return openBlock(),createBlock(Teleport,{to:"#app"},[createVNode(i,{show:A.value,"z-index":e.zIndex},{default:withCtx((()=>[createBaseVNode("div",_hoisted_1$4,[createVNode(o,{class:"close-img",src:"base/close.png",onClick:O}),createBaseVNode("div",_hoisted_2$4,[createVNode(o,{src:"perfil/tu3.png"}),createBaseVNode("div",_hoisted_3$3,[(openBlock(!0),createElementBlock(Fragment,null,renderList(a.value,((e,t)=>(openBlock(),createElementBlock("div",{class:normalizeClass(["block",{active:t===c.value,not_receive:h.value&&!h.value.includes(e._id)}]),style:normalizeStyle({backgroundImage:`url(${unref(getStaticImage)(e.icon)})`}),key:t,onClick:e=>function(e){h.value||(c.value=e,u.value=e)}(t)},[withDirectives(createBaseVNode("div",_hoisted_5$3,[createBaseVNode("div",{class:"close",onClick:withModifiers(v,["stop"])},null,8,_hoisted_6$3),createBaseVNode("div",_hoisted_7$2,[createBaseVNode("div",_hoisted_8$2,toDisplayString(unref(formatDigit)(e.propsList[0].num/1e4)),1),createBaseVNode("div",_hoisted_9$1,toDisplayString(unref(formatDigit)(e.propsList[1].num/1e4/e.keepDay)),1)]),createBaseVNode("div",_hoisted_10,[createBaseVNode("div",_hoisted_11,toDisplayString(unref(formatDigit)(e.propsList[1].num/1e4/e.keepDay)),1),createBaseVNode("div",_hoisted_12,toDisplayString(e.keepDay),1)])],512),[[vShow,u.value==t]]),createBaseVNode("div",_hoisted_13,[createBaseVNode("div",_hoisted_14,[createVNode(o,{width:"0.5rem",height:"0.5rem",src:"base/JB_R$.png"}),createBaseVNode("span",null,toDisplayString(unref(formatDigit)(e.propsList[0].num/1e4)),1),_hoisted_15,createVNode(o,{width:"0.5rem",height:"0.5rem",src:"base/JB_zs.png"}),createBaseVNode("span",null,toDisplayString(unref(formatDigit)(e.propsList[1].num/1e4)),1),_hoisted_16,_hoisted_17,createBaseVNode("span",_hoisted_18,toDisplayString(unref(formatDigit)(e.origPrice/1e4)),1)])]),createBaseVNode("div",_hoisted_19,[createBaseVNode("div",_hoisted_20,toDisplayString(I(e)),1),_hoisted_21,createBaseVNode("span",null,toDisplayString(unref(formatDigit)(e.price/1e4)),1)])],14,_hoisted_4$3)))),128))]),h.value?(openBlock(),createBlock(r,{key:1,class:"btn-box",disabled:T.value,onClick:w},{default:withCtx((()=>[createTextVNode(" RECEBER ")])),_:1},8,["disabled"])):(openBlock(),createBlock(r,{key:0,class:"btn-box",disabled:R.value,onClick:b},{default:withCtx((()=>[createTextVNode(" R$ "+toDisplayString(S.value),1)])),_:1},8,["disabled"])),createBaseVNode("p",_hoisted_22,[createBaseVNode("span",{style:{color:"#f3e615"},class:"time",ref_key:"timeRef",ref:m},null,512)])])])])),_:1},8,["show","z-index"]),createVNode(f,{modelValue:p.value,"onUpdate:modelValue":n[2]||(n[2]=e=>p.value=e),"z-index":1001,title:"Método de pagamento"},{default:withCtx((()=>[createBaseVNode("div",_hoisted_23,[createBaseVNode("div",_hoisted_24,[(openBlock(!0),createElementBlock(Fragment,null,renderList(s.value,((e,t)=>(openBlock(),createElementBlock("div",{class:normalizeClass(["payment",l.value==t?"active":""]),key:t,onClick:e=>(e=>{l.value=e;const t=s.value[l.value];g.value=t.isNeedAccount,C.value="",E.value=""})(t)},toDisplayString(e.txt),11,_hoisted_25)))),128))]),2===l.value&&g.value?(openBlock(),createElementBlock("div",_hoisted_26,[createBaseVNode("div",_hoisted_27,[_hoisted_28,createVNode(d,{modelValue:E.value,"onUpdate:modelValue":n[0]||(n[0]=e=>E.value=e),placeholder:"Nome do pagador",type:"text"},null,8,["modelValue"])]),createBaseVNode("div",_hoisted_29,[_hoisted_30,createVNode(d,{modelValue:C.value,"onUpdate:modelValue":n[1]||(n[1]=e=>C.value=e),placeholder:"CPF ou CNPJ (CPF ou CNPJ do pagador)",type:"digit"},null,8,["modelValue","placeholder"])])])):createCommentVNode("",!0)]),createVNode(r,{color:"#42866b",size:"large",onClick:y,disabled:2===l.value&&g.value&&(""===E.value||""===C.value)},{default:withCtx((()=>[createTextVNode(" COMPRAR ")])),_:1},8,["disabled"])])),_:1},8,["modelValue"])])}}}),index_vue_vue_type_style_index_0_scoped_e74df1bc_lang="",index_vue_vue_type_style_index_1_lang="",__unplugin_components_1=_export_sfc(_sfc_main$4,[["__scopeId","data-v-e74df1bc"]]),useBaseStore=defineStore("base",{state:()=>({shareLinkUrl:"",deferredPrompt:{},showAddToHomeVisible:!1,globalConfig:{},turntableConfig:{},turntableResult:{},helpList:[],helpTotal:0,refreshTurntable:!1,innerHeight:0,innerWidth:0,groupList:[]}),actions:{async setShareLinkUrl(){const e=await http.getShareLink();0!=e.code&&(this.shareLinkUrl="https://18n25.com/"),e.data.url?this.shareLinkUrl=e.data.url:this.shareLinkUrl="https://18n25.com/"},setDeferredPrompt(e){this.deferredPrompt=e},setShowAddToHomeVisible(e){this.showAddToHomeVisible=e},async setGlobalConfig(){const e=await http.getPlatformConfig();return this.globalConfig=e.data,{data:e.data}},async getHelpTurntable(){let e;storage.getStorage(actions.USER_TOEKN);e=await http.getHelpTurntable({recordSize:100}),0===e.code&&(this.turntableConfig=e.data)},async getHelpTurntableResult(){const e=await http.getHelpTurntableResult();this.turntableResult=e.data},clearTurntableInfo(){this.turntableResult={},this.helpList=[],this.helpTotal=0},setRefreshTurntable(e){this.refreshTurntable=e},async getHelpTurntable2Log(e){},async refreshHelpList(e){},async loadMoreHelpList(e){},setInnerInfo(e,t){this.innerHeight=e,this.innerWidth=t},async getCustomerGroup(){const e=await http.getCustomerGroup();0===e.code&&(this.groupList=e.data)}}}),useBaseStoreWithOut=()=>useBaseStore(store),_withScopeId$1=e=>(pushScopeId("data-v-808f5c6e"),e=e(),popScopeId(),e),_hoisted_1$3={key:0,class:"h-start-game"},_hoisted_2$3={id:"id-top"},_hoisted_3$2={class:"back"},_hoisted_4$2=_withScopeId$1((()=>createBaseVNode("div",{class:"text"},"Sair do jogo e voltar para a página inicial.",-1))),_hoisted_5$2=_withScopeId$1((()=>createBaseVNode("svg",{id:"id-arrow",t:"1729504327853",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"3627","xmlns:xlink":"http://www.w3.org/1999/xlink"},[createBaseVNode("path",{d:"M954.176 316.672L894.752 256 512 646.656 129.248 256 69.824 316.672 512 768z",fill:"#44444455","p-id":"3628"})],-1))),_hoisted_6$2=[_hoisted_5$2],_sfc_main$3=defineComponent({__name:"h-start-game",setup(e){inject("socket");const t=ref(),n=ref(!1),o=useUserStore(),r=useGameStore(),i=useBaseStore();watchEffect((()=>{r.startGameInfo.url&&n.value&&nextTick((()=>{t.value.height=r.startGameInfo.y?i.innerHeight+"px":"100%";t.value.contentDocument.body.style.background="#212126";let e=r.startGameInfo.url;document.getElementById("iframe")&&(t.value.src=e)}))}));const a=async()=>{var e;const t=document.getElementById("iframe");null==(e=t.parentNode)||e.removeChild(t),n.value=!1,r.clearGameUrl(),await o.getUserInfo()};emitter.on("closeGame",a),emitter.on("openGame",(async()=>{n.value=!0}));let s=!1,l="quiz_game_exit";function c(){let e=window.matchMedia("(orientation: portrait)").matches?50:60,t=document.getElementById("id-top"),n=window.getComputedStyle(t);if(n.top!==`-${e}px`&&"0px"!==n.top)return;let o=document.getElementById("id-arrow"),r=window.getComputedStyle(o).transform.split(",")[3];function i(e,n,o){e!=n&&setTimeout((()=>{e+=o,t.style.top=`${e}px`,e!=n&&i(e,n,o)}),1)}o.style.transform=`translate(-50%, -50%) scaleY(${-r})`,n.top===`-${e}px`&&1==r?i(-e,0,1):i(0,-e,-1)}function u(){s?document.location=`quizgame://${l}`:parent.postMessage(l,"*")}return window.addEventListener("resize",(function(e){let t=window.matchMedia("(orientation: portrait)").matches,n=document.getElementById("id-top");"0px"!==window.getComputedStyle(n).top&&(n.style.top=`-${t?50:60}px`)})),window.onload=function(){let e=window.location.search;e.includes("n=true")&&(s=!0);let t=e.match(/^.*?\?n=\S{4,5}&url=(.*)/),n=document.getElementById("id-game-frame");t[1]&&(n.src=t[1]),setTimeout((()=>{c()}),1e3),setTimeout((()=>{c()}),1500)},(e,o)=>{const i=Loading$1,s=_sfc_main$6;return n.value?(openBlock(),createElementBlock("div",_hoisted_1$3,[unref(r).startGameInfo.url?createCommentVNode("",!0):(openBlock(),createBlock(i,{key:0,color:"#fff",vertical:""},{default:withCtx((()=>[createTextVNode(" Game Loading... ")])),_:1})),createBaseVNode("iframe",{allow:"fullscreen",id:"iframe",ref_key:"iframeRef",ref:t,style:normalizeStyle({width:unref(r).startGameInfo.y?"10rem !important":"100vw"}),frameborder:"0"},"\r\n ",4),createBaseVNode("div",_hoisted_2$3,[createBaseVNode("div",_hoisted_3$2,[createVNode(s,{type:"local",onClick:a,class:"back-icon",src:"game/game-back.png"}),_hoisted_4$2]),createBaseVNode("div",{id:"id-toggle",onClick:c},_hoisted_6$2),createBaseVNode("button",{id:"id-game-btn",onClick:u})])])):createCommentVNode("",!0)}}}),hStartGame_vue_vue_type_style_index_0_scoped_808f5c6e_lang="",__unplugin_components_0=_export_sfc(_sfc_main$3,[["__scopeId","data-v-808f5c6e"]]),useGiftStore=defineStore("gift",{persist:!0,state:()=>({threeInOneInfo:{}}),actions:{getThreeInOneInfo(){http.getOneOfThree().then((e=>{0===e.code&&(this.threeInOneInfo=e.data)}))}}}),_hoisted_1$2={class:"overlay"},_hoisted_2$2={class:"overlay-body"},_hoisted_3$1={class:"details-box"},_hoisted_4$1={class:"flex-sb"},_hoisted_5$1=["src"],_hoisted_6$1=["title"],_hoisted_7$1={class:"gameName"},_hoisted_8$1={class:"btnBox"},_sfc_main$2=defineComponent({__name:"index",setup(e){const t=inject("socket"),n=useGameStore(),o=useUserStore(),r=useRouter(),i=ref(!1),a=ref(!1),s=ref(!1),l=computed((()=>!o.userInfo||n.gameInfo.canDemoPayLimit&&o.userInfo.totalPay{localStorage.removeItem("game"),a.value=!1},u=computed((()=>{if(o.userInfo){if(o.userInfo.collectionGameIds){return(o.userInfo.collectionGameIds||[]).filter((e=>e===n.gameInfo.gameId)).length>0?"base/heart2.png":"base/heart.png"}return"base/heart.png"}return"base/heart.png"})),d=async()=>{if(!storage.getStorage(actions.USER_TOEKN))return a.value=!1,void r.replace("/login");let e;if(s.value=!0,e=(o.userInfo.collectionGameIds||[]).filter((e=>e===n.gameInfo.gameId)).length>0?await http.uncollectGame({gameId:n.gameInfo.gameId}):await http.collectGame({gameId:n.gameInfo.gameId}),0!==e.code)return toast(e.txt),void(s.value=!1);o.getUserInfo(),setTimeout((()=>{s.value=!1}),2e3)};emitter.on("openGameDetail",(()=>{a.value=!0}));const p=async e=>{if(!storage.getStorage(actions.USER_TOEKN))return a.value=!1,void r.replace("/login");let o;if(1===e)o={gameId:n.gameInfo.gameId,isDemo:!0};else if(2===e){let e=storage.getStorage(actions.COLLECT_GAME_IDS)?JSON.parse(storage.getStorage(actions.COLLECT_GAME_IDS)||""):[];e.push(n.gameInfo.gameId),storage.setStorage(actions.COLLECT_GAME_IDS,JSON.stringify(Array.from(new Set(e)))),o={gameId:n.gameInfo.gameId}}const s=await http.getGameUrl(o);if(1027===s.code||1046===s.code||1047===s.code)return-1!=navigator.userAgent.search("Windows")&&s.data.y&&(i.value=!0),t.disconnectMsg(),n.setStartGameInfo(s.data),void(a.value=!1);0===s.code?(-1!=navigator.userAgent.search("Windows")&&s.data.y&&(i.value=!0),t.disconnectMsg(),n.setStartGameInfo(s.data),a.value=!1):toast(s.txt)};return watch((()=>a.value),(()=>{const e=document.body;a.value&&e?e.style.overflow="hidden":!a.value&&e&&(e.style.overflow="auto")})),(e,t)=>{const o=_sfc_main$6,r=Loading$1,i=Overlay;return openBlock(),createBlock(i,{"z-index":2147483640,show:a.value,"lock-scroll":!1},{default:withCtx((()=>[createBaseVNode("div",_hoisted_1$2,[createBaseVNode("div",_hoisted_2$2,[createBaseVNode("div",_hoisted_3$1,[createVNode(o,{class:"close",width:".5rem",type:"local",src:"menu/close.png",onClick:c}),createBaseVNode("div",_hoisted_4$1,[createBaseVNode("img",{class:"game-icon",src:unref(getImage)(unref(n).gameInfo.gameImg2)},null,8,_hoisted_5$1),createBaseVNode("div",{class:"game-title",title:unref(n).gameInfo.gameAlias},[createBaseVNode("div",_hoisted_7$1,toDisplayString(unref(n).gameInfo.gameAlias),1),s.value?(openBlock(),createBlock(r,{key:0,size:".6rem",color:"#268C71"})):(openBlock(),createBlock(o,{key:1,width:".6rem",type:"local",src:u.value,onClick:d},null,8,["src"]))],8,_hoisted_6$1)]),createBaseVNode("div",_hoisted_8$1,[withDirectives(createBaseVNode("div",{class:"btn1",onClick:t[0]||(t[0]=e=>p(1))},"Demo",512),[[vShow,l.value]]),createBaseVNode("div",{class:"btn2",onClick:t[1]||(t[1]=e=>p(2))},"JOGUE")])])])])])),_:1},8,["show"])}}}),index_vue_vue_type_style_index_0_scoped_18884fe0_lang="",gameDetails=_export_sfc(_sfc_main$2,[["__scopeId","data-v-18884fe0"]]),index$2=Object.freeze(Object.defineProperty({__proto__:null,default:gameDetails},Symbol.toStringTag,{value:"Module"})),noticeStore=defineStore("notice",{persist:!0,state:()=>({notice:[],showTopDownload:!0,broadcast:[]}),actions:{closeShowTopDownload(){this.showTopDownload=!1},setBroadcast(e){if(e.gameId)return;let t={...e};if(t.txt=e.txt.replace("{#uid}",fomartName(`${e.uid}`)).replace("{#game}",e.gameAlias).replace("{#coins}",e.coins/1e4),this.broadcast.length>=2){let e=[this.broadcast[this.broadcast.length-1]];e.push(t),this.broadcast=[...e]}else this.broadcast.push(t)},setNotice(e){if(!e.gameId)return;let t=[...this.notice];if(!t.find((t=>t.serverTime==e.serverTime&&t.uid==e.uid))){let n=gameListStore().originalList.find((t=>t.gameId===e.gameId));t.push({...n,...e}),t.length>18?this.notice=t.slice(t.length-18,t.length):this.notice=[...t],this.setNoticeTxt()}},setNoticeTxt(){this.notice.forEach((e=>{e.txt&&(e.txt=e.txt.replace("{#uid}",fomartName(`${e.uid}`)).replace("{#game}",e.gameAlias).replace("{#coins}",e.coins/1e4))}))},async getNotice(){if(this.notice.length>0)return;const e=await http.getNotice();0===e.code&&(this.notice=[...e.data])},setAllNotice(e){e.length>18?this.notice=e.slice(e.length-18,e.length):this.notice=[...e],this.setNoticeTxt()}}}),useNoticeStoreWithOut=()=>noticeStore(store),gameListStore=defineStore(actions.GAME_LIST,{persist:!0,state:()=>({gameList:[],originalList:[],providerList:[],gameClassData:[],carouselData:[],gameTypeData:[],announcementData:[]}),actions:{setAllGameList(e){this.originalList=e,this.setPackageData()},async setGameTypeData(){const e=await http.getGameTypeList();0==e.code&&(this.gameTypeData=e.data)},async setCarouselData(){const e=await http.getCarousel();0==e.code&&(this.carouselData=e.data.filter((e=>!e.isDisable)))},async setProviderListData(){const e=await http.getGameProviderList();0==e.code&&(this.providerList=e.data.filter((e=>!e.isDisable&&!e.isDeleted)))},async setGameClassDataData(e){const t=await http.getGameClassList();0==t.code&&(this.gameClassData=t.data.filter((e=>!e.isWebDisable&&!e.isDeleted)),e&&this.setPackageData())},async getAds(){const e=await http.getAds();this.announcementData=e.data},async setNotice(){const e=await http.getNotice();if(0!=e.code)return;let t=[];for(let n=0;nt.gameId===e.data[n].gameId));t.push({...o,...e.data[n]})}noticeStore().setAllNotice(t)},async getGameList(){if(0===this.carouselData.length&&await this.setCarouselData(),0===this.providerList.length&&await this.setProviderListData(),0===this.gameTypeData.length&&await this.setGameTypeData(),0===this.gameList.length&&await this.setGameClassDataData(!1),0===this.originalList.length){const e=await http.gameList();if(0!=e.code)return;this.originalList=e.data}0===noticeStore().notice.length&&await this.setNotice(),this.setPackageData()},setOriginalList(){this.originalList=[]},setPackageData(){let e=[];for(let t=0;te===this.gameClassData[t].gameClassId))&&-1!=this.originalList[e].state&&n.gameList.push(this.originalList[e]);n.gameList.sort(((e,t)=>t.sortInClass[n.gameClassId]-e.sortInClass[n.gameClassId]));for(let e=0;egameListStore(store);var NoSleep_min={exports:{}}; +/*! NoSleep.min.js v0.12.0 - git.io/vfn01 - Rich Tibbett - MIT license */NoSleep_min.exports=function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){var o=function(){function e(e,t){for(var n=0;n.5&&(t.noSleepVideo.currentTime=Math.random())}))})))}return o(e,[{key:"_addSourceToVideo",value:function(e,t,n){var o=document.createElement("source");o.src=n,o.type="video/"+t,e.appendChild(o)}},{key:"enable",value:function(){var e=this;return l()?navigator.wakeLock.request("screen").then((function(t){e._wakeLock=t,e.enabled=!0,e._wakeLock.addEventListener("release",(function(){}))})).catch((function(t){throw e.enabled=!1,t})):s()?(this.disable(),this.noSleepTimer=window.setInterval((function(){document.hidden||(window.location.href=window.location.href.split("#")[0],window.setTimeout(window.stop,0))}),15e3),this.enabled=!0,Promise.resolve()):this.noSleepVideo.play().then((function(t){return e.enabled=!0,t})).catch((function(t){throw e.enabled=!1,t}))}},{key:"disable",value:function(){l()?(this._wakeLock&&this._wakeLock.release(),this._wakeLock=null):s()?this.noSleepTimer&&(window.clearInterval(this.noSleepTimer),this.noSleepTimer=null):this.noSleepVideo.pause(),this.enabled=!1}},{key:"isEnabled",get:function(){return this.enabled}}]),e}();e.exports=c},function(e,t,n){e.exports={webm:"data:video/webm;base64,GkXfowEAAAAAAAAfQoaBAUL3gQFC8oEEQvOBCEKChHdlYm1Ch4EEQoWBAhhTgGcBAAAAAAAVkhFNm3RALE27i1OrhBVJqWZTrIHfTbuMU6uEFlSua1OsggEwTbuMU6uEHFO7a1OsghV17AEAAAAAAACkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVSalmAQAAAAAAAEUq17GDD0JATYCNTGF2ZjU1LjMzLjEwMFdBjUxhdmY1NS4zMy4xMDBzpJBlrrXf3DCDVB8KcgbMpcr+RImIQJBgAAAAAAAWVK5rAQAAAAAAD++uAQAAAAAAADLXgQFzxYEBnIEAIrWcg3VuZIaFVl9WUDiDgQEj44OEAmJaAOABAAAAAAAABrCBsLqBkK4BAAAAAAAPq9eBAnPFgQKcgQAitZyDdW5khohBX1ZPUkJJU4OBAuEBAAAAAAAAEZ+BArWIQOdwAAAAAABiZIEgY6JPbwIeVgF2b3JiaXMAAAAAAoC7AAAAAAAAgLUBAAAAAAC4AQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAQAAABUAAABlbmNvZGVyPUxhdmM1NS41Mi4xMDIBBXZvcmJpcyVCQ1YBAEAAACRzGCpGpXMWhBAaQlAZ4xxCzmvsGUJMEYIcMkxbyyVzkCGkoEKIWyiB0JBVAABAAACHQXgUhIpBCCGEJT1YkoMnPQghhIg5eBSEaUEIIYQQQgghhBBCCCGERTlokoMnQQgdhOMwOAyD5Tj4HIRFOVgQgydB6CCED0K4moOsOQghhCQ1SFCDBjnoHITCLCiKgsQwuBaEBDUojILkMMjUgwtCiJqDSTX4GoRnQXgWhGlBCCGEJEFIkIMGQcgYhEZBWJKDBjm4FITLQagahCo5CB+EIDRkFQCQAACgoiiKoigKEBqyCgDIAAAQQFEUx3EcyZEcybEcCwgNWQUAAAEACAAAoEiKpEiO5EiSJFmSJVmSJVmS5omqLMuyLMuyLMsyEBqyCgBIAABQUQxFcRQHCA1ZBQBkAAAIoDiKpViKpWiK54iOCISGrAIAgAAABAAAEDRDUzxHlETPVFXXtm3btm3btm3btm3btm1blmUZCA1ZBQBAAAAQ0mlmqQaIMAMZBkJDVgEACAAAgBGKMMSA0JBVAABAAACAGEoOogmtOd+c46BZDppKsTkdnEi1eZKbirk555xzzsnmnDHOOeecopxZDJoJrTnnnMSgWQqaCa0555wnsXnQmiqtOeeccc7pYJwRxjnnnCateZCajbU555wFrWmOmkuxOeecSLl5UptLtTnnnHPOOeecc84555zqxekcnBPOOeecqL25lpvQxTnnnE/G6d6cEM4555xzzjnnnHPOOeecIDRkFQAABABAEIaNYdwpCNLnaCBGEWIaMulB9+gwCRqDnELq0ehopJQ6CCWVcVJKJwgNWQUAAAIAQAghhRRSSCGFFFJIIYUUYoghhhhyyimnoIJKKqmooowyyyyzzDLLLLPMOuyssw47DDHEEEMrrcRSU2011lhr7jnnmoO0VlprrbVSSimllFIKQkNWAQAgAAAEQgYZZJBRSCGFFGKIKaeccgoqqIDQkFUAACAAgAAAAABP8hzRER3RER3RER3RER3R8RzPESVREiVREi3TMjXTU0VVdWXXlnVZt31b2IVd933d933d+HVhWJZlWZZlWZZlWZZlWZZlWZYgNGQVAAACAAAghBBCSCGFFFJIKcYYc8w56CSUEAgNWQUAAAIACAAAAHAUR3EcyZEcSbIkS9IkzdIsT/M0TxM9URRF0zRV0RVdUTdtUTZl0zVdUzZdVVZtV5ZtW7Z125dl2/d93/d93/d93/d93/d9XQdCQ1YBABIAADqSIymSIimS4ziOJElAaMgqAEAGAEAAAIriKI7jOJIkSZIlaZJneZaomZrpmZ4qqkBoyCoAABAAQAAAAAAAAIqmeIqpeIqoeI7oiJJomZaoqZoryqbsuq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq4LhIasAgAkAAB0JEdyJEdSJEVSJEdygNCQVQCADACAAAAcwzEkRXIsy9I0T/M0TxM90RM901NFV3SB0JBVAAAgAIAAAAAAAAAMybAUy9EcTRIl1VItVVMt1VJF1VNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVN0zRNEwgNWQkAkAEAkBBTLS3GmgmLJGLSaqugYwxS7KWxSCpntbfKMYUYtV4ah5RREHupJGOKQcwtpNApJq3WVEKFFKSYYyoVUg5SIDRkhQAQmgHgcBxAsixAsiwAAAAAAAAAkDQN0DwPsDQPAAAAAAAAACRNAyxPAzTPAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABA0jRA8zxA8zwAAAAAAAAA0DwP8DwR8EQRAAAAAAAAACzPAzTRAzxRBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABA0jRA8zxA8zwAAAAAAAAAsDwP8EQR0DwRAAAAAAAAACzPAzxRBDzRAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEOAAABBgIRQasiIAiBMAcEgSJAmSBM0DSJYFTYOmwTQBkmVB06BpME0AAAAAAAAAAAAAJE2DpkHTIIoASdOgadA0iCIAAAAAAAAAAAAAkqZB06BpEEWApGnQNGgaRBEAAAAAAAAAAAAAzzQhihBFmCbAM02IIkQRpgkAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAGHAAAAgwoQwUGrIiAIgTAHA4imUBAIDjOJYFAACO41gWAABYliWKAABgWZooAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAYcAAACDChDBQashIAiAIAcCiKZQHHsSzgOJYFJMmyAJYF0DyApgFEEQAIAAAocAAACLBBU2JxgEJDVgIAUQAABsWxLE0TRZKkaZoniiRJ0zxPFGma53meacLzPM80IYqiaJoQRVE0TZimaaoqME1VFQAAUOAAABBgg6bE4gCFhqwEAEICAByKYlma5nmeJ4qmqZokSdM8TxRF0TRNU1VJkqZ5niiKommapqqyLE3zPFEURdNUVVWFpnmeKIqiaaqq6sLzPE8URdE0VdV14XmeJ4qiaJqq6roQRVE0TdNUTVV1XSCKpmmaqqqqrgtETxRNU1Vd13WB54miaaqqq7ouEE3TVFVVdV1ZBpimaaqq68oyQFVV1XVdV5YBqqqqruu6sgxQVdd1XVmWZQCu67qyLMsCAAAOHAAAAoygk4wqi7DRhAsPQKEhKwKAKAAAwBimFFPKMCYhpBAaxiSEFEImJaXSUqogpFJSKRWEVEoqJaOUUmopVRBSKamUCkIqJZVSAADYgQMA2IGFUGjISgAgDwCAMEYpxhhzTiKkFGPOOScRUoox55yTSjHmnHPOSSkZc8w556SUzjnnnHNSSuacc845KaVzzjnnnJRSSuecc05KKSWEzkEnpZTSOeecEwAAVOAAABBgo8jmBCNBhYasBABSAQAMjmNZmuZ5omialiRpmud5niiapiZJmuZ5nieKqsnzPE8URdE0VZXneZ4oiqJpqirXFUXTNE1VVV2yLIqmaZqq6rowTdNUVdd1XZimaaqq67oubFtVVdV1ZRm2raqq6rqyDFzXdWXZloEsu67s2rIAAPAEBwCgAhtWRzgpGgssNGQlAJABAEAYg5BCCCFlEEIKIYSUUggJAAAYcAAACDChDBQashIASAUAAIyx1lprrbXWQGettdZaa62AzFprrbXWWmuttdZaa6211lJrrbXWWmuttdZaa6211lprrbXWWmuttdZaa6211lprrbXWWmuttdZaa6211lprrbXWWmstpZRSSimllFJKKaWUUkoppZRSSgUA+lU4APg/2LA6wknRWGChISsBgHAAAMAYpRhzDEIppVQIMeacdFRai7FCiDHnJKTUWmzFc85BKCGV1mIsnnMOQikpxVZjUSmEUlJKLbZYi0qho5JSSq3VWIwxqaTWWoutxmKMSSm01FqLMRYjbE2ptdhqq7EYY2sqLbQYY4zFCF9kbC2m2moNxggjWywt1VprMMYY3VuLpbaaizE++NpSLDHWXAAAd4MDAESCjTOsJJ0VjgYXGrISAAgJACAQUooxxhhzzjnnpFKMOeaccw5CCKFUijHGnHMOQgghlIwx5pxzEEIIIYRSSsaccxBCCCGEkFLqnHMQQgghhBBKKZ1zDkIIIYQQQimlgxBCCCGEEEoopaQUQgghhBBCCKmklEIIIYRSQighlZRSCCGEEEIpJaSUUgohhFJCCKGElFJKKYUQQgillJJSSimlEkoJJYQSUikppRRKCCGUUkpKKaVUSgmhhBJKKSWllFJKIYQQSikFAAAcOAAABBhBJxlVFmGjCRcegEJDVgIAZAAAkKKUUiktRYIipRikGEtGFXNQWoqocgxSzalSziDmJJaIMYSUk1Qy5hRCDELqHHVMKQYtlRhCxhik2HJLoXMOAAAAQQCAgJAAAAMEBTMAwOAA4XMQdAIERxsAgCBEZohEw0JweFAJEBFTAUBigkIuAFRYXKRdXECXAS7o4q4DIQQhCEEsDqCABByccMMTb3jCDU7QKSp1IAAAAAAADADwAACQXAAREdHMYWRobHB0eHyAhIiMkAgAAAAAABcAfAAAJCVAREQ0cxgZGhscHR4fICEiIyQBAIAAAgAAAAAggAAEBAQAAAAAAAIAAAAEBB9DtnUBAAAAAAAEPueBAKOFggAAgACjzoEAA4BwBwCdASqwAJAAAEcIhYWIhYSIAgIABhwJ7kPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99YAD+/6tQgKOFggADgAqjhYIAD4AOo4WCACSADqOZgQArADECAAEQEAAYABhYL/QACIBDmAYAAKOFggA6gA6jhYIAT4AOo5mBAFMAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAGSADqOFggB6gA6jmYEAewAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIAj4AOo5mBAKMAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAKSADqOFggC6gA6jmYEAywAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIAz4AOo4WCAOSADqOZgQDzADECAAEQEAAYABhYL/QACIBDmAYAAKOFggD6gA6jhYIBD4AOo5iBARsAEQIAARAQFGAAYWC/0AAiAQ5gGACjhYIBJIAOo4WCATqADqOZgQFDADECAAEQEAAYABhYL/QACIBDmAYAAKOFggFPgA6jhYIBZIAOo5mBAWsAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAXqADqOFggGPgA6jmYEBkwAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIBpIAOo4WCAbqADqOZgQG7ADECAAEQEAAYABhYL/QACIBDmAYAAKOFggHPgA6jmYEB4wAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIB5IAOo4WCAfqADqOZgQILADECAAEQEAAYABhYL/QACIBDmAYAAKOFggIPgA6jhYICJIAOo5mBAjMAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAjqADqOFggJPgA6jmYECWwAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYICZIAOo4WCAnqADqOZgQKDADECAAEQEAAYABhYL/QACIBDmAYAAKOFggKPgA6jhYICpIAOo5mBAqsAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCArqADqOFggLPgA6jmIEC0wARAgABEBAUYABhYL/QACIBDmAYAKOFggLkgA6jhYIC+oAOo5mBAvsAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAw+ADqOZgQMjADECAAEQEAAYABhYL/QACIBDmAYAAKOFggMkgA6jhYIDOoAOo5mBA0sAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCA0+ADqOFggNkgA6jmYEDcwAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIDeoAOo4WCA4+ADqOZgQObADECAAEQEAAYABhYL/QACIBDmAYAAKOFggOkgA6jhYIDuoAOo5mBA8MAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCA8+ADqOFggPkgA6jhYID+oAOo4WCBA+ADhxTu2sBAAAAAAAAEbuPs4EDt4r3gQHxghEr8IEK",mp4:"data:video/mp4;base64,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"}}]);var NoSleep_minExports=NoSleep_min.exports;const NoSleep=getDefaultExportFromCjs(NoSleep_minExports);var u={library:"https://accounts.google.com/gsi/client",defaultButtonConfig:{theme:"outline",size:"large"},scopes:"email profile openid"};const g=reactive({clientId:null,popupType:"CODE",prompt:!1,autoLogin:!1,idConfiguration:null,buttonConfig:u.defaultButtonConfig,callback:()=>{},error:null}),f=reactive({apiLoaded:!1,apiLoadIntitited:!1}),b=e=>{try{const t=e.split(".")[1].replace(/-/g,"+").replace(/_/g,"/"),n=decodeURIComponent(atob(t).split("").map((function(e){return"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)})).join(""));return JSON.parse(n)}catch(t){throw"JWT provided is invalid"}},m=new Promise((e=>{const t="undefined"!=typeof window;if(!f.apiLoadIntitited&&t){const t=document.createElement("script");f.apiLoadIntitited=!0,t.addEventListener("load",(()=>{f.apiLoaded=!0,e(window.google)})),t.src=u.library,t.async=!0,t.defer=!0,document.head.appendChild(t)}})),w=e=>{f.apiLoadIntitited?f.apiLoaded?e(window.google):watch((()=>f.apiLoaded),(t=>{t&&e(window.google)})):m.then((t=>{e(t)}))},I=(e,t,n,o)=>{if(!e.client_id)throw new Error("Prop client id required since plugin is not initialized with a client id");w((()=>{((e,t,n,o,r)=>{if(r){const t=e.callback;e.callback=e=>{e.credential?t&&t(e):r(e)}}window.google.accounts.id.initialize(e);const i=t.value;i&&!o&&window.google.accounts.id.renderButton(i,n)})(e,t,n.buttonConfig,o,n.error),n.prompt&&k({clientId:n.clientId,callback:n.callback,error:n.error,autoLogin:n.autoLogin})}))},y=e=>new Promise(((t,n)=>{w((o=>{if(!(e&&e.clientId||g.clientId))throw new Error("clientId is required since the plugin is not initialized with a Client Id");o.accounts.oauth2.initCodeClient({client_id:e&&e.clientId||g.clientId||"",scope:u.scopes,ux_mode:"popup",callback:e=>{e.code?t(e):n(e)},error_callback:e=>{n(e)}}).requestCode()}))})),h=e=>new Promise(((t,n)=>{w((o=>{if(!(e&&e.clientId||g.clientId))throw new Error("clientId is required since the plugin is not initialized with a Client Id");o.accounts.oauth2.initTokenClient({client_id:e&&e.clientId||g.clientId||"",scope:u.scopes,callback:e=>{e.access_token?t(e):n(e)},error_callback:e=>{n(e)}}).requestAccessToken()}))})),k=e=>{if(!e&&(e={}),!e.clientId&&!g.clientId)throw new Error("clientId is required");const t={};return e.clientId&&(t.client_id=e.clientId),!e.clientId&&g.clientId&&(t.client_id=g.clientId),e.context&&(t.context=e.context),null!=e.autoLogin&&(t.auto_select=e.autoLogin),null!=e.cancelOnTapOutside&&(t.cancel_on_tap_outside=e.cancelOnTapOutside),new Promise(((n,o)=>{t.callback=t=>{e&&e.callback&&e.callback(t),t.credential?n(t):o(t)},w((n=>{n.accounts.id.initialize(t),n.accounts.id.prompt((t=>{e&&e.onNotification&&e.onNotification(t),(e=>{const t=e.notification;let n="";t.isNotDisplayed()&&(n="suppressed_by_user"===t.getNotDisplayedReason()?"Prompt was suppressed by user'. Refer https://developers.google.com/identity/gsi/web/guides/features#exponential_cooldown for more info":`Prompt was not displayed, reason for not displaying: ${t.getNotDisplayedReason()}`),t.isSkippedMoment()&&(n=`Prompt was skipped, reason for skipping: ${t.getSkippedReason()}`),n.length&&(e.error?e.error(n):e.reject(n))})({notification:t,reject:o,error:e&&e.error})}))}))}))};var C=defineComponent({name:"GoogleLogin",props:{clientId:{type:String,required:!1},prompt:{type:Boolean,required:!1,default:!1},autoLogin:{type:Boolean,required:!1,default:!1},popupType:{type:String,required:!1},idConfiguration:{type:Object,required:!1},buttonConfig:{type:Object,required:!1},callback:{type:Function,required:!1},error:{type:Function,required:!1}},setup(e){const t=e,n=!!useSlots().default,o=((e,t)=>{const n={...g};for(const o in t)void 0!==t[o]&&null!==t[o]&&(n[o]=t[o]);return n})(0,t),r={client_id:o.clientId||null,auto_select:o.autoLogin||!1,callback:o.callback,...o.idConfiguration},i=ref();return onMounted((()=>{I(r,i,o,n),t.popupType})),(e,t)=>(openBlock(),createElementBlock("div",{class:"g-btn-wrapper",onClick:t[0]||(t[0]=e=>unref(n)&&void("TOKEN"===unref(o).popupType?h({clientId:o.clientId}).then((e=>{o.callback&&o.callback(e)})).catch((e=>{o.error&&o.error(e)})):y({clientId:o.clientId}).then((e=>{o.callback&&o.callback(e)})).catch((e=>{o.error&&o.error(e)}))))},[unref(n)?createCommentVNode("v-if",!0):(openBlock(),createElementBlock("span",{key:0,ref_key:"buttonRef",ref:i,class:"g-btn"},null,512)),renderSlot(e.$slots,"default")]))}});!function(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var o=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css","top"===n&&o.firstChild?o.insertBefore(r,o.firstChild):o.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}}("\n.g-btn-wrapper[data-v-5e610566] {\n display: inline-block;\n}\n"),C.__scopeId="data-v-5e610566",C.__file="src/plugin/GoogleLogin.vue";var L={install:(e,t)=>{var n;t&&((n=t).clientId&&(g.clientId=n.clientId),n.popupType&&(g.popupType=n.popupType),null!=n.prompt&&(g.prompt=n.prompt),null!=n.autoLogin&&(g.autoLogin=n.autoLogin),n.idConfiguration&&(g.idConfiguration=n.idConfiguration),n.buttonConfig&&(g.buttonConfig=n.buttonConfig),n.callback&&(g.callback=n.callback)),m.then((()=>{if(t.clientId){const e={client_id:t.clientId,auto_select:!0===t.autoLogin,callback:t.callback,use_fedcm_for_prompt:!0,...t.idConfiguration};window.google.accounts.id.initialize(e),t.prompt&&window.google.accounts.id.prompt()}})),e.component("GoogleLogin",C)}};async function googleLogin(e){const t=await useBaseStoreWithOut().setGlobalConfig();t.data&&e.use(L,{clientId:t.data.platformConfig.google_secret_key})}const index$1="",_withScopeId=e=>(pushScopeId("data-v-b4250d7f"),e=e(),popScopeId(),e),_hoisted_1$1={class:"add-to-home-content"},_hoisted_2$1={class:"tips"},_hoisted_3=_withScopeId((()=>createBaseVNode("span",null," Gostaríamos de adicionar o 18N à sua tela inicial para as últimas apostas grátis e atualizações de bônus. ",-1))),_hoisted_4={class:"is-ios"},_hoisted_5=_withScopeId((()=>createBaseVNode("div",{class:"title"},"Adicionar à Tela de Início",-1))),_hoisted_6={class:"tip"},_hoisted_7=_withScopeId((()=>createBaseVNode("span",null," 1.Toque no ícone [Mais] e, em seguida, toque em Adicionar à Tela Inicial ",-1))),_hoisted_8={class:"tip"},_hoisted_9=_withScopeId((()=>createBaseVNode("span",null,"2.clique em Adicionar à tela inicial, selecione [Adicionar]",-1))),_sfc_main$1=defineComponent({__name:"index",setup(e){const t=useBaseStore(),n=ref(!1),o=ref(!1);watchEffect((()=>{t.showAddToHomeVisible&&(n.value=!0)}));const r=()=>{n.value=!1,storage.setSessionStorage(actions.ADD_TO_HOME,1),t.setShowAddToHomeVisible(!1)},i=()=>{JSON.parse(storage.getSessionStorage(actions.BROWSER)).isIos?(o.value=!0,n.value=!1):(t.deferredPrompt.prompt(),t.deferredPrompt.userChoice.then((e=>{"accepted"===e.outcome&&(n.value=!1)}))),storage.setSessionStorage(actions.ADD_TO_HOME,1)};return(e,t)=>{const a=_sfc_main$6,s=Popup;return openBlock(),createElementBlock(Fragment,null,[createVNode(s,{teleport:"#app","z-index":"9999999999999999",show:n.value,"onUpdate:show":t[0]||(t[0]=e=>n.value=e),position:"bottom",onClosed:r},{default:withCtx((()=>[createBaseVNode("div",_hoisted_1$1,[createBaseVNode("div",_hoisted_2$1,[createVNode(a,{width:"3.5rem",src:"base/144.png"}),_hoisted_3]),createBaseVNode("div",{class:"button"},[createBaseVNode("div",{class:"cancelar",onClick:r},"Cancelar"),createBaseVNode("div",{class:"continuar",onClick:i},"Continuar")])])])),_:1},8,["show"]),createVNode(s,{teleport:"#app","z-index":"9999999999999999",show:o.value,"onUpdate:show":t[1]||(t[1]=e=>o.value=e),position:"bottom",closeable:""},{default:withCtx((()=>[createBaseVNode("div",_hoisted_4,[_hoisted_5,createBaseVNode("div",_hoisted_6,[_hoisted_7,createVNode(a,{src:"base/ios-tip-1.png"})]),createBaseVNode("div",_hoisted_8,[_hoisted_9,createVNode(a,{src:"base/ios-tip-2.png"})]),createVNode(a,{class:"dianji",src:"base/dianji.png"})])])),_:1},8,["show"])],64)}}}),index_vue_vue_type_style_index_0_scoped_b4250d7f_lang="",AddToHome=_export_sfc(_sfc_main$1,[["__scopeId","data-v-b4250d7f"]]),_hoisted_1=["src"],_hoisted_2=["src"],_sfc_main=defineComponent({__name:"App",setup(e){gameListStore();const t=inject("socket"),n=inject("app"),o=useUserStore(),r=useBaseStore(),i=useGiftStore(),a=useRouter(),s=ref(!0),l=ref("push"),c=computed((()=>storage.getStorage(actions.USER_TOEKN)));a.beforeEach(((e,t)=>{e.meta.index>t.meta.index?l.value="push":e.meta.index{u.value=!0},p=()=>{u.value=!1};onMounted((async()=>{c.value?t.connect().then((async()=>{await o.getUserInfo(),await i.getThreeInOneInfo(),await r.getHelpTurntable()})):(t.connectMsg(),await r.getHelpTurntable());const e=document.getElementById("app");e.style.height=window.innerHeight+"px",e.style.overflow="hidden",r.setInnerInfo(window.innerHeight,window.innerWidth),A(),storage.setStorage(actions.SHOW_NOTICE,1)}));const A=async()=>{(()=>{let e=new NoSleep;document.addEventListener("click",(function t(){e.enable(),document.removeEventListener("click",t,!1)}),!1)})();const e=document.getElementById("app");e.style.height=window.innerHeight+"px",e.style.overflow="",window.onresize=()=>{r.setInnerInfo(window.innerHeight,window.innerWidth),e.style.height=window.innerHeight+"px"},googleLogin(n),await r.getCustomerGroup(),setTimeout((()=>{s.value=!1}),2e3)};return onBeforeUnmount((()=>{t.disconnect(),storage.clearStorage()})),(e,t)=>{const n=resolveComponent("router-view"),o=__unplugin_components_0,r=__unplugin_components_1;return openBlock(),createElementBlock(Fragment,null,[s.value?(openBlock(),createElementBlock("img",{key:0,src:unref(getAssets)("base/loading-page.gif"),class:"loading-page"},null,8,_hoisted_1)):createCommentVNode("",!0),(openBlock(),createBlock(Suspense,null,{default:withCtx((()=>[createVNode(n,null,{default:withCtx((({Component:e,route:t})=>[createVNode(Transition,{name:l.value,onBeforeEnter:d,onBeforeLeave:p},{default:withCtx((()=>[t.meta.keepAlive?(openBlock(),createBlock(KeepAlive,{key:0},[(openBlock(),createBlock(resolveDynamicComponent(e),{key:t.fullPath,class:"fixed-layout",style:normalizeStyle({zIndex:u.value?"1":"0"})},null,8,["style"]))],1024)):(openBlock(),createBlock(resolveDynamicComponent(e),{key:t.fullPath,class:"fixed-layout",style:normalizeStyle({zIndex:u.value?"1":"0"})},null,8,["style"]))])),_:2},1032,["name"])])),_:1})])),fallback:withCtx((()=>[s.value?(openBlock(),createElementBlock("img",{key:0,src:unref(getAssets)("base/loading.gif"),class:"loading-page"},null,8,_hoisted_2)):createCommentVNode("",!0)])),_:1})),createVNode(o),createVNode(r,{info:unref(i).threeInOneInfo,onHandle:t[0]||(t[0]=e=>unref(i).getThreeInOneInfo())},null,8,["info"]),createVNode(gameDetails),createVNode(AddToHome)],64)}}}),App_vue_vue_type_style_index_0_lang="",index="";!function(e,t){var n=t.documentElement,o=e.devicePixelRatio||1;function r(){var e=n.clientWidth/10;n.style.fontSize=e+"px"}if(function e(){t.body?t.body.style.fontSize=12*o+"px":t.addEventListener("DOMContentLoaded",e)}(),r(),e.addEventListener("resize",r),e.addEventListener("pageshow",(function(e){e.persisted&&r()})),o>=2){var i=t.createElement("body"),a=t.createElement("div");a.style.border=".5px solid transparent",i.appendChild(a),n.appendChild(i),1===a.offsetHeight&&n.classList.add("hairlines"),n.removeChild(i)}}(window,document);var vueCookies={exports:{}},defaultConfig2,VueCookies2;defaultConfig2={expires:"1d",path:"; path=/",domain:"",secure:"",sameSite:"; SameSite=Lax"},VueCookies2={install:function(e,t){t&&this.config(t.expires,t.path,t.domain,t.secure,t.sameSite),e.prototype&&(e.prototype.$cookies=this),e.config&&e.config.globalProperties&&(e.config.globalProperties.$cookies=this,e.provide("$cookies",this)),e.$cookies=this},config:function(e,t,n,o,r){defaultConfig2.expires=e||"1d",defaultConfig2.path=t?"; path="+t:"; path=/",defaultConfig2.domain=n?"; domain="+n:"",defaultConfig2.secure=o?"; Secure":"",defaultConfig2.sameSite=r?"; SameSite="+r:"; SameSite=Lax"},get:function(e){var t=decodeURIComponent(document.cookie.replace(new RegExp("(?:(?:^|.*;)\\s*"+encodeURIComponent(e).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*([^;]*).*$)|^.*$"),"$1"))||null;if(t&&("{"===t.substring(0,1)&&"}"===t.substring(t.length-1,t.length)||"["===t.substring(0,1)&&"]"===t.substring(t.length-1,t.length)))try{t=JSON.parse(t)}catch(n){return t}return t},set:function(e,t,n,o,r,i,a){if(!e)throw new Error("Cookie name is not found in the first argument.");if(/^(?:expires|max\-age|path|domain|secure|SameSite)$/i.test(e))throw new Error('Cookie name illegality. Cannot be set to ["expires","max-age","path","domain","secure","SameSite"]\t current key name: '+e);t&&"object"==typeof t&&(t=JSON.stringify(t));var s="";if((n=null==n?defaultConfig2.expires:n)&&0!=n)switch(n.constructor){case Number:s=n===1/0||-1===n?"; expires=Fri, 31 Dec 9999 23:59:59 GMT":"; max-age="+n;break;case String:if(/^(?:\d+(y|m|d|h|min|s))$/i.test(n)){var l=n.replace(/^(\d+)(?:y|m|d|h|min|s)$/i,"$1");switch(n.replace(/^(?:\d+)(y|m|d|h|min|s)$/i,"$1").toLowerCase()){case"m":s="; max-age="+2592e3*+l;break;case"d":s="; max-age="+86400*+l;break;case"h":s="; max-age="+3600*+l;break;case"min":s="; max-age="+60*+l;break;case"s":s="; max-age="+l;break;case"y":s="; max-age="+31104e3*+l}}else s="; expires="+n;break;case Date:s="; expires="+n.toUTCString()}return document.cookie=encodeURIComponent(e)+"="+encodeURIComponent(t)+s+(r?"; domain="+r:defaultConfig2.domain)+(o?"; path="+o:defaultConfig2.path)+(null==i?defaultConfig2.secure:i?"; Secure":"")+(null==a?defaultConfig2.sameSite:a?"; SameSite="+a:""),this},remove:function(e,t,n){return!(!e||!this.isKey(e)||(document.cookie=encodeURIComponent(e)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT"+(n?"; domain="+n:defaultConfig2.domain)+(t?"; path="+t:defaultConfig2.path)+"; SameSite=Lax",0))},isKey:function(e){return new RegExp("(?:^|;\\s*)"+encodeURIComponent(e).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(document.cookie)},keys:function(){if(!document.cookie)return[];for(var e=document.cookie.replace(/((?:^|\s*;)[^\=]+)(?=;|$)|^\s*|\s*(?:\=[^;]*)?(?:\1|$)/g,"").split(/\s*(?:\=[^;]*)?;\s*/),t=0;tnew class{strencode(e){for(var t=new Uint8Array(3*e.length),n=0,o=0;o>6,128|63&r]:[224|r>>12,128|(4032&r)>>6,128|63&r];for(var a=0;a{class e{constructor(){this.buffer=new ArrayBuffer(8),this.float32Array=new Float32Array(this.buffer),this.float64Array=new Float64Array(this.buffer),this.uInt8Array=new Uint8Array(this.buffer)}encodeUInt32(e){var t=parseInt(e);if(isNaN(t)||t<0)return null;var n=[];do{var o=t%128,r=Math.floor(t/128);0!==r&&(o+=128),n.push(o),t=r}while(0!==t);return n}encodeSInt32(e){var t=parseInt(e);return isNaN(t)?null:(t=t<0?2*Math.abs(t)-1:2*t,this.encodeUInt32(t))}decodeUInt32(e){for(var t=0,n=0;n>6,128|63&e]:[224|e>>12,128|(4032&e)>>6,128|63&e]}codeLength(e){return e<=127?1:e<=2047?2:3}}class t{constructor(e,t,n){this.codec=e,this.constant=t,this.util=n}init(e){this.protos=e||{}}encode(e,t){var n=this.protos[e];if(!this.checkMsg(t,n))return null;var o=this.codec.byteLength(JSON.stringify(t)),r=new ArrayBuffer(o),i=new Uint8Array(r),a=0;return n&&(a=encodeMsg(i,a,n,t))>0?i.subarray(0,a):null}checkMsg(e,t){if(!t)return!1;for(var n in t){var o=t[n];switch(o.option){case"required":if(void 0===e[n])return!1;case"optional":if(void 0!==e[n])if((r=t.__messages[o.type]||t["message "+o.type])&&!checkMsg(e[n],r))return!1;break;case"repeated":var r=t.__messages[o.type]||t["message "+o.type];if(e[n]&&r)for(var i=0;i0&&(t=this.encodeArray(o[r],i,t,e,n))}}return t}encodeProp(e,t,n,o,r){switch(t){case"uInt32":n=this.writeBytes(o,n,this.codec.encodeUInt32(e));break;case"int32":case"sInt32":n=this.writeBytes(o,n,this.codec.encodeSInt32(e));break;case"float":writeBytes(o,n,this.codec.encodeFloat(e)),n+=4;break;case"double":writeBytes(o,n,this.codec.encodeDouble(e)),n+=8;break;case"string":var i=this.codec.byteLength(e);n=this.writeBytes(o,n,this.codec.encodeUInt32(i)),this.codec.encodeStr(o,n,e),n+=i;break;default:var a=r.__messages[t]||r["message "+t];if(a){var s=new ArrayBuffer(2*this.codec.byteLength(JSON.stringify(e)));i=0;i=this.encodeMsg(s,i,a,e),n=this.writeBytes(o,n,this.codec.encodeUInt32(i));for(var l=0;l>3}}peekHead(){var e=this.codec.decodeUInt32(this.peekBytes());return{type:7&e,tag:e>>3}}decodeProp(e,t){switch(e){case"uInt32":return this.codec.decodeUInt32(this.getBytes());case"int32":case"sInt32":return this.codec.decodeSInt32(this.getBytes());case"float":var n=this.codec.decodeFloat(this.buffer,this.offset);return this.offset+=4,n;case"double":var o=this.codec.decodeDouble(this.buffer,this.offset);return this.offset+=8,o;case"string":var r=this.codec.decodeUInt32(this.getBytes()),i=this.codec.decodeStr(this.buffer,this.offset,r);return this.offset+=r,i;default:var a=t&&(t.__messages[e]||t["message "+e]);if(a){r=this.codec.decodeUInt32(this.getBytes());var s={};return this.decodeMsg(s,a,this.offset+r),s}}}decodeArray(e,t,n){if(this.util.isSimpleType(t))for(var o=this.codec.decodeUInt32(this.getBytes()),r=0;r=128);return e||(this.offset=o),n}peekBytes(){return this.getBytes(!0)}}return new class{constructor(){this.constant={TYPES:{uInt32:0,sInt32:0,int32:0,double:1,string:2,message:2,float:5}},this.util={isSimpleType:e=>"uInt32"===e||"sInt32"===e||"int32"===e||"uInt64"===e||"sInt64"===e||"float"===e||"double"===e},this.codec=new e,this.encoder=new t(this.codec,this.constant,this.util),this.decoder=new n(this.codec,this.util)}init(e){this.encoder.init(e.encoderProtos),this.decoder.init(e.decoderProtos)}encode(e,t){return this.encoder.encode(e,t)}decode(e,t){return this.decoder.decode(e,t)}}},Message=()=>new class{constructor(){this.protocol=Protocol(),this.MSG_FLAG_BYTES=1,this.MSG_ROUTE_CODE_BYTES=2,this.MSG_ID_MAX_BYTES=5,this.MSG_ROUTE_LEN_BYTES=1,this.MSG_ROUTE_CODE_MAX=65535,this.MSG_COMPRESS_ROUTE_MASK=1,this.MSG_TYPE_MASK=7,this.TYPE_REQUEST=0,this.TYPE_NOTIFY=1,this.TYPE_RESPONSE=2,this.TYPE_PUSH=3}encode(e,t,n,o,r){var i=this.msgHasId(t)?this.caculateMsgIdBytes(e):0,a=this.MSG_FLAG_BYTES+i;if(this.msgHasRoute(t))if(n){if("number"!=typeof o)return;a+=this.MSG_ROUTE_CODE_BYTES}else if(a+=this.MSG_ROUTE_LEN_BYTES,o){if((o=this.protocol.strencode(o)).length>255)return;a+=o.length}r&&(a+=r.length);var s=new Uint8Array(a),l=0;return l=this.encodeMsgFlag(t,n,s,l),this.msgHasId(t)&&(l=this.encodeMsgId(e,s,l)),this.msgHasRoute(t)&&(l=this.encodeMsgRoute(n,o,s,l)),r&&(l=this.encodeMsgBody(r,s,l)),s}decode(e){var t=new Uint8Array(e),n=t.length||t.byteLength,o=0,r=0,i=null,a=t[o++],s=a&this.MSG_COMPRESS_ROUTE_MASK,l=a>>1&this.MSG_TYPE_MASK;if(this.msgHasId(l)){var c=parseInt(t[o]),u=0;do{r+=(127&(c=parseInt(t[o])))*Math.pow(2,7*u),o++,u++}while(c>=128)}if(this.msgHasRoute(l))if(s)i=t[o++]<<8|t[o++];else{var d=t[o++];d?(i=new Uint8Array(d),this.copyArray(i,0,t,o,d),i=this.protocol.strdecode(i)):i="",o+=d}var p=n-o,A=new Uint8Array(p);return this.copyArray(A,0,t,o,p),{id:r,type:l,compressRoute:s,route:i,body:A}}msgHasId(e){return e===this.TYPE_REQUEST||e===this.TYPE_RESPONSE}msgHasRoute(e){return e===this.TYPE_REQUEST||e===this.TYPE_NOTIFY||e===this.TYPE_PUSH}caculateMsgIdBytes(e){var t=0;do{t+=1,e>>=7}while(e>0);return t}encodeMsgFlag(e,t,n,o){if(e===this.TYPE_REQUEST||e===this.TYPE_NOTIFY||e===this.TYPE_RESPONSE||e===this.TYPE_PUSH)return n[o]=e<<1|(t?1:0),o+this.MSG_FLAG_BYTES}encodeMsgId(e,t,n){do{var o=e%128,r=Math.floor(e/128);0!==r&&(o+=128),t[n++]=o,e=r}while(0!==e);return n}encodeMsgRoute(e,t,n,o){if(e){if(t>this.MSG_ROUTE_CODE_MAX)return;n[o++]=t>>8&255,n[o++]=255&t}else t?(n[o++]=255&t.length,this.copyArray(n,o,t,0,t.length),o+=t.length):n[o++]=0;return o}encodeMsgBody(e,t,n){return this.copyArray(t,n,e,0,e.length),n+e.length}copyArray(e,t,n,o,r){if("function"==typeof n.copy)n.copy(e,t,o,o+r);else for(var i=0;inew class{constructor(){this.TYPE_HANDSHAKE=1,this.TYPE_HANDSHAKE_ACK=2,this.TYPE_HEARTBEAT=3,this.TYPE_DATA=4,this.TYPE_KICK=5,this.PKG_HEAD_BYTES=4}encode(e,t){var n=t?t.length:0,o=new Uint8Array(this.PKG_HEAD_BYTES+n),r=0;return o[r++]=255&e,o[r++]=n>>16&255,o[r++]=n>>8&255,o[r++]=255&n,t&&this.copyArray(o,4,t,0,n),o}decode(e){for(var t=0,n=new Uint8Array(e),o=0,r=[];t>>0)?new Uint8Array(o):null;this.copyArray(a,0,n,t,o),t+=o,r.push({type:i,body:a})}return 1===r.length?r[0]:r}copyArray(e,t,n,o,r){if("function"==typeof n.copy)n.copy(e,t,o,o+r);else for(var i=0;inew class extends Emitter{constructor(){super(),this.JS_WS_CLIENT_TYPE="js-websocket",this.JS_WS_CLIENT_VERSION="0.0.1",this.RES_OK=200,this.RES_OLD_CLIENT=501,this.socket=null,this.reqId=0,this.callbacks={},this.handlers={},this.routeMap={},this.dict={},this.abbrs={},this.serverProtos={},this.clientProtos={},this.protoVersion=0,this.heartbeatInterval=0,this.heartbeatTimeout=0,this.nextHeartbeatTimeout=0,this.gapThreshold=100,this.heartbeatId=null,this.heartbeatTimeoutId=null,this.handshakeCallback=null,this.canSend=!0,this.reconnect=!1,this.reconnected=!1,this.reconncetTimer=null,this.reconnectUrl=null,this.reconnectAttempts=0,this.reconnectionDelay=3e3,this.DEFAULT_MAX_RECONNECT_ATTEMPTS=10,this.handshakeBuffer={sys:{type:this.JS_WS_CLIENT_TYPE,version:this.JS_WS_CLIENT_VERSION}},this.initCallback=null,this.protocol=Protocol(),this.protobuf=Protobuf(),this.message=Message(),this.package=Package(),this.handlers[this.package.TYPE_HANDSHAKE]=this.handshake.bind(this),this.handlers[this.package.TYPE_HEARTBEAT]=this.heartbeat.bind(this),this.handlers[this.package.TYPE_DATA]=this.onData.bind(this),this.handlers[this.package.TYPE_KICK]=this.onKick.bind(this)}createConnect(e,t,n,o){this.init(t,(()=>{this.request(e,n,o)}))}init(e,t){this.initCallback=t,this.enData=e.enData,this.deData=e.deData;let n=e.cert?`wss://${e.url}`:`ws://${e.url}`;this.handshakeCallback=e.handshakeCallback,this.serverName=e.serverName||n,this.serverTime=e.serverTime||new Date,this.reconnect=e.reconnect,this.connect(e,n,t)}defaultDecode(e){var t=this.message.decode(e);if(!(t.id>0)||(t.route=this.routeMap[t.id],delete this.routeMap[t.id],t.route))return t.body=this.deCompose(t),t}defaultEncode(e,t,n){var o=e?this.message.TYPE_REQUEST:this.message.TYPE_NOTIFY;n=this.protobuf&&this.clientProtos[t]?this.protobuf.encode(t,n):this.protocol.strencode(JSON.stringify(n));var r=0;return this.dict&&this.dict[t]&&(t=this.dict[t],r=1),this.message.encode(e,o,r,t,n)}connect(e,t,n){var o=(e=e||{}).maxReconnectAttempts||this.DEFAULT_MAX_RECONNECT_ATTEMPTS;this.reconnectUrl=t,this.handshakeBuffer.sys.protoVersion=this.protoVersion;let r="";e.serverName&&(r=this.enData({token:e.token,serverName:e.serverName}),r=`/?${r}`);let i=`${t}${r}`;this.socket=e.cert?new WebSocket(i,[],"https://api.t8club.com/files/cacert.pem"):new WebSocket(i),this.socket.binaryType="arraybuffer",this.socket.onopen=e=>{this.reconnected&&this.emit("reconnect"),this.reset();var t=this.package.encode(this.package.TYPE_HANDSHAKE,this.protocol.strencode(JSON.stringify(this.handshakeBuffer)));this.send(t)},this.socket.onmessage=e=>{this.processPackage(this.package.decode(e.data),n),this.heartbeatTimeout&&(this.nextHeartbeatTimeout=Date.now()+this.heartbeatTimeout)},this.socket.onerror=e=>{this.emit("io-error",e)},this.socket.onclose=t=>{if(this.emit("close",{count:this.reconnectAttempts,maxCount:o,isReconnect:this.reconnect}),this.heartbeatId&&(clearTimeout(this.heartbeatId),this.heartbeatId=null),this.heartbeatTimeoutId&&(clearTimeout(this.heartbeatTimeoutId),this.heartbeatTimeoutId=null),this.socket=null,this.reconnect&&this.reconnectAttempts{this.connect(e,this.reconnectUrl,n)}),t)}}}disconnect(e){clearTimeout(this.reconncetTimer),this.socket&&(this.reconnect=!1,this.socket.onclose=null,this.socket.close&&this.socket.close(),this.socket=null),this.heartbeatId&&(clearTimeout(this.heartbeatId),this.heartbeatId=null),this.heartbeatTimeoutId&&(clearTimeout(this.heartbeatTimeoutId),this.heartbeatTimeoutId=null),this.emit("disconnect",e)}reset(){this.reconnected=!1,this.reconnectionDelay=3e3,this.reconnectAttempts=0,clearTimeout(this.reconncetTimer)}get isConnected(){return!!this.socket}request(e,t,n){"function"!=typeof t||n?t=t||{}:(n=t,t={}),(e=e||t.route)&&(this.reqId++,this.sendMessage(this.reqId,e,t),this.callbacks[this.reqId]=n,this.routeMap[this.reqId]=e)}notify(e,t){t=t||{},this.sendMessage(0,e,t)}sendMessage(e,t,n){if(this.enData)try{n=JSON.parse(this.enData(n))}catch(r){}n=this.defaultEncode(e,t,n);var o=this.package.encode(this.package.TYPE_DATA,n);this.send(o)}send(e){this.socket&&this.canSend&&this.socket.send(e.buffer)}heartbeat(e){if(this.heartbeatInterval){var t=this.package.encode(this.package.TYPE_HEARTBEAT);this.heartbeatTimeoutId&&(clearTimeout(this.heartbeatTimeoutId),this.heartbeatTimeoutId=null),this.heartbeatId||(this.heartbeatId=setTimeout((()=>{this.heartbeatId=null,this.send(t),this.nextHeartbeatTimeout=Date.now()+this.heartbeatTimeout,this.heartbeatTimeoutId=setTimeout(this.heartbeatTimeoutCb.bind(this),this.heartbeatTimeout)}),this.heartbeatInterval))}}heartbeatTimeoutCb(){var e=this.nextHeartbeatTimeout-Date.now();e>this.gapThreshold&&(this.heartbeatTimeoutId=setTimeout(this.heartbeatTimeoutCb.bind(this),e))}handshake(e){if((e=JSON.parse(this.protocol.strdecode(e))).code!==this.RES_OLD_CLIENT)if(e.code===this.RES_OK){this.handshakeInit(e);var t=this.package.encode(this.package.TYPE_HANDSHAKE_ACK);this.send(t),this.initCallback&&this.initCallback(this.socket)}else this.emit("error","Handshake failed");else this.emit("error","Need update client version")}onData(e){let t=this.defaultDecode(e);this.processMessage(t)}onKick(e){e=JSON.parse(this.protocol.strdecode(e)),this.disconnect(),this.emit("onKick",e)}processPackage(e){if(Array.isArray(e))for(var t=0;t{e.uid===useUserStoreWithOut().userInfo.uid&&(useUserStoreWithOut().getUserInfo(),useUserStoreWithOut().setPddAward(e.propsList))})),this.props.on(this.cfg.global.EVENT_NAME.GAME_NOTIFY,(e=>{e.isUpdateMyInfo&&useUserStoreWithOut().getUserInfo(),e.newNotice&&useUserStoreWithOut().hasNewNotice(e.newNotice),e.newMail&&(useUserStoreWithOut().hasNewMail(e.newMail),useBaseStoreWithOut().setRefreshTurntable(!1))})),this.props.on(this.cfg.global.EVENT_NAME.BROADCAST,(e=>{useNoticeStoreWithOut().setBroadcast(e),e.url||e.urlType||useNoticeStoreWithOut().setNotice(e)})),this.props.on(this.cfg.global.EVENT_NAME.NEW_RECEIVE_HELP_TURNTABLE2,(e=>{})),this.props.on(this.cfg.global.EVENT_NAME.ON_KICK,(e=>{storage.clearStorage(),storage.removeSessionStorage(actions.HOME_POSITION),useUserStoreWithOut().clearUser(),useGameStoreWithOut().clearGameUrl(),emitter.emit("closeGame"),router.replace("/login")})),this.props.on(this.cfg.global.EVENT_NAME.GAME_INFO_CHANGE,(e=>{if(0!==e.code)return;let t=useGameListStoreWithOut().originalList,n=[...t];if(!n.find((t=>t._id===e.data._id)))return n.unshift(e.data),useGameListStoreWithOut().setAllGameList(n);for(let o=0;o-1!==e.state)),useGameListStoreWithOut().setAllGameList(n)})),this.props.on(this.cfg.global.EVENT_NAME.ROTATION_CHART_CHANGE,(async e=>{0===e.code&&await useGameListStoreWithOut().setCarouselData()})),this.props.on(this.cfg.global.EVENT_NAME.GAME_PROVIDER_CHANGE,(async e=>{0===e.code&&await useGameListStoreWithOut().setProviderListData()})),this.props.on(this.cfg.global.EVENT_NAME.GAME_CLASS_CHANGE,(async e=>{0===e.code&&await useGameListStoreWithOut().setGameClassDataData(!0)})),this.props.on(this.cfg.global.EVENT_NAME.SWITCH_CONFIG,(async e=>{useBaseStoreWithOut().globalConfig.switchConfig[e.key]=e.value})),this.props.on(this.cfg.global.EVENT_NAME.PLATFORM_CONFIG,(async e=>{useBaseStoreWithOut().globalConfig.platformConfig[e.key]=e.value})),this.props.on("close",(e=>{})),this.props.on("disconnect",(e=>{}))}}const pomeloCenter=Pomelo(),pomeloMsg=Pomelo();class Controller extends ToolsBase{constructor(){super(),this.userInfo={},this.token="",this.msg={},this.request=(e,t={})=>new Promise(((n,o)=>{pomeloCenter.request(e,t,(e=>{n(e)}))})),this.on=e=>new Promise(((t,n)=>{pomeloMsg.on(e,(e=>{t(e)}))})),this.notify=(e,t={})=>new Promise(((n,o)=>{pomeloCenter.notify(e,t,(e=>{n(e)}))}))}beforeConnect(){this.userInfo=JSON.parse(storage.getStorage(actions.USER_INFO))||{},this.token=storage.getStorage(actions.USER_TOEKN)||"",this.msg={uid:this.userInfo.uid,token:this.token,lang:"pt"}}connect(){return new Promise(((e,t)=>{Promise.all([this.connectMsg()]).then((t=>{t[0]&&t[1]&&e(!0),e(!1)}))}))}connectCenter(){return this.beforeConnect(),new Promise(((e,t)=>{http.getCenterUrl().then((t=>{if(t.code!==this.cfg.code.OK)return void e(!1);const n=this.setParams(t.data.url);pomeloCenter.createConnect(server.centerRoute,n,this.msg,(t=>{if(t.code!==this.cfg.code.C1044.CODE)return t.code!==this.cfg.code.OK?(closeLoading(),toast(t.txt),storage.clearStorage(),storage.removeSessionStorage(actions.HOME_POSITION),useUserStoreWithOut().clearUser(),useGameStoreWithOut().clearGameUrl(),this.disconnect(),void e(!1)):void e(!0);this.request(server.centerRoute,this.msg).then((()=>{e(!0)}))}))}))}))}connectMsg(){return this.beforeConnect(),new Promise(((e,t)=>{http.getMsgServer().then((t=>{if(t.code!==this.cfg.code.OK)return void e(!1);const n=this.setParams(t.data.url,"Msg",20);pomeloMsg.createConnect(server.messageRoute,n,this.msg,(t=>{t.code===this.cfg.code.OK?(new Notify(pomeloMsg),e(!0)):setTimeout((()=>{this.connectMsg()}),3e3)}))}))}))}disconnect(){pomeloCenter.disconnect("discount center"),pomeloMsg.disconnect("discount msg")}disconnectMsg(){pomeloMsg.disconnect("discount msg")}setParams(e,t="Center",n=5){return{url:e,reconnect:!0,maxReconnectAttempts:n,serverName:t,serverTime:this.serverTime,uid:this.userInfo.uid?this.userInfo.uid:void 0,token:this.token?this.token:void 0,enData:this.enData.bind(this),deData:this.deData.bind(this),cert:JSON.parse("true")}}}function pixel(){const e=getLocationParams();if(!e.fbPixelId)return;let t=document.createElement("script");t.id="facebook-script",t.type="text/javascript",t.async=!0,t.innerHTML=`\n !function(f,b,e,v,n,t,s)\n {if(f.fbq)return;n=f.fbq=function(){n.callMethod?\n n.callMethod.apply(n,arguments):n.queue.push(arguments)};\n if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';\n n.queue=[];t=b.createElement(e);t.async=!0;\n t.src=v;s=b.getElementsByTagName(e)[0];\n s.parentNode.insertBefore(t,s)}(window, document,'script',\n 'https://connect.facebook.net/en_US/fbevents.js');\n fbq('init', ${e.fbPixelId});\n `,document.getElementsByTagName("head")[0].appendChild(t);let n=document.createElement("noscript"),o=document.createElement("iframe");o.style.display="none",o.width="0",o.height="0",o.src=`https://www.facebook.com/tr?id=${e.fbPixelId}&ev=PageView&noscript=1`,n.appendChild(o),document.getElementsByTagName("body")[0].appendChild(n);let r=document.createElement("meta"),i=document.createElement("meta");r.name="og:url",r.content=location.href,i.name="twitter:url",i.content=location.href,document.getElementsByTagName("head")[0].appendChild(r),document.getElementsByTagName("head")[0].appendChild(i)}function gtag(){const e=getLocationParams();if(!e.tagId)return;let t=document.createElement("script");t.id="google-script",t.type="text/javascript",t.async=!0,t.src=`https://www.googletagmanager.com/gtag/js?id=${e.tagId}`,document.getElementsByTagName("head")[0].appendChild(t);let n=document.createElement("script");n.innerHTML=`\n window.dataLayer = window.dataLayer || [];\n function gtag() {\n dataLayer.push(arguments);\n }\n gtag("js", new Date());\n\n gtag("config", ${e.tagId});\n `,document.getElementsByTagName("body")[0].appendChild(n)}function kwai(){const e=getLocationParams();if(!e.kwai_pixel_id)return;let t=document.createElement("script");t.id="kwaiq-script",t.type="text/javascript",t.async=!0,t.innerHTML='\n !(function (e, t) {\n "object" == typeof exports && "object" == typeof module\n ? (module.exports = t())\n : "function" == typeof define && define.amd\n ? define([], t)\n : "object" == typeof exports\n ? (exports.install = t())\n : (e.install = t());\n })(window, function () {\n return (function (e) {\n var t = {};\n function n(o) {\n if (t[o]) return t[o].exports;\n var r = (t[o] = { i: o, l: !1, exports: {} });\n return e[o].call(r.exports, r, r.exports, n), (r.l = !0), r.exports;\n }\n return (\n (n.m = e),\n (n.c = t),\n (n.d = function (e, t, o) {\n n.o(e, t) ||\n Object.defineProperty(e, t, { enumerable: !0, get: o });\n }),\n (n.r = function (e) {\n "undefined" != typeof Symbol &&\n Symbol.toStringTag &&\n Object.defineProperty(e, Symbol.toStringTag, {\n value: "Module",\n }),\n Object.defineProperty(e, "__esModule", { value: !0 });\n }),\n (n.t = function (e, t) {\n if ((1 & t && (e = n(e)), 8 & t)) return e;\n if (4 & t && "object" == typeof e && e && e.__esModule) return e;\n var o = Object.create(null);\n if (\n (n.r(o),\n Object.defineProperty(o, "default", {\n enumerable: !0,\n value: e,\n }),\n 2 & t && "string" != typeof e)\n )\n for (var r in e)\n n.d(\n o,\n r,\n function (t) {\n return e[t];\n }.bind(null, r)\n );\n return o;\n }),\n (n.n = function (e) {\n var t =\n e && e.__esModule\n ? function () {\n return e.default;\n }\n : function () {\n return e;\n };\n return n.d(t, "a", t), t;\n }),\n (n.o = function (e, t) {\n return Object.prototype.hasOwnProperty.call(e, t);\n }),\n (n.p = ""),\n n((n.s = 0))\n );\n })([\n function (e, t, n) {\n "use strict";\n var o =\n (this && this.__spreadArray) ||\n function (e, t, n) {\n if (n || 2 === arguments.length)\n for (var o, r = 0, i = t.length; r < i; r++)\n (!o && r in t) ||\n (o || (o = Array.prototype.slice.call(t, 0, r)),\n (o[r] = t[r]));\n return e.concat(o || Array.prototype.slice.call(t));\n };\n Object.defineProperty(t, "__esModule", { value: !0 });\n var r = function (e, t, n) {\n var o,\n i = e.createElement("script");\n (i.type = "text/javascript"),\n (i.async = !0),\n (i.src = t),\n n &&\n (i.onerror = function () {\n r(e, n);\n });\n var a = e.getElementsByTagName("script")[0];\n null === (o = a.parentNode) ||\n void 0 === o ||\n o.insertBefore(i, a);\n };\n !(function (e, t, n) {\n e.KwaiAnalyticsObject = n;\n var i = (e[n] = e[n] || []);\n i.methods = [\n "page",\n "track",\n "identify",\n "instances",\n "debug",\n "on",\n "off",\n "once",\n "ready",\n "alias",\n "group",\n "enableCookie",\n "disableCookie",\n ];\n var a = function (e, t) {\n e[t] = function () {\n for (var n = [], r = 0; r < arguments.length; r++)\n n[r] = arguments[r];\n var i = o([t], n, !0);\n e.push(i);\n };\n };\n i.methods.forEach(function (e) {\n a(i, e);\n }),\n (i.instance = function (e) {\n var t,\n n =\n (null === (t = i._i) || void 0 === t ? void 0 : t[e]) ||\n [];\n return (\n i.methods.forEach(function (e) {\n a(n, e);\n }),\n n\n );\n }),\n (i.load = function (e, o) {\n var a =\n "https://s1.kwai.net/kos/s101/nlav11187/pixel/events.js";\n (i._i = i._i || {}),\n (i._i[e] = []),\n (i._i[e]._u = a),\n (i._t = i._t || {}),\n (i._t[e] = +new Date()),\n (i._o = i._o || {}),\n (i._o[e] = o || {});\n var c = "?sdkid=".concat(e, "&lib=").concat(n);\n r(\n t,\n a + c,\n "https://s16-11187.ap4r.com/kos/s101/nlav11187/pixel/events.js" +\n c\n );\n });\n })(window, document, "kwaiq");\n },\n ]);\n });\n ',document.getElementsByTagName("head")[0].appendChild(t);let n=document.createElement("script");n.type="text/javascript",n.innerHTML=`\n kwaiq.load(${e.kwai_pixel_id});\n kwaiq.page();\n `,document.getElementsByTagName("head")[0].appendChild(n)}function serviceWorker(){const e=userBrowser();storage.setSessionStorage(actions.BROWSER,JSON.stringify(e));const t=!!Number(storage.getSessionStorage(actions.ADD_TO_HOME));1!=getLocationParams(window.location.href).appType&&(window.Android||e.isIos?useBaseStoreWithOut().setShowAddToHomeVisible(!t):window.addEventListener("load",(()=>{navigator.serviceWorker.register("./service-worker.js").then((e=>{window.addEventListener("beforeinstallprompt",(e=>{e.preventDefault(),useBaseStoreWithOut().setDeferredPrompt(e),useBaseStoreWithOut().setShowAddToHomeVisible(!t)}))})).catch((e=>{}))})))}let lazyPlugin={install:e=>{e.directive("lazy-load",{mounted(e,t){let n=new IntersectionObserver((e=>{e.forEach((e=>{let o=e.target;e.intersectionRatio>0&&(o.src=t.value,n.unobserve(o))}))}));n.observe(e)}})}};var vconsole_min={exports:{}}; +/*! + * vConsole v3.15.1 (https://github.com/Tencent/vConsole) + * + * Tencent is pleased to support the open source community by making vConsole available. + * Copyright (C) 2017 THL A29 Limited, a Tencent company. All rights reserved. + * Licensed under the MIT License (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at + * http://opensource.org/licenses/MIT + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + */(function(module,exports){var n;commonjsGlobal||self,n=function(){return function(){var __webpack_modules__={4264:function(e,t,n){e.exports=n(7588)},5036:function(e,t,n){n(1719),n(5677),n(6394),n(5334),n(6969),n(2021),n(8328),n(2129);var o=n(1287);e.exports=o.Promise},2582:function(e,t,n){n(1646),n(6394),n(2004),n(462),n(8407),n(2429),n(1172),n(8288),n(1274),n(8201),n(6626),n(3211),n(9952),n(15),n(9831),n(7521),n(2972),n(6956),n(5222),n(2257);var o=n(1287);e.exports=o.Symbol},8257:function(e,t,n){var o=n(7583),r=n(9212),i=n(5637),a=o.TypeError;e.exports=function(e){if(r(e))return e;throw a(i(e)+" is not a function")}},1186:function(e,t,n){var o=n(7583),r=n(2097),i=n(5637),a=o.TypeError;e.exports=function(e){if(r(e))return e;throw a(i(e)+" is not a constructor")}},9882:function(e,t,n){var o=n(7583),r=n(9212),i=o.String,a=o.TypeError;e.exports=function(e){if("object"==typeof e||r(e))return e;throw a("Can't set "+i(e)+" as a prototype")}},6288:function(e,t,n){var o=n(3649),r=n(3590),i=n(4615),a=o("unscopables"),s=Array.prototype;null==s[a]&&i.f(s,a,{configurable:!0,value:r(null)}),e.exports=function(e){s[a][e]=!0}},4761:function(e,t,n){var o=n(7583),r=n(2447),i=o.TypeError;e.exports=function(e,t){if(r(t,e))return e;throw i("Incorrect invocation")}},2569:function(e,t,n){var o=n(7583),r=n(794),i=o.String,a=o.TypeError;e.exports=function(e){if(r(e))return e;throw a(i(e)+" is not an object")}},5766:function(e,t,n){var o=n(2977),r=n(6782),i=n(1825),a=function(e){return function(t,n,a){var s,l=o(t),c=i(l),u=r(a,c);if(e&&n!=n){for(;c>u;)if((s=l[u++])!=s)return!0}else for(;c>u;u++)if((e||u in l)&&l[u]===n)return e||u||0;return!e&&-1}};e.exports={includes:a(!0),indexOf:a(!1)}},4805:function(e,t,n){var o=n(2938),r=n(7386),i=n(5044),a=n(1324),s=n(1825),l=n(4822),c=r([].push),u=function(e){var t=1==e,n=2==e,r=3==e,u=4==e,d=6==e,p=7==e,A=5==e||d;return function(f,m,h,g){for(var v,b,E=a(f),C=i(E),y=o(m,h),w=s(C),I=0,S=g||l,R=t?S(f,w):n||p?S(f,0):void 0;w>I;I++)if((A||I in C)&&(b=y(v=C[I],I,E),e))if(t)R[I]=b;else if(b)switch(e){case 3:return!0;case 5:return v;case 6:return I;case 2:c(R,v)}else switch(e){case 4:return!1;case 7:c(R,v)}return d?-1:r||u?u:R}};e.exports={forEach:u(0),map:u(1),filter:u(2),some:u(3),every:u(4),find:u(5),findIndex:u(6),filterReject:u(7)}},9269:function(e,t,n){var o=n(6544),r=n(3649),i=n(4061),a=r("species");e.exports=function(e){return i>=51||!o((function(){var t=[];return(t.constructor={})[a]=function(){return{foo:1}},1!==t[e](Boolean).foo}))}},4546:function(e,t,n){var o=n(7583),r=n(6782),i=n(1825),a=n(5999),s=o.Array,l=Math.max;e.exports=function(e,t,n){for(var o=i(e),c=r(t,o),u=r(void 0===n?o:n,o),d=s(l(u-c,0)),p=0;c0&&o[0]<4?1:+(o[0]+o[1])),!r&&a&&(!(o=a.match(/Edge\/(\d+)/))||o[1]>=74)&&(o=a.match(/Chrome\/(\d+)/))&&(r=+o[1]),e.exports=r},5690:function(e){e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},1178:function(e,t,n){var o=n(6544),r=n(4677);e.exports=!o((function(){var e=Error("a");return!("stack"in e)||(Object.defineProperty(e,"stack",r(1,7)),7!==e.stack)}))},7263:function(e,t,n){var o=n(7583),r=n(6683).f,i=n(57),a=n(1270),s=n(460),l=n(3478),c=n(4451);e.exports=function(e,t){var n,u,d,p,A,f=e.target,m=e.global,h=e.stat;if(n=m?o:h?o[f]||s(f,{}):(o[f]||{}).prototype)for(u in t){if(p=t[u],d=e.noTargetGet?(A=r(n,u))&&A.value:n[u],!c(m?u:f+(h?".":"#")+u,e.forced)&&void 0!==d){if(typeof p==typeof d)continue;l(p,d)}(e.sham||d&&d.sham)&&i(p,"sham",!0),a(n,u,p,e)}}},6544:function(e){e.exports=function(e){try{return!!e()}catch(t){return!0}}},1611:function(e,t,n){var o=n(8987),r=Function.prototype,i=r.apply,a=r.call;e.exports="object"==typeof Reflect&&Reflect.apply||(o?a.bind(i):function(){return a.apply(i,arguments)})},2938:function(e,t,n){var o=n(7386),r=n(8257),i=n(8987),a=o(o.bind);e.exports=function(e,t){return r(e),void 0===t?e:i?a(e,t):function(){return e.apply(t,arguments)}}},8987:function(e,t,n){var o=n(6544);e.exports=!o((function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")}))},8262:function(e,t,n){var o=n(8987),r=Function.prototype.call;e.exports=o?r.bind(r):function(){return r.apply(r,arguments)}},4340:function(e,t,n){var o=n(8494),r=n(2870),i=Function.prototype,a=o&&Object.getOwnPropertyDescriptor,s=r(i,"name"),l=s&&"something"===function(){}.name,c=s&&(!o||o&&a(i,"name").configurable);e.exports={EXISTS:s,PROPER:l,CONFIGURABLE:c}},7386:function(e,t,n){var o=n(8987),r=Function.prototype,i=r.bind,a=r.call,s=o&&i.bind(a,a);e.exports=o?function(e){return e&&s(e)}:function(e){return e&&function(){return a.apply(e,arguments)}}},5897:function(e,t,n){var o=n(7583),r=n(9212);e.exports=function(e,t){return arguments.length<2?function(e){return r(e)?e:void 0}(o[e]):o[e]&&o[e][t]}},8272:function(e,t,n){var o=n(3058),r=n(911),i=n(339),a=n(3649)("iterator");e.exports=function(e){if(null!=e)return r(e,a)||r(e,"@@iterator")||i[o(e)]}},6307:function(e,t,n){var o=n(7583),r=n(8262),i=n(8257),a=n(2569),s=n(5637),l=n(8272),c=o.TypeError;e.exports=function(e,t){var n=arguments.length<2?l(e):t;if(i(n))return a(r(n,e));throw c(s(e)+" is not iterable")}},911:function(e,t,n){var o=n(8257);e.exports=function(e,t){var n=e[t];return null==n?void 0:o(n)}},7583:function(e,t,n){var o=function(e){return e&&e.Math==Math&&e};e.exports=o("object"==typeof globalThis&&globalThis)||o("object"==typeof window&&window)||o("object"==typeof self&&self)||o("object"==typeof n.g&&n.g)||function(){return this}()||Function("return this")()},2870:function(e,t,n){var o=n(7386),r=n(1324),i=o({}.hasOwnProperty);e.exports=Object.hasOwn||function(e,t){return i(r(e),t)}},4639:function(e){e.exports={}},2716:function(e,t,n){var o=n(7583);e.exports=function(e,t){var n=o.console;n&&n.error&&(1==arguments.length?n.error(e):n.error(e,t))}},482:function(e,t,n){var o=n(5897);e.exports=o("document","documentElement")},275:function(e,t,n){var o=n(8494),r=n(6544),i=n(6668);e.exports=!o&&!r((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},5044:function(e,t,n){var o=n(7583),r=n(7386),i=n(6544),a=n(9624),s=o.Object,l=r("".split);e.exports=i((function(){return!s("z").propertyIsEnumerable(0)}))?function(e){return"String"==a(e)?l(e,""):s(e)}:s},9734:function(e,t,n){var o=n(7386),r=n(9212),i=n(1314),a=o(Function.toString);r(i.inspectSource)||(i.inspectSource=function(e){return a(e)}),e.exports=i.inspectSource},4402:function(e,t,n){var o=n(794),r=n(57);e.exports=function(e,t){o(t)&&"cause"in t&&r(e,"cause",t.cause)}},2743:function(e,t,n){var o,r,i,a=n(9491),s=n(7583),l=n(7386),c=n(794),u=n(57),d=n(2870),p=n(1314),A=n(9137),f=n(4639),m="Object already initialized",h=s.TypeError,g=s.WeakMap;if(a||p.state){var v=p.state||(p.state=new g),b=l(v.get),E=l(v.has),C=l(v.set);o=function(e,t){if(E(v,e))throw new h(m);return t.facade=e,C(v,e,t),t},r=function(e){return b(v,e)||{}},i=function(e){return E(v,e)}}else{var y=A("state");f[y]=!0,o=function(e,t){if(d(e,y))throw new h(m);return t.facade=e,u(e,y,t),t},r=function(e){return d(e,y)?e[y]:{}},i=function(e){return d(e,y)}}e.exports={set:o,get:r,has:i,enforce:function(e){return i(e)?r(e):o(e,{})},getterFor:function(e){return function(t){var n;if(!c(t)||(n=r(t)).type!==e)throw h("Incompatible receiver, "+e+" required");return n}}}},114:function(e,t,n){var o=n(3649),r=n(339),i=o("iterator"),a=Array.prototype;e.exports=function(e){return void 0!==e&&(r.Array===e||a[i]===e)}},4521:function(e,t,n){var o=n(9624);e.exports=Array.isArray||function(e){return"Array"==o(e)}},9212:function(e){e.exports=function(e){return"function"==typeof e}},2097:function(e,t,n){var o=n(7386),r=n(6544),i=n(9212),a=n(3058),s=n(5897),l=n(9734),c=function(){},u=[],d=s("Reflect","construct"),p=/^\s*(?:class|function)\b/,A=o(p.exec),f=!p.exec(c),m=function(e){if(!i(e))return!1;try{return d(c,u,e),!0}catch(t){return!1}},h=function(e){if(!i(e))return!1;switch(a(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return f||!!A(p,l(e))}catch(t){return!0}};h.sham=!0,e.exports=!d||r((function(){var e;return m(m.call)||!m(Object)||!m((function(){e=!0}))||e}))?h:m},4451:function(e,t,n){var o=n(6544),r=n(9212),i=/#|\.prototype\./,a=function(e,t){var n=l[s(e)];return n==u||n!=c&&(r(t)?o(t):!!t)},s=a.normalize=function(e){return String(e).replace(i,".").toLowerCase()},l=a.data={},c=a.NATIVE="N",u=a.POLYFILL="P";e.exports=a},794:function(e,t,n){var o=n(9212);e.exports=function(e){return"object"==typeof e?null!==e:o(e)}},6268:function(e){e.exports=!1},5871:function(e,t,n){var o=n(7583),r=n(5897),i=n(9212),a=n(2447),s=n(7786),l=o.Object;e.exports=s?function(e){return"symbol"==typeof e}:function(e){var t=r("Symbol");return i(t)&&a(t.prototype,l(e))}},4026:function(e,t,n){var o=n(7583),r=n(2938),i=n(8262),a=n(2569),s=n(5637),l=n(114),c=n(1825),u=n(2447),d=n(6307),p=n(8272),A=n(7093),f=o.TypeError,m=function(e,t){this.stopped=e,this.result=t},h=m.prototype;e.exports=function(e,t,n){var o,g,v,b,E,C,y,w=n&&n.that,I=!(!n||!n.AS_ENTRIES),S=!(!n||!n.IS_ITERATOR),R=!(!n||!n.INTERRUPTED),T=r(t,w),_=function(e){return o&&A(o,"normal",e),new m(!0,e)},O=function(e){return I?(a(e),R?T(e[0],e[1],_):T(e[0],e[1])):R?T(e,_):T(e)};if(S)o=e;else{if(!(g=p(e)))throw f(s(e)+" is not iterable");if(l(g)){for(v=0,b=c(e);b>v;v++)if((E=O(e[v]))&&u(h,E))return E;return new m(!1)}o=d(e,g)}for(C=o.next;!(y=i(C,o)).done;){try{E=O(y.value)}catch(N){A(o,"throw",N)}if("object"==typeof E&&E&&u(h,E))return E}return new m(!1)}},7093:function(e,t,n){var o=n(8262),r=n(2569),i=n(911);e.exports=function(e,t,n){var a,s;r(e);try{if(!(a=i(e,"return"))){if("throw"===t)throw n;return n}a=o(a,e)}catch(l){s=!0,a=l}if("throw"===t)throw n;if(s)throw a;return r(a),n}},2365:function(e,t,n){var o,r,i,a=n(6544),s=n(9212),l=n(3590),c=n(729),u=n(1270),d=n(3649),p=n(6268),A=d("iterator"),f=!1;[].keys&&("next"in(i=[].keys())?(r=c(c(i)))!==Object.prototype&&(o=r):f=!0),null==o||a((function(){var e={};return o[A].call(e)!==e}))?o={}:p&&(o=l(o)),s(o[A])||u(o,A,(function(){return this})),e.exports={IteratorPrototype:o,BUGGY_SAFARI_ITERATORS:f}},339:function(e){e.exports={}},1825:function(e,t,n){var o=n(97);e.exports=function(e){return o(e.length)}},2095:function(e,t,n){var o,r,i,a,s,l,c,u,d=n(7583),p=n(2938),A=n(6683).f,f=n(8117).set,m=n(7020),h=n(3256),g=n(6846),v=n(5354),b=d.MutationObserver||d.WebKitMutationObserver,E=d.document,C=d.process,y=d.Promise,w=A(d,"queueMicrotask"),I=w&&w.value;I||(o=function(){var e,t;for(v&&(e=C.domain)&&e.exit();r;){t=r.fn,r=r.next;try{t()}catch(n){throw r?a():i=void 0,n}}i=void 0,e&&e.enter()},m||v||g||!b||!E?!h&&y&&y.resolve?((c=y.resolve(void 0)).constructor=y,u=p(c.then,c),a=function(){u(o)}):v?a=function(){C.nextTick(o)}:(f=p(f,d),a=function(){f(o)}):(s=!0,l=E.createTextNode(""),new b(o).observe(l,{characterData:!0}),a=function(){l.data=s=!s})),e.exports=I||function(e){var t={fn:e,next:void 0};i&&(i.next=t),r||(r=t,a()),i=t}},783:function(e,t,n){var o=n(7583);e.exports=o.Promise},8640:function(e,t,n){var o=n(4061),r=n(6544);e.exports=!!Object.getOwnPropertySymbols&&!r((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&o&&o<41}))},9491:function(e,t,n){var o=n(7583),r=n(9212),i=n(9734),a=o.WeakMap;e.exports=r(a)&&/native code/.test(i(a))},5084:function(e,t,n){var o=n(8257),r=function(e){var t,n;this.promise=new e((function(e,o){if(void 0!==t||void 0!==n)throw TypeError("Bad Promise constructor");t=e,n=o})),this.resolve=o(t),this.reject=o(n)};e.exports.f=function(e){return new r(e)}},2764:function(e,t,n){var o=n(8320);e.exports=function(e,t){return void 0===e?arguments.length<2?"":t:o(e)}},3590:function(e,t,n){var o,r=n(2569),i=n(8728),a=n(5690),s=n(4639),l=n(482),c=n(6668),u=n(9137)("IE_PROTO"),d=function(){},p=function(e){return" + + + + +
+ + + + + + + + diff --git a/dist/manifest.json b/dist/manifest.json new file mode 100644 index 0000000..ab085e9 --- /dev/null +++ b/dist/manifest.json @@ -0,0 +1,55 @@ +{ + "name": "18N", + "short_name": "18N", + "description":"It is recommended to add the website to your bookmarks to ensure that you receive activity rewards as soon as possible.", + "theme_color": "#f5f5f5", + "background_color": "#ffffff", + "display": "standalone", + "scrope":"/", + "start_url": "/", + "orientation": "natural", + "icons": [ + { + "src": "/icons/36.png", + "sizes": "36x36", + "type": "image/png", + "density": "0.75" + }, + { + "src": "/icons/48.png", + "sizes": "48x48", + "type": "image/png", + "density": "1.0" + }, + { + "src": "/icons/72.png", + "sizes": "72x72", + "type": "image/png", + "density": "1.5" + }, + { + "src": "/icons/96.png", + "sizes": "96x96", + "type": "image/png", + "density": "2.0" + }, + { + "src": "/icons/144.png", + "sizes": "144x144", + "type": "image/png", + "density": "3.0" + }, + { + "src": "/icons/192.png", + "sizes": "192x192", + "type": "image/png", + "density": "4.0" + }, + { + "src": "/icons/512.png", + "sizes": "512x512", + "type": "image/png", + "density": "5.0" + } + ] +} \ No newline at end of file diff --git a/dist/service-worker.js b/dist/service-worker.js new file mode 100644 index 0000000..b98c630 --- /dev/null +++ b/dist/service-worker.js @@ -0,0 +1,94 @@ + + +// cache名, 在控制台Application的CaChe下可以看到 +const cacheName = "penueling"; +// cache文件 +const cacheFiles = ["/index.html", "/manifest.json"]; + +var offlineExclude = [ + '/api/', +]; + + + +self.addEventListener('push', function (event) { + console.log('[Service Worker] Push Received.'); + console.log(`[Service Worker] Push had this data: "${event.data.text()}"`) + let data = JSON.parse(event.data.text()) + + const title = data.notification.title || ''; + const options = { + body: data.notification.body, + icon: data.notification.image || '', + badge: data.notification.image || '' + }; + + event.waitUntil(self.registration.showNotification(title, options)); +}); +self.addEventListener('notificationclick', function (event) { + console.log('[Service Worker] Notification click Received.'); + + event.notification.close(); + + event.waitUntil( + clients.openWindow('https://www.18n.com/') + ); +}); + +/** + * 安装 Service Worker + * install事件是 Service Worker 执行的第一个事件,同一个 Service Worker 只会调用一次 + * 即使 Service Worker 脚本文件只有一个字节不同,浏览器也将视为一个新的 Service Worker + */ +self.addEventListener("install", e => { + e.waitUntil( + caches.open(cacheName).then(cache => { + return cache.addAll(cacheFiles); + }), + ); +}); + +/** +// * 激活 Service Worker +// * Service Worker 安装成功之后,会触发activate事件 +// * 在这个阶段我们一般做一些清理旧缓存相关的工作 +// */ +// self.addEventListener("activate", (e) => { +// // e.waitUntil(caches.delete(cacheName)); +// e.waitUntil( +// caches +// .keys() +// .then((keys) => { +// return Promise.all( +// keys.map((key) => { +// // 清理缓存 +// if (cacheName !== key) { +// return caches.delete(key); +// } +// }) +// ); +// }) +// .then(() => { +// console.log("cache deleted"); +// }) +// ); +// }); + +self.addEventListener("fetch", e => { + if (e.request.cache === 'only-if-cached' && e.request.mode !== 'same-origin') { + return false + } + for (let i = 0; i < offlineExclude.length; i++) { + if (e.request.url.indexOf(offlineExclude[i]) !== -1) return false; + } + var u = e.request.url.replace('https://', '') + + + var n = u.indexOf('/') + if (u.slice(n, 60).indexOf('.') == -1) { + return false; + } + e.respondWith( + caches.match(e.request).then((response) => response || fetch(e.request)), + ); +}); \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000..05424b8 --- /dev/null +++ b/index.html @@ -0,0 +1,354 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 18N.com丨jogo丨game丨Roleta 丨Caça-níqueis :Fortune Tiger,Fortune + Ox,Fortune Gems,Money Coming,Fortune Mouse,Super 777,Piggy + Gold,Dragon Tiger Luck,Lucky Pool,Double + Fortune,Crazy777,FortunePig,Wild Bandito,Golden Joker,Fortune Slots + casino,Recaba BRL 100 de graça :18n.com + + + + + + + + + + + +
+ + + + + + + + diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..7b26d34 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,4729 @@ +{ + "name": "18n", + "version": "1.0.3", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "18n", + "version": "1.0.3", + "dependencies": { + "@vueuse/core": "^10.5.0", + "amfe-flexible": "^2.2.1", + "axios": "^1.3.4", + "dayjs": "^1.11.10", + "decimal.js": "^10.4.3", + "mitt": "^3.0.1", + "nosleep.js": "^0.12.0", + "pinia": "^2.0.32", + "pinia-plugin-persistedstate": "^3.2.0", + "qrcode.vue": "^3.4.0", + "sass": "^1.58.3", + "sass-loader": "^13.2.0", + "swiper": "^8.0.1", + "vant": "^4.1.0", + "vconsole": "^3.15.1", + "vue": "^3.3.4", + "vue-clipboard3": "^2.0.0", + "vue-cookies": "^1.8.3", + "vue-router": "^4.2.5", + "vue3-google-login": "^2.0.25" + }, + "devDependencies": { + "@types/node": "^18.14.6", + "@vant/auto-import-resolver": "^1.0.1", + "@vitejs/plugin-vue": "^4.2.3", + "postcss-pxtorem": "^6.0.0", + "sass": "^1.69.1", + "terser": "^5.24.0", + "typescript": "^5.0.2", + "unplugin-auto-import": "^0.16.6", + "unplugin-vue-components": "^0.25.2", + "vite": "^4.4.5", + "vue-tsc": "^1.8.5" + } + }, + "node_modules/@antfu/utils": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/@antfu/utils/-/utils-0.7.6.tgz", + "integrity": "sha512-pvFiLP2BeOKA/ZOS6jxx4XhKzdVLHDhGlFEaZ2flWWYf2xOqVniqpk38I04DFRyz+L0ASggl7SkItTc+ZLju4w==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@babel/parser": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", + "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.23.4", + "resolved": "https://r.cnpmjs.org/@babel/runtime/-/runtime-7.23.4.tgz", + "integrity": "sha512-2Yv65nlWnWlSpe3fXEyX5i7fx5kIKo4Qbcj+hMO0odwaneFjfXw5fdum+4yL20O0QiaHpia0cYQ9xpNMqrBwHg==", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", + "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://r.cnpmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://r.cnpmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://r.cnpmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://r.cnpmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.20", + "resolved": "https://r.cnpmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@rollup/pluginutils": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.5.tgz", + "integrity": "sha512-6aEYR910NyP73oHiJglti74iRyOwgFU4x3meH/H8OJx6Ry0j6cOVZ5X/wTvub7G7Ao6qaHBEaNsV3GLJkSsF+Q==", + "dev": true, + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "license": "MIT" + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "license": "MIT", + "peer": true + }, + "node_modules/@types/node": { + "version": "18.18.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.18.4.tgz", + "integrity": "sha512-t3rNFBgJRugIhackit2mVcLfF6IRc0JE4oeizPQL8Zrm8n2WY/0wOdpOPhdtG0V9Q2TlW/axbF1MJ6z+Yj/kKQ==" + }, + "node_modules/@types/web-bluetooth": { + "version": "0.0.18", + "resolved": "https://r.cnpmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.18.tgz", + "integrity": "sha512-v/ZHEj9xh82usl8LMR3GarzFY1IrbXJw5L4QfQhokjRV91q+SelFqxQWSep1ucXEZ22+dSTwLFkXeur25sPIbw==" + }, + "node_modules/@vant/auto-import-resolver": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@vant/auto-import-resolver/-/auto-import-resolver-1.0.1.tgz", + "integrity": "sha512-BmCM5eUONQGXY0DgpPJlzMBNyYzIbzkduI9FiEe6F5Tf0OfYRue5VwHXsBsnRq/RZoY+tiKZSAcyGreL+/8lQg==", + "dev": true + }, + "node_modules/@vant/popperjs": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@vant/popperjs/-/popperjs-1.3.0.tgz", + "integrity": "sha512-hB+czUG+aHtjhaEmCJDuXOep0YTZjdlRR+4MSmIFnkCQIxJaXLQdSsR90XWvAI2yvKUI7TCGqR8pQg2RtvkMHw==" + }, + "node_modules/@vant/use": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vant/use/-/use-1.6.0.tgz", + "integrity": "sha512-PHHxeAASgiOpSmMjceweIrv2AxDZIkWXyaczksMoWvKV2YAYEhoizRuk/xFnKF+emUIi46TsQ+rvlm/t2BBCfA==", + "peerDependencies": { + "vue": "^3.0.0" + } + }, + "node_modules/@vitejs/plugin-vue": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.4.0.tgz", + "integrity": "sha512-xdguqb+VUwiRpSg+nsc2HtbAUSGak25DXYvpQQi4RVU1Xq1uworyoH/md9Rfd8zMmPR/pSghr309QNcftUVseg==", + "dev": true, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/@volar/language-core": { + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-1.10.3.tgz", + "integrity": "sha512-7Qgwu9bWUHN+cLrOkCbIVBkL+RVPREhvY07wY89dGxi4mY9mQCsUVRRp64F61lX7Nc27meMnvy0sWlzY0x6oQQ==", + "dev": true, + "dependencies": { + "@volar/source-map": "1.10.3" + } + }, + "node_modules/@volar/source-map": { + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-1.10.3.tgz", + "integrity": "sha512-QE9nwK3xsdBQGongHnC9SCR0itx7xUKQFsUDn5HbZY3pHpyXxdY1hSBG0eh9mE+aTKoM4KlqMvrb+19Tv9vS1Q==", + "dev": true, + "dependencies": { + "muggle-string": "^0.3.1" + } + }, + "node_modules/@volar/typescript": { + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-1.10.3.tgz", + "integrity": "sha512-n0ar6xGYpRoSvgGMetm/JXP0QAXx+NOUvxCaWCfCjiFivQRSLJeydYDijhoGBUl5KSKosqq9In5L3e/m2TqTcQ==", + "dev": true, + "dependencies": { + "@volar/language-core": "1.10.3" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.4.tgz", + "integrity": "sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==", + "dependencies": { + "@babel/parser": "^7.21.3", + "@vue/shared": "3.3.4", + "estree-walker": "^2.0.2", + "source-map-js": "^1.0.2" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.4.tgz", + "integrity": "sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==", + "dependencies": { + "@vue/compiler-core": "3.3.4", + "@vue/shared": "3.3.4" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.4.tgz", + "integrity": "sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==", + "dependencies": { + "@babel/parser": "^7.20.15", + "@vue/compiler-core": "3.3.4", + "@vue/compiler-dom": "3.3.4", + "@vue/compiler-ssr": "3.3.4", + "@vue/reactivity-transform": "3.3.4", + "@vue/shared": "3.3.4", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.0", + "postcss": "^8.1.10", + "source-map-js": "^1.0.2" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.4.tgz", + "integrity": "sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==", + "dependencies": { + "@vue/compiler-dom": "3.3.4", + "@vue/shared": "3.3.4" + } + }, + "node_modules/@vue/devtools-api": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.0.tgz", + "integrity": "sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==" + }, + "node_modules/@vue/language-core": { + "version": "1.8.16", + "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-1.8.16.tgz", + "integrity": "sha512-IAONyjgR3XImwgrtyQ7CCJlSXTlLesXG6/LpPjOBaXFiwknmGf1yDAXGa9fVH0lRplcnvOA7HNDI92OwWBi9qg==", + "dev": true, + "dependencies": { + "@volar/language-core": "~1.10.3", + "@volar/source-map": "~1.10.3", + "@vue/compiler-dom": "^3.3.0", + "@vue/reactivity": "^3.3.0", + "@vue/shared": "^3.3.0", + "minimatch": "^9.0.3", + "muggle-string": "^0.3.1", + "vue-template-compiler": "^2.7.14" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@vue/reactivity": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.4.tgz", + "integrity": "sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==", + "dependencies": { + "@vue/shared": "3.3.4" + } + }, + "node_modules/@vue/reactivity-transform": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.4.tgz", + "integrity": "sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==", + "dependencies": { + "@babel/parser": "^7.20.15", + "@vue/compiler-core": "3.3.4", + "@vue/shared": "3.3.4", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.0" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.4.tgz", + "integrity": "sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==", + "dependencies": { + "@vue/reactivity": "3.3.4", + "@vue/shared": "3.3.4" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.4.tgz", + "integrity": "sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==", + "dependencies": { + "@vue/runtime-core": "3.3.4", + "@vue/shared": "3.3.4", + "csstype": "^3.1.1" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.4.tgz", + "integrity": "sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==", + "dependencies": { + "@vue/compiler-ssr": "3.3.4", + "@vue/shared": "3.3.4" + }, + "peerDependencies": { + "vue": "3.3.4" + } + }, + "node_modules/@vue/shared": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.4.tgz", + "integrity": "sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==" + }, + "node_modules/@vue/typescript": { + "version": "1.8.16", + "resolved": "https://registry.npmjs.org/@vue/typescript/-/typescript-1.8.16.tgz", + "integrity": "sha512-ywbY4bS4YJw8gYyPpOhwyutqzl0lqkYI7l3waZkOcQG4ZYgiu6KyHZc3aagEbH8saFQTQxi5+I3ATUN5KwfvNw==", + "dev": true, + "dependencies": { + "@volar/typescript": "~1.10.3", + "@vue/language-core": "1.8.16" + } + }, + "node_modules/@vueuse/core": { + "version": "10.5.0", + "resolved": "https://r.cnpmjs.org/@vueuse/core/-/core-10.5.0.tgz", + "integrity": "sha512-z/tI2eSvxwLRjOhDm0h/SXAjNm8N5ld6/SC/JQs6o6kpJ6Ya50LnEL8g5hoYu005i28L0zqB5L5yAl8Jl26K3A==", + "dependencies": { + "@types/web-bluetooth": "^0.0.18", + "@vueuse/metadata": "10.5.0", + "@vueuse/shared": "10.5.0", + "vue-demi": ">=0.14.6" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/metadata": { + "version": "10.5.0", + "resolved": "https://r.cnpmjs.org/@vueuse/metadata/-/metadata-10.5.0.tgz", + "integrity": "sha512-fEbElR+MaIYyCkeM0SzWkdoMtOpIwO72x8WsZHRE7IggiOlILttqttM69AS13nrDxosnDBYdyy3C5mR1LCxHsw==", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared": { + "version": "10.5.0", + "resolved": "https://r.cnpmjs.org/@vueuse/shared/-/shared-10.5.0.tgz", + "integrity": "sha512-18iyxbbHYLst9MqU1X1QNdMHIjks6wC7XTVf0KNOv5es/Ms6gjVFCAAWTVP2JStuGqydg3DT+ExpFORUEi9yhg==", + "dependencies": { + "vue-demi": ">=0.14.6" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.12.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.12.1.tgz", + "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "license": "MIT", + "peer": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "license": "MIT", + "peer": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.12.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", + "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", + "license": "MIT", + "peer": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "license": "MIT", + "peer": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.12.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", + "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.12.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "license": "MIT", + "peer": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.12.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", + "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-opt": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1", + "@webassemblyjs/wast-printer": "1.12.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.12.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", + "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.12.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", + "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.12.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", + "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.12.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", + "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "license": "BSD-3-Clause", + "peer": true + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmmirror.com/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "license": "Apache-2.0", + "peer": true + }, + "node_modules/acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-attributes": { + "version": "1.9.5", + "resolved": "https://registry.npmmirror.com/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", + "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", + "license": "MIT", + "peer": true, + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "license": "MIT", + "peer": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "license": "MIT", + "peer": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/amfe-flexible": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/amfe-flexible/-/amfe-flexible-2.2.1.tgz", + "integrity": "sha512-L2VfvDzoETBjhRptg5u/IUuzHSuxm22JpSRb404p/TBGeRfwWmmNEbB+TFPIP/sS/+pbM18bCFH9QnMojLuPNw==" + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "devOptional": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/axios": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.5.1.tgz", + "integrity": "sha512-Q28iYCWzNHjAm+yEAot5QaAMxhMghWLFVf7rRdwhUI+c2jix2DUXjAHXVi+s1ibs3mjPO/cCgbA++3BjD0vP/A==", + "dependencies": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "devOptional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "devOptional": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.23.3", + "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.23.3.tgz", + "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "caniuse-lite": "^1.0.30001646", + "electron-to-chromium": "^1.5.4", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://r2.cnpmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001655", + "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001655.tgz", + "integrity": "sha512-jRGVy3iSGO5Uutn2owlb5gR6qsGngTw9ZTb4ali9f3glshcNmJ2noam4Mo9zia5P9Dk3jNNydy7vQjuE5dQmfg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0", + "peer": true + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "devOptional": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/clipboard": { + "version": "2.0.11", + "resolved": "https://r.cnpmjs.org/clipboard/-/clipboard-2.0.11.tgz", + "integrity": "sha512-C+0bbOqkezLIsmWSvlsXS0Q0bmkugu7jcfMIACB+RDEntIzQIkdr148we28AfSloQLRdZlYL/QYyrq05j/3Faw==", + "dependencies": { + "good-listener": "^1.2.2", + "select": "^1.1.2", + "tiny-emitter": "^2.0.0" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://r2.cnpmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "node_modules/copy-text-to-clipboard": { + "version": "3.2.0", + "resolved": "https://r.cnpmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz", + "integrity": "sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/core-js": { + "version": "3.33.3", + "resolved": "https://r.cnpmjs.org/core-js/-/core-js-3.33.3.tgz", + "integrity": "sha512-lo0kOocUlLKmm6kv/FswQL8zbkH7mVsLJ/FULClOhv8WRVmKLVcs6XPNQAzstfeJTCHMyButEwG+z1kHxHoDZw==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" + }, + "node_modules/dayjs": { + "version": "1.11.10", + "resolved": "https://r.cnpmjs.org/dayjs/-/dayjs-1.11.10.tgz", + "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==" + }, + "node_modules/de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", + "dev": true + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decimal.js": { + "version": "10.4.3", + "resolved": "https://r.cnpmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/delegate": { + "version": "3.2.0", + "resolved": "https://r2.cnpmjs.org/delegate/-/delegate-3.2.0.tgz", + "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==" + }, + "node_modules/dom7": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/dom7/-/dom7-4.0.6.tgz", + "integrity": "sha512-emjdpPLhpNubapLFdjNL9tP06Sr+GZkrIHEXLWvOGsytACUrkbeIdjO5g77m00BrHTznnlcNqgmn7pCN192TBA==", + "dependencies": { + "ssr-window": "^4.0.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.14", + "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.5.14.tgz", + "integrity": "sha512-bEfPECb3fJ15eaDnu9LEJ2vPGD6W1vt7vZleSVyFhYuMIKm3vz/g9lt7IvEzgdwj58RjbPKUF2rXTCN/UW47tQ==", + "license": "ISC", + "peer": true + }, + "node_modules/enhanced-resolve": { + "version": "5.17.1", + "resolved": "https://registry.npmmirror.com/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", + "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", + "license": "MIT", + "peer": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/es-module-lexer": { + "version": "1.5.4", + "resolved": "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-1.5.4.tgz", + "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==", + "license": "MIT", + "peer": true + }, + "node_modules/esbuild": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", + "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.18.20", + "@esbuild/android-arm64": "0.18.20", + "@esbuild/android-x64": "0.18.20", + "@esbuild/darwin-arm64": "0.18.20", + "@esbuild/darwin-x64": "0.18.20", + "@esbuild/freebsd-arm64": "0.18.20", + "@esbuild/freebsd-x64": "0.18.20", + "@esbuild/linux-arm": "0.18.20", + "@esbuild/linux-arm64": "0.18.20", + "@esbuild/linux-ia32": "0.18.20", + "@esbuild/linux-loong64": "0.18.20", + "@esbuild/linux-mips64el": "0.18.20", + "@esbuild/linux-ppc64": "0.18.20", + "@esbuild/linux-riscv64": "0.18.20", + "@esbuild/linux-s390x": "0.18.20", + "@esbuild/linux-x64": "0.18.20", + "@esbuild/netbsd-x64": "0.18.20", + "@esbuild/openbsd-x64": "0.18.20", + "@esbuild/sunos-x64": "0.18.20", + "@esbuild/win32-arm64": "0.18.20", + "@esbuild/win32-ia32": "0.18.20", + "@esbuild/win32-x64": "0.18.20" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "license": "BSD-2-Clause", + "peer": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "license": "BSD-2-Clause", + "peer": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "license": "BSD-2-Clause", + "peer": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "license": "BSD-2-Clause", + "peer": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "license": "MIT", + "peer": true + }, + "node_modules/fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "license": "MIT", + "peer": true + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "devOptional": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", + "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "devOptional": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "license": "BSD-2-Clause", + "peer": true + }, + "node_modules/good-listener": { + "version": "1.2.2", + "resolved": "https://r2.cnpmjs.org/good-listener/-/good-listener-1.2.2.tgz", + "integrity": "sha512-goW1b+d9q/HIwbVYZzZ6SsTr4IgE+WA44A0GmPIQstuOrgsFcT7VEJ48nmr9GaRtNu0XTKacFLGnBPAM6Afouw==", + "dependencies": { + "delegate": "^3.1.2" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC", + "peer": true + }, + "node_modules/has": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.4.tgz", + "integrity": "sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "bin": { + "he": "bin/he" + } + }, + "node_modules/immutable": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.4.tgz", + "integrity": "sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==", + "devOptional": true + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "devOptional": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", + "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "devOptional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "devOptional": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "devOptional": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "license": "MIT", + "peer": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "license": "MIT", + "peer": true + }, + "node_modules/jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "dev": true + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/local-pkg": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz", + "integrity": "sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/magic-string": { + "version": "0.30.4", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.4.tgz", + "integrity": "sha512-Q/TKtsC5BPm0kGqgBIF9oXAs/xEf2vRKiIB4wCRQTJOQIByZ1d+NnUOotvJOvNpi5RNIgVOMC3pOuaP1ZTDlVg==", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "license": "MIT", + "peer": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/mitt": { + "version": "3.0.1", + "resolved": "https://r.cnpmjs.org/mitt/-/mitt-3.0.1.tgz", + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==" + }, + "node_modules/mlly": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.4.2.tgz", + "integrity": "sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==", + "dev": true, + "dependencies": { + "acorn": "^8.10.0", + "pathe": "^1.1.1", + "pkg-types": "^1.0.3", + "ufo": "^1.3.0" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/muggle-string": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.3.1.tgz", + "integrity": "sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==", + "dev": true + }, + "node_modules/mutation-observer": { + "version": "1.0.3", + "resolved": "https://r2.cnpmjs.org/mutation-observer/-/mutation-observer-1.0.3.tgz", + "integrity": "sha512-M/O/4rF2h776hV7qGMZUH3utZLO/jK7p8rnNgGkjKUw8zCGjRQPxB8z6+5l8+VjRUQ3dNYu4vjqXYLr+U8ZVNA==" + }, + "node_modules/nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + }, + "node_modules/node-releases": { + "version": "2.0.18", + "resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", + "license": "MIT", + "peer": true + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "devOptional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nosleep.js": { + "version": "0.12.0", + "resolved": "https://r2.cnpmjs.org/nosleep.js/-/nosleep.js-0.12.0.tgz", + "integrity": "sha512-9d1HbpKLh3sdWlhXMhU6MMH+wQzKkrgfRkYV0EBdvt99YJfj0ilCJrWRDYG2130Tm4GXbEoTCx5b34JSaP+HhA==" + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/pathe": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.1.tgz", + "integrity": "sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==", + "dev": true + }, + "node_modules/picocolors": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.0.tgz", + "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "devOptional": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pinia": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.1.6.tgz", + "integrity": "sha512-bIU6QuE5qZviMmct5XwCesXelb5VavdOWKWaB17ggk++NUwQWWbP5YnsONTk3b752QkW9sACiR81rorpeOMSvQ==", + "dependencies": { + "@vue/devtools-api": "^6.5.0", + "vue-demi": ">=0.14.5" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "@vue/composition-api": "^1.4.0", + "typescript": ">=4.4.4", + "vue": "^2.6.14 || ^3.3.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/pinia-plugin-persistedstate": { + "version": "3.2.0", + "resolved": "https://r.cnpmjs.org/pinia-plugin-persistedstate/-/pinia-plugin-persistedstate-3.2.0.tgz", + "integrity": "sha512-tZbNGf2vjAQcIm7alK40sE51Qu/m9oWr+rEgNm/2AWr1huFxj72CjvpQcIQzMknDBJEkQznCLAGtJTIcLKrKdw==", + "peerDependencies": { + "pinia": "^2.0.0" + } + }, + "node_modules/pinia/node_modules/vue-demi": { + "version": "0.14.6", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz", + "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==", + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/pkg-types": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.3.tgz", + "integrity": "sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==", + "dev": true, + "dependencies": { + "jsonc-parser": "^3.2.0", + "mlly": "^1.2.0", + "pathe": "^1.1.0" + } + }, + "node_modules/postcss": { + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-pxtorem": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-pxtorem/-/postcss-pxtorem-6.0.0.tgz", + "integrity": "sha512-ZRXrD7MLLjLk2RNGV6UA4f5Y7gy+a/j1EqjAfp9NdcNYVjUMvg5HTYduTjSkKBkRkfqbg/iKrjMO70V4g1LZeg==", + "dev": true, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/qrcode.vue": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/qrcode.vue/-/qrcode.vue-3.4.1.tgz", + "integrity": "sha512-wq/zHsifH4FJ1GXQi8/wNxD1KfQkckIpjK1KPTc/qwYU5/Bkd4me0w4xZSg6EXk6xLBkVDE0zxVagewv5EMAVA==", + "peerDependencies": { + "vue": "^3.0.0" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "devOptional": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.0", + "resolved": "https://r.cnpmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", + "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" + }, + "node_modules/resolve": { + "version": "1.22.6", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.6.tgz", + "integrity": "sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rollup": { + "version": "3.29.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz", + "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==", + "dev": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "peer": true + }, + "node_modules/sass": { + "version": "1.69.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.69.1.tgz", + "integrity": "sha512-nc969GvTVz38oqKgYYVHM/Iq7Yl33IILy5uqaH2CWSiSUmRCvw+UR7tA3845Sp4BD5ykCUimvrT3k1EjTwpVUA==", + "devOptional": true, + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-loader": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.3.2.tgz", + "integrity": "sha512-CQbKl57kdEv+KDLquhC+gE3pXt74LEAzm+tzywcA0/aHZuub8wTErbjAoNI57rPUWRYRNC5WUnNl8eGJNbDdwg==", + "dependencies": { + "neo-async": "^2.6.2" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "fibers": ">= 3.1.0", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0", + "sass": "^1.3.0", + "sass-embedded": "*", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "fibers": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + } + } + }, + "node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/scule": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/scule/-/scule-1.0.0.tgz", + "integrity": "sha512-4AsO/FrViE/iDNEPaAQlb77tf0csuq27EsVpy6ett584EcRTp6pTDLoGWVxCD77y5iU5FauOvhsI4o1APwPoSQ==", + "dev": true + }, + "node_modules/select": { + "version": "1.1.2", + "resolved": "https://r2.cnpmjs.org/select/-/select-1.1.2.tgz", + "integrity": "sha512-OwpTSOfy6xSs1+pwcNrv0RBMOzI39Lp3qQKUTPVVPRjCdNa5JH/oPRiqsesIskK8TVgmRiHwO4KXlV2Li9dANA==" + }, + "node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "license": "BSD-3-Clause", + "peer": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://r2.cnpmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://r2.cnpmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/ssr-window": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/ssr-window/-/ssr-window-4.0.2.tgz", + "integrity": "sha512-ISv/Ch+ig7SOtw7G2+qkwfVASzazUnvlDTwypdLoPoySv+6MqlOV10VwPSE6EWkGjhW50lUmghPmpYZXMu/+AQ==" + }, + "node_modules/strip-literal": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-1.3.0.tgz", + "integrity": "sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==", + "dev": true, + "dependencies": { + "acorn": "^8.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "license": "MIT", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/swiper": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/swiper/-/swiper-8.0.1.tgz", + "integrity": "sha512-WLQvR+EVEQHoGaRaZ8QlPUzwVC6aPS9U1XG9/wN4MHcxmCDKQKZL21uhB3YghJvnP5Wo07YwvnsEJ1inAHNHnQ==", + "funding": [ + { + "type": "patreon", + "url": "https://www.patreon.com/swiperjs" + }, + { + "type": "open_collective", + "url": "http://opencollective.com/swiper" + } + ], + "hasInstallScript": true, + "dependencies": { + "dom7": "^4.0.4", + "ssr-window": "^4.0.2" + }, + "engines": { + "node": ">= 4.7.0" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/terser": { + "version": "5.31.6", + "resolved": "https://registry.npmmirror.com/terser/-/terser-5.31.6.tgz", + "integrity": "sha512-PQ4DAriWzKj+qgehQ7LK5bQqCFNMmlhjR2PFFLuqGCpuCAauxemVBWwWOxo3UIwWQx8+Pr61Df++r76wDmkQBg==", + "license": "BSD-2-Clause", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.10", + "resolved": "https://registry.npmmirror.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", + "license": "MIT", + "peer": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.20", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.26.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/tiny-emitter": { + "version": "2.1.0", + "resolved": "https://r2.cnpmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz", + "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==" + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "devOptional": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/typescript": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", + "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", + "devOptional": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/ufo": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.3.1.tgz", + "integrity": "sha512-uY/99gMLIOlJPwATcMVYfqDSxUR9//AUcgZMzwfSTJPDKzA1S8mX4VLqa+fiAtveraQUBCz4FFcwVZBGbwBXIw==", + "dev": true + }, + "node_modules/unimport": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/unimport/-/unimport-3.4.0.tgz", + "integrity": "sha512-M/lfFEgufIT156QAr/jWHLUn55kEmxBBiQsMxvRSIbquwmeJEyQYgshHDEvQDWlSJrVOOTAgnJ3FvlsrpGkanA==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^5.0.4", + "escape-string-regexp": "^5.0.0", + "fast-glob": "^3.3.1", + "local-pkg": "^0.4.3", + "magic-string": "^0.30.3", + "mlly": "^1.4.2", + "pathe": "^1.1.1", + "pkg-types": "^1.0.3", + "scule": "^1.0.0", + "strip-literal": "^1.3.0", + "unplugin": "^1.5.0" + } + }, + "node_modules/unplugin": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.5.0.tgz", + "integrity": "sha512-9ZdRwbh/4gcm1JTOkp9lAkIDrtOyOxgHmY7cjuwI8L/2RTikMcVG25GsZwNAgRuap3iDw2jeq7eoqtAsz5rW3A==", + "dev": true, + "dependencies": { + "acorn": "^8.10.0", + "chokidar": "^3.5.3", + "webpack-sources": "^3.2.3", + "webpack-virtual-modules": "^0.5.0" + } + }, + "node_modules/unplugin-auto-import": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/unplugin-auto-import/-/unplugin-auto-import-0.16.6.tgz", + "integrity": "sha512-M+YIITkx3C/Hg38hp8HmswP5mShUUyJOzpifv7RTlAbeFlO2Tyw0pwrogSSxnipHDPTtI8VHFBpkYkNKzYSuyA==", + "dev": true, + "dependencies": { + "@antfu/utils": "^0.7.5", + "@rollup/pluginutils": "^5.0.2", + "fast-glob": "^3.3.0", + "local-pkg": "^0.4.3", + "magic-string": "^0.30.1", + "minimatch": "^9.0.2", + "unimport": "^3.0.14", + "unplugin": "^1.3.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@nuxt/kit": "^3.2.2", + "@vueuse/core": "*" + }, + "peerDependenciesMeta": { + "@nuxt/kit": { + "optional": true + }, + "@vueuse/core": { + "optional": true + } + } + }, + "node_modules/unplugin-vue-components": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/unplugin-vue-components/-/unplugin-vue-components-0.25.2.tgz", + "integrity": "sha512-OVmLFqILH6w+eM8fyt/d/eoJT9A6WO51NZLf1vC5c1FZ4rmq2bbGxTy8WP2Jm7xwFdukaIdv819+UI7RClPyCA==", + "dev": true, + "dependencies": { + "@antfu/utils": "^0.7.5", + "@rollup/pluginutils": "^5.0.2", + "chokidar": "^3.5.3", + "debug": "^4.3.4", + "fast-glob": "^3.3.0", + "local-pkg": "^0.4.3", + "magic-string": "^0.30.1", + "minimatch": "^9.0.3", + "resolve": "^1.22.2", + "unplugin": "^1.4.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@babel/parser": "^7.15.8", + "@nuxt/kit": "^3.2.2", + "vue": "2 || 3" + }, + "peerDependenciesMeta": { + "@babel/parser": { + "optional": true + }, + "@nuxt/kit": { + "optional": true + } + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "escalade": "^3.1.2", + "picocolors": "^1.0.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "license": "BSD-2-Clause", + "peer": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/vant": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/vant/-/vant-4.7.1.tgz", + "integrity": "sha512-LIzAvTdUVVjBB6NwWpUhClUfUkJvAsc681roEumSZ62ptwwrroCy4HxvSsyf0aSemPqNbPcx0uN+wzENC81eEA==", + "dependencies": { + "@vant/popperjs": "^1.3.0", + "@vant/use": "^1.6.0", + "@vue/shared": "^3.0.0" + }, + "peerDependencies": { + "vue": "^3.0.0" + } + }, + "node_modules/vconsole": { + "version": "3.15.1", + "resolved": "https://r.cnpmjs.org/vconsole/-/vconsole-3.15.1.tgz", + "integrity": "sha512-KH8XLdrq9T5YHJO/ixrjivHfmF2PC2CdVoK6RWZB4yftMykYIaXY1mxZYAic70vADM54kpMQF+dYmvl5NRNy1g==", + "dependencies": { + "@babel/runtime": "^7.17.2", + "copy-text-to-clipboard": "^3.0.1", + "core-js": "^3.11.0", + "mutation-observer": "^1.0.3" + } + }, + "node_modules/vite": { + "version": "4.4.11", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.11.tgz", + "integrity": "sha512-ksNZJlkcU9b0lBwAGZGGaZHCMqHsc8OpgtoYhsQ4/I2v5cnpmmmqe5pM4nv/4Hn6G/2GhTdj0DhZh2e+Er1q5A==", + "dev": true, + "dependencies": { + "esbuild": "^0.18.10", + "postcss": "^8.4.27", + "rollup": "^3.27.1" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "@types/node": ">= 14", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vue": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.3.4.tgz", + "integrity": "sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==", + "dependencies": { + "@vue/compiler-dom": "3.3.4", + "@vue/compiler-sfc": "3.3.4", + "@vue/runtime-dom": "3.3.4", + "@vue/server-renderer": "3.3.4", + "@vue/shared": "3.3.4" + } + }, + "node_modules/vue-clipboard3": { + "version": "2.0.0", + "resolved": "https://r.cnpmjs.org/vue-clipboard3/-/vue-clipboard3-2.0.0.tgz", + "integrity": "sha512-Q9S7dzWGax7LN5iiSPcu/K1GGm2gcBBlYwmMsUc5/16N6w90cbKow3FnPmPs95sungns4yvd9/+JhbAznECS2A==", + "dependencies": { + "clipboard": "^2.0.6" + } + }, + "node_modules/vue-cookies": { + "version": "1.8.3", + "resolved": "https://r.cnpmjs.org/vue-cookies/-/vue-cookies-1.8.3.tgz", + "integrity": "sha512-VBRsyRMVdahBgFfh389TMHPmDdr4URDJNMk4FKSCfuNITs7+jitBDhwyL4RJd3WUsfOYNNjPAkfbehyH9AFuoA==" + }, + "node_modules/vue-demi": { + "version": "0.14.6", + "resolved": "https://r.cnpmjs.org/vue-demi/-/vue-demi-0.14.6.tgz", + "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==", + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/vue-router": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.2.5.tgz", + "integrity": "sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==", + "dependencies": { + "@vue/devtools-api": "^6.5.0" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/vue-template-compiler": { + "version": "2.7.14", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.14.tgz", + "integrity": "sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==", + "dev": true, + "dependencies": { + "de-indent": "^1.0.2", + "he": "^1.2.0" + } + }, + "node_modules/vue-tsc": { + "version": "1.8.16", + "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-1.8.16.tgz", + "integrity": "sha512-PT2xOJNl2qkmmp8eHf4qapfzvcRTQLxQQhQAzY7sMjv0JKsud9vo+aotklh/VzM9ZfaSo1UlDGZy6zSSRc+8wA==", + "dev": true, + "dependencies": { + "@vue/language-core": "1.8.16", + "@vue/typescript": "1.8.16", + "semver": "^7.5.4" + }, + "bin": { + "vue-tsc": "bin/vue-tsc.js" + }, + "peerDependencies": { + "typescript": "*" + } + }, + "node_modules/vue3-google-login": { + "version": "2.0.25", + "resolved": "https://r.cnpmjs.org/vue3-google-login/-/vue3-google-login-2.0.25.tgz", + "integrity": "sha512-b6EfYFF2KH1qSiiCKI9WmPB79GdXifPB8qOt48RRmo1F5h3UcigrrqzQCosjcRLcTqUpRQcZ9TeKYP4ZVroNHQ==", + "peerDependencies": { + "vue": "^3.0.3" + } + }, + "node_modules/watchpack": { + "version": "2.4.2", + "resolved": "https://registry.npmmirror.com/watchpack/-/watchpack-2.4.2.tgz", + "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", + "license": "MIT", + "peer": true, + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack": { + "version": "5.94.0", + "resolved": "https://registry.npmmirror.com/webpack/-/webpack-5.94.0.tgz", + "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", + "acorn": "^8.7.1", + "acorn-import-attributes": "^1.9.5", + "browserslist": "^4.21.10", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.17.1", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.11", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.1", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack-virtual-modules": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.5.0.tgz", + "integrity": "sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==", + "dev": true + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + }, + "dependencies": { + "@antfu/utils": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/@antfu/utils/-/utils-0.7.6.tgz", + "integrity": "sha512-pvFiLP2BeOKA/ZOS6jxx4XhKzdVLHDhGlFEaZ2flWWYf2xOqVniqpk38I04DFRyz+L0ASggl7SkItTc+ZLju4w==", + "dev": true + }, + "@babel/parser": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", + "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==" + }, + "@babel/runtime": { + "version": "7.23.4", + "resolved": "https://r.cnpmjs.org/@babel/runtime/-/runtime-7.23.4.tgz", + "integrity": "sha512-2Yv65nlWnWlSpe3fXEyX5i7fx5kIKo4Qbcj+hMO0odwaneFjfXw5fdum+4yL20O0QiaHpia0cYQ9xpNMqrBwHg==", + "requires": { + "regenerator-runtime": "^0.14.0" + } + }, + "@esbuild/android-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "dev": true, + "optional": true + }, + "@esbuild/android-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "dev": true, + "optional": true + }, + "@esbuild/android-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", + "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-loong64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-mips64el": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ppc64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-riscv64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "dev": true, + "optional": true + }, + "@esbuild/linux-s390x": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "dev": true, + "optional": true + }, + "@esbuild/netbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "dev": true, + "optional": true + }, + "@esbuild/openbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "dev": true, + "optional": true + }, + "@esbuild/sunos-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "dev": true, + "optional": true + }, + "@esbuild/win32-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "dev": true, + "optional": true + }, + "@esbuild/win32-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "dev": true, + "optional": true + }, + "@esbuild/win32-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "dev": true, + "optional": true + }, + "@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://r.cnpmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://r.cnpmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==" + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://r.cnpmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" + }, + "@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://r.cnpmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "@jridgewell/trace-mapping": { + "version": "0.3.20", + "resolved": "https://r.cnpmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "requires": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@rollup/pluginutils": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.5.tgz", + "integrity": "sha512-6aEYR910NyP73oHiJglti74iRyOwgFU4x3meH/H8OJx6Ry0j6cOVZ5X/wTvub7G7Ao6qaHBEaNsV3GLJkSsF+Q==", + "dev": true, + "requires": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + } + }, + "@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" + }, + "@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "peer": true + }, + "@types/node": { + "version": "18.18.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.18.4.tgz", + "integrity": "sha512-t3rNFBgJRugIhackit2mVcLfF6IRc0JE4oeizPQL8Zrm8n2WY/0wOdpOPhdtG0V9Q2TlW/axbF1MJ6z+Yj/kKQ==" + }, + "@types/web-bluetooth": { + "version": "0.0.18", + "resolved": "https://r.cnpmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.18.tgz", + "integrity": "sha512-v/ZHEj9xh82usl8LMR3GarzFY1IrbXJw5L4QfQhokjRV91q+SelFqxQWSep1ucXEZ22+dSTwLFkXeur25sPIbw==" + }, + "@vant/auto-import-resolver": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@vant/auto-import-resolver/-/auto-import-resolver-1.0.1.tgz", + "integrity": "sha512-BmCM5eUONQGXY0DgpPJlzMBNyYzIbzkduI9FiEe6F5Tf0OfYRue5VwHXsBsnRq/RZoY+tiKZSAcyGreL+/8lQg==", + "dev": true + }, + "@vant/popperjs": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@vant/popperjs/-/popperjs-1.3.0.tgz", + "integrity": "sha512-hB+czUG+aHtjhaEmCJDuXOep0YTZjdlRR+4MSmIFnkCQIxJaXLQdSsR90XWvAI2yvKUI7TCGqR8pQg2RtvkMHw==" + }, + "@vant/use": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vant/use/-/use-1.6.0.tgz", + "integrity": "sha512-PHHxeAASgiOpSmMjceweIrv2AxDZIkWXyaczksMoWvKV2YAYEhoizRuk/xFnKF+emUIi46TsQ+rvlm/t2BBCfA==", + "requires": {} + }, + "@vitejs/plugin-vue": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.4.0.tgz", + "integrity": "sha512-xdguqb+VUwiRpSg+nsc2HtbAUSGak25DXYvpQQi4RVU1Xq1uworyoH/md9Rfd8zMmPR/pSghr309QNcftUVseg==", + "dev": true, + "requires": {} + }, + "@volar/language-core": { + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-1.10.3.tgz", + "integrity": "sha512-7Qgwu9bWUHN+cLrOkCbIVBkL+RVPREhvY07wY89dGxi4mY9mQCsUVRRp64F61lX7Nc27meMnvy0sWlzY0x6oQQ==", + "dev": true, + "requires": { + "@volar/source-map": "1.10.3" + } + }, + "@volar/source-map": { + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-1.10.3.tgz", + "integrity": "sha512-QE9nwK3xsdBQGongHnC9SCR0itx7xUKQFsUDn5HbZY3pHpyXxdY1hSBG0eh9mE+aTKoM4KlqMvrb+19Tv9vS1Q==", + "dev": true, + "requires": { + "muggle-string": "^0.3.1" + } + }, + "@volar/typescript": { + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-1.10.3.tgz", + "integrity": "sha512-n0ar6xGYpRoSvgGMetm/JXP0QAXx+NOUvxCaWCfCjiFivQRSLJeydYDijhoGBUl5KSKosqq9In5L3e/m2TqTcQ==", + "dev": true, + "requires": { + "@volar/language-core": "1.10.3" + } + }, + "@vue/compiler-core": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.4.tgz", + "integrity": "sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==", + "requires": { + "@babel/parser": "^7.21.3", + "@vue/shared": "3.3.4", + "estree-walker": "^2.0.2", + "source-map-js": "^1.0.2" + } + }, + "@vue/compiler-dom": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.4.tgz", + "integrity": "sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==", + "requires": { + "@vue/compiler-core": "3.3.4", + "@vue/shared": "3.3.4" + } + }, + "@vue/compiler-sfc": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.4.tgz", + "integrity": "sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==", + "requires": { + "@babel/parser": "^7.20.15", + "@vue/compiler-core": "3.3.4", + "@vue/compiler-dom": "3.3.4", + "@vue/compiler-ssr": "3.3.4", + "@vue/reactivity-transform": "3.3.4", + "@vue/shared": "3.3.4", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.0", + "postcss": "^8.1.10", + "source-map-js": "^1.0.2" + } + }, + "@vue/compiler-ssr": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.4.tgz", + "integrity": "sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==", + "requires": { + "@vue/compiler-dom": "3.3.4", + "@vue/shared": "3.3.4" + } + }, + "@vue/devtools-api": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.0.tgz", + "integrity": "sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==" + }, + "@vue/language-core": { + "version": "1.8.16", + "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-1.8.16.tgz", + "integrity": "sha512-IAONyjgR3XImwgrtyQ7CCJlSXTlLesXG6/LpPjOBaXFiwknmGf1yDAXGa9fVH0lRplcnvOA7HNDI92OwWBi9qg==", + "dev": true, + "requires": { + "@volar/language-core": "~1.10.3", + "@volar/source-map": "~1.10.3", + "@vue/compiler-dom": "^3.3.0", + "@vue/reactivity": "^3.3.0", + "@vue/shared": "^3.3.0", + "minimatch": "^9.0.3", + "muggle-string": "^0.3.1", + "vue-template-compiler": "^2.7.14" + } + }, + "@vue/reactivity": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.4.tgz", + "integrity": "sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==", + "requires": { + "@vue/shared": "3.3.4" + } + }, + "@vue/reactivity-transform": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.4.tgz", + "integrity": "sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==", + "requires": { + "@babel/parser": "^7.20.15", + "@vue/compiler-core": "3.3.4", + "@vue/shared": "3.3.4", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.0" + } + }, + "@vue/runtime-core": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.4.tgz", + "integrity": "sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==", + "requires": { + "@vue/reactivity": "3.3.4", + "@vue/shared": "3.3.4" + } + }, + "@vue/runtime-dom": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.4.tgz", + "integrity": "sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==", + "requires": { + "@vue/runtime-core": "3.3.4", + "@vue/shared": "3.3.4", + "csstype": "^3.1.1" + } + }, + "@vue/server-renderer": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.4.tgz", + "integrity": "sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==", + "requires": { + "@vue/compiler-ssr": "3.3.4", + "@vue/shared": "3.3.4" + } + }, + "@vue/shared": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.4.tgz", + "integrity": "sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==" + }, + "@vue/typescript": { + "version": "1.8.16", + "resolved": "https://registry.npmjs.org/@vue/typescript/-/typescript-1.8.16.tgz", + "integrity": "sha512-ywbY4bS4YJw8gYyPpOhwyutqzl0lqkYI7l3waZkOcQG4ZYgiu6KyHZc3aagEbH8saFQTQxi5+I3ATUN5KwfvNw==", + "dev": true, + "requires": { + "@volar/typescript": "~1.10.3", + "@vue/language-core": "1.8.16" + } + }, + "@vueuse/core": { + "version": "10.5.0", + "resolved": "https://r.cnpmjs.org/@vueuse/core/-/core-10.5.0.tgz", + "integrity": "sha512-z/tI2eSvxwLRjOhDm0h/SXAjNm8N5ld6/SC/JQs6o6kpJ6Ya50LnEL8g5hoYu005i28L0zqB5L5yAl8Jl26K3A==", + "requires": { + "@types/web-bluetooth": "^0.0.18", + "@vueuse/metadata": "10.5.0", + "@vueuse/shared": "10.5.0", + "vue-demi": ">=0.14.6" + } + }, + "@vueuse/metadata": { + "version": "10.5.0", + "resolved": "https://r.cnpmjs.org/@vueuse/metadata/-/metadata-10.5.0.tgz", + "integrity": "sha512-fEbElR+MaIYyCkeM0SzWkdoMtOpIwO72x8WsZHRE7IggiOlILttqttM69AS13nrDxosnDBYdyy3C5mR1LCxHsw==" + }, + "@vueuse/shared": { + "version": "10.5.0", + "resolved": "https://r.cnpmjs.org/@vueuse/shared/-/shared-10.5.0.tgz", + "integrity": "sha512-18iyxbbHYLst9MqU1X1QNdMHIjks6wC7XTVf0KNOv5es/Ms6gjVFCAAWTVP2JStuGqydg3DT+ExpFORUEi9yhg==", + "requires": { + "vue-demi": ">=0.14.6" + } + }, + "@webassemblyjs/ast": { + "version": "1.12.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.12.1.tgz", + "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", + "peer": true, + "requires": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "peer": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "peer": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.12.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", + "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", + "peer": true + }, + "@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "peer": true, + "requires": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "peer": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.12.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", + "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.12.1" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "peer": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "peer": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "peer": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.12.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", + "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-opt": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1", + "@webassemblyjs/wast-printer": "1.12.1" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.12.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", + "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.12.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", + "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.12.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", + "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.12.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", + "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.12.1", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "peer": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmmirror.com/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "peer": true + }, + "acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==" + }, + "acorn-import-attributes": { + "version": "1.9.5", + "resolved": "https://registry.npmmirror.com/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", + "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", + "peer": true, + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "peer": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peer": true, + "requires": {} + }, + "amfe-flexible": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/amfe-flexible/-/amfe-flexible-2.2.1.tgz", + "integrity": "sha512-L2VfvDzoETBjhRptg5u/IUuzHSuxm22JpSRb404p/TBGeRfwWmmNEbB+TFPIP/sS/+pbM18bCFH9QnMojLuPNw==" + }, + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "devOptional": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "axios": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.5.1.tgz", + "integrity": "sha512-Q28iYCWzNHjAm+yEAot5QaAMxhMghWLFVf7rRdwhUI+c2jix2DUXjAHXVi+s1ibs3mjPO/cCgbA++3BjD0vP/A==", + "requires": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "devOptional": true + }, + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "devOptional": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browserslist": { + "version": "4.23.3", + "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.23.3.tgz", + "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", + "peer": true, + "requires": { + "caniuse-lite": "^1.0.30001646", + "electron-to-chromium": "^1.5.4", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.0" + } + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://r2.cnpmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "caniuse-lite": { + "version": "1.0.30001655", + "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001655.tgz", + "integrity": "sha512-jRGVy3iSGO5Uutn2owlb5gR6qsGngTw9ZTb4ali9f3glshcNmJ2noam4Mo9zia5P9Dk3jNNydy7vQjuE5dQmfg==", + "peer": true + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "devOptional": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + } + }, + "chrome-trace-event": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", + "peer": true + }, + "clipboard": { + "version": "2.0.11", + "resolved": "https://r.cnpmjs.org/clipboard/-/clipboard-2.0.11.tgz", + "integrity": "sha512-C+0bbOqkezLIsmWSvlsXS0Q0bmkugu7jcfMIACB+RDEntIzQIkdr148we28AfSloQLRdZlYL/QYyrq05j/3Faw==", + "requires": { + "good-listener": "^1.2.2", + "select": "^1.1.2", + "tiny-emitter": "^2.0.0" + } + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "2.20.3", + "resolved": "https://r2.cnpmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "copy-text-to-clipboard": { + "version": "3.2.0", + "resolved": "https://r.cnpmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz", + "integrity": "sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q==" + }, + "core-js": { + "version": "3.33.3", + "resolved": "https://r.cnpmjs.org/core-js/-/core-js-3.33.3.tgz", + "integrity": "sha512-lo0kOocUlLKmm6kv/FswQL8zbkH7mVsLJ/FULClOhv8WRVmKLVcs6XPNQAzstfeJTCHMyButEwG+z1kHxHoDZw==" + }, + "csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" + }, + "dayjs": { + "version": "1.11.10", + "resolved": "https://r.cnpmjs.org/dayjs/-/dayjs-1.11.10.tgz", + "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==" + }, + "de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", + "dev": true + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "decimal.js": { + "version": "10.4.3", + "resolved": "https://r.cnpmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + }, + "delegate": { + "version": "3.2.0", + "resolved": "https://r2.cnpmjs.org/delegate/-/delegate-3.2.0.tgz", + "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==" + }, + "dom7": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/dom7/-/dom7-4.0.6.tgz", + "integrity": "sha512-emjdpPLhpNubapLFdjNL9tP06Sr+GZkrIHEXLWvOGsytACUrkbeIdjO5g77m00BrHTznnlcNqgmn7pCN192TBA==", + "requires": { + "ssr-window": "^4.0.0" + } + }, + "electron-to-chromium": { + "version": "1.5.14", + "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.5.14.tgz", + "integrity": "sha512-bEfPECb3fJ15eaDnu9LEJ2vPGD6W1vt7vZleSVyFhYuMIKm3vz/g9lt7IvEzgdwj58RjbPKUF2rXTCN/UW47tQ==", + "peer": true + }, + "enhanced-resolve": { + "version": "5.17.1", + "resolved": "https://registry.npmmirror.com/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", + "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", + "peer": true, + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "es-module-lexer": { + "version": "1.5.4", + "resolved": "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-1.5.4.tgz", + "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==", + "peer": true + }, + "esbuild": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", + "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "dev": true, + "requires": { + "@esbuild/android-arm": "0.18.20", + "@esbuild/android-arm64": "0.18.20", + "@esbuild/android-x64": "0.18.20", + "@esbuild/darwin-arm64": "0.18.20", + "@esbuild/darwin-x64": "0.18.20", + "@esbuild/freebsd-arm64": "0.18.20", + "@esbuild/freebsd-x64": "0.18.20", + "@esbuild/linux-arm": "0.18.20", + "@esbuild/linux-arm64": "0.18.20", + "@esbuild/linux-ia32": "0.18.20", + "@esbuild/linux-loong64": "0.18.20", + "@esbuild/linux-mips64el": "0.18.20", + "@esbuild/linux-ppc64": "0.18.20", + "@esbuild/linux-riscv64": "0.18.20", + "@esbuild/linux-s390x": "0.18.20", + "@esbuild/linux-x64": "0.18.20", + "@esbuild/netbsd-x64": "0.18.20", + "@esbuild/openbsd-x64": "0.18.20", + "@esbuild/sunos-x64": "0.18.20", + "@esbuild/win32-arm64": "0.18.20", + "@esbuild/win32-ia32": "0.18.20", + "@esbuild/win32-x64": "0.18.20" + } + }, + "escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "peer": true + }, + "escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "dev": true + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "peer": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "peer": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "peer": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "peer": true + }, + "estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "peer": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "peer": true + }, + "fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "peer": true + }, + "fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "devOptional": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "follow-redirects": { + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", + "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==" + }, + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "optional": true + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "devOptional": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "peer": true + }, + "good-listener": { + "version": "1.2.2", + "resolved": "https://r2.cnpmjs.org/good-listener/-/good-listener-1.2.2.tgz", + "integrity": "sha512-goW1b+d9q/HIwbVYZzZ6SsTr4IgE+WA44A0GmPIQstuOrgsFcT7VEJ48nmr9GaRtNu0XTKacFLGnBPAM6Afouw==", + "requires": { + "delegate": "^3.1.2" + } + }, + "graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "peer": true + }, + "has": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.4.tgz", + "integrity": "sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "peer": true + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true + }, + "immutable": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.4.tgz", + "integrity": "sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==", + "devOptional": true + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "devOptional": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-core-module": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", + "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "devOptional": true + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "devOptional": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "devOptional": true + }, + "jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "peer": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "peer": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "peer": true + }, + "jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "dev": true + }, + "loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "peer": true + }, + "local-pkg": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz", + "integrity": "sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "magic-string": { + "version": "0.30.4", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.4.tgz", + "integrity": "sha512-Q/TKtsC5BPm0kGqgBIF9oXAs/xEf2vRKiIB4wCRQTJOQIByZ1d+NnUOotvJOvNpi5RNIgVOMC3pOuaP1ZTDlVg==", + "requires": { + "@jridgewell/sourcemap-codec": "^1.4.15" + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "peer": true + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "requires": { + "mime-db": "1.52.0" + } + }, + "minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "mitt": { + "version": "3.0.1", + "resolved": "https://r.cnpmjs.org/mitt/-/mitt-3.0.1.tgz", + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==" + }, + "mlly": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.4.2.tgz", + "integrity": "sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==", + "dev": true, + "requires": { + "acorn": "^8.10.0", + "pathe": "^1.1.1", + "pkg-types": "^1.0.3", + "ufo": "^1.3.0" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "muggle-string": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.3.1.tgz", + "integrity": "sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==", + "dev": true + }, + "mutation-observer": { + "version": "1.0.3", + "resolved": "https://r2.cnpmjs.org/mutation-observer/-/mutation-observer-1.0.3.tgz", + "integrity": "sha512-M/O/4rF2h776hV7qGMZUH3utZLO/jK7p8rnNgGkjKUw8zCGjRQPxB8z6+5l8+VjRUQ3dNYu4vjqXYLr+U8ZVNA==" + }, + "nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==" + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + }, + "node-releases": { + "version": "2.0.18", + "resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", + "peer": true + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "devOptional": true + }, + "nosleep.js": { + "version": "0.12.0", + "resolved": "https://r2.cnpmjs.org/nosleep.js/-/nosleep.js-0.12.0.tgz", + "integrity": "sha512-9d1HbpKLh3sdWlhXMhU6MMH+wQzKkrgfRkYV0EBdvt99YJfj0ilCJrWRDYG2130Tm4GXbEoTCx5b34JSaP+HhA==" + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "pathe": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.1.tgz", + "integrity": "sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==", + "dev": true + }, + "picocolors": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.0.tgz", + "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==" + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "devOptional": true + }, + "pinia": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.1.6.tgz", + "integrity": "sha512-bIU6QuE5qZviMmct5XwCesXelb5VavdOWKWaB17ggk++NUwQWWbP5YnsONTk3b752QkW9sACiR81rorpeOMSvQ==", + "requires": { + "@vue/devtools-api": "^6.5.0", + "vue-demi": ">=0.14.5" + }, + "dependencies": { + "vue-demi": { + "version": "0.14.6", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz", + "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==", + "requires": {} + } + } + }, + "pinia-plugin-persistedstate": { + "version": "3.2.0", + "resolved": "https://r.cnpmjs.org/pinia-plugin-persistedstate/-/pinia-plugin-persistedstate-3.2.0.tgz", + "integrity": "sha512-tZbNGf2vjAQcIm7alK40sE51Qu/m9oWr+rEgNm/2AWr1huFxj72CjvpQcIQzMknDBJEkQznCLAGtJTIcLKrKdw==", + "requires": {} + }, + "pkg-types": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.3.tgz", + "integrity": "sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==", + "dev": true, + "requires": { + "jsonc-parser": "^3.2.0", + "mlly": "^1.2.0", + "pathe": "^1.1.0" + } + }, + "postcss": { + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "requires": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, + "postcss-pxtorem": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-pxtorem/-/postcss-pxtorem-6.0.0.tgz", + "integrity": "sha512-ZRXrD7MLLjLk2RNGV6UA4f5Y7gy+a/j1EqjAfp9NdcNYVjUMvg5HTYduTjSkKBkRkfqbg/iKrjMO70V4g1LZeg==", + "dev": true, + "requires": {} + }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "peer": true + }, + "qrcode.vue": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/qrcode.vue/-/qrcode.vue-3.4.1.tgz", + "integrity": "sha512-wq/zHsifH4FJ1GXQi8/wNxD1KfQkckIpjK1KPTc/qwYU5/Bkd4me0w4xZSg6EXk6xLBkVDE0zxVagewv5EMAVA==", + "requires": {} + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "peer": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "devOptional": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "regenerator-runtime": { + "version": "0.14.0", + "resolved": "https://r.cnpmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", + "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" + }, + "resolve": { + "version": "1.22.6", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.6.tgz", + "integrity": "sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==", + "dev": true, + "requires": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rollup": { + "version": "3.29.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz", + "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==", + "dev": true, + "requires": { + "fsevents": "~2.3.2" + } + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "peer": true + }, + "sass": { + "version": "1.69.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.69.1.tgz", + "integrity": "sha512-nc969GvTVz38oqKgYYVHM/Iq7Yl33IILy5uqaH2CWSiSUmRCvw+UR7tA3845Sp4BD5ykCUimvrT3k1EjTwpVUA==", + "devOptional": true, + "requires": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + } + }, + "sass-loader": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.3.2.tgz", + "integrity": "sha512-CQbKl57kdEv+KDLquhC+gE3pXt74LEAzm+tzywcA0/aHZuub8wTErbjAoNI57rPUWRYRNC5WUnNl8eGJNbDdwg==", + "requires": { + "neo-async": "^2.6.2" + } + }, + "schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "peer": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "scule": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/scule/-/scule-1.0.0.tgz", + "integrity": "sha512-4AsO/FrViE/iDNEPaAQlb77tf0csuq27EsVpy6ett584EcRTp6pTDLoGWVxCD77y5iU5FauOvhsI4o1APwPoSQ==", + "dev": true + }, + "select": { + "version": "1.1.2", + "resolved": "https://r2.cnpmjs.org/select/-/select-1.1.2.tgz", + "integrity": "sha512-OwpTSOfy6xSs1+pwcNrv0RBMOzI39Lp3qQKUTPVVPRjCdNa5JH/oPRiqsesIskK8TVgmRiHwO4KXlV2Li9dANA==" + }, + "semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "peer": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://r2.cnpmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" + }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://r2.cnpmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "ssr-window": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/ssr-window/-/ssr-window-4.0.2.tgz", + "integrity": "sha512-ISv/Ch+ig7SOtw7G2+qkwfVASzazUnvlDTwypdLoPoySv+6MqlOV10VwPSE6EWkGjhW50lUmghPmpYZXMu/+AQ==" + }, + "strip-literal": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-1.3.0.tgz", + "integrity": "sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==", + "dev": true, + "requires": { + "acorn": "^8.10.0" + } + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, + "swiper": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/swiper/-/swiper-8.0.1.tgz", + "integrity": "sha512-WLQvR+EVEQHoGaRaZ8QlPUzwVC6aPS9U1XG9/wN4MHcxmCDKQKZL21uhB3YghJvnP5Wo07YwvnsEJ1inAHNHnQ==", + "requires": { + "dom7": "^4.0.4", + "ssr-window": "^4.0.2" + } + }, + "tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "peer": true + }, + "terser": { + "version": "5.31.6", + "resolved": "https://registry.npmmirror.com/terser/-/terser-5.31.6.tgz", + "integrity": "sha512-PQ4DAriWzKj+qgehQ7LK5bQqCFNMmlhjR2PFFLuqGCpuCAauxemVBWwWOxo3UIwWQx8+Pr61Df++r76wDmkQBg==", + "requires": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + } + }, + "terser-webpack-plugin": { + "version": "5.3.10", + "resolved": "https://registry.npmmirror.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", + "peer": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.20", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.26.0" + } + }, + "tiny-emitter": { + "version": "2.1.0", + "resolved": "https://r2.cnpmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz", + "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==" + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "devOptional": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "typescript": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", + "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", + "devOptional": true + }, + "ufo": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.3.1.tgz", + "integrity": "sha512-uY/99gMLIOlJPwATcMVYfqDSxUR9//AUcgZMzwfSTJPDKzA1S8mX4VLqa+fiAtveraQUBCz4FFcwVZBGbwBXIw==", + "dev": true + }, + "unimport": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/unimport/-/unimport-3.4.0.tgz", + "integrity": "sha512-M/lfFEgufIT156QAr/jWHLUn55kEmxBBiQsMxvRSIbquwmeJEyQYgshHDEvQDWlSJrVOOTAgnJ3FvlsrpGkanA==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^5.0.4", + "escape-string-regexp": "^5.0.0", + "fast-glob": "^3.3.1", + "local-pkg": "^0.4.3", + "magic-string": "^0.30.3", + "mlly": "^1.4.2", + "pathe": "^1.1.1", + "pkg-types": "^1.0.3", + "scule": "^1.0.0", + "strip-literal": "^1.3.0", + "unplugin": "^1.5.0" + } + }, + "unplugin": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.5.0.tgz", + "integrity": "sha512-9ZdRwbh/4gcm1JTOkp9lAkIDrtOyOxgHmY7cjuwI8L/2RTikMcVG25GsZwNAgRuap3iDw2jeq7eoqtAsz5rW3A==", + "dev": true, + "requires": { + "acorn": "^8.10.0", + "chokidar": "^3.5.3", + "webpack-sources": "^3.2.3", + "webpack-virtual-modules": "^0.5.0" + } + }, + "unplugin-auto-import": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/unplugin-auto-import/-/unplugin-auto-import-0.16.6.tgz", + "integrity": "sha512-M+YIITkx3C/Hg38hp8HmswP5mShUUyJOzpifv7RTlAbeFlO2Tyw0pwrogSSxnipHDPTtI8VHFBpkYkNKzYSuyA==", + "dev": true, + "requires": { + "@antfu/utils": "^0.7.5", + "@rollup/pluginutils": "^5.0.2", + "fast-glob": "^3.3.0", + "local-pkg": "^0.4.3", + "magic-string": "^0.30.1", + "minimatch": "^9.0.2", + "unimport": "^3.0.14", + "unplugin": "^1.3.2" + } + }, + "unplugin-vue-components": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/unplugin-vue-components/-/unplugin-vue-components-0.25.2.tgz", + "integrity": "sha512-OVmLFqILH6w+eM8fyt/d/eoJT9A6WO51NZLf1vC5c1FZ4rmq2bbGxTy8WP2Jm7xwFdukaIdv819+UI7RClPyCA==", + "dev": true, + "requires": { + "@antfu/utils": "^0.7.5", + "@rollup/pluginutils": "^5.0.2", + "chokidar": "^3.5.3", + "debug": "^4.3.4", + "fast-glob": "^3.3.0", + "local-pkg": "^0.4.3", + "magic-string": "^0.30.1", + "minimatch": "^9.0.3", + "resolve": "^1.22.2", + "unplugin": "^1.4.0" + } + }, + "update-browserslist-db": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", + "peer": true, + "requires": { + "escalade": "^3.1.2", + "picocolors": "^1.0.1" + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "peer": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "vant": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/vant/-/vant-4.7.1.tgz", + "integrity": "sha512-LIzAvTdUVVjBB6NwWpUhClUfUkJvAsc681roEumSZ62ptwwrroCy4HxvSsyf0aSemPqNbPcx0uN+wzENC81eEA==", + "requires": { + "@vant/popperjs": "^1.3.0", + "@vant/use": "^1.6.0", + "@vue/shared": "^3.0.0" + } + }, + "vconsole": { + "version": "3.15.1", + "resolved": "https://r.cnpmjs.org/vconsole/-/vconsole-3.15.1.tgz", + "integrity": "sha512-KH8XLdrq9T5YHJO/ixrjivHfmF2PC2CdVoK6RWZB4yftMykYIaXY1mxZYAic70vADM54kpMQF+dYmvl5NRNy1g==", + "requires": { + "@babel/runtime": "^7.17.2", + "copy-text-to-clipboard": "^3.0.1", + "core-js": "^3.11.0", + "mutation-observer": "^1.0.3" + } + }, + "vite": { + "version": "4.4.11", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.11.tgz", + "integrity": "sha512-ksNZJlkcU9b0lBwAGZGGaZHCMqHsc8OpgtoYhsQ4/I2v5cnpmmmqe5pM4nv/4Hn6G/2GhTdj0DhZh2e+Er1q5A==", + "dev": true, + "requires": { + "esbuild": "^0.18.10", + "fsevents": "~2.3.2", + "postcss": "^8.4.27", + "rollup": "^3.27.1" + } + }, + "vue": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.3.4.tgz", + "integrity": "sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==", + "requires": { + "@vue/compiler-dom": "3.3.4", + "@vue/compiler-sfc": "3.3.4", + "@vue/runtime-dom": "3.3.4", + "@vue/server-renderer": "3.3.4", + "@vue/shared": "3.3.4" + } + }, + "vue-clipboard3": { + "version": "2.0.0", + "resolved": "https://r.cnpmjs.org/vue-clipboard3/-/vue-clipboard3-2.0.0.tgz", + "integrity": "sha512-Q9S7dzWGax7LN5iiSPcu/K1GGm2gcBBlYwmMsUc5/16N6w90cbKow3FnPmPs95sungns4yvd9/+JhbAznECS2A==", + "requires": { + "clipboard": "^2.0.6" + } + }, + "vue-cookies": { + "version": "1.8.3", + "resolved": "https://r.cnpmjs.org/vue-cookies/-/vue-cookies-1.8.3.tgz", + "integrity": "sha512-VBRsyRMVdahBgFfh389TMHPmDdr4URDJNMk4FKSCfuNITs7+jitBDhwyL4RJd3WUsfOYNNjPAkfbehyH9AFuoA==" + }, + "vue-demi": { + "version": "0.14.6", + "resolved": "https://r.cnpmjs.org/vue-demi/-/vue-demi-0.14.6.tgz", + "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==", + "requires": {} + }, + "vue-router": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.2.5.tgz", + "integrity": "sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==", + "requires": { + "@vue/devtools-api": "^6.5.0" + } + }, + "vue-template-compiler": { + "version": "2.7.14", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.14.tgz", + "integrity": "sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==", + "dev": true, + "requires": { + "de-indent": "^1.0.2", + "he": "^1.2.0" + } + }, + "vue-tsc": { + "version": "1.8.16", + "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-1.8.16.tgz", + "integrity": "sha512-PT2xOJNl2qkmmp8eHf4qapfzvcRTQLxQQhQAzY7sMjv0JKsud9vo+aotklh/VzM9ZfaSo1UlDGZy6zSSRc+8wA==", + "dev": true, + "requires": { + "@vue/language-core": "1.8.16", + "@vue/typescript": "1.8.16", + "semver": "^7.5.4" + } + }, + "vue3-google-login": { + "version": "2.0.25", + "resolved": "https://r.cnpmjs.org/vue3-google-login/-/vue3-google-login-2.0.25.tgz", + "integrity": "sha512-b6EfYFF2KH1qSiiCKI9WmPB79GdXifPB8qOt48RRmo1F5h3UcigrrqzQCosjcRLcTqUpRQcZ9TeKYP4ZVroNHQ==", + "requires": {} + }, + "watchpack": { + "version": "2.4.2", + "resolved": "https://registry.npmmirror.com/watchpack/-/watchpack-2.4.2.tgz", + "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", + "peer": true, + "requires": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + } + }, + "webpack": { + "version": "5.94.0", + "resolved": "https://registry.npmmirror.com/webpack/-/webpack-5.94.0.tgz", + "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==", + "peer": true, + "requires": { + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", + "acorn": "^8.7.1", + "acorn-import-attributes": "^1.9.5", + "browserslist": "^4.21.10", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.17.1", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.11", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.1", + "webpack-sources": "^3.2.3" + } + }, + "webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==" + }, + "webpack-virtual-modules": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.5.0.tgz", + "integrity": "sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..ae9a3b6 --- /dev/null +++ b/package.json @@ -0,0 +1,50 @@ +{ + "name": "18n", + "private": true, + "version": "1.0.23", + "type": "module", + "scripts": { + "serve": "vite --mode development", + "serve:host": "vite --mode localhost", + "serve:prod": "vite --mode production", + "build:dev": "vite build --mode development", + "build:prod": "vite build --mode production", + "build": "run-p type-check build-only", + "preview": "vite preview" + }, + "dependencies": { + "@vueuse/core": "^10.5.0", + "amfe-flexible": "^2.2.1", + "axios": "^1.3.4", + "dayjs": "^1.11.10", + "decimal.js": "^10.4.3", + "mitt": "^3.0.1", + "nosleep.js": "^0.12.0", + "pinia": "^2.0.32", + "pinia-plugin-persistedstate": "^3.2.0", + "qrcode.vue": "^3.4.0", + "sass": "^1.58.3", + "sass-loader": "^13.2.0", + "swiper": "^8.0.1", + "vant": "^4.1.0", + "vconsole": "^3.15.1", + "vue": "^3.3.4", + "vue-clipboard3": "^2.0.0", + "vue-cookies": "^1.8.3", + "vue-router": "^4.2.5", + "vue3-google-login": "^2.0.25" + }, + "devDependencies": { + "@types/node": "^18.14.6", + "@vant/auto-import-resolver": "^1.0.1", + "@vitejs/plugin-vue": "^4.2.3", + "postcss-pxtorem": "^6.0.0", + "sass": "^1.69.1", + "terser": "^5.24.0", + "typescript": "^5.0.2", + "unplugin-auto-import": "^0.16.6", + "unplugin-vue-components": "^0.25.2", + "vite": "^4.4.5", + "vue-tsc": "^1.8.5" + } +} diff --git a/postcss.config.js b/postcss.config.js new file mode 100644 index 0000000..ecda3cc --- /dev/null +++ b/postcss.config.js @@ -0,0 +1,11 @@ +// postcss.config.js +module.exports = { + plugins: { + 'postcss-pxtorem': { + rootValue({ file }) { + return file.indexOf('vant') !== -1 ? 37.5 : 75; // 因为vant框架是以375px的稿子为基础的,所以需要适配一下 + }, + propList: ['*'], // 需要转换的css属性,默认*全部 + } + } +} diff --git a/public/icon.ico b/public/icon.ico new file mode 100644 index 0000000..4230e9f Binary files /dev/null and b/public/icon.ico differ diff --git a/public/icons/144.png b/public/icons/144.png new file mode 100644 index 0000000..1f75505 Binary files /dev/null and b/public/icons/144.png differ diff --git a/public/icons/192.png b/public/icons/192.png new file mode 100644 index 0000000..c45137b Binary files /dev/null and b/public/icons/192.png differ diff --git a/public/icons/36.png b/public/icons/36.png new file mode 100644 index 0000000..4230e9f Binary files /dev/null and b/public/icons/36.png differ diff --git a/public/icons/48.png b/public/icons/48.png new file mode 100644 index 0000000..8fb6973 Binary files /dev/null and b/public/icons/48.png differ diff --git a/public/icons/512.png b/public/icons/512.png new file mode 100644 index 0000000..3c5ce8f Binary files /dev/null and b/public/icons/512.png differ diff --git a/public/icons/72.png b/public/icons/72.png new file mode 100644 index 0000000..c4ecb95 Binary files /dev/null and b/public/icons/72.png differ diff --git a/public/icons/96.png b/public/icons/96.png new file mode 100644 index 0000000..4d74a0d Binary files /dev/null and b/public/icons/96.png differ diff --git a/public/manifest.json b/public/manifest.json new file mode 100644 index 0000000..ab085e9 --- /dev/null +++ b/public/manifest.json @@ -0,0 +1,55 @@ +{ + "name": "18N", + "short_name": "18N", + "description":"It is recommended to add the website to your bookmarks to ensure that you receive activity rewards as soon as possible.", + "theme_color": "#f5f5f5", + "background_color": "#ffffff", + "display": "standalone", + "scrope":"/", + "start_url": "/", + "orientation": "natural", + "icons": [ + { + "src": "/icons/36.png", + "sizes": "36x36", + "type": "image/png", + "density": "0.75" + }, + { + "src": "/icons/48.png", + "sizes": "48x48", + "type": "image/png", + "density": "1.0" + }, + { + "src": "/icons/72.png", + "sizes": "72x72", + "type": "image/png", + "density": "1.5" + }, + { + "src": "/icons/96.png", + "sizes": "96x96", + "type": "image/png", + "density": "2.0" + }, + { + "src": "/icons/144.png", + "sizes": "144x144", + "type": "image/png", + "density": "3.0" + }, + { + "src": "/icons/192.png", + "sizes": "192x192", + "type": "image/png", + "density": "4.0" + }, + { + "src": "/icons/512.png", + "sizes": "512x512", + "type": "image/png", + "density": "5.0" + } + ] +} \ No newline at end of file diff --git a/public/service-worker.js b/public/service-worker.js new file mode 100644 index 0000000..b98c630 --- /dev/null +++ b/public/service-worker.js @@ -0,0 +1,94 @@ + + +// cache名, 在控制台Application的CaChe下可以看到 +const cacheName = "penueling"; +// cache文件 +const cacheFiles = ["/index.html", "/manifest.json"]; + +var offlineExclude = [ + '/api/', +]; + + + +self.addEventListener('push', function (event) { + console.log('[Service Worker] Push Received.'); + console.log(`[Service Worker] Push had this data: "${event.data.text()}"`) + let data = JSON.parse(event.data.text()) + + const title = data.notification.title || ''; + const options = { + body: data.notification.body, + icon: data.notification.image || '', + badge: data.notification.image || '' + }; + + event.waitUntil(self.registration.showNotification(title, options)); +}); +self.addEventListener('notificationclick', function (event) { + console.log('[Service Worker] Notification click Received.'); + + event.notification.close(); + + event.waitUntil( + clients.openWindow('https://www.18n.com/') + ); +}); + +/** + * 安装 Service Worker + * install事件是 Service Worker 执行的第一个事件,同一个 Service Worker 只会调用一次 + * 即使 Service Worker 脚本文件只有一个字节不同,浏览器也将视为一个新的 Service Worker + */ +self.addEventListener("install", e => { + e.waitUntil( + caches.open(cacheName).then(cache => { + return cache.addAll(cacheFiles); + }), + ); +}); + +/** +// * 激活 Service Worker +// * Service Worker 安装成功之后,会触发activate事件 +// * 在这个阶段我们一般做一些清理旧缓存相关的工作 +// */ +// self.addEventListener("activate", (e) => { +// // e.waitUntil(caches.delete(cacheName)); +// e.waitUntil( +// caches +// .keys() +// .then((keys) => { +// return Promise.all( +// keys.map((key) => { +// // 清理缓存 +// if (cacheName !== key) { +// return caches.delete(key); +// } +// }) +// ); +// }) +// .then(() => { +// console.log("cache deleted"); +// }) +// ); +// }); + +self.addEventListener("fetch", e => { + if (e.request.cache === 'only-if-cached' && e.request.mode !== 'same-origin') { + return false + } + for (let i = 0; i < offlineExclude.length; i++) { + if (e.request.url.indexOf(offlineExclude[i]) !== -1) return false; + } + var u = e.request.url.replace('https://', '') + + + var n = u.indexOf('/') + if (u.slice(n, 60).indexOf('.') == -1) { + return false; + } + e.respondWith( + caches.match(e.request).then((response) => response || fetch(e.request)), + ); +}); \ No newline at end of file diff --git a/src/App.vue b/src/App.vue new file mode 100644 index 0000000..8a353f6 --- /dev/null +++ b/src/App.vue @@ -0,0 +1,283 @@ + + + + diff --git a/src/assets/img/base/01.png b/src/assets/img/base/01.png new file mode 100644 index 0000000..10d8c57 Binary files /dev/null and b/src/assets/img/base/01.png differ diff --git a/src/assets/img/base/02.png b/src/assets/img/base/02.png new file mode 100644 index 0000000..d5761fc Binary files /dev/null and b/src/assets/img/base/02.png differ diff --git a/src/assets/img/base/03.png b/src/assets/img/base/03.png new file mode 100644 index 0000000..7e22bcd Binary files /dev/null and b/src/assets/img/base/03.png differ diff --git a/src/assets/img/base/04.png b/src/assets/img/base/04.png new file mode 100644 index 0000000..b9afbf1 Binary files /dev/null and b/src/assets/img/base/04.png differ diff --git a/src/assets/img/base/05.png b/src/assets/img/base/05.png new file mode 100644 index 0000000..472ec22 Binary files /dev/null and b/src/assets/img/base/05.png differ diff --git a/src/assets/img/base/2logo.png b/src/assets/img/base/2logo.png new file mode 100644 index 0000000..7888816 Binary files /dev/null and b/src/assets/img/base/2logo.png differ diff --git a/src/assets/img/base/Android.png b/src/assets/img/base/Android.png new file mode 100644 index 0000000..4a00a72 Binary files /dev/null and b/src/assets/img/base/Android.png differ diff --git a/src/assets/img/base/Hot.png b/src/assets/img/base/Hot.png new file mode 100644 index 0000000..57774b9 Binary files /dev/null and b/src/assets/img/base/Hot.png differ diff --git a/src/assets/img/base/JB_R$.png b/src/assets/img/base/JB_R$.png new file mode 100644 index 0000000..a96e907 Binary files /dev/null and b/src/assets/img/base/JB_R$.png differ diff --git a/src/assets/img/base/JB_zs.png b/src/assets/img/base/JB_zs.png new file mode 100644 index 0000000..bad10e7 Binary files /dev/null and b/src/assets/img/base/JB_zs.png differ diff --git a/src/assets/img/base/R$.png b/src/assets/img/base/R$.png new file mode 100644 index 0000000..47bea27 Binary files /dev/null and b/src/assets/img/base/R$.png differ diff --git a/src/assets/img/base/VIP_hg.png b/src/assets/img/base/VIP_hg.png new file mode 100644 index 0000000..418bd8e Binary files /dev/null and b/src/assets/img/base/VIP_hg.png differ diff --git a/src/assets/img/base/afey.png b/src/assets/img/base/afey.png new file mode 100644 index 0000000..47dc19d Binary files /dev/null and b/src/assets/img/base/afey.png differ diff --git a/src/assets/img/base/arrow.png b/src/assets/img/base/arrow.png new file mode 100644 index 0000000..6a47f4f Binary files /dev/null and b/src/assets/img/base/arrow.png differ diff --git a/src/assets/img/base/bg.jpg b/src/assets/img/base/bg.jpg new file mode 100644 index 0000000..cf7cf32 Binary files /dev/null and b/src/assets/img/base/bg.jpg differ diff --git a/src/assets/img/base/bg.png b/src/assets/img/base/bg.png new file mode 100644 index 0000000..cf3e199 Binary files /dev/null and b/src/assets/img/base/bg.png differ diff --git a/src/assets/img/base/bg1.png b/src/assets/img/base/bg1.png new file mode 100644 index 0000000..7e6b6b6 Binary files /dev/null and b/src/assets/img/base/bg1.png differ diff --git a/src/assets/img/base/bg2.png b/src/assets/img/base/bg2.png new file mode 100644 index 0000000..e5a4ad6 Binary files /dev/null and b/src/assets/img/base/bg2.png differ diff --git a/src/assets/img/base/bg_di1.png b/src/assets/img/base/bg_di1.png new file mode 100644 index 0000000..28aa8e7 Binary files /dev/null and b/src/assets/img/base/bg_di1.png differ diff --git a/src/assets/img/base/bgc.png b/src/assets/img/base/bgc.png new file mode 100644 index 0000000..d9955c4 Binary files /dev/null and b/src/assets/img/base/bgc.png differ diff --git a/src/assets/img/base/bottom-1.png b/src/assets/img/base/bottom-1.png new file mode 100644 index 0000000..c52fc4b Binary files /dev/null and b/src/assets/img/base/bottom-1.png differ diff --git a/src/assets/img/base/bottom-2.png b/src/assets/img/base/bottom-2.png new file mode 100644 index 0000000..ee72329 Binary files /dev/null and b/src/assets/img/base/bottom-2.png differ diff --git a/src/assets/img/base/br.png b/src/assets/img/base/br.png new file mode 100644 index 0000000..374603e Binary files /dev/null and b/src/assets/img/base/br.png differ diff --git a/src/assets/img/base/button00.png b/src/assets/img/base/button00.png new file mode 100644 index 0000000..4866e8f Binary files /dev/null and b/src/assets/img/base/button00.png differ diff --git a/src/assets/img/base/button_02.png b/src/assets/img/base/button_02.png new file mode 100644 index 0000000..c6d794a Binary files /dev/null and b/src/assets/img/base/button_02.png differ diff --git a/src/assets/img/base/cha.png b/src/assets/img/base/cha.png new file mode 100644 index 0000000..c69e579 Binary files /dev/null and b/src/assets/img/base/cha.png differ diff --git a/src/assets/img/base/choujiang.png b/src/assets/img/base/choujiang.png new file mode 100644 index 0000000..7f5bdf2 Binary files /dev/null and b/src/assets/img/base/choujiang.png differ diff --git a/src/assets/img/base/close.png b/src/assets/img/base/close.png new file mode 100644 index 0000000..3a4bd87 Binary files /dev/null and b/src/assets/img/base/close.png differ diff --git a/src/assets/img/base/doubleleft.png b/src/assets/img/base/doubleleft.png new file mode 100644 index 0000000..d54bc14 Binary files /dev/null and b/src/assets/img/base/doubleleft.png differ diff --git a/src/assets/img/base/doubleright.png b/src/assets/img/base/doubleright.png new file mode 100644 index 0000000..fe317fa Binary files /dev/null and b/src/assets/img/base/doubleright.png differ diff --git a/src/assets/img/base/duihuan.png b/src/assets/img/base/duihuan.png new file mode 100644 index 0000000..7b2a5ac Binary files /dev/null and b/src/assets/img/base/duihuan.png differ diff --git a/src/assets/img/base/event.png b/src/assets/img/base/event.png new file mode 100644 index 0000000..ea69ab5 Binary files /dev/null and b/src/assets/img/base/event.png differ diff --git a/src/assets/img/base/facebook.png b/src/assets/img/base/facebook.png new file mode 100644 index 0000000..2992ffb Binary files /dev/null and b/src/assets/img/base/facebook.png differ diff --git a/src/assets/img/base/fanhui.png b/src/assets/img/base/fanhui.png new file mode 100644 index 0000000..7fa1ab6 Binary files /dev/null and b/src/assets/img/base/fanhui.png differ diff --git a/src/assets/img/base/fuzhi.png b/src/assets/img/base/fuzhi.png new file mode 100644 index 0000000..eb8d2ce Binary files /dev/null and b/src/assets/img/base/fuzhi.png differ diff --git a/src/assets/img/base/fuzhib.png b/src/assets/img/base/fuzhib.png new file mode 100644 index 0000000..367ceca Binary files /dev/null and b/src/assets/img/base/fuzhib.png differ diff --git a/src/assets/img/base/heart.png b/src/assets/img/base/heart.png new file mode 100644 index 0000000..9669c95 Binary files /dev/null and b/src/assets/img/base/heart.png differ diff --git a/src/assets/img/base/heart2.png b/src/assets/img/base/heart2.png new file mode 100644 index 0000000..07f55a6 Binary files /dev/null and b/src/assets/img/base/heart2.png differ diff --git a/src/assets/img/base/home.png b/src/assets/img/base/home.png new file mode 100644 index 0000000..8bdef77 Binary files /dev/null and b/src/assets/img/base/home.png differ diff --git a/src/assets/img/base/icon.png b/src/assets/img/base/icon.png new file mode 100644 index 0000000..49dd14c Binary files /dev/null and b/src/assets/img/base/icon.png differ diff --git a/src/assets/img/base/icon_0.png b/src/assets/img/base/icon_0.png new file mode 100644 index 0000000..84a1bf6 Binary files /dev/null and b/src/assets/img/base/icon_0.png differ diff --git a/src/assets/img/base/icon_01.png b/src/assets/img/base/icon_01.png new file mode 100644 index 0000000..172aba3 Binary files /dev/null and b/src/assets/img/base/icon_01.png differ diff --git a/src/assets/img/base/icon_02.png b/src/assets/img/base/icon_02.png new file mode 100644 index 0000000..cce8bf1 Binary files /dev/null and b/src/assets/img/base/icon_02.png differ diff --git a/src/assets/img/base/icon_03.png b/src/assets/img/base/icon_03.png new file mode 100644 index 0000000..bc7b583 Binary files /dev/null and b/src/assets/img/base/icon_03.png differ diff --git a/src/assets/img/base/icon_10.png b/src/assets/img/base/icon_10.png new file mode 100644 index 0000000..a41e69b Binary files /dev/null and b/src/assets/img/base/icon_10.png differ diff --git a/src/assets/img/base/icon_13.png b/src/assets/img/base/icon_13.png new file mode 100644 index 0000000..664b40c Binary files /dev/null and b/src/assets/img/base/icon_13.png differ diff --git a/src/assets/img/base/icon_14.png b/src/assets/img/base/icon_14.png new file mode 100644 index 0000000..a284f63 Binary files /dev/null and b/src/assets/img/base/icon_14.png differ diff --git a/src/assets/img/base/icon_15.png b/src/assets/img/base/icon_15.png new file mode 100644 index 0000000..5795078 Binary files /dev/null and b/src/assets/img/base/icon_15.png differ diff --git a/src/assets/img/base/icon_16.png b/src/assets/img/base/icon_16.png new file mode 100644 index 0000000..cc1e381 Binary files /dev/null and b/src/assets/img/base/icon_16.png differ diff --git a/src/assets/img/base/icon_17.png b/src/assets/img/base/icon_17.png new file mode 100644 index 0000000..854ca38 Binary files /dev/null and b/src/assets/img/base/icon_17.png differ diff --git a/src/assets/img/base/icon_bianji.png b/src/assets/img/base/icon_bianji.png new file mode 100644 index 0000000..89150de Binary files /dev/null and b/src/assets/img/base/icon_bianji.png differ diff --git a/src/assets/img/base/icon_gengduo.png b/src/assets/img/base/icon_gengduo.png new file mode 100644 index 0000000..73cab7a Binary files /dev/null and b/src/assets/img/base/icon_gengduo.png differ diff --git a/src/assets/img/base/icon_ld.png b/src/assets/img/base/icon_ld.png new file mode 100644 index 0000000..b455fd6 Binary files /dev/null and b/src/assets/img/base/icon_ld.png differ diff --git a/src/assets/img/base/icon_sz025.png b/src/assets/img/base/icon_sz025.png new file mode 100644 index 0000000..608e5db Binary files /dev/null and b/src/assets/img/base/icon_sz025.png differ diff --git a/src/assets/img/base/icon_vip.png b/src/assets/img/base/icon_vip.png new file mode 100644 index 0000000..83e9997 Binary files /dev/null and b/src/assets/img/base/icon_vip.png differ diff --git a/src/assets/img/base/icon_wenhao.png b/src/assets/img/base/icon_wenhao.png new file mode 100644 index 0000000..80c940b Binary files /dev/null and b/src/assets/img/base/icon_wenhao.png differ diff --git a/src/assets/img/base/jiantou.png b/src/assets/img/base/jiantou.png new file mode 100644 index 0000000..73c9bc5 Binary files /dev/null and b/src/assets/img/base/jiantou.png differ diff --git a/src/assets/img/base/jingdan.png b/src/assets/img/base/jingdan.png new file mode 100644 index 0000000..004063b Binary files /dev/null and b/src/assets/img/base/jingdan.png differ diff --git a/src/assets/img/base/jt.png b/src/assets/img/base/jt.png new file mode 100644 index 0000000..706426d Binary files /dev/null and b/src/assets/img/base/jt.png differ diff --git a/src/assets/img/base/loading-page.gif b/src/assets/img/base/loading-page.gif new file mode 100644 index 0000000..97e91cd Binary files /dev/null and b/src/assets/img/base/loading-page.gif differ diff --git a/src/assets/img/base/loading-page.jpg b/src/assets/img/base/loading-page.jpg new file mode 100644 index 0000000..f249961 Binary files /dev/null and b/src/assets/img/base/loading-page.jpg differ diff --git a/src/assets/img/base/qiandao.png b/src/assets/img/base/qiandao.png new file mode 100644 index 0000000..64742eb Binary files /dev/null and b/src/assets/img/base/qiandao.png differ diff --git a/src/assets/img/base/qiehuan_icon.png b/src/assets/img/base/qiehuan_icon.png new file mode 100644 index 0000000..40ef454 Binary files /dev/null and b/src/assets/img/base/qiehuan_icon.png differ diff --git a/src/assets/img/base/record.png b/src/assets/img/base/record.png new file mode 100644 index 0000000..ec674b4 Binary files /dev/null and b/src/assets/img/base/record.png differ diff --git a/src/assets/img/base/record01.png b/src/assets/img/base/record01.png new file mode 100644 index 0000000..de1b492 Binary files /dev/null and b/src/assets/img/base/record01.png differ diff --git a/src/assets/img/base/red.png b/src/assets/img/base/red.png new file mode 100644 index 0000000..feca125 Binary files /dev/null and b/src/assets/img/base/red.png differ diff --git a/src/assets/img/base/red01.png b/src/assets/img/base/red01.png new file mode 100644 index 0000000..a5cc122 Binary files /dev/null and b/src/assets/img/base/red01.png differ diff --git a/src/assets/img/base/redicon.png b/src/assets/img/base/redicon.png new file mode 100644 index 0000000..32ab526 Binary files /dev/null and b/src/assets/img/base/redicon.png differ diff --git a/src/assets/img/base/sx_icon.png b/src/assets/img/base/sx_icon.png new file mode 100644 index 0000000..e8ad183 Binary files /dev/null and b/src/assets/img/base/sx_icon.png differ diff --git a/src/assets/img/base/telegram.png b/src/assets/img/base/telegram.png new file mode 100644 index 0000000..f2c23a7 Binary files /dev/null and b/src/assets/img/base/telegram.png differ diff --git a/src/assets/img/base/tips.png b/src/assets/img/base/tips.png new file mode 100644 index 0000000..5b0a7d5 Binary files /dev/null and b/src/assets/img/base/tips.png differ diff --git a/src/assets/img/base/vip_bg.png b/src/assets/img/base/vip_bg.png new file mode 100644 index 0000000..f8a6add Binary files /dev/null and b/src/assets/img/base/vip_bg.png differ diff --git a/src/assets/img/base/xg.png b/src/assets/img/base/xg.png new file mode 100644 index 0000000..d3899b3 Binary files /dev/null and b/src/assets/img/base/xg.png differ diff --git a/src/assets/img/base/xiazai.png b/src/assets/img/base/xiazai.png new file mode 100644 index 0000000..e54f0a6 Binary files /dev/null and b/src/assets/img/base/xiazai.png differ diff --git a/src/assets/img/base/xjt.png b/src/assets/img/base/xjt.png new file mode 100644 index 0000000..240b1ac Binary files /dev/null and b/src/assets/img/base/xjt.png differ diff --git a/src/assets/img/base/zhucaidan.png b/src/assets/img/base/zhucaidan.png new file mode 100644 index 0000000..e099bb3 Binary files /dev/null and b/src/assets/img/base/zhucaidan.png differ diff --git a/src/assets/img/deposit/OEM.png b/src/assets/img/deposit/OEM.png new file mode 100644 index 0000000..7bd875b Binary files /dev/null and b/src/assets/img/deposit/OEM.png differ diff --git a/src/assets/img/deposit/button.png b/src/assets/img/deposit/button.png new file mode 100644 index 0000000..95301ea Binary files /dev/null and b/src/assets/img/deposit/button.png differ diff --git a/src/assets/img/deposit/close.png b/src/assets/img/deposit/close.png new file mode 100644 index 0000000..6b8fdd2 Binary files /dev/null and b/src/assets/img/deposit/close.png differ diff --git a/src/assets/img/deposit/pix2.png b/src/assets/img/deposit/pix2.png new file mode 100644 index 0000000..87c231d Binary files /dev/null and b/src/assets/img/deposit/pix2.png differ diff --git a/src/assets/img/game/game-back.png b/src/assets/img/game/game-back.png new file mode 100644 index 0000000..6a9fabd Binary files /dev/null and b/src/assets/img/game/game-back.png differ diff --git a/src/assets/img/game/img_good.png b/src/assets/img/game/img_good.png new file mode 100644 index 0000000..60f1e0f Binary files /dev/null and b/src/assets/img/game/img_good.png differ diff --git a/src/assets/img/game/img_hot.png b/src/assets/img/game/img_hot.png new file mode 100644 index 0000000..9cb8e89 Binary files /dev/null and b/src/assets/img/game/img_hot.png differ diff --git a/src/assets/img/game/img_new.png b/src/assets/img/game/img_new.png new file mode 100644 index 0000000..67b44a0 Binary files /dev/null and b/src/assets/img/game/img_new.png differ diff --git a/src/assets/img/infinite/group.webp b/src/assets/img/infinite/group.webp new file mode 100644 index 0000000..be4d41a Binary files /dev/null and b/src/assets/img/infinite/group.webp differ diff --git a/src/assets/img/infinite/icon_01.png b/src/assets/img/infinite/icon_01.png new file mode 100644 index 0000000..18efc60 Binary files /dev/null and b/src/assets/img/infinite/icon_01.png differ diff --git a/src/assets/img/infinite/icon_02.png b/src/assets/img/infinite/icon_02.png new file mode 100644 index 0000000..3d0b88f Binary files /dev/null and b/src/assets/img/infinite/icon_02.png differ diff --git a/src/assets/img/infinite/icon_03.png b/src/assets/img/infinite/icon_03.png new file mode 100644 index 0000000..c2c2a6d Binary files /dev/null and b/src/assets/img/infinite/icon_03.png differ diff --git a/src/assets/img/infinite/qian.webp b/src/assets/img/infinite/qian.webp new file mode 100644 index 0000000..3096142 Binary files /dev/null and b/src/assets/img/infinite/qian.webp differ diff --git a/src/assets/img/infinite/wxdl.png b/src/assets/img/infinite/wxdl.png new file mode 100644 index 0000000..bcc8887 Binary files /dev/null and b/src/assets/img/infinite/wxdl.png differ diff --git a/src/assets/img/loteriaImg/bg_01.png b/src/assets/img/loteriaImg/bg_01.png new file mode 100644 index 0000000..aa5837f Binary files /dev/null and b/src/assets/img/loteriaImg/bg_01.png differ diff --git a/src/assets/img/loteriaImg/bg_02.png b/src/assets/img/loteriaImg/bg_02.png new file mode 100644 index 0000000..7bd0bdb Binary files /dev/null and b/src/assets/img/loteriaImg/bg_02.png differ diff --git a/src/assets/img/loteriaImg/bg_03.png b/src/assets/img/loteriaImg/bg_03.png new file mode 100644 index 0000000..98a71ad Binary files /dev/null and b/src/assets/img/loteriaImg/bg_03.png differ diff --git a/src/assets/img/loteriaImg/bg_xuanzhong_03.png b/src/assets/img/loteriaImg/bg_xuanzhong_03.png new file mode 100644 index 0000000..be535d7 Binary files /dev/null and b/src/assets/img/loteriaImg/bg_xuanzhong_03.png differ diff --git a/src/assets/img/loteriaImg/dihe.png b/src/assets/img/loteriaImg/dihe.png new file mode 100644 index 0000000..09c1216 Binary files /dev/null and b/src/assets/img/loteriaImg/dihe.png differ diff --git a/src/assets/img/loteriaImg/erw.png b/src/assets/img/loteriaImg/erw.png new file mode 100644 index 0000000..80e2beb Binary files /dev/null and b/src/assets/img/loteriaImg/erw.png differ diff --git a/src/assets/img/loteriaImg/icon_jinbi.png b/src/assets/img/loteriaImg/icon_jinbi.png new file mode 100644 index 0000000..67716a1 Binary files /dev/null and b/src/assets/img/loteriaImg/icon_jinbi.png differ diff --git a/src/assets/img/loteriaImg/iphone.png b/src/assets/img/loteriaImg/iphone.png new file mode 100644 index 0000000..07ac4c8 Binary files /dev/null and b/src/assets/img/loteriaImg/iphone.png differ diff --git a/src/assets/img/loteriaImg/mark.png b/src/assets/img/loteriaImg/mark.png new file mode 100644 index 0000000..19de09e Binary files /dev/null and b/src/assets/img/loteriaImg/mark.png differ diff --git a/src/assets/img/loteriaImg/sgam.png b/src/assets/img/loteriaImg/sgam.png new file mode 100644 index 0000000..60ae857 Binary files /dev/null and b/src/assets/img/loteriaImg/sgam.png differ diff --git a/src/assets/img/loteriaImg/wild.png b/src/assets/img/loteriaImg/wild.png new file mode 100644 index 0000000..ef9b69c Binary files /dev/null and b/src/assets/img/loteriaImg/wild.png differ diff --git a/src/assets/img/menu/arrows.png b/src/assets/img/menu/arrows.png new file mode 100644 index 0000000..33c9d8b Binary files /dev/null and b/src/assets/img/menu/arrows.png differ diff --git a/src/assets/img/menu/close.png b/src/assets/img/menu/close.png new file mode 100644 index 0000000..3ee183e Binary files /dev/null and b/src/assets/img/menu/close.png differ diff --git a/src/assets/img/menu/dk.png b/src/assets/img/menu/dk.png new file mode 100644 index 0000000..4bffd0f Binary files /dev/null and b/src/assets/img/menu/dk.png differ diff --git a/src/assets/img/menu/icon_01.png b/src/assets/img/menu/icon_01.png new file mode 100644 index 0000000..1e480a9 Binary files /dev/null and b/src/assets/img/menu/icon_01.png differ diff --git a/src/assets/img/menu/icon_02.png b/src/assets/img/menu/icon_02.png new file mode 100644 index 0000000..56f2f7e Binary files /dev/null and b/src/assets/img/menu/icon_02.png differ diff --git a/src/assets/img/menu/icon_03.png b/src/assets/img/menu/icon_03.png new file mode 100644 index 0000000..9d57c16 Binary files /dev/null and b/src/assets/img/menu/icon_03.png differ diff --git a/src/assets/img/menu/icon_04.png b/src/assets/img/menu/icon_04.png new file mode 100644 index 0000000..af813ab Binary files /dev/null and b/src/assets/img/menu/icon_04.png differ diff --git a/src/assets/img/menu/icon_05.png b/src/assets/img/menu/icon_05.png new file mode 100644 index 0000000..b4f6c24 Binary files /dev/null and b/src/assets/img/menu/icon_05.png differ diff --git a/src/assets/img/menu/icon_06.png b/src/assets/img/menu/icon_06.png new file mode 100644 index 0000000..20111de Binary files /dev/null and b/src/assets/img/menu/icon_06.png differ diff --git a/src/assets/img/menu/icon_07.png b/src/assets/img/menu/icon_07.png new file mode 100644 index 0000000..78ffade Binary files /dev/null and b/src/assets/img/menu/icon_07.png differ diff --git a/src/assets/img/menu/icon_08.png b/src/assets/img/menu/icon_08.png new file mode 100644 index 0000000..66f6fb3 Binary files /dev/null and b/src/assets/img/menu/icon_08.png differ diff --git a/src/assets/img/menu/icon_09.png b/src/assets/img/menu/icon_09.png new file mode 100644 index 0000000..16554a7 Binary files /dev/null and b/src/assets/img/menu/icon_09.png differ diff --git a/src/assets/img/menu/icon_1.png b/src/assets/img/menu/icon_1.png new file mode 100644 index 0000000..1f65b56 Binary files /dev/null and b/src/assets/img/menu/icon_1.png differ diff --git a/src/assets/img/menu/icon_10.png b/src/assets/img/menu/icon_10.png new file mode 100644 index 0000000..991c627 Binary files /dev/null and b/src/assets/img/menu/icon_10.png differ diff --git a/src/assets/img/menu/icon_11.png b/src/assets/img/menu/icon_11.png new file mode 100644 index 0000000..21a69b9 Binary files /dev/null and b/src/assets/img/menu/icon_11.png differ diff --git a/src/assets/img/menu/icon_12.png b/src/assets/img/menu/icon_12.png new file mode 100644 index 0000000..9cacfde Binary files /dev/null and b/src/assets/img/menu/icon_12.png differ diff --git a/src/assets/img/menu/icon_13.png b/src/assets/img/menu/icon_13.png new file mode 100644 index 0000000..664b40c Binary files /dev/null and b/src/assets/img/menu/icon_13.png differ diff --git a/src/assets/img/menu/icon_14.png b/src/assets/img/menu/icon_14.png new file mode 100644 index 0000000..a284f63 Binary files /dev/null and b/src/assets/img/menu/icon_14.png differ diff --git a/src/assets/img/menu/icon_15.png b/src/assets/img/menu/icon_15.png new file mode 100644 index 0000000..5795078 Binary files /dev/null and b/src/assets/img/menu/icon_15.png differ diff --git a/src/assets/img/menu/icon_16.png b/src/assets/img/menu/icon_16.png new file mode 100644 index 0000000..cc1e381 Binary files /dev/null and b/src/assets/img/menu/icon_16.png differ diff --git a/src/assets/img/menu/icon_17.png b/src/assets/img/menu/icon_17.png new file mode 100644 index 0000000..854ca38 Binary files /dev/null and b/src/assets/img/menu/icon_17.png differ diff --git a/src/assets/img/menu/icon_2.png b/src/assets/img/menu/icon_2.png new file mode 100644 index 0000000..c7b7829 Binary files /dev/null and b/src/assets/img/menu/icon_2.png differ diff --git a/src/assets/img/menu/icon_3.png b/src/assets/img/menu/icon_3.png new file mode 100644 index 0000000..b608c50 Binary files /dev/null and b/src/assets/img/menu/icon_3.png differ diff --git a/src/assets/img/menu/icon_4.png b/src/assets/img/menu/icon_4.png new file mode 100644 index 0000000..1e7a644 Binary files /dev/null and b/src/assets/img/menu/icon_4.png differ diff --git a/src/assets/img/menu/icon_5.png b/src/assets/img/menu/icon_5.png new file mode 100644 index 0000000..eb35722 Binary files /dev/null and b/src/assets/img/menu/icon_5.png differ diff --git a/src/assets/img/menu/icon_6.png b/src/assets/img/menu/icon_6.png new file mode 100644 index 0000000..6f28033 Binary files /dev/null and b/src/assets/img/menu/icon_6.png differ diff --git a/src/assets/img/menu/icon_7.png b/src/assets/img/menu/icon_7.png new file mode 100644 index 0000000..c928a3a Binary files /dev/null and b/src/assets/img/menu/icon_7.png differ diff --git a/src/assets/img/menu/icon_8.png b/src/assets/img/menu/icon_8.png new file mode 100644 index 0000000..5c12f89 Binary files /dev/null and b/src/assets/img/menu/icon_8.png differ diff --git a/src/assets/img/menu/icon_9.png b/src/assets/img/menu/icon_9.png new file mode 100644 index 0000000..555672a Binary files /dev/null and b/src/assets/img/menu/icon_9.png differ diff --git a/src/assets/img/menu/icon_jiantou.png b/src/assets/img/menu/icon_jiantou.png new file mode 100644 index 0000000..befbce5 Binary files /dev/null and b/src/assets/img/menu/icon_jiantou.png differ diff --git a/src/assets/img/signIn/01.png b/src/assets/img/signIn/01.png new file mode 100644 index 0000000..cc2a252 Binary files /dev/null and b/src/assets/img/signIn/01.png differ diff --git a/src/assets/img/signIn/02.png b/src/assets/img/signIn/02.png new file mode 100644 index 0000000..e6343e6 Binary files /dev/null and b/src/assets/img/signIn/02.png differ diff --git a/src/assets/img/signIn/03.png b/src/assets/img/signIn/03.png new file mode 100644 index 0000000..d976a1b Binary files /dev/null and b/src/assets/img/signIn/03.png differ diff --git a/src/assets/img/signIn/04.png b/src/assets/img/signIn/04.png new file mode 100644 index 0000000..b1eb859 Binary files /dev/null and b/src/assets/img/signIn/04.png differ diff --git a/src/assets/img/signIn/05.png b/src/assets/img/signIn/05.png new file mode 100644 index 0000000..c16c986 Binary files /dev/null and b/src/assets/img/signIn/05.png differ diff --git a/src/assets/img/signIn/06.png b/src/assets/img/signIn/06.png new file mode 100644 index 0000000..2a27350 Binary files /dev/null and b/src/assets/img/signIn/06.png differ diff --git a/src/assets/img/signIn/07.png b/src/assets/img/signIn/07.png new file mode 100644 index 0000000..621162d Binary files /dev/null and b/src/assets/img/signIn/07.png differ diff --git a/src/assets/img/signIn/BG_02.png b/src/assets/img/signIn/BG_02.png new file mode 100644 index 0000000..560cd31 Binary files /dev/null and b/src/assets/img/signIn/BG_02.png differ diff --git a/src/assets/img/signIn/bg_01.png b/src/assets/img/signIn/bg_01.png new file mode 100644 index 0000000..d527fb4 Binary files /dev/null and b/src/assets/img/signIn/bg_01.png differ diff --git a/src/assets/img/signIn/bg_03.png b/src/assets/img/signIn/bg_03.png new file mode 100644 index 0000000..7e7fe7b Binary files /dev/null and b/src/assets/img/signIn/bg_03.png differ diff --git a/src/assets/img/signIn/bg_4.png b/src/assets/img/signIn/bg_4.png new file mode 100644 index 0000000..cd520cf Binary files /dev/null and b/src/assets/img/signIn/bg_4.png differ diff --git a/src/assets/img/signIn/button.png b/src/assets/img/signIn/button.png new file mode 100644 index 0000000..3352f65 Binary files /dev/null and b/src/assets/img/signIn/button.png differ diff --git a/src/assets/img/signIn/button_Repair.png b/src/assets/img/signIn/button_Repair.png new file mode 100644 index 0000000..ece75dd Binary files /dev/null and b/src/assets/img/signIn/button_Repair.png differ diff --git a/src/assets/img/signIn/rydui.png b/src/assets/img/signIn/rydui.png new file mode 100644 index 0000000..cca6b96 Binary files /dev/null and b/src/assets/img/signIn/rydui.png differ diff --git a/src/assets/img/tabbar/bg_dibu.png b/src/assets/img/tabbar/bg_dibu.png new file mode 100644 index 0000000..daec77f Binary files /dev/null and b/src/assets/img/tabbar/bg_dibu.png differ diff --git a/src/assets/img/tabbar/icon_cuxhuod.png b/src/assets/img/tabbar/icon_cuxhuod.png new file mode 100644 index 0000000..4dbfe13 Binary files /dev/null and b/src/assets/img/tabbar/icon_cuxhuod.png differ diff --git a/src/assets/img/tabbar/icon_cuxhuod2.png b/src/assets/img/tabbar/icon_cuxhuod2.png new file mode 100644 index 0000000..90ee841 Binary files /dev/null and b/src/assets/img/tabbar/icon_cuxhuod2.png differ diff --git a/src/assets/img/tabbar/icon_cz.png b/src/assets/img/tabbar/icon_cz.png new file mode 100644 index 0000000..5c4f2c6 Binary files /dev/null and b/src/assets/img/tabbar/icon_cz.png differ diff --git a/src/assets/img/tabbar/icon_cz2.png b/src/assets/img/tabbar/icon_cz2.png new file mode 100644 index 0000000..a9b822d Binary files /dev/null and b/src/assets/img/tabbar/icon_cz2.png differ diff --git a/src/assets/img/tabbar/icon_dzp.png b/src/assets/img/tabbar/icon_dzp.png new file mode 100644 index 0000000..d4d6458 Binary files /dev/null and b/src/assets/img/tabbar/icon_dzp.png differ diff --git a/src/assets/img/tabbar/icon_dzp2.png b/src/assets/img/tabbar/icon_dzp2.png new file mode 100644 index 0000000..78361cb Binary files /dev/null and b/src/assets/img/tabbar/icon_dzp2.png differ diff --git a/src/assets/img/tabbar/icon_jia.png b/src/assets/img/tabbar/icon_jia.png new file mode 100644 index 0000000..2ef742d Binary files /dev/null and b/src/assets/img/tabbar/icon_jia.png differ diff --git a/src/assets/img/tabbar/icon_jia2.png b/src/assets/img/tabbar/icon_jia2.png new file mode 100644 index 0000000..8bdef77 Binary files /dev/null and b/src/assets/img/tabbar/icon_jia2.png differ diff --git a/src/assets/img/tabbar/icon_jwd.png b/src/assets/img/tabbar/icon_jwd.png new file mode 100644 index 0000000..d863100 Binary files /dev/null and b/src/assets/img/tabbar/icon_jwd.png differ diff --git a/src/assets/img/tabbar/icon_jwd2.png b/src/assets/img/tabbar/icon_jwd2.png new file mode 100644 index 0000000..a13f4db Binary files /dev/null and b/src/assets/img/tabbar/icon_jwd2.png differ diff --git a/src/assets/img/tabbar/icon_zq.png b/src/assets/img/tabbar/icon_zq.png new file mode 100644 index 0000000..22e1a9e Binary files /dev/null and b/src/assets/img/tabbar/icon_zq.png differ diff --git a/src/assets/img/tabbar/icon_zq2.png b/src/assets/img/tabbar/icon_zq2.png new file mode 100644 index 0000000..37eab17 Binary files /dev/null and b/src/assets/img/tabbar/icon_zq2.png differ diff --git a/src/assets/img/user/icon_ld.png b/src/assets/img/user/icon_ld.png new file mode 100644 index 0000000..5ec7a38 Binary files /dev/null and b/src/assets/img/user/icon_ld.png differ diff --git a/src/assets/img/user/icon_yj.png b/src/assets/img/user/icon_yj.png new file mode 100644 index 0000000..acf5ea1 Binary files /dev/null and b/src/assets/img/user/icon_yj.png differ diff --git a/src/assets/img/user/icon_yj2.png b/src/assets/img/user/icon_yj2.png new file mode 100644 index 0000000..a6f51e0 Binary files /dev/null and b/src/assets/img/user/icon_yj2.png differ diff --git a/src/assets/img/user/icon_znx.png b/src/assets/img/user/icon_znx.png new file mode 100644 index 0000000..84c736c Binary files /dev/null and b/src/assets/img/user/icon_znx.png differ diff --git a/src/assets/img/zhuanpan/anniu.png b/src/assets/img/zhuanpan/anniu.png new file mode 100644 index 0000000..acb0a14 Binary files /dev/null and b/src/assets/img/zhuanpan/anniu.png differ diff --git a/src/assets/img/zhuanpan/dx.png b/src/assets/img/zhuanpan/dx.png new file mode 100644 index 0000000..dd34a31 Binary files /dev/null and b/src/assets/img/zhuanpan/dx.png differ diff --git a/src/assets/img/zhuanpan/dzp_di.png b/src/assets/img/zhuanpan/dzp_di.png new file mode 100644 index 0000000..cde7968 Binary files /dev/null and b/src/assets/img/zhuanpan/dzp_di.png differ diff --git a/src/assets/img/zhuanpan/dzp_p.png b/src/assets/img/zhuanpan/dzp_p.png new file mode 100644 index 0000000..9f32f9b Binary files /dev/null and b/src/assets/img/zhuanpan/dzp_p.png differ diff --git a/src/assets/img/zhuanpan/gb.png b/src/assets/img/zhuanpan/gb.png new file mode 100644 index 0000000..3a4bd87 Binary files /dev/null and b/src/assets/img/zhuanpan/gb.png differ diff --git a/src/assets/img/zhuanpan/icon_01.png b/src/assets/img/zhuanpan/icon_01.png new file mode 100644 index 0000000..7b894fc Binary files /dev/null and b/src/assets/img/zhuanpan/icon_01.png differ diff --git a/src/assets/img/zhuanpan/light1.png b/src/assets/img/zhuanpan/light1.png new file mode 100644 index 0000000..a7473b0 Binary files /dev/null and b/src/assets/img/zhuanpan/light1.png differ diff --git a/src/assets/img/zhuanpan/light2.png b/src/assets/img/zhuanpan/light2.png new file mode 100644 index 0000000..2a420f7 Binary files /dev/null and b/src/assets/img/zhuanpan/light2.png differ diff --git a/src/assets/img/zhuanpan/title.png b/src/assets/img/zhuanpan/title.png new file mode 100644 index 0000000..18ad4ec Binary files /dev/null and b/src/assets/img/zhuanpan/title.png differ diff --git a/src/assets/img/zhuanpan/xz.png b/src/assets/img/zhuanpan/xz.png new file mode 100644 index 0000000..9d3c018 Binary files /dev/null and b/src/assets/img/zhuanpan/xz.png differ diff --git a/src/assets/img/zhuanpan/zc.png b/src/assets/img/zhuanpan/zc.png new file mode 100644 index 0000000..a54a029 Binary files /dev/null and b/src/assets/img/zhuanpan/zc.png differ diff --git a/src/assets/styles/fade.scss b/src/assets/styles/fade.scss new file mode 100644 index 0000000..d4fd0b4 --- /dev/null +++ b/src/assets/styles/fade.scss @@ -0,0 +1,64 @@ +// push页面时:新页面的进入动画 +.push-enter-active { + animation-name: push-in; + animation-duration: 0.4s; +} +// push页面时:老页面的退出动画 +.push-leave-active { + animation-name: push-out; + animation-duration: 0.4s; +} +// push页面时:新页面的进入动画 +@keyframes push-in { + 0% { + transform: translate(100%, 0); + + } + 100% { + transform: translate(0, 0); + + } +} +// push页面时:老页面的退出动画 +@keyframes push-out { + 0% { + transform: translate(0, 0); + } + 100% { + transform: translate(-50%, 0); + opacity: 0; + } +} + +// 后退页面时:即将展示的页面动画 +.back-enter-active { + animation-name: back-in; + // animation-duration: 0.4s; +} +// 后退页面时:后退的页面执行的动画 +.back-leave-active { + animation-name: back-out; + // animation-duration: 0.4s; +} +// 后退页面时:即将展示的页面动画 +@keyframes back-in { + 0% { + width: 100%; + transform: translate(-100%, 0); + } + 100% { + width: 100%; + transform: translate(0, 0); + } +} +// 后退页面时:后退的页面执行的动画 +@keyframes back-out { + 0% { + width: 100%; + transform: translate(0, 0); + } + 100% { + width: 100%; + transform: translate(50%, 0); + } +} \ No newline at end of file diff --git a/src/assets/styles/iconfont.css b/src/assets/styles/iconfont.css new file mode 100644 index 0000000..c0caab6 --- /dev/null +++ b/src/assets/styles/iconfont.css @@ -0,0 +1,18 @@ +@font-face { + font-family: "iconfont"; /* Project id 4391643 */ + src: url('//at.alicdn.com/t/c/font_4391643_zef5mrej2w.woff2?t=1703735232024') format('woff2'), + url('//at.alicdn.com/t/c/font_4391643_zef5mrej2w.woff?t=1703735232024') format('woff'), + url('//at.alicdn.com/t/c/font_4391643_zef5mrej2w.ttf?t=1703735232024') format('truetype'); +} + +.iconfont { + font-family: "iconfont" !important; + font-size: 16px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.icon-rili:before { + content: "\e60a"; +} diff --git a/src/assets/styles/scrollbar.scss b/src/assets/styles/scrollbar.scss new file mode 100644 index 0000000..097e41e --- /dev/null +++ b/src/assets/styles/scrollbar.scss @@ -0,0 +1,15 @@ +::-webkit-scrollbar{ + height: 0.15rem; +} + + +::-webkit-scrollbar-track { + border-radius: 0.2rem; + background: #000; +} + + +::-webkit-scrollbar-thumb{ + background-color: $other-color; + border-radius: 0.2rem; +} diff --git a/src/assets/styles/variables.scss b/src/assets/styles/variables.scss new file mode 100644 index 0000000..f2c8279 --- /dev/null +++ b/src/assets/styles/variables.scss @@ -0,0 +1,108 @@ +/** +* 全局CSS 变量 +**/ + +$bg-color: #1f1f1f; +$color: #ffffff; +$border-radius: 0.2rem; +$other-color: #2F6368; +$nav-bar: linear-gradient(to bottom, #0E5E57, #0B5650, #084E4A); +$button-color: #2F6368; +$nav-bar-height: 1.5rem; +$tab-bar-height: 1.6rem; + +/** + 全局字体颜色 +**/ +$font-text1: #f3e615; +$font-text2: #a1e354; +$font-text3: #21d1a5; +$font-text4: #f1fffb; + +@mixin mobile { + @media screen and (max-width: 999px) { + @content; + } +} + +@mixin pc { + @media screen and (min-width: 550px) { + @content; + } +} + +.transition { + transition: all 200ms linear; +} + +.more { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.blod { + font-weight: bold; +} + +.moveBox { + animation: moveBox 1500ms forwards infinite; + transition: all 200ms linear; +} + +.pointer { + cursor: pointer; +} + +.not-select { + -webkit-touch-callout: none; /* iOS Safari */ + -webkit-user-select: none; /* Chrome/Safari/Opera */ + -moz-user-select: none; /* Firefox */ + -ms-user-select: none; /* IE10+ */ + user-select: none; /* Standard syntax */ +} + +.particulars-detail-popup { + background: rgba(0, 0, 0, 0.7) !important; +} + +@keyframes moveBox { + 0% { + transform: rotate(-6deg); + } + 50% { + transform: rotate(6deg); + } + 100% { + transform: rotate(-6deg); + } +} + +@keyframes fadeIn { + 0% { + filter: blur(10px); + } + 50% { + filter: blur(5px); + } + 100% { + filter: blur(0px); + } +} + +.fade-in { + animation: fadeIn 800ms ease-in; +} + +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + -webkit-appearance: none; + margin: 0; +} + +:root { + --van-floating-bubble-background: transparent !important; + --van-floating-bubble-border-radius: 0 !important; + --van-floating-bubble-size: 1.5rem !important; + --van-floating-bubble-icon-size: 1.4rem !important; +} diff --git a/src/common/config.ts b/src/common/config.ts new file mode 100644 index 0000000..a32a949 --- /dev/null +++ b/src/common/config.ts @@ -0,0 +1,24 @@ +// cdn静态资源路径 +export const VITE_CDN_STATIC_PATH = "https://cdn.18n.com/"; + +// export const IMG_URL = "http://192.168.0.80:5052/" + +// debuger +export const DEBUGER = false; +// 团队id +export const AGENT_ID = DEBUGER ? 0 : 2; + +// google 登录ID +// export const GOOGLE_SIGNIN_ID = '253092839435-souh1h76edqg54nmq4f1f3pg5ocrre6m.apps.googleusercontent.com' +// 谷歌登录详情 +export const GOOGLE_USER_INFO = "https://www.googleapis.com/oauth2/v3/userinfo"; + +//体育游戏地址 +export const PHYSICAL_CULTURE_URL = "https://www.baidu.com/"; + +// 电话号码地区 +export const MOBILE_CODE = 55; + +// 下载地址 + +export const DOWNLOAD_URL = "https://download.t8club.com/18n.apk" \ No newline at end of file diff --git a/src/common/google-login.ts b/src/common/google-login.ts new file mode 100644 index 0000000..f29b9e9 --- /dev/null +++ b/src/common/google-login.ts @@ -0,0 +1,10 @@ +import type { App } from "vue"; +import vue3GoogleLogin from 'vue3-google-login' +import { useBaseStoreWithOut } from "@/stores/modules/base.js"; + +export default async function (app: App) { + const res = await useBaseStoreWithOut().setGlobalConfig() + if (res.data) { + app.use(vue3GoogleLogin, { clientId: res.data.platformConfig.google_secret_key }); + } +} \ No newline at end of file diff --git a/src/common/gtag.ts b/src/common/gtag.ts new file mode 100644 index 0000000..6e31803 --- /dev/null +++ b/src/common/gtag.ts @@ -0,0 +1,31 @@ +import { getLocationParams } from "@/utils"; + + + +export default function () { + // 获取链接参数 + const p = getLocationParams(); + // 如果没有像素id不生成 + if (!p.tagId) { + return + } + let script = document.createElement("script"); + script.id = "google-script"; + script.type = "text/javascript"; + script.async = true; + script.src = `https://www.googletagmanager.com/gtag/js?id=${p.tagId}` + document.getElementsByTagName("head")[0].appendChild(script); + + + let script2 = document.createElement("script"); + script2.innerHTML = ` + window.dataLayer = window.dataLayer || []; + function gtag() { + dataLayer.push(arguments); + } + gtag("js", new Date()); + + gtag("config", ${p.tagId}); + ` + document.getElementsByTagName("body")[0].appendChild(script2); +} \ No newline at end of file diff --git a/src/common/kwai.ts b/src/common/kwai.ts new file mode 100644 index 0000000..eef4edf --- /dev/null +++ b/src/common/kwai.ts @@ -0,0 +1,188 @@ +import { getLocationParams } from "@/utils"; + +export default function () { + // 获取链接参数 + const p = getLocationParams(); + console.log(p.kwai_pixel_id, 'p.kwai_pixel_id') + // 如果没有像素id不生成 + if (!p.kwai_pixel_id) { + return; + } + let script = document.createElement("script"); + script.id = "kwaiq-script"; + script.type = "text/javascript"; + script.async = true; + script.innerHTML = ` + !(function (e, t) { + "object" == typeof exports && "object" == typeof module + ? (module.exports = t()) + : "function" == typeof define && define.amd + ? define([], t) + : "object" == typeof exports + ? (exports.install = t()) + : (e.install = t()); + })(window, function () { + return (function (e) { + var t = {}; + function n(o) { + if (t[o]) return t[o].exports; + var r = (t[o] = { i: o, l: !1, exports: {} }); + return e[o].call(r.exports, r, r.exports, n), (r.l = !0), r.exports; + } + return ( + (n.m = e), + (n.c = t), + (n.d = function (e, t, o) { + n.o(e, t) || + Object.defineProperty(e, t, { enumerable: !0, get: o }); + }), + (n.r = function (e) { + "undefined" != typeof Symbol && + Symbol.toStringTag && + Object.defineProperty(e, Symbol.toStringTag, { + value: "Module", + }), + Object.defineProperty(e, "__esModule", { value: !0 }); + }), + (n.t = function (e, t) { + if ((1 & t && (e = n(e)), 8 & t)) return e; + if (4 & t && "object" == typeof e && e && e.__esModule) return e; + var o = Object.create(null); + if ( + (n.r(o), + Object.defineProperty(o, "default", { + enumerable: !0, + value: e, + }), + 2 & t && "string" != typeof e) + ) + for (var r in e) + n.d( + o, + r, + function (t) { + return e[t]; + }.bind(null, r) + ); + return o; + }), + (n.n = function (e) { + var t = + e && e.__esModule + ? function () { + return e.default; + } + : function () { + return e; + }; + return n.d(t, "a", t), t; + }), + (n.o = function (e, t) { + return Object.prototype.hasOwnProperty.call(e, t); + }), + (n.p = ""), + n((n.s = 0)) + ); + })([ + function (e, t, n) { + "use strict"; + var o = + (this && this.__spreadArray) || + function (e, t, n) { + if (n || 2 === arguments.length) + for (var o, r = 0, i = t.length; r < i; r++) + (!o && r in t) || + (o || (o = Array.prototype.slice.call(t, 0, r)), + (o[r] = t[r])); + return e.concat(o || Array.prototype.slice.call(t)); + }; + Object.defineProperty(t, "__esModule", { value: !0 }); + var r = function (e, t, n) { + var o, + i = e.createElement("script"); + (i.type = "text/javascript"), + (i.async = !0), + (i.src = t), + n && + (i.onerror = function () { + r(e, n); + }); + var a = e.getElementsByTagName("script")[0]; + null === (o = a.parentNode) || + void 0 === o || + o.insertBefore(i, a); + }; + !(function (e, t, n) { + e.KwaiAnalyticsObject = n; + var i = (e[n] = e[n] || []); + i.methods = [ + "page", + "track", + "identify", + "instances", + "debug", + "on", + "off", + "once", + "ready", + "alias", + "group", + "enableCookie", + "disableCookie", + ]; + var a = function (e, t) { + e[t] = function () { + for (var n = [], r = 0; r < arguments.length; r++) + n[r] = arguments[r]; + var i = o([t], n, !0); + e.push(i); + }; + }; + i.methods.forEach(function (e) { + a(i, e); + }), + (i.instance = function (e) { + var t, + n = + (null === (t = i._i) || void 0 === t ? void 0 : t[e]) || + []; + return ( + i.methods.forEach(function (e) { + a(n, e); + }), + n + ); + }), + (i.load = function (e, o) { + var a = + "https://s1.kwai.net/kos/s101/nlav11187/pixel/events.js"; + (i._i = i._i || {}), + (i._i[e] = []), + (i._i[e]._u = a), + (i._t = i._t || {}), + (i._t[e] = +new Date()), + (i._o = i._o || {}), + (i._o[e] = o || {}); + var c = "?sdkid=".concat(e, "&lib=").concat(n); + r( + t, + a + c, + "https://s16-11187.ap4r.com/kos/s101/nlav11187/pixel/events.js" + + c + ); + }); + })(window, document, "kwaiq"); + }, + ]); + }); + `; + document.getElementsByTagName("head")[0].appendChild(script); + + let script2 = document.createElement("script"); + script2.type = "text/javascript"; + script2.innerHTML = ` + kwaiq.load(${p.kwai_pixel_id}); + kwaiq.page(); + ` + document.getElementsByTagName("head")[0].appendChild(script2); +} diff --git a/src/common/pixel.ts b/src/common/pixel.ts new file mode 100644 index 0000000..f9af704 --- /dev/null +++ b/src/common/pixel.ts @@ -0,0 +1,51 @@ +import { getLocationParams } from "@/utils"; + +/** + * 像素埋点函数 + */ +export default function () { + // 获取链接参数 + const p = getLocationParams(); + // 如果没有像素id不生成 + if (!p.fbPixelId) { + return + } + // 创建fb像素埋点 + let script = document.createElement("script"); + script.id = "facebook-script"; + script.type = "text/javascript"; + script.async = true; + script.innerHTML = ` + !function(f,b,e,v,n,t,s) + {if(f.fbq)return;n=f.fbq=function(){n.callMethod? + n.callMethod.apply(n,arguments):n.queue.push(arguments)}; + if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; + n.queue=[];t=b.createElement(e);t.async=!0; + t.src=v;s=b.getElementsByTagName(e)[0]; + s.parentNode.insertBefore(t,s)}(window, document,'script', + 'https://connect.facebook.net/en_US/fbevents.js'); + fbq('init', ${p.fbPixelId}); + `; + document.getElementsByTagName("head")[0].appendChild(script); + // 创建通知 + let noscript = document.createElement("noscript"); + let iframe = document.createElement("iframe"); + iframe.style.display = 'none' + iframe.width = '0' + iframe.height = '0' + iframe.src = `https://www.facebook.com/tr?id=${p.fbPixelId}&ev=PageView&noscript=1`; + noscript.appendChild(iframe); + document.getElementsByTagName("body")[0].appendChild(noscript); + + + // 动态配置meta + let meta = document.createElement("meta"); + let meta2 = document.createElement("meta"); + meta.name = "og:url"; + meta.content = location.href; + + meta2.name = "twitter:url"; + meta2.content = location.href; + document.getElementsByTagName("head")[0].appendChild(meta); + document.getElementsByTagName("head")[0].appendChild(meta2); +} diff --git a/src/common/service-worker.ts b/src/common/service-worker.ts new file mode 100644 index 0000000..dce3d68 --- /dev/null +++ b/src/common/service-worker.ts @@ -0,0 +1,33 @@ +import { userBrowser, getLocationParams } from "@/utils"; +import storage, { actions } from "@/utils/storage"; +import { useBaseStoreWithOut } from "@/stores/modules/base"; + +export default function () { + // 当前环境判断 + const browser = userBrowser(); + storage.setSessionStorage(actions.BROWSER, JSON.stringify(browser)); + const addToHome = !!Number(storage.getSessionStorage(actions.ADD_TO_HOME)); + if (getLocationParams(window.location.href).appType == 1) { + return; + } + // 是否注册service-worker + if (!window.Android && !browser.isIos) { + window.addEventListener("load", () => { + navigator.serviceWorker + .register("./service-worker.js") + .then((registration) => { + // console.log('Service Worker 注册成功:', registration); + window.addEventListener("beforeinstallprompt", (e) => { + e.preventDefault(); + useBaseStoreWithOut().setDeferredPrompt(e); + useBaseStoreWithOut().setShowAddToHomeVisible(!addToHome); + }); + }) + .catch((error) => { + // console.log('Service Worker 注册失败:', error); + }); + }); + } else { + useBaseStoreWithOut().setShowAddToHomeVisible(!addToHome); + } +} diff --git a/src/components/bottom-tips/index.vue b/src/components/bottom-tips/index.vue new file mode 100644 index 0000000..7003aa5 --- /dev/null +++ b/src/components/bottom-tips/index.vue @@ -0,0 +1,24 @@ + + + + + diff --git a/src/components/float-handle/float-handle.vue b/src/components/float-handle/float-handle.vue new file mode 100644 index 0000000..0cf15f0 --- /dev/null +++ b/src/components/float-handle/float-handle.vue @@ -0,0 +1,215 @@ + + + + + diff --git a/src/components/game-list/game-list.vue b/src/components/game-list/game-list.vue new file mode 100644 index 0000000..c929753 --- /dev/null +++ b/src/components/game-list/game-list.vue @@ -0,0 +1,40 @@ + + + diff --git a/src/components/h-block/index.vue b/src/components/h-block/index.vue new file mode 100644 index 0000000..bda73b2 --- /dev/null +++ b/src/components/h-block/index.vue @@ -0,0 +1,22 @@ + + + + + diff --git a/src/components/h-cell/index.vue b/src/components/h-cell/index.vue new file mode 100644 index 0000000..ad3a957 --- /dev/null +++ b/src/components/h-cell/index.vue @@ -0,0 +1,41 @@ + + + + + diff --git a/src/components/h-center-popup/index.scss b/src/components/h-center-popup/index.scss new file mode 100644 index 0000000..dd37aa6 --- /dev/null +++ b/src/components/h-center-popup/index.scss @@ -0,0 +1,37 @@ +.center-popup{ + position: relative; + width: 80%; + margin: 0 auto; + top: 20%; + border-radius: 0.3rem; + + .title{ + background-color: #57b286; + border-top-right-radius: 0.3rem; + border-top-left-radius: 0.3rem; + padding: 0.3rem; + font-size: 0.5rem; + display: flex; + align-items: center; + justify-content: space-between; + color:#fffd2c; + .close { + $size: .8rem; + width: $size; + height: $size; + } + .text{ + flex: 1; + text-align: left; + font-weight: bold; + display: flex; + align-items: center; + } + } + .content{ + box-sizing: border-box; + width: 100%; + color: #000; + padding: 0.2rem; + } +} \ No newline at end of file diff --git a/src/components/h-center-popup/index.vue b/src/components/h-center-popup/index.vue new file mode 100644 index 0000000..4985a74 --- /dev/null +++ b/src/components/h-center-popup/index.vue @@ -0,0 +1,40 @@ + + + + + diff --git a/src/components/h-game-provedor/h-game-provedor.vue b/src/components/h-game-provedor/h-game-provedor.vue new file mode 100644 index 0000000..560e448 --- /dev/null +++ b/src/components/h-game-provedor/h-game-provedor.vue @@ -0,0 +1,125 @@ + + + diff --git a/src/components/h-img/h-img.vue b/src/components/h-img/h-img.vue new file mode 100644 index 0000000..fef1c99 --- /dev/null +++ b/src/components/h-img/h-img.vue @@ -0,0 +1,43 @@ + + diff --git a/src/components/h-input/index.vue b/src/components/h-input/index.vue new file mode 100644 index 0000000..1e29cba --- /dev/null +++ b/src/components/h-input/index.vue @@ -0,0 +1,132 @@ + + + + + diff --git a/src/components/h-navbar/index.scss b/src/components/h-navbar/index.scss new file mode 100644 index 0000000..7eb1f39 --- /dev/null +++ b/src/components/h-navbar/index.scss @@ -0,0 +1,44 @@ +.h-navbar{ + background: $nav-bar; + position: fixed; + top: 0; + z-index: 9; + width: 100%; + @include pc { + width: 10rem; + } + .container{ + display: flex; + align-items: center; + justify-content: space-between; + height: $nav-bar-height; + padding: 0 0.2rem; + .cetner{ + flex: 1; + font-size: 0.45rem; + font-weight: bold; + color: $font-text1; + text-align: center; + } + .left,.right{ + display: flex; + align-items: center; + height: 100%; + + } + .left{ + .back{ + width: .8rem; + } + } + .right{ + + display: flex; + justify-content: flex-end; + .home{ + width: .8rem; + } + } + } + +} \ No newline at end of file diff --git a/src/components/h-navbar/index.vue b/src/components/h-navbar/index.vue new file mode 100644 index 0000000..d663647 --- /dev/null +++ b/src/components/h-navbar/index.vue @@ -0,0 +1,59 @@ + + + + + diff --git a/src/components/h-paging/h-paging.vue b/src/components/h-paging/h-paging.vue new file mode 100644 index 0000000..b6e3148 --- /dev/null +++ b/src/components/h-paging/h-paging.vue @@ -0,0 +1,58 @@ + + + diff --git a/src/components/h-start-game/h-start-game.vue b/src/components/h-start-game/h-start-game.vue new file mode 100644 index 0000000..780c259 --- /dev/null +++ b/src/components/h-start-game/h-start-game.vue @@ -0,0 +1,382 @@ + + + + + diff --git a/src/components/h-tabbar/index.scss b/src/components/h-tabbar/index.scss new file mode 100644 index 0000000..964f5f7 --- /dev/null +++ b/src/components/h-tabbar/index.scss @@ -0,0 +1,39 @@ +.h-tabbar { + position: sticky; + height: $tab-bar-height; + bottom: 0; + width: 100%; + box-sizing: border-box; + z-index: 19; + @include pc { + width: 10rem; + left: calc(50% - 5rem); + } + .icon-box { + position: absolute; + width: 100%; + height: 100%; + font-weight: 500; + padding-bottom: 0; + .flex-sa { + height: 100%; + .van-image { + width: 0.7rem; + max-width: 55px; + } + span { + // padding-top: 5px; + font-size: 0.3rem; + } + } + } + .center { + position: absolute; + font-weight: 500; + bottom: 0.06rem; + font-size: 0.3rem; + .van-image { + width: 1.6rem; + } + } +} \ No newline at end of file diff --git a/src/components/h-tabbar/index.vue b/src/components/h-tabbar/index.vue new file mode 100644 index 0000000..7244ec0 --- /dev/null +++ b/src/components/h-tabbar/index.vue @@ -0,0 +1,132 @@ + + + diff --git a/src/components/h-table-paging/h-table-paging.vue b/src/components/h-table-paging/h-table-paging.vue new file mode 100644 index 0000000..249c35d --- /dev/null +++ b/src/components/h-table-paging/h-table-paging.vue @@ -0,0 +1,92 @@ + + + diff --git a/src/components/number-animation/TransitionFunc.ts b/src/components/number-animation/TransitionFunc.ts new file mode 100644 index 0000000..f6f14e0 --- /dev/null +++ b/src/components/number-animation/TransitionFunc.ts @@ -0,0 +1,26 @@ +export enum TransitionFunc { + linear = "linear", + easeOutSine = "easeOutSine", + easeInOutSine = "easeInOutSine", + easeInQuad = "easeInQuad", + easeOutQuad = "easeOutQuad", + easeInOutQuad = "easeInOutQuad", + easeInCubic = "easeInCubic", + easeOutCubic = "easeOutCubic", + easeInOutCubic = "easeInOutCubic", + easeInQuart = "easeInQuart", + easeOutQuart = "easeOutQuart", + easeInOutQuart = "easeInOutQuart", + easeInQuint = "easeInQuint", + easeOutQuint = "easeOutQuint", + easeInOutQuint = "easeInOutQuint", + easeInExpo = "easeInExpo", + easeOutExpo = "easeOutExpo", + easeInOutExpo = "easeInOutExpo", + easeInCirc = "easeInCirc", + easeOutCirc = "easeOutCirc", + easeInOutCirc = "easeInOutCirc", + easeInBack = "easeInBack", + easeOutBack = "easeOutBack", + easeInOutBack = "easeInOutBack", +} \ No newline at end of file diff --git a/src/components/number-animation/index.vue b/src/components/number-animation/index.vue new file mode 100644 index 0000000..8d7a713 --- /dev/null +++ b/src/components/number-animation/index.vue @@ -0,0 +1,90 @@ + + diff --git a/src/components/other-login/index.scss b/src/components/other-login/index.scss new file mode 100644 index 0000000..e48bc89 --- /dev/null +++ b/src/components/other-login/index.scss @@ -0,0 +1,34 @@ +.other-login { + font-size: 15px; + .tips { + font-weight: bold; + color: #55ba57; + } + .box { + margin: 0.4rem 0 0.6rem 0; + } + .line { + position: relative; + color: #515656; + font-weight: 800; + font-size: 0.38rem; + &::before { + content: ""; + position: absolute; + width: 46%; + height: 0.05rem; + left: 0; + bottom: 50%; + background: #515656; + } + &::after { + content: ""; + position: absolute; + width: 46%; + height: 0.05rem; + right: 0; + bottom: 50%; + background: #515656; + } + } +} \ No newline at end of file diff --git a/src/components/other-login/index.vue b/src/components/other-login/index.vue new file mode 100644 index 0000000..8c16db0 --- /dev/null +++ b/src/components/other-login/index.vue @@ -0,0 +1,67 @@ + + + + + diff --git a/src/components/swiper-game-list/swiper-game-list.vue b/src/components/swiper-game-list/swiper-game-list.vue new file mode 100644 index 0000000..57cc821 --- /dev/null +++ b/src/components/swiper-game-list/swiper-game-list.vue @@ -0,0 +1,191 @@ + + + diff --git a/src/components/three-in-one/index.scss b/src/components/three-in-one/index.scss new file mode 100644 index 0000000..c60e41a --- /dev/null +++ b/src/components/three-in-one/index.scss @@ -0,0 +1,212 @@ +.bg-box { + height: 100%; + width: 100%; + position: relative; + .di-img { + position: absolute; + top: 45%; + transform: translate(-50%, -50%); + left: 50%; + width: 85%; + height: auto; + } + .close-img { + position: absolute; + right: 5%; + top: 14%; + z-index: 9; + } + .box { + position: absolute; + bottom: 0.5rem; + width: 7.5rem; + height: 6.5rem; + left: 50%; + transform: translateX(-50%); + cursor: pointer; + justify-content: space-around; + + .block { + width: 100%; + height: 1.9rem; + background-repeat: no-repeat; + background-size: 100% 100%; + border: 2px solid #102d28; + border-radius: 0.25rem; + display: flex; + align-items: center; + justify-content: center; + position: relative; + + .left { + flex: 1; + display: flex; + font-size: 0.4rem; + // background-color: rgba($color: #000000, $alpha: 0.5); + padding-left: 0.3rem; + .jisuan { + border-bottom: 2px dashed #fff; + padding: 0.1rem 0; + width: 90%; + display: flex; + align-items: center; + justify-content: flex-start; + .origPrice { + font-size: 0.5rem; + text-decoration: line-through red 0.05rem; + padding-left: 0.05rem; + } + } + .ped { + padding: 0 0.05rem; + } + } + .right { + font-size: 0.4rem; + display: flex; + align-items: flex-end; + height: 100%; + position: relative; + width: 2.3rem; + @extend .blod; + .per { + position: absolute; + top: 0; + font-size: 0.3rem; + right: 0.1rem; + } + span { + display: block; + padding-bottom: 0.2rem; + } + .zhi { + padding-bottom: 0.4rem; + } + span:last-child { + font-size: 0.8rem; + padding-left: 0.1rem; + background: linear-gradient( + to bottom, + #ffffff 0%, + #fada84 45%, + #8c6907 100% + ); + background-clip: text; + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + } + } + + .item-tips { + position: absolute; + top: -2rem; + width: 100%; + height: 3rem; + background: url(../../assets/img/base/tips.png); + background-size: 100% 100%; + z-index: 1; + display: flex; + flex-direction: column; + color: #f76222; + font-size: 0.4rem; + @extend .blod; + .close { + width: 1rem; + height: 1rem; + position: absolute; + right: 0; + z-index: 999; + } + .tip-top { + width: 100%; + height: 1.15rem; + position: relative; + display: flex; + align-items: center; + box-sizing: border-box; + div{ + width: 1rem; + height: 100%; + display: flex; + align-items: center; + justify-content: center; + } + .gold { + margin-left: 2.9rem; + margin-right: 1rem; + + } + } + .tip-bottom { + flex: 1; + position: relative; + .ganhos-diarios{ + position: absolute; + right: 50%; + top: 10%; + } + .day{ + position: absolute; + right: 47%; + bottom: 30%; + } + } + + } + } + .active { + border: 2px solid #fff; + border-radius: 0.25rem; + @extend .transition; + } + .not_receive { + filter: grayscale(100%); + } + } + .btn-box { + position: absolute; + bottom: -1.5rem; + width: 40%; + left: 50%; + transform: translateX(-50%); + background: #009165; + border-radius: $border-radius; + padding: 0.1rem; + border: none; + color: #fff; + @extend .pointer; + @extend .blod; + } + .received-tips { + position: absolute; + bottom: -0.3rem; + width: 100%; + left: 50%; + transform: translateX(-50%); + font-size: 0.4rem; + text-align: center; + color: #ff0000; + } +} + +.container { + .payment-list { + display: grid; + grid-template-columns: repeat(3, 1fr); + font-size: 0.4rem; + gap: 0.25rem; + + .payment { + padding: 0.3rem; + text-align: center; + color: #fff; + border-radius: 0.2rem; + background: rgba($color: #009165, $alpha: 0.5); + @extend .blod; + } + .active { + background: #009165; + @extend .transition; + } + } +} diff --git a/src/components/three-in-one/index.vue b/src/components/three-in-one/index.vue new file mode 100644 index 0000000..bd3651d --- /dev/null +++ b/src/components/three-in-one/index.vue @@ -0,0 +1,392 @@ + + + + + diff --git a/src/enums/GLOD_TYPE_ENUM.ts b/src/enums/GLOD_TYPE_ENUM.ts new file mode 100644 index 0000000..a9ed49e --- /dev/null +++ b/src/enums/GLOD_TYPE_ENUM.ts @@ -0,0 +1,161 @@ +/** + * 用户金币日志类型 + * type 事件所属类型 1:充值相关 + */ +export const USER_COINS_LOG_TYPE: any = { + /** 游戏押注 */ + /** 新手赠送 */ + NEW_GIFT: { value: 5, txt: "新手赠送", clientTxt: "New Gift" }, + /** 游戏押注 */ + GAME_INVEST: { value: 10, txt: "游戏押注", clientTxt: "Game betting" }, + /** 游戏输赢 */ + GAME_WIN_OR_LOSE: { value: 20, txt: "游戏输赢", clientTxt: "Game revenue" }, + /** 赢得彩金 */ + WIN_THE_BONUS: { value: 30, txt: "赢得彩金", clientTxt: "Winning Bonus" }, + /** 领取邮件附件 */ + GET_MAIL_ATTACH: { value: 40, txt: "领取邮件", clientTxt: "Mails" }, + /** 银行存取金币 */ + BANK_SAVE_GET: { value: 50, txt: "银行存取", clientTxt: "Bank" }, + /** 赠送他人金币 */ + GIFT_COINS: { value: 60, txt: "赠送", clientTxt: "Gift" }, + /** 兑换礼包 */ + GET_GIFT_CODE: { value: 70, txt: "兑换礼包", clientTxt: "Exchange Code" }, + /** 领取救济 */ + GET_WELFARE: { value: 80, txt: "领取救济", clientTxt: "Welfare" }, + /** 扣除负债 */ + REDUCE_COINS: { value: 90, txt: "扣除负债", clientTxt: "Deduct arrears" }, + /** 领取亏损返利 */ + GET_LOSS_BONUS: { value: 100, txt: "领取亏损返利", clientTxt: "Loss rebate" }, + /** 领取周期返利 */ + GET_CYCLE_BONUS: { value: 101, txt: '领取周期返利', clientTxt: 'Cycle rebate' }, + /** 领取下注返利 */ + GET_BET_BONUS: { value: 110, txt: "领取下注返利", clientTxt: "Bet rebate" }, + /** 领取累积返利 */ + GET_TOTAL_REBATE: { + value: 111, + txt: "领取累积返利", + clientTxt: "Total rebate", + }, + /** 商店购买 */ + SHOP_BUY: { value: 120, txt: "商店购买", clientTxt: "Shop" }, + /** 商店2购买 */ + SHOP2_BUY: { value: 121, txt: '商店购买', clientTxt: 'Shop' }, + /** 每日摇奖 */ + DAY_SLOTS: { value: 130, txt: "每日摇奖", clientTxt: "Mini SLots" }, + /** 三选一礼包 */ + ONEOFTHREE_GIFT: { + value: 140, + txt: "三选一礼包", + clientTxt: "One of three gift", + }, + /** 超值礼包 */ + SUPER_CASH_BACK: { + value: 150, + txt: "超值礼包", + clientTxt: "Super cash back", + }, + /** 进入第三方游戏 */ + LOGIN_THIRD_GAME: { + value: 160, + txt: "进入第三方游戏", + clientTxt: "Enter Game", + }, + /** 退出第三方游戏 */ + LOGOUT_THIRD_GAME: { + value: 170, + txt: "退出第三方游戏", + clientTxt: "Exit Game", + }, + /** 钻石换金币 */ + DIAMOND_CONVERT_COINS: { + value: 180, + txt: "钻石换金币", + clientTxt: "Diamond Convert", + }, + /** 签到领奖 */ + CHECKIN_AWARD: { value: 190, txt: "签到领奖", clientTxt: "Checking" }, + /** 签到月度领奖 */ + MONTH_CHECKIN_AWARD: { + value: 200, + txt: "签到月度领奖", + clientTxt: "Monthly Gift", + }, + /** 神秘商店购买 */ + MYSTERY_SHOP_BUY: { + value: 210, + txt: "神秘商店购买", + clientTxt: "Mystery Shop", + }, + /** 每日礼包购买 */ + EVERY_DAY_BUY: { value: 220, txt: "每日礼包购买", clientTxt: "Daily Gift" }, + /** 登录奖励 */ + LOGIN_AWARD: { value: 230, txt: "登录奖励", clientTxt: "Login Gift" }, + /** 登录特殊奖励 */ + LOGIN_AWARD_SPECIAL: { + value: 240, + txt: "登录特殊奖励", + clientTxt: "Login Gift Plus", + }, + /** 助力转盘 */ + HELP_TURNTABLE: { + value: 250, + txt: "助力转盘领奖", + clientTxt: "Mini Turntable", + }, + /** VIP等级奖励 */ + VIP_AWARD: { value: 260, txt: "VIP等级奖励", clientTxt: "VIP Level Gift" }, + /** VIP每日奖励 */ + VIP_DAY_AWARD: { + value: 261, + txt: "VIP每日奖励", + clientTxt: "VIP Daily Gift", + }, + /** VIP每周奖励 */ + VIP_WEEK_AWARD: { + value: 270, + txt: "VIP每周奖励", + clientTxt: "VIP Weekly Gift", + }, + /** VIP每月奖励 */ + VIP_MONTH_AWARD: { + value: 280, + txt: "VIP每月奖励", + clientTxt: "VIP Monthly Gift", + }, + /** 提现 */ + WITHDRAW: { value: 290, txt: "提现", clientTxt: "Withdraw" }, + /** 游戏取消押注 */ + GAME_CANCEL_INVEST: { + value: 300, + txt: "游戏取消押注", + clientTxt: "Cancel Bet", + }, + /** 动态活动领奖 */ + ACTIVITY_TASK: { value: 310, txt: "动态活动领奖", clientTxt: "Task Gift" }, + /** 动态活动黄金奖励解锁 */ + ACTIVITY_VIP_UNLOCK: { + value: 320, + txt: "黄金奖励解锁", + clientTxt: "Task unlock", + }, + /** 领取下级返利 */ + REABTE_RECEIVE: { + value: 330, + txt: "领取下级返利", + clientTxt: "Child rebate", + }, + /** 游戏总输赢(客户端用,出入房间时只记录一次) */ + GAME_WIN_OR_LOSE_TOTAL: { + value: 999, + txt: "游戏总输赢", + clientTxt: "Game revenue", + }, +}; + +export const ENUM = (type: string) => { + let arr = []; + for (let key in USER_COINS_LOG_TYPE) { + arr.push(USER_COINS_LOG_TYPE[key]); + } + return arr.find((i) => i.value == type).clientTxt; +}; diff --git a/src/enums/PAY_STATUS_MENU.ts b/src/enums/PAY_STATUS_MENU.ts new file mode 100644 index 0000000..3c7a920 --- /dev/null +++ b/src/enums/PAY_STATUS_MENU.ts @@ -0,0 +1,51 @@ +export enum PAY_STATUS { + pending = 1, + successs, + failed, + invalid, + auto_pass, + pass, + not_pass, + examining +} + + + +export const STATUS_TXT = (status: number) => { + switch (status) { + case PAY_STATUS.pending: + return 'Trans' + case PAY_STATUS.successs: + return 'Success' + case PAY_STATUS.failed: + return 'Failed' + case PAY_STATUS.auto_pass: + return 'Auto pass' + case PAY_STATUS.pass: + return 'Pass' + case PAY_STATUS.not_pass: + return 'Not pass' + case PAY_STATUS.examining: + return 'Examining' + default: + return 'Failed' + } +} + + +export const STATUS_COLOR = (status: number) => { + switch (status) { + case PAY_STATUS.pending: + return '#f3e615' + case PAY_STATUS.successs: + return '#00E7BB' + case PAY_STATUS.failed: + return '#ff0000' + case PAY_STATUS.invalid: + return '#ff0000' + case PAY_STATUS.examining: + return '#f3e615' + default: + return '#ff0000' + } +} \ No newline at end of file diff --git a/src/enums/TURNTABLE_TYPE_ENUM.ts b/src/enums/TURNTABLE_TYPE_ENUM.ts new file mode 100644 index 0000000..a0adf37 --- /dev/null +++ b/src/enums/TURNTABLE_TYPE_ENUM.ts @@ -0,0 +1,22 @@ +/** 转盘2奖项类型 */ +const HELP_TURNTABLE2_AWARD_TYPE: any = { + /**任务金币(给初始进度) */ + FIRST_TASK_COINS: { value: 1, txt: '任务首次金币' }, + COINS: { value: 2, txt: '直接获得金币' }, + /**提现到金币余额 */ + WITHDRAW: { value: 3, txt: '直接提现' }, + /**任务金币(增加任务进度) */ + TASK_COINS: { value: 4, txt: '任务金币' }, + NO_AWARD: { value: 5, txt: '未中奖' }, + DIAMOND: { value: 6, txt: '直接获得钻石' }, +} + + +export enum TURNTABLE_AWARD_TYPE { + FIRST_TASK_COINS = 1, + COINS, + WITHDRAW, + TASK_COINS, + NO_AWARD, + DIAMOND, +} \ No newline at end of file diff --git a/src/hooks/useBase.ts b/src/hooks/useBase.ts new file mode 100644 index 0000000..7b588f0 --- /dev/null +++ b/src/hooks/useBase.ts @@ -0,0 +1,11 @@ +import { computed } from 'vue'; +import { useBaseStore } from "@/stores/modules/base"; +export default function () { + const baseStore = useBaseStore(); + const pageHeight = computed(() => { + return `calc(${baseStore.innerHeight}px - 1.9rem - 1.5rem)`; + }); + return { + pageHeight + } +} \ No newline at end of file diff --git a/src/hooks/useGift.ts b/src/hooks/useGift.ts new file mode 100644 index 0000000..c1aaa60 --- /dev/null +++ b/src/hooks/useGift.ts @@ -0,0 +1,50 @@ +import { useGiftStore } from "@/stores/modules/gift"; +import { useUserStore } from "@/stores/modules/user"; +import { computed } from "vue"; +import { fomartDate } from "@/utils"; + +export default function () { + const userStore = useUserStore(); + const giftStore = useGiftStore(); + // 用户是否三合一任务 + const oneOfThreePayIds = computed(() => userStore.userInfo.oneOfThreePayIds); + + // 当前三合一任务 + const currentOneOfThree = computed(() => { + if ( + oneOfThreePayIds.value && + oneOfThreePayIds.value.length && + Object.keys(giftStore.threeInOneInfo).length !== 0 + ) { + return giftStore.threeInOneInfo.rows.find((item: any) => { + if (oneOfThreePayIds.value.includes(item._id)) { + return item; + } + }); + } + }); + + // 是否显示三合一 + const hasShowOneOfThree = computed(() => { + if (!userStore.userInfo.uid) { + return false; + } + if (!oneOfThreePayIds.value) { + return true; + } else if (currentOneOfThree.value) { + // 购买天数 + const buy = Number( + fomartDate(giftStore.threeInOneInfo.oneOfThreeAt, "DD") + ); + const date = Number(fomartDate(new Date(), "DD")); + const diff = date - buy; + if (diff < 0) return false; + if (diff >= currentOneOfThree.value.keepDay) return false; + if (oneOfThreePayIds.value.length) return true; + } + return false; + }); + return { + hasShowOneOfThree, + }; +} diff --git a/src/hooks/useInView.ts b/src/hooks/useInView.ts new file mode 100644 index 0000000..4b3e4d1 --- /dev/null +++ b/src/hooks/useInView.ts @@ -0,0 +1,34 @@ +import { Ref } from "vue"; +import {getStaticImage} from "@/utils" +export default function () { + + const options = { + rootMargin: "0px", + threshold: 0.5, + once: true + } + + const callback = (entries: IntersectionObserverEntry[], observer: IntersectionObserver) => { + entries.forEach((entry) => { + if (entry.intersectionRatio <= 0) return + const img = entry.target as HTMLImageElement; + // img.src = getStaticImage('base/loading.png') + const src = img.getAttribute('data-src'); + // img.setAttribute('src', getStaticImage('base/loading.png')); + img.setAttribute('src', src ?? ""); + img.onload = () => { + // img.setAttribute('class', "fade-in") + } + observer.unobserve(img) + }) + } + // 图片处理 + const processImage = (ref: Ref) => { + const observer = new IntersectionObserver(callback, options) + Object.keys(ref.value) + .forEach((e) => observer.observe(ref.value[e])); + } + return { + processImage + } +} \ No newline at end of file diff --git a/src/hooks/useLogin.ts b/src/hooks/useLogin.ts new file mode 100644 index 0000000..5c73f72 --- /dev/null +++ b/src/hooks/useLogin.ts @@ -0,0 +1,110 @@ +import https from "@/https"; +import { showLoading, closeLoading, toast } from "@/utils/toast"; +import { inject } from "vue"; +import storage, { actions } from "@/utils/storage"; +import { useUserStore } from "@/stores/modules/user"; +import { useRouter } from "vue-router"; +import socketApi from "@/socket/socketApi"; +import { getLocationParams } from "@/utils"; +import { useGiftStore } from "@/stores/modules/gift"; +import { GOOGLE_USER_INFO } from "@/common/config"; +import axios from "axios"; +import { googleTokenLogin } from "vue3-google-login"; + +interface LoginProps { + mobile: string; + pwd: string; + code: number; +} + +export default function () { + const cookies: any = inject("$cookies"); + const socket: any = inject("socket"); + const userStore = useUserStore(); + const giftStore = useGiftStore(); + const router = useRouter(); + + const onLogin = async (data: LoginProps, status?: boolean) => { + const params = { + mobile: data.code + data.mobile, + pwd: data.pwd, + }; + const res: ResultData = await https.login(params); + if (res.code !== 0) { + toast(res.txt); + return; + } + storage.setStorage(actions.USER_INFO, JSON.stringify(res.data)); + storage.setStorage(actions.USER_TOEKN, res.data.token); + userStore.setUserInfo(res.data); + window.sessionStorage.setItem("showOne", '2'); + connectSocket(res.data, status); + }; + + const connectSocket = (data: any, status?: boolean) => { + socket.disconnect(); + socket.connect().then(() => { + console.log("login connect socket"); + const lp = getLocationParams(); + // if (!data.inviteUid && lp.u) { + // acceptInvite(lp.u); + // } + + if (!userStore.userInfo.mobile) { + router.replace("/bind-phone"); + } else if (status) { + router.replace("/"); + } else { + router.replace("/"); + } + giftStore.getThreeInOneInfo(); + userStore.getUserInfo(); + // storage.setSessionStorage(actions.DRAW_POPUP, 0); + closeLoading(); + }); + }; + + const googleLogin = () => { + googleTokenLogin().then(async (response: any) => { + axios + .get(GOOGLE_USER_INFO, { + params: { access_token: response.access_token }, + }) + .then(async (res: any) => { + showLoading(); + let params: any = { + google: res.data.sub, + }; + let uid = getLocationParams(window.location.href); + if (uid.u) { + params.inviteUid = uid.u; + } + const { code, data, txt }: ResultData = await https.googleLogin( + params + ); + if (code !== 0) { + toast(txt); + closeLoading(); + return; + } + storage.setStorage(actions.USER_INFO, JSON.stringify(data)); + storage.setStorage(actions.USER_TOEKN, data.token); + userStore.setUserInfo(data); + connectSocket(data); + }) + .catch((error) => { + console.log(error); + }); + }) + } + + const acceptInvite = (uid: number) => { + socketApi.acceptInvite(Number(uid)); + }; + + return { + onLogin, + connectSocket, + googleLogin, + }; +} diff --git a/src/hooks/useProps.ts b/src/hooks/useProps.ts new file mode 100644 index 0000000..05a7869 --- /dev/null +++ b/src/hooks/useProps.ts @@ -0,0 +1,7 @@ + + + + +export default function () { + +} \ No newline at end of file diff --git a/src/hooks/useShare.ts b/src/hooks/useShare.ts new file mode 100644 index 0000000..e54baa5 --- /dev/null +++ b/src/hooks/useShare.ts @@ -0,0 +1,129 @@ +import { useBaseStoreWithOut } from "@/stores/modules/base"; +import { useUserStoreWithOut } from "@/stores/modules/user"; +import { computed, onMounted, ref } from "vue"; +import { toast } from "@/utils/toast"; +import { jumpOhterLink } from "@/utils"; +import storage, { actions } from "@/utils/storage"; +import http from "@/https"; + +export default function () { + /** + * 分享文案 + */ + const shareMessage = computed(() => { + return `Receba ${200} BRL de graça,SAQUE RÁPIDO!`; + }); + + const platformConfig = computed(() => { + return useBaseStoreWithOut().globalConfig.platformConfig || {}; + }); + + /** + * 分享列表 + */ + const shareList = computed(() => { + return [ + // { + // icon: "icon_04", + // path: "", + // type: "xitong", + // }, + { + icon: "share/icon_1.png", + path: `${platformConfig.value.web_fb_url}?u=${shareUrl.value}`, + type: "facebook", + }, + { + icon: "share/icon_2.png", + path: `${platformConfig.value.web_tg_url}?url=AmazingGame ${shareUrl.value}`, + type: "tg", + }, + { + icon: "share/icon_3.png", + path: `${platformConfig.value.web_whats_url}?text=AmazingGame ${shareUrl.value}`, + type: "whatsapp", + }, + { + icon: "share/icon_4.png", + path: `${platformConfig.value.web_X_url}text=AmazingGame&url=${shareUrl.value}`, + type: "twitter", + }, + // { + // icon: "share/icon_5.png", + // path: `https://t8club.com?uid=${useUserStoreWithOut().userInfo.uid}`, + // type: 'app' + // }, + { + icon: "share/icon_6.png", + path: `${platformConfig.value.web_line_url}?url=${shareUrl.value}`, + type: "line", + }, + ]; + }); + /** + * 分享链接 + */ + const url = computed(() => { + return useBaseStoreWithOut().shareLinkUrl; + }); + const shareUrl = computed(() => { + if (useUserStoreWithOut().userInfo.uid) { + return `${url.value}?u=${useUserStoreWithOut().userInfo.uid}`; + } + return url.value; + }); + /** + * 分享跳转方法 + * @param path + * @param type + * @returns + */ + const goLink = (path: string, type: string) => { + if (type == "xitong") { + try { + navigator.share({ + title: "webShare", + text: "webShare", + url: location.href, + }); + } catch (error) { + toast("share error"); + } + return; + } + + if (type == "facebook") { + jumpOhterLink(path); + } else { + jumpOhterLink(path + " " + shareMessage.value); + } + }; + + /** + * 发送短信 + * @param mobile 手机号 号分割 + * @param body 发送内容 + */ + const onSendSms = (mobile: string, body: string) => { + const browser = JSON.parse( + storage.getSessionStorage(actions.BROWSER) + ); + if (!browser.isIos) { + // sms:后面跟收件人的手机号,body后接短信内容 + // window.location.href='sms:188XXXXXXXX,134XXXXXXXX?body='+this.msg; + window.location.href = `sms:${mobile}?body=${body}`; + } else { + // ios的写法 + // window.location.href='sms:/open?addresses=134XXXXXXXX,182XXXXXXXX&body='+this.msg; + window.location.href = `sms:/open?addresses=${mobile}&body=${body}`; + } + }; + + return { + shareMessage, + shareList, + shareUrl, + goLink, + onSendSms, + }; +} diff --git a/src/hooks/useUserLevel.ts b/src/hooks/useUserLevel.ts new file mode 100644 index 0000000..0173eb5 --- /dev/null +++ b/src/hooks/useUserLevel.ts @@ -0,0 +1,94 @@ + +import { computed } from 'vue' +import { useUserStore } from "@/stores/modules/user"; +import { useBaseStore } from "@/stores/modules/base"; + +interface LevelProps { + amount: number + lv: number +} + +export default function () { + const baseStore = useBaseStore(); + const userStore = useUserStore(); + /**当前vip等级对应奖励 */ + const levelProp = computed(() => { + let prop = userStore.vipInfo.rows && userStore.vipInfo.rows.filter((item: any) => item.lv === userStore.vipInfo.myLv) + return prop && prop.length > 0 ? prop[0] : { + dailyAward: [], + award: [], + monthlyAward: [], + weeklyAward: [], + } + }) + /**当前vip等级 */ + const currentLevel = computed(() => { + let level: LevelProps = { amount: 0, lv: 1 }; + if (baseStore.globalConfig.platformConfig) { + console.log(userStore.userInfo.vipLevelType === 1 ? userStore.userInfo.totalPay : userStore.userInfo.totalBet); + console.log(baseStore.globalConfig.platformConfig.vip_config); + + + let v = baseStore.globalConfig.platformConfig.vip_config.filter( + (i: any) => i.amount <= (userStore.userInfo.vipLevelType === 1 ? userStore.userInfo.totalPay : (userStore.userInfo.totalBet || 0)) + ); + if (v.length) { + level = v[0]; + } + } + return level; + }) + /**下级vip等级 */ + const nextLevel = computed(() => { + let level: LevelProps = { amount: 0, lv: 2 }; + if (!currentLevel.value.lv) { + level.lv = 1 + return level + } + + if (baseStore.globalConfig.platformConfig) { + let v = baseStore.globalConfig.platformConfig.vip_config.filter( + (i: any) => i.amount > (userStore.userInfo.vipLevelType === 1 ? userStore.userInfo.totalPay : userStore.userInfo.totalBet || 0) + ); + console.log('===================================='); + console.log(v); + console.log('===================================='); + if (v.length) { + level = v[v.length - 1]; + } else { + level = baseStore.globalConfig.platformConfig.vip_config[0] + } + } + return level; + }) + /**到达下级vip等级进度 */ + const levelSpeed = computed(() => { + const current = userStore.userInfo.vipLevelType === 1 ? userStore.userInfo.totalPay : userStore.userInfo.totalBet || 0 + const next = nextLevel.value.amount + if (!(current / next)) { + return + } + return ((current / next) * 100) > 100 ? '100%' : ((current / next) * 100).toFixed(2) + '%'; + }) + /**差多少充值下一级 */ + const poorRecharge = computed(() => { + const current = userStore.userInfo.vipLevelType === 1 ? userStore.userInfo.totalPay : userStore.userInfo.totalBet || 0 + const next = nextLevel.value.amount + if (!current && baseStore.globalConfig.platformConfig) { + let v0 = baseStore.globalConfig.platformConfig.vip_config.find((item: any) => item.lv == 1) + let v1 = baseStore.globalConfig.platformConfig.vip_config.find((item: any) => item.lv == 2) + return v1.amount - v0.amount; + } + console.log(current,next); + + return current > next ? 0 : next - current; + }) + + return { + currentLevel, + nextLevel, + levelSpeed, + poorRecharge, + levelProp + } +} \ No newline at end of file diff --git a/src/https/index.ts b/src/https/index.ts new file mode 100644 index 0000000..f7ef6d2 --- /dev/null +++ b/src/https/index.ts @@ -0,0 +1,14 @@ +import * as user from "./modules/user"; +import * as game from './modules/game' +import * as base from './modules/base' +import * as configuration from './modules/configuration' +import * as activity from './modules/activity' + +const http: CustomObject = { + ...user, + ...game, + ...base, + ...configuration, + ...activity +}; +export default http; diff --git a/src/https/modules/activity.ts b/src/https/modules/activity.ts new file mode 100644 index 0000000..f4630d0 --- /dev/null +++ b/src/https/modules/activity.ts @@ -0,0 +1,14 @@ +import { post, get } from "@/utils/request"; + +enum URL { + // 转盘数据 + getHelpTurntable = '/getTurntable2', + // 转盘主力日志 + turntableLog = '/getHelpTurntableLog', +} + + +export const getHelpTurntable = (data: any) => post(URL.getHelpTurntable, data) + +export const turntableLog = (data: any) => post(URL.turntableLog, data) + diff --git a/src/https/modules/base.ts b/src/https/modules/base.ts new file mode 100644 index 0000000..8719a1f --- /dev/null +++ b/src/https/modules/base.ts @@ -0,0 +1,327 @@ +import { post, get, instance } from "@/utils/request"; + +enum URL { + // 获取支付方式 + getPayMethod = '/getPayMethod', + // 充值列表 + depositList = '/getShop2List', + getPayClass = '/getPayClass', + //用户充值 + userDeposit = '/buyShop2', + // 提现方式 + getTransMethodList = '/getWithdrawMethod', + // 提现列表 + withdrawList = '/getWithDrawAccountList', + // 用户提现 + withdraw = '/withdraw', + // 支付记录 + getPayRecords = '/getPayRecords', + // 获取socket中心服务器url + getCenterUrl = '/getCenterUrl', + // 获取平台配置 + getPlatformConfig = '/getPlatformConfig', + // 获取默认Notice + getNotice = '/getNotice', + getMail = '/getMail', + // token 登录 + tokenLogin = '/tokenLogin', + // 群组 + getCustomerGroup = '/getCustomerGroupList', + // 获取分享链接 + getShareLink = '/getShareLink', + getVipAwardCycle = '/receiveVipAward', + setNoticeRead = '/readNotice', + setMailRead = '/readMail', + receiveMailAttachments = '/receiveMailAttachments', + getOneOfThree = '/getOneOfThree', + + getChildRebate = '/getChildRebate', + getChildRebateDetail = 'getChildRebateDetailPage', + getChildRebateRecordsDetail = 'getChildRebateRecordsDetailPage', + getChildRebateRecords = 'getChildRebateRecordsPage', + getChildRebateInfo = 'getChildRebateInfo', + getPayMethodList = 'getPayMethodList', + oneOfThreeBuy = 'buyOneOfThree', + receiveOneOfThree = 'receiveOneOfThree', + receiveChildRebate = 'receiveChildRebate', + + getPopularizePhones = 'getPopularizePhones', + getCoinsDetailLog = 'getCoinsDetailLogPage', + getWithDrawRecord = 'getWithDrawRecordPage', + + helpTurntableTaskAward = 'receiveTurntable2', + getHelpTurntable2Log = 'getHelpTurntable2Log', + + getCheckin = 'getCheckin', + checkinDay = 'checkinDay', + getMonthCheckinAward = 'getMonthCheckinAward', + getPropsCache = 'updatePropsCache', + + receiveCycleRebateLoss = 'receiveCycleRebateLoss', + // 个人下注返利 + getTotalRebate = '/getTotalRebate', + // 领取个人下注返利 + receiveTotalRebate = '/receiveTotalRebate', + + getFlowRecord = 'getFlowRecordPage', + diamondConvert = 'diamondConvert', + + pddAddProbability = 'addPddOdds', + pddAwardRecords='pddAwardRecords', + getPddTask='getPddTask', + pddPointsBuy='buyPddScore', + getVipLvAward = '/receiveVipAwardLevel', +} + +export const pddAddProbability = async (data: any) => { + return await instance(URL.pddAddProbability, { + method: 'post', + headers: { + "Content-Type": "application/json" + }, + data: data, + }) +}; + + +export const pddPointsBuy = async (data: any) => { + return await instance(URL.pddPointsBuy, { + method: 'post', + headers: { + "Content-Type": "application/json" + }, + data: data, + }) +}; + + +export const getHelpTurntable2Log = async (data: any) => { + return await instance(URL.getHelpTurntable2Log, { + method: 'post', + headers: { + "Content-Type": "application/json" + }, + data: data, + }) +}; + + +export const getPayRecords = async (data: any) => { + return await instance(URL.getPayRecords, { + method: 'post', + headers: { + "Content-Type": "application/json" + }, + data: data, + }) +}; + +export const pddAwardRecords = async (data: any) => { + return await instance(URL.pddAwardRecords, { + method: 'post', + headers: { + "Content-Type": "application/json" + }, + data: data, + }) +}; + + + +export const getFlowRecordPage = async (data: any) => { + return await instance(URL.getFlowRecord, { + method: 'post', + headers: { + "Content-Type": "application/json" + }, + data: data, + }) +}; + + +export const getPropsCache = async (data: any) => { + return await instance(URL.getPropsCache, { + method: 'post', + headers: { + "Content-Type": "application/json" + }, + data: data, + }) +}; + +export const getWithDrawRecord = async (data: any) => { + return await instance(URL.getWithDrawRecord, { + method: 'post', + headers: { + "Content-Type": "application/json" + }, + data: data, + }) +}; + +export const getChildRebate = async (data: any) => { + return await instance(URL.getChildRebate, { + method: 'post', + headers: { + "Content-Type": "application/json" + }, + data: data, + }) +}; +export const getChildRebateDetail = async (data: any) => { + return await instance(URL.getChildRebateDetail, { + method: 'post', + headers: { + "Content-Type": "application/json" + }, + data: data, + }) +}; +export const getChildRebateRecordsDetail = async (data: any) => { + return await instance(URL.getChildRebateRecordsDetail, { + method: 'post', + headers: { + "Content-Type": "application/json" + }, + data: data, + }) +}; +export const getChildRebateRecords = async (data: any) => { + return await instance(URL.getChildRebateRecords, { + method: 'post', + headers: { + "Content-Type": "application/json" + }, + data: data, + }) +}; +export const getChildRebateInfo = async (data: any) => { + return await instance(URL.getChildRebateInfo, { + method: 'post', + headers: { + "Content-Type": "application/json" + }, + data: data, + }) +}; +export const getCoinsDetailLog = async (data: any) => { + return await instance(URL.getCoinsDetailLog, { + method: 'post', + headers: { + "Content-Type": "application/json" + }, + data: data, + }) +}; + +export const getVipLvAward = async (data: any) => { + return await instance(URL.getVipLvAward, { + method: 'post', + headers: { + "Content-Type": "application/json" + }, + data: data, + }) +}; + +export const diamondConvert = (data: any) => post(URL.diamondConvert, data); +export const getTotalRebate = (data: any) => post(URL.getTotalRebate, data); +export const receiveTotalRebate = (data: any) => post(URL.receiveTotalRebate, data); +export const getCheckin = (data: any) => post(URL.getCheckin, data); +export const receiveCycleRebateLoss = (data: any) => post(URL.receiveCycleRebateLoss, data); +export const checkinDay = (data: any) => post(URL.checkinDay, data); +export const getMonthCheckinAward = (data: any) => post(URL.getMonthCheckinAward, data); +export const helpTurntableTaskAward = (data: any) => post(URL.helpTurntableTaskAward, data); +export const getOneOfThree = (data: any) => post(URL.getOneOfThree, data); +export const getPayMethodList = (data: any) => post(URL.getPayMethodList, data); +export const oneOfThreeBuy = (data: any) => post(URL.oneOfThreeBuy, data); +export const receiveOneOfThree = (data: any) => post(URL.receiveOneOfThree, data); +export const receiveChildRebate = (data: any) => post(URL.receiveChildRebate, data); +export const getPopularizePhones = (data: any) => post(URL.getPopularizePhones, data); + +export const depositList = (data: any) => post(URL.depositList, data); +export const getPayClass = (data: any) => post(URL.getPayClass, data); +/** + * vip 日周月领奖 + * @param {number} awardType 领奖类型 0每日奖励 1每周奖励 2每月奖励 + * @returns + */ +export const getVipAwardCycle = async (data: any) => { + return await instance(URL.getVipAwardCycle, { + method: 'post', + headers: { + "Content-Type": "application/json" + }, + data: data, + }) +}; +// export const getVipAwardCycle = (data: any) => post(URL.getVipAwardCycle, data); + +export const getPddTask = (data: any) => post(URL.getPddTask, data); +export const userDeposit = (data: any) => post(URL.userDeposit, data); + +export const withdrawList = (data: any) => post(URL.withdrawList, data); +export const getTransMethodList = (data: any) => post(URL.getTransMethodList, data); + +export const withdraw = (data: any) => post(URL.withdraw, data); + +export const getCenterUrl = () => post(URL.getCenterUrl); +// 获取平台配置 +export const getPlatformConfig = () => post(URL.getPlatformConfig); +// 获取默认Notice +export const getNotice = async (data: any) => { + return await instance(URL.getNotice, { + method: 'post', + headers: { + "Content-Type": "application/json" + }, + data: data, + }) +}; +export const setNoticeRead = async (data: any) => { + return await instance(URL.setNoticeRead, { + method: 'post', + headers: { + "Content-Type": "application/json" + }, + data: data, + }) +}; +export const getMail = async (data: any) => { + return await instance(URL.getMail, { + method: 'post', + headers: { + "Content-Type": "application/json" + }, + data: data, + }) +}; +export const setMailRead = async (data: any) => { + return await instance(URL.setMailRead, { + method: 'POST', + headers: { + "Content-Type": "application/json" + }, + data: data, + }) +}; + +export const receiveMailAttachments = async (data: any) => { + return await instance(URL.receiveMailAttachments, { + method: 'POST', + headers: { + "Content-Type": "application/json" + }, + data: data, + }) +}; + +//获取分享链接 +export const getShareLink = () => post(URL.getShareLink); +// token 登录 +export const tokenLogin = () => post(URL.tokenLogin) +// 群组 +export const getCustomerGroup = () => post(URL.getCustomerGroup) + +// 埋点 +export const adPoint = (data: CustomObject) => post('https://007.czgame.xyz:2087/api/ad/upload', data) \ No newline at end of file diff --git a/src/https/modules/center.ts b/src/https/modules/center.ts new file mode 100644 index 0000000..f6b59b2 --- /dev/null +++ b/src/https/modules/center.ts @@ -0,0 +1,496 @@ +import { post, get } from "@/utils/request"; + +enum Route { + //获取消息url + getMsgServer = '/getMsgServer', + // 平台配置 + getPlatformConfig = '/getPlatformConfig', + // 支付方式 + getPayMethodList = '/getPayMethodList', + getPayClass = '/getPayClass', + // 获取充值金额配置 + depositList = '/getShop2List', + // 用户提交充值 + userDeposit = '/buyShop2', + // 获取充值记录 + getPayRecords = '/getPayRecords', + // 钻石兑换金币 + convert = '/diamondConvert', + // 金币流水 + getFlowRecord = '/getFlowRecordPage', + getAllGroup = '/allGroup', + // 超值礼包三选一 + getOneOfThree = '/getOneOfThree', + // 购买三选一礼包 + buyOneOfThree = '/buyOneOfThree', + // 超值礼包领取 + receiveOneOfThree = '/receiveOneOfThree', + // 获取可用提现方式 + getWithdrawMethod = '/getWithdrawMethod', + // 提现 + userWithdraw = '/withdraw', + // 提现记录 + getWithDrawRecord = '/getWithDrawRecordPage', + // 个人下注返利 + getTotalRebate = '/getTotalRebate', + // 领取个人下注返利 + receiveTotalRebate = '/receiveTotalRebate', + // 校准金币数量 + getCoinsNum = '/getCoinsNum', + // vip 日周月领奖 + getVipAwardCycle = '/receiveVipAward', + // 获取vip配置详情 + getVipAward = '/getVipAward', + // vip等级领奖 + getVipLvAward = '/receiveVipAwardLevel', + // 无限代理 + getChildRebate = '/getChildRebate', + // 无限代理 领取奖金 + receiveChildRebate = '/receiveChildRebate', + // 获取数据 + getChildRebateInfo = '/getChildRebateInfo', + getChildRebateRecordsDetail = "/getChildRebateRecordsDetailPage", + getChildRebateRecords = "/getChildRebateRecordsPage", + // 无限代理 返利列表 + getChildRebateDetail = '/getChildRebateDetailPage', + // 活动任务 + getCustomClassList = '/getCustomClassList', + // 活动任务 列表查询 + getTaskList = '/getTaskList', + // 获取道具 + updatePropsCache = '/updatePropsCache', + // 获取转盘数据 + getTurntable = '/getTurntable2', + // 获取转盘结果 + getTurntableResult = '/getTurntable2Result', + // 活动 领取提交 + getTaskAward = '/receiveTaskAward', + // 助力转盘任务领奖 + receiveTurntable = '/receiveTurntable2', + // 邮件 + getMail = '/getMail', + readMail = '/readMail', + receiveMailAttachments = '/receiveMailAttachments', + checkNewMail = '/checkNewMail', + // 银行账户管理 + getWithDrawAccount = '/getWithDrawAccount', + // 推广电话 + getPopularizePhones = '/getPopularizePhones', + // 转盘日志 + getTurntable2Task = '/getTurntable2Task', + // 游戏跳转路径 + getGameUrl = '/getGameUrl', + // 绑定上级 + acceptInvite = '/acceptInvite', + // 自己使用兑换码 + giftCode = '/useGiftCode', + // 周返现 + getCycleRebate = '/getCycleRebate', + // 周返现 领取 + receiveCycleRebateLoss = '/receiveCycleRebateLoss', + // 游戏日志 + getCoinsDetailLog = '/getCoinsDetailLogPage', + // 获取道具信息 + getPropsCache = '/updatePropsCache', + // 获取签到数据 + getCheckin = '/getCheckin', + + getEverydayRebate = '/getEverydayRebate', + + receiveEverydayRebateBet = '/receiveEverydayRebateBet', + // 拼单单获取活动数据 + getPddTask = '/getPddTask', + // 拼单单提升中奖几率 + addPddOdds = '/addPddOdds', + // 拼单单购买积分 + buyPddScore = '/buyPddScore', + // 拼单单中奖记录 + pddAwardRecords = '/getPddRecordsList', + // 获取签到数据 + getChecki = '/getCheckin', + // 签到同时领取周奖励 + checkinDay = '/checkinDay', + // 获取公告列表 + getNotice = '/getNotice', + // 读取公告 + readNotice = '/readNotice', + // 检查新公告 + checkNewNotice = '/checkNewNotice', +} + +class Api { + request = post; + notify = post; + /** + * 支付方式 + * @returns api + */ + getPayMethodList = () => { + return this.request(Route.getPayMethodList); + }; + /** + * 支付方式2 + * @returns api + */ + getPayClass = () => { + return this.request(Route.getPayClass); + }; + /** + * 充值商品列表 + * @returns api + */ + depositList = () => { + return this.request(Route.depositList); + }; + /** + * 用户充值动作 + * @param {String} _id 商品_id字符串 + * @param {Number} method 支付方式 + * @returns api + */ + userDeposit = (data: any) => { + return this.request(Route.userDeposit, data); + }; + /** + * 充值记录 + * @param {Number} pageIndex 页码 + * @param {Number} pageSize 每页记录数 + * @returns api + */ + getPayRecords = (data: any) => { + return this.request(Route.getPayRecords, data); + }; + /** + * 钻石兑换金币 + * @returns api + */ + convert = () => { + return this.request(Route.convert); + }; + /** + * 金币流水 + * @param {Number} pageIndex 页码 + * @param {Number} pageSize 每页记录数 + * @returns api + */ + getFlowRecord = (data: any) => { + return this.request(Route.getFlowRecord, data); + }; + getAllGroup = (data: any) => { + return this.request(Route.getAllGroup, data); + }; + /** + * 超值礼包三选一 + * @returns api + */ + getOneOfThree = () => { + return this.request(Route.getOneOfThree); + }; + /** + * 购买礼包三选一 + * @param {String} _id 商品_id + * @param {Number} method 支付方式 + * @param {*} data + * @returns api + */ + buyOneOfThree = (data: any) => { + return this.request(Route.buyOneOfThree, data); + }; + /**礼包领取 */ + receiveOneOfThree = () => { + return this.request(Route.receiveOneOfThree); + }; + /** + * 获取提现渠道 + * @returns api + */ + getWithdrawMethod = () => { + return this.request(Route.getWithdrawMethod); + }; + /** + * 用户提现 + * @param {Number} amount 提现金额 + * @param {String} method 提现方式 + * @param {String} account 提现账户 + * @param {String} holder 持有者 + * @returns api + */ + userWithdraw = (data: any) => { + return this.request(Route.userWithdraw, data); + }; + /** + * 提现日志 + * @param {Number} pageIndex 页码 + * @param {Number} pageSize 每页记录数 + * @returns + */ + getWithDrawRecord = (data: any) => { + return this.request(Route.getWithDrawRecord, data); + }; + /** + * 个人下注返利 + * @returns + */ + getTotalRebate = () => { + return this.request(Route.getTotalRebate); + }; + /** + * 领取个人下注返利 + * @returns + */ + receiveTotalRebate = () => { + return this.request(Route.receiveTotalRebate); + }; + /** + * 校准金币 + */ + getCoinsNum = () => { + return this.request(Route.getCoinsNum); + }; + /** + * vip 日周月领奖 + * @param {number} awardType 领奖类型 0每日奖励 1每周奖励 2每月奖励 + * @returns + */ + getVipAwardCycle = (awardType: any) => { + return this.request(Route.getVipAwardCycle, { awardType }); + }; + /** + * 获取vip配置详情 + * @returns + */ + getVipAward = () => { + return this.request(Route.getVipAward); + }; + /** + * vip等级领取 + * @param {String} _id vi配置_id字段 + * @returns + */ + getVipLvAward = (_id: any) => { + return this.request(Route.getVipLvAward, { _id }); + }; + /** + * 无限代理 + * @returns + */ + getChildRebate = () => { + return this.request(Route.getChildRebate); + }; + /** + * 无限代理 领取奖金 + * @returns + */ + receiveChildRebate = (data: any) => { + return this.request(Route.receiveChildRebate, data); + }; + getChildRebateInfo = (data: any) => { + return this.request(Route.getChildRebateInfo, data); + } + getChildRebateRecordsDetail = (data: any) => { + return this.request(Route.getChildRebateRecordsDetail, data); + } + getChildRebateRecords = (data: any) => { + return this.request(Route.getChildRebateRecords, data); + } + /** + * 无限代理 返利列表 + * @returns + */ + getChildRebateDetail = (data: any) => { + return this.request(Route.getChildRebateDetail, data); + }; + /** + * 活动任务 + * @returns + */ + getCustomClassList = () => { + return this.request(Route.getCustomClassList); + }; + /** + * 活动任务 列表查询 + * @returns + */ + getTaskList = (data: any) => { + return this.request(Route.getTaskList, data); + }; + /** + * 获取 道具 + * @returns + * @param {String} propId vi配置_id字段 + */ + updatePropsCache = (data: any) => { + return this.request(Route.updatePropsCache, data); + }; + /** + * 获取转盘数据 + * @param {Number} recordSize + * @returns + */ + getTurntable = (data: any) => { + return this.request(Route.getTurntable, data) + } + /** + *获取转盘结果 + * @returns + */ + getTurntableResult = () => { + return this.request(Route.getTurntableResult) + } + /** + *获取转盘结果 + * @returns + */ + getTaskAward = (data: any) => { + return this.request(Route.getTaskAward, data) + } + /** + * 转盘领奖 + * @returns + */ + receiveTurntable = (_id: any) => { + return this.request(Route.receiveTurntable, { _id }) + } + /** + * 邮件 + * @returns + */ + getMail = (data: any) => { + return this.request(Route.getMail, data) + } + readMail = (_id: any) => { + return this.request(Route.readMail, { _id }) + } + receiveMailAttachments = (_id: any) => { + return this.request(Route.receiveMailAttachments, { _id }) + } + checkNewMail = () => { + return this.request(Route.checkNewMail) + } + /** + * 银行账户管理 + * @returns + */ + getWithDrawAccount = () => { + return this.request(Route.getWithDrawAccount) + } + /** + * 推广电话 + * @returns + */ + getPopularizePhones = () => { + return this.request(Route.getPopularizePhones) + } + /** + * + * @param {*} data + * @returns + */ + getTurntable2Task = (data: any) => { + return this.request(Route.getTurntable2Task, data) + } + /** + * 获取游戏跳转路径 + * @returns + */ + getGameUrl = (data: any) => { + let isMobile + if (/(Mobile|iPhone|iPod|iOS|Android)/i.test(navigator.userAgent)) { + isMobile = true + } else { + isMobile = false + } + const p = { ...data, isMobile, } + return this.request(Route.getGameUrl, p) + } + + /** + * 通知绑定上级id + * @param {Number} inviteUid + * @returns + */ + acceptInvite = (inviteUid: any) => { + return this.notify(Route.acceptInvite, { inviteUid }) + } + + /** + * 兑换码 兑换 + * @param {code} code + * @returns + */ + giftCode = (code: any) => { + return this.request(Route.giftCode, { code }) + } + /** + * 周返现 获取 + */ + getCycleRebate = () => { + return this.request(Route.getCycleRebate) + } + + getEverydayRebate = () => { + return this.request(Route.getEverydayRebate) + } + + receiveEverydayRebateBet = () => { + return this.request(Route.receiveEverydayRebateBet) + } + + receiveCycleRebateLoss = () => { + return this.request(Route.receiveCycleRebateLoss) + } + /** + * 游戏金额流水 + * @param {Number} pageIndex 页码 + * @param {Number} pageSize 每页记录数 + * @returns api + */ + getCoinsDetailLog = (data:any) => { + return this.request(Route.getCoinsDetailLog, data); + }; + /** + * 游戏金额流水 + * @param {id} id 道具ID + * @returns api + */ + getPropsCache = (data:any) => { + return this.request(Route.getPropsCache, data); + }; + /** + * 拼单单获取活动数据 + * @returns api + */ + getPddTask = () => { + return this.request(Route.getPddTask); + }; + + addPddOdds = (data:any) => { + return this.request(Route.addPddOdds, data); + }; + + pddAwardRecords = (data:any) => { + return this.request(Route.pddAwardRecords,data); + }; + + buyPddScore = (data:any) => { + return this.request(Route.buyPddScore,data); + }; + getCheckin = (data:any) => { + return this.request(Route.getCheckin,data); + }; + checkinDay = (data:any) => { + return this.request(Route.checkinDay,data); + }; + getNotice = (data:any) => { + return this.request(Route.getNotice,data); + }; + readNotice = (data:any) => { + return this.request(Route.readNotice,data); + }; + checkNewNotice = (data:any) => { + return this.request(Route.checkNewNotice,data); + }; +} + +export default new Api(); + diff --git a/src/https/modules/configuration.ts b/src/https/modules/configuration.ts new file mode 100644 index 0000000..83cb6c7 --- /dev/null +++ b/src/https/modules/configuration.ts @@ -0,0 +1,11 @@ + +import { post, get } from "@/utils/request"; + +enum URL { + // 获取轮播 + getCarousel = '/getRotationChartList', + +} + + +export const getCarousel = (data: any) => post(URL.getCarousel, data); \ No newline at end of file diff --git a/src/https/modules/game.ts b/src/https/modules/game.ts new file mode 100644 index 0000000..2ba0501 --- /dev/null +++ b/src/https/modules/game.ts @@ -0,0 +1,62 @@ +import { post, get ,instance} from "@/utils/request"; + +enum URL { + // 游戏列表 + gameList = '/getGameInfoList', + //获取游戏分类列表 + getGameClassList = '/getGameClassList', + // 单个游戏url + getGameUrl = '/getGameUrl', + // message + getMsgServer = '/getMsgServer', + // 游戏平台列表 + getGameProviderList = '/getGameProviderList', + + getGameTypeList = '/getGameTypeList', + + getAds = '/getAdsList', + getTaskList='/getTaskList', + getCustomClassList='getCustomClassList', + getTaskAward='receiveTaskAward', + + collectGame='favorGame', + uncollectGame='cancelFavorGame', + getHelpTurntableResult='getTurntable2Result' +} + + +export const gameList = (data: any) => post(URL.gameList, data); + +export const getGameClassList = (data: any) => post(URL.getGameClassList, data); + +export const getGameUrl = (data: any) => post(URL.getGameUrl, data); + +export const getMsgServer = () => post(URL.getMsgServer); + +export const getGameProviderList = (data: any) => post(URL.getGameProviderList, data); +export const getHelpTurntableResult = (data: any) => post(URL.getHelpTurntableResult, data); + +export const getGameTypeList = (data: any) => post(URL.getGameTypeList, data); + +export const getAds = () => post(URL.getAds); +export const getTaskList = async (data: any) => { + return await instance(URL.getTaskList, { + method: 'post', + headers: { + "Content-Type": "application/json" + }, + data: data, + }) +}; +export const getTaskAward = async (data: any) => { + return await instance(URL.getTaskAward, { + method: 'post', + headers: { + "Content-Type": "application/json" + }, + data: data, + }) +}; +export const getCustomClassList = () => post(URL.getCustomClassList); +export const uncollectGame = (data: any) => post(URL.uncollectGame, data); +export const collectGame = (data: any) => post(URL.collectGame, data); diff --git a/src/https/modules/user.ts b/src/https/modules/user.ts new file mode 100644 index 0000000..98e4d9d --- /dev/null +++ b/src/https/modules/user.ts @@ -0,0 +1,84 @@ +import { post, get,instance } from "@/utils/request"; + +enum URL { + // 手机号登录 + login = "/mobileLogin", + // 手机号注册 + register = '/mobileReg', + // 用户详情 + userInfo = "/getMyInfo", + // 重置密码 + restPassword = '/mobileRestPwd', + // 获取验证码 + mobileCode = '/getMobileVCode', + // google登录 + googleLogin = '/googleLogin', + // 绑定手机 + bindMobile = '/bindMobile', + //获取头像列表 + getHeadList = 'getHeadList', + //修改头像 + modifyHead = 'modifyHead', + // 修改名字 + modifyNickName = 'modifyNickname', + //验证手机 + verifyMobile = 'verifyMobile', + // 修改密码 + pwdRestPwd = 'pwdRestPwd', + // 收藏 + favorGame = 'favorGame', + // 取消收藏 + cancelFavorGame = 'cancelFavorGame', + + getVipLvInfo='getVipAward', + checkNewNotice='checkNewNotice', + checkNewMail='checkNewMail', + getCycleRebate='getCycleRebate', + useGiftCode = '/useGiftCode', +} + +export const useGiftCode = async (data: any) => { + return await instance(URL.useGiftCode, { + method: 'post', + headers: { + "Content-Type": "application/json" + }, + data: data, + }) +}; + +export const getCycleRebate = (data: any) => post(URL.getCycleRebate, data); +export const login = (data: any) => post(URL.login, data); + +export const register = (data: any) => post(URL.register, data); + +export const userInfo = () => post(URL.userInfo); + +export const restPassword = (data: any) => post(URL.restPassword, data); + +export const mobileCode = (data: any) => post(URL.mobileCode, data); + +export const pwdRestPwd = (data: any) => post(URL.pwdRestPwd, data); + +export const googleLogin = (data: any) => post(URL.googleLogin, data); + +export const bindMobile = (data: any) => post(URL.bindMobile, data); + +export const modifyHead = (data: any) => post(URL.modifyHead, data); + +export const verifyMobile = (data: any) => post(URL.verifyMobile, data); + +export const modifyNickName = (data: any) => post(URL.modifyNickName, data); + +export const favorGame = (data: any) => post(URL.favorGame, data); + +export const cancelFavorGame = (data: any) => post(URL.cancelFavorGame, data); + +export const getHeadList = () => post(URL.getHeadList); + +export const getVipLvInfo = (data: any) => post(URL.getVipLvInfo, data); +export const checkNewNotice = (data: any) => post(URL.checkNewNotice, data); +export const checkNewMail = (data: any) => post(URL.checkNewMail, data); + + + diff --git a/src/main.ts b/src/main.ts new file mode 100644 index 0000000..7565c82 --- /dev/null +++ b/src/main.ts @@ -0,0 +1,84 @@ +import { createApp } from "vue"; + +import "./style.css"; +import router from "./router"; +import { setupStore } from "@/stores"; +import App from "./App.vue"; +import Vant from "vant"; +import "vant/lib/index.css"; +import "amfe-flexible"; +import VueCookies from "vue-cookies"; +// import storage, { actions } from "./utils/storage"; +import Controller from "./socket/Controller.js"; +import pixel from "./common/pixel.js"; +import gtag from "./common/gtag.js"; +import kwai from "./common/kwai.js"; +import serviceWorker from "./common/service-worker.js"; +import LazyPlugin from "./utils/lazyPlugin"; +// import googleLogin from "@/common/google-login"; +import VConsole from "vconsole"; +import { Locale } from "vant"; +import enUS from "vant/es/locale/lang/en-US"; +Locale.use("en-US", enUS); + + + +if (!JSON.parse(import.meta.env.VITE_OPEN_CONSOLE)) { + new VConsole(); +} + +pixel(); +gtag(); +kwai(); +serviceWorker(); + +// const token = storage.getStorage(actions.USER_TOEKN); + +const app: any = createApp(App); + +app.provide("$cookies", VueCookies); +app.provide("socket", new Controller()); +app.provide("app", app); +app.use(LazyPlugin); +app.use(router); +app.use(Vant); +app.use(setupStore); +// googleLogin(app); +/** + * 如果本地缓存token 调用token登录 + * 如果token 有效重新🔗socket + */ +// if (token) { +// console.log('==================登录过后===================') +// debugger +// https.tokenLogin().then((res: ResultData) => { +// if (res.code == 0) { +// storage.setStorage(actions.USER_TOEKN, res.data.token) +// new Controller().connect().then((status: boolean) => { +// if (!status) { +// storage.clearStorage(); +// // googleLogin(app); +// app.mount("#app"); +// } +// app.mount("#app"); +// }); +// } else { +// // googleLogin(app); +// storage.clearStorage(); +// app.mount("#app"); +// } +// }) +// } else { +// app.mount("#app"); +// } + +// https.tokenLogin().then((res: ResultData) => { +// console.log(res, '?reesssss') +// if (res.code == 0) { +// new Controller().connect() +// } +// }) + +app.mount("#app"); + +export { app }; diff --git a/src/router/index.ts b/src/router/index.ts new file mode 100644 index 0000000..6b57fe9 --- /dev/null +++ b/src/router/index.ts @@ -0,0 +1,410 @@ +import { createRouter, createWebHistory } from "vue-router"; +import storage, { actions } from "@/utils/storage"; +import { toast } from "@/utils/toast"; +import { getLocationParams } from "@/utils"; + +const p = getLocationParams(); + +const routes: Array = [ + { + path: "/:pathMatch(.*)", + name: "404", + redirect: "/", + }, + { + path: "/", + component: () => import("../views/home/index.vue"), + meta: { + needLogin: false, + keepAlive: true, + index: 1, + }, + }, + { + path: "/deposit", + component: () => import("../views/deposit/index.vue"), + meta: { + index: 4, + }, + }, + { + path: "/perfil", + name: "perfil", + component: () => import("../views/perfil/index.vue"), + meta: { + title: "Perfil", + keepAlive: true, + index: 2, + }, + }, + { + //促销活动 + path: "/activity", + name: "activity", + component: () => import("../views/activity/index.vue"), + meta: { + needLogin: false, + index: 5, + }, + }, + { + //搜索页面 + path: "/search", + name: "search", + component: () => import("../views/search/index.vue"), + meta: { + needLogin: false, + keepAlive: true, + index: 6, + }, + }, + { + //游戏详情 + path: "/gameDetails", + name: "gameDetails", + component: () => import("../views/game-details/index.vue"), + meta: { + needLogin: false, + index: 7, + }, + }, + { + //游戏任务活动 + path: "/gameTask", + name: "gameTask", + component: () => import("../views/gameTask/index.vue"), + meta: { + index: 8, + }, + }, + { + path: "/banco", + name: "banco", + component: () => import("../views/perfil/page/banco.vue"), + meta: { + index: 9, + }, + }, + { + path: "/betting", + name: "betting", + component: () => import("../views/perfil/page/betting.vue"), + meta: { + index: 10, + }, + }, + { + path: "/cashback", + name: "cashback", + component: () => import("../views/perfil/page/cashback.vue"), + meta: { + index: 11, + }, + }, + + { + path: "/withdrawal", + component: () => import("../views/withdrawal/index.vue"), + meta: { + title: "Withdrawal", + index: 12, + }, + }, + { + path: "/wallet", + component: () => import("../views/wallet/index.vue"), + meta: { + title: "Wallet", + index: 13, + }, + }, + { + path: "/login", + name: "login", + component: () => import("../views/login/index.vue"), + meta: { + needLogin: false, + index: 14, + }, + }, + { + path: "/register", + name: "register", + component: () => import("../views/register/index.vue"), + meta: { + needLogin: false, + index: 15, + }, + }, + { + path: "/bind-phone", + name: "bind-phone", + component: () => import("../views/bind-phone/index.vue"), + meta: { + needLogin: false, + index: 16, + }, + }, + { + path: "/level", + name: "level", + component: () => import("../views/perfil/page/level.vue"), + meta: { + index: 17, + }, + }, + { + path: "/introduceVip", + name: "introduceVip", + component: () => import("../views/perfil/page/introduceVip.vue"), + meta: { + index: 18, + }, + }, + { + path: "/changePassword", + name: "changePassword", + component: () => import("../views/changePassword/index.vue"), + meta: { + needLogin: false, + index: 19, + }, + }, + { + path: "/password", + name: "password", + component: () => import("../views/password/index.vue"), + meta: { + needLogin: false, + index: 20, + }, + }, + { + path: "/successful", + name: "successful", + component: () => import("../views/successful/index.vue"), + meta: { + index: 21, + }, + }, + { + //Vip 介绍 + path: "/levelReceive", + name: "levelReceive", + component: () => import("../views/perfil/page/levelReceive.vue"), + meta: { + index: 22, + }, + }, + { + //转盘 + path: "/turntable", + name: "turntable", + component: () => import("../views/turntable/index.vue"), + meta: { + index: 23, + }, + }, + { + //E-mail + path: "/email", + name: "email", + component: () => import("../views/email/index.vue"), + meta: { + index: 24, + }, + }, + { + path: "/other", + name: "other", + component: () => import("../views/other/index.vue"), + meta: { + needLogin: false, + index: 25, + }, + }, + { + path: "/about-us", + name: "about-us", + component: () => import("../views/about-us/index.vue"), + meta: { + needLogin: false, + index: 26, + }, + }, + { + path: "/help", + name: "help", + component: () => import("../views/help/index.vue"), + meta: { + needLogin: false, + index: 27, + }, + }, + { + path: "/download", + name: "download", + component: () => import("../views/download/index.vue"), + meta: { + needLogin: false, + index: 28, + }, + }, + { + path: "/allGame", + name: "allGame", + component: () => import("../views/allGame/index.vue"), + meta: { + needLogin: false, + index: 29, + }, + }, + { + path: "/setting", + name: "setting", + component: () => import("../views/setting/index.vue"), + meta: { + needLogin: true, + index: 30, + }, + }, + { + path: "/apostas", + name: "apostas", + component: () => import("../views/perfil/page/apostas.vue"), + meta: { + needLogin: true, + index: 31, + }, + }, + { + path: "/modifyPassWord", + name: "modifyPassWord", + component: () => import("../views/modifyPassWord/index.vue"), + meta: { + needLogin: true, + index: 32, + }, + }, + { + //无限代理 + path: "/infiniteProxy", + name: "infiniteProxy", + component: () => import("../views/infiniteProxy/index.vue"), + meta: { + needLogin: true, + keepAlive: false, + index: 33, + }, + }, + { + //收藏 + path: "/collect", + name: "collect", + component: () => import("../views/collect/index.vue"), + meta: { + needLogin: true, + keepAlive: false, + index: 34, + }, + }, + { + // 拼单单 + path: "/loteria", + name: "loteria", + component: () => import("../views/loteria/index.vue"), + meta: { + needLogin: true, + keepAlive: false, + index: 35, + }, + }, + { + // 签到 + path: "/signIn", + name: "signIn", + component: () => import("../views/signIn/index.vue"), + meta: { + needLogin: true, + keepAlive: false, + index: 36, + }, + }, + { + // 公告详情 + path: "/details", + name: "details", + component: () => import("../views/details/index.vue"), + meta: { + needLogin: false, + keepAlive: false, + index: 37, + }, + }, +]; + +const router = createRouter({ + history: createWebHistory(), + routes, + scrollBehavior(to, from, savedPosition) { + return { top: 0 }; + }, +}); + +router.beforeEach((to: any, from: any, next: any) => { + const isLogin: boolean = storage.getStorage(actions.USER_TOEKN) + ? true + : false; + + // 设置网页标题 + if (to.meta.title) { + document.title = to.meta.title; + } + + if (isLogin) { + if (to.path == "/login" || to.path == "/register") { + if (Object.keys(to.query).length) { + next({ path: from.path, query: to.query }); + return; + } + next(from.path); + return; + } + } + + if (Object.keys(to.query).length) { + next(); + return; + } + + if (Object.keys(from.query).length) { + let toQuery = JSON.parse(JSON.stringify(to.query)); + toQuery = { ...from.query }; + if (to.meta.needLogin == false) { + next({ path: to.path, query: toQuery }); + } else if (!isLogin) { + toast("Por favor, entre!"); + next({ path: "/login", query: toQuery }); + } else { + next({ path: to.path, query: toQuery }); + } + } else { + if (to.meta.needLogin == false) { + next(); + } else if (!isLogin) { + toast("Por favor, entre!"); + next("/login"); + } else { + next(); + } + } +}); + +router.afterEach(() => { + if (p.fbPixelId) { + window.fbq("track", "PageView"); + window.fbq("track", "ViewContent"); + } +}); + +export default router; diff --git a/src/socket/Controller.js b/src/socket/Controller.js new file mode 100644 index 0000000..7d00ad0 --- /dev/null +++ b/src/socket/Controller.js @@ -0,0 +1,237 @@ + + + +import https from '@/https'; +import server from './actions/server.js'; +import Pomelo from './pomelo/Pomelo.js'; +import ToolsBase from './tools/ToolsBase.js'; +import storage, { actions } from '../utils/storage'; +import { useUserStoreWithOut } from '@/stores/modules/user'; +import { useGameStoreWithOut } from '@/stores/modules/game'; +import Notify from './notify.js'; +import { closeLoading, toast } from "@/utils/toast"; +// import router from '@/router'; +// import emitter from "@/utils/eventBus"; + +const pomeloCenter = Pomelo(); +const pomeloMsg = Pomelo(); + +export default class extends ToolsBase { + + constructor() { + super() + this.userInfo = {}; + this.token = ''; + this.msg = {}; + /** + * 发送请求 + * @param {String} url 路由 + * @param {any} params 参数 + */ + this.request = (url, params = {}) => { + return new Promise((reslove, reject) => { + pomeloCenter.request(url, params, (res) => { + reslove(res) + }) + }) + } + /** + * 注册事件 + * @param {String} event 事件名称 + */ + this.on = (url) => { + return new Promise((reslove, reject) => { + pomeloMsg.on(url, res => { + reslove(res) + }) + }) + } + /** + * 通知请求 + * @param {String} url 路由 + * @param {any} params 参数 + */ + this.notify = (url, params = {}) => { + return new Promise((reslove, reject) => { + pomeloCenter.notify(url, params, (res) => { + reslove(res) + }) + }) + } + + /** + * 下线通知 + */ + // pomeloCenter.on(this.cfg.global.EVENT_NAME.ON_KICK, res => { + // console.log(res, '-----下线通知-----1'); + // storage.clearStorage(); + // storage.removeSessionStorage(actions.HOME_POSITION); + // useUserStoreWithOut().clearUser(); + // useGameStoreWithOut().clearGameUrl(); + // emitter.emit("closeGame"); + // router.replace("/login"); + // // this.connectMsg() + // }) + } + + /** + * 连接前 + * @returns + */ + beforeConnect() { + this.userInfo = JSON.parse(storage.getStorage(actions.USER_INFO)) || {} + this.token = storage.getStorage(actions.USER_TOEKN) || '' + this.msg = { + // 建立连接后调用entry方法前验证,并且成功后session绑定uid + uid: this.userInfo.uid, + token: this.token, + lang: 'pt' + } + // this.connectMsg().then(() => { + // new Notify(pomeloMsg) + // }) + // return new Promise((reslove, reject) => { + // try { + // this.connectCenter().then((status) => { + // if (!status) { + // reslove(false) + // } + // reslove(true) + // }) + // } catch (error) { + // console.log(error, '??????socket 连接失败') + // } + + // }) + } + + + /** + * 已登录准备链接 + */ + connect() { + return new Promise((reslove, reject) => { + Promise.all([this.connectMsg()]).then((res) => { + if (res[0] && res[1]) { + reslove(true) + } + reslove(false) + }) + }) + } + + /** + * 连接中心服务器Url + */ + connectCenter() { + this.beforeConnect() + return new Promise((reslove, reject) => { + https.getCenterUrl().then(res => { + if (res.code !== this.cfg.code.OK) { + // router.replace("/login"); + reslove(false) + return + } + + const params = this.setParams(res.data.url) + pomeloCenter.createConnect(server.centerRoute, params, this.msg, (ress) => { + // console.log('-----center连接成功-----', ress) + // 如果上次的连接只是踢下线,不再重新建立连接,直接登录 + if (ress.code === this.cfg.code.C1044.CODE) { + this.request(server.centerRoute, this.msg).then(() => { + reslove(true) + }); + return; + }; + + // if (ress.code == this.cfg.code.C15.CODE || ress.code == this.cfg.code.C14.CODE) { + // closeLoading() + // toast(ress.txt) + // storage.clearStorage() + // useUserStoreWithOut().clearUser() + // this.disconnect() + // reslove(false) + // return + // } + + if (ress.code !== this.cfg.code.OK) { + closeLoading() + toast(ress.txt) + storage.clearStorage() + storage.removeSessionStorage(actions.HOME_POSITION); + useUserStoreWithOut().clearUser() + useGameStoreWithOut().clearGameUrl(); + this.disconnect() + reslove(false) + return + }; + reslove(true) + }) + }) + }) + } + + /** + * 连接消息服务器url + */ + connectMsg() { + this.beforeConnect() + return new Promise((reslove, reject) => { + console.log(https); + https.getMsgServer().then((res) => { + if (res.code !== this.cfg.code.OK) { + // router.replace("/login"); + reslove(false) + return + } + const params = this.setParams(res.data.url, 'Msg', 20) + pomeloMsg.createConnect(server.messageRoute, params, this.msg, ress => { + if (ress.code !== this.cfg.code.OK) { + // 有可能Center服务器断线了,3秒后重试 + setTimeout(() => { + this.connectMsg(); + }, 3000); + return; + }; + // !JSON.parse(import.meta.env.VITE_OPEN_CONSOLE) ? toast('message connect') : null + new Notify(pomeloMsg) + reslove(true) + }) + }) + }) + + } + + disconnect() { + pomeloCenter.disconnect('discount center'); + pomeloMsg.disconnect('discount msg'); + } + + disconnectMsg() { + pomeloMsg.disconnect('discount msg'); + } + + /** + * 设置连接参数 + * @param {String} url 获取服务器url + * @param {String} serverName 名称 Center Msg + * @param {Number} maxReconnectAttempts 最大重连次数 + */ + setParams(url, serverName = 'Center', maxReconnectAttempts = 5) { + return { + url, + reconnect: true, + maxReconnectAttempts, + serverName: serverName, + serverTime: this.serverTime, + // 建立连接之前验证 + uid: this.userInfo.uid ? this.userInfo.uid : undefined, + token: this.token ? this.token : undefined, + // 消息加解密方法 + enData: this.enData.bind(this), + deData: this.deData.bind(this), + cert: JSON.parse(import.meta.env.VITE_SOCKET_CERT) + } + } +} + diff --git a/src/socket/actions/route.js b/src/socket/actions/route.js new file mode 100644 index 0000000..0f2602d --- /dev/null +++ b/src/socket/actions/route.js @@ -0,0 +1,110 @@ +export default { + //获取消息url + getMsgServerUrl: 'center.centerHandler.getMsgServerUrl', + // 平台配置 + getPlatformConfig: 'center.centerHandler.getPlatformConfig', + // 支付方式 + getPayMethodList: 'center.centerHandler.getPayMethodList', + getPayClass: 'center.centerHandler.getPayClass', + // 获取充值金额配置 + depositList: 'center.expandHandler.getShop2', + // 用户提交充值 + userDeposit: 'center.expandHandler.shop2Buy', + // 获取充值记录 + getPayRecords: 'center.expandHandler.getPayRecords', + // 钻石兑换金币 + convert: 'center.expandHandler.convert', + // 金币流水 + getFlowRecord: 'center.expandHandler.getFlowRecord', + // 超值礼包三选一 + getOneOfThree: 'center.expandHandler.getOneOfThree', + // 超值礼包购买 + oneOfThreeBuy: 'center.expandHandler.oneOfThreeBuy', + // 超值礼包领取 + oneOfThreeReceive: 'center.expandHandler.oneOfThreeReceive', + // 获取可用提现方式 + getTransMethodList: 'center.centerHandler.getTransMethodList', + // 提现 + userWithdraw: 'center.expandHandler.withdraw', + // 提现记录 + getWithDrawRecord: 'center.expandHandler.getWithDrawRecord', + // 个人下注返利 + getTotalRebate: 'center.expandHandler.getTotalRebate', + // 领取个人下注返利 + receiveTotalRebate: 'center.expandHandler.receiveTotalRebate', + // 校准金币数量 + getCoinsNum: 'center.centerHandler.getCoinsNum', + // vip 日周月领奖 + getVipAwardCycle: 'center.expandHandler.getVipAwardCycle', + // 获取vip配置详情 + getVipLvInfo: 'center.expandHandler.getVipLvInfo', + // vip等级领奖 + getVipLvAward: 'center.expandHandler.getVipLvAward', + // 无限代理 + getChildRebate: 'center.expandHandler.getChildRebate', + // 无限代理 领取奖金 + receiveChildRebate: 'center.expandHandler.receiveChildRebate', + // 获取数据 + getChildRebateInfo: 'center.expandHandler.getChildRebateInfo', + getChildRebateRecordsDetail: "center.expandHandler.getChildRebateRecordsDetail", + getChildRebateRecords: "center.expandHandler.getChildRebateRecords", + // 无限代理 返利列表 + getChildRebateDetail: 'center.expandHandler.getChildRebateDetail', + // 活动任务 + getCustomClassList: 'center.expandHandler.getCustomClassList', + // 活动任务 列表查询 + getTaskList: 'center.expandHandler.getTaskList', + // 获取道具 + updatePropsCache: 'center.centerHandler.updatePropsCache', + // 获取转盘数据 + getHelpTurntable: 'center.expandHandler.getHelpTurntable2', + // 获取转盘结果 + getHelpTurntableResult: 'center.expandHandler.getHelpTurntable2Result', + // 活动 领取提交 + getTaskAward: 'center.expandHandler.getTaskAward', + // 助力转盘任务领奖 + helpTurntableTaskAward: 'center.expandHandler.helpTurntable2TaskAward', + // 邮件 + getMail: 'center.centerHandler.getMail', + setMailRead: 'center.centerHandler.setMailRead', + getMailAttachments: 'center.centerHandler.getMailAttachments', + checkNewMail: 'center.centerHandler.checkNewMail', + // 银行账户管理 + getWithDrawAccount: 'center.expandHandler.getWithDrawAccount', + // 推广电话 + getPopularizePhones: 'center.centerHandler.getPopularizePhones', + // 转盘日志 + getHelpTurntable2Log: 'center.expandHandler.getHelpTurntable2Log', + // 游戏跳转路径 + getGameUrl: 'center.centerHandler.getGameUrl', + // 绑定上级 + acceptInvite: 'center.centerHandler.acceptInvite', + // 兑换码 兑换 + giftCode: 'center.expandHandler.giftCode', + // 周返现 + getCycleRebate: 'center.expandHandler.getCycleRebate', + // 周返现 领取 + receiveCycleRebateLoss: 'center.expandHandler.receiveCycleRebateLoss', + // 游戏日志 + getCoinsDetailLog: 'center.centerHandler.getCoinsDetailLog', + // 获取道具信息 + getPropsCache: 'center.centerHandler.updatePropsCache', + // 拼单单获取活动数据 + getPddTask: 'center.expandHandler.getPddTask', + // 拼单单提升中奖几率 + pddAddProbability: 'center.expandHandler.pddAddProbability', + // 拼单单购买积分 + pddPointsBuy: 'center.expandHandler.pddPointsBuy', + // 拼单单中奖记录 + pddAwardRecords: 'center.expandHandler.pddAwardRecords', + // 获取签到数据 + getCheckin: 'center.expandHandler.getCheckin', + // 签到同时领取周奖励 + checkinDay: 'center.expandHandler.checkinDay', + // 获取公告列表 + getNotice: 'center.centerHandler.getNotice', + // 公告设为已读 + setNoticeRead: 'center.centerHandler.setNoticeRead', + // 检查新公告 + checkNewNotice: 'center.centerHandler.checkNewNotice', +} \ No newline at end of file diff --git a/src/socket/actions/server.js b/src/socket/actions/server.js new file mode 100644 index 0000000..a49719b --- /dev/null +++ b/src/socket/actions/server.js @@ -0,0 +1,6 @@ +export default { + //中心服务器 + centerRoute: 'center.entryHandler.entry', + //消息 + messageRoute: 'connector.entryHandler.entry', +} \ No newline at end of file diff --git a/src/socket/config/Code.js b/src/socket/config/Code.js new file mode 100644 index 0000000..715ff58 --- /dev/null +++ b/src/socket/config/Code.js @@ -0,0 +1,1908 @@ +/** 统一返回代码定义 */ + +export default { + + /** 正常结果 */ + OK: 0, + + /** 正常带警告的结果 */ + WARN: 1, + + /** 自定义的错误 */ + FAIL: -1, + + //////////////////////////////////////////////////////////////////////////////////////////////// + //#region 具体错误 + + /** 服务端代码有错误,需要在服务端控制台或日志查看错误信息 */ + C4: { CODE: 4 }, + + /** 参数错误 */ + C5: { CODE: 5 }, + + /** 获取服务器state.txt状态失败 */ + C10: { CODE: 10 }, + + /** 获取Center服务器Url时,返回无数据 */ + C11: { CODE: 11 }, + + /** 获取Game服务器Url时,返回无数据 */ + C12: { CODE: 12 }, + + /** 获取Msg服务器Url时,返回无数据 */ + C13: { CODE: 13 }, + + /** 当前登录的Center和在Redis中的Center信息不一致 */ + C14: { CODE: 14 }, + + /** 当前账号在另个设备登录时间未超过指定时间 */ + C15: { CODE: 15 }, + + /** 没有网络连接 */ + C18: { CODE: 18 }, + + /** 后台关闭了某个功能 */ + C19: { CODE: 19 }, + + /** redis加锁失败 */ + C21: { CODE: 21 }, + + /** redis重新加锁失败 */ + C22: { CODE: 22 }, + + /** redis检查是否没锁时,有锁 */ + C23: { CODE: 23 }, + + /** 访问Center服务器Filter时,参数错误 */ + C24: { CODE: 24 }, + + /** 访问Center服务器Filter时,频繁请求 */ + C25: { CODE: 25 }, + + /** 访问Center服务器Filter时,同一个方法没有返回,又再次请求 */ + C26: { CODE: 26 }, + + /** 访问Center服务器Filter时,金币锁失败 */ + C27: { CODE: 27 }, + + /** 访问Game服务器Filter时,参数错误 */ + C28: { CODE: 28 }, + + /** 访问Game服务器Filter时,频繁请求 */ + C29: { CODE: 29 }, + + /** 访问Center服务器Filter时,同一个方法没有返回,又再次请求 */ + C30: { CODE: 30 }, + + /** 访问Msg Connector服务器Filter时,参数错误 */ + C31: { CODE: 31 }, + + /** 访问Msg Notify服务器Filter时,参数错误 */ + C32: { CODE: 32 }, + + /** 访问Msg Chat服务器Filter时,参数错误 */ + C33: { CODE: 33 }, + + /** 写本地文本文件错误 */ + C36: { CODE: 36 }, + + /** 追加写本地文本文件错误 */ + C37: { CODE: 37 }, + + /** 写本地base64文件错误 */ + C38: { CODE: 38 }, + + /** 将文本内容存为文件时,创建目录错误 */ + C39: { CODE: 39 }, + + /** 将base64数据存为文件,创建目录错误 */ + C40: { CODE: 40 }, + + /** 浏览器session失效 */ + C41: { CODE: 41 }, + + /** 获取游戏列表失败 */ + C47: { CODE: 47 }, + + /** 获取游戏版本失败 */ + C48: { CODE: 48 }, + + /** 验证token失败(没有获取到token或token不匹配) */ + C107: { CODE: 107 }, + + /** 外部进入游戏时,url失效 */ + C108: { CODE: 108 }, + + /** 代理商后台设置了该用户禁止参与游戏 */ + C116: { CODE: 116 }, + + /** 通过URL获取用户信息时,服务器维护,白名单开启,但用户不在白名单中 */ + C123: { CODE: 123 }, + + /** 通过URL获取用户信息时,服务器维护,白名单关闭 */ + C124: { CODE: 124 }, + + /** 设置用户信息时,db返回账号冻结 */ + C127: { CODE: 127 }, + + /** 邮箱登录,设置用户信息时,db返回账号冻结 */ + C128: { CODE: 128 }, + + /** 手机登录时,账号不存在或密码错误 */ + C143: { CODE: 143 }, + + /** 邮箱登录时,账号不存在或密码错误 */ + C144: { CODE: 144 }, + + /** 手机重置密码时,当前手机未注册 */ + C145: { CODE: 145 }, + + /** 手机注册时,当前手机号已注册 */ + C146: { CODE: 146 }, + + /** 邮箱注册时,当前邮箱已注册 */ + C147: { CODE: 147 }, + + /** 邮箱注册时,验证码发送失败 */ + C148: { CODE: 148 }, + + /** 邮箱重置密码时,当前邮箱未注册 */ + C149: { CODE: 149 }, + + /** 邮箱重置密码时,验证码发送失败 */ + C150: { CODE: 150 }, + + /** 绑定手机时,手机被占用 */ + C187: { CODE: 187 }, + + /** 正在游戏中,无法进行减少金币的操作 */ + C190: { CODE: 190 }, + + /** 获取已绑定手机的验证码,用户没绑定手机 */ + C221: { CODE: 221 }, + + /** 通过验证码验证已绑定的手机,用户没绑定手机 */ + C223: { CODE: 223 }, + + /** 获取绑定新手机的验证码,传入的手机号不符合规范 */ + C225: { CODE: 225 }, + + /** 获取绑定新手机的验证码,手机被占用 */ + C226: { CODE: 226 }, + + /** 获取手机登录的验证码,传入的手机号不符合规范 */ + C228: { CODE: 228 }, + + /** 获取邮箱登录的验证码,传入的邮箱账号不符合规范 */ + C229: { CODE: 229 }, + + /** 获取邮件发件用户昵称和uid时,db返回无数据 */ + C413: { CODE: 413 }, + + /** 发送邮件时,收件人不存在 */ + C421: { CODE: 421 }, + + /** 银行操作时,未登录 */ + C607: { CODE: 607 }, + + /** 赠送金币时,无权限 */ + C614: { CODE: 614 }, + + /** 校验银行密码时,密码不正确 */ + C618: { CODE: 618 }, + + /** 设置银行密码时,没绑定手机 */ + C619: { CODE: 619 }, + + /** 赠送金币时,有一方未找到用户 */ + C620: { CODE: 620 }, + + /** 赠送金币时,双方都没有代理商 */ + C621: { CODE: 621 }, + + /** 赠送金币时,发送方没绑定手机 */ + C622: { CODE: 622 }, + + /** 赠送金币时,低于最低数量 */ + C623: { CODE: 623 }, + + /** 赠送金币时,不符合平台规则 */ + C624: { CODE: 624 }, + + /** 赠送金币时,在开启自动加入工会的情况下,对方没绑定手机 */ + C625: { CODE: 625 }, + + /** 加入工会时,获取工会_id,db返回无数据 */ + C703: { CODE: 703 }, + + /** 加入工会时,未绑定手机,或已加入其它工会 */ + C705: { CODE: 705 }, + + /** 加入工会时,自己的资产过多 */ + C707: { CODE: 707 }, + + /** 退出工会时,自己的资产过多 */ + C708: { CODE: 708 }, + + /** 获取工会信息时,db返回无数据 */ + C711: { CODE: 711 }, + + /** 获取工会信息时,获取成员,db返回无数据 */ + C713: { CODE: 713 }, + + /** 发放工会福利时,不符合条件 */ + C714: { CODE: 714 }, + + /** 领救济时,携带金币超限 */ + C721: { CODE: 721 }, + + /** 领救济时,总财富超限 */ + C722: { CODE: 722 }, + + /** 领救济时,当日领取次数超限 */ + C723: { CODE: 723 }, + + /** 领救济时,时间间隔不足 */ + C724: { CODE: 724 }, + + /** 领救济时,用户没绑定手机 */ + C725: { CODE: 725 }, + + /** 获取指定用户的所属工会id和名称时,查找用户,db返回无数据 */ + C732: { CODE: 732 }, + + /** 获取指定用户的所属工会id和名称时,查找用户,用户无工会 */ + C733: { CODE: 733 }, + + /** 获取指定用户的所属工会id和名称时,查找工会,用户无工会 */ + C735: { CODE: 735 }, + + /** 登录消息服务器时,已登录过 */ + C905: { CODE: 905 }, + + /** 根据房号获取房间信息时,redis返回无数据 */ + C1008: { CODE: 1008 }, + + /** 创建房间时,客户端传入游戏ID错误 */ + C1009: { CODE: 1009 }, + + /** 获取场次配置时,cache返回无数据(指定游戏) */ + C1017: { CODE: 1017 }, + + /** 获取自建房配置时,cache返回无数据(指定游戏) */ + C1024: { CODE: 1024 }, + + /** 进入房间时,发现已经在房间中托管 */ + C1027: { CODE: 1027 }, + + /** 加入房间时,不能入座(金币数低于入场限制) */ + C1028: { CODE: 1028 }, + + /** 加入房间时,不能入座(没座位) */ + C1030: { CODE: 1030 }, + + /** 加入房间时,不能入座(开始后禁入) */ + C1031: { CODE: 1031 }, + + /** 房间已解散 */ + C1032: { CODE: 1032 }, + + /** 没有匹配的房间 */ + C1033: { CODE: 1033 }, + + /** 支付房费时,db返回无数据 */ + C1036: { CODE: 1036 }, + + /** 下注时,金币不足 */ + C1037: { CODE: 1037 }, + + /** 房间超时解散 */ + C1038: { CODE: 1038 }, + + /** 加入房间时,未获取到频道号 */ + C1041: { CODE: 1041 }, + + /** 加入房间时,指定的座位有人 */ + C1042: { CODE: 1042 }, + + /** 登录Game Entry时,参数错误 */ + C1043: { CODE: 1043 }, + + /** 另一设备在线 */ + C1044: { CODE: 1044 }, + + /** 获取所在第三方游戏信息时,返回无数据 */ + C1045: { CODE: 1045}, + + /** 进入房间时,有通过外部进入指定自研游戏 */ + C1046: { CODE: 1046 }, + + /** 进入房间时,已进入第三方游戏 */ + C1047: { CODE: 1047 }, + + /** 管理后台查询其它用户数据时,双方都无工会 */ + C1100: { CODE: 1100 }, + + /** 管理后台查询其它用户数据时,不是同一工会 */ + C1101: { CODE: 1101 }, + + /** 管理后台查询其它用户数据时,不是会长,也无对外转账权限 */ + C1102: { CODE: 1102 }, + + /** 管理后台查询其它用户数据时,目标用户uid错误 */ + C1103: { CODE: 1103 }, + + /** 昨日或上周排行没有数据 */ + C1150: { CODE: 1150 }, + + /** 兑换礼包时,传入参数错误 */ + C1218: { CODE: 1218 }, + + /** 兑换礼包时,db返回无数据 */ + C1220: { CODE: 1220 }, + + /** 兑换礼包时,该类型礼包使用次数达到上限 */ + C1221: { CODE: 1221 }, + + /** 兑换礼包时,获取兑换码类型,db返回无数据 */ + C1223: { CODE: 1223 }, + + /** 兑换礼包时,设置兑换码数据时,db返回无数据或数量不正确 */ + C1225: { CODE: 1225 }, + + /** 押注时,押注数量不正确 */ + C1226: { CODE: 1226 }, + + /** 押注时,有锁 */ + C1227: { CODE: 1227 }, + + /** 兑换礼包时,该类型礼包今日使用次数达到上限 */ + C1228: { CODE: 1228 }, + + /** 兑换礼包时,资产超限 */ + C1229: { CODE: 1229 }, + + /** 兑换礼包时,当前卡商家不一致 */ + C1230: { CODE: 1230 }, + + /** 批量赠送礼包时,传入参数错误 */ + C1231: { CODE: 1231 }, + + /** 批量赠送礼包时,有一方未找到用户 */ + C1232: { CODE: 1232 }, + + /** 批量赠送礼包时,有一方无代理商 */ + C1233: { CODE: 1233 }, + + /** 批量赠送礼包时,有一方没绑定手机 */ + C1234: { CODE: 1234 }, + + /** 批量赠送礼包时,有一方账号被冻结 */ + C1235: { CODE: 1235 }, + + /** 批量赠送礼包时,有一方代理商被冻结 */ + C1236: { CODE: 1236 }, + + /** 批量赠送礼包时,有一方不是会长 */ + C1237: { CODE: 1237 }, + + /** 批量赠送礼包时,不是上下级关系 */ + C1238: { CODE: 1238 }, + + /** 批量赠送礼包时,数量不正确 */ + C1239: { CODE: 1239 }, + + /** 领取亏损返利时,昨日亏损量不足 */ + C1508: { CODE: 1508 }, + + /** 领取亏损返利时,今日下注量不足 */ + C1509: { CODE: 1509 }, + + /** 领取下注返利时,昨日下注量不足 */ + C1510: { CODE: 1510 }, + + /** 领取下注返利时,今日下注量不足 */ + C1511: { CODE: 1511 }, + + /** 新增道具时,背包格子数不够 */ + C1720: { CODE: 1720 }, + + /** 解锁背包格子,金币不够 */ + C1723: { CODE: 1723 }, + + /** 使用道具时,道具不存在 */ + C1725: { CODE: 1725 }, + + /** 使用道具时,无可用数量 */ + C1726: { CODE: 1726 }, + + /** 新增道具时,没有发现道具 */ + C1727: { CODE: 1727 }, + + /** 获取商品数据时,未设置橱窗展示数量 */ + C1803: { CODE: 1803 }, + + /** 获取商品数据时,无可用数量 */ + C1804: { CODE: 1804 }, + + /** 领取签到奖励时,今日已签到 */ + C1903: { CODE: 1903 }, + + /** 领取月度奖励时,已跨月 */ + C1904: { CODE: 1904 }, + + /** 领取月度奖励时,累计天数不够 */ + C1905: { CODE: 1905 }, + + /** 领取月度奖励时,已领过奖 */ + C1906: { CODE: 1906 }, + + /** 获取每日礼包数据时,已领过奖 */ + C2001: { CODE: 2001 }, + + /** 获取登录奖励数据时,已领过奖 */ + C2204: { CODE: 2204 }, + + /** 领特殊奖时,无奖可领 */ + C2205: { CODE: 2205 }, + + /** 领特殊奖时,未达标 */ + C2206: { CODE: 2206 }, + + /** 领特殊奖时,已领过奖或已归档 */ + C2207: { CODE: 2207 }, + + /** 刷新动态活动时,未找到指定活动编码的活动 */ + C2383: { CODE: 2383 }, + + /** 动态活动任务领奖时,未找到指定_id的任务 */ + C2384: { CODE: 2384 }, + + /** 动态活动任务领奖时,多个_id不属于同一个任务 */ + C2385: { CODE: 2385 }, + + /** 动态活动任务领奖时,未找到活动 */ + C2386: { CODE: 2386 }, + + /** 动态活动任务领奖时,期数不正确 */ + C2387: { CODE: 2387 }, + + /** 动态活动任务领奖时,未找到子任务 */ + C2388: { CODE: 2388 }, + + /** 动态活动任务领奖时,已领过奖 */ + C2389: { CODE: 2389 }, + + /** 动态活动任务解锁黄金奖励时,期数不正确 */ + C2390: { CODE: 2390 }, + + /** 动态活动任务解锁黄金奖励时,期数不正确 */ + C2391: { CODE: 2391 }, + + /** 动态活动任务解锁黄金奖励时,金额不正确 */ + C2392: { CODE: 2392 }, + + /** 获取每日摇奖结果时,时间未到 */ + C2401: { CODE: 2401 }, + + /** 每日摇奖礼包已经购买 */ + C2402: { CODE: 2402 }, + + /** 三选一礼包购买时,该礼包只能购买其中一个 */ + C2500: { CODE: 2500 }, + + /** 三选一礼包购买时,该礼包只能购买一次 */ + C2501: { CODE: 2501 }, + + /** 三选一礼包领奖时,奖励已全部派发 */ + C2504: { CODE: 2504 }, + + /** 三选一礼包领奖时,今日奖励已领取 */ + C2505: { CODE: 2505 }, + + /** 钻石兑换金币时,钻石或余额数量不正确 */ + C2510: { CODE: 2510 }, + + /** 转盘冷却中 */ + C2520: { CODE: 2520 }, + + /** 助力转盘领奖时,该奖励已领取过 */ + C2522: { CODE: 2522 }, + + /** 助力转盘领奖时,该任务已过期 */ + C2523: { CODE: 2523 }, + + /** 助力转盘领奖时,该任务未完成 */ + C2524: { CODE: 2524 }, + + /** 助力转盘助力,已助力过该任务 */ + C2526: { CODE: 2526 }, + + /** VIP每日领奖时,已经领取过 */ + C2530: { CODE: 2530 }, + + /** VIP每周领奖时,已经领取过 */ + C2531: { CODE: 2531 }, + + /** VIP每月领奖时,已经领取过 */ + C2532: { CODE: 2532 }, + + /** vip领奖时,无奖励可领取 */ + C2533: { CODE: 2533 }, + + /** 提现时,流水未到达要求 */ + C2534: { CODE: 2534 }, + + /** 提现时,未绑定手机号 */ + C2535: { CODE: 2535 }, + + //#endregion + //////////////////////////////////////////////////////////////////////////////////////////////// + + + //////////////////////////////////////////////////////////////////////////////////////////////// + //#region 数据库读写错误 + + // 系统相关 + + /** 生成token时,redis返回数据不正确 */ + C10000: { CODE: 10000 }, + + /** 获取token时,redis返回数据不正确 */ + C10001: { CODE: 10001 }, + + /** 获取一条管理员数据时,db返回无数据 */ + C10005: { CODE: 10005 }, + + /** 设置并返回一条管理员数据时,db返回无数据 */ + C10006: { CODE: 10006 }, + + /** 设置一条管理员数据时,db返回数量不正确 */ + C10007: { CODE: 10007 }, + + /** 添加一条管理员数据时,db返回无数据 */ + C10008: { CODE: 10008 }, + + /** 管理员登录时,账号或密码不正确 */ + C10009: { CODE: 10009 }, + + // 代理商 + + /** 获取一条代理商数据时,db返回无数据 */ + C10100: { CODE: 10100 }, + + /** 设置并返回一条代理商数据时,db返回无数据 */ + C10101: { CODE: 10101 }, + + /** 设置一条代理商数据时,db返回数量不正确 */ + C10102: { CODE: 10102 }, + + /** 添加一条代理商数据时,db返回无数据 */ + C10103: { CODE: 10103 }, + + /** 删除代理商时,查询工会成员数量,有成员不能删 */ + C10104: { CODE: 10104 }, + + /** 删除代理商时,查询下级代理商数量,有下线不能删 */ + C10105: { CODE: 10105 }, + + /** 代理商登录时,账号或密码不正确 */ + C10106: { CODE: 10106 }, + + // AI规则 + + /** 获取一条AI规则数据时,db返回无数据 */ + C10200: { CODE: 10200 }, + + /** 设置并返回一条AI规则数据时,db返回无数据 */ + C10201: { CODE: 10201 }, + + /** 设置一条AI规则数据时,db返回数量不正确 */ + C10202: { CODE: 10202 }, + + /** 添加一条AI规则数据时,db返回无数据 */ + C10203: { CODE: 10203 }, + + /** 删除AI规则时,db返回数量不正确 */ + C10204: { CODE: 10204 }, + + // 银行类型 + + /** 获取一条银行类型数据时,db返回无数据 */ + C10300: { CODE: 10300 }, + + /** 设置并返回一条银行类型数据时,db返回无数据 */ + C10301: { CODE: 10301 }, + + /** 设置一条银行类型数据时,db返回数量不正确 */ + C10302: { CODE: 10302 }, + + /** 添加一条银行类型数据时,db返回无数据 */ + C10303: { CODE: 10303 }, + + // 签到 + + /** 获取一条签到数据时,db返回无数据 */ + C10400: { CODE: 10400 }, + + /** 设置并返回一条签到数据时,db返回无数据 */ + C10401: { CODE: 10401 }, + + /** 设置一条签到数据时,db返回数量不正确 */ + C10402: { CODE: 10402 }, + + /** 添加一条签到数据时,db返回无数据 */ + C10403: { CODE: 10403 }, + + // 配置项 + + /** 获取一条平台配置数据时,db返回无数据 */ + C10500: { CODE: 10500 }, + + /** 设置并返回一条平台配置数据时,db返回无数据 */ + C10501: { CODE: 10501 }, + + /** 设置一条平台配置数据时,db返回数量不正确 */ + C10502: { CODE: 10502 }, + + /** 添加一条平台配置数据时,db返回无数据 */ + C10503: { CODE: 10503 }, + + /** 获取多条平台配置数据时,db返回无数据 */ + C10504: { CODE: 10504 }, + + /** 获取游戏维护状态时,redis返回无数据 */ + C10550: { CODE: 10550 }, + + /** 获取游戏版本信息时,redis返回无数据 */ + C10551: { CODE: 10551 }, + + /** 获取一条日常维护配置数据时,db返回无数据 */ + C10600: { CODE: 10600 }, + + /** 获取多条日常维护配置数据时,db返回无数据 */ + C10601: { CODE: 10601 }, + + /** 设置并返回一条日常维护配置数据时,db返回无数据 */ + C10602: { CODE: 10602 }, + + /** 设置一条日常维护配置数据时,db返回数量不正确 */ + C10603: { CODE: 10603 }, + + /** 获取场次配置列表数据时,db返回无数据 */ + C10604: { CODE: 10604 }, + + /** 设置一条场次配置时,db返回数量不正确 */ + C10605: { CODE: 10605 }, + + /** 获取自建房配置列表数据时,db返回无数据 */ + C10606: { CODE: 10606 }, + + /** 设置一条场次配置时,db返回数量不正确 */ + C10607: { CODE: 10607 }, + + /** 从缓存中获取场次配置,匹配游戏ID、模式和场次索引时,找不到匹配项 */ + C10611: { CODE: 10611 }, + + /** 从缓存中获取场次配置,匹配游戏ID、模式时,找不到匹配项 */ + C10613: { CODE: 10613 }, + + // 每日返利 + + /** 领取昨日亏损返利时,db返回数量不正确 */ + C10700: { CODE: 10700 }, + + /** 领取昨日下注返利时,db返回数量不正确 */ + C10701: { CODE: 10701 }, + + /** 获取一条返利配置时,db返回数量不正确 */ + C10705: { CODE: 10705 }, + + /**设置并返回一条返利配置时,db返回数量不正确 */ + C10706: { CODE: 10706 }, + + /**设置一条返利配置时,db返回数量不正确 */ + C10707: { CODE: 10707 }, + + /**添加一条返利配置时,db返回无数据 */ + C10708: { CODE: 10708 }, + + /**获取一条返利类型数据时,db返回无数据 */ + C10709: { CODE: 10709 }, + + /**设置并返回一条返利类型数据时,db返回无数据 */ + C10710: { CODE: 10710 }, + + /**设置一条返利类型数据时,db返回无数据 */ + C10711: { CODE: 10711 }, + + /**添加一条返利类型时,db返回无数据 */ + C10712: { CODE: 10712 }, + + // 每日礼包 + + /** 获取一条每日礼包数据时,db返回无数据 */ + C10800: { CODE: 10800 }, + + /** 设置并返回一条每日礼包数据时,db返回无数据 */ + C10801: { CODE: 10801 }, + + /** 设置一条每日礼包数据时,db返回数量不正确 */ + C10802: { CODE: 10802 }, + + /** 添加一条每日礼包数据时,db返回无数据 */ + C10803: { CODE: 10803 }, + + // 每日摇奖 + + /** 获取一条每日摇奖数据时,db返回无数据 */ + C10900: { CODE: 10900 }, + + /** 设置并返回一条每日摇奖数据时,db返回无数据 */ + C10901: { CODE: 10901 }, + + /** 设置一条每日摇奖数据时,db返回数量不正确 */ + C10902: { CODE: 10902 }, + + /** 添加一条每日摇奖数据时,db返回无数据 */ + C10903: { CODE: 10903 }, + + /** 获取一条每日摇奖配置数据时,db返回无数据 */ + C10904: { CODE: 10904 }, + + /** 设置并返回一条每日摇奖配置数据时,db返回无数据 */ + C10905: { CODE: 10905 }, + + /** 设置一条每日摇奖配置数据时,db返回数量不正确 */ + C10906: { CODE: 10906 }, + + /** 添加一条每日摇奖配置数据时,db返回无数据 */ + C10907: { CODE: 10907 }, + + // 兑换码 + + /** 获取一条兑换码数据时,db返回无数据 */ + C11000: { CODE: 11000 }, + + /** 设置并返回一条兑换码数据时,db返回无数据 */ + C11001: { CODE: 11001 }, + + /** 设置一条兑换码数据时,db返回数量不正确 */ + C11002: { CODE: 11002 }, + + /** 设置多条兑换码数据时,db返回数量不正确 */ + C11003: { CODE: 11003 }, + + /** 获取一条兑换码类型数据时,db返回无数据 */ + C11004: { CODE: 11004 }, + + /** 设置并返回一条兑换码类型数据时,db返回无数据 */ + C11005: { CODE: 11005 }, + + /** 设置一条兑换码类型数据时,db返回数量不正确 */ + C11006: { CODE: 11006 }, + + /** 添加一条兑换码类型数据时,db返回数量不正确 */ + C11007: { CODE: 11007 }, + + // 管理组 + + /** 获取一条管理组数据时,db返回无数据 */ + C11100: { CODE: 11100 }, + + /** 设置并返回一条管理组数据时,db返回无数据 */ + C11101: { CODE: 11101 }, + + /** 设置一条管理组数据时,db返回数量不正确 */ + C11102: { CODE: 11102 }, + + /** 添加一条管理组数据时,db返回无数据 */ + C11103: { CODE: 11103 }, + + /** 删除管理组时,db返回数量不正确 */ + C11104: { CODE: 11104 }, + + // 登录奖励 + + /** 获取一条登录奖励数据时,db返回无数据 */ + C11200: { CODE: 11200 }, + + /** 设置并返回一条登录奖励数据时,db返回无数据 */ + C11201: { CODE: 11201 }, + + /** 设置一条登录奖励数据时,db返回数量不正确 */ + C11202: { CODE: 11202 }, + + /** 添加一条登录奖励数据时,db返回无数据 */ + C11203: { CODE: 11203 }, + + /** 获取一条登录奖励配置数据时,db返回无数据 */ + C11204: { CODE: 11204 }, + + /** 设置并返回一条登录奖励配置数据时,db返回无数据 */ + C11205: { CODE: 11205 }, + + /** 设置一条登录奖励配置数据时,db返回数量不正确 */ + C11206: { CODE: 11206 }, + + /** 添加一条登录奖励配置数据时,db返回无数据 */ + C11207: { CODE: 11207 }, + + // 邮件 + + /** 获取一条邮件数据时,db返回无数据 */ + C11300: { CODE: 11300 }, + + /** 设置并返回一条邮件数据时,db返回无数据 */ + C11301: { CODE: 11301 }, + + /** 设置一条邮件数据时,db返回数量不正确 */ + C11302: { CODE: 11302 }, + + /** 添加多封邮件数据,指定模板类型时,db返回无数据 */ + C11303: { CODE: 11303 }, + + /** 发送邮件时,收件人不存在 */ + C11304: { CODE: 11304 }, + + /** 发送邮件时,db返回无数据 */ + C11305: { CODE: 11305 }, + + /** 获取一条邮件模版数据时,db返回无数据 */ + C11306: { CODE: 11306 }, + + /** 设置并返回一条邮件模版数据时,db返回无数据 */ + C11307: { CODE: 11307 }, + + /** 设置一条邮件模版数据时,db返回数量不正确 */ + C11308: { CODE: 11308 }, + + /** 添加一条邮件模版数据时,db返回无数据 */ + C11309: { CODE: 11309 }, + + // 广播 + + /** 添加一条广播数据时,db返回无数据 */ + C11400: { CODE: 11400 }, + + /** 获取一条广播任务数据时,db返回无数据 */ + C11401: { CODE: 11401 }, + + /** 设置并返回一条广播任务数据时,db返回无数据 */ + C11402: { CODE: 11402 }, + + /** 设置一条广播任务数据时,db返回数量不正确 */ + C11403: { CODE: 11403 }, + + /** 添加一条广播任务数据时,db返回无数据 */ + C11404: { CODE: 11404 }, + + /** 设置并返回一条广播规则数据时,db返回无数据 */ + C11405: { CODE: 11405 }, + + /** 设置一条广播规则数据时,db返回数量不正确 */ + C11406: { CODE: 11406 }, + + /** 添加一条广播规则数据时,db返回无数据 */ + C11407: { CODE: 11407 }, + + // 神秘商店 + + /** 获取一条商品数据时,db返回无数据 */ + C11500: { CODE: 11500 }, + + /** 设置并返回一条商品数据时,db返回无数据 */ + C11501: { CODE: 11501 }, + + /** 设置一条商品数据时,db返回数量不正确 */ + C11502: { CODE: 11502 }, + + /** 添加一条商品数据时,db返回无数据 */ + C11503: { CODE: 11503 }, + + // 几率 + + /** 获取获取指定游戏的几率时,redis返回无数据 */ + C11600: { CODE: 11600 }, + + /** 获取获取所有游戏的几率时,redis返回无数据 */ + C11601: { CODE: 11601 }, + + /** 设置一条指定游戏的几率时,redis返回数量不正确 */ + C11602: { CODE: 11602 }, + + /** 获取一条几率配置时,db返回数量不正确 */ + C11603: { CODE: 11603 }, + + /** 获取多条几率配置时,db返回数量不正确 */ + C11604: { CODE: 11604 }, + + /** 设置并返回一条几率配置时,db返回数量不正确 */ + C11605: { CODE: 11605 }, + + /** 设置一条几率配置时,db返回数量不正确 */ + C11606: { CODE: 11606 }, + + // 三选一礼包 + + /** 获取一条商品数据时,db返回无数据 */ + C11700: { CODE: 11700 }, + + /** 设置并返回一条商品数据时,db返回无数据 */ + C11701: { CODE: 11701 }, + + /** 设置一条商品数据时,db返回数量不正确 */ + C11702: { CODE: 11702 }, + + /** 添加一条商品数据时,db返回无数据 */ + C11703: { CODE: 11703 }, + + // 游戏包 + + /** 获取一条游戏包数据时,db返回无数据 */ + C11800: { CODE: 11800 }, + + /** 设置并返回一条游戏包数据时,db返回无数据 */ + C11801: { CODE: 11801 }, + + /** 设置一条游戏包数据时,db返回数量不正确 */ + C11802: { CODE: 11802 }, + + /** 添加一条游戏包数据时,db返回无数据 */ + C11803: { CODE: 11803 }, + + // 充值记录 + + /** 获取一条充值记录时,db返回无数据 */ + C11900: { CODE: 11900 }, + + /** 设置并返回一条充值记录时,db返回无数据 */ + C11901: { CODE: 11901 }, + + /** 设置一条充值记录时,db返回数量不正确 */ + C11902: { CODE: 11902 }, + + /** 添加一条充值记录时,db返回无数据 */ + C11903: { CODE: 11903 }, + + /** 设置多条充值记录时,db返回数量不正确 */ + C11904: { CODE: 11904 }, + + // 金币池 + + /** 获取多条金币池数据时,db返回数量不正确 */ + C12000: { CODE: 12000 }, + + /** 设置一条金币池数据时,db返回数量不正确 */ + C12001: { CODE: 12001 }, + + /** 添加一条金币池数据时,db返回无数据 */ + C12002: { CODE: 12002 }, + + /** 删除金币池时,当前索引被使用 */ + C12003: { CODE: 12003 }, + + /** 增加或减少资金池时,redis返回数量不正确 */ + C12004: { CODE: 12004 }, + + /** 获取资金池数据时,redis返回数量不正确 */ + C12005: { CODE: 12005 }, + + /** 增加或减少彩金池时,redis返回数据不正确 */ + C12006: { CODE: 12006 }, + + /** 获取彩金池数据时,redis返回数据不正确 */ + C12007: { CODE: 12007 }, + + /** 增加抽水池时,redis返回数量不正确 */ + C12012: { CODE: 12012 }, + + // 超值礼包 + + /** 获取一条超值礼包数据时,db返回无数据 */ + C12100: { CODE: 12100 }, + + /** 设置并返回一条超值礼包数据时,db返回无数据 */ + C12101: { CODE: 12101 }, + + /** 设置一条超值礼包数据时,db返回数量不正确 */ + C12102: { CODE: 12102 }, + + /** 添加一条超值礼包数据时,db返回无数据 */ + C12103: { CODE: 12103 }, + + // 道具 + + /** 获取一条道具数据时,db返回无数据 */ + C12200: { CODE: 12200 }, + + /** 设置并返回一条道具数据时,db返回无数据 */ + C12201: { CODE: 12201 }, + + /** 设置一条道具数据时,db返回数量不正确 */ + C12202: { CODE: 12202 }, + + /** 添加一条道具数据时,db返回无数据 */ + C12203: { CODE: 12203 }, + + /** 获取一条道具属性数据时,db返回无数据 */ + C12204: { CODE: 12204 }, + + /** 设置并返回一条道具属性数据时,db返回无数据 */ + C12205: { CODE: 12205 }, + + /** 设置一条道具属性数据时,db返回数量不正确 */ + C12206: { CODE: 12206 }, + + /** 添加一条道具属性数据时,db返回无数据 */ + C12207: { CODE: 12207 }, + + /** 删除一条道具属性数据时,无法删除 */ + C12208: { CODE: 12208 }, + + // 排行榜 + + /** 获取真实排行榜时,db返回无数据 */ + C12300: { CODE: 12300 }, + + /** 获取一个虚拟用户时,db返回无数据 */ + C12302: { CODE: 12302 }, + + /** 设置一个虚拟用户时,db返回无数据 */ + C12303: { CODE: 12303 }, + + /** 添加一个虚拟用户时,db返回无数据 */ + C12304: { CODE: 12304 }, + + /** 删除一个虚拟用户时,db返回数量不正确 */ + C12305: { CODE: 12305 }, + + // 商店 + + /** 获取一条商品数据时,db返回无数据 */ + C12400: { CODE: 12400 }, + + /** 设置并返回一条商品数据时,db返回无数据 */ + C12401: { CODE: 12401 }, + + /** 设置一条商品数据时,db返回数量不正确 */ + C12402: { CODE: 12402 }, + + /** 添加一条商品数据时,db返回无数据 */ + C12403: { CODE: 12403 }, + + // 商店2 + + /** 获取一条商品数据时,db返回无数据 */ + C12500: { CODE: 12500 }, + + /** 设置并返回一条商品数据时,db返回无数据 */ + C12501: { CODE: 12501 }, + + /** 设置一条商品数据时,db返回数量不正确 */ + C12502: { CODE: 12502 }, + + /** 添加一条商品数据时,db返回无数据 */ + C12503: { CODE: 12503 }, + + /** 获取一条分类数据时,db返回无数据 */ + C12504: { CODE: 12504 }, + + /** 设置并返回一条分类数据时,db返回无数据 */ + C12505: { CODE: 12505 }, + + /** 设置一条分类数据时,db返回数量不正确 */ + C12506: { CODE: 12506 }, + + /** 添加一条分类数据时,db返回无数据 */ + C12507: { CODE: 12507 }, + + // 功能开关 + + /** 获取一条功能开关数据时,db返回无数据 */ + C12600: { CODE: 12600 }, + + /** 获取多条功能开关数据时,db返回无数据 */ + C12601: { CODE: 12601 }, + + /** 设置并返回一条功能开关数据时,db返回无数据 */ + C12602: { CODE: 12602 }, + + /** 设置一条功能开关数据时,db返回数量不正确 */ + C12603: { CODE: 12603 }, + + /** 更新缓存中的指定功能开关数据时,无匹配项 */ + C12604: { CODE: 12604 }, + + // 金币流水 + + /** 获取一条金币流水数据时,db返回无数据 */ + C12700: { CODE: 12700 }, + + /** 设置并返回一条金币流水数据时,db返回无数据 */ + C12701: { CODE: 12701 }, + + /** 设置一条金币流水数据时,db返回数量不正确 */ + C12702: { CODE: 12702 }, + + /** 添加一条金币流水数据时,db返回无数据 */ + C12703: { CODE: 12703 }, + + // 用户(玩家) + + /** 获取一条用户数据时,db返回无数据 */ + C12800: { CODE: 12800 }, + + /** 设置并返回一条用户数据时,db返回无数据 */ + C12801: { CODE: 12801 }, + + /** 设置一条用户数据时,db返回数量不正确 */ + C12802: { CODE: 12802 }, + + /** 获取用户所在服务器信息时,redis返回无数据 */ + C12803: { CODE: 12803 }, + + /** 设置用户所在服务器信息时,redis返回数据不正确 */ + C12804: { CODE: 12804 }, + + /** 获取用户指定进入的游戏信息时,redis返回无数据 */ + C12805: { CODE: 12805 }, + + /** 设置用户指定进入的游戏信息时,redis返回数据不正确 */ + C12806: { CODE: 12806 }, + + /** 获取多个用户用户受控输赢和手气时,db返回无数据 */ + C12807: { CODE: 12807 }, + + /** 创建用户账户时,获取靓号无数据 */ + C12808: { CODE: 12808 }, + + /** 创建用户账户时,生成uid超过次数 */ + C12809: { CODE: 12809 }, + + /** 创建用户账户,获取免费头像列表时,返回无数据 */ + C12810: { CODE: 12810 }, + + /** 创建用户账户,获取免费头像框列表时,返回无数据 */ + C12811: { CODE: 12811 }, + + /** 创建用户账户时,db返回无数据 */ + C12812: { CODE: 12812 }, + + // 验证码 + + /** 生成一条验证码,设置新验证码时,redis返回数据错误 */ + C12900: { CODE: 12900 }, + + /** 生成一条验证码,设置重发延时,redis返回数据错误 */ + C12901: { CODE: 12901 }, + + /** 验证一条验证码,达到5次错误 */ + C12902: { CODE: 12902 }, + + /** 验证一条验证码,提交的验证码不正确 */ + C12903: { CODE: 12903 }, + + /** 设置已绑定的手机验证成功后生存的时间信息时,redis返回数据错误 */ + C12904: { CODE: 12904 }, + + /** 获取已绑定的手机验证成功后的生存时间信息时,redis返回数据错误 */ + C12905: { CODE: 12905 }, + + /** 验证一条邮箱验证码,达到5次错误 */ + C12906: { CODE: 12906 }, + + /** 验证一条邮箱验证码,提交的验证码不正确 */ + C12907: { CODE: 12907 }, + + // VIP管理 + + /** 获取一条VIP管理数据时,db返回无数据 */ + C13000: { CODE: 13000 }, + + /** 设置并返回一条VIP管理数据时,db返回无数据 */ + C13001: { CODE: 13001 }, + + /** 设置一条VIP管理数据时,db返回数量不正确 */ + C13002: { CODE: 13002 }, + + /** 添加一条VIP管理数据时,db返回无数据 */ + C13003: { CODE: 13003 }, + + // 提现账户 + + /** 获取一条提现账户数据时,db返回无数据 */ + C13100: { CODE: 13100 }, + + /** 设置并返回一条提现账户数据时,db返回无数据 */ + C13101: { CODE: 13101 }, + + /** 设置一条提现账户数据时,db返回数量不正确 */ + C13102: { CODE: 13102 }, + + /** 添加一条提现账户数据时,db返回无数据 */ + C13103: { CODE: 13103 }, + + // 提现记录 + + /** 获取一条提现记录数据时,db返回无数据 */ + C13200: { CODE: 13200 }, + + /** 设置并返回一条提现记录数据时,db返回无数据 */ + C13201: { CODE: 13201 }, + + /** 设置一条提现记录数据时,db返回数量不正确 */ + C13202: { CODE: 13202 }, + + /** 添加一条提现记录数据时,db返回无数据 */ + C13203: { CODE: 13203 }, + + // 动态活动 + + /** 获取一条活动分类数据时,db返回无数据 */ + C13300: { CODE: 13300 }, + + /** 设置并返回一条活动分类数据时,db返回无数据 */ + C13301: { CODE: 13301 }, + + /** 设置一条活动分类数据时,db返回数量不正确 */ + C13302: { CODE: 13302 }, + + /** 添加一条活动分类数据时,db返回无数据 */ + C13303: { CODE: 13303 }, + + /** 获取一条活动管理数据时,db返回无数据 */ + C13304: { CODE: 13304 }, + + /** 设置并返回一条活动管理数据时,db返回无数据 */ + C13305: { CODE: 13305 }, + + /** 设置一条活动管理数据时,db返回数量不正确 */ + C13306: { CODE: 13306 }, + + /** 添加一条活动管理数据时,db返回无数据 */ + C13307: { CODE: 13307 }, + + /** 从Redis获取活动管理数据时,db返回无数据 */ + C13308: { CODE: 13308 }, + + /** 获取一条任务属性数据时,db返回无数据 */ + C13309: { CODE: 13309 }, + + /** 设置并返回一条任务属性数据时,db返回无数据 */ + C13310: { CODE: 13310 }, + + /** 设置一条任务属性数据时,db返回数量不正确 */ + C13311: { CODE: 13311 }, + + /** 添加一条任务属性数据时,db返回无数据 */ + C13312: { CODE: 13312 }, + + /** 获取一条任务数据时,db返回无数据 */ + C13313: { CODE: 13313 }, + + /** 设置并返回一条任务数据时,db返回无数据 */ + C13314: { CODE: 13314 }, + + /** 设置一条任务数据时,db返回数量不正确 */ + C13315: { CODE: 13315 }, + + /** 添加一条任务数据时,db返回无数据 */ + C13316: { CODE: 13316 }, + + /** 获取一条任务达标规则数据时,db返回无数据 */ + C13317: { CODE: 13317 }, + + /** 设置并返回一条任务达标规则数据时,db返回无数据 */ + C13318: { CODE: 13318 }, + + /** 设置一条任务达标规则数据时,db返回数量不正确 */ + C13319: { CODE: 13319 }, + + /** 添加一条任务达标规则数据时,db返回无数据 */ + C13320: { CODE: 13320 }, + + /** 获取一条用户进度数据时,db返回无数据 */ + C13321: { CODE: 13321 }, + + /** 从Redis或Db获取用户进度时,db返回无数据 */ + C13322: { CODE: 13322 }, + + /** 从Redis或Db获取用户已获得的任务数据时,db返回无数据 */ + C13323: { CODE: 13323 }, + + // 助力转盘 + + /** 获取一条奖品数据时,db返回无数据 */ + C13400: { CODE: 13400 }, + + /** 设置并返回一条奖品数据时,db返回无数据 */ + C13401: { CODE: 13401 }, + + /** 设置一条奖品数据时,db返回数量不正确 */ + C13402: { CODE: 13402 }, + + /** 添加一条奖品数据时,db返回无数据 */ + C13403: { CODE: 13403 }, + + /** 获取一条日志数据时,db返回无数据 */ + C13404: { CODE: 13404 }, + + /** 设置并返回一条日志数据时,db返回无数据 */ + C13405: { CODE: 13405 }, + + /** 设置一条日志数据时,db返回数量不正确 */ + C13406: { CODE: 13406 }, + + /** 添加一条日志数据时,db返回无数据 */ + C13407: { CODE: 13407 }, + + /** 获取一条任务数据时,db返回无数据 */ + C13408: { CODE: 13408 }, + + /** 设置并返回一条任务数据时,db返回无数据 */ + C13409: { CODE: 13409 }, + + /** 设置一条任务数据时,db返回数量不正确 */ + C13410: { CODE: 13410 }, + + /** 添加一条任务数据时,db返回无数据 */ + C13411: { CODE: 13411 }, + + // 基础报表 + + /** 获取一条基础报表数据时,db返回无数据 */ + C13500: { CODE: 13500 }, + + /** 设置并返回一条基础报表数据时,db返回无数据 */ + C13501: { CODE: 13501 }, + + /** 设置一条基础报表数据时,db返回数量不正确 */ + C13502: { CODE: 13502 }, + + // 报表 + + /** 获取一条基础报表数据时,db返回无数据 */ + C13500: { CODE: 13500 }, + + /** 设置并返回一条基础报表数据时,db返回无数据 */ + C13501: { CODE: 13501 }, + + /** 设置一条基础报表数据时,db返回数量不正确 */ + C13502: { CODE: 13502 }, + + /** 获取一条日常报表数据时,db返回无数据 */ + C13503: { CODE: 13503 }, + + /** 设置并返回一条日常报表数据时,db返回无数据 */ + C13504: { CODE: 13504 }, + + /** 设置一条日常报表数据时,db返回数量不正确 */ + C13505: { CODE: 13505 }, + + /** 获取一条充值留存报表数据时,db返回无数据 */ + C13506: { CODE: 13506 }, + + /** 设置并返回一条充值留存报表数据时,db返回无数据 */ + C13507: { CODE: 13507 }, + + /** 设置一条充值留存报表数据时,db返回数量不正确 */ + C13508: { CODE: 13508 }, + + /** 获取一条注册留存报表数据时,db返回无数据 */ + C13509: { CODE: 13509 }, + + /** 设置并返回一条注册留存报表数据时,db返回无数据 */ + C13510: { CODE: 13510 }, + + /** 设置一条注册留存报表数据时,db返回数量不正确 */ + C13511: { CODE: 13511 }, + + // 消息 + + /** 消息 */ + C13700: { CODE: 13700 }, + + // 游戏 + + /** 多人结算金币时,不是已完成,或完成的数量和需要修改的数量不匹配 */ + C13800: { CODE: 13800 }, + + /** 多人结算金币时,当前游戏状态是已经结算完成,不能再结算 */ + C13801: { CODE: 13801 }, + + /** 多人结算金币时,当前游戏状态是已经结算完成,不能再结算 */ + C13802: { CODE: 13802 }, + + /** 单人结算时,db返回无数据 */ + C13803: { CODE: 13803 }, + + /** 单人结算时,当前游戏状态是已经结算完成,不能再结算 */ + C13804: { CODE: 13804 }, + + /** 赢得彩金结算时,db返回无数据 */ + C13805: { CODE: 13805 }, + + /** 获取Slots游戏线条时,redis返回无数据 */ + C13806: { CODE: 13806 }, + + // 下线系统 + + /** 获取一条配置数据时,db返回无数据 */ + C13900: { CODE: 13900 }, + + /** 设置并返回配置数据时,db返回无数据 */ + C13901: { CODE: 13901 }, + + /** 设置配置数据时,db返回数量不正确 */ + C13902: { CODE: 13902 }, + + /** 添加一条配置数据时,db返回无数据 */ + C13903: { CODE: 13903 }, + + /** 获取一条待领取列表数据时,db返回无数据 */ + C13904: { CODE: 13904 }, + + /** 设置并返回待领取列表数据时,db返回无数据 */ + C13905: { CODE: 13905 }, + + /** 设置待领取列表数据时,db返回数量不正确 */ + C13906: { CODE: 13906 }, + + /** 添加一条待领取列表数据时,db返回无数据 */ + C13907: { CODE: 13907 }, + + /** 领取一条返利奖励时,db返回无数据 */ + C13908: { CODE: 13908 }, + + // 在线奖励 + + /** 获取一条在线奖励配置数据时,db返回无数据 */ + C14000: { CODE: 14000 }, + + /** 设置并返回在线奖励配置数据时,db返回无数据 */ + C14001: { CODE: 14001 }, + + /** 设置在线奖励配置数据时,db返回数量不正确 */ + C14002: { CODE: 14002 }, + + /** 添加一条在线奖励配置数据时,db返回无数据 */ + C14003: { CODE: 14003 }, + + // 新手任务 + + /** 获取一条新手任务配置数据时,db返回无数据 */ + C14100: { CODE: 14100 }, + + /** 设置并返回新手任务配置数据时,db返回无数据 */ + C14101: { CODE: 14101 }, + + /** 设置新手任务配置数据时,db返回数量不正确 */ + C14102: { CODE: 14102 }, + + /** 添加一条新手任务配置数据时,db返回无数据 */ + C14103: { CODE: 14103 }, + + // 每日任务 + + /** 获取一条每日任务配置数据时,db返回无数据 */ + C14200: { CODE: 14200 }, + + /** 设置并返回每日任务配置数据时,db返回无数据 */ + C14201: { CODE: 14201 }, + + /** 设置每日任务配置数据时,db返回数量不正确 */ + C14202: { CODE: 14202 }, + + /** 添加一条每日任务配置数据时,db返回无数据 */ + C14203: { CODE: 14203 }, + + // 每周任务 + + /** 获取一条每周任务配置数据时,db返回无数据 */ + C14300: { CODE: 14300 }, + + /** 设置并返回每周任务配置数据时,db返回无数据 */ + C14301: { CODE: 14301 }, + + /** 设置每周任务配置数据时,db返回数量不正确 */ + C14302: { CODE: 14302 }, + + /** 添加一条每周任务配置数据时,db返回无数据 */ + C14303: { CODE: 14303 }, + + //#endregion + //////////////////////////////////////////////////////////////////////////////////////////////// + + + //////////////////////////////////////////////////////////////////////////////////////////////// + //#region 参数错误 + + // 系统相关 + + /** 生成token时,参数错误 */ + C30000: { CODE: 30000 }, + + /** 获取token时,参数错误 */ + C30001: { CODE: 30001 }, + + /** WebHall获取游戏地址时,参数错误 */ + C30002: { CODE: 30002 }, + + /** 获取Center服务器Url时,参数错误 */ + C30003: { CODE: 30003 }, + + /** 获取自建房列表信息时,参数错误 */ + C30004: { CODE: 30004 }, + + /** 创建房间时,客户端传入选项错误 */ + C30005: { CODE: 30005 }, + + /** 获取房间信息时,传入参数错误 */ + C30006: { CODE: 30006 }, + + /** 登录Game Entry时,参数错误 */ + C30007: { CODE: 30007 }, + + /** 当前登录的Game和在Redis中的Game信息不一致 */ + C30008: { CODE: 30008 }, + + + // 代理商 + + /** 加入工会时,参数错误 */ + C30100: { CODE: 30100 }, + + /** 获取工会信息时,参数错误 */ + C30101: { CODE: 30101 }, + + /** 邀请其它玩家加入工会时,参数错误 */ + C30102: { CODE: 30102 }, + + /** 修改工会名称时,参数错误 */ + C30103: { CODE: 30103 }, + + /** 修改工会公告时,参数错误 */ + C30104: { CODE: 30104 }, + + // 签到 + + /** 月度宝箱领奖时,参数错误 */ + C30400: { CODE: 30400 }, + + // 每日礼包 + + /** 每日礼包商品购买时,参数错误 */ + C30800: { CODE: 30800 }, + + // 每日摇奖 + + /** 每日摇奖礼包购买时,参数错误 */ + C30900: { CODE: 30900 }, + + // 兑换码 + + /** 获取兑换码列表时,参数错误 */ + C31007: { CODE: 31007 }, + + // 邮件 + + /** 邮件设为已读时,参数错误 */ + C31300: { CODE: 31300 }, + + /** 领取邮件附件时,参数错误 */ + C31301: { CODE: 31301 }, + + /** 领取邮件附件时,参数错误 */ + C31302: { CODE: 31302 }, + + /** 获取自己的邮件和模板列表时,参数错误 */ + C31303: { CODE: 31303 }, + + // 神秘商店 + + /** 获取商品数据时,参数错误 */ + C31500: { CODE: 31500 }, + + /** 神秘商店商品购买,参数错误 */ + C31501: { CODE: 31501 }, + + // 三选一礼包 + + /** 三选一礼包购买时,参数错误 */ + C31700: { CODE: 31700 }, + + // 充值记录 + + /** 获取充值记录时,参数错误 */ + C31900: { CODE: 31900 }, + + // 金币池 + + /** 获取指定彩金池当前值时,参数错误 */ + C32000: { CODE: 32000 }, + + // 超值礼包 + + /** 超值礼包礼包购买时,参数错误 */ + C32100: { CODE: 32100 }, + + // 道具 + + /** 解锁背包格子时,参数错误 */ + C32200: { CODE: 32200 }, + + /** 根据道具_id字符串获取道具和对应属性配置时,参数错误 */ + C32201: { CODE: 32201 }, + + + // 商店 + + /** 商店商品购买时,参数错误 */ + C32400: { CODE: 32400 }, + + + // 商店2 + + /** 商店商品购买时,参数错误 */ + C32500: { CODE: 32500 }, + + + // 用户 + + /** 银行存取款时,参数错误 */ + C32800: { CODE: 32800 }, + + /** 设置银行密码时,参数错误 */ + C32801: { CODE: 32801 }, + + /** 赠送金币时,参数错误 */ + C32802: { CODE: 32802 }, + + /** 登录银行时,参数错误 */ + C32803: { CODE: 32803 }, + + /** 获取金币明细日志时,参数错误 */ + C32804: { CODE: 32804 }, + + /** 获取金币赠送日志时,参数错误 */ + C32805: { CODE: 32805 }, + + /** 获取金币收礼日志时,参数错误 */ + C32806: { CODE: 32806 }, + + /** 游客登录时,参数错误 */ + C32807: { CODE: 32807 }, + + /** 手机登录时,参数错误 */ + C32808: { CODE: 32808 }, + + /** 手机注册时,参数错误 */ + C32809: { CODE: 32809 }, + + /** 修改昵称时,参数错误 */ + C32810: { CODE: 32810 }, + + /** 修改头像时,参数错误 */ + C32811: { CODE: 32811 }, + + /** 修改头像框时,参数错误 */ + C32812: { CODE: 32812 }, + + /** 修改性别时,参数错误 */ + C32813: { CODE: 32813 }, + + /** 绑定手机时,参数错误 */ + C32814: { CODE: 32814 }, + + /** 修改个人介绍时,参数错误 */ + C32815: { CODE: 32815 }, + + /** 接受好友邀请时,参数错误 */ + C32816: { CODE: 32816 }, + + /** 邮箱注册时,参数错误 */ + C32817: { CODE: 32817 }, + + /** 邮箱登录时,参数错误 */ + C32818: { CODE: 32818 }, + + /** 邮箱重置密码时,参数错误 */ + C32819: { CODE: 32819 }, + + /** 短信重置密码时,参数错误 */ + C32820: { CODE: 32820 }, + + // 验证码 + + /** 获取原手机的验证码时,参数错误 */ + C32900: { CODE: 32900 }, + + /** 通过验证码验证原手机时,参数错误 */ + C32901: { CODE: 32901 }, + + /** 获取绑定新手机的验证码时,参数错误 */ + C32902: { CODE: 32902 }, + + /** 获取手机登录的验证码时,参数错误 */ + C32903: { CODE: 32903 }, + + /** 获取邮箱登录的验证码时,参数错误 */ + C32904: { CODE: 32904 }, + + // VIP管理 + + /** vip每天、周、月领奖时,参数错误 */ + C33000: { CODE: 33000 }, + + /** vip等级领奖时,参数错误 */ + C33001: { CODE: 33001 }, + + // 提现 + + /** 获取提现记录时,参数错误 */ + C33100: { CODE: 33100 }, + + /** 提现时,参数错误 */ + C33101: { CODE: 33101 }, + + /** 删除提现账户时,参数错误 */ + C33102: { CODE: 33102 }, + + /** 获取金币流水记录时,参数错误 */ + C33103: { CODE: 33103 }, + + + // 动态活动 + + /** 动态活动任务领奖时,参数错误 */ + C33300: { CODE: 33300 }, + + // 助力转盘 + + /** 助力转盘助力时,参数错误 */ + C33400: { CODE: 33400 }, + + /** 获取助力转盘状态时,参数错误 */ + C33401: { CODE: 33401 }, + + /** 获取助力转盘任务详情时,参数错误 */ + C33402: { CODE: 33402 }, + + /** 助力转盘领奖时,参数错误 */ + C33404: { CODE: 33404 }, + + /** 助力转盘助力时,参数错误 */ + C33405: { CODE: 33405 }, + + // 下级返利 + + /** 获取下级返利领取列表时,参数错误 */ + C33501: { CODE: 33401 }, + + + // 消息 + + /** 加入频道时,参数错误 */ + C33700: { CODE: 33700 }, + + /** 发送聊天数据时,参数错误 */ + C33701: { CODE: 33701 }, + + /** 退出频道时,参数错误 */ + C33702: { CODE: 33702 }, + + /** 退出频道时,参数错误 */ + C33703: { CODE: 33703 }, + + // 下线系统 + + /** 接受好友邀请时,参数错误 */ + C33900: { CODE: 33900 }, + + // 在线奖励 + + /** 今天奖励已领完 */ + C34000: { CODE: 34000 }, + + /** 未到领奖时间 */ + C34001: { CODE: 34001 }, + + //充值渠道 + + /** 获取一条服务提供商记录时,db返回无数据 */ + C35000: { CODE: 35000 }, + + /** 设置并返回一条服务提供商数据时,db返回无数据 */ + C35001: { CODE: 35001 }, + + /** 设置一条服务提供商数据时,db返回无数据 */ + C35002: { CODE: 35002 }, + + /** 添加一条服务提供商数据时,db返回无数据 */ + C35003: { CODE: 35003 }, + + //#endregion + //////////////////////////////////////////////////////////////////////////////////////////////// + + + //////////////////////////////////////////////////////////////////////////////////////////////// + //#region 第三方接口错误 + + // awc平台 + + /** 创建玩家时,返回错误 */ + C50000: { CODE: 50000 }, + + /** 进入游戏时,返回错误 */ + C50001: { CODE: 50001 }, + + /** 登入并进入游戏时,返回错误 */ + C50002: { CODE: 50002 }, + + /** 更新限红时,返回错误 */ + C50003: { CODE: 50003 }, + + /** 强迫登出玩家时,返回错误 */ + C50004: { CODE: 50004 }, + + /** 检查系统状况时,返回错误 */ + C50005: { CODE: 50005 }, + + /** 更新玩家状态时,返回错误 */ + C50006: { CODE: 50006 }, + + /** 查询玩家下注限红时,返回错误 */ + C50007: { CODE: 50007 }, + + /** 取得玩家余额时,返回错误 */ + C50008: { CODE: 50008 }, + + /** 取款时,返回错误 */ + C50009: { CODE: 50009 }, + + /** 存款时,返回错误 */ + C50010: { CODE: 50010 }, + + /** 查詢转帐紀錄时,返回错误 */ + C50011: { CODE: 50011 }, + + /** 依注单更新时间取得交易资料时,返回错误 */ + C50012: { CODE: 50012 }, + + /** 取得指定区间交易资料时,返回错误 */ + C50013: { CODE: 50013 }, + + /** 取得区间内交易摘要时,返回错误 */ + C50014: { CODE: 50014 }, + + /** 取得玩家交易摘要时,返回错误 */ + C50015: { CODE: 50015 }, + + /** 依货币呼叫取得交易摘要时,返回错误 */ + C50016: { CODE: 50016 }, + + /** 按代理商 ID 获取平台列表时,返回错误 */ + C50017: { CODE: 50017 }, + + /** 依下注时间捞取未完成交易资料时,返回错误 */ + C50018: { CODE: 50018 }, + + /** 取得交易历史纪录时,返回错误 */ + C50019: { CODE: 50019 }, + + /** 获取赛马当日所有赛果资讯网址时,返回错误 */ + C50020: { CODE: 50020 }, + + /** 指定时间内获得的活动细项时,返回错误 */ + C50021: { CODE: 50021 }, + + /** 取得活动交易摘要时,返回错误 */ + C50022: { CODE: 50022 }, + + /** 依注单更新时间捞取未完成交易资料时,返回错误 */ + C50023: { CODE: 50023 }, + + //#endregion + //////////////////////////////////////////////////////////////////////////////////////////////// +}; \ No newline at end of file diff --git a/src/socket/config/Global.js b/src/socket/config/Global.js new file mode 100644 index 0000000..5a85e2b --- /dev/null +++ b/src/socket/config/Global.js @@ -0,0 +1,283 @@ +/** 全局常量 */ +import prefab from './Prefab.js'; +export default { + + /** 登录类型 */ + LOGIN_TYPE: { + /** 游客 */ + GUEST: 0, + /** 手机 */ + MOBILE: 1, + /** 邮箱 */ + MAIL: 2 + }, + + /** 平台币与充值币汇率 */ + COINS_RATE: 10000, + + /** 事件通知名称 */ + EVENT_NAME: { + /** 广播 */ + BROADCAST: 'onBroadcast', + /** 用户加入 */ + USER_ADD: 'onAdd', + /** 用户在线状态改变 */ + USER_LEAVE: 'onLeave', + /** 游戏流程消息 */ + GAME_MSG: 'onMsg', + /** 杂项通知 */ + GAME_NOTIFY: 'onNotify', + /** 充值订单通知 */ + PAY_ORDER: 'onPayOrder', + /** 游戏维护状态改变 */ + GAME_TENDING: 'onTending', + /** 收到子游戏热更新通知 */ + GAME_HOTUPDATE: 'onHotupdate', + /** 平台配置改变 */ + PLATFORM_CONFIG: 'onPlatform', + /** 功能状态改变 */ + SWITCH_CONFIG: 'onSwitch', + /** 场次配置改变 */ + SCENE_CONFIG: 'onScene', + /** 彩金池数据通知 */ + BONUS_POOL: 'onBonusPool', + /** 活动状态改变 */ + ACTIVITY_STATE: 'onActivityState', + /** 在游戏房间中长时间未操作 */ + GAME_TIMEOUT: 'onTimeout', + /** 从三方游戏返回 */ + THIRD_TO_HALL: 'onThridToHall', + /** 最新转盘领奖通知 */ + NEW_RECEIVE_HELP_TURNTABLE: 'onReceiveHelpTruntable', + /** 最新转盘2领奖通知 */ + NEW_RECEIVE_HELP_TURNTABLE2: 'onReceiveHelpTruntable2', + /** 下线通知 */ + ON_KICK: 'onKick', + /** 轮播图数据改变 */ + ROTATION_CHART_CHANGE: 'onRotitionChartChange', + /** 游戏厂商数据改变 */ + GAME_PROVIDER_CHANGE: 'onGameProviderChange', + /** 游戏分类数据改变 */ + GAME_CLASS_CHANGE: 'onGameClassChange', + /**游戏详情修改 */ + GAME_INFO_CHANGE: 'onGameInfoChange', + /** 拼单单开奖消息 */ + PDD_AWARD: 'onPddAward', + }, + + /** 功能按钮的key */ + BTN_CODE: { + SUPPORT: 'support_state', + NOTIFY: 'notify_state', + MAIL: 'mail_state', + BROADCAST: 'broadcast_state', + RANKING: 'ranking_state', + BANK: 'bank_state', + GIFT_CODE: 'giftcode_state', + UNION: 'union_state', + CHECKIN: 'checkin_state', + LOGIN_AWARD: 'login_award_state', + ONLINE_AWARD: 'online_award_state', + NOVICE_TASK: 'novice_task_state', + EVERYDAY_TASK: 'everyday_task_state', + ACTIVITY: 'activity_state', + RED_ENVELOPE: 'red_envelope_state', + MYSTERY: 'mystery_state', + BAG: 'bag_state', + EVERYDAY_REBATE: 'everyday_rebate_state', + CHILD_REBATE: 'child_rebate_state', + WELFARE: 'welfare_state', + PAY: 'pay_state', + PAY1: 'pay1_state', + PAY2: 'pay2_state', + REDEEM: 'redeem_state', + TRANSFER: 'transfer_state', + EVERYDAY_GIFT: 'everyday_gift_state', + EVERYDAY_SLOTS: 'everyday_slots_state', + SUPER_CASH: 'super_cash_state', + ONE_OF_THREE: 'one_of_three_state', + VIP_AWARD: 'vip_award_state', + TOTAL_REBATE: 'total_rebate_state', + HELP_TURNTABLE: 'help_turntable_state', + HELP_TURNTABLE2: 'help_turntable2_state', + + TASK: 'task_state', + }, + + /** 道具属性编码定义 */ + PROPS_ATTR_CODE: { + /** 背包分类 */ + BAG_CLASS: 0, + /** 获得金币 */ + COINS: 1, + /** 获取经验 */ + EXP: 2, + /** 金币卡 */ + COINS_CARD: 3, + /** 红包-自己 */ + RED_ENVELOPE_SELF: 4, + /** 红包-别人 */ + RED_ENVELOPE_OTHER: 5, + /** 有效天数 */ + DAY_LIMIT: 6, + /** 有效小时数 */ + HOUR_LIMIT: 7, + /** 有效次数 */ + COUNT_LIMIT: 8, + /** 替代押注花费 */ + FREE_COINS: 9, + /** 奖励翻倍 */ + COINS_UP: 10, + /** 堆叠数量 */ + STACK_NUM: 11, + /** 限制数量 */ + NUM_LIMIT: 12, + /** 进入子游戏 */ + ENTER_GAME: 13, + /** 道具碎片 */ + PROP_CHIP: 14, + /** 转换金币 */ + CONVERT_COINS: 15, + /** 可装备 */ + CAN_LOAD: 16, + /** 钻石 */ + DIAMOND: 17, + /** 头像 */ + HEAD: 18, + /** 头像框 */ + FRAME: 19, + /** 可免费使用 */ + FREE_USE: 20 + }, + + /** 背包分类(与属性编码中BAG_CLASS的值对应) */ + BAG_CLASS: { + /** 综合 */ + ALL: 0, + /** 道具 */ + PROPS: 1, + /** 金币 */ + COINS: 2, + /** 红包 */ + RED_ENVELOPE: 3, + /** 皮肤 */ + SKIN: 4, + /** 碎片 */ + CHIP: 5, + }, + + /** 任务属性定义 */ + TASK_COND_CODE: { + /** 阶段 */ + STEP: 0, + /** 限制数量 */ + LIMIT_NUM: 1, + /** 生成几率 */ + ODDS: 2, + /** 解锁黄金奖励价格 */ + VIP_UNLOCK: 3, + }, + + /** 任务规则编码定义 */ + TASK_RULE_CODE: { + /** 充值 */ + PAY: 0, + /** 赢 */ + WIN: 1, + /** 输 */ + LOSE: 2, + /** 投入 */ + INVEST: 3, + /** 金币数 */ + COINS: 4, + /** 金额 */ + PRICE: 5, + /** 次数 */ + COUNT: 6, + /** 天数 */ + DAY: 7, + /** 秒数 */ + SECOND: 8, + /** 连续的 */ + CONTINUOUS: 9, + /** 累计的 */ + TOTAL: 10, + /** 在线时长 */ + ONLINE: 11, + /** 签到 */ + CHECKIN: 12, + /** 冷却 */ + COLD: 13, + /** + * 特殊行为 + * 值1:Slots免费摇奖,捕鱼鱼潮 + * 值2:Slots小游戏,捕鱼BOSS + * 值3:Slots大赢 + */ + SPECIAL_ACTION: 14, + /** + * 特殊条件 + * 值N:捕鱼击杀N倍的鱼生效 + */ + SPECIAL_CONDITION: 15, + /** 参与游戏 */ + PLAY: 16, + /** 完成指定活动的任务 */ + TASK: 17, + /** 拉霸类 */ + SLOTS: 18, + /** 捕鱼类 */ + FISH: 19, + /** 扑克类 */ + POKER: 20, + /** 游戏名称(游戏内部名称) */ + GAME_ID: 99 + }, + + /** 功能状态 */ + VISIBLE_STATE: { + /** 隐藏 */ + HIDDEN: 0, + /** 禁用 */ + DISABLE: 1, + /** 启用 */ + ENABLE: 2 + }, + + /** 活动弹窗配置 */ + ACTIVITY_ALERT_CONFIG: { + /** 每日摇奖 */ + 1: prefab.EVERYDAY_SLOTS, + /** 三选一礼包 */ + 2: prefab.ONE_OF_THREE, + /** 超级返利 */ + 3: prefab.SUPER_CASH, + /** 拼多多轮盘 */ + 4: prefab.HELP_TURNTABLE, + /** 注册赠送 */ + 5: prefab.REG_GIFT, + /** 拼多多轮盘2 */ + 6: prefab.HELP_TURNTABLE2 + }, + + /** 转盘2奖项类型 */ + HELP_TURNTABLE2_AWARD_TYPE: { + /**任务金币(给初始进度) */ + FIRST_TASK_COINS: { value: 1, txt: '任务首次金币' }, + COINS: { value: 2, txt: '直接获得金币' }, + /**提现到金币余额 */ + WITHDRAW: { value: 3, txt: '直接提现' }, + /**任务金币(增加任务进度) */ + TASK_COINS: { value: 4, txt: '任务金币' }, + NO_AWARD: { value: 5, txt: '未中奖' }, + DIAMOND: { value: 6, txt: '直接获得钻石' }, + }, + /** 提现方式 */ + TRANS_METHOD_TYPE: { + MOBILE: { value: 1, txt: 'MOBILE' }, + EMAIL: { value: 2, txt: 'EMAIL' }, + CPF: { value: 3, txt: 'CPF' }, + EVP: { value: 4, txt: 'EVP' }, + CNPJ: { value: 5, txt: 'CNPJ' }, + }, +} \ No newline at end of file diff --git a/src/socket/config/Key.js b/src/socket/config/Key.js new file mode 100644 index 0000000..a2a01a3 --- /dev/null +++ b/src/socket/config/Key.js @@ -0,0 +1,6 @@ +/** 加解密用的Key */ + +export default { + /** 服务端与客户端对称加密交互数据用的key */ + PRIVATE_KEY: 'sKx@9x27nDwdm#9s', +} \ No newline at end of file diff --git a/src/socket/config/Prefab.js b/src/socket/config/Prefab.js new file mode 100644 index 0000000..28e3a47 --- /dev/null +++ b/src/socket/config/Prefab.js @@ -0,0 +1,387 @@ +/** 预置件(prefab)的map映射 */ + +export default { + + //////////////////////////////////////////////////////////////////////////////////////////////// + //#region 常用(进入首页时创建,任意场景调用) + + /** Loading */ + LOADING: { NAME: 'fab_loading', SCRIPT: 'LoadingController' }, + + /** Tips */ + TIPS: { NAME: 'fab_tips', SCRIPT: 'TipsController' }, + + /** Alert */ + ALERT: { NAME: 'fab_alert', SCRIPT: 'AlertController' }, + + /** 气泡提示 */ + BUBBLE: { NAME: 'fab_bubble', SCRIPT: 'BubbleController' }, + + /** 安全键盘 */ + KEYBOARD: { NAME: 'fab_keyboard', SCRIPT: 'KeyboardController' }, + + /** 广播 */ + BROADCAST: { NAME: 'fab_broadcast', SCRIPT: 'BroadcastController' }, + + /** 飞金币&筹码 */ + SEND_SCORE: { NAME: 'fab_send_score', SCRIPT: 'SendScoreController' }, + + /** 道具图标 */ + PROP_ICON: { NAME: 'fab_prop_icon', SCRIPT: 'PropIconController' }, + + /** 游戏道具获取提示 */ + PROP_GET_TIPS: { NAME: 'fab_prop_get_tips', SCRIPT: 'PropGetTipsController' }, + + //#endregion + //////////////////////////////////////////////////////////////////////////////////////////////// + + + //////////////////////////////////////////////////////////////////////////////////////////////// + //#region 首页用(使用时创建,只回收,不销毁) + + /** 大厅热更新 */ + HOTUPDATE_HALL: { NAME: 'fab_hotupdate_hall', SCRIPT: 'HotUpdateHallController' }, + + /** 手机注册 */ + MOBILE_REG: { NAME: 'fab_mobile_reg', SCRIPT: 'MobileRegController' }, + + /** 手机登录 */ + MOBILE_LOGIN: { NAME: 'fab_mobile_login', SCRIPT: 'MobileLoginController' }, + + /** 找回密码 */ + FIND_PWD: { NAME: 'fab_find_pwd', SCRIPT: 'FindPwdController' }, + + /** 切换语言 */ + LANGUAGE: { NAME: 'fab_language', SCRIPT: 'LanguageController' }, + + //#endregion + //////////////////////////////////////////////////////////////////////////////////////////////// + + + //////////////////////////////////////////////////////////////////////////////////////////////// + //#region 大厅用(使用时创建,只回收,不销毁) + + /** 游戏热更新 */ + HOTUPDATE_GAME: { NAME: 'fab_hotupdate_game', SCRIPT: 'HotUpdateGameController' }, + + /** 进入房间 */ + ENTER_ROOM: { NAME: 'fab_enter_room', SCRIPT: 'EnterRoomController' }, + + /** 游戏入口图标 */ + ENTRY_ICON: { NAME: 'fab_entry_icon', SCRIPT: 'EntryIconController' }, + + /** 设置 */ + SETUP: { NAME: 'fab_setup', SCRIPT: 'SetupController' }, + + /** 自己详情 */ + SELF_DETAIL: { NAME: 'fab_self_detail', SCRIPT: 'SelfDetailController' }, + + /** 修改昵称 */ + EDIT_NICKNAME: { NAME: 'fab_edit_nickname', SCRIPT: 'EditNicknameController' }, + + /** 修改头像&头像框 */ + EDIT_HEAD: { NAME: 'fab_edit_head', SCRIPT: 'EditHeadController' }, + + /** 注册赠送 */ + REG_GIFT: { NAME: 'fab_reg_gift', SCRIPT: 'RegGiftController' }, + + /** 管理后台 */ + MANAGE: { NAME: 'fab_manage', SCRIPT: 'ManageController' }, + + /** 使用兑换码 */ + GIFT_CODE_USE: { NAME: 'fab_gift_code_use', SCRIPT: 'GiftCodeUseController' }, + + /** 绑定/验证手机 */ + MOBILE: { NAME: 'fab_mobile', SCRIPT: 'MobileController' }, + + /** 新手引导 */ + INTRO: { NAME: 'fab_intro', SCRIPT: 'IntroController' }, + + /** 新手引导任务 */ + INTRO_TASK: { NAME: 'fab_intro_task', SCRIPT: 'IntroTaskController' }, + + /** 邮件 */ + MAIL: { NAME: 'fab_mail', SCRIPT: 'MailController' }, + + /** 排行榜 */ + RANKING: { NAME: 'fab_ranking', SCRIPT: 'RankingController' }, + + /** 银行 */ + BANK: { NAME: 'fab_bank', SCRIPT: 'BankController' }, + + /** 登录银行 */ + BANK_LOGIN: { NAME: 'fab_bank_login', SCRIPT: 'BankLoginController' }, + + /** 设置银行密码 */ + BANK_SET_PWD: { NAME: 'fab_bank_set_pwd', SCRIPT: 'BankSetPwdController' }, + + /** 兑换码 */ + GIFT_CODE: { NAME: 'fab_gift_code', SCRIPT: 'GiftCodeController' }, + + /** 工会 */ + UNION: { NAME: 'fab_union', SCRIPT: 'UnionController' }, + + /** 工会_邀请 */ + UNION_INVITE: { NAME: 'fab_union_invite', SCRIPT: 'UnionInviteController' }, + + /** 工会_成员条目 */ + UNION_ITEM: { NAME: 'fab_union_item', SCRIPT: 'UnionItemController' }, + + /** 签到 */ + CHECKIN: { NAME: 'fab_checkin', SCRIPT: 'CheckinController' }, + + /** 签到_今日 */ + CHECKIN_DAY: { NAME: 'fab_checkin_day', SCRIPT: 'CheckinDayController' }, + + /** 登录奖励 */ + LOGIN_AWARD: { NAME: 'fab_login_award', SCRIPT: 'LoginAwardController' }, + + /** 在线奖励 */ + ONLINE_AWARD: { NAME: 'fab_online_award', SCRIPT: 'OnlineAwardController' }, + + /** 任务 */ + TASK: { NAME: 'fab_task', SCRIPT: 'TaskController' }, + + /** 任务_新手任务条目 */ + TASK_GROUP_ITEM: { NAME: 'fab_task_new_user', SCRIPT: 'TaskNoviceItemController' }, + + /** 任务_详情弹窗 */ + TASK_ALERT: { NAME: 'fab_task_alert', SCRIPT: 'TaskAlertController' }, + + /** 活动 */ + ACTIVITY: { NAME: 'fab_activity', SCRIPT: 'ActivityController' }, + + /** 活动_分类按钮 */ + ACTIVITY_CLASS_BTN: { NAME: 'fab_activity_class_btn', SCRIPT: 'ActivityClassBtnController' }, + + /** 活动_内容页面 */ + ACTIVITY_CONTENT: { NAME: 'fab_activity_content', SCRIPT: 'ActivityContentController' }, + + /** 活动_左侧目录按钮 */ + ACTIVITY_MENU_BTN: { NAME: 'fab_activity_menu_btn', SCRIPT: 'ActivityMenuBtnController' }, + + /** 活动_右侧内容模板 */ + ACTIVITY_TEMPLATE: [ + { NAME: 'fab_activity_template_0', SCRIPT: 'ActivityContentTemplate0Controller' }, + { NAME: 'fab_activity_template_1', SCRIPT: 'ActivityContentTemplate1Controller' }, + { NAME: 'fab_activity_template_2', SCRIPT: 'ActivityContentTemplate2Controller' }, + { NAME: 'fab_activity_template_3', SCRIPT: 'ActivityContentTemplate3Controller' }, + ], + + /** 抢红包 */ + RED_ENVELOPE: { NAME: 'fab_red_envelope', SCRIPT: 'RedEnvelopeController' }, + + /** 抢红包_领取后展示 */ + RED_ENVELOPE_SHOW: { NAME: 'fab_red_envelope_show', SCRIPT: 'RedEnvelopeShowController' }, + + /** 神秘商店 */ + MYSTERY: { NAME: 'fab_mystery', SCRIPT: 'MysteryController' }, + + /** 神秘商店_橱窗 */ + MYSTERY_SHOW_ITEM: { NAME: 'fab_mystery_show_item', SCRIPT: 'MysteryShowItemController' }, + + /** 神秘商店_使用中的商品 */ + MYSTERY_USED_ITEM: { NAME: 'fab_mystery_used_item', SCRIPT: 'MysteryUsedItemController' }, + + /** 背包 */ + BAG: { NAME: 'fab_bag', SCRIPT: 'BagController' }, + + /** 每日返利 */ + EVERYDAY_REBATE: { NAME: 'fab_everyday_rebate', SCRIPT: 'EverydayRebateController' }, + + /** 用户下注返利 */ + TOTAL_REBATE: { NAME: 'total_rebate', SCRIPT: 'TotalRebateController' }, + + /** 救济 */ + WELFARE: { NAME: 'fab_welfare', SCRIPT: 'WelfareController' }, + + /** 商店 */ + SHOP: { NAME: 'fab_shop', SCRIPT: 'ShopController' }, + + /** 商店2 */ + SHOP2: { NAME: 'fab_shop2', SCRIPT: 'Shop2Controller' }, + + /** 商店2_充值频道 */ + SHOP2_CHANNEL_ITEM: { NAME: 'fab_shop2_channel_item', SCRIPT: 'Shop2ChannelController' }, + + /** 商店2_商品 */ + SHOP2_ITEM: { NAME: 'fab_shop2_item', SCRIPT: 'Shop2ItemController' }, + + /** 提取返利 */ + CONVERT: { NAME: 'fab_convert', SCRIPT: 'ConvertController' }, + + /** 每日礼包 */ + EVERYDAY_GIFT: { NAME: 'fab_everyday_gift', SCRIPT: 'EverydayGiftController' }, + + /** 每日摇奖 */ + EVERYDAY_SLOTS: { NAME: 'fab_everyday_slots', SCRIPT: 'EverydaySlotsController' }, + + /** 首充 */ + FIRST_PAY: { NAME: 'fab_first_pay', SCRIPT: 'FirstPayController' }, + + /** 超值礼包 */ + SUPER_CASH: { NAME: 'fab_super_cash', SCRIPT: 'SuperCashController' }, + + /** 三选一礼包 */ + ONE_OF_THREE: { NAME: 'fab_one_of_three', SCRIPT: 'OneOfThreeController' }, + + /** 助力轮盘 */ + HELP_TURNTABLE: { NAME: 'fab_help_turntable', SCRIPT: 'HelpTurntableController' }, + + /** 助力轮盘奖励 */ + HELP_TURNTABLE_REWARD_ITEM: { NAME: 'fab_help_turntable_reward_item', SCRIPT: 'HelpTurntableRewardItemController' }, + + /** 助力表格 */ + HELP_TURNTABLE_ASSISTANCE: { NAME: 'fab_help_turntable_assistance', SCRIPT: 'HelpTurntableAssistanceController' }, + + /** 助力立即邀请 */ + HELP_TURNTABLE_INVITE_NOW_ITEM: { NAME: 'fab_help_turntable_invite_now_item', SCRIPT: 'HelpTurntableInviteNowItemController' }, + + /** 助力所有玩家领取记录 */ + HELP_TURNTABLE_RECEIVE_ITEM: { NAME: 'fab_help_turntable_receive_item', SCRIPT: 'HelpTurntableReceiveItemController' }, + + /** 助力规则 */ + HELP_TURNTABLE_RULE_ITEM: { NAME: 'fab_help_turntable_rule_item', SCRIPT: 'HelpTurntableRuleItemController' }, + + /** 助力2轮盘 */ + HELP_TURNTABLE2: { NAME: 'fab_help_turntable2', SCRIPT: 'HelpTurntable2Controller' }, + + /** 助力2轮盘 */ + HELP_TURNTABLE2_SAMLL: { NAME: 'fab_help_turntable2_small', SCRIPT: 'HelpTurntable2SmallController' }, + + /** 助力2轮盘奖励 */ + HELP_TURNTABLE_REWARD2: { NAME: 'fab_help_turntable_reward2', SCRIPT: 'HelpTurntableReward2Controller' }, + + /** 助力2表格 */ + HELP_TURNTABLE_ASSISTANCE_DETAILS2: { NAME: 'fab_help_turntable_assistance_details2', SCRIPT: 'HelpTurntableAssistance2Controller' }, + + /** 助力2立即邀请 */ + HELP_TURNTABLE_INVITE_NOW2: { NAME: 'fab_help_turntable_invite_now2', SCRIPT: 'HelpTurntableInviteNow2Controller' }, + + /** 助力2所有玩家领取记录 */ + HELP_TURNTABLE_RECEIVE_RECORD_ITEM2: { NAME: 'fab_help_turntable_receive_record2', SCRIPT: 'HelpTurntableReceiveItem2Controller' }, + + /** 助力2规则 */ + HELP_TURNTABLE_RULE_ITEM2: { NAME: 'fab_help_turntable_rule_item2', SCRIPT: 'HelpTurntableRuleItem2Controller' }, + + /** 提现 */ + WITHDRAW: { NAME: 'fab_withdraw', SCRIPT: 'WithDrawController' }, + + /** 提现详情 */ + WITHDRAW_DETAILS: { NAME: 'fab_withdraw_details', SCRIPT: 'WithDrawDetailsController' }, + + /** 提现账户管理 */ + BANK_MANAGER: { NAME: 'fab_bank_manager', SCRIPT: 'BankManagerController' }, + + /** vip */ + VIP: { NAME: 'fab_vip', SCRIPT: 'VipController' }, + + /** vip等级奖励 */ + VIP_LV_AWARD: { NAME: 'fab_vip_award', SCRIPT: 'VipLvAwardsController' }, + + /** 下级返利 */ + CHILD_REBATE: { NAME: 'fab_child_rebate', SCRIPT: 'ChildRebateController' }, + + /** 下级返利_详情 */ + CHILD_REBATE_DETAIL: { NAME: 'fab_child_rebate_detail', SCRIPT: 'ChildRebateDetailController' }, + + /** 支付方式 */ + PAY_CHANNEL: { NAME: 'fab_pay_channel', SCRIPT: 'PayChannelController' }, + + /** 支付 */ + PAY: { NAME: 'fab_pay', SCRIPT: 'PayController' }, + + /** 邀请弹窗 */ + INVITE: { NAME: 'fab_invite', SCRIPT: 'InviteController' }, + + /** 邀请弹窗2 */ + INVITE2: { NAME: 'fab_invite2', SCRIPT: 'Invite2Controller' }, + + /** 进度提示弹窗2 */ + HELP_TURNTABLE2_TIPS: { NAME: 'fab_help_turntable2_tips', SCRIPT: 'HelpTurntable2TipsController' }, + + //#endregion + //////////////////////////////////////////////////////////////////////////////////////////////// + + + //////////////////////////////////////////////////////////////////////////////////////////////// + //#region 游戏公用(适用于同一个脚本和预置件给所有游戏用,退出游戏回收) + + /** 游戏开始 */ + GAME_START: { NAME: 'fab_game_start', SCRIPT: 'GameStartController' }, + + /** 开始&停止下注 */ + GAME_BET: { NAME: 'fab_game_bet', SCRIPT: 'GameBetController' }, + + /** 输赢结果展示1 */ + GAME_RESULT1: { NAME: 'fab_game_result', SCRIPT: 'GameResult1Controller' }, + + /** 胜利展示 */ + GAME_WIN: { NAME: 'fab_game_win', SCRIPT: 'GameWinController' }, + + /** 胜利展示1 */ + GAME_WIN1: { NAME: 'fab_game_win1', SCRIPT: 'GameWin1Controller' }, + + /** 胜利展示2 */ + GAME_WIN2: { NAME: 'fab_game_win2', SCRIPT: 'GameWin2Controller' }, + + /** 赢得彩金展示 */ + GAME_BONUS: { NAME: 'fab_game_bonus', SCRIPT: 'GameBonusController' }, + + /** 免费摇奖展示 */ + GAME_FREE: { NAME: 'fab_game_free', SCRIPT: 'GameFreeController' }, + + /** 庄动画 */ + GAME_MASTER: { NAME: 'fab_game_master', SCRIPT: 'GameMasterController' }, + + /** 抛出金币&筹码 */ + GAME_CAST_SCORE: { NAME: 'fab_game_cast_score', SCRIPT: 'CastScoreController' }, + + /** 游戏详情 */ + GAME_INFO: { NAME: 'fab_game_info', SCRIPT: 'GameInfoController' }, + + /** 游戏扑克牌 */ + GAME_CARD: { NAME: 'fab_game_card', SCRIPT: 'GameCardController' }, + + /** 粒子效果1 */ + GAME_PARTICLE: { NAME: 'fab_game_particle', SCRIPT: 'GameParticleController' }, + + //#endregion + //////////////////////////////////////////////////////////////////////////////////////////////// + + + //////////////////////////////////////////////////////////////////////////////////////////////// + //#region 游戏场次入口预置件配置,通过分包加载 + + SCENE_ENTRY: { + /** 公共场次选择界面 */ + COMMON_SCENE: { NAME: 'fab_common_scene', SCRIPT: 'CommonSceneController' }, + + /** 捕鱼 */ + FISH_ENTRY: { NAME: 'fab_fish_entry', SCRIPT: 'FishEntryController' }, + + /** 斗牛 */ + OX_ENTRY: { NAME: 'fab_ox_entry', SCRIPT: 'OxEntryController' }, + + /** 五子棋 */ + GOBANG_ENTRY: { NAME: 'fab_gobang_entry', SCRIPT: 'GobangEntryController' }, + + /** 德州扑克 */ + TEXAS_POKER_ENTRY: { NAME: 'fab_texas_poker_entry', SCRIPT: 'TexasPokerEntryController' }, + + /** 血战麻将 */ + MJ_SICHUAN_ENTRY: { NAME: 'fab_mj_sichuan_entry', SCRIPT: 'MjSichuanEntryController' }, + + /** 炸金花 */ + GOLDEN_FLOWER_ENTRY: { NAME: 'fab_golden_flower_entry', SCRIPT: 'GoldenFlowerEntryController' }, + + /** 抢庄牛牛 */ + OX_ROB_ENTRY: { NAME: 'fab_ox_rob_entry', SCRIPT: 'OxRobEntryController' }, + + /** 疯狂牛牛 */ + OX_ALL_ENTRY: { NAME: 'fab_ox_all_entry', SCRIPT: 'OxAllEntryController' }, + } + + //#endregion + //////////////////////////////////////////////////////////////////////////////////////////////// +} \ No newline at end of file diff --git a/src/socket/notify.js b/src/socket/notify.js new file mode 100644 index 0000000..064e88a --- /dev/null +++ b/src/socket/notify.js @@ -0,0 +1,131 @@ +import emitter from "@/utils/eventBus"; +import ToolsBase from './tools/ToolsBase.js'; +import router from '@/router'; +import storage, { actions } from "@/utils/storage"; +import { useUserStoreWithOut } from "@/stores/modules/user"; +import { useBaseStoreWithOut } from '@/stores/modules/base'; +import { useNoticeStoreWithOut } from '@/stores/modules/notice'; +import { useGameListStoreWithOut } from '@/stores/modules/game-list'; +import { useGameStoreWithOut } from '@/stores/modules/game' + +export default class extends ToolsBase { + constructor(props) { + super() + // console.log('---开始接收通知---', props) + this.props = props + + //拼单单开奖通知 + this.props.on(this.cfg.global.EVENT_NAME.PDD_AWARD, (res) => { + console.log(res, 'EVENT_NAME.PDD_AWARD') + if (res.uid === useUserStoreWithOut().userInfo.uid) { + console.log("已中奖") + useUserStoreWithOut().getUserInfo(); + useUserStoreWithOut().setPddAward(res.propsList); + } + }) + // 其他通知 + this.props.on(this.cfg.global.EVENT_NAME.GAME_NOTIFY, (res) => { + console.log(res, 'EVENT_NAME.GAME_NOTIFYEVENT_NAME.GAME_NOTIFY') + // 刷新用户信息 + if (res.isUpdateMyInfo) { + console.log('--------------refresh userinfo--------------') + useUserStoreWithOut().getUserInfo(); + } + // 有新站内信 + if (res.newNotice) { + useUserStoreWithOut().hasNewNotice(res.newNotice); + } + // 有新邮件 + if (res.newMail) { + useUserStoreWithOut().hasNewMail(res.newMail); + useBaseStoreWithOut().setRefreshTurntable(false) + /** + * 是否有转盘任务 + * 刷新转盘 + * 刷新帮助列表 + */ + // if (useBaseStoreWithOut().turntableConfig.helpTurntable2TaskList && useBaseStoreWithOut().turntableConfig.helpTurntable2TaskList.rows.length) { + // useBaseStoreWithOut().getHelpTurntable() + // useBaseStoreWithOut().setRefreshTurntable(true) + // useBaseStoreWithOut().refreshHelpList({ + // _id: useBaseStoreWithOut().turntableConfig.helpTurntable2TaskList.rows[0]._id, + // uid: useUserStoreWithOut().userInfo.uid, + // pageIndex: 1, + // pageSize: 10, + // }) + // } + } + }) + // 广播通知 + this.props.on(this.cfg.global.EVENT_NAME.BROADCAST, (res) => { + useNoticeStoreWithOut().setBroadcast(res) + if (!res.url && !res.urlType) { + useNoticeStoreWithOut().setNotice(res) + } + }) + // 转盘通知 + this.props.on(this.cfg.global.EVENT_NAME.NEW_RECEIVE_HELP_TURNTABLE2, (res) => { + // console.log(res, '-----NEW_RECEIVE_HELP_TURNTABLE2-----') + }) + // 下线通知 + this.props.on(this.cfg.global.EVENT_NAME.ON_KICK, (res) => { + console.log(res, '-----下线通知-----2'); + storage.clearStorage(); + storage.removeSessionStorage(actions.HOME_POSITION); + useUserStoreWithOut().clearUser(); + useGameStoreWithOut().clearGameUrl(); + emitter.emit("closeGame"); + router.replace("/login"); + }) + + // GAME_INFO_CHANGE 游戏列表数据更新通知 + this.props.on(this.cfg.global.EVENT_NAME.GAME_INFO_CHANGE, (res) => { + console.log(res, '---GAME_INFO_CHANGE---') + if (res.code !== 0) return + let originalList = useGameListStoreWithOut().originalList; + let newGameData = [...originalList] + if (!newGameData.find(item => item._id === res.data._id)) { + newGameData.unshift(res.data) + return useGameListStoreWithOut().setAllGameList(newGameData) + } + for (let i = 0; i < originalList.length; i++) { + if (originalList[i]._id === res.data._id) { + newGameData[i] = res.data + } + } + newGameData = newGameData.filter(item=>item.state !== -1); + useGameListStoreWithOut().setAllGameList(newGameData) + }) + // 轮播状态更新 + this.props.on(this.cfg.global.EVENT_NAME.ROTATION_CHART_CHANGE, async (res) => { + if (res.code !== 0) return + await useGameListStoreWithOut().setCarouselData() + }) + // 游戏厂商跟新 + this.props.on(this.cfg.global.EVENT_NAME.GAME_PROVIDER_CHANGE, async (res) => { + if (res.code !== 0) return + await useGameListStoreWithOut().setProviderListData() + }) + // 游戏类数据跟新 + this.props.on(this.cfg.global.EVENT_NAME.GAME_CLASS_CHANGE, async (res) => { + if (res.code !== 0) return + await useGameListStoreWithOut().setGameClassDataData(true) + }) + // 功能状态更新 + this.props.on(this.cfg.global.EVENT_NAME.SWITCH_CONFIG, async (res) => { + useBaseStoreWithOut().globalConfig.switchConfig[res.key] = res.value + }) + // 平台配置更新 + this.props.on(this.cfg.global.EVENT_NAME.PLATFORM_CONFIG, async (res) => { + useBaseStoreWithOut().globalConfig.platformConfig[res.key] = res.value + }) + + this.props.on('close', (res) => { + console.log(res, 'close-------socket') + }) + + this.props.on('disconnect', (res) => { + console.log(res, 'disconnect-------socket') + }) + } +} \ No newline at end of file diff --git a/src/socket/pomelo/Emitter.js b/src/socket/pomelo/Emitter.js new file mode 100644 index 0000000..ca3dc19 --- /dev/null +++ b/src/socket/pomelo/Emitter.js @@ -0,0 +1,149 @@ +/** pomelo事件管理器 */ + +export default class { + constructor() { + /** 服务器名称 */ + this.serverName = ''; + }; + + /** + * 注册事件 + * @param {String} event 事件名称 + * @param {Function} fn 事件回调 + */ + on(event, fn) { + this.addEventListener(event, fn); + }; + + /** + * 注册事件(和on一毛一样,为啥要两个?) + * @param {String} event 事件名称 + * @param {Function} fn 事件回调 + */ + addEventListener(event, fn) { + this._callbacks = this._callbacks || {}; + (this._callbacks[event] = this._callbacks[event] || []).push(fn); + + return this; + }; + + /** + * 添加只触发一次的事件侦听器 + * @param {String} event + * @param {Function} fn + */ + once(event, fn) { + var self = this; + this._callbacks = this._callbacks || {}; + + function on() { + self.off(event, on); + fn.apply(this, arguments); + }; + + on.fn = fn; + this.on(event, on); + return this; + }; + + /** + * 移除事件(如果不指定事件回调,并且有多个on监听,则移除第一个) + * @param {String} event 事件名称 + * @param {Function} fn 事件回调 + */ + off(event, fn) { + this.removeEventListener(event, fn); + }; + + /** + * 移除指定事件 + * @param {String} event 事件名称 + */ + removeListener(event) { + this.removeEventListener(event); + }; + + /** 清除所有事件 */ + removeAllListeners() { + this.removeEventListener(); + }; + + /** + * 移除指定事件 + * @param {String} event 事件名称 + * @param {Function} fn 事件回调 + */ + removeEventListener(event, fn) { + this._callbacks = this._callbacks || {}; + + // 如果不指定参数,就是移除所有 + if (!event) { + this._callbacks = {}; + return this; + }; + + // 查看有没有指定事件名的处理函数 + var callbacks = this._callbacks[event]; + if (!callbacks) return this; + + // 移除指定事件名的所有处理函数 + if (!fn) { + delete this._callbacks[event]; + return this; + }; + + // 移除指定的事件处理函数 + var cb; + for (var i = 0; i < callbacks.length; i++) { + cb = callbacks[i]; + if (cb === fn || cb.fn === fn) { + callbacks.splice(i, 1); + break; + }; + }; + + return this; + }; + + /** + * 使用给定的参数触发事件 + * @param {String} event + * @param {Mixed} ... + */ + emit(event) { + this._callbacks = this._callbacks || {}; + // 获取参数 + var args = [].slice.call(arguments, 1); + // 获取所有的回调,并调用所有函数 + var callbacks = this._callbacks[event]; + + // 执行事件回调函数 + if (callbacks) { + callbacks = callbacks.slice(0); + for (var i = 0, len = callbacks.length; i < len; ++i) { + callbacks[i].apply(this, args); + }; + }; + + return this; + }; + + /** + * 获取事件的回调 + * @param {String} event + * @return {Array} + */ + listeners(event) { + this._callbacks = this._callbacks || {}; + return this._callbacks[event] || []; + }; + + /** + * 是否有指定事件 + * @param {String} event + * @return {Boolean} + */ + hasListeners(event) { + return !!this.listeners(event).length; + }; +} \ No newline at end of file diff --git a/src/socket/pomelo/Message.js b/src/socket/pomelo/Message.js new file mode 100644 index 0000000..3e55933 --- /dev/null +++ b/src/socket/pomelo/Message.js @@ -0,0 +1,292 @@ +/** pomelo消息编解码 */ + +import Protocol from './Protocol.js'; + +export default () => { + + return new class { + + constructor() { + /** 协议数据编码/解码工具 */ + this.protocol = Protocol(); + + /** 消息标志的字节长度 */ + this.MSG_FLAG_BYTES = 1; + /** 路由编码的字节长度 */ + this.MSG_ROUTE_CODE_BYTES = 2; + /** 消息id的最大字节数 */ + this.MSG_ID_MAX_BYTES = 5; + /** 消息路由的长度字节数 */ + this.MSG_ROUTE_LEN_BYTES = 1; + /** 消息路由编码的最大长度 */ + this.MSG_ROUTE_CODE_MAX = 0xffff; + /** 消息路由压缩掩码 */ + this.MSG_COMPRESS_ROUTE_MASK = 0x1; + /** 消息类型掩码 */ + this.MSG_TYPE_MASK = 0x7; + /** 消息类型:请求,以回调的方式接受服务端的响应 */ + this.TYPE_REQUEST = 0; + /** 消息类型:通知,发送给服务端,不需要响应 */ + this.TYPE_NOTIFY = 1; + /** 消息类型:响应,从服务端接收的 */ + this.TYPE_RESPONSE = 2; + /** 消息类型:推送,服务端主动推送给客户端的消息 */ + this.TYPE_PUSH = 3; + }; + + /** + * 消息协议编码 + * @param {Number} id 消息ID + * @param {Number} type 消息的类型 + * @param {Number} compressRoute 是否压缩路由 + * @param {Number} route 路由 + * @param {Uint8Array} msg 消息体的字节数据 + */ + encode(id, type, compressRoute, route, msg) { + // 消息最大长度 + var idBytes = this.msgHasId(type) ? this.caculateMsgIdBytes(id) : 0; + var msgLen = this.MSG_FLAG_BYTES + idBytes; + + // 校验是否是请求、通知、推送 + if (this.msgHasRoute(type)) { + if (compressRoute) { + if (typeof route !== 'number') { + return console.error('路由参数错误!'); + }; + msgLen += this.MSG_ROUTE_CODE_BYTES; + } else { + msgLen += this.MSG_ROUTE_LEN_BYTES; + if (route) { + // 编码路由 + route = this.protocol.strencode(route); + if (route.length > 255) { + return console.error('路由超长!'); + }; + msgLen += route.length; + }; + }; + }; + + if (msg) { + msgLen += msg.length; + }; + + var buffer = new Uint8Array(msgLen); + var offset = 0; + + // 添加消息标志到消息中 + offset = this.encodeMsgFlag(type, compressRoute, buffer, offset); + + // 添加消息id到消息中 + if (this.msgHasId(type)) { + offset = this.encodeMsgId(id, buffer, offset); + }; + + // 添加路由到消息中 + if (this.msgHasRoute(type)) { + offset = this.encodeMsgRoute(compressRoute, route, buffer, offset); + }; + + // 添加消息体 + if (msg) { + offset = this.encodeMsgBody(msg, buffer, offset); + }; + + return buffer; + }; + + /** + * 消息协议解码 + * @param {Buffer|Uint8Array} buffer 消息数据 + */ + decode(buffer) { + var bytes = new Uint8Array(buffer); + var bytesLen = bytes.length || bytes.byteLength; + var offset = 0; + var id = 0; + var route = null; + + // 解析消息标志 + var flag = bytes[offset++]; + var compressRoute = flag & this.MSG_COMPRESS_ROUTE_MASK; + var type = (flag >> 1) & this.MSG_TYPE_MASK; + + // 解析消息id + if (this.msgHasId(type)) { + var m = parseInt(bytes[offset]); + var i = 0; + do { + var m = parseInt(bytes[offset]); + id = id + ((m & 0x7f) * Math.pow(2, (7 * i))); + offset++; + i++; + } while (m >= 128); + }; + + // 解析路由 + if (this.msgHasRoute(type)) { + if (compressRoute) { + route = (bytes[offset++]) << 8 | bytes[offset++]; + } else { + var routeLen = bytes[offset++]; + if (routeLen) { + route = new Uint8Array(routeLen); + this.copyArray(route, 0, bytes, offset, routeLen); + route = this.protocol.strdecode(route); + } else { + route = ''; + }; + offset += routeLen; + }; + }; + + // 解析消息体 + var bodyLen = bytesLen - offset; + var body = new Uint8Array(bodyLen); + + this.copyArray(body, 0, bytes, offset, bodyLen); + + return { + 'id': id, + 'type': type, + 'compressRoute': compressRoute, + 'route': route, + 'body': body + }; + }; + + /** + * 是否是请求或者响应类型的消息 + * @param {Number} type 消息类型 + * @return {Boolean} + */ + msgHasId(type) { + return type === this.TYPE_REQUEST || type === this.TYPE_RESPONSE; + }; + + /** + * 消息是否为请求、通知、推送之一的路由 + * @param {Number} type + * @return {Boolean} + */ + msgHasRoute(type) { + return type === this.TYPE_REQUEST || type === this.TYPE_NOTIFY || type === this.TYPE_PUSH; + }; + + /** + * 计算消息的id的字节长度 + * @param {Number} id + * @return {Number} 消息id的字节长度 + */ + caculateMsgIdBytes(id) { + var len = 0; + do { + len += 1; + id >>= 7; + } while (id > 0); + return len; + }; + + /** + * 对消息标志进行编码 + * + * @param {Number} type 消息类型 + * @param {Number} compressRoute 是否压缩 + * @param {Uint8Array} buffer 消息数据 + * @param {Number} offset 偏移量 + */ + encodeMsgFlag(type, compressRoute, buffer, offset) { + // 校验消息类型 + if (type !== this.TYPE_REQUEST && type !== this.TYPE_NOTIFY && + type !== this.TYPE_RESPONSE && type !== this.TYPE_PUSH) { + + return console.error('未知消息类型:' + type); + }; + + buffer[offset] = (type << 1) | (compressRoute ? 1 : 0); + + return offset + this.MSG_FLAG_BYTES; + }; + + /** + * 对消息id进行编码 + * @param {Number} id 消息id + * @param {Uint8Array} buffer 消息数据 + * @param {Number} offset 偏移量 + */ + encodeMsgId(id, buffer, offset) { + do { + var tmp = id % 128; + var next = Math.floor(id / 128); + + if (next !== 0) { + tmp = tmp + 128; + }; + buffer[offset++] = tmp; + + id = next; + } while (id !== 0); + + return offset; + }; + + /** + * 对路由进行编码 + * @param {Number} compressRoute 是否压缩路由 + * @param {Number} route 路由 + * @param {Uint8Array} buffer 消息数据 + * @param {Number} offset 偏移量 + */ + encodeMsgRoute(compressRoute, route, buffer, offset) { + if (compressRoute) { + if (route > this.MSG_ROUTE_CODE_MAX) { + return console.error('消息超长'); + }; + + buffer[offset++] = (route >> 8) & 0xff; + buffer[offset++] = route & 0xff; + } else { + if (route) { + buffer[offset++] = route.length & 0xff; + this.copyArray(buffer, offset, route, 0, route.length); + offset += route.length; + } else { + buffer[offset++] = 0; + }; + }; + + return offset; + }; + + /** + * 对消息体进行编码 + * @param {Uint8Array} msg 消息体 + * @param {Uint8Array} buffer 消息数据 + * @param {Number} offset 偏移量 + */ + encodeMsgBody(msg, buffer, offset) { + this.copyArray(buffer, offset, msg, 0, msg.length); + return offset + msg.length; + }; + + /** + * 克隆字节数组 + * @param {Array} dest 目标数组-需要复制数据到的目标数组 + * @param {Number} doffset 目标数组偏移量 + * @param {Array} src 源数组-源数据的数组 + * @param {Number} soffset 源数组偏移量 + * @param {Number} length 要复制的源数组数据长度 + */ + copyArray(dest, doffset, src, soffset, length) { + if ('function' === typeof src.copy) { + // Buffer + src.copy(dest, doffset, soffset, soffset + length); + } else { + // Uint8Array + for (var index = 0; index < length; index++) { + dest[doffset++] = src[soffset++]; + }; + }; + }; + }; +} \ No newline at end of file diff --git a/src/socket/pomelo/Package.js b/src/socket/pomelo/Package.js new file mode 100644 index 0000000..4fd2401 --- /dev/null +++ b/src/socket/pomelo/Package.js @@ -0,0 +1,115 @@ +/** pomelo协议数据包编解码 */ + +export default () => { + + return new class { + + constructor() { + /** 封装类型:握手 */ + this.TYPE_HANDSHAKE = 1; + /** 封装类型:握手命令正确应答 */ + this.TYPE_HANDSHAKE_ACK = 2; + /** 封装类型:心跳 */ + this.TYPE_HEARTBEAT = 3; + /** 封装类型:数据 */ + this.TYPE_DATA = 4; + /** 封装类型:服务器主动断开连接通知 */ + this.TYPE_KICK = 5; + /** 封装消息的头的字节长度 */ + this.PKG_HEAD_BYTES = 4; + }; + + /** + * 协议数据包编码 + * + * 类型 消息体长度 消息体 + * +------+-------------+------------------+ + * | type | body length | body | + * +------+-------------+------------------+ + * + * Head: 4bytes + * 0: package type, --0包类型 + * 1 - handshake, --1:握手 + * 2 - handshake ack, --2:握手的回复 + * 3 - heartbeat, --3:心跳 + * 4 - data --4:数据 + * 5 - kick --5:服务器主动断开连接通知 + * 1 - 3: big-endian body length 消息体字节长度,高位优先 + * Body: body length bytes 消息体字节长度 + * @param {Number} 数据包的类型 + * @param {Uint8Array} 消息体的字节数据 + * @return {Uint8Array} 编码好的包含字节数组的数据 + */ + encode(type, body) { + // 消息体的字节数组长度 + var length = body ? body.length : 0; + // 创建buffer字节数组,长度为定义的封装的数据头部长度+消息体的长度 + var buffer = new Uint8Array(this.PKG_HEAD_BYTES + length); + // 开始处理消息的头部,这里长度做了唯一运算,头部的4个字节,高8位用于指定操作类型,低24位3个字节用于指定消息内容的长度 + var index = 0; + + // 包体采用3个字节24位的数字来表示数据的长度 + buffer[index++] = type & 0xff; // 去掉符号位 + buffer[index++] = (length >> 16) & 0xff; // 取第二个字节的数值,并去掉运算符 + buffer[index++] = (length >> 8) & 0xff; // 取第三个字节的数值,并去掉运算符 + buffer[index++] = length & 0xff; // 获取低8位(第四个字节)的值,并去掉符号位 + + // 将消息数据体复制到buffer + if (body) { + this.copyArray(buffer, index, body, 0, length); + }; + + return buffer; + }; + + /** + * 协议数据包解码 + * @param {Uint8Array} buffer 包含包内容的字节数组 + * @return {{type: package type, buffer: body byte array}} 返回协议对象 + */ + decode(buffer) { + // 偏移 + var offset = 0; + // 数据 + var bytes = new Uint8Array(buffer); + // 数据长度 + var length = 0; + // 初始返回的数据 + var rs = []; + + while (offset < bytes.length) { + // 获取消息的类型 + var type = bytes[offset++]; + // 计算消息的长度,头的1-3个字节 + length = ((bytes[offset++]) << 16 | (bytes[offset++]) << 8 | bytes[offset++]) >>> 0; + // 用来承载消息内容的字节数组 + var body = length ? new Uint8Array(length) : null; + this.copyArray(body, 0, bytes, offset, length); + offset += length; + rs.push({ 'type': type, 'body': body }); + }; + + return rs.length === 1 ? rs[0] : rs; + }; + + /** + * 克隆字节数组 + * @param {Array} dest 目标数组-需要复制数据到的目标数组 + * @param {Number} doffset 目标数组偏移量 + * @param {Array} src 源数组-源数据的数组 + * @param {Number} soffset 源数组偏移量 + * @param {Number} length 要复制的源数组数据长度 + */ + copyArray(dest, doffset, src, soffset, length) { + if ('function' === typeof src.copy) { + // Buffer + src.copy(dest, doffset, soffset, soffset + length); + } else { + // Uint8Array + for (var index = 0; index < length; index++) { + dest[doffset++] = src[soffset++]; + }; + }; + }; + }; +} \ No newline at end of file diff --git a/src/socket/pomelo/Pomelo.js b/src/socket/pomelo/Pomelo.js new file mode 100644 index 0000000..a74d01d --- /dev/null +++ b/src/socket/pomelo/Pomelo.js @@ -0,0 +1,634 @@ +/** Pomelo客户端 */ + + +import Emitter from './Emitter.js'; +import Protocol from './Protocol.js'; +import Protobuf from './Protobuf.js'; +import Message from './Message.js'; +import Package from './Package.js'; +const StructParam = { + /** @type {String | '主机地址和端口,如:127.0.0.1:1234'} */ + url: '', + /** @type {Number | '用户uid'} */ + uid: 0, + /** @type {String | '身份令牌'} */ + token: '', + /** @type {String | '服务器名,默认为url'} */ + serverName: '', + /** @type {Date | '服务器时间对象'} */ + serverTime: null, + /** @type {Boolean | '是否断线重连'} */ + reconnect: false, + /** @type {Number | '最大重连次数,默认10'} */ + maxReconnectAttempts: 0, + /** @type {(data: String | JSON, needTime: Boolean)| '消息加密方法,需要服务器配合'} */ + enData: () => { }, + /** @type {(data: String | JSON)| '消息解密方法,需要服务器配合'} */ + deData: () => { }, + /** @type {Object | 'SSL证书'} */ + cert: null, + /** @type {Function | '握手成功后的回调'} */ + handshakeCallback: () => { }, +} + +export default () => { + + return new class extends Emitter { + + constructor() { + super(); + + /** 握手:客户端类型 */ + this.JS_WS_CLIENT_TYPE = 'js-websocket'; + /** 握手:客户端版本 */ + this.JS_WS_CLIENT_VERSION = '0.0.1'; + /** 状态:握手成功 */ + this.RES_OK = 200; + /** 状态:客户端版本太老 */ + this.RES_OLD_CLIENT = 501; + + /** web socket连接实例 */ + this.socket = null; + /** 消息编号 */ + // 客户端每发送一个请求,不可能瞬间与服务器完成通讯,所以必须暂存起来一个个处理 + // 以下几个对象均为此而产生,与请求的消息一一对应 + this.reqId = 0; + /** 请求的回调队列 */ + this.callbacks = {}; + /** 处理数据的方法的队列 */ + this.handlers = {}; + /** 请求id与路由的映射队列 */ + this.routeMap = {}; + /** 路由转为编码 */ + this.dict = {}; + /** 编码转为路由 */ + this.abbrs = {}; + /** 服务端的protos协议 */ + this.serverProtos = {}; + /** 客户端的protos协议 */ + this.clientProtos = {}; + /** protobuf的版本 */ + this.protoVersion = 0; + + /** 心跳间隔时长 */ + this.heartbeatInterval = 0; + /** 心跳超时时长 */ + this.heartbeatTimeout = 0; + /** 下次心跳超时时长 */ + this.nextHeartbeatTimeout = 0; + /** 心跳间隔临界值 */ + this.gapThreshold = 100; + /** 心跳id */ + this.heartbeatId = null; + /** 心跳超时id */ + this.heartbeatTimeoutId = null; + /** 握手成功的回调 */ + this.handshakeCallback = null; + + /** 数据发送开关(模拟客户端断网时用) */ + this.canSend = true; + + /** 是否开启断线重连 */ + this.reconnect = false; + /** 是否已重连上的标志 */ + this.reconnected = false; + /** 尝试重连的计时器id */ + this.reconncetTimer = null; + /** 重连的地址 */ + this.reconnectUrl = null; + /** 已尝试重连次数 */ + this.reconnectAttempts = 0; + /** 尝试重连间隔 */ + this.reconnectionDelay = 1000 * 3; + /** 默认最大重连尝试次数 */ + this.DEFAULT_MAX_RECONNECT_ATTEMPTS = 10; + + this.handshakeBuffer = { + 'sys': { + type: this.JS_WS_CLIENT_TYPE, + version: this.JS_WS_CLIENT_VERSION + } + }; + + /** 初始化完成后的回调 */ + this.initCallback = null; + + this.protocol = Protocol(); + this.protobuf = Protobuf(); + this.message = Message(); + this.package = Package(); + + this.handlers[this.package.TYPE_HANDSHAKE] = this.handshake.bind(this); + this.handlers[this.package.TYPE_HEARTBEAT] = this.heartbeat.bind(this); + this.handlers[this.package.TYPE_DATA] = this.onData.bind(this); + this.handlers[this.package.TYPE_KICK] = this.onKick.bind(this); + }; + + /** + * 初始化和连接指定服务器 + * @param {String} route 请求数据的路由 + * @param {StructParam} params 初始化服务器时的参数 + * @param {JSON} msg 发往服务器的消息 + * @param {(_:cc.Struct['assemble']['res'])} callback + * @todo 只是把init和request合并 + */ + createConnect(route, params, msg, callback) { + this.init(params, () => { + this.request(route, msg, callback); + }); + }; + + /** + * 初始化客户端连接 + * @param {StructParam} params 初始化服务器时的参数 + */ + init(params, cb) { + this.initCallback = cb; + + this.enData = params.enData; + this.deData = params.deData; + + let url = params.cert ? `wss://${params.url}` : `ws://${params.url}`; + // let url = params.cert ? `wss://${params.url}` : `ws://192.168.0.80:5100`; + // let url = `wss://${params.url}` + + this.handshakeCallback = params.handshakeCallback; + this.serverName = params.serverName || url; + this.serverTime = params.serverTime || new Date(); + this.reconnect = params.reconnect; + this.connect(params, url, cb); + }; + + /** + * 默认解码算法 + * + * @param {Uint8Array} data 数据 + * @return {any} 消息对象 + */ + defaultDecode(data) { + /** 已解码的消息 */ + var msg = this.message.decode(data); + + // 如果消息有id,则从映射中查找映射的路由 + if (msg.id > 0) { + msg.route = this.routeMap[msg.id]; + delete this.routeMap[msg.id]; + if (!msg.route) { + return; + }; + }; + + msg.body = this.deCompose(msg); + + return msg; + }; + + /** + * 默认编码算法 + * @param {Number} reqId 请求id + * @param {String} route 路由 + * @param {String} msg 消息 + * @return {Uint8Array} + */ + defaultEncode(reqId, route, msg) { + /** 消息类型,如果指定了请求id就是请求,否则就是通知 */ + var type = reqId ? this.message.TYPE_REQUEST : this.message.TYPE_NOTIFY; + + // 如果有protobuf就根据protobuf压缩消息 + if (this.protobuf && this.clientProtos[route]) { + msg = this.protobuf.encode(route, msg); + } + // 如果没有 + else { + msg = this.protocol.strencode(JSON.stringify(msg)); + }; + + // 判断是否压缩路由 + var compressRoute = 0; + if (this.dict && this.dict[route]) { + route = this.dict[route]; + compressRoute = 1; + }; + + // 消息编码 + return this.message.encode(reqId, type, compressRoute, route, msg); + }; + + /** + * 连接服务器 + * @param {StructParam} params 初始化服务器时的参数 + * @param {String} url 服务器地址 + * @param {Function} cb 回调 + */ + connect(params, url, cb) { + var params = params || {}; + + // 配置最大重连尝试次数 + var maxReconnectAttempts = params.maxReconnectAttempts || this.DEFAULT_MAX_RECONNECT_ATTEMPTS; + // 缓存重连时连接的地址 + this.reconnectUrl = url; + // 设置protobuf版本 + this.handshakeBuffer.sys.protoVersion = this.protoVersion; + + // 定义打开连接事件 + var onopen = (event) => { + // 已经重连上 + if (!!this.reconnected) { + this.emit('reconnect'); + }; + // 重置重连设置 + this.reset(); + // 握手数据 + var obj = this.package.encode(this.package.TYPE_HANDSHAKE, this.protocol.strencode(JSON.stringify(this.handshakeBuffer))); + // 发送数据 + this.send(obj); + }; + + // 定义接收到消息的事件 + var onmessage = (event) => { + this.processPackage(this.package.decode(event.data), cb); + // 更新心跳超时,校正时间 + if (this.heartbeatTimeout) { + this.nextHeartbeatTimeout = Date.now() + this.heartbeatTimeout; + }; + }; + + // 定义连接错误时发生的事件 + var onerror = (event) => { + this.emit('io-error', event); + }; + + // 定义socket关闭时触发的事件 + var onclose = (event) => { + this.emit('close', { count: this.reconnectAttempts, maxCount: maxReconnectAttempts, isReconnect: this.reconnect }); + + // 清除心跳id、心跳 + if (this.heartbeatId) { + clearTimeout(this.heartbeatId); + this.heartbeatId = null; + }; + + // 清除心跳超时id、心跳超时 + if (this.heartbeatTimeoutId) { + clearTimeout(this.heartbeatTimeoutId); + this.heartbeatTimeoutId = null; + }; + + this.socket = null; + + if (this.reconnect) { + if (this.reconnectAttempts < maxReconnectAttempts) { + this.reconnected = true; + // 断线后第一次重连不延迟,如果第一次重连未连上,以后每次延迟为this.reconnectionDelay + let reconnectionDelay = this.reconnectAttempts ? this.reconnectionDelay : 0; + this.reconnectAttempts++; + this.reconncetTimer = setTimeout(() => { + this.connect(params, this.reconnectUrl, cb); + }, reconnectionDelay); + } else { + console.debug(`----------ish5 ${this.serverName} socket reconnect limit${maxReconnectAttempts}`); + }; + }; + }; + + // 创建连接时,传入参数验证 + let str = ''; + if (params.serverName) { + str = this.enData({ + token: params.token, + serverName: params.serverName + }); + str = `/?${str}`; + }; + + let fullUrl = `${url}${str}`; + console.debug(`----------ish5 ${this.serverName} socket connect……`, fullUrl); + console.log(params, "params.cert++++++++++++==") + this.socket = params.cert ? new WebSocket(fullUrl, [], 'https://api.t8club.com/files/cacert.pem') : new WebSocket(fullUrl); + this.socket.binaryType = 'arraybuffer'; + this.socket.onopen = onopen; + this.socket.onmessage = onmessage; + this.socket.onerror = onerror; + this.socket.onclose = onclose; + }; + + /** + * 主动关闭与服务器的连接 + * @param {any} param 触发时传入的参数 + */ + disconnect(param) { + clearTimeout(this.reconncetTimer); + + // 通知socket断开连接 + if (this.socket) { + this.reconnect = false; + this.socket.onclose = null; + if (this.socket.close) this.socket.close(); + this.socket = null; + }; + + // 清除心跳id、心跳 + if (this.heartbeatId) { + clearTimeout(this.heartbeatId); + this.heartbeatId = null; + }; + + // 清除心跳超时id、心跳超时 + if (this.heartbeatTimeoutId) { + clearTimeout(this.heartbeatTimeoutId); + this.heartbeatTimeoutId = null; + }; + + // 触发客户端主动关闭的监听 + this.emit('disconnect', param); + }; + + /** 重置重连设置 */ + reset() { + // 已重连上标志设置为false + this.reconnected = false; + // 重连延迟设置为3秒 + this.reconnectionDelay = 1000 * 3; + // 尝试重连次数 + this.reconnectAttempts = 0; + // 清空重连计时器 + clearTimeout(this.reconncetTimer); + }; + + /** 是否已经连上 */ + get isConnected() { + return this.socket ? true : false; + }; + + /** + * 发送请求 + * @param {String} 路由 + * @param {any} 消息 + * @param {Function} cb + */ + request(route, msg, cb) { + if (typeof msg === 'function' && !cb) { + cb = msg; + msg = {}; + } else { + msg = msg || {}; + }; + + route = route || msg.route; + if (!route) { + return; + }; + + this.reqId++; + console.debug(`----------ish5 ${this.serverName} socket request`, route, msg); + this.sendMessage(this.reqId, route, msg); + + this.callbacks[this.reqId] = cb; + this.routeMap[this.reqId] = route; + }; + + /** + * 发送请求 + * @param {String} 路由 + * @param {any} 消息 + */ + notify(route, msg) { + msg = msg || {}; + console.debug(`----------ish5 ${this.serverName} socket notify`, route, msg); + + this.sendMessage(0, route, msg); + }; + + /** + * 发送消息 + * @param {Number} reqId + * @param {String} route + * @param {any} msg + */ + sendMessage(reqId, route, msg) { + // 加密数据 + if (this.enData) { + try { + msg = JSON.parse(this.enData(msg)); + } catch (error) { } + }; + + msg = this.defaultEncode(reqId, route, msg); + var packet = this.package.encode(this.package.TYPE_DATA, msg); + this.send(packet); + }; + + /** + * 发送数据 + * @param {Uint8Array} packet 封包数据 + */ + send(packet) { + // 如果没有socket连接,则不发送数据 + if (!this.socket) return; + if (!this.canSend) return; + this.socket.send(packet.buffer); + }; + + /** 心跳的处理 */ + heartbeat(data) { + /** heartbeatInterval是表示心跳的延迟,该变量的值来自于服务端的配置,如果没有获取到这个值,就不处理心跳 */ + if (!this.heartbeatInterval) { + return; + }; + + // 心跳数据 + var obj = this.package.encode(this.package.TYPE_HEARTBEAT); + // 如果还未触发心跳超时的回调,就清除上一次的 + if (this.heartbeatTimeoutId) { + clearTimeout(this.heartbeatTimeoutId); + this.heartbeatTimeoutId = null; + }; + + // 如果已存在心跳就退出 + if (this.heartbeatId) { + return; + }; + + // 准备下一次心跳 + this.heartbeatId = setTimeout(() => { + // 清空心跳计时器id + this.heartbeatId = null; + // 发送心跳数据 + this.send(obj); + + // 设置下一次的心跳超时时间 + this.nextHeartbeatTimeout = Date.now() + this.heartbeatTimeout; + this.heartbeatTimeoutId = setTimeout(this.heartbeatTimeoutCb.bind(this), this.heartbeatTimeout); + }, this.heartbeatInterval); + }; + + /** 心跳超时的回调 */ + heartbeatTimeoutCb() { + // 心跳超时时间和当前时间的时间差 + var gap = this.nextHeartbeatTimeout - Date.now(); + // 如果时间差超出临界值 + if (gap > this.gapThreshold) { + this.heartbeatTimeoutId = setTimeout(this.heartbeatTimeoutCb.bind(this), gap); + }; + }; + + /** + * 握手处理 + * @param {Uint8Array} data + */ + handshake(data) { + data = JSON.parse(this.protocol.strdecode(data)); + if (data.code === this.RES_OLD_CLIENT) { + this.emit('error', 'Need update client version'); + return; + }; + + if (data.code !== this.RES_OK) { + this.emit('error', 'Handshake failed'); + return; + }; + + // 初始化心跳 + this.handshakeInit(data); + + var obj = this.package.encode(this.package.TYPE_HANDSHAKE_ACK); + this.send(obj); + if (this.initCallback) { + this.initCallback(this.socket); + }; + }; + + /** 处理数据 */ + onData(data) { + let msg = this.defaultDecode(data); + + this.processMessage(msg); + }; + + /** 被踢下线 */ + onKick(data) { + data = JSON.parse(this.protocol.strdecode(data)); + this.disconnect(); + this.emit('onKick', data); + console.debug(`----------ish5 ${this.serverName} socket onKick`, data); + }; + + /** 处理数据包 */ + processPackage(msgs) { + if (Array.isArray(msgs)) { + for (var i = 0; i < msgs.length; i++) { + var msg = msgs[i]; + this.handlers[msg.type](msg.body); + }; + } else { + this.handlers[msgs.type](msgs.body); + }; + }; + + /** 处理消息 */ + processMessage(msg) { + if (!msg) return; + + // body解密 + let body = this.deData && msg.body ? this.deData(msg.body) : msg.body; + if (body.serverTime) this.serverTime = body.serverTime; + + // 如果没有id,说明该消息需要客户端监听,否则通过id查找回调方法进行回调 + if (!msg.id) { + console.debug(`----------ish5 ${this.serverName} socket push`, msg.route, body); + this.emit(msg.route, body); + return; + }; + + var cb = this.callbacks[msg.id]; + + delete this.callbacks[msg.id]; + if (typeof cb !== 'function') { + return; + }; + + console.debug(`----------ish5 ${this.serverName} socket callback ${msg.route}`, body); + cb(body); + return; + }; + + /** 批量处理消息 */ + processMessageBatch(msgs) { + for (var i = 0, l = msgs.length; i < l; i++) { + this.processMessage(msgs[i]); + }; + }; + + /** 解压消息数据 */ + deCompose(msg) { + // 获取消息路由(字符串) + var route = msg.route; + + // 如果定义了路由压缩 + if (msg.compressRoute) { + // 寻找对应的路由 + if (!this.abbrs[route]) { + return {}; + }; + + // 如果字典配置了路由,获取对应的路由 + route = msg.route = this.abbrs[route]; + }; + + if (this.protobuf && this.serverProtos[route]) { + return this.protobuf.decode(route, msg.body); + } else { + return JSON.parse(this.protocol.strdecode(msg.body)); + }; + }; + + /** 获取服务器提供的客户端相关配置 */ + handshakeInit(data) { + if (data.sys && data.sys.heartbeat) { + this.heartbeatInterval = data.sys.heartbeat * 1000; + this.heartbeatTimeout = this.heartbeatInterval * 2; + } else { + this.heartbeatInterval = 0; + this.heartbeatTimeout = 0; + }; + + this.initData(data); + + if (typeof this.handshakeCallback === 'function') { + this.handshakeCallback(data.user); + }; + }; + + /** 获取服务器提供的客户端相关配置 */ + initData(data) { + if (!data || !data.sys) { + return; + }; + // 服务配置的压缩路由字符串的字典 + var dict = data.sys.dict; + // 服务端配置的protos + var protos = data.sys.protos; + + // 初始化压缩字典 + if (dict) { + this.dict = dict; + this.abbrs = {}; + + for (var route in dict) { + this.abbrs[dict[route]] = route; + }; + }; + + // 初始化protobuf + if (protos) { + this.protoVersion = protos.version || 0; + this.serverProtos = protos.server || {}; + this.clientProtos = protos.client || {}; + + if (!!this.protobuf) { + this.protobuf.init({ encoderProtos: protos.client, decoderProtos: protos.server }); + }; + }; + }; + }; +} \ No newline at end of file diff --git a/src/socket/pomelo/Protobuf.js b/src/socket/pomelo/Protobuf.js new file mode 100644 index 0000000..e3f09e3 --- /dev/null +++ b/src/socket/pomelo/Protobuf.js @@ -0,0 +1,726 @@ +/** Google的数据压缩算法 */ + +export default () => { + + class Codec { + + constructor() { + /** 字节缓存 */ + this.buffer = new ArrayBuffer(8); + /** 32位浮点数字节数组 */ + this.float32Array = new Float32Array(this.buffer); + /** 64位浮点数字节数组 */ + this.float64Array = new Float64Array(this.buffer); + /** utf8编码字节数组 */ + this.uInt8Array = new Uint8Array(this.buffer); + }; + + /** + * 将数字编码为32位无符号整数 + * @param {Number} num + */ + encodeUInt32(num) { + var n = parseInt(num); + if (isNaN(n) || n < 0) { + return null; + }; + + var result = []; + do { + var tmp = n % 128; + var next = Math.floor(n / 128); + + if (next !== 0) { + tmp = tmp + 128; + }; + result.push(tmp); + n = next; + } while (n !== 0); + + return result; + }; + + /** + * 将数字编码为short + * @param {Number} num + */ + encodeSInt32(num) { + var n = parseInt(num); + if (isNaN(n)) { + return null; + }; + n = n < 0 ? (Math.abs(n) * 2 - 1) : n * 2; + + return this.encodeUInt32(n); + }; + + /** + * 将字节数组转码为无符号32位整数 + * @param {Array} bytes + */ + decodeUInt32(bytes) { + var n = 0; + + for (var i = 0; i < bytes.length; i++) { + var m = parseInt(bytes[i]); + n = n + ((m & 0x7f) * Math.pow(2, (7 * i))); + if (m < 128) { + return n; + }; + }; + + return n; + }; + + /** + * 将字节数组转码为short + * @param {Array} bytes + */ + decodeSInt32(bytes) { + var n = this.decodeUInt32(bytes); + var flag = ((n % 2) === 1) ? -1 : 1; + + n = ((n % 2 + n) / 2) * flag; + + return n; + }; + + /** + * 将浮点数转码 + * @param {Number} float + */ + encodeFloat(float) { + this.float32Array[0] = float; + return this.uInt8Array; + }; + + /** + * 将字节数组转换浮点数 + * @param {any} bytes + * @param {any} offset + */ + decodeFloat(bytes, offset) { + if (!bytes || bytes.length < (offset + 4)) { + return null; + }; + + for (var i = 0; i < 4; i++) { + this.uInt8Array[i] = bytes[offset + i]; + }; + + return this.float32Array[0]; + }; + + /** + * 将double编码 + * @param {Number} double + */ + encodeDouble(double) { + this.float64Array[0] = double; + return this.uInt8Array.subarray(0, 8); + }; + + /** + * 将double解码 + * @param {any} bytes + * @param {any} offset + */ + decodeDouble(bytes, offset) { + if (!bytes || bytes.length < (8 + offset)) { + return null; + }; + + for (var i = 0; i < 8; i++) { + this.uInt8Array[i] = bytes[offset + i]; + }; + + return this.float64Array[0]; + }; + + /** + * 字符串编码 + * @param {any} bytes + * @param {any} offset + * @param {any} str + */ + encodeStr(bytes, offset, str) { + for (var i = 0; i < str.length; i++) { + var code = str.charCodeAt(i); + var codes = this.encode2UTF8(code); + + for (var j = 0; j < codes.length; j++) { + bytes[offset] = codes[j]; + offset++; + }; + }; + + return offset; + }; + + /** + * 字节数组转字符串 + * + * @param {any} bytes + * @param {any} offset + * @param {any} length + */ + decodeStr(bytes, offset, length) { + var array = []; + var end = offset + length; + + while (offset < end) { + var code = 0; + + if (bytes[offset] < 128) { + code = bytes[offset]; + + offset += 1; + } else if (bytes[offset] < 224) { + code = ((bytes[offset] & 0x3f) << 6) + (bytes[offset + 1] & 0x3f); + offset += 2; + } else { + code = ((bytes[offset] & 0x0f) << 12) + ((bytes[offset + 1] & 0x3f) << 6) + (bytes[offset + 2] & 0x3f); + offset += 3; + }; + + array.push(code); + }; + + var str = ''; + for (var i = 0; i < array.length;) { + str += String.fromCharCode.apply(null, array.slice(i, i + 10000)); + i += 10000; + }; + + return str; + }; + + /** + * 返回采用utf8编码的字符串的字节长度 + * @param {String} str + */ + byteLength(str) { + if (typeof (str) !== 'string') { + return -1; + }; + + var length = 0; + + for (var i = 0; i < str.length; i++) { + var code = str.charCodeAt(i); + length += this.codeLength(code); + }; + + return length; + }; + + /** + * 将unicode16字符编码转为utf8字节 + * @param {any} charCode + */ + encode2UTF8(charCode) { + if (charCode <= 0x7f) { + return [charCode]; + } else if (charCode <= 0x7ff) { + return [0xc0 | (charCode >> 6), 0x80 | (charCode & 0x3f)]; + } else { + return [0xe0 | (charCode >> 12), 0x80 | ((charCode & 0xfc0) >> 6), 0x80 | (charCode & 0x3f)]; + }; + }; + + /** + * 编码长度 + * + * @param {any} code + * @returns + */ + codeLength(code) { + if (code <= 0x7f) { + return 1; + } else if (code <= 0x7ff) { + return 2; + } else { + return 3; + }; + }; + }; + + class Encoder { + + constructor(codec, constant, util) { + this.codec = codec; + this.constant = constant; + this.util = util; + }; + + init(protos) { + this.protos = protos || {}; + }; + + /** + * 编码 + * @param {any} route + * @param {any} msg + */ + encode(route, msg) { + /** 使用路由作为key从协议映射中获取对应的协议 */ + var protos = this.protos[route]; + + if (!this.checkMsg(msg, protos)) { + return null; + }; + + // 将消息转为json格式的字符串,并计算其作为uint8的字节数组的长度 + var length = this.codec.byteLength(JSON.stringify(msg)); + + // 初始化buffer和偏移量 + var buffer = new ArrayBuffer(length); + var uInt8Array = new Uint8Array(buffer); + var offset = 0; + + if (!!protos) { + offset = encodeMsg(uInt8Array, offset, protos, msg); + if (offset > 0) { + return uInt8Array.subarray(0, offset); + }; + }; + + return null; + }; + + /** + * 按照协议的定义校验消息数据 + * @param {any} msg + * @param {any} protos + */ + checkMsg(msg, protos) { + if (!protos) { + return false; + }; + + for (var name in protos) { + var proto = protos[name]; + + // required一定得存在 + switch (proto.option) { + case 'required': + if (typeof (msg[name]) === 'undefined') { + return false; + }; + case 'optional': + if (typeof (msg[name]) !== 'undefined') { + var message = protos.__messages[proto.type] || protos['message ' + proto.type]; + if (!!message && !checkMsg(msg[name], message)) { + return false; + }; + }; + break; + case 'repeated': + var message = protos.__messages[proto.type] || protos['message ' + proto.type]; + if (!!msg[name] && !!message) { + for (var i = 0; i < msg[name].length; i++) { + if (!checkMsg(msg[name][i], message)) { + return false; + }; + }; + }; + break; + }; + }; + + return true; + }; + + /** + * 消息编码 + * @param {any} buffer + * @param {any} offset + * @param {any} protos + * @param {any} msg + */ + encodeMsg(buffer, offset, protos, msg) { + for (var name in msg) { + if (!!protos[name]) { + var proto = protos[name]; + + switch (proto.option) { + case 'required': + case 'optional': + offset = this.writeBytes(buffer, offset, this.encodeTag(proto.type, proto.tag)); + offset = this.encodeProp(msg[name], proto.type, offset, buffer, protos); + break; + case 'repeated': + if (msg[name].length > 0) { + offset = this.encodeArray(msg[name], proto, offset, buffer, protos); + }; + break; + }; + }; + }; + + return offset; + }; + + /** + * 属性编码 + * @param {any} value + * @param {any} type + * @param {any} offset + * @param {any} buffer + * @param {any} protos + */ + encodeProp(value, type, offset, buffer, protos) { + switch (type) { + case 'uInt32': + offset = this.writeBytes(buffer, offset, this.codec.encodeUInt32(value)); + break; + case 'int32': + case 'sInt32': + offset = this.writeBytes(buffer, offset, this.codec.encodeSInt32(value)); + break; + case 'float': + writeBytes(buffer, offset, this.codec.encodeFloat(value)); + offset += 4; + break; + case 'double': + writeBytes(buffer, offset, this.codec.encodeDouble(value)); + offset += 8; + break; + case 'string': + var length = this.codec.byteLength(value); + + // 编码长度 + offset = this.writeBytes(buffer, offset, this.codec.encodeUInt32(length)); + // 输出编码内容 + this.codec.encodeStr(buffer, offset, value); + offset += length; + break; + default: + var message = protos.__messages[type] || protos['message ' + type]; + if (!!message) { + // 使用临时缓冲区构建内部消息 + var tmpBuffer = new ArrayBuffer(this.codec.byteLength(JSON.stringify(value)) * 2); + var length = 0; + + length = this.encodeMsg(tmpBuffer, length, message, value); + // 编码长度 + offset = this.writeBytes(buffer, offset, this.codec.encodeUInt32(length)); + // 赋值对象 + for (var i = 0; i < length; i++) { + buffer[offset] = tmpBuffer[i]; + offset++; + }; + }; + break; + }; + + return offset; + }; + + + /** + * 数组编码 + * @param {any} array + * @param {any} proto + * @param {any} offset + * @param {any} buffer + * @param {any} protos + */ + encodeArray(array, proto, offset, buffer, protos) { + var i = 0; + + if (this.util.isSimpleType(proto.type)) { + offset = this.writeBytes(buffer, offset, this.encodeTag(proto.type, proto.tag)); + offset = this.writeBytes(buffer, offset, this.codec.encodeUInt32(array.length)); + for (i = 0; i < array.length; i++) { + offset = this.encodeProp(array[i], proto.type, offset, buffer); + }; + } else { + for (i = 0; i < array.length; i++) { + offset = this.writeBytes(buffer, offset, this.encodeTag(proto.type, proto.tag)); + offset = this.encodeProp(array[i], proto.type, offset, buffer, protos); + }; + }; + + return offset; + }; + + /** + * 写入字节数组 + * @param {any} buffer + * @param {any} offset + * @param {any} bytes + */ + writeBytes(buffer, offset, bytes) { + for (var i = 0; i < bytes.length; i++ , offset++) { + buffer[offset] = bytes[i]; + }; + + return offset; + }; + + /** + * 编码标签 + * @param {any} type + * @param {any} tag + */ + encodeTag(type, tag) { + var value = constant.TYPES[type] || 2; + return this.codec.encodeUInt32((tag << 3) | value); + }; + }; + + class Decoder { + + constructor(codec, util) { + /** 缓冲容器 */ + this.buffer; + /** 偏移量 */ + this.offset = 0; + /** protobuf */ + this.protos = null; + this.codec = codec; + this.util = util; + }; + + init(protos) { + this.protos = protos || {}; + }; + + /** + * 设置协议 + * @param {any} protos + */ + setProtos(protos) { + if (!!protos) { + this.protos = protos; + }; + }; + + /** + * 解码 + * @param {any} route + * @param {any} buf + */ + decode(route, buf) { + var protos = this.protos[route]; + + this.buffer = buf; + this.offset = 0; + + if (!!protos) { + return this.decodeMsg({}, protos, this.buffer.length); + }; + + return null; + }; + + /** + * 解码消息 + * @param {any} msg + * @param {any} protos + * @param {any} length + */ + decodeMsg(msg, protos, length) { + while (this.offset < length) { + var head = this.getHead(); + var type = head.type; + var tag = head.tag; + var name = protos.__tags[tag]; + + switch (protos[name].option) { + case 'optional': + case 'required': + msg[name] = this.decodeProp(protos[name].type, protos); + break; + case 'repeated': + if (!msg[name]) { + msg[name] = []; + }; + this.decodeArray(msg[name], protos[name].type, protos); + break; + }; + }; + + return msg; + }; + + /** + * 测试给定的消息是否结束 + * @param {any} msg + * @param {any} protos + */ + isFinish(msg, protos) { + return (!protos.__tags[this.peekHead().tag]); + }; + + /** 获取protobuf的头属性 */ + getHead() { + var tag = this.codec.decodeUInt32(this.getBytes()); + + return { + type: tag & 0x7, + tag: tag >> 3 + }; + }; + + /** 在不移动偏移量的情况下获取标记头 */ + peekHead() { + var tag = this.codec.decodeUInt32(this.peekBytes()); + + return { + type: tag & 0x7, + tag: tag >> 3 + }; + }; + + /** + * 解码属性 + * @param {any} type + * @param {any} protos + */ + decodeProp(type, protos) { + switch (type) { + case 'uInt32': + return this.codec.decodeUInt32(this.getBytes()); + case 'int32': + case 'sInt32': + return this.codec.decodeSInt32(this.getBytes()); + case 'float': + var float = this.codec.decodeFloat(this.buffer, this.offset); + this.offset += 4; + return float; + case 'double': + var double = this.codec.decodeDouble(this.buffer, this.offset); + this.offset += 8; + return double; + case 'string': + var length = this.codec.decodeUInt32(this.getBytes()); + + var str = this.codec.decodeStr(this.buffer, this.offset, length); + this.offset += length; + + return str; + default: + var message = protos && (protos.__messages[type] || protos['message ' + type]); + if (!!message) { + var length = this.codec.decodeUInt32(this.getBytes()); + var msg = {}; + this.decodeMsg(msg, message, this.offset + length); + return msg; + }; + break; + }; + }; + + /** + * 解码数组字节数组 + * @param {any} array + * @param {any} type + * @param {any} protos + */ + decodeArray(array, type, protos) { + + if (this.util.isSimpleType(type)) { + var length = this.codec.decodeUInt32(this.getBytes()); + + for (var i = 0; i < length; i++) { + array.push(this.decodeProp(type)); + }; + } else { + array.push(this.decodeProp(type, protos)); + }; + }; + + /** 获取字节数 */ + getBytes(flag) { + var bytes = []; + var pos = this.offset; + flag = flag || false; + + var b; + + do { + b = this.buffer[pos]; + bytes.push(b); + pos++; + } while (b >= 128); + + if (!flag) { + this.offset = pos; + }; + return bytes; + }; + + /** 检索字节 */ + peekBytes() { + return this.getBytes(true); + }; + }; + + return new class { + + constructor() { + /** 常量 */ + this.constant = { + /** 数据类型 */ + TYPES: { + uInt32: 0, + sInt32: 0, + int32: 0, + double: 1, + string: 2, + message: 2, + float: 5 + } + }; + + /** 工具 */ + this.util = { + /** + * 是否是基础类型 + * @param {String} type 类型 + * @return {Boolean} + */ + isSimpleType(type) { + return (type === 'uInt32' || + type === 'sInt32' || + type === 'int32' || + type === 'uInt64' || + type === 'sInt64' || + type === 'float' || + type === 'double'); + } + }; + + // 实例 + this.codec = new Codec(); + this.encoder = new Encoder(this.codec, this.constant, this.util); + this.decoder = new Decoder(this.codec, this.util); + }; + + /** 初始化protobuf */ + init(opts) { + this.encoder.init(opts.encoderProtos); + this.decoder.init(opts.decoderProtos); + }; + + /** + * 编码 + * @param {any} key + * @param {any} msg + */ + encode(key, msg) { + return this.encoder.encode(key, msg); + }; + + /** + * 解码 + * @param {any} key + * @param {any} msg + */ + decode(key, msg) { + return this.decoder.decode(key, msg); + }; + }; +} \ No newline at end of file diff --git a/src/socket/pomelo/Protocol.js b/src/socket/pomelo/Protocol.js new file mode 100644 index 0000000..831e655 --- /dev/null +++ b/src/socket/pomelo/Protocol.js @@ -0,0 +1,104 @@ +/** 网络数据编解码 */ + +export default () => { + + return new class { + + /** + * 将字符串编码为无符号8位整数数组 + * @param {String} str + */ + strencode(str) { + var byteArray = new Uint8Array(str.length * 3); + var offset = 0; + for (var i = 0; i < str.length; i++) { + /** 字符的Unicode编码值 */ + var charCode = str.charCodeAt(i); + var codes = null; + + // 如果编码值小于等于127 + if (charCode <= 0x7f) { + codes = [charCode]; + } + // 编码值>127且小于等于2047 + else if (charCode <= 0x7ff) { + codes = [0xc0 | (charCode >> 6), 0x80 | (charCode & 0x3f)]; + } + // 其他编码值 + else { + codes = [0xe0 | (charCode >> 12), 0x80 | ((charCode & 0xfc0) >> 6), 0x80 | (charCode & 0x3f)]; + }; + + for (var j = 0; j < codes.length; j++) { + byteArray[offset] = codes[j]; + ++offset; + }; + }; + + var _buffer = new Uint8Array(offset); + this.copyArray(_buffer, 0, byteArray, 0, offset); + + return _buffer; + }; + + /** + * 将二进制数据解码为字符串 + * @param {Uint8Array} buffer + */ + strdecode(buffer) { + /** 二进制数据 */ + var bytes = new Uint8Array(buffer); + /** unicode编码的数组 */ + var array = []; + /** 数据偏移量 */ + var offset = 0; + /** 承载字符编码的临时变量 */ + var charCode = 0; + /** 结束的位置 */ + var end = bytes.length; + + while (offset < end) { + if (bytes[offset] < 128) { + charCode = bytes[offset]; + offset += 1; + } else if (bytes[offset] < 224) { + charCode = ((bytes[offset] & 0x3f) << 6) + (bytes[offset + 1] & 0x3f); + offset += 2; + } else { + charCode = ((bytes[offset] & 0x0f) << 12) + ((bytes[offset + 1] & 0x3f) << 6) + (bytes[offset + 2] & 0x3f); + offset += 3; + }; + + array.push(charCode); + }; + + var str = ''; + for (var i = 0; i < array.length;) { + str += String.fromCharCode.apply(null, array.slice(i, i + 10000)); + i += 10000; + }; + + return str; + }; + + /** + * 克隆字节数组 + * @param {Array} dest 目标数组-需要复制数据到的目标数组 + * @param {Number} doffset 目标数组偏移量 + * @param {Array} src 源数组-源数据的数组 + * @param {Number} soffset 源数组偏移量 + * @param {Number} length 要复制的源数组数据长度 + */ + copyArray(dest, doffset, src, soffset, length) { + if ('function' === typeof src.copy) { + // Buffer + src.copy(dest, doffset, soffset, soffset + length); + } else { + // Uint8Array + for (var index = 0; index < length; index++) { + dest[doffset++] = src[soffset++]; + }; + }; + }; + }; +} \ No newline at end of file diff --git a/src/socket/socketApi.js b/src/socket/socketApi.js new file mode 100644 index 0000000..c520ae9 --- /dev/null +++ b/src/socket/socketApi.js @@ -0,0 +1,364 @@ +import Controller from "./Controller"; +import Route from "./actions/route"; +class Api extends Controller { + constructor() { + super(); + } + /** + * 支付方式 + * @returns api + */ + getPayMethodList = () => { + return this.request(Route.getPayMethodList); + }; + /** + * 支付方式2 + * @returns api + */ + getPayClass = () => { + return this.request(Route.getPayClass); + }; + /** + * 充值商品列表 + * @returns api + */ + depositList = () => { + return this.request(Route.depositList); + }; + /** + * 用户充值动作 + * @param {String} _id 商品_id字符串 + * @param {Number} method 支付方式 + * @returns api + */ + userDeposit = (data) => { + return this.request(Route.userDeposit, data); + }; + /** + * 充值记录 + * @param {Number} pageIndex 页码 + * @param {Number} pageSize 每页记录数 + * @returns api + */ + getPayRecords = (data) => { + return this.request(Route.getPayRecords, data); + }; + /** + * 钻石兑换金币 + * @returns api + */ + convert = () => { + return this.request(Route.convert); + }; + /** + * 金币流水 + * @param {Number} pageIndex 页码 + * @param {Number} pageSize 每页记录数 + * @returns api + */ + getFlowRecord = (data) => { + return this.request(Route.getFlowRecord, data); + }; + /** + * 超值礼包三选一 + * @returns api + */ + getOneOfThree = () => { + return this.request(Route.getOneOfThree); + }; + /** + * 购买礼包三选一 + * @param {String} _id 商品_id + * @param {Number} method 支付方式 + * @param {*} data + * @returns api + */ + oneOfThreeBuy = (data) => { + return this.request(Route.oneOfThreeBuy, data); + }; + /**礼包领取 */ + oneOfThreeReceive = () => { + return this.request(Route.oneOfThreeReceive); + }; + /** + * 获取提现渠道 + * @returns api + */ + getTransMethodList = () => { + return this.request(Route.getTransMethodList); + }; + /** + * 用户提现 + * @param {Number} amount 提现金额 + * @param {String} method 提现方式 + * @param {String} account 提现账户 + * @param {String} holder 持有者 + * @returns api + */ + userWithdraw = (data) => { + return this.request(Route.userWithdraw, data); + }; + /** + * 提现日志 + * @param {Number} pageIndex 页码 + * @param {Number} pageSize 每页记录数 + * @returns + */ + getWithDrawRecord = (data) => { + return this.request(Route.getWithDrawRecord, data); + }; + /** + * 个人下注返利 + * @returns + */ + getTotalRebate = () => { + return this.request(Route.getTotalRebate); + }; + /** + * 领取个人下注返利 + * @returns + */ + receiveTotalRebate = () => { + return this.request(Route.receiveTotalRebate); + }; + /** + * 校准金币 + */ + getCoinsNum = () => { + return this.request(Route.getCoinsNum); + }; + /** + * vip 日周月领奖 + * @param {number} awardType 领奖类型 0每日奖励 1每周奖励 2每月奖励 + * @returns + */ + getVipAwardCycle = (awardType) => { + return this.request(Route.getVipAwardCycle, { awardType }); + }; + /** + * 获取vip配置详情 + * @returns + */ + getVipLvInfo = () => { + return this.request(Route.getVipLvInfo); + }; + /** + * vip等级领取 + * @param {String} _id vi配置_id字段 + * @returns + */ + getVipLvAward = (_id) => { + return this.request(Route.getVipLvAward, { _id }); + }; + /** + * 无限代理 + * @returns + */ + getChildRebate = () => { + return this.request(Route.getChildRebate); + }; + /** + * 无限代理 领取奖金 + * @returns + */ + receiveChildRebate = (data) => { + return this.request(Route.receiveChildRebate, data); + }; + getChildRebateInfo = (data) => { + return this.request(Route.getChildRebateInfo, data); + } + getChildRebateRecordsDetail = (data) => { + return this.request(Route.getChildRebateRecordsDetail, data); + } + getChildRebateRecords = (data) => { + return this.request(Route.getChildRebateRecords, data); + } + /** + * 无限代理 返利列表 + * @returns + */ + getChildRebateDetail = (data) => { + return this.request(Route.getChildRebateDetail, data); + }; + /** + * 活动任务 + * @returns + */ + getCustomClassList = () => { + return this.request(Route.getCustomClassList); + }; + /** + * 活动任务 列表查询 + * @returns + */ + getTaskList = (data) => { + return this.request(Route.getTaskList, data); + }; + /** + * 获取 道具 + * @returns + * @param {String} propId vi配置_id字段 + */ + updatePropsCache = (data) => { + return this.request(Route.updatePropsCache, data); + }; + /** + * 获取转盘数据 + * @param {Number} recordSize + * @returns + */ + getHelpTurntable = (data) => { + return this.request(Route.getHelpTurntable, data) + } + /** + *获取转盘结果 + * @returns + */ + getHelpTurntableResult = () => { + return this.request(Route.getHelpTurntableResult) + } + /** + *获取转盘结果 + * @returns + */ + getTaskAward = (data) => { + return this.request(Route.getTaskAward, data) + } + /** + * 转盘领奖 + * @returns + */ + helpTurntableTaskAward = (_id) => { + return this.request(Route.helpTurntableTaskAward, { _id }) + } + /** + * 邮件 + * @returns + */ + getMail = (data) => { + return this.request(Route.getMail, data) + } + setMailRead = (_id) => { + return this.request(Route.setMailRead, { _id }) + } + getMailAttachments = (_id) => { + return this.request(Route.getMailAttachments, { _id }) + } + checkNewMail = () => { + return this.request(Route.checkNewMail) + } + /** + * 银行账户管理 + * @returns + */ + getWithDrawAccount = () => { + return this.request(Route.getWithDrawAccount) + } + /** + * 推广电话 + * @returns + */ + getPopularizePhones = () => { + return this.request(Route.getPopularizePhones) + } + /** + * + * @param {*} data + * @returns + */ + getHelpTurntable2Log = (data) => { + return this.request(Route.getHelpTurntable2Log, data) + } + /** + * 获取游戏跳转路径 + * @returns + */ + getGameUrl = (data) => { + let isMobile + if (/(Mobile|iPhone|iPod|iOS|Android)/i.test(navigator.userAgent)) { + isMobile = true + } else { + isMobile = false + } + const p = { ...data, isMobile, } + return this.request(Route.getGameUrl, p) + } + + /** + * 通知绑定上级id + * @param {Number} inviteUid + * @returns + */ + acceptInvite = (inviteUid) => { + return this.notify(Route.acceptInvite, { inviteUid }) + } + + /** + * 兑换码 兑换 + * @param {code} code + * @returns + */ + giftCode = (code) => { + return this.request(Route.giftCode, { code }) + } + /** + * 周返现 获取 + */ + getCycleRebate = () => { + return this.request(Route.getCycleRebate) + } + receiveCycleRebateLoss = () => { + return this.request(Route.receiveCycleRebateLoss) + } + /** + * 游戏金额流水 + * @param {Number} pageIndex 页码 + * @param {Number} pageSize 每页记录数 + * @returns api + */ + getCoinsDetailLog = (data) => { + return this.request(Route.getCoinsDetailLog, data); + }; + /** +* 游戏金额流水 +* @param {id} id 道具ID +* @returns api +*/ + getPropsCache = (data) => { + return this.request(Route.getPropsCache, data); + }; + /** +* 拼单单获取活动数据 +* @returns api +*/ + getPddTask = () => { + return this.request(Route.getPddTask); + }; + + pddAddProbability = (data) => { + return this.request(Route.pddAddProbability, data); + }; + + pddAwardRecords = (data) => { + return this.request(Route.pddAwardRecords,data); + }; + pddPointsBuy = (data) => { + return this.request(Route.pddPointsBuy,data); + }; + getCheckin = (data) => { + return this.request(Route.getCheckin,data); + }; + checkinDay = (data) => { + return this.request(Route.checkinDay,data); + }; + getNotice = (data) => { + return this.request(Route.getNotice,data); + }; + setNoticeRead = (data) => { + return this.request(Route.setNoticeRead,data); + }; + checkNewNotice = (data) => { + return this.request(Route.checkNewNotice,data); + }; +} +export default new Api(); diff --git a/src/socket/tools/Crypto.js b/src/socket/tools/Crypto.js new file mode 100644 index 0000000..89c9920 --- /dev/null +++ b/src/socket/tools/Crypto.js @@ -0,0 +1,148 @@ +/** 对称加解密 */ +export default () => { + function n(n, t) { + for (var h, c, e = 4, l = t.length / e - 1, f = [ + [], + [], + [], + [] + ], s = 0; s < 4 * e; s++) f[s % 4][Math.floor(s / 4)] = n[s]; + for (f = i(f, t, 0, e), h = 1; h < l; h++) f = r(f, e), f = u(f, e), f = o(f, e), f = i(f, t, h, e); + for (f = r(f, e), f = u(f, e), f = i(f, t, l, e), c = new Array(4 * e), s = 0; s < 4 * e; s++) c[s] = f[s % 4][Math.floor(s / 4)]; + return c + }; + + function t(n) { + for (var l, i, o = 4, r = n.length / 4, c = r + 6, e = new Array(o * (c + 1)), u = new Array(4), t = 0; t < r; t++) l = [n[4 * t], n[4 * t + 1], n[4 * t + 2], n[4 * t + 3]], e[t] = l; + for (t = r; t < o * (c + 1); t++) { + for (e[t] = new Array(4), i = 0; i < 4; i++) u[i] = e[t - 1][i]; + if (t % r == 0) + for (u = f(s(u)), i = 0; i < 4; i++) u[i] ^= h[t / r][i]; + else r > 6 && t % r == 4 && (u = f(u)); + for (i = 0; i < 4; i++) e[t][i] = e[t - r][i] ^ u[i] + }; + return e + }; + + function r(n, t) { + for (var r, i = 0; i < 4; i++) + for (r = 0; r < t; r++) n[i][r] = e[n[i][r]]; + return n + }; + + function u(n, t) { + for (var i, u = new Array(4), r = 1; r < 4; r++) { + for (i = 0; i < 4; i++) u[i] = n[r][(i + r) % t]; + for (i = 0; i < 4; i++) n[r][i] = u[i] + }; + return n + }; + + function o(n) { + for (var t, r, u, i = 0; i < 4; i++) { + for (t = new Array(4), r = new Array(4), u = 0; u < 4; u++) t[u] = n[u][i], r[u] = n[u][i] & 128 ? n[u][i] << 1 ^ 283 : n[u][i] << 1; + n[0][i] = r[0] ^ t[1] ^ r[1] ^ t[2] ^ t[3]; + n[1][i] = t[0] ^ r[1] ^ t[2] ^ r[2] ^ t[3]; + n[2][i] = t[0] ^ t[1] ^ r[2] ^ t[3] ^ r[3]; + n[3][i] = t[0] ^ r[0] ^ t[1] ^ t[2] ^ r[3] + }; + return n + }; + + function i(n, t, i, r) { + for (var f, u = 0; u < 4; u++) + for (f = 0; f < r; f++) n[u][f] ^= t[i * 4 + f][u]; + return n + }; + + function f(n) { + for (var t = 0; t < 4; t++) n[t] = e[n[t]]; + return n + }; + + function s(n) { + for (var i = n[0], t = 0; t < 3; t++) n[t] = n[t + 1]; + return n[3] = i, n + }; + const e = [99, 124, 119, 123, 242, 107, 111, 197, 48, 1, 103, 43, 254, 215, 171, 118, 202, 130, 201, 125, 250, 89, 71, 240, 173, 212, 162, 175, 156, 164, 114, 192, 183, 253, 147, 38, 54, 63, 247, 204, 52, 165, 229, 241, 113, 216, 49, 21, 4, 199, 35, 195, 24, 150, 5, 154, 7, 18, 128, 226, 235, 39, 178, 117, 9, 131, 44, 26, 27, 110, 90, 160, 82, 59, 214, 179, 41, 227, 47, 132, 83, 209, 0, 237, 32, 252, 177, 91, 106, 203, 190, 57, 74, 76, 88, 207, 208, 239, 170, 251, 67, 77, 51, 133, 69, 249, 2, 127, 80, 60, 159, 168, 81, 163, 64, 143, 146, 157, 56, 245, 188, 182, 218, 33, 16, 255, 243, 210, 205, 12, 19, 236, 95, 151, 68, 23, 196, 167, 126, 61, 100, 93, 25, 115, 96, 129, 79, 220, 34, 42, 144, 136, 70, 238, 184, 20, 222, 94, 11, 219, 224, 50, 58, 10, 73, 6, 36, 92, 194, 211, 172, 98, 145, 149, 228, 121, 231, 200, 55, 109, 141, 213, 78, 169, 108, 86, 244, 234, 101, 122, 174, 8, 186, 120, 37, 46, 28, 166, 180, 198, 232, 221, 116, 31, 75, 189, 139, 138, 112, 62, 181, 102, 72, 3, 246, 14, 97, 53, 87, 185, 134, 193, 29, 158, 225, 248, 152, 17, 105, 217, 142, 148, 155, 30, 135, 233, 206, 85, 40, 223, 140, 161, 137, 13, 191, 230, 66, 104, 65, 153, 45, 15, 176, 84, 187, 22], + h = [ + [0, 0, 0, 0], + [1, 0, 0, 0], + [2, 0, 0, 0], + [4, 0, 0, 0], + [8, 0, 0, 0], + [16, 0, 0, 0], + [32, 0, 0, 0], + [64, 0, 0, 0], + [128, 0, 0, 0], + [27, 0, 0, 0], + [54, 0, 0, 0] + ]; + return new class { + /** + * 加密 + * @param {String|Number} i 值 + * @param {String|Number} r 私钥(与解密时一致) + * @param {Number} u 长度 128、192、256 + */ + encrypt(i, r, u) { + var h = 16, + l, a, c, y, o, e, f, d; + if (!(u == 128 || u == 192 || u == 256)) return ''; + for (i = String(i).utf8Encode(), r = String(r).utf8Encode(), l = u / 8, a = new Array(l), f = 0; f < l; f++) a[f] = isNaN(r.charCodeAt(f)) ? 0 : r.charCodeAt(f); + c = n(a, t(a)); + c = c.concat(c.slice(0, l - 16)); + var s = new Array(h), + w = (new Date).getTime(), + g = w % 1e3, + nt = Math.floor(w / 1e3), + tt = Math.floor(Math.random() * 65535); + for (f = 0; f < 2; f++) s[f] = g >>> f * 8 & 255; + for (f = 0; f < 2; f++) s[f + 2] = tt >>> f * 8 & 255; + for (f = 0; f < 4; f++) s[f + 4] = nt >>> f * 8 & 255; + for (y = '', f = 0; f < 8; f++) y += String.fromCharCode(s[f]); + var it = t(c), + p = Math.ceil(i.length / h), + b = new Array(p); + for (o = 0; o < p; o++) { + for (e = 0; e < 4; e++) s[15 - e] = o >>> e * 8 & 255; + for (e = 0; e < 4; e++) s[11 - e] = o / 4294967296 >>> e * 8; + var rt = n(s, it), + k = o < p - 1 ? h : (i.length - 1) % h + 1, + v = new Array(k); + for (f = 0; f < k; f++) v[f] = rt[f] ^ i.charCodeAt(o * h + f), v[f] = String.fromCharCode(v[f]); + b[o] = v.join('') + }; + return d = y + b.join(''), d.base64Encode(); + }; + /** + * 解密 + * @param {String|Number} i 值 + * @param {String|Number} r 私钥(与加密时一致) + * @param {Number} u 长度 128、192、256 + */ + decrypt(i, r, u) { + var l = 16, + a, v, s, h, w, p, e, o, k, c, f, d; + if (!(u == 128 || u == 192 || u == 256)) return ''; + + try { + for (i = String(i).base64Decode(), r = String(r).utf8Encode(), a = u / 8, v = new Array(a), f = 0; f < a; f++) v[f] = isNaN(r.charCodeAt(f)) ? 0 : r.charCodeAt(f); + for (s = n(v, t(v)), s = s.concat(s.slice(0, a - 16)), h = new Array(8), w = i.slice(0, 8), f = 0; f < 8; f++) h[f] = w.charCodeAt(f); + var g = t(s), + y = Math.ceil((i.length - 8) / l), + b = new Array(y); + for (e = 0; e < y; e++) b[e] = i.slice(8 + e * l, 8 + e * l + l); + for (i = b, p = new Array(i.length), e = 0; e < y; e++) { + for (o = 0; o < 4; o++) h[15 - o] = e >>> o * 8 & 255; + for (o = 0; o < 4; o++) h[11 - o] = (e + 1) / 4294967296 - 1 >>> o * 8 & 255; + for (k = n(h, g), c = new Array(i[e].length), f = 0; f < i[e].length; f++) c[f] = k[f] ^ i[e].charCodeAt(f), c[f] = String.fromCharCode(c[f]); + p[e] = c.join('') + }; + return d = p.join(''), d.utf8Decode(); + } catch (error) { + return; + } + }; + }; +} \ No newline at end of file diff --git a/src/socket/tools/DateExt.js b/src/socket/tools/DateExt.js new file mode 100644 index 0000000..93fd70f --- /dev/null +++ b/src/socket/tools/DateExt.js @@ -0,0 +1,140 @@ +/** 日期扩展 */ + +export default () => { + + if (!Date.prototype.format) { + /** + * 格式化日期 + * @param {String} fmt 字符串表达式 + * @return {String} + * @example + * new Date().format('yyyy-MM-dd hh:mm:ss.S'); //2018-09-02 08:09:04.423 + * new Date().format('yyyy-M-d h:m:s.S'); //2018-9-2 8:9:4.423 + */ + Date.prototype.format = function (fmt) { + let o = { + 'M+': this.getMonth() + 1, //月份 + 'd+': this.getDate(), //日 + 'h+': this.getHours(), //小时 + 'm+': this.getMinutes(), //分 + 's+': this.getSeconds(), //秒 + 'S': this.getMilliseconds() //毫秒 + }; + for (let time in o) { + if (isNaN(o[time])) { + return ''; + }; + }; + if (/(y+)/.test(fmt)) { + fmt = fmt.replace(RegExp.$1, (this.getFullYear() + '').slice(4 - RegExp.$1.length)); + } + for (let k in o) { + if (new RegExp('(' + k + ')').test(fmt)) { + fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (('00' + o[k]).slice(('' + o[k]).length))); + } + } + + return fmt; + }; + }; + + if (!Date.prototype.getTimeDiffer) { + /** + * 获取指定时间和Date的时间差 + * @param {Date} targetTime 指定的时间(如果该时间晚于Date,得到的是正数,反之负数) + * @param {String} type d=天 h=时 m=分 s=秒(默认) ms=毫秒 + * @return {Number} 计算出来的type时间差 + */ + Date.prototype.getTimeDiffer = function (targetTime, type = 's') { + let nowTime = this; + let timeDiffer = targetTime.getTime() - nowTime.getTime(); + + let differ + switch (type) { + case 'd': + differ = timeDiffer / (1000 * 60 * 60 * 24); + break; + case 'h': + differ = timeDiffer / (1000 * 60 * 60); + break; + case 'm': + differ = timeDiffer / (1000 * 60); + break; + case 's': + differ = timeDiffer / 1000; + break; + case 'ms': + differ = timeDiffer; + break; + default: + break; + }; + + return Math.floor(differ); + }; + }; + + if (!Date.prototype.incMillisecond) { + /** + * 将当前日期增减(负数为减少)指定毫秒数 + * @param {Number} millisecond 毫秒数(正数增,负数减) + * @return {Date} 新的日期 + */ + Date.prototype.incMillisecond = function (millisecond) { + return new Date(this.getTime() + Math.round(millisecond)); + }; + }; + + if (!Date.prototype.getWeekDate) { + /** + * 获得指定日期的开始日期和结束(周一算第一天) + * @return {[Date, Date]} 日期数组 下标0开始日期;下标1结束日期 + */ + Date.prototype.getWeekDate = function () { + // 第几天 + let nowDayOfWeek = this.getDay() == 0 ? 7 : this.getDay(); + // 当前日 + let nowDay = this.getDate(); + // 当前月 + let nowMonth = this.getMonth(); + // 当前年 + let nowYear = this.getYear(); + nowYear += (nowYear < 2000) ? 1900 : 0; + + let weekStartDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek + 1); + let weekEndDate = new Date(nowYear, nowMonth, nowDay + (7 - nowDayOfWeek)); + + return [weekStartDate, weekEndDate]; + }; + }; + + if (!Date.prototype.clone) { + /** + * 深拷贝日期 + * @return {Date} 新的日期 + */ + Date.prototype.clone = function () { + return new Date(this.valueOf()); + }; + }; + + if (!Date.prototype.isEqual) { + /** + * 是否同一年(月、日、小时等) + * @param {Date} 需要比较的日期 + * @param {String} s y年 m月 d日 h小时 m分 s秒 S毫秒 + */ + Date.prototype.isEqual = function (date, s = 'd') { + switch (s) { + case 'y': return this.getFullYear() === date.getFullYear(); + case 'm': return this.getMonth() === date.getMonth(); + case 'd': return this.getDate() === date.getDate(); + case 'h': return this.getHours() === date.getHours(); + case 'm': return this.getMinutes() === date.getMinutes(); + case 's': return this.getSeconds() === date.getSeconds(); + case 'S': return this.getMilliseconds() === date.getMilliseconds(); + default: return false; + }; + }; + } +}; diff --git a/src/socket/tools/StringExt.js b/src/socket/tools/StringExt.js new file mode 100644 index 0000000..4a64e37 --- /dev/null +++ b/src/socket/tools/StringExt.js @@ -0,0 +1,170 @@ +/** 字符扩展 */ + +export default () => { + + //#region Base64加解密 + // 将标准base64中的等号换成减号,用于网址 + var r = '-', + n = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; + + function t(t, i) { + var r = n.indexOf(t.charAt(i)); + if (r === -1) throw 'Cannot decode'; + return r + }; + + function i(n, t) { + var i = n.charCodeAt(t); + if (i > 255) throw 'INVALID_CHARACTER_ERR: DOM Exception 5'; + return i + }; + + function encode(t) { + t = String(t); + var f, u, e = [], + o = t.length - t.length % 3; + if (t.length === 0) return t; + for (f = 0; f < o; f += 3) u = i(t, f) << 16 | i(t, f + 1) << 8 | i(t, f + 2), e.push(n.charAt(u >> 18)), e.push(n.charAt(u >> 12 & 63)), e.push(n.charAt(u >> 6 & 63)), e.push(n.charAt(u & 63)); + switch (t.length - o) { + case 1: + u = i(t, f) << 16; + e.push(n.charAt(u >> 18) + n.charAt(u >> 12 & 63) + r + r); + break; + case 2: + u = i(t, f) << 16 | i(t, f + 1) << 8; + e.push(n.charAt(u >> 18) + n.charAt(u >> 12 & 63) + n.charAt(u >> 6 & 63) + r); + }; + return e.join(''); + }; + + function decode(n) { + n = String(n); + var o = 0, + i, u, f = n.length, + e = []; + if (n = String(n), f === 0) return n; + if (f % 4 != 0) throw 'Cannot decode'; + for (n.charAt(f - 1) === r && (o = 1, n.charAt(f - 2) === r && (o = 2), f -= 4), i = 0; i < f; i += 4) u = t(n, i) << 18 | t(n, i + 1) << 12 | t(n, i + 2) << 6 | t(n, i + 3), e.push(String.fromCharCode(u >> 16, u >> 8 & 255, u & 255)); + switch (o) { + case 1: + u = t(n, i) << 18 | t(n, i + 1) << 12 | t(n, i + 2) << 6; + e.push(String.fromCharCode(u >> 16, u >> 8 & 255)); + break; + case 2: + u = t(n, i) << 18 | t(n, i + 1) << 12; + e.push(String.fromCharCode(u >> 16)); + }; + return e.join(''); + }; + //#endregion + + if (!String.prototype.format) { + /** + * 格式化字符串 + * @param {Stringp[]} args 要格式化的替换值数组 + * @return {String} 格式化结果 + * @example '一二三{0}五,上山打{1}'.format('四','老虎') 结果:'一二三四五,上山打老虎' + */ + String.prototype.format = function (args) { + let result = this; + if (arguments.length > 0) { + if (arguments.length == 1 && typeof (args) == 'object') { + for (let key in args) { + if (args[key] != undefined) { + let reg = new RegExp('({)' + key + '(})', 'g'); + result = result.replace(reg, args[key]); + }; + }; + } else { + for (let i = 0; i < arguments.length; i++) { + if (arguments[i] != undefined) { + let reg = new RegExp('({)' + i + '(})', 'g'); + result = result.replace(reg, arguments[i]); + }; + }; + }; + }; + + return result; + }; + }; + + if (!String.prototype.finance) { + /** + * 转为财务表示法字符串 + * @param {Number} n 保留小数位 + * @return {String} 转换结果 + * @example '12345678.18264'.finance(2) 结果:'12,345,678.18' + */ + String.prototype.finance = function (n = 2) { + if (!Number(this)) return this; + + return (Number(this).toFix(n) + '').replace(/\d{1,3}(?=(\d{3})+(\.\d*)?$)/g, '$&,'); + }; + }; + + if (!String.prototype.unfinance) { + /** + * 从财务表示法还原为数字 + * @return {Number} 转换结果 + * @example '12,345,678.18'.unfinance() 结果:12345678.18 + */ + String.prototype.unfinance = function () { + return Number(this.replace(/,/gi, '')); + }; + }; + + if (!String.prototype.utf8Encode) { + /** + * utf8编码 + * @return {String} + */ + String.prototype.utf8Encode = function () { + return unescape(encodeURIComponent(this)); + }; + }; + + if (!String.prototype.utf8Decode) { + /** + * utf8解码 + * @return {String} + */ + String.prototype.utf8Decode = function () { + try { + return decodeURIComponent(escape(this)); + } catch (e) { + return this; + }; + }; + }; + + if (!String.prototype.base64Encode) { + /** + * 非标准Base64编码 + * @return {String} + */ + String.prototype.base64Encode = function () { + return encode(this.utf8Encode()); + }; + }; + + if (!String.prototype.base64Decode) { + /** + * 非标准Base64解码 + * @return {String} + */ + String.prototype.base64Decode = function () { + return decode(this).utf8Decode(); + }; + }; + + if (!String.prototype.isEnStr) { + /** + * 是否为加密字符串 + * @return {Boolean} + */ + String.prototype.isEnStr = function () { + return this.slice(0, 10) === 'Xm6Ek7ebm0'; + }; + }; +}; diff --git a/src/socket/tools/ToolsBase.js b/src/socket/tools/ToolsBase.js new file mode 100644 index 0000000..e19eb4b --- /dev/null +++ b/src/socket/tools/ToolsBase.js @@ -0,0 +1,308 @@ +/** 基本工具类 */ + +import StringExt from './StringExt.js'; StringExt(); +import DateExt from './DateExt.js'; DateExt(); +import global from '../config/Global.js'; +import code from '../config/Code.js'; +import key from '../config/Key.js'; +import Crypto from './Crypto.js'; +const crypto = Crypto(); +// 公共map对象 +const map = new Map(); + +export default class { + + /** 配置类 */ + get cfg() { + return { + /** 统一错误代码定义 */ + code, + /** 加密用的Key */ + key, + /** 全局常量 */ + global, + }; + }; + + /** 加解密类 */ + get crypto() { return crypto; }; + + /** 公共Map缓存类 */ + get map() { return map; }; + + /** + * 服务器时间 + * @return {Date} 时间 + */ + get serverTime() { + let difTime = this.map.get('server_time') || 0; + return new Date().incMillisecond(difTime); + }; + /** + * 服务器时间 + * @param {Date} date 服务器时间 + */ + set serverTime(date) { + if (this.isString(date)) { + if (!Date.parse(date)) return; + date = new Date(date); + }; + + let difTime = new Date().getTimeDiffer(date, 'ms'); + this.map.set('server_time', difTime); + }; + + /** + * 是否是方法 + * @param {any} any + * @return {Boolean} + */ + isFn(any) { + return Object.prototype.toString.call(any) === '[object Function]'; + }; + + /** + * 是否是字符串 + * @param {any} any + * @return {Boolean} + */ + isString(any) { + return Object.prototype.toString.call(any) === '[object String]'; + }; + + /** + * 是否是数字 + * @param {any} any + * @return {Boolean} + */ + isNumber(any) { + return Object.prototype.toString.call(any) === '[object Number]' && any.toString() !== 'NaN'; + }; + + /** + * 是否是数字并且大于0 + * @param {any} any + * @return {Boolean} + */ + isThan0(any) { + return this.isNumber(any) && any > 0; + }; + + /** + * 是否是自然数 + * @param {any} any + * @return {Boolean} + */ + isNatureInt(any) { + return Number.isInteger(any) && (any >= 0); + }; + + /** + * 是否是正整数 + * @param {any} any + * @return {Boolean} + */ + isPositiveInt(any) { + return Number.isInteger(any) && (any > 0); + }; + + /** + * 是否是字符串数字 + * @param {String} str + * @return {Boolean} + * @todo 0001234和000.123均算为数字 + */ + isStrNumber(str) { + let regPos = /^\d+(\.\d+)?$/; //非负浮点数 + let regNeg = /^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$/; //负浮点数 + if (regPos.test(str) || regNeg.test(str)) { + return true; + } else { + return false; + }; + }; + + /** + * 是否是日期 + * @param {any} any + * @return {Boolean} + */ + isDate(any) { + return Object.prototype.toString.call(any) === '[object Date]'; + }; + + /** + * 是否是时间戳 + * @param {any} any + * @return {Boolean} + */ + isTimespan(any) { + if (!this.isThan0(Number(any))) return false; + + let minDate = new Date('1970-01-01 00:00:00'); + let maxDate = new Date('2100-01-01 00:00:00'); + let date = new Date(any); + return date > minDate && date < maxDate; + }; + + /** + * 是否是对象 + * @param {any} any + * @return {Boolean} + */ + isObject(any) { + return any && (Object.prototype.toString.call(any) === '[object Object]' || typeof any == 'object'); + }; + + /** + * 是否是数组 + * @param {any} any + * @return {Boolean} + */ + isArray(any) { + return Object.prototype.toString.call(any) === '[object Array]' || typeof any == 'array'; + }; + + /** + * 是否是有效数组 + * @param {any} obj + * @return {Boolean} + */ + isEffectiveArray(obj) { + return obj != undefined && obj != null && this.isArray(obj) && obj.length > 0; + }; + + /** + * 是否是bool + * @param {any} any + * @return {Boolean} + */ + isBoolean(any) { + return Object.prototype.toString.call(any) === '[object Boolean]'; + }; + + /** + * 深拷贝 + * @param {any} value + * @return {any} + */ + depthClone(value) { + return this.jsonParse(this.jsonString(value)); + }; + + /** + * json对象或数组转成字符串 + * @param {JSON} obj 对象或数组 + * @return {JSON|Array|String|Number} + */ + jsonString(obj) { + // 返回空 + if (!obj && obj != 0) return obj; + // 返回字符串 + if (!this.isObject(obj) && !this.isArray(obj)) return obj; + + let str; + try { + str = JSON.stringify(obj); + } catch (err) { + str = obj; + }; + + return str; + }; + + /** + * 生成指定位数随机字符串 + * @param {Number} len 随机字符的位数 + * @param {Number} type 1=精确到毫秒时间戳(13位) 2=精确到秒时间戳(10位) null=无时间戳 + * @param {String} str 字符串集(null则从ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678随机选取) + * @return {String} + */ + getRandomStr(len = 32, type, str) { + if (this.isString(type) && !str) { + str = type; + type = null; + }; + + let chars = str || 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678'; + let maxPos = chars.length; + let s = ''; + for (let i = 0; i < len; i++) { + s += chars.charAt(Math.floor(Math.random() * maxPos)); + }; + + if (type == 1) { + s += this.serverTime.getTime(); + }; + + if (type == 2) { + s += Math.round(this.serverTime.getTime() / 1000); + }; + + return s; + }; + + /** + * json格式的字符串转成对象 + * @param {String|Number|Boolean|Array} any 字符串 + * @return {JSON|Array|String|Number} + */ + jsonParse(any) { + if (!any && any != 0) return any; + if (this.isObject(any) || this.isArray(any)) return any; + if (this.isStrNumber(any) && !Number.isSafeInteger(Number(any))) return any; + + let obj; + try { + obj = JSON.parse(any); + } catch (err) { + obj = any; + }; + + return obj; + }; + + /** + * 对象转为URL参数 + * @param {JSON} obj + * @return {String} 如:a=1&b=2&c='a' + */ + objToURLParam(obj) { + let result = ''; + if (!this.isObject(obj)) return result; + + for (const key in obj) { + if (!obj[key] && obj[key] != 0) continue; + + if (result != '') result += '&'; + result += `${key}=${obj[key]}`; + }; + + return result; + }; + + /** + * 通用数据加密 + * @param {String|JSON} data 数据 + * @param {Boolean} needTime 需要增加时间 + */ + enData(data, needTime = true) { + if (!data && data != 0) return data; + if (needTime && this.isObject(data)) data.serverTime = new Date(); + return `Xm6Ek7ebm0${this.crypto.encrypt(this.jsonString(data), this.cfg.key.PRIVATE_KEY, 128)}` || ''; + }; + + /** + * 通用数据解密 + * @param {String} data 数据 + */ + deData(data) { + if (!data && data != 0) return data; + if (!String(data).isEnStr()) return this.jsonParse(data); + if (data.slice(0, 10) === 'Xm6Ek7ebm0') { + data = data.slice(10); + return this.jsonParse(this.crypto.decrypt(data, this.cfg.key.PRIVATE_KEY, 128)) || {}; + }; + return this.jsonParse(this.crypto.decrypt(data, this.cfg.key.PRIVATE_KEY, 128)); + }; +} \ No newline at end of file diff --git a/src/stores/index.ts b/src/stores/index.ts new file mode 100644 index 0000000..c7cc1f4 --- /dev/null +++ b/src/stores/index.ts @@ -0,0 +1,16 @@ +import type { App } from "vue"; +import { createPinia } from "pinia"; +import { createPersistedState } from 'pinia-plugin-persistedstate' +import piniaPluginPersistedstate from "pinia-plugin-persistedstate"; +const store = createPinia(); +store.use(piniaPluginPersistedstate); +store.use( + createPersistedState({ + storage: localStorage, + }) +); +export function setupStore(app: App) { + app.use(store); +} + +export { store }; diff --git a/src/stores/modules/base.ts b/src/stores/modules/base.ts new file mode 100644 index 0000000..5792aeb --- /dev/null +++ b/src/stores/modules/base.ts @@ -0,0 +1,141 @@ +import { defineStore } from "pinia"; +import { store } from "@/stores"; +import https from "@/https"; +import socketApi from "@/socket/socketApi"; +import storage, { actions } from "@/utils/storage"; +import http from "@/https"; + +export const useBaseStore = defineStore("base", { + state() { + return { + shareLinkUrl: "", + deferredPrompt: {}, + // 添加主屏幕 + showAddToHomeVisible: false, + globalConfig: {}, + // 转盘配置 + turntableConfig: {}, + // 抽奖结果 + turntableResult: {}, + // 转盘帮助列表 + helpList: >[], + // 帮助列表总数 + helpTotal: 0, + // 是否刷新转盘数据 + refreshTurntable: false, + // 页面可视高度 + innerHeight: 0, + innerWidth: 0, + // 群组 + groupList: [], + }; + }, + actions: { + async setShareLinkUrl() { + const res = await https.getShareLink(); + if (res.code != 0) { + this.shareLinkUrl = "https://18n25.com/"; + } + if (res.data.url) { + this.shareLinkUrl = res.data.url; + } else { + this.shareLinkUrl = "https://18n25.com/"; + } + }, + setDeferredPrompt(e: any) { + this.deferredPrompt = e; + }, + setShowAddToHomeVisible(status: boolean) { + this.showAddToHomeVisible = status; + }, + // 平台配置 + async setGlobalConfig() { + const res: ResultData = await https.getPlatformConfig(); + this.globalConfig = res.data; + console.log(this.globalConfig, "globalConfig"); + return { data: res.data }; + }, + // 获取转盘配置 + async getHelpTurntable() { + let res; + const token = storage.getStorage(actions.USER_TOEKN); + if (token) { + res = await https.getHelpTurntable({ recordSize: 100 }); + console.log(res, "------登录后转盘配置--------"); + } else { + res = await https.getHelpTurntable({ recordSize: 100 }); + console.log(res, "------未登录转盘配置--------"); + } + if (res.code !== 0) { + return; + } + this.turntableConfig = res.data; + }, + + // 获取抽奖结果 + async getHelpTurntableResult() { + const res = await http.getHelpTurntableResult(); + this.turntableResult = res.data; + }, + // 清除转盘信息 + clearTurntableInfo() { + this.turntableResult = {}; + this.helpList = []; + this.helpTotal = 0; + }, + //动态刷新转盘数据 + setRefreshTurntable(status: boolean) { + this.refreshTurntable = status; + }, + // 获取转盘帮助列表 + async getHelpTurntable2Log(data: any) { + // const res = await http.getHelpTurntable2Log(data); + // if (res.code !== 0) { + // return { state: false, total: 0, msg: res.txt, data: [] }; + // } + // if (res.data.help2Peoples) { + // this.helpTotal = res.data.help2Peoples.total; + // return { + // state: true, + // total: res.data.help2Peoples.total, + // msg: res.txt, + // data: res.data.help2Peoples.rows, + // }; + // } + }, + // 刷新帮助列表 + async refreshHelpList(data: any) { + // const res = await this.getHelpTurntable2Log(data); + // if (res?.state) { + // this.helpList = res.data; + // } + }, + // 加载更多列表 + async loadMoreHelpList(data: any) { + // const res = await this.getHelpTurntable2Log(data); + // if (res?.state) { + // const _list = res.data; + // _list.forEach((item: any) => { + // this.helpList.push(item); + // }); + // } + }, + // 设置页面可视 + setInnerInfo(height: number, width: number) { + this.innerHeight = height; + this.innerWidth = width; + }, + // 设置群组 + async getCustomerGroup() { + const res = await https.getCustomerGroup(); + console.log(res, "?"); + if (res.code !== 0) return; + this.groupList = res.data; + }, + }, +}); + +// Need to be used outside the setup +export const useBaseStoreWithOut = () => { + return useBaseStore(store); +}; diff --git a/src/stores/modules/game-list.ts b/src/stores/modules/game-list.ts new file mode 100644 index 0000000..f9ad158 --- /dev/null +++ b/src/stores/modules/game-list.ts @@ -0,0 +1,178 @@ +import { defineStore } from "pinia"; +import { store } from "@/stores"; +import { actions } from "@/utils/storage"; +import { noticeStore } from "./notice"; +import http from "@/https"; + +export const gameListStore = defineStore(actions.GAME_LIST, { + persist: true, + state: () => { + return { + //封装后数据 + gameList: >[], + //原始游戏列表数据 + originalList: >[], + // 首页厂商 + providerList: >[], + // 首页 游戏分类 + gameClassData: >[], + // 首页轮播 + carouselData: >[], + + gameTypeData: >[], + //公告列表 + announcementData: >[], + }; + }, + actions: { + // 游戏状态更新 替换对应游戏 更新所有游戏列表 + setAllGameList(data: any) { + this.originalList = data; + this.setPackageData(); + }, + async setGameTypeData() { + const gameTypeData = await http.getGameTypeList(); + console.log(gameTypeData, "gameTypeData"); + if (gameTypeData.code != 0) return; + this.gameTypeData = gameTypeData.data; + }, + // 轮播状态更新 替换数据列表 + async setCarouselData() { + const carousel = await http.getCarousel(); + if (carousel.code != 0) return; + this.carouselData = carousel.data.filter( + (item: any) => !item.isDisable + ); // 过滤 isDisable=true 隐藏 + }, + // 游戏厂商状态更新 替换数据列表 + async setProviderListData() { + const providerListData = await http.getGameProviderList(); + if (providerListData.code != 0) return; + this.providerList = providerListData.data.filter( + (item: any) => !item.isDisable && !item.isDeleted + ); + }, + // 游戏分类状态更新 替换数据列表 + async setGameClassDataData(bool: boolean) { + const classData = await http.getGameClassList(); + if (classData.code != 0) return; + this.gameClassData = classData.data.filter( + (item: any) => !item.isWebDisable && !item.isDeleted + ); + if (bool) { + this.setPackageData(); + } + }, + // 获取公告列表 + async getAds() { + const res = await http.getAds(); + console.log(res, "announcementData"); + this.announcementData = res.data; + }, + // 火爆热门 轮播 + async setNotice() { + const notice = await http.getNotice(); + if (notice.code != 0) return; + let noticeData: Array = []; + for (let i = 0; i < notice.data.length; i++) { + if (notice.data[i].gameId) { + let newItem = this.originalList.find( + (item: any) => item.gameId === notice.data[i].gameId + ); + noticeData.push({ + ...newItem, + ...notice.data[i], + }); + } + } + noticeStore().setAllNotice(noticeData); + }, + + async getGameList() { + // 请求轮播 + if (this.carouselData.length === 0) { + await this.setCarouselData(); + } + + // 请求 厂商分类 + if (this.providerList.length === 0) { + await this.setProviderListData(); + } + + if (this.gameTypeData.length === 0) { + await this.setGameTypeData(); + } + + // 请求 游戏分类 + if (this.gameList.length === 0) { + await this.setGameClassDataData(false); + } + + // 请求 所有游戏 + if (this.originalList.length === 0) { + console.log("加载游戏+++++++++++++++++++++++++++++++++++"); + const gameListData = await http.gameList(); + if (gameListData.code != 0) return; + this.originalList = gameListData.data; + } + + // 请求 火爆中奖信息 + if (noticeStore().notice.length === 0) { + await this.setNotice(); + } + + this.setPackageData(); + }, + setOriginalList() { + this.originalList = []; + }, + // 处理数据 + setPackageData() { + // 循环类名 + let packageData = >[]; // 封装过后的数据 + for (let i = 0; i < this.gameClassData.length; i++) { + let obj = { + ...this.gameClassData[i], + gameList: [], + proIdData: [], + }; + //循环游戏列表 取类名 存在的游戏数据 + for (let j = 0; j < this.originalList.length; j++) { + if ( + this.originalList[j].gameClassId.find( + (item: any) => item === this.gameClassData[i].gameClassId // 过滤 游戏类别 包含的数据 + ) && + this.originalList[j].state != -1 // 过滤 游戏状态 -1 隐藏的 游戏 + ) { + obj.gameList.push(this.originalList[j]); + } + } + //游戏列表根据类classId 排序 + obj.gameList.sort( + (a: any, b: any) => + b.sortInClass[obj.gameClassId] - a.sortInClass[obj.gameClassId] + ); + for (let j = 0; j < obj.gameList.length; j++) { + for (let i = 0; i < this.providerList.length; i++) { + if ( + obj.gameList[j].providerId === this.providerList[i].providerId + ) { + obj.proIdData.push(this.providerList[i]); + } + } + } + obj.proIdData = Array.from(new Set(obj.proIdData)); + // 循环结束 push 数据 + packageData.push(obj); + } + + // 从新赋值 + this.gameList = packageData; + }, + }, +}); + +// Need to be used outside the setup +export const useGameListStoreWithOut = () => { + return gameListStore(store); +}; diff --git a/src/stores/modules/game.ts b/src/stores/modules/game.ts new file mode 100644 index 0000000..514b35f --- /dev/null +++ b/src/stores/modules/game.ts @@ -0,0 +1,42 @@ +import { defineStore } from "pinia"; +import { store } from "@/stores"; +import emitter from "@/utils/eventBus"; + +export const useGameStore = defineStore("game", { + persist: true, + state: () => { + return { + gameInfo: {}, + gameUrl: "", + // 启动游戏详情 + startGameInfo: {}, + // 搜索参数 + searchData: {} + }; + }, + actions: { + setGameInfo(game: any) { + this.gameInfo = {} + this.gameInfo = game; + }, + + setSearchData(data: any) { + this.searchData = data + }, + + setStartGameInfo(info: any) { + console.log(info, 'start-game') + this.startGameInfo = info + emitter.emit('openGame') + }, + + clearGameUrl() { + this.gameUrl = ""; + }, + }, +}); + +// Need to be used outside the setup +export const useGameStoreWithOut = () => { + return useGameStore(store); +}; diff --git a/src/stores/modules/gift.ts b/src/stores/modules/gift.ts new file mode 100644 index 0000000..2417c9f --- /dev/null +++ b/src/stores/modules/gift.ts @@ -0,0 +1,26 @@ +import { defineStore } from "pinia"; +import { store } from "@/stores"; +import socketApi from "@/socket/socketApi"; +import http from "@/https/index"; + +export const useGiftStore = defineStore("gift", { + persist: true, + state: () => { + return { + threeInOneInfo: {}, + }; + }, + actions: { + getThreeInOneInfo() { + http.getOneOfThree().then((res: any) => { + if (res.code !== 0) return; + this.threeInOneInfo = res.data; + }); + }, + }, +}); + +// Need to be used outside the setup +export const useGiftStoreWithOut = () => { + return useGiftStore(store); +}; diff --git a/src/stores/modules/notice.ts b/src/stores/modules/notice.ts new file mode 100644 index 0000000..64ceea3 --- /dev/null +++ b/src/stores/modules/notice.ts @@ -0,0 +1,91 @@ +import { defineStore } from "pinia"; +import { store } from "@/stores"; +import https from "@/https"; +import { gameListStore } from "./game-list"; +import { fomartName } from "@/utils"; + +export const noticeStore = defineStore("notice", { + persist: true, + state: () => { + return { + notice: >[], + // 首页下载TOP + showTopDownload: true, + broadcast: >[], + }; + }, + actions: { + closeShowTopDownload() { + this.showTopDownload = false; + }, + setBroadcast(res: any) { + if (res.gameId) { + return; + } + let obj: any = { ...res }; + obj.txt = res.txt + .replace("{#uid}", fomartName(`${res.uid}`)) + .replace("{#game}", res.gameAlias) + .replace("{#coins}", res.coins / 10000); + if (this.broadcast.length >= 2) { + let data = [this.broadcast[this.broadcast.length - 1]]; + data.push(obj); + this.broadcast = [...data]; + } else { + this.broadcast.push(obj); + } + }, + setNotice(message: any) { + if (!message.gameId) { + return; + } + let data = [...this.notice]; + if ( + !data.find( + (el: any) => + el.serverTime == message.serverTime && el.uid == message.uid + ) + ) { + let newItem = gameListStore().originalList.find( + (item: any) => item.gameId === message.gameId + ); + data.push({ ...newItem, ...message }); + if (data.length > 18) { + this.notice = data.slice(data.length - 18, data.length); + } else { + this.notice = [...data]; + } + this.setNoticeTxt(); + } + }, + setNoticeTxt() { + this.notice.forEach((item: any) => { + if (item.txt) { + item.txt = item.txt + .replace("{#uid}", fomartName(`${item.uid}`)) + .replace("{#game}", item.gameAlias) + .replace("{#coins}", item.coins / 10000); + } + }); + }, + async getNotice() { + if (this.notice.length > 0) return; + const res = await https.getNotice(); + if (res.code !== 0) return; + this.notice = [...res.data]; + }, + setAllNotice(data: Array) { + if (data.length > 18) { + this.notice = data.slice(data.length - 18, data.length); + } else { + this.notice = [...data]; + } + this.setNoticeTxt(); + }, + }, +}); + +// Need to be used outside the setup +export const useNoticeStoreWithOut = () => { + return noticeStore(store); +}; diff --git a/src/stores/modules/props.ts b/src/stores/modules/props.ts new file mode 100644 index 0000000..dc83ece --- /dev/null +++ b/src/stores/modules/props.ts @@ -0,0 +1,24 @@ +import { defineStore } from "pinia"; +import { store } from "@/stores"; +import storage, { actions } from "@/utils/storage"; +export const propsStore = defineStore("props", { + state() { + return { + propsData: >[], + }; + }, + actions: { + setPropsData(e: any) { + if (storage.getStorage(actions.PROPS_DATA)) { + this.propsData = JSON.parse(storage.getStorage(actions.PROPS_DATA) || "") + } + if (!this.propsData.find((el: any) => el._id === e._id)) { + this.propsData.push(e) + } + storage.setStorage(actions.PROPS_DATA, JSON.stringify(this.propsData)) + }, + }, +}); +export const usePropsStoreWithOut = () => { + return propsStore(store); +}; diff --git a/src/stores/modules/user.ts b/src/stores/modules/user.ts new file mode 100644 index 0000000..89fd076 --- /dev/null +++ b/src/stores/modules/user.ts @@ -0,0 +1,81 @@ +import { defineStore } from "pinia"; +import { store } from "@/stores"; +import https from "@/https"; +import storage, { actions } from "@/utils/storage"; +import socketApi from '@/socket/socketApi' +import router from "@/router"; +import { toast } from "@/utils/toast"; +import http from "@/https"; +export const useUserStore = defineStore("user", { + state() { + return { + userInfo: {}, + vipInfo: {}, + // 新邮件 + newMail: 0, + noticesShow: 0, + // 拼单单中奖信息 + pddAward:>[], + }; + }, + actions: { + setUserInfo(data: any) { + this.userInfo = { ...data } + }, + setPddAward(data:any) { + this.pddAward = [...data] + }, + async getUserInfo() { + const { data, code, txt }: ResultData = await https.userInfo(); + console.log(data, code, txt, 'getUserInfogetUserInfo') + data.totalPay = data.totalPay || 0; + if (code !== 0) { + router.push('/login') + this.clearUser() + toast(txt) + return { status: false, msg: txt, code } + }; + storage.setStorage(actions.USER_INFO, JSON.stringify(data)) + this.setUserInfo(data) + this.getVipLvInfo() + await this.getNewNotice() + await this.checkNewMail() + return { status: true, msg: txt, code }; + }, + clearUser() { + storage.removeStorage(actions.USER_INFO); + storage.removeStorage(actions.USER_TOEKN); + storage.removeSessionStorage(actions.DRAW_POPUP); + this.setUserInfo({}) + }, + // vip详情 + getVipLvInfo() { + http.getVipLvInfo().then((res: any) => { + if (res.code !== 0) return; + this.vipInfo = res.data; + }); + }, + async getNewNotice(){ + const res = await http.checkNewNotice(); + this.noticesShow = res.data.newNotice || 0; + }, + async checkNewMail () { + const res = await http.checkNewMail(); + if (res.code == 0) { + this.newMail = res.data.newMail; + } + }, + // 监听是否有新邮件 + hasNewMail(num: number) { + this.newMail = num + }, + hasNewNotice(num: number) { + this.noticesShow += num + } + } +}) + +// Need to be used outside the setup +export const useUserStoreWithOut = () => { + return useUserStore(store); +}; \ No newline at end of file diff --git a/src/style.css b/src/style.css new file mode 100644 index 0000000..883b292 --- /dev/null +++ b/src/style.css @@ -0,0 +1,128 @@ +:root { + font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif; + line-height: 1.5; + font-weight: 400; + + color-scheme: light dark; + color: rgba(255, 255, 255, 0.87); + background-color: #242424; + + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + -webkit-text-size-adjust: 100%; +} + +a { + font-weight: 500; + color: #646cff; + text-decoration: inherit; +} + +a:hover { + color: #535bf2; +} + +* { + margin: 0; + padding: 0; +} + +.flex-sb { + display: flex; + justify-content: space-between; + align-items: center; + cursor: pointer; +} + +.flex-sad { + display: flex; + justify-content: space-around; + align-items: center; + cursor: pointer; +} + +.grid-se { + display: grid; + grid-template-columns: repeat(5, 1fr); + align-items: flex-end; + cursor: pointer; +} + +.flex-end { + display: flex; + justify-content: flex-end; + align-items: center; + cursor: pointer; +} + +.flex-ct { + display: flex; + justify-content: center; + align-items: center; + cursor: pointer; + position: relative; + .maintenance-box { + width: 100%; + height: 100%; + position: absolute; + top: 0; + left: 0; + z-index: 6; + background-color: rgba(0, 0, 0, 0.5); + } +} + +.flex-sa { + display: flex; + justify-content: flex-end; + align-items: center; + flex-direction: column; + cursor: pointer; +} + +.flex-cl { + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; + cursor: pointer; +} + +.flex-st { + display: flex; + align-items: center; + justify-content: flex-start; +} + +.effect { + animation: effect 2500ms forwards infinite; + transition: all 200ms linear; +} + +@keyframes effect { + 0% { + transform: scale(1); + } + + 20% { + transform: scale(0.8); + } + + 50% { + transform: scale(1.18); + } + + 80% { + transform: scale(1); + } + + 90% { + transform: rotate(-6deg); + } + + 100% { + transform: rotate(6deg); + } +} \ No newline at end of file diff --git a/src/typeing/global.d.ts b/src/typeing/global.d.ts new file mode 100644 index 0000000..160459b --- /dev/null +++ b/src/typeing/global.d.ts @@ -0,0 +1,35 @@ +declare interface CustomObject { + [key: string]: any; +} + +declare interface ResultData { + [x: string]: string | URL | undefined; + code: number; + data: any; + txt: string; +} + + +declare interface Window { + Android: any; + fbq: any; + kwaiq: any; + google: any + FB: any; + gtag: any; +} + +declare interface PageProps { + pageIndex: number; + pageSize: number; + pageTotal: number; +} + +declare module '*.vue' { + import { ComponentOptions } from 'vue' + const componentOptions: ComponentOptions + export default componentOptions +} + + +declare module 'socketApi' \ No newline at end of file diff --git a/src/utils/actions.ts b/src/utils/actions.ts new file mode 100644 index 0000000..160f80e --- /dev/null +++ b/src/utils/actions.ts @@ -0,0 +1,45 @@ +export const actions = { + // 用户token + USER_TOEKN: "USER_TOEKN", + // 用户详情 + USER_INFO: "USER_INFO", + // 用户登录账号 + LOGIN_INFO: "LOGIN_INFO", + // 当前设备 + BROWSER: "BROWSER", + /** + * 是否添加桌面弹框 + * 1:以添加 + * 0:未添加 + * */ + ADD_TO_HOME: "ADD_TO_HOME", + // 首页当前现实位置 + HOME_POSITION: "HOME_POSITION", + //全局道具信息 + PROPS_DATA: "PROPS_DATA", + /** + * 转盘弹框 + * 1 关闭 + * 0 开启 + */ + DRAW_POPUP: "DRAW_POPUP", + /** + * 游戏查询 + * @params type 搜索类型 1:单搜索 2:平台搜索 3:厂家搜索 + * @params value 搜索值 + */ + SEARCH_DATA: "SEARCH_DATA", + //缓存 首页游戏列表 + GAME_LIST: "GAME_LIST", + // 查看分类名下所有游戏 + ALL_GAME_CLASS: "ALL_GAME_CLASS", + // 收藏游戏GameIDs + COLLECT_GAME_IDS: "COLLECT_GAME_IDS", + // 跳转收藏页面 type + COLLECT_TYPE: "COLLECT_TYPE", + // 第一次打开H5 展示公告 + SHOW_NOTICE:"SHOW_NOTICE", + AD_ID:"AD_ID", + API_BASE_URL:"API_BASE_URL", + API_BASE_IMG_URL:"API_BASE_IMG_URL", +}; diff --git a/src/utils/eventBus.ts b/src/utils/eventBus.ts new file mode 100644 index 0000000..390478c --- /dev/null +++ b/src/utils/eventBus.ts @@ -0,0 +1,3 @@ +import mitt from 'mitt' + +export default mitt() diff --git a/src/utils/index.ts b/src/utils/index.ts new file mode 100644 index 0000000..bf908c0 --- /dev/null +++ b/src/utils/index.ts @@ -0,0 +1,291 @@ +import useClipboard from "vue-clipboard3"; +import { VITE_CDN_STATIC_PATH } from "@/common/config"; +import router from "@/router"; +import dayjs from "dayjs"; +import Decimal from "decimal.js"; +import { toast } from "./toast"; +import storage, { actions } from "@/utils/storage"; + +const { toClipboard } = useClipboard(); + +/** + * 获取静态资源url地址 + * @param assetsPath 静态资源路径,相对于assets目录 + */ +export function getAssets(assetsPath: string) { + return new URL(`../assets/img/${assetsPath}`, import.meta.url).href; +} + +/** + * cdn静态资源 + */ +export const getStaticImage = (path: string) => { + return `${VITE_CDN_STATIC_PATH}static/${path}`; +}; + +/** + * 获取网络图片地址 + */ + +export const getImage = (path: string) => { + return import.meta.env.VITE_APP_BASE_IMG +'/' + path; +}; + +/** + * 千位分割 + * @param num + * @returns + */ +export function formatDigit(num: number | string) { + let reg = /\d{1,3}(?=(\d{3})+$)/g; + if (!num) { + return "0"; + } + let n = num.toString(); + let arr: any = []; + if (n.includes(".")) { + arr = n.split("."); + return (arr[0] + "").replace(reg, "$&.") + "," + arr[1]; + } else { + return (num + "").replace(reg, "$&."); + } +} +/** + * 取小数点 四舍五入 + * @param num + * @returns + */ +export function formatDecimal(num: number | string, position: number) { + return Number(num).toFixed(position); +} +// 复制 +export function clipboard(copy: string) { + try { + toClipboard(copy); + toast("Copy Success"); + } catch (error) { + new Error("copy error"); + } +} +/** + * 写入搜索框历史记录 + * 截取最后三个 写入 + * @param value + */ +export function writeHistoricalData(value: any) { + let searchHistoryList = []; + if (value instanceof Array) { + searchHistoryList = [...value]; + } else { + const valueList = localStorage.getItem("searchHistoryList") + ? localStorage.getItem("searchHistoryList").split(",") + : []; + valueList.push(value); + searchHistoryList = + valueList.length > 3 + ? [...new Set(valueList)].slice(1, 4) + : [...new Set(valueList)]; + } + localStorage.setItem("searchHistoryList", searchHistoryList.join(",")); +} + +// 格式化名称 +export const fomartName = (name: string) => { + return name.replace(name.slice(3, 5), "***"); +}; + +// 设备环境 +export function userBrowser() { + let user = navigator.userAgent; + let isAndroid = user.indexOf("Android") > -1 || user.indexOf("Adr") > -1; + let isIos = !!user.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); + return { + isAndroid, + isIos, + }; +} + +// 格式化 游戏数据源 [[],[],[]] +export const formatGameList = (listData: Array, num: number) => { + let data: Array = []; + let length = Math.ceil(listData.length / num); + for (let i = 0; i < length; i++) { + if (listData.length == 0) return (data = [[]]); + data.push([]); + } + for (let j = 0; j < data.length; j++) { + data[j] = listData.slice(j * num, (j + 1) * num); + } + return data; +}; + +/** + * 格式化 日期 + */ +export const fomartDate = ( + time: string | Date, + tem: string = "YYYY-MM-DD HH:mm:ss" +) => { + return dayjs(time).format(tem); +}; +/** + * 时间戳转换 + * @param time 时间 + * @param step 时间戳长度 true 10位 false 13位 + * @returns + */ +export const toTimeStamp = (time: string, step: boolean = true) => { + return step ? dayjs(time).unix() : dayjs(time).valueOf(); +}; + +/** + * 获取当前时间戳 + * @param step + * @returns + */ +export function getCurrentTime(step: number = 1000) { + let time = Math.round(new Date().getTime() / step); + return time; +} + +/** + * @param type add | sub | mul | div + * 精度计算 + */ +export function decimalNumber(n1: number, n2: number, type: string) { + let result: any = 0; + switch (type) { + case "add": + result = new Decimal(n1).add(new Decimal(n2)); + break; + case "sub": + result = new Decimal(n1).sub(new Decimal(n2)); + break; + case "mul": + result = new Decimal(n1).mul(new Decimal(n2)); + break; + case "div": + result = new Decimal(n1).div(new Decimal(n2)); + break; + } + return result.toNumber(); +} + +/** + * 跳转外部链接 + */ + +export function jumpOhterLink(link: string) { + console.log(link, "?link"); + try { + window.Android.openAndroid(link); + } catch (error) { + window.open(link); + } +} + +/** + * 格式化地址参数 + * @param url + * @returns + */ +export function getLocationParams(url?: string) { + url = url || location.href.trim(); + let p: CustomObject = {}; + let arr = url.split("#"); + + arr.forEach((item) => { + // console.log(item) + if (!item.includes("?")) return; + let t = item.split("?"); + // console.log(t) + t[1].split("&").forEach((item2) => { + let t2 = item2.split("="); + p[t2[0]] = decodeURIComponent(t2[1]); + }); + }); + return p; +} + +// facebook 像素埋点 +export function buryingPointToFaceBook(fn: string, params?: any) { + console.log(fn, params, "进入facebook埋点"); + try { + window.fbq("track", fn, params); + } catch (error) { + console.log(error); + } +} + +// 谷歌埋点 +export function buryingPointToGoogle(fn: string, params?: any) { + console.log(fn, params, "进入google埋点"); + let p = { + send_to: "AW-11457761648/TgPJCPabmpcZEPCivtcq", + ...params, + }; + try { + window.gtag("event", fn, p); + } catch (error) { + console.log(error); + } +} + +// 快手埋点 +export function buryingPointToKwaiq(fn: string, params?: CustomObject) { + console.log(fn, params, "进入kwaiq埋点"); + const p = getLocationParams(); + if (!p.kwai_pixel_id) { + return; + } + try { + window.kwaiq.instance(p.kwai_pixel_id).track(fn, params); + } catch (error) { + console.log(error); + } +} + +// 验证手机号 +export function resultMobile(num: string) { + // let result = RegExp(/^[1-9]{2}\s?9\d{7,8}$/); + let result = RegExp(/^\d{10,11}$/); + if (!result.test(num)) { + return false; + } + return true; +} + +// 匹配Img标签 a标签 +export function otherImg(str: any) { + const imgTags = str.replace(/]*>/g, (item: any) => { + if (item && item.includes("http")) { + return item; + } else { + return item.replace(/src="/g, `src="${import.meta.env.VITE_APP_BASE_IMG+'/'}`); + } + }); + const tempElement = document.createElement("div"); + tempElement.innerHTML = imgTags; + const aTags = tempElement.querySelectorAll("a"); + aTags.forEach((aTag) => { + aTag.style.display = "flex"; + }); + const updatedHtmlString = tempElement.innerHTML; + return updatedHtmlString; +} + +export function handleDomClick(event: any) { + event.preventDefault(); + const A_arr = (event.composedPath() || []).filter( + (item: any) => item.tagName === "A" + ); + if (A_arr.length > 0) { + const href = A_arr[0].getAttribute("href"); + const target = A_arr[0].getAttribute("target"); + if (target === "_blank") { + jumpOhterLink(href); + } else { + router.push(href); + } + } +} diff --git a/src/utils/lazyPlugin.ts b/src/utils/lazyPlugin.ts new file mode 100644 index 0000000..fd05917 --- /dev/null +++ b/src/utils/lazyPlugin.ts @@ -0,0 +1,21 @@ + +let lazyPlugin: any = {} + +lazyPlugin.install = (app: any) => { + app.directive('lazy-load', { + mounted(el: any, binding: any) { + let io = new IntersectionObserver(entries => { + entries.forEach(entry => { + let lazyImage: any = entry.target; + if (entry.intersectionRatio > 0) { + lazyImage.src = binding.value; + io.unobserve(lazyImage); + } + }); + }); + io.observe(el); + } + }) +} + +export default lazyPlugin \ No newline at end of file diff --git a/src/utils/request.ts b/src/utils/request.ts new file mode 100644 index 0000000..42af034 --- /dev/null +++ b/src/utils/request.ts @@ -0,0 +1,143 @@ +import axios, { + type AxiosResponse, + type AxiosInstance, + type InternalAxiosRequestConfig, + type AxiosRequestConfig, +} from "axios"; +import { AGENT_ID } from "../common/config"; +import storage, { actions } from "./storage"; +import { toast } from "./toast"; +import ToolsBase from "@/socket/tools/ToolsBase.js"; + +const toolsBase = new ToolsBase(); +import { useUserStoreWithOut } from "@/stores/modules/user"; +import { useGameStoreWithOut } from "@/stores/modules/game"; +import { getLocationParams } from "./index"; +const getApiData = () => { + let url = import.meta.env.VITE_APP_BASE_URL; + let data = {}; + return fetch(url) + .then((response) => { + if (!response.ok) { + throw new Error("Network response was not ok " + response.statusText); + } + return response.text(); + }) + .then((responseData) => { + data = responseData; + const apiData = toolsBase.deData(data); + console.log(apiData); + + storage.setSessionStorage(actions.API_BASE_URL, JSON.stringify(apiData.center)); + }) + .catch((error) => { + console.error( + "There has been a problem with your fetch operation:", + error + ); + }); +}; +const reg = /^[0-9]+.?[0-9]*$/; +// 定义axios实例对象的接口,包括自定义参数 +interface CustomAxiosInstance extends AxiosInstance { + currentURLIndex: Number; +} + +// 创建带有自定义参数的axios实例对象 +export const instance: CustomAxiosInstance = axios.create({ + baseURL: "", + timeout: 10000, + headers: { "content-type": "application/x-www-form-urlencoded", lang: "pt" }, + currentURLIndex: 0, +}); + +instance.interceptors.request.use( + async (config: InternalAxiosRequestConfig) => { + if (!storage.getSessionStorage(actions.API_BASE_URL)) { + await getApiData(); // 只有在 API_BASE_URL 不存在时才执行 getApiData + } + // 继续执行请求前的逻辑 API_BASE_IMG_URL + config.baseURL = JSON.parse(storage.getSessionStorage(actions.API_BASE_URL) || "")[ + config.currentURLIndex + ]; + const token = storage.getStorage(actions.USER_TOEKN); + let lp = getLocationParams(window.window.location.href); + if (lp.a && reg.test(lp.a)) { + config.headers.agentId = lp.a; + } else { + config.headers.agentId = AGENT_ID; + } + if (token) { + config.headers.token = token; + } + if ( + config.url.includes("mobileLogin") || + config.url.includes("mobileReg") + ) { + return config; + } + return config; + }, + (error: any) => { + return Promise.reject(error); + } +); +instance.interceptors.response.use( + (response: AxiosResponse) => { + if (response.data.code !== 0) { + if (!import.meta.env.VITE_OPEN_CONSOLE) { + toast(`request error !,url:${response.config.url}`); + } + } + if (response.data.code == 107) { + storage.clearStorage(); + useUserStoreWithOut().clearUser(); + useGameStoreWithOut().clearGameUrl(); + } + let newArr = JSON.parse(storage.getSessionStorage(actions.API_BASE_URL) || ""); + [newArr[0],newArr[response.config.currentURLIndex]] = [newArr[response.config.currentURLIndex],newArr[0]] + storage.setSessionStorage(actions.API_BASE_URL, JSON.stringify(newArr)); + return response.data; + }, + (error) => { + if (error.response?.data.code == 107) { + storage.clearStorage(); + useUserStoreWithOut().clearUser(); + useGameStoreWithOut().clearGameUrl(); + } + const apiBaseURLArray = JSON.parse( + storage.getSessionStorage(actions.API_BASE_URL) || "" + ); + if (error.config.currentURLIndex < apiBaseURLArray.length - 1) { + instance.defaults.baseURL = + apiBaseURLArray[error.config.currentURLIndex + 1]; + error.config.currentURLIndex += 1; + return instance.request(error.config); + } else { + return Promise.reject(error); + } + } +); +export function get( + url: string, + params?: CustomObject, + config?: AxiosRequestConfig +): Promise { + return instance.get(url, { params, ...config }); +} + +export function post( + url: string, + data?: CustomObject, + config?: AxiosRequestConfig +): Promise { + return instance.post(url, data, config); +} + +export function put( + url: string, + params?: CustomObject, + config?: AxiosRequestConfig +): Promise { + return instance.put(url, params, config); +} diff --git a/src/utils/storage.ts b/src/utils/storage.ts new file mode 100644 index 0000000..8e55028 --- /dev/null +++ b/src/utils/storage.ts @@ -0,0 +1,31 @@ +import { actions } from './actions' + + + +export default { + getStorage(key: string) { + return localStorage.getItem(key); + }, + setStorage(key: string, value: any) { + localStorage.setItem(key, value); + }, + removeStorage(key: string) { + localStorage.removeItem(key); + }, + clearStorage() { + localStorage.clear(); + }, + setSessionStorage(key: string, value: any) { + sessionStorage.setItem(key, value) + }, + getSessionStorage(key: string) { + return sessionStorage.getItem(key); + }, + removeSessionStorage(key: string) { + sessionStorage.removeItem(key) + } +}; + +export { + actions +} \ No newline at end of file diff --git a/src/utils/toast.ts b/src/utils/toast.ts new file mode 100644 index 0000000..734bcc4 --- /dev/null +++ b/src/utils/toast.ts @@ -0,0 +1,25 @@ +import { showToast, showLoadingToast } from "vant"; + +let Loading: any = null; + +export function toast(msg: string, options?: CustomObject) { + showToast({ + message: msg, + className: "particulars-detail-popup", + ...options + }); +} + +export function showLoading() { + Loading = showLoadingToast({ + message: "loading...", + forbidClick: false, + overlay: true, + duration: 0, + className: "particulars-detail-popup", + }); +} + +export function closeLoading() { + Loading.close(); +} \ No newline at end of file diff --git a/src/views/about-us/index.vue b/src/views/about-us/index.vue new file mode 100644 index 0000000..20085a3 --- /dev/null +++ b/src/views/about-us/index.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/views/activity/index.vue b/src/views/activity/index.vue new file mode 100644 index 0000000..5860c9a --- /dev/null +++ b/src/views/activity/index.vue @@ -0,0 +1,79 @@ + + + diff --git a/src/views/allGame/index.vue b/src/views/allGame/index.vue new file mode 100644 index 0000000..5e3e1db --- /dev/null +++ b/src/views/allGame/index.vue @@ -0,0 +1,218 @@ + + + diff --git a/src/views/bind-phone/index.vue b/src/views/bind-phone/index.vue new file mode 100644 index 0000000..96ff9df --- /dev/null +++ b/src/views/bind-phone/index.vue @@ -0,0 +1,156 @@ + + + + + diff --git a/src/views/changePassword/index.vue b/src/views/changePassword/index.vue new file mode 100644 index 0000000..e720679 --- /dev/null +++ b/src/views/changePassword/index.vue @@ -0,0 +1,37 @@ + + + diff --git a/src/views/collect/index.vue b/src/views/collect/index.vue new file mode 100644 index 0000000..dc72bcf --- /dev/null +++ b/src/views/collect/index.vue @@ -0,0 +1,179 @@ + + + \ No newline at end of file diff --git a/src/views/deposit/components/deposito.vue b/src/views/deposit/components/deposito.vue new file mode 100644 index 0000000..11b164b --- /dev/null +++ b/src/views/deposit/components/deposito.vue @@ -0,0 +1,744 @@ + + + + + + diff --git a/src/views/deposit/components/historico.vue b/src/views/deposit/components/historico.vue new file mode 100644 index 0000000..a491e81 --- /dev/null +++ b/src/views/deposit/components/historico.vue @@ -0,0 +1,98 @@ + + + + + diff --git a/src/views/deposit/index.vue b/src/views/deposit/index.vue new file mode 100644 index 0000000..3e562ce --- /dev/null +++ b/src/views/deposit/index.vue @@ -0,0 +1,35 @@ + + + + + diff --git a/src/views/details/index.vue b/src/views/details/index.vue new file mode 100644 index 0000000..e219d64 --- /dev/null +++ b/src/views/details/index.vue @@ -0,0 +1,65 @@ + + + \ No newline at end of file diff --git a/src/views/download/index.vue b/src/views/download/index.vue new file mode 100644 index 0000000..90b8dfb --- /dev/null +++ b/src/views/download/index.vue @@ -0,0 +1,147 @@ + + + + + diff --git a/src/views/email/announcement/index.vue b/src/views/email/announcement/index.vue new file mode 100644 index 0000000..67ca4e4 --- /dev/null +++ b/src/views/email/announcement/index.vue @@ -0,0 +1,145 @@ + + + \ No newline at end of file diff --git a/src/views/email/emailPage/index.vue b/src/views/email/emailPage/index.vue new file mode 100644 index 0000000..21c4d10 --- /dev/null +++ b/src/views/email/emailPage/index.vue @@ -0,0 +1,243 @@ + + + + \ No newline at end of file diff --git a/src/views/email/index.vue b/src/views/email/index.vue new file mode 100644 index 0000000..142b3ae --- /dev/null +++ b/src/views/email/index.vue @@ -0,0 +1,136 @@ + + + diff --git a/src/views/game-details/index.vue b/src/views/game-details/index.vue new file mode 100644 index 0000000..8ee8b66 --- /dev/null +++ b/src/views/game-details/index.vue @@ -0,0 +1,279 @@ + + + diff --git a/src/views/gameTask/index.vue b/src/views/gameTask/index.vue new file mode 100644 index 0000000..83b85a0 --- /dev/null +++ b/src/views/gameTask/index.vue @@ -0,0 +1,412 @@ + + + diff --git a/src/views/help/index.vue b/src/views/help/index.vue new file mode 100644 index 0000000..f4ea946 --- /dev/null +++ b/src/views/help/index.vue @@ -0,0 +1,56 @@ + + + + + diff --git a/src/views/home-promotion/index.vue b/src/views/home-promotion/index.vue new file mode 100644 index 0000000..dee67fc --- /dev/null +++ b/src/views/home-promotion/index.vue @@ -0,0 +1,197 @@ + + + \ No newline at end of file diff --git a/src/views/home/add-to-home/index.vue b/src/views/home/add-to-home/index.vue new file mode 100644 index 0000000..e7ec7fb --- /dev/null +++ b/src/views/home/add-to-home/index.vue @@ -0,0 +1,167 @@ + + + + + diff --git a/src/views/home/components/game-class.vue b/src/views/home/components/game-class.vue new file mode 100644 index 0000000..83c3a11 --- /dev/null +++ b/src/views/home/components/game-class.vue @@ -0,0 +1,92 @@ + + + + + diff --git a/src/views/home/footer/index.vue b/src/views/home/footer/index.vue new file mode 100644 index 0000000..93b37f2 --- /dev/null +++ b/src/views/home/footer/index.vue @@ -0,0 +1,323 @@ + + + diff --git a/src/views/home/game/index.vue b/src/views/home/game/index.vue new file mode 100644 index 0000000..207256e --- /dev/null +++ b/src/views/home/game/index.vue @@ -0,0 +1,44 @@ + + + diff --git a/src/views/home/hot-user-game/index.vue b/src/views/home/hot-user-game/index.vue new file mode 100644 index 0000000..fb54cff --- /dev/null +++ b/src/views/home/hot-user-game/index.vue @@ -0,0 +1,121 @@ + + + diff --git a/src/views/home/index.vue b/src/views/home/index.vue new file mode 100644 index 0000000..abe1bb0 --- /dev/null +++ b/src/views/home/index.vue @@ -0,0 +1,589 @@ + + + diff --git a/src/views/home/nav-middle/index.vue b/src/views/home/nav-middle/index.vue new file mode 100644 index 0000000..ed6728b --- /dev/null +++ b/src/views/home/nav-middle/index.vue @@ -0,0 +1,99 @@ + + + diff --git a/src/views/home/nav-top/index.scss b/src/views/home/nav-top/index.scss new file mode 100644 index 0000000..578bdcd --- /dev/null +++ b/src/views/home/nav-top/index.scss @@ -0,0 +1,134 @@ +.nav-top { + box-sizing: border-box; + background: linear-gradient(to bottom, #005D35, #004D3C) !important; + position: sticky; + z-index: 19; + top: 0; + margin: 0 auto; + width: 100%; + display: flex; + flex-direction: column; + + @include pc { + width: 10rem; + } + + &-download { + display: flex; + justify-content: space-between; + align-items: center; + padding: .1rem .3rem; + background-color: #33333D; + position: relative; + height: 1rem; + cursor: pointer; + + .left { + font-size: .3rem; + margin-left: .3rem; + + h2 { + font-size: .4rem; + } + } + + &-close { + width: .5rem; + height: .5rem; + border-radius: 0 0 .5rem 0; + background-color: #D8D8D8; + position: absolute; + left: 0; + top: 0; + text-align: center; + line-height: .4rem; + font-size: .3rem; + } + } + + >.flex-sb { + height: 1.3rem; + padding: .2rem; + background: linear-gradient(to bottom, #0E5E57, #0B5650, #084E4A); + } + + &-text { + width: 50%; + font-size: .3rem; + font-weight: 800; + color: #B9FF80; + display: flex; + align-items: center; + + .flex-btn { + background-image: url("https://cdn.18n.com/static/home/button_01.png"); + text-align: center; + background-size: 100% 100%; + padding: .2rem .4rem; + margin-left: .2rem; + } + } + + .avatar { + font-size: .3rem; + font-weight: 800; + color: #FFF; + background-color: #032A26; + padding: 2px .2rem; + border-radius: .2rem; + margin-right: .7rem; + + .img-box { + display: flex; + flex-direction: column; + align-items: center; + justify-content: space-around; + + >img { + width: .7rem; + height: .7rem; + border-radius: 50%; + } + + text { + padding-left: .1rem; + } + } + + .flex-btn { + padding: .15rem; + margin-left: .2rem; + font-size: .6rem; + height: .3rem; + line-height: .3rem; + border-radius: .1rem; + background-color: #179F80; + } + } + + .lingdang { + position: absolute; + right: .25rem; + + >.imgBox { + margin-left: 0.1rem; + } + + >.num { + position: absolute; + right: 0; + top: .3rem; + background-color: #E77014; + width: .35rem; + height: .35rem; + line-height: .35rem; + text-align: center; + color: #fff; + border-radius: 50%; + font-size: .3rem; + @include pc{ + top: 0rem !important; + } + } + } +} \ No newline at end of file diff --git a/src/views/home/nav-top/index.vue b/src/views/home/nav-top/index.vue new file mode 100644 index 0000000..8782cc5 --- /dev/null +++ b/src/views/home/nav-top/index.vue @@ -0,0 +1,97 @@ + + + diff --git a/src/views/home/nav-top/menu/index.vue b/src/views/home/nav-top/menu/index.vue new file mode 100644 index 0000000..65d25a0 --- /dev/null +++ b/src/views/home/nav-top/menu/index.vue @@ -0,0 +1,482 @@ + + + diff --git a/src/views/home/notice/index.vue b/src/views/home/notice/index.vue new file mode 100644 index 0000000..4143bac --- /dev/null +++ b/src/views/home/notice/index.vue @@ -0,0 +1,89 @@ + + + diff --git a/src/views/home/search/index.vue b/src/views/home/search/index.vue new file mode 100644 index 0000000..2bcf041 --- /dev/null +++ b/src/views/home/search/index.vue @@ -0,0 +1,41 @@ + + + diff --git a/src/views/home/swipe/index.vue b/src/views/home/swipe/index.vue new file mode 100644 index 0000000..c03074c --- /dev/null +++ b/src/views/home/swipe/index.vue @@ -0,0 +1,92 @@ + + + diff --git a/src/views/infiniteProxy/components/block-bottom.vue b/src/views/infiniteProxy/components/block-bottom.vue new file mode 100644 index 0000000..8d5b60c --- /dev/null +++ b/src/views/infiniteProxy/components/block-bottom.vue @@ -0,0 +1,76 @@ + + + + + diff --git a/src/views/infiniteProxy/components/faq.vue b/src/views/infiniteProxy/components/faq.vue new file mode 100644 index 0000000..0820bda --- /dev/null +++ b/src/views/infiniteProxy/components/faq.vue @@ -0,0 +1,105 @@ + + + diff --git a/src/views/infiniteProxy/components/pagmentos.vue b/src/views/infiniteProxy/components/pagmentos.vue new file mode 100644 index 0000000..178583d --- /dev/null +++ b/src/views/infiniteProxy/components/pagmentos.vue @@ -0,0 +1,109 @@ + + + diff --git a/src/views/infiniteProxy/components/particulars.vue b/src/views/infiniteProxy/components/particulars.vue new file mode 100644 index 0000000..99fd3be --- /dev/null +++ b/src/views/infiniteProxy/components/particulars.vue @@ -0,0 +1,166 @@ + + + diff --git a/src/views/infiniteProxy/components/relatorio.vue b/src/views/infiniteProxy/components/relatorio.vue new file mode 100644 index 0000000..e267bd3 --- /dev/null +++ b/src/views/infiniteProxy/components/relatorio.vue @@ -0,0 +1,114 @@ + + + diff --git a/src/views/infiniteProxy/components/share.vue b/src/views/infiniteProxy/components/share.vue new file mode 100644 index 0000000..6af7897 --- /dev/null +++ b/src/views/infiniteProxy/components/share.vue @@ -0,0 +1,341 @@ + + + + diff --git a/src/views/infiniteProxy/components/tutorial.vue b/src/views/infiniteProxy/components/tutorial.vue new file mode 100644 index 0000000..5ffc89e --- /dev/null +++ b/src/views/infiniteProxy/components/tutorial.vue @@ -0,0 +1,28 @@ + + + + + diff --git a/src/views/infiniteProxy/index.vue b/src/views/infiniteProxy/index.vue new file mode 100644 index 0000000..90edeaa --- /dev/null +++ b/src/views/infiniteProxy/index.vue @@ -0,0 +1,234 @@ + + + diff --git a/src/views/login/index.scss b/src/views/login/index.scss new file mode 100644 index 0000000..bddd22a --- /dev/null +++ b/src/views/login/index.scss @@ -0,0 +1,24 @@ +.page-body { + overflow: auto; + .bottom { + padding: .8rem .3rem; + background-color: #1E2428; + border-radius: .1rem; + margin-top: 0.2rem; + } + .form { + display: flex; + flex-direction: column; + margin: 0.4rem 0; + + .login-button { + margin: 0.4rem 0; + border-radius: $border-radius; + } + p { + font-size: 0.3rem; + font-weight: 500; + margin: 0.3rem 0; + } + } +} \ No newline at end of file diff --git a/src/views/login/index.vue b/src/views/login/index.vue new file mode 100644 index 0000000..5f2d0c7 --- /dev/null +++ b/src/views/login/index.vue @@ -0,0 +1,118 @@ + + + + + diff --git a/src/views/loteria/index.scss b/src/views/loteria/index.scss new file mode 100644 index 0000000..c00fbef --- /dev/null +++ b/src/views/loteria/index.scss @@ -0,0 +1,504 @@ +.content { + background-color: #072c24; + min-height: calc(100vh - $nav-bar-height); + + .message { + height: 15rem; + // background-color: #1c7e4b; + background-image: url("../../assets/img/loteriaImg/bg_03.png"); + background-size: 100% 100%; + background-repeat: no-repeat; + border-radius: 0.2rem; + display: flex; + flex-direction: column; + align-items: center; + justify-content: space-around; + font-size: .3rem; + margin:0 .2rem 1rem .2rem; + position: relative; + + .close { + position: absolute; + right: .2rem; + top: .2rem; + cursor: pointer; + display: flex; + align-items: center; + justify-content: center; + border: 1px solid #fff; + padding: .1rem; + border-radius: 50%; + } + + &-num { + position: absolute; + bottom: 3rem; + font-size: .35rem; + color: #000; + >span{ + color: #fff; + } + } + + &-num2{ + bottom: 2.3rem; + } + + &-wenhao{ + position: absolute; + bottom: 4.2rem; + right: .6rem; + } + + .stepper { + border-radius: 1rem; + height: 0.35rem; + background-color: #491F03; + overflow: hidden; + position: absolute; + border: 1px solid #0c5150; + width: 75%; + bottom: 4.3rem; + left: .8rem; + + &-font { + position: absolute; + top: 0; + left: 0; + text-align: center; + line-height: 0.37rem; + width: 100%; + color: #e2d507; + } + + &-color { + width: 50%; + height: 100%; + background: linear-gradient(to bottom, #D461FF, #A43EFF, #892AFF); + } + } + + &-text { + position: absolute; + font-size: .5rem; + text-align: center; + top: 9.2rem; + } + &-img { + position: absolute; + >img{ + padding-left: .1rem; + } + } + + &-content { + font-size: 0.3rem; + color: #fff; + + span { + color: #e2d507; + } + } + + .btn { + display: flex; + width: 84%; + justify-content: space-between; + align-items: center; + position: absolute; + bottom: 0.45rem; + :deep(.van-button){ + width: 3.5rem; + >.van-button__content{ + font-size: .5rem; + font-weight: 600; + color: #BA3900; + } + } + } + } + + .table-box { + margin-top: 1rem; + + .title { + padding: .3rem 0; + color: #e2d507; + font-size: .5rem; + background-color: #2A8C7F; + font-weight: 600; + text-align: center; + } + + .no-data { + text-align: center; + padding: 1rem 0; + font-size: .4rem; + background-color: #000; + } + + .coll-box { + display: grid; + grid-template-columns: repeat(3, 1fr); + + >.item { + text-align: center; + font-size: .4rem; + font-weight: 600; + color: #fff; + padding: .2rem; + border-bottom: 1px solid #63847B; + } + + >.item3 { + text-align: center; + font-size: .3rem; + color: #efefef; + padding: .2rem; + border-bottom: 1px solid #63847B; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + } + + >.item1, + .item2 { + border-right: 1px solid #63847B; + } + } + } + + .text { + background-color: #22b7a3; + padding: 0.3rem 0.1rem; + font-size: 0.3rem; + display: flex; + justify-content: space-between; + align-items: center; + color: #e2d507; + font-weight: 400; + } + + .num-box { + display: flex; + align-items: center; + flex-wrap: wrap; + padding: 0.3rem 0.1rem; + + p { + font-size: 0.4rem; + + span { + padding: 0 0.1rem; + color: #e2d507; + } + } + } + + .middle-btn { + display: flex; + align-items: center; + justify-content: space-between; + padding: 0.3rem 0.2rem; + + .van-button { + width: 47%; + + :deep(.van-button__text) { + color: #fff; + } + } + } + + .phone-img { + padding: 0 0.2rem; + + .active { + // background-image: url("../../assets/img/loteriaImg/bg_xuanzhong_03.png"); + // background-size: 100% 100%; + // background-repeat: no-repeat; + border: 1px solid #fff; + border-radius: .25rem; + } + + &-box { + margin-bottom: 0.4rem; + background-image: url("../../assets/img/loteriaImg/bg_02.png"); + background-size: 100% 100%; + background-repeat: no-repeat; + overflow: hidden; + + .father { + height: 100%; + padding: 0.35rem .2rem; + display: flex; + justify-content: left; + align-items: center; + cursor: pointer; + + .left-box { + display: flex; + flex-direction: column; + align-items: center; + font-size: 0.3rem; + width: 30%; + text-align: center; + position: relative; + padding-top: .7rem; + + &-text { + line-height: 0.3rem; + font-weight: 600; + margin-top: .1rem; + } + + &-phone { + position: absolute; + width: 1.3rem; + } + } + + .right-box { + width: 59%; + height: 100%; + display: flex; + flex-direction: column; + align-items: center; + justify-content: space-between; + font-size: 0.3rem; + margin-left: .3rem; + + >div { + width: 100%; + } + + .num { + text-align: left; + color: #a24100; + span{ + color: #d75dff; + } + } + + .stepper { + border-radius: 1rem; + height: 0.35rem; + background-color: #491F03; + overflow: hidden; + position: relative; + border: 1px solid #0c5150; + margin: 0.15rem 0; + width: 95%; + + &-font { + position: absolute; + top: 0; + left: 0; + text-align: center; + line-height: 0.37rem; + width: 100%; + color: #e2d507; + } + + &-color { + width: 50%; + height: 100%; + background: linear-gradient(to bottom, #D461FF, #A43EFF, #892AFF); + } + } + } + } + } + } +} + +.pay-box { + padding: 1rem .3rem .5rem .3rem; + display: flex; + flex-direction: column; + align-items: center; + justify-content: space-around; + font-size: .3rem; + color: #e2d507; + + &-bg{ + width: 3.5rem; + height: 3.5rem; + background-image: url("../../assets/img/loteriaImg/erw.png"); + background-size: 100% 100%; + background-repeat: no-repeat; + display: flex; + align-items: center; + justify-content: center; + } + + span { + color: red; + } + + .van-button { + margin-top: 1rem; + width: 100%; + + :deep(.van-button__text) { + color: #fff; + } + } + + .celar { + width: 100%; + text-align: center; + color: #efefef; + padding: .5rem 0; + cursor: pointer; + } +} + +.userMessage{ + padding: .7rem; + font-size: .4rem; + color: #fff; + >p{ + margin-bottom: .5rem; + >span{ + color: #e2d507; + font-weight: 600; + } + } +} + +.container { + + .payment-list { + display: grid; + grid-template-columns: repeat(3, 1fr); + font-size: 0.4rem; + gap: 0.25rem; + + .payment { + padding: 0.3rem; + text-align: center; + color: #fff; + border-radius: 0.2rem; + background: rgba($color: #009165, $alpha: 0.5); + @extend .blod; + } + + .active { + background: #009165; + @extend .transition; + } + } +} + +.share-box { + height: 100%; + color: #fff; + padding: 0.2rem 0; + + .label { + font-size: 0.35rem; + font-weight: bold; + } + + .box-top { + margin: 0 auto; + margin-bottom: 0.3rem; + + .icons { + display: flex; + justify-content: space-between; + margin: 0.3rem 0; + + .icon { + width: 1.2rem; + height: 1.2rem; + } + } + + .share-link { + display: flex; + align-items: center; + justify-content: space-between; + color: $font-text1; + background: #001614; + border-radius: 0.2rem; + margin-top: 0.3rem; + font-size: 0.32rem; + font-weight: 500; + + span { + margin-left: 0.2rem; + } + } + } + + .box-bottom { + margin: 0 auto; + background-color: #001614; + border-radius: 0.25rem; + color: #21d1a5; + + .mobile { + display: grid; + grid-template-columns: repeat(3, 1fr); + font-size: 0.3rem; + gap: 0.1rem; + row-gap: 0.2rem; + text-align: center; + padding: 0.2rem; + margin: 0.2rem 0 0.3rem 0; + border-radius: 0.2rem; + font-weight: 500; + } + } + + .send { + display: grid; + grid-template-columns: repeat(2, 1fr); + font-size: 0.3rem; + gap: 0.2rem; + + .block { + display: flex; + align-items: center; + justify-content: center; + height: 1.5rem; + padding: 0 0.1rem; + background: #7164c3; + border-radius: 0.25rem; + @extend .blod; + } + } +} + +.activity-box { + padding: .3rem .5rem; + font-size: .3rem; + color: #e2d507; + + >p { + padding: .15rem 0; + } +} + +.service-box { + position: fixed; + top: 0; + + @include pc { + width: 500px !important; + margin: 0 auto; + } + + width: 100%; + height: 100vh; + z-index: 999999999999; + + .close { + z-index: 999999999999; + position: absolute; + right: 5%; + top: 2%; + } +} \ No newline at end of file diff --git a/src/views/loteria/index.vue b/src/views/loteria/index.vue new file mode 100644 index 0000000..dabc7a3 --- /dev/null +++ b/src/views/loteria/index.vue @@ -0,0 +1,799 @@ + + + + diff --git a/src/views/modifyPassWord/index.vue b/src/views/modifyPassWord/index.vue new file mode 100644 index 0000000..91ed11f --- /dev/null +++ b/src/views/modifyPassWord/index.vue @@ -0,0 +1,88 @@ + + + \ No newline at end of file diff --git a/src/views/other/index.vue b/src/views/other/index.vue new file mode 100644 index 0000000..f3f97d0 --- /dev/null +++ b/src/views/other/index.vue @@ -0,0 +1,36 @@ + + + + + diff --git a/src/views/password/index.scss b/src/views/password/index.scss new file mode 100644 index 0000000..b39f3c5 --- /dev/null +++ b/src/views/password/index.scss @@ -0,0 +1,47 @@ +.page-body { + height: calc(100vh - $nav-bar-height - $nav-bar-height); + padding: 0 .3rem; + + .bg-box { + padding: .4rem .2rem; + background-color: #1E2428; + margin-top: 1rem; + h2 { + text-align: center; + padding: 0.2rem; + color: #00c293; + font-size: 0.4rem; + } + + .send-code{ + font-size: 0.3rem; + background: #242b32; + padding: 0.1rem 0.2rem; + border-radius: 0.2rem; + color: yellow; + } + .count-down{ + color: yellow; + font-size: 0.3rem; + } + + .btn { + font-size: 0.4rem; + font-weight: 600; + margin-top: 2rem; + border-radius: $border-radius; + cursor: pointer; + } + + .goback { + margin:1rem 0 0.5rem 0 ; + text-align: center; + font-size: 0.35rem; + color: #708579; + cursor: pointer; + display: flex; + justify-content: center; + } + } + +} \ No newline at end of file diff --git a/src/views/password/index.vue b/src/views/password/index.vue new file mode 100644 index 0000000..f3b9f59 --- /dev/null +++ b/src/views/password/index.vue @@ -0,0 +1,148 @@ + + + diff --git a/src/views/perfil/components/cell.vue b/src/views/perfil/components/cell.vue new file mode 100644 index 0000000..3b60b58 --- /dev/null +++ b/src/views/perfil/components/cell.vue @@ -0,0 +1,286 @@ + + + + + diff --git a/src/views/perfil/components/level.vue b/src/views/perfil/components/level.vue new file mode 100644 index 0000000..ed29fda --- /dev/null +++ b/src/views/perfil/components/level.vue @@ -0,0 +1,91 @@ + + + + + diff --git a/src/views/perfil/components/personal.vue b/src/views/perfil/components/personal.vue new file mode 100644 index 0000000..a8ce9ab --- /dev/null +++ b/src/views/perfil/components/personal.vue @@ -0,0 +1,873 @@ + + + + + diff --git a/src/views/perfil/index.vue b/src/views/perfil/index.vue new file mode 100644 index 0000000..24f305e --- /dev/null +++ b/src/views/perfil/index.vue @@ -0,0 +1,171 @@ + + + + + diff --git a/src/views/perfil/page/apostas.vue b/src/views/perfil/page/apostas.vue new file mode 100644 index 0000000..6796012 --- /dev/null +++ b/src/views/perfil/page/apostas.vue @@ -0,0 +1,147 @@ + + + + +function result() { + throw new Error("Function not implemented."); +} + \ No newline at end of file diff --git a/src/views/perfil/page/banco.vue b/src/views/perfil/page/banco.vue new file mode 100644 index 0000000..d958a8e --- /dev/null +++ b/src/views/perfil/page/banco.vue @@ -0,0 +1,114 @@ + + + diff --git a/src/views/perfil/page/betting.vue b/src/views/perfil/page/betting.vue new file mode 100644 index 0000000..a19f910 --- /dev/null +++ b/src/views/perfil/page/betting.vue @@ -0,0 +1,188 @@ + + + + + diff --git a/src/views/perfil/page/cashback.vue b/src/views/perfil/page/cashback.vue new file mode 100644 index 0000000..f97c254 --- /dev/null +++ b/src/views/perfil/page/cashback.vue @@ -0,0 +1,574 @@ + + + \ No newline at end of file diff --git a/src/views/perfil/page/introduceVip.vue b/src/views/perfil/page/introduceVip.vue new file mode 100644 index 0000000..62f0b58 --- /dev/null +++ b/src/views/perfil/page/introduceVip.vue @@ -0,0 +1,128 @@ + + + diff --git a/src/views/perfil/page/level.vue b/src/views/perfil/page/level.vue new file mode 100644 index 0000000..4f55af1 --- /dev/null +++ b/src/views/perfil/page/level.vue @@ -0,0 +1,350 @@ + + + + + diff --git a/src/views/perfil/page/levelReceive.vue b/src/views/perfil/page/levelReceive.vue new file mode 100644 index 0000000..07c98cc --- /dev/null +++ b/src/views/perfil/page/levelReceive.vue @@ -0,0 +1,182 @@ + + + + + diff --git a/src/views/register/index.scss b/src/views/register/index.scss new file mode 100644 index 0000000..ae84d24 --- /dev/null +++ b/src/views/register/index.scss @@ -0,0 +1,23 @@ +.page-body { + overflow: auto; + .bottom { + padding: .8rem .3rem; + background-color: #1E2428; + border-radius: .1rem; + margin-top: 0.2rem; + } + .form { + display: flex; + flex-direction: column; + margin: 0.4rem 0; + + .login-button { + margin: 0.4rem 0; + border-radius: $border-radius; + } + p { + font-size: 0.4rem; + font-weight: 500; + } + } +} \ No newline at end of file diff --git a/src/views/register/index.vue b/src/views/register/index.vue new file mode 100644 index 0000000..dee7aef --- /dev/null +++ b/src/views/register/index.vue @@ -0,0 +1,113 @@ + + + + + diff --git a/src/views/search/components/game-provider.vue b/src/views/search/components/game-provider.vue new file mode 100644 index 0000000..d20f1a6 --- /dev/null +++ b/src/views/search/components/game-provider.vue @@ -0,0 +1,90 @@ + + + + + diff --git a/src/views/search/index.vue b/src/views/search/index.vue new file mode 100644 index 0000000..3e4a426 --- /dev/null +++ b/src/views/search/index.vue @@ -0,0 +1,459 @@ + + + diff --git a/src/views/setting/index.vue b/src/views/setting/index.vue new file mode 100644 index 0000000..cd13594 --- /dev/null +++ b/src/views/setting/index.vue @@ -0,0 +1,34 @@ + + + + + + \ No newline at end of file diff --git a/src/views/signIn/index.scss b/src/views/signIn/index.scss new file mode 100644 index 0000000..4d7b2d8 --- /dev/null +++ b/src/views/signIn/index.scss @@ -0,0 +1,154 @@ +.signIn { + padding: .2rem .3rem 0; + + .header { + background-image: url("../../assets/img/signIn/bg_4.png"); + background-size: 100% 100%; + background-repeat: no-repeat; + height: 2rem; + padding: .2rem .8rem 1rem; + display: flex; + align-items: center; + justify-content: left; + + .avatar { + border-radius: 50%; + overflow: hidden; + width: 2rem; + } + + .userInfo { + font-size: .35rem; + margin-left: .6rem; + font-weight: 500; + } + } + + &-content { + height: 11.5rem; + background-color: #1f292f; + margin-top: .2rem; + border-radius: .2rem; + padding: 1.2rem .3rem; + display: grid; + grid-template-columns: repeat(3, 1fr); + grid-gap: 0.2rem; + + >div { + border-radius: .2rem; + display: flex; + align-items: center; + justify-content: center; + overflow: hidden; + background-image: url("../../assets/img/signIn/bg_01.png"); + background-size: 100% 100%; + background-repeat: no-repeat; + position: relative; + + >.day { + position: absolute; + left: .3rem; + top: .3rem; + font-size: .3rem; + font-weight: 600; + display: flex; + align-items: flex-start; + + >span { + font-size: .6rem; + margin-top: -.1rem; + } + } + + >.num { + position: absolute; + bottom: .35rem; + width: 100%; + text-align: center; + font-size: .39rem; + font-weight: 600; + color: #521BA5; + + } + + .flexBox { + width: 100%; + height: 100%; + position: absolute; + top: 0; + left: 0; + } + + .model { + display: flex; + align-items: center; + justify-content: center; + background-color: rgba(0, 0, 0, .4); + } + + .todaySignIn { + >.van-image { + width: 100%; + height: 100%; + } + } + + >.van-image { + width: 2rem; + } + + } + + .item { + grid-column: span 3; + background-color: lightblue; + width: 100%; + text-align: center; + background-image: url("../../assets/img/signIn/bg_02.png"); + background-size: 100% 100%; + background-repeat: no-repeat; + + >.num { + bottom: .4rem; + } + + >.van-image { + width: 4rem; + } + } + + } + +} + +.statistics { + height: 1.6rem; + width: 84%; + position: absolute; + top: 4rem; + left: 6%; + padding: .2rem 2%; + background-color: #4c5663; + border-radius: .2rem; + display: flex; + text-align: center; + align-items: start; + justify-content: space-around; + font-size: .3rem; + >span{ + border: 1px solid #A2AEAC; + height: 70%; + margin-top: .2rem; + } + >div{ + width: 50%; + >p:nth-of-type(1){ + padding-top: .3rem; + } + } +} +.toast-box{ + font-size: .4rem; + color: #fff; + padding: 1rem .4rem; +} \ No newline at end of file diff --git a/src/views/signIn/index.vue b/src/views/signIn/index.vue new file mode 100644 index 0000000..b871c68 --- /dev/null +++ b/src/views/signIn/index.vue @@ -0,0 +1,330 @@ + + + \ No newline at end of file diff --git a/src/views/successful/index.vue b/src/views/successful/index.vue new file mode 100644 index 0000000..8dc5e90 --- /dev/null +++ b/src/views/successful/index.vue @@ -0,0 +1,248 @@ + + + diff --git a/src/views/turntable/award-record/index.scss b/src/views/turntable/award-record/index.scss new file mode 100644 index 0000000..0aa8645 --- /dev/null +++ b/src/views/turntable/award-record/index.scss @@ -0,0 +1,24 @@ +.award-record { + height: 6rem; + overflow: auto; + font-weight: 500; + &::-webkit-scrollbar { + display: none; + } + .item { + padding: 0.25rem; + font-size: 0.4rem; + display: grid; + grid-template-columns: 1.5fr 1.5fr 1fr; + + span:last-child { + text-align: right; + } + } + .item:nth-child(2n) { + background: #004f43; + } + .item:nth-child(2n + 1) { + background: #00362f; + } +} \ No newline at end of file diff --git a/src/views/turntable/award-record/index.vue b/src/views/turntable/award-record/index.vue new file mode 100644 index 0000000..727281a --- /dev/null +++ b/src/views/turntable/award-record/index.vue @@ -0,0 +1,61 @@ + + + + + diff --git a/src/views/turntable/draw/index.scss b/src/views/turntable/draw/index.scss new file mode 100644 index 0000000..9073a35 --- /dev/null +++ b/src/views/turntable/draw/index.scss @@ -0,0 +1,185 @@ +.draw { + // background: url("../../../assets/img/zhuanpan/dzp_di.png"); + // background-repeat: no-repeat; + // background-size: 100% 100%; + width: 10rem; + height: 12rem; + position: relative; + &-bg{ + width: 100%; + height: 100%; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + } + + .container { + width: 7.8rem; + height: 7.8rem; + margin: 0.2rem 0; + // border-radius: 50%; + // background: url("https://cdn.18n.com/static/turntable/zhuanpan_bg.png"); + background: url("../../../assets/img/zhuanpan/dzp_p.png"); + background-repeat: no-repeat; + background-size: 100% auto; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + z-index: 7; + .light{ + width: 100%; + height: 100%; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + z-index: 8; + } + .xuanzhong{ + position: absolute; + top: 2%; + left: 50%; + transform: translate(-50%, -50%); + z-index: 8; + } + .xuanzhong2{ + position: absolute; + position: absolute; + top: 23%; + left: 50%; + transform: translate(-50%, -50%); + z-index: 7; + width: 2.5rem; + opacity: 0; + display: flex; + } + .dot { + $size: 35%; + width: $size; + height: $size; + border-radius: 50%; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + z-index: 9; + // background-image: url("https://cdn.18n.com/static/turntable/zhizheng.png"); + // background-image: url("../../../assets/img/zhuanpan/anniu.png"); + // background-size: 100% 100%; + // background-repeat: no-repeat; + flex-direction: column; + .anniu{ + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + width: 100%; + height: 100%; + } + // .jiantou { + // position: absolute; + // bottom: 93%; + // left: 50%; + // z-index: 2; + // transform: translateX(-50%); + // } + .num { + width: 100%; + text-align: center; + line-height: 1.2; + color: #fada84; + -webkit-text-stroke: 0.08rem transparent; + background: linear-gradient(90deg, rgb(190, 107, 34), rgb(192, 102, 23)) + top left / 100% 100%; + -webkit-background-clip: text; + height: 1rem; + font-size: 0.5rem; + position: absolute; + span:first-child { + font-size: 0.9rem; + margin-right: 0.1rem; + @extend .blod; + } + } + .animated-number { + width: 100%; + line-height: 1; + color: #fada84; + -webkit-text-stroke: 0.08rem transparent; + background: linear-gradient(90deg, rgb(190, 107, 34), rgb(192, 102, 23)) + top left / 100% 100%; + -webkit-background-clip: text; + display: flex; + align-items: center; + justify-content: center; + height: 1rem; + font-size: 0.5rem; + position: absolute; + div { + font-size: 0.6rem; + font-weight: bold; + } + } + } + .prize { + width: 85%; + height: 85%; + border-radius: 50%; + position: absolute; + top: 7.5%; + left: 7.5%; + transform: rotate(67.5deg); + box-shadow: inset 0px 0px .4rem 0px rgba($color: #fff, $alpha: .8); + &-item { + position: absolute; + width: 0; + height: 0; + border-style: solid; + border-width: 3.35rem 1.7rem 0rem; + border-color: transparent transparent transparent transparent; + transform-origin: 100% 100%; + display: flex; + justify-content: center; + flex-direction: column; + + .icon { + width: .8rem; + height: .8rem; + transform: rotate(-90deg); + position: absolute; + right: -0.1rem; + top: -0.4rem; + } + .text { + height: 2rem; + width: 2rem; + font-size: 0.45rem; + transform: rotate(-90deg); + position: absolute; + right: -0.6rem; + top: -.9rem; + color: #fff; + text-align: center; + @extend .blod; + } + + } + } + } +} + + +.xz-active { + animation: xuanzhong 300ms linear infinite 100ms; +} + +@keyframes xuanzhong { + to { + opacity: 0; + } + from { + opacity: 1; + } +} \ No newline at end of file diff --git a/src/views/turntable/draw/index.vue b/src/views/turntable/draw/index.vue new file mode 100644 index 0000000..346dff7 --- /dev/null +++ b/src/views/turntable/draw/index.vue @@ -0,0 +1,298 @@ + + + + + diff --git a/src/views/turntable/helpList/index.vue b/src/views/turntable/helpList/index.vue new file mode 100644 index 0000000..ac6ffa1 --- /dev/null +++ b/src/views/turntable/helpList/index.vue @@ -0,0 +1,91 @@ + + + + + diff --git a/src/views/turntable/index.scss b/src/views/turntable/index.scss new file mode 100644 index 0000000..4fc2651 --- /dev/null +++ b/src/views/turntable/index.scss @@ -0,0 +1,145 @@ +.page-body { + font-size: 0.35rem; + overflow: hidden; +} + +.content-draw { + width: 100%; + margin: 0.2rem 0; + flex-direction: column; + position: relative; + .dx{ + position: absolute; + z-index: 0; + width: 13rem; + height: 13rem; + animation: rotation 100s linear infinite; + img{ + width: 100%; + height: 100%; + } + } + .help { + width: 100%; + display: flex; + align-items: center; + justify-content: center; + color: #a1e354; + } + span { + @extend .blod; + font-size: 0.4rem; + } +} + +.container { + display: flex; + flex-direction: column; + align-items: center; + font-size: 0.4rem; + font-weight: bold; + padding: 0.2rem; + p:nth-child(1) { + color: $font-text1; + } + .tips { + margin: 0.3rem 0; + color: #21d1a5; + } + .content { + box-sizing: border-box; + background: #001a12; + border-radius: 0.25rem; + padding: 0.2rem; + width: 100%; + .progress { + text-align: center; + color: #fff; + font-size: 0.3rem; + .bar { + width: 100%; + background: #000; + height: 0.3rem; + border: 1px solid #007e5a; + border-radius: 1rem; + margin-bottom: 0.2rem; + position: relative; + .line { + position: absolute; + top: 0; + left: 0; + height: 100%; + background-image: linear-gradient( + to right, + #4ca76e, + #5ac46f, + #b1ea75 + ); + border-radius: 1rem; + } + } + .tips { + font-size: 0.3rem; + color: #fff; + span { + color: $font-text1; + } + } + } + } + .money { + span { + color: $font-text1; + font-size: 0.9rem; + font-weight: bold; + margin-left: 0.2rem; + } + } + .van-button { + margin: 0.3rem 0; + } + .van-steps{ + --van-steps-background:#001a12; + + :deep(.van-step--finish){ + color: #44997a; + } + :deep(.van-step__title){ + font-size: 0.3rem; + font-weight: 500; + } + } + p:last-child { + color: #f3f3f3; + } + .blocks { + margin: 0.2rem 0 ; + width: 100%; + color: #a1e354; + font-size: 0.35rem; + .flex-sb{ + margin-bottom: 0.1rem; + } + } +} + +.draw-rules{ + margin-top: 0.2rem; + text-align: left; + .title{ + background: #005a48; + padding: 0.2rem; + border-top-right-radius: 0.25rem; + border-top-left-radius: 0.25rem; + } +} + + +@keyframes rotation { + to{ + transform: rotate(0deg); + } + from{ + transform:rotate(350deg) + } +} \ No newline at end of file diff --git a/src/views/turntable/index.vue b/src/views/turntable/index.vue new file mode 100644 index 0000000..fec1203 --- /dev/null +++ b/src/views/turntable/index.vue @@ -0,0 +1,372 @@ + + + + + diff --git a/src/views/turntable/lottery/index.scss b/src/views/turntable/lottery/index.scss new file mode 100644 index 0000000..672a753 --- /dev/null +++ b/src/views/turntable/lottery/index.scss @@ -0,0 +1,57 @@ +.lottery { + background-color: #00473b; + border-radius: 0.25rem; + padding: 0.4rem; + box-sizing: border-box; + .top { + .left { + flex: 1; + .amount { + display: flex; + align-items: center; + font-weight: bold; + color: $font-text1; + font-size: 0.8rem; + + @extend .more; + span { + margin: 0 0.1rem; + } + } + } + .right { + background: #ba7a22; + padding: 0.1rem 0.2rem; + border-radius: 0.2rem; + span { + font-weight: bold; + color: $font-text1; + padding-left: 0.1rem; + } + } + } + .progress { + text-align: center; + margin: 0.2rem 0 0 0; + .bar { + width: 100%; + background: #000; + height: 0.3rem; + border: 1px solid #007e5a; + border-radius: 1rem; + margin-bottom: 0.2rem; + position: relative; + .line { + position: absolute; + top: 0; + left: 0; + height: 100%; + background-image: linear-gradient(to right, #4ca76e, #5ac46f, #b1ea75); + border-radius: 1rem; + } + } + .tips { + font-size: 0.3rem; + } + } +} \ No newline at end of file diff --git a/src/views/turntable/lottery/index.vue b/src/views/turntable/lottery/index.vue new file mode 100644 index 0000000..83dc413 --- /dev/null +++ b/src/views/turntable/lottery/index.vue @@ -0,0 +1,98 @@ + + + + + diff --git a/src/views/turntable/modal/index.scss b/src/views/turntable/modal/index.scss new file mode 100644 index 0000000..f455e5c --- /dev/null +++ b/src/views/turntable/modal/index.scss @@ -0,0 +1,186 @@ +:deep(.center-popup) { + .content { + padding: 0; + font-size: 0.35rem; + } +} +:deep(.draw) { + .container { + width: 7.5rem; + height: 7.5rem; + .jiantou { + left: 43.4%; + } + .prize { + &-item { + border-width: 3.2rem 1.6rem 0rem; + .icon { + $size:.9rem; + width: $size; + height: $size; + right: 0rem; + top: -0.43rem; + } + .text { + height: 1.3rem; + width: 1.3rem; + font-size: 0.45rem; + right: 0.2rem; + top: -0.6rem; + } + } + } + } +} +.draw-content { + height: 100%; + flex-direction: column; + padding: 0.3rem 0; + position: absolute; + top: 50%; + left: 52%; + transform: translate(-50%, -50%); + overflow: hidden; + .title{ + width: 80%; + display: flex; + align-items: center; + position: relative; + .close{ + position: absolute; + right: 0; + top: 0; + } + } +} +.top { + margin: 0.2rem 0; + span { + color: $other-color; + font-weight: bold; + font-size: 0.4rem; + margin-left: 0.1rem; + } +} +.bottom { + color: #fff; + font-weight: bold; + font-size: 0.4rem; + background: #00211c; + text-align: center; + padding: 0.2rem; + border-radius: 0.2rem; +} +.info { + color: #fff; + overflow: hidden; + position: relative; + width: 100%; + height: 6.7rem; + padding: 0.3rem 0; + .more { + position: absolute; + z-index: 1; + height: 100%; + width: 100%; + display: flex; + flex-direction: column; + align-items: center; + } + .bg { + width: 190%; + height: 100%; + background-color: #004c44; + border-bottom-left-radius: 48%; + border-bottom-right-radius: 48%; + position: absolute; + top: -3%; + z-index: 0; + } + + &-content { + flex-direction: column; + width: 100%; + p { + font-size: 0.4rem; + color: $font-text1; + margin: 0.2rem 0; + } + .qian { + font-size: 1rem; + font-weight: bold; + color: $font-text1; + margin-left: 0.2rem; + } + + .progress { + text-align: center; + width: 90%; + .bar { + width: 100%; + background: #000; + height: 0.3rem; + border: 1px solid #007e5a; + border-radius: 1rem; + margin-bottom: 0.2rem; + position: relative; + .line { + position: absolute; + top: 0; + left: 0; + height: 100%; + background-image: linear-gradient( + to right, + #4ca76e, + #5ac46f, + #b1ea75 + ); + border-radius: 1rem; + } + } + .tips { + font-size: 0.3rem; + } + } + .button { + margin: 1.5em 0; + width: 60%; + } + } +} +.gundong { + width: 95%; + margin: 0 auto; + height: 3rem; + overflow: auto; + font-weight: 500; + padding: 0.3rem; + box-sizing: border-box; + color: #fff; + + &::-webkit-scrollbar { + display: none; + } + .item { + padding: 0.1rem; + animation: myMove 14s linear infinite; // 重点,定义动画 + animation-fill-mode: forwards; + display: grid; + grid-template-columns: 1.5fr 1.5fr 1fr; + } + .item:nth-child(2n) { + background: #004f43; + } + .item:nth-child(2n + 1) { + background: #00362f; + } +} + +@keyframes myMove { + 0% { + transform: translateY(0); + } + 100% { + transform: translateY(-6rem); + } +} \ No newline at end of file diff --git a/src/views/turntable/modal/index.vue b/src/views/turntable/modal/index.vue new file mode 100644 index 0000000..1c708c0 --- /dev/null +++ b/src/views/turntable/modal/index.vue @@ -0,0 +1,255 @@ + + + + + diff --git a/src/views/turntable/nav/index.scss b/src/views/turntable/nav/index.scss new file mode 100644 index 0000000..6a47de2 --- /dev/null +++ b/src/views/turntable/nav/index.scss @@ -0,0 +1,43 @@ +.nav{ + font-size: 0.4rem; + height: $nav-bar-height; + .nav-bar{ + box-sizing: border-box; + height: $nav-bar-height; + background: $nav-bar; + position: fixed; + top: 0; + z-index: 9; + width: 100%; + padding: 0 .2rem; + @include pc { + width: 10rem; + } + .right{ + flex: 1; + .tips{ + flex: 1; + margin-left: 0.15rem; + div{ + font-weight: bold; + } + } + .member{ + span{ + margin-left: 0.1rem; + color: #adfc89; + font-weight: bold; + } + } + } + } +} + +.rules{ + padding: 0.2rem; + p{ + font-size: 0.35rem; + margin-bottom: 0.2rem; + color: #fff; + } +} \ No newline at end of file diff --git a/src/views/turntable/nav/index.vue b/src/views/turntable/nav/index.vue new file mode 100644 index 0000000..912ba53 --- /dev/null +++ b/src/views/turntable/nav/index.vue @@ -0,0 +1,66 @@ + + + + + diff --git a/src/views/turntable/notice/index.vue b/src/views/turntable/notice/index.vue new file mode 100644 index 0000000..3705f58 --- /dev/null +++ b/src/views/turntable/notice/index.vue @@ -0,0 +1,67 @@ + + + + + diff --git a/src/views/turntable/rules/index.vue b/src/views/turntable/rules/index.vue new file mode 100644 index 0000000..07226b8 --- /dev/null +++ b/src/views/turntable/rules/index.vue @@ -0,0 +1,45 @@ + + + + + diff --git a/src/views/turntable/share/index.scss b/src/views/turntable/share/index.scss new file mode 100644 index 0000000..b0d64fd --- /dev/null +++ b/src/views/turntable/share/index.scss @@ -0,0 +1,94 @@ +.share { + display: flex; + align-items: center; + margin-bottom: 0.3rem; + height: 1rem; + background-color: #004134; + border-radius: 0.25rem; + + .icon { + background: #007e5a; + padding: 0.1rem 0.35rem; + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + display: flex; + align-items: center; + } + span { + flex: 1; + text-align: center; + height: 100%; + font-weight: bold; + } +} + +.share-box { + height: 100%; + color: #fff; + padding: 0.2rem 0; + .label { + font-size: 0.35rem; + font-weight: bold; + } + .box-top { + margin: 0 auto; + margin-bottom: 0.3rem; + .icons { + display: flex; + justify-content: space-between; + margin: 0.3rem 0; + .icon { + width: 1.2rem; + height: 1.2rem; + } + } + .share-link { + display: flex; + align-items: center; + justify-content: space-between; + color: $font-text1; + background: #001614; + border-radius: 0.2rem; + margin-top: 0.3rem; + font-size: 0.32rem; + font-weight: 500; + span { + margin-left: 0.2rem; + } + } + } + .box-bottom { + margin: 0 auto; + background-color: #001614; + border-radius: 0.25rem; + color: #21d1a5; + .mobile { + display: grid; + grid-template-columns: repeat(3, 1fr); + font-size: 0.3rem; + gap: 0.1rem; + row-gap: 0.2rem; + text-align: center; + padding: 0.2rem; + margin: 0.2rem 0 0.3rem 0; + border-radius: 0.2rem; + font-weight: 500; + } + } + .send { + display: grid; + grid-template-columns: repeat(2, 1fr); + font-size: 0.3rem; + gap: 0.2rem; + .block { + display: flex; + align-items: center; + justify-content: center; + height: 1.5rem; + padding: 0 0.1rem; + background: #7164c3; + border-radius: 0.25rem; + @extend .blod; + } + } +} \ No newline at end of file diff --git a/src/views/turntable/share/index.vue b/src/views/turntable/share/index.vue new file mode 100644 index 0000000..cef845b --- /dev/null +++ b/src/views/turntable/share/index.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/src/views/turntable/tabs/index.scss b/src/views/turntable/tabs/index.scss new file mode 100644 index 0000000..e9a82ae --- /dev/null +++ b/src/views/turntable/tabs/index.scss @@ -0,0 +1,28 @@ +.tab { + display: grid; + grid-template-columns: repeat(2,1fr); + background: #005a48; + font-size: 0.35rem; + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; + &-item { + text-align: center; + color: #21d1a5; + padding: 0.2rem; + font-weight: bold; + } + &-item:first-child{ + border-top-left-radius: 0.25rem; + } + &-item:last-child{ + border-top-right-radius: 0.25rem; + } + &-item:nth-child(2) { + border-left: 0.05rem solid #000; + border-right: 0.05rem solid #000; + } + .active { + background: #008368; + color: #fff; + } +} \ No newline at end of file diff --git a/src/views/turntable/tabs/index.vue b/src/views/turntable/tabs/index.vue new file mode 100644 index 0000000..c58f740 --- /dev/null +++ b/src/views/turntable/tabs/index.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/views/turntable/utils.ts b/src/views/turntable/utils.ts new file mode 100644 index 0000000..c991336 --- /dev/null +++ b/src/views/turntable/utils.ts @@ -0,0 +1,38 @@ +import { formatDigit } from "@/utils"; +import { TURNTABLE_AWARD_TYPE } from "@/enums/TURNTABLE_TYPE_ENUM"; + + +export const prizeValue = (item: any) => { + switch (item.awardType) { + case TURNTABLE_AWARD_TYPE.FIRST_TASK_COINS: + return "" + case TURNTABLE_AWARD_TYPE.COINS: + return formatDigit(item.propsList[0].num / 10000); + case TURNTABLE_AWARD_TYPE.WITHDRAW: + return "SACAR"; + case TURNTABLE_AWARD_TYPE.TASK_COINS: + return ""; + case TURNTABLE_AWARD_TYPE.NO_AWARD: + return ""; + case TURNTABLE_AWARD_TYPE.DIAMOND: + return "?"; + } +}; + + +export const noticeValue = (item: any) => { + switch (item.awardType) { + case TURNTABLE_AWARD_TYPE.FIRST_TASK_COINS: + return formatDigit(item.propsList[0].num / 10000); + case TURNTABLE_AWARD_TYPE.COINS: + return formatDigit(item.propsList[0].num / 10000); + case TURNTABLE_AWARD_TYPE.WITHDRAW: + return "SACAR"; + case TURNTABLE_AWARD_TYPE.TASK_COINS: + return ""; + case TURNTABLE_AWARD_TYPE.NO_AWARD: + return ""; + case TURNTABLE_AWARD_TYPE.DIAMOND: + return "?"; + } +}; \ No newline at end of file diff --git a/src/views/wallet/index.vue b/src/views/wallet/index.vue new file mode 100644 index 0000000..85beef0 --- /dev/null +++ b/src/views/wallet/index.vue @@ -0,0 +1,157 @@ + + + + + + + diff --git a/src/views/withdrawal/components/channel.vue b/src/views/withdrawal/components/channel.vue new file mode 100644 index 0000000..c5ca5be --- /dev/null +++ b/src/views/withdrawal/components/channel.vue @@ -0,0 +1,91 @@ + + + + + diff --git a/src/views/withdrawal/components/log.vue b/src/views/withdrawal/components/log.vue new file mode 100644 index 0000000..ed2946a --- /dev/null +++ b/src/views/withdrawal/components/log.vue @@ -0,0 +1,110 @@ + + + + + diff --git a/src/views/withdrawal/index.vue b/src/views/withdrawal/index.vue new file mode 100644 index 0000000..a4df596 --- /dev/null +++ b/src/views/withdrawal/index.vue @@ -0,0 +1,468 @@ + + + + + + + diff --git a/src/vite-env.d.ts b/src/vite-env.d.ts new file mode 100644 index 0000000..7d0ff9e --- /dev/null +++ b/src/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/tsconfig.app.json b/tsconfig.app.json new file mode 100644 index 0000000..514f35c --- /dev/null +++ b/tsconfig.app.json @@ -0,0 +1,12 @@ +{ + "extends": "@vue/tsconfig/tsconfig.web.json", + "include": ["env.d.ts", "src/**/*", "src/**/*.vue", "src/**/*.json"], + "exclude": ["src/**/__tests__/*"], + "compilerOptions": { + "composite": true, + "baseUrl": ".", + "paths": { + "@/*": ["./src/*"] + } + } +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..07c5ccb --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,30 @@ +{ + "compilerOptions": { + "baseUrl": "./", + "paths":{ + "@": ["src"], + "@/*": ["src/*"], + }, + "target": "ES2020", + "useDefineForClassFields": true, + "module": "ESNext", + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "preserve", + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true + }, + "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue", "src/socket/socketApi.js"], + "references": [{ "path": "./tsconfig.node.json" }] +} diff --git a/tsconfig.node.json b/tsconfig.node.json new file mode 100644 index 0000000..165a9ba --- /dev/null +++ b/tsconfig.node.json @@ -0,0 +1,10 @@ +{ + "compilerOptions": { + "composite": true, + "skipLibCheck": true, + "module": "ESNext", + "moduleResolution": "bundler", + "allowSyntheticDefaultImports": true + }, + "include": ["vite.config.ts"] +} diff --git a/tsconfig.vitest.json b/tsconfig.vitest.json new file mode 100644 index 0000000..d3a3938 --- /dev/null +++ b/tsconfig.vitest.json @@ -0,0 +1,9 @@ +{ + "extends": "./tsconfig.app.json", + "exclude": [], + "compilerOptions": { + "composite": true, + "lib": [], + "types": ["node", "jsdom"] + } +} diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 0000000..c8c68b2 --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,73 @@ +import { defineConfig, loadEnv } from "vite"; +import vue from "@vitejs/plugin-vue"; +import AutoImport from "unplugin-auto-import/vite"; +import Components from "unplugin-vue-components/vite"; +import { ElementPlusResolver } from "unplugin-vue-components/resolvers"; +import { VantResolver } from "@vant/auto-import-resolver"; +import { fileURLToPath, URL } from "node:url"; +const timestamp = Math.round(new Date().getTime() / 1000).toString(); +export default defineConfig(({ command, mode }) => { + const env = loadEnv(mode, process.cwd(), ""); + return { + base: env.VITE_PUBLIC_PATH, // 开发或生产环境服务的公共基础路径 + build: { + minify: 'terser', + outDir: env.VITE_MODE == 'production' ? 'dist' : 'dist-test', // 打包文件的输出目录 + assetsDir: 'static', // 静态资源的存放目录 + assetsInlineLimit: 4096, // 图片转 base64 编码的阈值 + terserOptions: { + compress: { + drop_console: JSON.parse(env.VITE_OPEN_CONSOLE), + drop_debugger: JSON.parse(env.VITE_OPEN_CONSOLE), + }, + }, + rollupOptions: { + output: { + entryFileNames: `assets/[name]_${timestamp}.js`, + chunkFileNames: `assets/[name]_${timestamp}.js`, + assetFileNames: `assets/[name]_${timestamp}.[ext]` + } + } + }, + plugins: [ + vue(), + AutoImport({ + resolvers: [ElementPlusResolver()], + imports: ["vue", "vue-router"], + }), + Components({ + resolvers: [ElementPlusResolver(), VantResolver()], + }), + ], + resolve: { + alias: { + "@": fileURLToPath(new URL("./src", import.meta.url)), + }, + }, + server: { + host: "0.0.0.0", + port: 8081, + proxy: { + "/api": { + target: "http://192.168.0.80:5052", + changeOrigin: true, + ws: true, + secure: false, + rewrite: (path) => path.replace(/^\/api/, "/"), + }, + }, + }, + css: { + preprocessorOptions: { + scss: { + charset: false, + additionalData: + '@import "./src/assets/styles/variables.scss";' + }, + }, + postcss: { + plugins: [], + }, + }, + } +}); diff --git a/vite.config.ts.timestamp-1712740507697-21e17008d5bb8.mjs b/vite.config.ts.timestamp-1712740507697-21e17008d5bb8.mjs new file mode 100644 index 0000000..b564023 --- /dev/null +++ b/vite.config.ts.timestamp-1712740507697-21e17008d5bb8.mjs @@ -0,0 +1,82 @@ +// vite.config.ts +import { defineConfig, loadEnv } from "file:///C:/Users/zz/Desktop/%E9%A1%B9%E7%9B%AE/Brazil/node_modules/vite/dist/node/index.js"; +import vue from "file:///C:/Users/zz/Desktop/%E9%A1%B9%E7%9B%AE/Brazil/node_modules/@vitejs/plugin-vue/dist/index.mjs"; +import AutoImport from "file:///C:/Users/zz/Desktop/%E9%A1%B9%E7%9B%AE/Brazil/node_modules/unplugin-auto-import/dist/vite.js"; +import Components from "file:///C:/Users/zz/Desktop/%E9%A1%B9%E7%9B%AE/Brazil/node_modules/unplugin-vue-components/dist/vite.mjs"; +import { ElementPlusResolver } from "file:///C:/Users/zz/Desktop/%E9%A1%B9%E7%9B%AE/Brazil/node_modules/unplugin-vue-components/dist/resolvers.mjs"; +import { VantResolver } from "file:///C:/Users/zz/Desktop/%E9%A1%B9%E7%9B%AE/Brazil/node_modules/@vant/auto-import-resolver/dist/index.esm.mjs"; +import { fileURLToPath, URL } from "node:url"; +var __vite_injected_original_import_meta_url = "file:///C:/Users/zz/Desktop/%E9%A1%B9%E7%9B%AE/Brazil/vite.config.ts"; +var timestamp = Math.round((/* @__PURE__ */ new Date()).getTime() / 1e3).toString(); +var vite_config_default = defineConfig(({ command, mode }) => { + const env = loadEnv(mode, process.cwd(), ""); + return { + base: env.VITE_PUBLIC_PATH, + // 开发或生产环境服务的公共基础路径 + build: { + minify: "terser", + outDir: env.VITE_MODE == "production" ? "dist" : "dist-test", + // 打包文件的输出目录 + assetsDir: "static", + // 静态资源的存放目录 + assetsInlineLimit: 4096, + // 图片转 base64 编码的阈值 + terserOptions: { + compress: { + drop_console: JSON.parse(env.VITE_OPEN_CONSOLE), + drop_debugger: JSON.parse(env.VITE_OPEN_CONSOLE) + } + }, + rollupOptions: { + output: { + entryFileNames: `assets/[name]_${timestamp}.js`, + chunkFileNames: `assets/[name]_${timestamp}.js`, + assetFileNames: `assets/[name]_${timestamp}.[ext]` + } + } + }, + plugins: [ + vue(), + AutoImport({ + resolvers: [ElementPlusResolver()], + imports: ["vue", "vue-router"] + }), + Components({ + resolvers: [ElementPlusResolver(), VantResolver()] + }) + ], + resolve: { + alias: { + "@": fileURLToPath(new URL("./src", __vite_injected_original_import_meta_url)) + } + }, + server: { + host: "0.0.0.0", + port: 8081, + proxy: { + "/api": { + target: "http://192.168.0.60:1871", + changeOrigin: true, + ws: true, + secure: false, + rewrite: (path) => path.replace(/^\/api/, "/") + } + } + }, + css: { + preprocessorOptions: { + scss: { + charset: false, + additionalData: '@import "./src/assets/styles/variables.scss";' + } + }, + postcss: { + plugins: [] + } + } + }; +}); +export { + vite_config_default as default +}; +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCJDOlxcXFxVc2Vyc1xcXFx6elxcXFxEZXNrdG9wXFxcXFx1OTg3OVx1NzZFRVxcXFxCcmF6aWxcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIkM6XFxcXFVzZXJzXFxcXHp6XFxcXERlc2t0b3BcXFxcXHU5ODc5XHU3NkVFXFxcXEJyYXppbFxcXFx2aXRlLmNvbmZpZy50c1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vQzovVXNlcnMvenovRGVza3RvcC8lRTklQTElQjklRTclOUIlQUUvQnJhemlsL3ZpdGUuY29uZmlnLnRzXCI7aW1wb3J0IHsgZGVmaW5lQ29uZmlnLCBsb2FkRW52IH0gZnJvbSBcInZpdGVcIjtcclxuaW1wb3J0IHZ1ZSBmcm9tIFwiQHZpdGVqcy9wbHVnaW4tdnVlXCI7XHJcbmltcG9ydCBBdXRvSW1wb3J0IGZyb20gXCJ1bnBsdWdpbi1hdXRvLWltcG9ydC92aXRlXCI7XHJcbmltcG9ydCBDb21wb25lbnRzIGZyb20gXCJ1bnBsdWdpbi12dWUtY29tcG9uZW50cy92aXRlXCI7XHJcbmltcG9ydCB7IEVsZW1lbnRQbHVzUmVzb2x2ZXIgfSBmcm9tIFwidW5wbHVnaW4tdnVlLWNvbXBvbmVudHMvcmVzb2x2ZXJzXCI7XHJcbmltcG9ydCB7IFZhbnRSZXNvbHZlciB9IGZyb20gXCJAdmFudC9hdXRvLWltcG9ydC1yZXNvbHZlclwiO1xyXG5pbXBvcnQgeyBmaWxlVVJMVG9QYXRoLCBVUkwgfSBmcm9tIFwibm9kZTp1cmxcIjtcclxuY29uc3QgdGltZXN0YW1wID0gTWF0aC5yb3VuZChuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDApLnRvU3RyaW5nKCk7XHJcbmV4cG9ydCBkZWZhdWx0IGRlZmluZUNvbmZpZygoeyBjb21tYW5kLCBtb2RlIH0pID0+IHtcclxuICBjb25zdCBlbnYgPSBsb2FkRW52KG1vZGUsIHByb2Nlc3MuY3dkKCksIFwiXCIpO1xyXG4gIHJldHVybiB7XHJcbiAgICBiYXNlOiBlbnYuVklURV9QVUJMSUNfUEFUSCwgLy8gXHU1RjAwXHU1M0QxXHU2MjE2XHU3NTFGXHU0RUE3XHU3M0FGXHU1ODgzXHU2NzBEXHU1MkExXHU3Njg0XHU1MTZDXHU1MTcxXHU1N0ZBXHU3ODQwXHU4REVGXHU1Rjg0XHJcbiAgICBidWlsZDoge1xyXG4gICAgICBtaW5pZnk6ICd0ZXJzZXInLFxyXG4gICAgICBvdXREaXI6IGVudi5WSVRFX01PREUgPT0gJ3Byb2R1Y3Rpb24nID8gJ2Rpc3QnIDogJ2Rpc3QtdGVzdCcsIC8vIFx1NjI1M1x1NTMwNVx1NjU4N1x1NEVGNlx1NzY4NFx1OEY5M1x1NTFGQVx1NzZFRVx1NUY1NVxyXG4gICAgICBhc3NldHNEaXI6ICdzdGF0aWMnLCAvLyBcdTk3NTlcdTYwMDFcdThENDRcdTZFOTBcdTc2ODRcdTVCNThcdTY1M0VcdTc2RUVcdTVGNTVcclxuICAgICAgYXNzZXRzSW5saW5lTGltaXQ6IDQwOTYsIC8vIFx1NTZGRVx1NzI0N1x1OEY2QyBiYXNlNjQgXHU3RjE2XHU3ODAxXHU3Njg0XHU5NjA4XHU1MDNDXHJcbiAgICAgIHRlcnNlck9wdGlvbnM6IHtcclxuICAgICAgICBjb21wcmVzczoge1xyXG4gICAgICAgICAgZHJvcF9jb25zb2xlOiBKU09OLnBhcnNlKGVudi5WSVRFX09QRU5fQ09OU09MRSksXHJcbiAgICAgICAgICBkcm9wX2RlYnVnZ2VyOiBKU09OLnBhcnNlKGVudi5WSVRFX09QRU5fQ09OU09MRSksXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICAgcm9sbHVwT3B0aW9uczoge1xyXG4gICAgICAgIG91dHB1dDoge1xyXG4gICAgICAgICAgZW50cnlGaWxlTmFtZXM6IGBhc3NldHMvW25hbWVdXyR7dGltZXN0YW1wfS5qc2AsXHJcbiAgICAgICAgICBjaHVua0ZpbGVOYW1lczogYGFzc2V0cy9bbmFtZV1fJHt0aW1lc3RhbXB9LmpzYCxcclxuICAgICAgICAgIGFzc2V0RmlsZU5hbWVzOiBgYXNzZXRzL1tuYW1lXV8ke3RpbWVzdGFtcH0uW2V4dF1gXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAgcGx1Z2luczogW1xyXG4gICAgICB2dWUoKSxcclxuICAgICAgQXV0b0ltcG9ydCh7XHJcbiAgICAgICAgcmVzb2x2ZXJzOiBbRWxlbWVudFBsdXNSZXNvbHZlcigpXSxcclxuICAgICAgICBpbXBvcnRzOiBbXCJ2dWVcIiwgXCJ2dWUtcm91dGVyXCJdLFxyXG4gICAgICB9KSxcclxuICAgICAgQ29tcG9uZW50cyh7XHJcbiAgICAgICAgcmVzb2x2ZXJzOiBbRWxlbWVudFBsdXNSZXNvbHZlcigpLCBWYW50UmVzb2x2ZXIoKV0sXHJcbiAgICAgIH0pLFxyXG4gICAgXSxcclxuICAgIHJlc29sdmU6IHtcclxuICAgICAgYWxpYXM6IHtcclxuICAgICAgICBcIkBcIjogZmlsZVVSTFRvUGF0aChuZXcgVVJMKFwiLi9zcmNcIiwgaW1wb3J0Lm1ldGEudXJsKSksXHJcbiAgICAgIH0sXHJcbiAgICB9LFxyXG4gICAgc2VydmVyOiB7XHJcbiAgICAgIGhvc3Q6IFwiMC4wLjAuMFwiLFxyXG4gICAgICBwb3J0OiA4MDgxLFxyXG4gICAgICBwcm94eToge1xyXG4gICAgICAgIFwiL2FwaVwiOiB7XHJcbiAgICAgICAgICB0YXJnZXQ6IFwiaHR0cDovLzE5Mi4xNjguMC42MDoxODcxXCIsXHJcbiAgICAgICAgICBjaGFuZ2VPcmlnaW46IHRydWUsXHJcbiAgICAgICAgICB3czogdHJ1ZSxcclxuICAgICAgICAgIHNlY3VyZTogZmFsc2UsXHJcbiAgICAgICAgICByZXdyaXRlOiAocGF0aCkgPT4gcGF0aC5yZXBsYWNlKC9eXFwvYXBpLywgXCIvXCIpLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICB9LFxyXG4gICAgY3NzOiB7XHJcbiAgICAgIHByZXByb2Nlc3Nvck9wdGlvbnM6IHtcclxuICAgICAgICBzY3NzOiB7XHJcbiAgICAgICAgICBjaGFyc2V0OiBmYWxzZSxcclxuICAgICAgICAgIGFkZGl0aW9uYWxEYXRhOlxyXG4gICAgICAgICAgICAnQGltcG9ydCBcIi4vc3JjL2Fzc2V0cy9zdHlsZXMvdmFyaWFibGVzLnNjc3NcIjsnXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICAgcG9zdGNzczoge1xyXG4gICAgICAgIHBsdWdpbnM6IFtdLFxyXG4gICAgICB9LFxyXG4gICAgfSxcclxuICB9XHJcbn0pO1xyXG4iXSwKICAibWFwcGluZ3MiOiAiO0FBQXFTLFNBQVMsY0FBYyxlQUFlO0FBQzNVLE9BQU8sU0FBUztBQUNoQixPQUFPLGdCQUFnQjtBQUN2QixPQUFPLGdCQUFnQjtBQUN2QixTQUFTLDJCQUEyQjtBQUNwQyxTQUFTLG9CQUFvQjtBQUM3QixTQUFTLGVBQWUsV0FBVztBQU4wSSxJQUFNLDJDQUEyQztBQU85TixJQUFNLFlBQVksS0FBSyxPQUFNLG9CQUFJLEtBQUssR0FBRSxRQUFRLElBQUksR0FBSSxFQUFFLFNBQVM7QUFDbkUsSUFBTyxzQkFBUSxhQUFhLENBQUMsRUFBRSxTQUFTLEtBQUssTUFBTTtBQUNqRCxRQUFNLE1BQU0sUUFBUSxNQUFNLFFBQVEsSUFBSSxHQUFHLEVBQUU7QUFDM0MsU0FBTztBQUFBLElBQ0wsTUFBTSxJQUFJO0FBQUE7QUFBQSxJQUNWLE9BQU87QUFBQSxNQUNMLFFBQVE7QUFBQSxNQUNSLFFBQVEsSUFBSSxhQUFhLGVBQWUsU0FBUztBQUFBO0FBQUEsTUFDakQsV0FBVztBQUFBO0FBQUEsTUFDWCxtQkFBbUI7QUFBQTtBQUFBLE1BQ25CLGVBQWU7QUFBQSxRQUNiLFVBQVU7QUFBQSxVQUNSLGNBQWMsS0FBSyxNQUFNLElBQUksaUJBQWlCO0FBQUEsVUFDOUMsZUFBZSxLQUFLLE1BQU0sSUFBSSxpQkFBaUI7QUFBQSxRQUNqRDtBQUFBLE1BQ0Y7QUFBQSxNQUNBLGVBQWU7QUFBQSxRQUNiLFFBQVE7QUFBQSxVQUNOLGdCQUFnQixpQkFBaUIsU0FBUztBQUFBLFVBQzFDLGdCQUFnQixpQkFBaUIsU0FBUztBQUFBLFVBQzFDLGdCQUFnQixpQkFBaUIsU0FBUztBQUFBLFFBQzVDO0FBQUEsTUFDRjtBQUFBLElBQ0Y7QUFBQSxJQUNBLFNBQVM7QUFBQSxNQUNQLElBQUk7QUFBQSxNQUNKLFdBQVc7QUFBQSxRQUNULFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQztBQUFBLFFBQ2pDLFNBQVMsQ0FBQyxPQUFPLFlBQVk7QUFBQSxNQUMvQixDQUFDO0FBQUEsTUFDRCxXQUFXO0FBQUEsUUFDVCxXQUFXLENBQUMsb0JBQW9CLEdBQUcsYUFBYSxDQUFDO0FBQUEsTUFDbkQsQ0FBQztBQUFBLElBQ0g7QUFBQSxJQUNBLFNBQVM7QUFBQSxNQUNQLE9BQU87QUFBQSxRQUNMLEtBQUssY0FBYyxJQUFJLElBQUksU0FBUyx3Q0FBZSxDQUFDO0FBQUEsTUFDdEQ7QUFBQSxJQUNGO0FBQUEsSUFDQSxRQUFRO0FBQUEsTUFDTixNQUFNO0FBQUEsTUFDTixNQUFNO0FBQUEsTUFDTixPQUFPO0FBQUEsUUFDTCxRQUFRO0FBQUEsVUFDTixRQUFRO0FBQUEsVUFDUixjQUFjO0FBQUEsVUFDZCxJQUFJO0FBQUEsVUFDSixRQUFRO0FBQUEsVUFDUixTQUFTLENBQUMsU0FBUyxLQUFLLFFBQVEsVUFBVSxHQUFHO0FBQUEsUUFDL0M7QUFBQSxNQUNGO0FBQUEsSUFDRjtBQUFBLElBQ0EsS0FBSztBQUFBLE1BQ0gscUJBQXFCO0FBQUEsUUFDbkIsTUFBTTtBQUFBLFVBQ0osU0FBUztBQUFBLFVBQ1QsZ0JBQ0U7QUFBQSxRQUNKO0FBQUEsTUFDRjtBQUFBLE1BQ0EsU0FBUztBQUFBLFFBQ1AsU0FBUyxDQUFDO0FBQUEsTUFDWjtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQ0YsQ0FBQzsiLAogICJuYW1lcyI6IFtdCn0K