From 58d973425507ab721905672988691d7cb8cb0870 Mon Sep 17 00:00:00 2001 From: Vlad Stan Date: Wed, 1 Nov 2023 18:51:26 +0200 Subject: [PATCH] chore: code format --- .vscode/extensions.json | 2 +- README.md | 10 +- index.html | 67 +- jsconfig.json | 44 +- market/assets/ErrorNotFound.4fc67341.js | 43 +- market/assets/MainLayout.295f5fc5.js | 703 +- market/assets/MarketPage.b7a84b02.js | 26468 +++++++++++++++++++- market/assets/QResizeObserver.b8a0e5fe.js | 539 +- market/assets/index.d0f96b53.js | 11528 ++++++++- market/assets/index.de281aed.css | 12329 ++++++++- market/index.html | 31 +- market/js/bolt11-decoder.js | 342 +- market/js/nostr.bundle.js | 3723 +-- market/js/utils.js | 266 +- public/js/bolt11-decoder.js | 342 +- public/js/nostr.bundle.js | 3723 +-- public/js/utils.js | 266 +- src/App.vue | 6 +- src/components/CustomerMarket.vue | 4 +- src/components/CustomerStall.vue | 49 +- src/components/CustomerStallList.vue | 86 +- src/components/MarketConfig.vue | 7 +- src/components/ProductCard.vue | 102 +- src/components/ProductDetail.vue | 5 +- src/components/UserChat.vue | 2 +- src/css/base.css | 592 +- src/pages/ErrorNotFound.vue | 18 +- src/pages/MarketPage.vue | 55 +- src/router/index.js | 23 +- src/router/routes.js | 19 +- 30 files changed, 57169 insertions(+), 4225 deletions(-) diff --git a/.vscode/extensions.json b/.vscode/extensions.json index fe38802..b6a2eb9 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -12,4 +12,4 @@ "dbaeumer.jshint", "ms-vscode.vscode-typescript-tslint-plugin" ] -} \ No newline at end of file +} diff --git a/README.md b/README.md index 6a6e772..e502f83 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,7 @@ A Nostr marketplace ## Install the dependencies + ```bash yarn # or @@ -10,32 +11,33 @@ npm install ``` ### Start the app in development mode (hot-code reloading, error reporting, etc.) + ```bash quasar dev ``` - ### Lint the files + ```bash yarn lint # or npm run lint ``` - ### Format the files + ```bash yarn format # or npm run format ``` - - ### Build the app for production + ```bash quasar build ``` ### Customize the configuration + See [Configuring quasar.config.js](https://v2.quasar.dev/quasar-cli-vite/quasar-config-js). diff --git a/index.html b/index.html index 108cfa7..7c5e550 100644 --- a/index.html +++ b/index.html @@ -1,32 +1,49 @@ + + <%= productName %> - - - <%= productName %> - + + + + + - - - - - + + + + + + + + + - - - - - - - - - - - - - - - + + + diff --git a/jsconfig.json b/jsconfig.json index 456944a..dcce845 100644 --- a/jsconfig.json +++ b/jsconfig.json @@ -2,38 +2,16 @@ "compilerOptions": { "baseUrl": ".", "paths": { - "src/*": [ - "src/*" - ], - "app/*": [ - "*" - ], - "components/*": [ - "src/components/*" - ], - "layouts/*": [ - "src/layouts/*" - ], - "pages/*": [ - "src/pages/*" - ], - "assets/*": [ - "src/assets/*" - ], - "boot/*": [ - "src/boot/*" - ], - "stores/*": [ - "src/stores/*" - ], - "vue$": [ - "node_modules/vue/dist/vue.runtime.esm-bundler.js" - ] + "src/*": ["src/*"], + "app/*": ["*"], + "components/*": ["src/components/*"], + "layouts/*": ["src/layouts/*"], + "pages/*": ["src/pages/*"], + "assets/*": ["src/assets/*"], + "boot/*": ["src/boot/*"], + "stores/*": ["src/stores/*"], + "vue$": ["node_modules/vue/dist/vue.runtime.esm-bundler.js"] } }, - "exclude": [ - "dist", - ".quasar", - "node_modules" - ] -} \ No newline at end of file + "exclude": ["dist", ".quasar", "node_modules"] +} diff --git a/market/assets/ErrorNotFound.4fc67341.js b/market/assets/ErrorNotFound.4fc67341.js index 2f5ee60..fa45bb4 100644 --- a/market/assets/ErrorNotFound.4fc67341.js +++ b/market/assets/ErrorNotFound.4fc67341.js @@ -1 +1,42 @@ -import{_ as t,E as o,G as s,aR as a,aT as e,J as n,av as r}from"./index.d0f96b53.js";const c=o({name:"ErrorNotFound"}),l={class:"fullscreen bg-blue text-white text-center q-pa-md flex flex-center"},d=e("div",{style:{"font-size":"30vh"}}," 404 ",-1),i=e("div",{class:"text-h2",style:{opacity:".4"}}," Oops. Nothing here... ",-1);function _(p,f,u,h,x,m){return s(),a("div",l,[e("div",null,[d,i,n(r,{class:"q-mt-xl",color:"white","text-color":"blue",unelevated:"",to:"/",label:"Go Home","no-caps":""})])])}var N=t(c,[["render",_]]);export{N as default}; +import { + _ as t, + E as o, + G as s, + aR as a, + aT as e, + J as n, + av as r, +} from "./index.d0f96b53.js"; +const c = o({ name: "ErrorNotFound" }), + l = { + class: "fullscreen bg-blue text-white text-center q-pa-md flex flex-center", + }, + d = e("div", { style: { "font-size": "30vh" } }, " 404 ", -1), + i = e( + "div", + { class: "text-h2", style: { opacity: ".4" } }, + " Oops. Nothing here... ", + -1 + ); +function _(p, f, u, h, x, m) { + return ( + s(), + a("div", l, [ + e("div", null, [ + d, + i, + n(r, { + class: "q-mt-xl", + color: "white", + "text-color": "blue", + unelevated: "", + to: "/", + label: "Go Home", + "no-caps": "", + }), + ]), + ]) + ); +} +var N = t(c, [["render", _]]); +export { N as default }; diff --git a/market/assets/MainLayout.295f5fc5.js b/market/assets/MainLayout.295f5fc5.js index cc4a0df..a80306c 100644 --- a/market/assets/MainLayout.295f5fc5.js +++ b/market/assets/MainLayout.295f5fc5.js @@ -1 +1,702 @@ -import{c as te,u as _e,a as Pe,b as Me,d as We,e as Oe,i as he,f as D,l as ae,r as b,g as o,h as De,j as Re,w as d,o as He,n as ue,k as Qe,m as Ae,p as w,q as se,s as me,t as le,v as Fe,x as ye,y as Ie,z as Ve,A as Z,B as V,C as Ee,D as Ne,_ as je,E as Ue,F as Ke,G as Ge,H as Je,I as ce,J as E}from"./index.d0f96b53.js";import{T as ee,b as N,Q as Xe,a as de}from"./QResizeObserver.b8a0e5fe.js";const ve=150;var fe=te({name:"QDrawer",inheritAttrs:!1,props:{..._e,...Pe,side:{type:String,default:"left",validator:e=>["left","right"].includes(e)},width:{type:Number,default:300},mini:Boolean,miniToOverlay:Boolean,miniWidth:{type:Number,default:57},noMiniAnimation:Boolean,breakpoint:{type:Number,default:1023},showIfAbove:Boolean,behavior:{type:String,validator:e=>["default","desktop","mobile"].includes(e),default:"default"},bordered:Boolean,elevated:Boolean,overlay:Boolean,persistent:Boolean,noSwipeOpen:Boolean,noSwipeClose:Boolean,noSwipeBackdrop:Boolean},emits:[...Me,"onLayout","miniState"],setup(e,{slots:$,emit:v,attrs:r}){const f=le(),{proxy:{$q:u}}=f,T=We(e,u),{preventBodyScroll:M}=Fe(),{registerTimeout:z,removeTimeout:x}=Oe(),a=he(ae,D);if(a===D)return console.error("QDrawer needs to be child of QLayout"),D;let R,S=null,B;const c=b(e.behavior==="mobile"||e.behavior!=="desktop"&&a.totalWidth.value<=e.breakpoint),L=o(()=>e.mini===!0&&c.value!==!0),h=o(()=>L.value===!0?e.miniWidth:e.width),i=b(e.showIfAbove===!0&&c.value===!1?!0:e.modelValue===!0),p=o(()=>e.persistent!==!0&&(c.value===!0||ge.value===!0));function H(t,l){if(_(),t!==!1&&a.animate(),g(0),c.value===!0){const m=a.instances[F.value];m!==void 0&&m.belowBreakpoint===!0&&m.hide(!1),k(1),a.isContainer.value!==!0&&M(!0)}else k(0),t!==!1&&J(!1);z(()=>{t!==!1&&J(!0),l!==!0&&v("show",t)},ve)}function n(t,l){Q(),t!==!1&&a.animate(),k(0),g(W.value*h.value),X(),l!==!0?z(()=>{v("hide",t)},ve):x()}const{show:s,hide:y}=De({showing:i,hideOnRouteChange:p,handleShow:H,handleHide:n}),{addToHistory:_,removeFromHistory:Q}=Re(i,y,p),P={belowBreakpoint:c,hide:y},C=o(()=>e.side==="right"),W=o(()=>(u.lang.rtl===!0?-1:1)*(C.value===!0?1:-1)),ne=b(0),O=b(!1),j=b(!1),oe=b(h.value*W.value),F=o(()=>C.value===!0?"left":"right"),U=o(()=>i.value===!0&&c.value===!1&&e.overlay===!1?e.miniToOverlay===!0?e.miniWidth:h.value:0),K=o(()=>e.overlay===!0||e.miniToOverlay===!0||a.view.value.indexOf(C.value?"R":"L")>-1||u.platform.is.ios===!0&&a.isContainer.value===!0),A=o(()=>e.overlay===!1&&i.value===!0&&c.value===!1),ge=o(()=>e.overlay===!0&&i.value===!0&&c.value===!1),we=o(()=>"fullscreen q-drawer__backdrop"+(i.value===!1&&O.value===!1?" hidden":"")),be=o(()=>({backgroundColor:`rgba(0,0,0,${ne.value*.4})`})),ie=o(()=>C.value===!0?a.rows.value.top[2]==="r":a.rows.value.top[0]==="l"),xe=o(()=>C.value===!0?a.rows.value.bottom[2]==="r":a.rows.value.bottom[0]==="l"),Se=o(()=>{const t={};return a.header.space===!0&&ie.value===!1&&(K.value===!0?t.top=`${a.header.offset}px`:a.header.space===!0&&(t.top=`${a.header.size}px`)),a.footer.space===!0&&xe.value===!1&&(K.value===!0?t.bottom=`${a.footer.offset}px`:a.footer.space===!0&&(t.bottom=`${a.footer.size}px`)),t}),Ce=o(()=>{const t={width:`${h.value}px`,transform:`translateX(${oe.value}px)`};return c.value===!0?t:Object.assign(t,Se.value)}),$e=o(()=>"q-drawer__content fit "+(a.isContainer.value!==!0?"scroll":"overflow-auto")),ke=o(()=>`q-drawer q-drawer--${e.side}`+(j.value===!0?" q-drawer--mini-animate":"")+(e.bordered===!0?" q-drawer--bordered":"")+(T.value===!0?" q-drawer--dark q-dark":"")+(O.value===!0?" no-transition":i.value===!0?"":" q-layout--prevent-focus")+(c.value===!0?" fixed q-drawer--on-top q-drawer--mobile q-drawer--top-padding":` q-drawer--${L.value===!0?"mini":"standard"}`+(K.value===!0||A.value!==!0?" fixed":"")+(e.overlay===!0||e.miniToOverlay===!0?" q-drawer--on-top":"")+(ie.value===!0?" q-drawer--top-padding":""))),qe=o(()=>{const t=u.lang.rtl===!0?e.side:F.value;return[[ee,Le,void 0,{[t]:!0,mouse:!0}]]}),Te=o(()=>{const t=u.lang.rtl===!0?F.value:e.side;return[[ee,re,void 0,{[t]:!0,mouse:!0}]]}),ze=o(()=>{const t=u.lang.rtl===!0?F.value:e.side;return[[ee,re,void 0,{[t]:!0,mouse:!0,mouseAllDir:!0}]]});function G(){pe(c,e.behavior==="mobile"||e.behavior!=="desktop"&&a.totalWidth.value<=e.breakpoint)}d(c,t=>{t===!0?(R=i.value,i.value===!0&&y(!1)):e.overlay===!1&&e.behavior!=="mobile"&&R!==!1&&(i.value===!0?(g(0),k(0),X()):s(!1))}),d(()=>e.side,(t,l)=>{a.instances[l]===P&&(a.instances[l]=void 0,a[l].space=!1,a[l].offset=0),a.instances[t]=P,a[t].size=h.value,a[t].space=A.value,a[t].offset=U.value}),d(a.totalWidth,()=>{(a.isContainer.value===!0||document.qScrollPrevented!==!0)&&G()}),d(()=>e.behavior+e.breakpoint,G),d(a.isContainer,t=>{i.value===!0&&M(t!==!0),t===!0&&G()}),d(a.scrollbarWidth,()=>{g(i.value===!0?0:void 0)}),d(U,t=>{q("offset",t)}),d(A,t=>{v("onLayout",t),q("space",t)}),d(C,()=>{g()}),d(h,t=>{g(),Y(e.miniToOverlay,t)}),d(()=>e.miniToOverlay,t=>{Y(t,h.value)}),d(()=>u.lang.rtl,()=>{g()}),d(()=>e.mini,()=>{e.noMiniAnimation||e.modelValue===!0&&(Be(),a.animate())}),d(L,t=>{v("miniState",t)});function g(t){t===void 0?ue(()=>{t=i.value===!0?0:h.value,g(W.value*t)}):(a.isContainer.value===!0&&C.value===!0&&(c.value===!0||Math.abs(t)===h.value)&&(t+=W.value*a.scrollbarWidth.value),oe.value=t)}function k(t){ne.value=t}function J(t){const l=t===!0?"remove":a.isContainer.value!==!0?"add":"";l!==""&&document.body.classList[l]("q-body--drawer-toggle")}function Be(){S!==null&&clearTimeout(S),f.proxy&&f.proxy.$el&&f.proxy.$el.classList.add("q-drawer--mini-animate"),j.value=!0,S=setTimeout(()=>{S=null,j.value=!1,f&&f.proxy&&f.proxy.$el&&f.proxy.$el.classList.remove("q-drawer--mini-animate")},150)}function Le(t){if(i.value!==!1)return;const l=h.value,m=N(t.distance.x,0,l);if(t.isFinal===!0){m>=Math.min(75,l)===!0?s():(a.animate(),k(0),g(W.value*l)),O.value=!1;return}g((u.lang.rtl===!0?C.value!==!0:C.value)?Math.max(l-m,0):Math.min(0,m-l)),k(N(m/l,0,1)),t.isFirst===!0&&(O.value=!0)}function re(t){if(i.value!==!0)return;const l=h.value,m=t.direction===e.side,I=(u.lang.rtl===!0?m!==!0:m)?N(t.distance.x,0,l):0;if(t.isFinal===!0){Math.abs(I){v("onLayout",A.value),v("miniState",L.value),R=e.showIfAbove===!0;const t=()=>{(i.value===!0?H:n)(!1,!0)};if(a.totalWidth.value!==0){ue(t);return}B=d(a.totalWidth,()=>{B(),B=void 0,i.value===!1&&e.showIfAbove===!0&&c.value===!1?s(!1):t()})}),Qe(()=>{B!==void 0&&B(),S!==null&&(clearTimeout(S),S=null),i.value===!0&&X(),a.instances[e.side]===P&&(a.instances[e.side]=void 0,q("size",0),q("offset",0),q("space",!1))}),()=>{const t=[];c.value===!0&&(e.noSwipeOpen===!1&&t.push(Ae(w("div",{key:"open",class:`q-drawer__opener fixed-${e.side}`,"aria-hidden":"true"}),qe.value)),t.push(se("div",{ref:"backdrop",class:we.value,style:be.value,"aria-hidden":"true",onClick:y},void 0,"backdrop",e.noSwipeBackdrop!==!0&&i.value===!0,()=>ze.value)));const l=L.value===!0&&$.mini!==void 0,m=[w("div",{...r,key:""+l,class:[$e.value,r.class]},l===!0?$.mini():me($.default))];return e.elevated===!0&&i.value===!0&&m.push(w("div",{class:"q-layout__shadow absolute-full overflow-hidden no-pointer-events"})),t.push(se("aside",{ref:"content",class:ke.value,style:Ce.value},m,"contentclose",e.noSwipeClose!==!0&&c.value===!0,()=>Te.value)),w("div",{class:"q-drawer-container"},t)}}}),Ye=te({name:"QPageContainer",setup(e,{slots:$}){const{proxy:{$q:v}}=le(),r=he(ae,D);if(r===D)return console.error("QPageContainer needs to be child of QLayout"),D;ye(Ie,!0);const f=o(()=>{const u={};return r.header.space===!0&&(u.paddingTop=`${r.header.size}px`),r.right.space===!0&&(u[`padding${v.lang.rtl===!0?"Left":"Right"}`]=`${r.right.size}px`),r.footer.space===!0&&(u.paddingBottom=`${r.footer.size}px`),r.left.space===!0&&(u[`padding${v.lang.rtl===!0?"Right":"Left"}`]=`${r.left.size}px`),u});return()=>w("div",{class:"q-page-container",style:f.value},me($.default))}}),Ze=te({name:"QLayout",props:{container:Boolean,view:{type:String,default:"hhh lpr fff",validator:e=>/^(h|l)h(h|r) lpr (f|l)f(f|r)$/.test(e.toLowerCase())},onScroll:Function,onScrollHeight:Function,onResize:Function},setup(e,{slots:$,emit:v}){const{proxy:{$q:r}}=le(),f=b(null),u=b(r.screen.height),T=b(e.container===!0?0:r.screen.width),M=b({position:0,direction:"down",inflectionPoint:0}),z=b(0),x=b(Ve.value===!0?0:Z()),a=o(()=>"q-layout q-layout--"+(e.container===!0?"containerized":"standard")),R=o(()=>e.container===!1?{minHeight:r.screen.height+"px"}:null),S=o(()=>x.value!==0?{[r.lang.rtl===!0?"left":"right"]:`${x.value}px`}:null),B=o(()=>x.value!==0?{[r.lang.rtl===!0?"right":"left"]:0,[r.lang.rtl===!0?"left":"right"]:`-${x.value}px`,width:`calc(100% + ${x.value}px)`}:null);function c(n){if(e.container===!0||document.qScrollPrevented!==!0){const s={position:n.position.top,direction:n.direction,directionChanged:n.directionChanged,inflectionPoint:n.inflectionPoint.top,delta:n.delta.top};M.value=s,e.onScroll!==void 0&&v("scroll",s)}}function L(n){const{height:s,width:y}=n;let _=!1;u.value!==s&&(_=!0,u.value=s,e.onScrollHeight!==void 0&&v("scrollHeight",s),i()),T.value!==y&&(_=!0,T.value=y),_===!0&&e.onResize!==void 0&&v("resize",n)}function h({height:n}){z.value!==n&&(z.value=n,i())}function i(){if(e.container===!0){const n=u.value>z.value?Z():0;x.value!==n&&(x.value=n)}}let p=null;const H={instances:{},view:o(()=>e.view),isContainer:o(()=>e.container),rootRef:f,height:u,containerHeight:z,scrollbarWidth:x,totalWidth:o(()=>T.value+x.value),rows:o(()=>{const n=e.view.toLowerCase().split(" ");return{top:n[0].split(""),middle:n[1].split(""),bottom:n[2].split("")}}),header:V({size:0,offset:0,space:!1}),right:V({size:300,offset:0,space:!1}),footer:V({size:0,offset:0,space:!1}),left:V({size:300,offset:0,space:!1}),scroll:M,animate(){p!==null?clearTimeout(p):document.body.classList.add("q-body--layout-animate"),p=setTimeout(()=>{p=null,document.body.classList.remove("q-body--layout-animate")},155)},update(n,s,y){H[n][s]=y}};if(ye(ae,H),Z()>0){let y=function(){n=null,s.classList.remove("hide-scrollbar")},_=function(){if(n===null){if(s.scrollHeight>r.screen.height)return;s.classList.add("hide-scrollbar")}else clearTimeout(n);n=setTimeout(y,300)},Q=function(P){n!==null&&P==="remove"&&(clearTimeout(n),y()),window[`${P}EventListener`]("resize",_)},n=null;const s=document.body;d(()=>e.container!==!0?"add":"remove",Q),e.container!==!0&&Q("add"),Ee(()=>{Q("remove")})}return()=>{const n=Ne($.default,[w(Xe,{onScroll:c}),w(de,{onResize:L})]),s=w("div",{class:a.value,style:R.value,ref:e.container===!0?void 0:f,tabindex:-1},n);return e.container===!0?w("div",{class:"q-layout-container overflow-hidden",ref:f},[w(de,{onResize:h}),w("div",{class:"absolute-full",style:S.value},[w("div",{class:"scroll",style:B.value},[s])])]):s}}});const et=Ue({name:"MainLayout",setup(){return{}}});function tt(e,$,v,r,f,u){const T=Ke("router-view");return Ge(),Je(Ze,{view:"hHh lpR fFf"},{default:ce(()=>[E(fe,{"show-if-above":"",side:"left"}),E(fe,{"show-if-above":"",side:"right"}),E(Ye,null,{default:ce(()=>[E(T)]),_:1})]),_:1})}var ot=je(et,[["render",tt]]);export{ot as default}; +import { + c as te, + u as _e, + a as Pe, + b as Me, + d as We, + e as Oe, + i as he, + f as D, + l as ae, + r as b, + g as o, + h as De, + j as Re, + w as d, + o as He, + n as ue, + k as Qe, + m as Ae, + p as w, + q as se, + s as me, + t as le, + v as Fe, + x as ye, + y as Ie, + z as Ve, + A as Z, + B as V, + C as Ee, + D as Ne, + _ as je, + E as Ue, + F as Ke, + G as Ge, + H as Je, + I as ce, + J as E, +} from "./index.d0f96b53.js"; +import { + T as ee, + b as N, + Q as Xe, + a as de, +} from "./QResizeObserver.b8a0e5fe.js"; +const ve = 150; +var fe = te({ + name: "QDrawer", + inheritAttrs: !1, + props: { + ..._e, + ...Pe, + side: { + type: String, + default: "left", + validator: (e) => ["left", "right"].includes(e), + }, + width: { type: Number, default: 300 }, + mini: Boolean, + miniToOverlay: Boolean, + miniWidth: { type: Number, default: 57 }, + noMiniAnimation: Boolean, + breakpoint: { type: Number, default: 1023 }, + showIfAbove: Boolean, + behavior: { + type: String, + validator: (e) => ["default", "desktop", "mobile"].includes(e), + default: "default", + }, + bordered: Boolean, + elevated: Boolean, + overlay: Boolean, + persistent: Boolean, + noSwipeOpen: Boolean, + noSwipeClose: Boolean, + noSwipeBackdrop: Boolean, + }, + emits: [...Me, "onLayout", "miniState"], + setup(e, { slots: $, emit: v, attrs: r }) { + const f = le(), + { + proxy: { $q: u }, + } = f, + T = We(e, u), + { preventBodyScroll: M } = Fe(), + { registerTimeout: z, removeTimeout: x } = Oe(), + a = he(ae, D); + if (a === D) + return console.error("QDrawer needs to be child of QLayout"), D; + let R, + S = null, + B; + const c = b( + e.behavior === "mobile" || + (e.behavior !== "desktop" && a.totalWidth.value <= e.breakpoint) + ), + L = o(() => e.mini === !0 && c.value !== !0), + h = o(() => (L.value === !0 ? e.miniWidth : e.width)), + i = b( + e.showIfAbove === !0 && c.value === !1 ? !0 : e.modelValue === !0 + ), + p = o(() => e.persistent !== !0 && (c.value === !0 || ge.value === !0)); + function H(t, l) { + if ((_(), t !== !1 && a.animate(), g(0), c.value === !0)) { + const m = a.instances[F.value]; + m !== void 0 && m.belowBreakpoint === !0 && m.hide(!1), + k(1), + a.isContainer.value !== !0 && M(!0); + } else k(0), t !== !1 && J(!1); + z(() => { + t !== !1 && J(!0), l !== !0 && v("show", t); + }, ve); + } + function n(t, l) { + Q(), + t !== !1 && a.animate(), + k(0), + g(W.value * h.value), + X(), + l !== !0 + ? z(() => { + v("hide", t); + }, ve) + : x(); + } + const { show: s, hide: y } = De({ + showing: i, + hideOnRouteChange: p, + handleShow: H, + handleHide: n, + }), + { addToHistory: _, removeFromHistory: Q } = Re(i, y, p), + P = { belowBreakpoint: c, hide: y }, + C = o(() => e.side === "right"), + W = o(() => (u.lang.rtl === !0 ? -1 : 1) * (C.value === !0 ? 1 : -1)), + ne = b(0), + O = b(!1), + j = b(!1), + oe = b(h.value * W.value), + F = o(() => (C.value === !0 ? "left" : "right")), + U = o(() => + i.value === !0 && c.value === !1 && e.overlay === !1 + ? e.miniToOverlay === !0 + ? e.miniWidth + : h.value + : 0 + ), + K = o( + () => + e.overlay === !0 || + e.miniToOverlay === !0 || + a.view.value.indexOf(C.value ? "R" : "L") > -1 || + (u.platform.is.ios === !0 && a.isContainer.value === !0) + ), + A = o(() => e.overlay === !1 && i.value === !0 && c.value === !1), + ge = o(() => e.overlay === !0 && i.value === !0 && c.value === !1), + we = o( + () => + "fullscreen q-drawer__backdrop" + + (i.value === !1 && O.value === !1 ? " hidden" : "") + ), + be = o(() => ({ backgroundColor: `rgba(0,0,0,${ne.value * 0.4})` })), + ie = o(() => + C.value === !0 + ? a.rows.value.top[2] === "r" + : a.rows.value.top[0] === "l" + ), + xe = o(() => + C.value === !0 + ? a.rows.value.bottom[2] === "r" + : a.rows.value.bottom[0] === "l" + ), + Se = o(() => { + const t = {}; + return ( + a.header.space === !0 && + ie.value === !1 && + (K.value === !0 + ? (t.top = `${a.header.offset}px`) + : a.header.space === !0 && (t.top = `${a.header.size}px`)), + a.footer.space === !0 && + xe.value === !1 && + (K.value === !0 + ? (t.bottom = `${a.footer.offset}px`) + : a.footer.space === !0 && (t.bottom = `${a.footer.size}px`)), + t + ); + }), + Ce = o(() => { + const t = { + width: `${h.value}px`, + transform: `translateX(${oe.value}px)`, + }; + return c.value === !0 ? t : Object.assign(t, Se.value); + }), + $e = o( + () => + "q-drawer__content fit " + + (a.isContainer.value !== !0 ? "scroll" : "overflow-auto") + ), + ke = o( + () => + `q-drawer q-drawer--${e.side}` + + (j.value === !0 ? " q-drawer--mini-animate" : "") + + (e.bordered === !0 ? " q-drawer--bordered" : "") + + (T.value === !0 ? " q-drawer--dark q-dark" : "") + + (O.value === !0 + ? " no-transition" + : i.value === !0 + ? "" + : " q-layout--prevent-focus") + + (c.value === !0 + ? " fixed q-drawer--on-top q-drawer--mobile q-drawer--top-padding" + : ` q-drawer--${L.value === !0 ? "mini" : "standard"}` + + (K.value === !0 || A.value !== !0 ? " fixed" : "") + + (e.overlay === !0 || e.miniToOverlay === !0 + ? " q-drawer--on-top" + : "") + + (ie.value === !0 ? " q-drawer--top-padding" : "")) + ), + qe = o(() => { + const t = u.lang.rtl === !0 ? e.side : F.value; + return [[ee, Le, void 0, { [t]: !0, mouse: !0 }]]; + }), + Te = o(() => { + const t = u.lang.rtl === !0 ? F.value : e.side; + return [[ee, re, void 0, { [t]: !0, mouse: !0 }]]; + }), + ze = o(() => { + const t = u.lang.rtl === !0 ? F.value : e.side; + return [[ee, re, void 0, { [t]: !0, mouse: !0, mouseAllDir: !0 }]]; + }); + function G() { + pe( + c, + e.behavior === "mobile" || + (e.behavior !== "desktop" && a.totalWidth.value <= e.breakpoint) + ); + } + d(c, (t) => { + t === !0 + ? ((R = i.value), i.value === !0 && y(!1)) + : e.overlay === !1 && + e.behavior !== "mobile" && + R !== !1 && + (i.value === !0 ? (g(0), k(0), X()) : s(!1)); + }), + d( + () => e.side, + (t, l) => { + a.instances[l] === P && + ((a.instances[l] = void 0), (a[l].space = !1), (a[l].offset = 0)), + (a.instances[t] = P), + (a[t].size = h.value), + (a[t].space = A.value), + (a[t].offset = U.value); + } + ), + d(a.totalWidth, () => { + (a.isContainer.value === !0 || document.qScrollPrevented !== !0) && + G(); + }), + d(() => e.behavior + e.breakpoint, G), + d(a.isContainer, (t) => { + i.value === !0 && M(t !== !0), t === !0 && G(); + }), + d(a.scrollbarWidth, () => { + g(i.value === !0 ? 0 : void 0); + }), + d(U, (t) => { + q("offset", t); + }), + d(A, (t) => { + v("onLayout", t), q("space", t); + }), + d(C, () => { + g(); + }), + d(h, (t) => { + g(), Y(e.miniToOverlay, t); + }), + d( + () => e.miniToOverlay, + (t) => { + Y(t, h.value); + } + ), + d( + () => u.lang.rtl, + () => { + g(); + } + ), + d( + () => e.mini, + () => { + e.noMiniAnimation || (e.modelValue === !0 && (Be(), a.animate())); + } + ), + d(L, (t) => { + v("miniState", t); + }); + function g(t) { + t === void 0 + ? ue(() => { + (t = i.value === !0 ? 0 : h.value), g(W.value * t); + }) + : (a.isContainer.value === !0 && + C.value === !0 && + (c.value === !0 || Math.abs(t) === h.value) && + (t += W.value * a.scrollbarWidth.value), + (oe.value = t)); + } + function k(t) { + ne.value = t; + } + function J(t) { + const l = t === !0 ? "remove" : a.isContainer.value !== !0 ? "add" : ""; + l !== "" && document.body.classList[l]("q-body--drawer-toggle"); + } + function Be() { + S !== null && clearTimeout(S), + f.proxy && + f.proxy.$el && + f.proxy.$el.classList.add("q-drawer--mini-animate"), + (j.value = !0), + (S = setTimeout(() => { + (S = null), + (j.value = !1), + f && + f.proxy && + f.proxy.$el && + f.proxy.$el.classList.remove("q-drawer--mini-animate"); + }, 150)); + } + function Le(t) { + if (i.value !== !1) return; + const l = h.value, + m = N(t.distance.x, 0, l); + if (t.isFinal === !0) { + m >= Math.min(75, l) === !0 + ? s() + : (a.animate(), k(0), g(W.value * l)), + (O.value = !1); + return; + } + g( + (u.lang.rtl === !0 ? C.value !== !0 : C.value) + ? Math.max(l - m, 0) + : Math.min(0, m - l) + ), + k(N(m / l, 0, 1)), + t.isFirst === !0 && (O.value = !0); + } + function re(t) { + if (i.value !== !0) return; + const l = h.value, + m = t.direction === e.side, + I = (u.lang.rtl === !0 ? m !== !0 : m) ? N(t.distance.x, 0, l) : 0; + if (t.isFinal === !0) { + Math.abs(I) < Math.min(75, l) === !0 + ? (a.animate(), k(1), g(0)) + : y(), + (O.value = !1); + return; + } + g(W.value * I), + k(N(1 - I / l, 0, 1)), + t.isFirst === !0 && (O.value = !0); + } + function X() { + M(!1), J(!0); + } + function q(t, l) { + a.update(e.side, t, l); + } + function pe(t, l) { + t.value !== l && (t.value = l); + } + function Y(t, l) { + q("size", t === !0 ? e.miniWidth : l); + } + return ( + (a.instances[e.side] = P), + Y(e.miniToOverlay, h.value), + q("space", A.value), + q("offset", U.value), + e.showIfAbove === !0 && + e.modelValue !== !0 && + i.value === !0 && + e["onUpdate:modelValue"] !== void 0 && + v("update:modelValue", !0), + He(() => { + v("onLayout", A.value), + v("miniState", L.value), + (R = e.showIfAbove === !0); + const t = () => { + (i.value === !0 ? H : n)(!1, !0); + }; + if (a.totalWidth.value !== 0) { + ue(t); + return; + } + B = d(a.totalWidth, () => { + B(), + (B = void 0), + i.value === !1 && e.showIfAbove === !0 && c.value === !1 + ? s(!1) + : t(); + }); + }), + Qe(() => { + B !== void 0 && B(), + S !== null && (clearTimeout(S), (S = null)), + i.value === !0 && X(), + a.instances[e.side] === P && + ((a.instances[e.side] = void 0), + q("size", 0), + q("offset", 0), + q("space", !1)); + }), + () => { + const t = []; + c.value === !0 && + (e.noSwipeOpen === !1 && + t.push( + Ae( + w("div", { + key: "open", + class: `q-drawer__opener fixed-${e.side}`, + "aria-hidden": "true", + }), + qe.value + ) + ), + t.push( + se( + "div", + { + ref: "backdrop", + class: we.value, + style: be.value, + "aria-hidden": "true", + onClick: y, + }, + void 0, + "backdrop", + e.noSwipeBackdrop !== !0 && i.value === !0, + () => ze.value + ) + )); + const l = L.value === !0 && $.mini !== void 0, + m = [ + w( + "div", + { ...r, key: "" + l, class: [$e.value, r.class] }, + l === !0 ? $.mini() : me($.default) + ), + ]; + return ( + e.elevated === !0 && + i.value === !0 && + m.push( + w("div", { + class: + "q-layout__shadow absolute-full overflow-hidden no-pointer-events", + }) + ), + t.push( + se( + "aside", + { ref: "content", class: ke.value, style: Ce.value }, + m, + "contentclose", + e.noSwipeClose !== !0 && c.value === !0, + () => Te.value + ) + ), + w("div", { class: "q-drawer-container" }, t) + ); + } + ); + }, + }), + Ye = te({ + name: "QPageContainer", + setup(e, { slots: $ }) { + const { + proxy: { $q: v }, + } = le(), + r = he(ae, D); + if (r === D) + return console.error("QPageContainer needs to be child of QLayout"), D; + ye(Ie, !0); + const f = o(() => { + const u = {}; + return ( + r.header.space === !0 && (u.paddingTop = `${r.header.size}px`), + r.right.space === !0 && + (u[ + `padding${v.lang.rtl === !0 ? "Left" : "Right"}` + ] = `${r.right.size}px`), + r.footer.space === !0 && (u.paddingBottom = `${r.footer.size}px`), + r.left.space === !0 && + (u[ + `padding${v.lang.rtl === !0 ? "Right" : "Left"}` + ] = `${r.left.size}px`), + u + ); + }); + return () => + w("div", { class: "q-page-container", style: f.value }, me($.default)); + }, + }), + Ze = te({ + name: "QLayout", + props: { + container: Boolean, + view: { + type: String, + default: "hhh lpr fff", + validator: (e) => /^(h|l)h(h|r) lpr (f|l)f(f|r)$/.test(e.toLowerCase()), + }, + onScroll: Function, + onScrollHeight: Function, + onResize: Function, + }, + setup(e, { slots: $, emit: v }) { + const { + proxy: { $q: r }, + } = le(), + f = b(null), + u = b(r.screen.height), + T = b(e.container === !0 ? 0 : r.screen.width), + M = b({ position: 0, direction: "down", inflectionPoint: 0 }), + z = b(0), + x = b(Ve.value === !0 ? 0 : Z()), + a = o( + () => + "q-layout q-layout--" + + (e.container === !0 ? "containerized" : "standard") + ), + R = o(() => + e.container === !1 ? { minHeight: r.screen.height + "px" } : null + ), + S = o(() => + x.value !== 0 + ? { [r.lang.rtl === !0 ? "left" : "right"]: `${x.value}px` } + : null + ), + B = o(() => + x.value !== 0 + ? { + [r.lang.rtl === !0 ? "right" : "left"]: 0, + [r.lang.rtl === !0 ? "left" : "right"]: `-${x.value}px`, + width: `calc(100% + ${x.value}px)`, + } + : null + ); + function c(n) { + if (e.container === !0 || document.qScrollPrevented !== !0) { + const s = { + position: n.position.top, + direction: n.direction, + directionChanged: n.directionChanged, + inflectionPoint: n.inflectionPoint.top, + delta: n.delta.top, + }; + (M.value = s), e.onScroll !== void 0 && v("scroll", s); + } + } + function L(n) { + const { height: s, width: y } = n; + let _ = !1; + u.value !== s && + ((_ = !0), + (u.value = s), + e.onScrollHeight !== void 0 && v("scrollHeight", s), + i()), + T.value !== y && ((_ = !0), (T.value = y)), + _ === !0 && e.onResize !== void 0 && v("resize", n); + } + function h({ height: n }) { + z.value !== n && ((z.value = n), i()); + } + function i() { + if (e.container === !0) { + const n = u.value > z.value ? Z() : 0; + x.value !== n && (x.value = n); + } + } + let p = null; + const H = { + instances: {}, + view: o(() => e.view), + isContainer: o(() => e.container), + rootRef: f, + height: u, + containerHeight: z, + scrollbarWidth: x, + totalWidth: o(() => T.value + x.value), + rows: o(() => { + const n = e.view.toLowerCase().split(" "); + return { + top: n[0].split(""), + middle: n[1].split(""), + bottom: n[2].split(""), + }; + }), + header: V({ size: 0, offset: 0, space: !1 }), + right: V({ size: 300, offset: 0, space: !1 }), + footer: V({ size: 0, offset: 0, space: !1 }), + left: V({ size: 300, offset: 0, space: !1 }), + scroll: M, + animate() { + p !== null + ? clearTimeout(p) + : document.body.classList.add("q-body--layout-animate"), + (p = setTimeout(() => { + (p = null), + document.body.classList.remove("q-body--layout-animate"); + }, 155)); + }, + update(n, s, y) { + H[n][s] = y; + }, + }; + if ((ye(ae, H), Z() > 0)) { + let y = function () { + (n = null), s.classList.remove("hide-scrollbar"); + }, + _ = function () { + if (n === null) { + if (s.scrollHeight > r.screen.height) return; + s.classList.add("hide-scrollbar"); + } else clearTimeout(n); + n = setTimeout(y, 300); + }, + Q = function (P) { + n !== null && P === "remove" && (clearTimeout(n), y()), + window[`${P}EventListener`]("resize", _); + }, + n = null; + const s = document.body; + d(() => (e.container !== !0 ? "add" : "remove"), Q), + e.container !== !0 && Q("add"), + Ee(() => { + Q("remove"); + }); + } + return () => { + const n = Ne($.default, [ + w(Xe, { onScroll: c }), + w(de, { onResize: L }), + ]), + s = w( + "div", + { + class: a.value, + style: R.value, + ref: e.container === !0 ? void 0 : f, + tabindex: -1, + }, + n + ); + return e.container === !0 + ? w("div", { class: "q-layout-container overflow-hidden", ref: f }, [ + w(de, { onResize: h }), + w("div", { class: "absolute-full", style: S.value }, [ + w("div", { class: "scroll", style: B.value }, [s]), + ]), + ]) + : s; + }; + }, + }); +const et = Ue({ + name: "MainLayout", + setup() { + return {}; + }, +}); +function tt(e, $, v, r, f, u) { + const T = Ke("router-view"); + return ( + Ge(), + Je( + Ze, + { view: "hHh lpR fFf" }, + { + default: ce(() => [ + E(fe, { "show-if-above": "", side: "left" }), + E(fe, { "show-if-above": "", side: "right" }), + E(Ye, null, { default: ce(() => [E(T)]), _: 1 }), + ]), + _: 1, + } + ) + ); +} +var ot = je(et, [["render", tt]]); +export { ot as default }; diff --git a/market/assets/MarketPage.b7a84b02.js b/market/assets/MarketPage.b7a84b02.js index 10dbf19..ec3cee8 100644 --- a/market/assets/MarketPage.b7a84b02.js +++ b/market/assets/MarketPage.b7a84b02.js @@ -1,45 +1,26447 @@ -import{c as Je,g as I,p as E,D as _i,r as se,$ as Wa,R as Ia,n as Sn,O as Hr,w as ze,o as Xr,k as Ht,t as Dt,U as Ki,X as Xi,a0 as Jf,L as zi,A as Db,u as Wu,a1 as Yu,b as Hu,a2 as $a,e as oo,a3 as Ph,h as Gu,a4 as Ah,W as Mo,a5 as Ya,s as Mt,V as Ft,a as ir,a6 as qb,d as ar,a7 as xb,q as Ku,a8 as Wt,a9 as Pb,aa as Qu,M as Eh,ab as ju,ac as Zu,ad as ia,ae as aa,af as Ab,ag as Eb,ah as Ih,ai as Do,aj as $h,ak as Rh,al as Oh,T as Du,am as Lh,an as Xf,ao as Ib,ap as $b,aq as Nh,ar as Rb,as as Bh,at as so,au as Ob,av as ye,S as gi,aw as Lb,ax as Nb,ay as Ju,i as uo,f as Sr,l as Bb,y as Fb,K as Fh,az as Ub,aA as Vb,aB as zb,E as sn,aC as Uh,m as Hn,aD as Vh,aE as Wi,x as zh,aF as Xu,aG as Wh,aH as Yh,aI as Hh,aJ as Wb,aK as Yb,aL as eh,aM as Hb,aN as Gb,aO as Kb,aP as co,N as Qb,Q as uu,aQ as jb,_ as Tn,G as R,aR as re,J as y,I as b,aS as jr,aT as S,aU as ge,aV as Te,aW as Lt,F as Jr,H as oe,aX as Ne,aY as ut,aZ as $e,a_ as It,a$ as ro,b0 as qu,b1 as Yt,b2 as Jt,b3 as cu,b4 as Ra,b5 as Zb,b6 as Jb,b7 as yi,b8 as Xb,b9 as jl,Y as du,ba as th,bb as Gh,bc as ew,bd as tw,be as nw,bf as nh,bg as rw,bh as iw,bi as aw,bj as lw}from"./index.d0f96b53.js";import{c as fo,a as xu,n as rh,g as ih,s as ah,b as Zl,Q as ow,T as lh}from"./QResizeObserver.b8a0e5fe.js";const sw=["top","middle","bottom"];var Cn=Je({name:"QBadge",props:{color:String,textColor:String,floating:Boolean,transparent:Boolean,multiLine:Boolean,outline:Boolean,rounded:Boolean,label:[Number,String],align:{type:String,validator:e=>sw.includes(e)}},setup(e,{slots:t}){const r=I(()=>e.align!==void 0?{verticalAlign:e.align}:null),a=I(()=>{const l=e.outline===!0&&e.color||e.textColor;return`q-badge flex inline items-center no-wrap q-badge--${e.multiLine===!0?"multi":"single"}-line`+(e.outline===!0?" q-badge--outline":e.color!==void 0?` bg-${e.color}`:"")+(l!==void 0?` text-${l}`:"")+(e.floating===!0?" q-badge--floating":"")+(e.rounded===!0?" q-badge--rounded":"")+(e.transparent===!0?" q-badge--transparent":"")});return()=>E("div",{class:a.value,style:r.value,role:"status","aria-label":e.label},_i(t.default,e.label!==void 0?[e.label]:[]))}});const Kh={target:{default:!0},noParentEvent:Boolean,contextMenu:Boolean};function Qh({showing:e,avoidEmit:t,configureAnchorEl:r}){const{props:a,proxy:l,emit:s}=Dt(),u=se(null);let d=null;function f(_){return u.value===null?!1:_===void 0||_.touches===void 0||_.touches.length<=1}const g={};r===void 0&&(Object.assign(g,{hide(_){l.hide(_)},toggle(_){l.toggle(_),_.qAnchorHandled=!0},toggleKey(_){Wa(_,13)===!0&&g.toggle(_)},contextClick(_){l.hide(_),Ia(_),Sn(()=>{l.show(_),_.qAnchorHandled=!0})},prevent:Ia,mobileTouch(_){if(g.mobileCleanup(_),f(_)!==!0)return;l.hide(_),u.value.classList.add("non-selectable");const P=_.target;Hr(g,"anchor",[[P,"touchmove","mobileCleanup","passive"],[P,"touchend","mobileCleanup","passive"],[P,"touchcancel","mobileCleanup","passive"],[u.value,"contextmenu","prevent","notPassive"]]),d=setTimeout(()=>{d=null,l.show(_),_.qAnchorHandled=!0},300)},mobileCleanup(_){u.value.classList.remove("non-selectable"),d!==null&&(clearTimeout(d),d=null),e.value===!0&&_!==void 0&&fo()}}),r=function(_=a.contextMenu){if(a.noParentEvent===!0||u.value===null)return;let P;_===!0?l.$q.platform.is.mobile===!0?P=[[u.value,"touchstart","mobileTouch","passive"]]:P=[[u.value,"mousedown","hide","passive"],[u.value,"contextmenu","contextClick","notPassive"]]:P=[[u.value,"click","toggle","passive"],[u.value,"keyup","toggleKey","passive"]],Hr(g,"anchor",P)});function v(){Ki(g,"anchor")}function T(_){for(u.value=_;u.value.classList.contains("q-anchor--skip");)u.value=u.value.parentNode;r()}function M(){if(a.target===!1||a.target===""||l.$el.parentNode===null)u.value=null;else if(a.target===!0)T(l.$el.parentNode);else{let _=a.target;if(typeof a.target=="string")try{_=document.querySelector(a.target)}catch{_=void 0}_!=null?(u.value=_.$el||_,r()):(u.value=null,console.error(`Anchor: target "${a.target}" not found`))}}return ze(()=>a.contextMenu,_=>{u.value!==null&&(v(),r(_))}),ze(()=>a.target,()=>{u.value!==null&&v(),M()}),ze(()=>a.noParentEvent,_=>{u.value!==null&&(_===!0?v():r())}),Xr(()=>{M(),t!==!0&&a.modelValue===!0&&u.value===null&&s("update:modelValue",!1)}),Ht(()=>{d!==null&&clearTimeout(d),v()}),{anchorEl:u,canShow:f,anchorEvents:g}}function jh(e,t){const r=se(null);let a;function l(d,f){const g=`${f!==void 0?"add":"remove"}EventListener`,v=f!==void 0?f:a;d!==window&&d[g]("scroll",v,Xi.passive),window[g]("scroll",v,Xi.passive),a=f}function s(){r.value!==null&&(l(r.value),r.value=null)}const u=ze(()=>e.noParentEvent,()=>{r.value!==null&&(s(),t())});return Ht(u),{localScrollTarget:r,unconfigureScrollTarget:s,changeScrollEvent:l}}const{notPassiveCapture:ho}=Xi,vi=[];function go(e){const t=e.target;if(t===void 0||t.nodeType===8||t.classList.contains("no-pointer-events")===!0)return;let r=Jf.length-1;for(;r>=0;){const a=Jf[r].$;if(a.type.name==="QTooltip"){r--;continue}if(a.type.name!=="QDialog")break;if(a.props.seamless!==!0)return;r--}for(let a=vi.length-1;a>=0;a--){const l=vi[a];if((l.anchorEl.value===null||l.anchorEl.value.contains(t)===!1)&&(t===document.body||l.innerRef.value!==null&&l.innerRef.value.contains(t)===!1))e.qClickOutside=!0,l.onClickOutside(e);else return}}function Zh(e){vi.push(e),vi.length===1&&(document.addEventListener("mousedown",go,ho),document.addEventListener("touchstart",go,ho))}function mo(e){const t=vi.findIndex(r=>r===e);t>-1&&(vi.splice(t,1),vi.length===0&&(document.removeEventListener("mousedown",go,ho),document.removeEventListener("touchstart",go,ho)))}let oh,sh;function vo(e){const t=e.split(" ");return t.length!==2?!1:["top","center","bottom"].includes(t[0])!==!0?(console.error("Anchor/Self position must start with one of top/center/bottom"),!1):["left","middle","right","start","end"].includes(t[1])!==!0?(console.error("Anchor/Self position must end with one of left/middle/right/start/end"),!1):!0}function Jh(e){return e?!(e.length!==2||typeof e[0]!="number"||typeof e[1]!="number"):!0}const Pu={"start#ltr":"left","start#rtl":"right","end#ltr":"right","end#rtl":"left"};["left","middle","right"].forEach(e=>{Pu[`${e}#ltr`]=e,Pu[`${e}#rtl`]=e});function po(e,t){const r=e.split(" ");return{vertical:r[0],horizontal:Pu[`${r[1]}#${t===!0?"rtl":"ltr"}`]}}function uw(e,t){let{top:r,left:a,right:l,bottom:s,width:u,height:d}=e.getBoundingClientRect();return t!==void 0&&(r-=t[1],a-=t[0],s+=t[1],l+=t[0],u+=t[0],d+=t[1]),{top:r,bottom:s,height:d,left:a,right:l,width:u,middle:a+(l-a)/2,center:r+(s-r)/2}}function cw(e,t,r){let{top:a,left:l}=e.getBoundingClientRect();return a+=t.top,l+=t.left,r!==void 0&&(a+=r[1],l+=r[0]),{top:a,bottom:a+1,height:1,left:l,right:l+1,width:1,middle:l,center:a}}function dw(e,t){return{top:0,center:t/2,bottom:t,left:0,middle:e/2,right:e}}function uh(e,t,r,a){return{top:e[r.vertical]-t[a.vertical],left:e[r.horizontal]-t[a.horizontal]}}function ec(e,t=0){if(e.targetEl===null||e.anchorEl===null||t>5)return;if(e.targetEl.offsetHeight===0||e.targetEl.offsetWidth===0){setTimeout(()=>{ec(e,t+1)},10);return}const{targetEl:r,offset:a,anchorEl:l,anchorOrigin:s,selfOrigin:u,absoluteOffset:d,fit:f,cover:g,maxHeight:v,maxWidth:T}=e;if(zi.is.ios===!0&&window.visualViewport!==void 0){const J=document.body.style,{offsetLeft:z,offsetTop:H}=window.visualViewport;z!==oh&&(J.setProperty("--q-pe-left",z+"px"),oh=z),H!==sh&&(J.setProperty("--q-pe-top",H+"px"),sh=H)}const{scrollLeft:M,scrollTop:_}=r,P=d===void 0?uw(l,g===!0?[0,0]:a):cw(l,d,a);Object.assign(r.style,{top:0,left:0,minWidth:null,minHeight:null,maxWidth:T||"100vw",maxHeight:v||"100vh",visibility:"visible"});const{offsetWidth:$,offsetHeight:L}=r,{elWidth:F,elHeight:W}=f===!0||g===!0?{elWidth:Math.max(P.width,$),elHeight:g===!0?Math.max(P.height,L):L}:{elWidth:$,elHeight:L};let D={maxWidth:T,maxHeight:v};(f===!0||g===!0)&&(D.minWidth=P.width+"px",g===!0&&(D.minHeight=P.height+"px")),Object.assign(r.style,D);const A=dw(F,W);let N=uh(P,A,s,u);if(d===void 0||a===void 0)fu(N,P,A,s,u);else{const{top:J,left:z}=N;fu(N,P,A,s,u);let H=!1;if(N.top!==J){H=!0;const pe=2*a[1];P.center=P.top-=pe,P.bottom-=pe+2}if(N.left!==z){H=!0;const pe=2*a[0];P.middle=P.left-=pe,P.right-=pe+2}H===!0&&(N=uh(P,A,s,u),fu(N,P,A,s,u))}D={top:N.top+"px",left:N.left+"px"},N.maxHeight!==void 0&&(D.maxHeight=N.maxHeight+"px",P.height>N.maxHeight&&(D.minHeight=D.maxHeight)),N.maxWidth!==void 0&&(D.maxWidth=N.maxWidth+"px",P.width>N.maxWidth&&(D.minWidth=D.maxWidth)),Object.assign(r.style,D),r.scrollTop!==_&&(r.scrollTop=_),r.scrollLeft!==M&&(r.scrollLeft=M)}function fu(e,t,r,a,l){const s=r.bottom,u=r.right,d=Db(),f=window.innerHeight-d,g=document.body.clientWidth;if(e.top<0||e.top+s>f)if(l.vertical==="center")e.top=t[a.vertical]>f/2?Math.max(0,f-s):0,e.maxHeight=Math.min(s,f);else if(t[a.vertical]>f/2){const v=Math.min(f,a.vertical==="center"?t.center:a.vertical===l.vertical?t.bottom:t.top);e.maxHeight=Math.min(s,v),e.top=Math.max(0,v-s)}else e.top=Math.max(0,a.vertical==="center"?t.center:a.vertical===l.vertical?t.top:t.bottom),e.maxHeight=Math.min(s,f-e.top);if(e.left<0||e.left+u>g)if(e.maxWidth=Math.min(u,g),l.horizontal==="middle")e.left=t[a.horizontal]>g/2?Math.max(0,g-u):0;else if(t[a.horizontal]>g/2){const v=Math.min(g,a.horizontal==="middle"?t.middle:a.horizontal===l.horizontal?t.right:t.left);e.maxWidth=Math.min(u,v),e.left=Math.max(0,v-e.maxWidth)}else e.left=Math.max(0,a.horizontal==="middle"?t.middle:a.horizontal===l.horizontal?t.left:t.right),e.maxWidth=Math.min(u,g-e.left)}var Yr=Je({name:"QTooltip",inheritAttrs:!1,props:{...Kh,...Wu,...Yu,maxHeight:{type:String,default:null},maxWidth:{type:String,default:null},transitionShow:{default:"jump-down"},transitionHide:{default:"jump-up"},anchor:{type:String,default:"bottom middle",validator:vo},self:{type:String,default:"top middle",validator:vo},offset:{type:Array,default:()=>[14,14],validator:Jh},scrollTarget:{default:void 0},delay:{type:Number,default:0},hideDelay:{type:Number,default:0}},emits:[...Hu],setup(e,{slots:t,emit:r,attrs:a}){let l,s;const u=Dt(),{proxy:{$q:d}}=u,f=se(null),g=se(!1),v=I(()=>po(e.anchor,d.lang.rtl)),T=I(()=>po(e.self,d.lang.rtl)),M=I(()=>e.persistent!==!0),{registerTick:_,removeTick:P}=$a(),{registerTimeout:$}=oo(),{transitionProps:L,transitionStyle:F}=Ph(e),{localScrollTarget:W,changeScrollEvent:D,unconfigureScrollTarget:A}=jh(e,X),{anchorEl:N,canShow:J,anchorEvents:z}=Qh({showing:g,configureAnchorEl:rt}),{show:H,hide:pe}=Gu({showing:g,canShow:J,handleShow:te,handleHide:xe,hideOnRouteChange:M,processOnMount:!0});Object.assign(z,{delayShow:K,delayHide:me});const{showPortal:_e,hidePortal:Pe,renderPortal:lt}=Ah(u,f,he,"tooltip");if(d.platform.is.mobile===!0){const fe={anchorEl:N,innerRef:f,onClickOutside(Ve){return pe(Ve),Ve.target.classList.contains("q-dialog__backdrop")&&Ft(Ve),!0}},Ke=I(()=>e.modelValue===null&&e.persistent!==!0&&g.value===!0);ze(Ke,Ve=>{(Ve===!0?Zh:mo)(fe)}),Ht(()=>{mo(fe)})}function te(fe){_e(),_(()=>{s=new MutationObserver(()=>j()),s.observe(f.value,{attributes:!1,childList:!0,characterData:!0,subtree:!0}),j(),X()}),l===void 0&&(l=ze(()=>d.screen.width+"|"+d.screen.height+"|"+e.self+"|"+e.anchor+"|"+d.lang.rtl,j)),$(()=>{_e(!0),r("show",fe)},e.transitionDuration)}function xe(fe){P(),Pe(),Be(),$(()=>{Pe(!0),r("hide",fe)},e.transitionDuration)}function Be(){s!==void 0&&(s.disconnect(),s=void 0),l!==void 0&&(l(),l=void 0),A(),Ki(z,"tooltipTemp")}function j(){ec({targetEl:f.value,offset:e.offset,anchorEl:N.value,anchorOrigin:v.value,selfOrigin:T.value,maxHeight:e.maxHeight,maxWidth:e.maxWidth})}function K(fe){if(d.platform.is.mobile===!0){fo(),document.body.classList.add("non-selectable");const Ke=N.value,Ve=["touchmove","touchcancel","touchend","click"].map(we=>[Ke,we,"delayHide","passiveCapture"]);Hr(z,"tooltipTemp",Ve)}$(()=>{H(fe)},e.delay)}function me(fe){d.platform.is.mobile===!0&&(Ki(z,"tooltipTemp"),fo(),setTimeout(()=>{document.body.classList.remove("non-selectable")},10)),$(()=>{pe(fe)},e.hideDelay)}function rt(){if(e.noParentEvent===!0||N.value===null)return;const fe=d.platform.is.mobile===!0?[[N.value,"touchstart","delayShow","passive"]]:[[N.value,"mouseenter","delayShow","passive"],[N.value,"mouseleave","delayHide","passive"]];Hr(z,"anchor",fe)}function X(){if(N.value!==null||e.scrollTarget!==void 0){W.value=Mo(N.value,e.scrollTarget);const fe=e.noParentEvent===!0?j:pe;D(W.value,fe)}}function Z(){return g.value===!0?E("div",{...a,ref:f,class:["q-tooltip q-tooltip--style q-position-engine no-pointer-events",a.class],style:[a.style,F.value],role:"tooltip"},Mt(t.default)):null}function he(){return E(Ya,L.value,Z)}return Ht(Be),Object.assign(u.proxy,{updatePosition:j}),lt}});const fw={xs:8,sm:10,md:14,lg:20,xl:24};var Ha=Je({name:"QChip",props:{...ir,...qb,dense:Boolean,icon:String,iconRight:String,iconRemove:String,iconSelected:String,label:[String,Number],color:String,textColor:String,modelValue:{type:Boolean,default:!0},selected:{type:Boolean,default:null},square:Boolean,outline:Boolean,clickable:Boolean,removable:Boolean,removeAriaLabel:String,tabindex:[String,Number],disable:Boolean,ripple:{type:[Boolean,Object],default:!0}},emits:["update:modelValue","update:selected","remove","click"],setup(e,{slots:t,emit:r}){const{proxy:{$q:a}}=Dt(),l=ar(e,a),s=xb(e,fw),u=I(()=>e.selected===!0||e.icon!==void 0),d=I(()=>e.selected===!0?e.iconSelected||a.iconSet.chip.selected:e.icon),f=I(()=>e.iconRemove||a.iconSet.chip.remove),g=I(()=>e.disable===!1&&(e.clickable===!0||e.selected!==null)),v=I(()=>{const L=e.outline===!0&&e.color||e.textColor;return"q-chip row inline no-wrap items-center"+(e.outline===!1&&e.color!==void 0?` bg-${e.color}`:"")+(L?` text-${L} q-chip--colored`:"")+(e.disable===!0?" disabled":"")+(e.dense===!0?" q-chip--dense":"")+(e.outline===!0?" q-chip--outline":"")+(e.selected===!0?" q-chip--selected":"")+(g.value===!0?" q-chip--clickable cursor-pointer non-selectable q-hoverable":"")+(e.square===!0?" q-chip--square":"")+(l.value===!0?" q-chip--dark q-dark":"")}),T=I(()=>{const L=e.disable===!0?{tabindex:-1,"aria-disabled":"true"}:{tabindex:e.tabindex||0},F={...L,role:"button","aria-hidden":"false","aria-label":e.removeAriaLabel||a.lang.label.remove};return{chip:L,remove:F}});function M(L){L.keyCode===13&&_(L)}function _(L){e.disable||(r("update:selected",!e.selected),r("click",L))}function P(L){(L.keyCode===void 0||L.keyCode===13)&&(Ft(L),e.disable===!1&&(r("update:modelValue",!1),r("remove")))}function $(){const L=[];g.value===!0&&L.push(E("div",{class:"q-focus-helper"})),u.value===!0&&L.push(E(Wt,{class:"q-chip__icon q-chip__icon--left",name:d.value}));const F=e.label!==void 0?[E("div",{class:"ellipsis"},[e.label])]:void 0;return L.push(E("div",{class:"q-chip__content col row no-wrap items-center q-anchor--skip"},Pb(t.default,F))),e.iconRight&&L.push(E(Wt,{class:"q-chip__icon q-chip__icon--right",name:e.iconRight})),e.removable===!0&&L.push(E(Wt,{class:"q-chip__icon q-chip__icon--remove cursor-pointer",name:f.value,...T.value.remove,onClick:P,onKeyup:P})),L}return()=>{if(e.modelValue===!1)return;const L={class:v.value,style:s.value};return g.value===!0&&Object.assign(L,T.value.chip,{onClick:_,onKeyup:M}),Ku("div",L,$(),"ripple",e.ripple!==!1&&e.disable!==!0,()=>[[Qu,e.ripple]])}}}),kr=Je({name:"QList",props:{...ir,bordered:Boolean,dense:Boolean,separator:Boolean,padding:Boolean,tag:{type:String,default:"div"}},setup(e,{slots:t}){const r=Dt(),a=ar(e,r.proxy.$q),l=I(()=>"q-list"+(e.bordered===!0?" q-list--bordered":"")+(e.dense===!0?" q-list--dense":"")+(e.separator===!0?" q-list--separator":"")+(a.value===!0?" q-list--dark":"")+(e.padding===!0?" q-list--padding":""));return()=>E(e.tag,{class:l.value},Mt(t.default))}});const hw=["horizontal","vertical","cell","none"];var gw=Je({name:"QMarkupTable",props:{...ir,dense:Boolean,flat:Boolean,bordered:Boolean,square:Boolean,wrapCells:Boolean,separator:{type:String,default:"horizontal",validator:e=>hw.includes(e)}},setup(e,{slots:t}){const r=Dt(),a=ar(e,r.proxy.$q),l=I(()=>`q-markup-table q-table__container q-table__card q-table--${e.separator}-separator`+(a.value===!0?" q-table--dark q-table__card--dark q-dark":"")+(e.dense===!0?" q-table--dense":"")+(e.flat===!0?" q-table--flat":"")+(e.bordered===!0?" q-table--bordered":"")+(e.square===!0?" q-table--square":"")+(e.wrapCells===!1?" q-table--no-wrap":""));return()=>E("div",{class:l.value},[E("table",{class:"q-table"},Mt(t.default))])}});function mw(e,t){return E("div",e,[E("table",{class:"q-table"},t)])}let Ba=!1;{const e=document.createElement("div");e.setAttribute("dir","rtl"),Object.assign(e.style,{width:"1px",height:"1px",overflow:"auto"});const t=document.createElement("div");Object.assign(t.style,{width:"1000px",height:"1px"}),document.body.appendChild(e),e.appendChild(t),e.scrollLeft=-1e3,Ba=e.scrollLeft>=0,e.remove()}const Yn=1e3,vw=["start","center","end","start-force","center-force","end-force"],Xh=Array.prototype.filter,pw=window.getComputedStyle(document.body).overflowAnchor===void 0?Eh:function(e,t){e!==null&&(e._qOverflowAnimationFrame!==void 0&&cancelAnimationFrame(e._qOverflowAnimationFrame),e._qOverflowAnimationFrame=requestAnimationFrame(()=>{if(e===null)return;e._qOverflowAnimationFrame=void 0;const r=e.children||[];Xh.call(r,l=>l.dataset&&l.dataset.qVsAnchor!==void 0).forEach(l=>{delete l.dataset.qVsAnchor});const a=r[t];a&&a.dataset&&(a.dataset.qVsAnchor="")}))};function Qi(e,t){return e+t}function hu(e,t,r,a,l,s,u,d){const f=e===window?document.scrollingElement||document.documentElement:e,g=l===!0?"offsetWidth":"offsetHeight",v={scrollStart:0,scrollViewSize:-u-d,scrollMaxSize:0,offsetStart:-u,offsetEnd:-d};if(l===!0?(e===window?(v.scrollStart=window.pageXOffset||window.scrollX||document.body.scrollLeft||0,v.scrollViewSize+=document.documentElement.clientWidth):(v.scrollStart=f.scrollLeft,v.scrollViewSize+=f.clientWidth),v.scrollMaxSize=f.scrollWidth,s===!0&&(v.scrollStart=(Ba===!0?v.scrollMaxSize-v.scrollViewSize:0)-v.scrollStart)):(e===window?(v.scrollStart=window.pageYOffset||window.scrollY||document.body.scrollTop||0,v.scrollViewSize+=document.documentElement.clientHeight):(v.scrollStart=f.scrollTop,v.scrollViewSize+=f.clientHeight),v.scrollMaxSize=f.scrollHeight),r!==null)for(let T=r.previousElementSibling;T!==null;T=T.previousElementSibling)T.classList.contains("q-virtual-scroll--skip")===!1&&(v.offsetStart+=T[g]);if(a!==null)for(let T=a.nextElementSibling;T!==null;T=T.nextElementSibling)T.classList.contains("q-virtual-scroll--skip")===!1&&(v.offsetEnd+=T[g]);if(t!==e){const T=f.getBoundingClientRect(),M=t.getBoundingClientRect();l===!0?(v.offsetStart+=M.left-T.left,v.offsetEnd-=M.width):(v.offsetStart+=M.top-T.top,v.offsetEnd-=M.height),e!==window&&(v.offsetStart+=v.scrollStart),v.offsetEnd+=v.scrollMaxSize-v.offsetStart}return v}function ch(e,t,r,a){t==="end"&&(t=(e===window?document.body:e)[r===!0?"scrollWidth":"scrollHeight"]),e===window?r===!0?(a===!0&&(t=(Ba===!0?document.body.scrollWidth-document.documentElement.clientWidth:0)-t),window.scrollTo(t,window.pageYOffset||window.scrollY||document.body.scrollTop||0)):window.scrollTo(window.pageXOffset||window.scrollX||document.body.scrollLeft||0,t):r===!0?(a===!0&&(t=(Ba===!0?e.scrollWidth-e.offsetWidth:0)-t),e.scrollLeft=t):e.scrollTop=t}function Ta(e,t,r,a){if(r>=a)return 0;const l=t.length,s=Math.floor(r/Yn),u=Math.floor((a-1)/Yn)+1;let d=e.slice(s,u).reduce(Qi,0);return r%Yn!==0&&(d-=t.slice(s*Yn,r).reduce(Qi,0)),a%Yn!==0&&a!==l&&(d-=t.slice(a,u*Yn).reduce(Qi,0)),d}const yw={virtualScrollSliceSize:{type:[Number,String],default:null},virtualScrollSliceRatioBefore:{type:[Number,String],default:1},virtualScrollSliceRatioAfter:{type:[Number,String],default:1},virtualScrollItemSize:{type:[Number,String],default:24},virtualScrollStickySizeStart:{type:[Number,String],default:0},virtualScrollStickySizeEnd:{type:[Number,String],default:0},tableColspan:[Number,String]},eg={virtualScrollHorizontal:Boolean,onVirtualScroll:Function,...yw};function tg({virtualScrollLength:e,getVirtualScrollTarget:t,getVirtualScrollEl:r,virtualScrollItemSizeComputed:a}){const l=Dt(),{props:s,emit:u,proxy:d}=l,{$q:f}=d;let g,v,T,M=[],_;const P=se(0),$=se(0),L=se({}),F=se(null),W=se(null),D=se(null),A=se({from:0,to:0}),N=I(()=>s.tableColspan!==void 0?s.tableColspan:100);a===void 0&&(a=I(()=>s.virtualScrollItemSize));const J=I(()=>a.value+";"+s.virtualScrollHorizontal),z=I(()=>J.value+";"+s.virtualScrollSliceRatioBefore+";"+s.virtualScrollSliceRatioAfter);ze(z,()=>{j()}),ze(J,H);function H(){Be(v,!0)}function pe(Z){Be(Z===void 0?v:Z)}function _e(Z,he){const fe=t();if(fe==null||fe.nodeType===8)return;const Ke=hu(fe,r(),F.value,W.value,s.virtualScrollHorizontal,f.lang.rtl,s.virtualScrollStickySizeStart,s.virtualScrollStickySizeEnd);T!==Ke.scrollViewSize&&j(Ke.scrollViewSize),lt(fe,Ke,Math.min(e.value-1,Math.max(0,parseInt(Z,10)||0)),0,vw.indexOf(he)>-1?he:v>-1&&Z>v?"end":"start")}function Pe(){const Z=t();if(Z==null||Z.nodeType===8)return;const he=hu(Z,r(),F.value,W.value,s.virtualScrollHorizontal,f.lang.rtl,s.virtualScrollStickySizeStart,s.virtualScrollStickySizeEnd),fe=e.value-1,Ke=he.scrollMaxSize-he.offsetStart-he.offsetEnd-$.value;if(g===he.scrollStart)return;if(he.scrollMaxSize<=0){lt(Z,he,0,0);return}T!==he.scrollViewSize&&j(he.scrollViewSize),te(A.value.from);const Ve=Math.floor(he.scrollMaxSize-Math.max(he.scrollViewSize,he.offsetEnd)-Math.min(_[fe],he.scrollViewSize/2));if(Ve>0&&Math.ceil(he.scrollStart)>=Ve){lt(Z,he,fe,he.scrollMaxSize-he.offsetEnd-M.reduce(Qi,0));return}let we=0,Me=he.scrollStart-he.offsetStart,ft=Me;if(Me<=Ke&&Me+he.scrollViewSize>=P.value)Me-=P.value,we=A.value.from,ft=Me;else for(let ee=0;Me>=M[ee]&&we0&&we-he.scrollViewSize?(we++,ft=Me):ft=_[we]+Me;lt(Z,he,we,ft)}function lt(Z,he,fe,Ke,Ve){const we=typeof Ve=="string"&&Ve.indexOf("-force")>-1,Me=we===!0?Ve.replace("-force",""):Ve,ft=Me!==void 0?Me:"start";let ee=Math.max(0,fe-L.value[ft]),wt=ee+L.value.total;wt>e.value&&(wt=e.value,ee=Math.max(0,wt-L.value.total)),g=he.scrollStart;const nn=ee!==A.value.from||wt!==A.value.to;if(nn===!1&&Me===void 0){me(fe);return}const{activeElement:un}=document,rn=D.value;nn===!0&&rn!==null&&rn!==un&&rn.contains(un)===!0&&(rn.addEventListener("focusout",xe),setTimeout(()=>{rn!==null&&rn.removeEventListener("focusout",xe)})),pw(rn,fe-ee);const qt=Me!==void 0?_.slice(ee,fe).reduce(Qi,0):0;if(nn===!0){const Gt=wt>=A.value.from&&ee<=A.value.to?A.value.to:wt;A.value={from:ee,to:Gt},P.value=Ta(M,_,0,ee),$.value=Ta(M,_,wt,e.value),requestAnimationFrame(()=>{A.value.to!==wt&&g===he.scrollStart&&(A.value={from:A.value.from,to:wt},$.value=Ta(M,_,wt,e.value))})}requestAnimationFrame(()=>{if(g!==he.scrollStart)return;nn===!0&&te(ee);const Gt=_.slice(ee,fe).reduce(Qi,0),Zn=Gt+he.offsetStart+P.value,Kt=Zn+_[fe];let Bn=Zn+Ke;if(Me!==void 0){const Pr=Gt-qt,St=he.scrollStart+Pr;Bn=we!==!0&&Stee.classList&&ee.classList.contains("q-virtual-scroll--skip")===!1),Ke=fe.length,Ve=s.virtualScrollHorizontal===!0?ee=>ee.getBoundingClientRect().width:ee=>ee.offsetHeight;let we=Z,Me,ft;for(let ee=0;ee=Ke;we--)_[we]=fe;const Ve=Math.floor((e.value-1)/Yn);M=[];for(let we=0;we<=Ve;we++){let Me=0;const ft=Math.min((we+1)*Yn,e.value);for(let ee=we*Yn;ee=0?(te(A.value.from),Sn(()=>{_e(Z)})):rt()}function j(Z){if(Z===void 0&&typeof window!="undefined"){const Me=t();Me!=null&&Me.nodeType!==8&&(Z=hu(Me,r(),F.value,W.value,s.virtualScrollHorizontal,f.lang.rtl,s.virtualScrollStickySizeStart,s.virtualScrollStickySizeEnd).scrollViewSize)}T=Z;const he=parseFloat(s.virtualScrollSliceRatioBefore)||0,fe=parseFloat(s.virtualScrollSliceRatioAfter)||0,Ke=1+he+fe,Ve=Z===void 0||Z<=0?1:Math.ceil(Z/a.value),we=Math.max(1,Ve,Math.ceil((s.virtualScrollSliceSize>0?s.virtualScrollSliceSize:10)/Ke));L.value={total:Math.ceil(we*Ke),start:Math.ceil(we*he),center:Math.ceil(we*(.5+he)),end:Math.ceil(we*(1+he)),view:Ve}}function K(Z,he){const fe=s.virtualScrollHorizontal===!0?"width":"height",Ke={["--q-virtual-scroll-item-"+fe]:a.value+"px"};return[Z==="tbody"?E(Z,{class:"q-virtual-scroll__padding",key:"before",ref:F},[E("tr",[E("td",{style:{[fe]:`${P.value}px`,...Ke},colspan:N.value})])]):E(Z,{class:"q-virtual-scroll__padding",key:"before",ref:F,style:{[fe]:`${P.value}px`,...Ke}}),E(Z,{class:"q-virtual-scroll__content",key:"content",ref:D,tabindex:-1},he.flat()),Z==="tbody"?E(Z,{class:"q-virtual-scroll__padding",key:"after",ref:W},[E("tr",[E("td",{style:{[fe]:`${$.value}px`,...Ke},colspan:N.value})])]):E(Z,{class:"q-virtual-scroll__padding",key:"after",ref:W,style:{[fe]:`${$.value}px`,...Ke}})]}function me(Z){v!==Z&&(s.onVirtualScroll!==void 0&&u("virtualScroll",{index:Z,from:A.value.from,to:A.value.to-1,direction:Z{j()});let X=!1;return ia(()=>{X=!0}),aa(()=>{if(X!==!0)return;const Z=t();g!==void 0&&Z!==void 0&&Z!==null&&Z.nodeType!==8?ch(Z,g,s.virtualScrollHorizontal,f.lang.rtl):_e(v)}),Ht(()=>{rt.cancel()}),Object.assign(d,{scrollTo:_e,reset:H,refresh:pe}),{virtualScrollSliceRange:A,virtualScrollSliceSizeComputed:L,setVirtualScrollSize:j,onVirtualScrollEvt:rt,localResetVirtualScroll:Be,padVirtualScroll:K,scrollTo:_e,reset:H,refresh:pe}}const _w={list:kr,table:gw},bw=["list","table","__qtable"];var tc=Je({name:"QVirtualScroll",props:{...eg,type:{type:String,default:"list",validator:e=>bw.includes(e)},items:{type:Array,default:()=>[]},itemsFn:Function,itemsSize:Number,scrollTarget:{default:void 0}},setup(e,{slots:t,attrs:r}){let a;const l=se(null),s=I(()=>e.itemsSize>=0&&e.itemsFn!==void 0?parseInt(e.itemsSize,10):Array.isArray(e.items)?e.items.length:0),{virtualScrollSliceRange:u,localResetVirtualScroll:d,padVirtualScroll:f,onVirtualScrollEvt:g}=tg({virtualScrollLength:s,getVirtualScrollTarget:P,getVirtualScrollEl:_}),v=I(()=>{if(s.value===0)return[];const W=(D,A)=>({index:u.value.from+A,item:D});return e.itemsFn===void 0?e.items.slice(u.value.from,u.value.to).map(W):e.itemsFn(u.value.from,u.value.to-u.value.from).map(W)}),T=I(()=>"q-virtual-scroll q-virtual-scroll"+(e.virtualScrollHorizontal===!0?"--horizontal":"--vertical")+(e.scrollTarget!==void 0?"":" scroll")),M=I(()=>e.scrollTarget!==void 0?{}:{tabindex:0});ze(s,()=>{d()}),ze(()=>e.scrollTarget,()=>{L(),$()});function _(){return l.value.$el||l.value}function P(){return a}function $(){a=Mo(_(),e.scrollTarget),a.addEventListener("scroll",g,Xi.passive)}function L(){a!==void 0&&(a.removeEventListener("scroll",g,Xi.passive),a=void 0)}function F(){let W=f(e.type==="list"?"div":"tbody",v.value.map(t.default));return t.before!==void 0&&(W=t.before().concat(W)),_i(t.after,W)}return Zu(()=>{d()}),Xr(()=>{$()}),aa(()=>{$()}),ia(()=>{L()}),Ht(()=>{L()}),()=>{if(t.default===void 0){console.error("QVirtualScroll: default scoped slot is required for rendering");return}return e.type==="__qtable"?mw({ref:l,class:"q-table__middle "+T.value},F()):E(_w[e.type],{...r,ref:l,class:[r.class,T.value],...M.value},F)}}});const ww=[E("circle",{cx:"15",cy:"15",r:"15"},[E("animate",{attributeName:"r",from:"15",to:"15",begin:"0s",dur:"0.8s",values:"15;9;15",calcMode:"linear",repeatCount:"indefinite"}),E("animate",{attributeName:"fill-opacity",from:"1",to:"1",begin:"0s",dur:"0.8s",values:"1;.5;1",calcMode:"linear",repeatCount:"indefinite"})]),E("circle",{cx:"60",cy:"15",r:"9","fill-opacity":".3"},[E("animate",{attributeName:"r",from:"9",to:"9",begin:"0s",dur:"0.8s",values:"9;15;9",calcMode:"linear",repeatCount:"indefinite"}),E("animate",{attributeName:"fill-opacity",from:".5",to:".5",begin:"0s",dur:"0.8s",values:".5;1;.5",calcMode:"linear",repeatCount:"indefinite"})]),E("circle",{cx:"105",cy:"15",r:"15"},[E("animate",{attributeName:"r",from:"15",to:"15",begin:"0s",dur:"0.8s",values:"15;9;15",calcMode:"linear",repeatCount:"indefinite"}),E("animate",{attributeName:"fill-opacity",from:"1",to:"1",begin:"0s",dur:"0.8s",values:"1;.5;1",calcMode:"linear",repeatCount:"indefinite"})])];var Au=Je({name:"QSpinnerDots",props:Ab,setup(e){const{cSize:t,classes:r}=Eb(e);return()=>E("svg",{class:r.value,fill:"currentColor",width:t.value,height:t.value,viewBox:"0 0 120 30",xmlns:"http://www.w3.org/2000/svg"},ww)}});const Sw={ratio:[String,Number]};function kw(e,t){return I(()=>{const r=Number(e.ratio||(t!==void 0?t.value:void 0));return isNaN(r)!==!0&&r>0?{paddingBottom:`${100/r}%`}:null})}const Cw=16/9;var nc=Je({name:"QImg",props:{...Sw,src:String,srcset:String,sizes:String,alt:String,crossorigin:String,decoding:String,referrerpolicy:String,draggable:Boolean,loading:{type:String,default:"lazy"},fetchpriority:{type:String,default:"auto"},width:String,height:String,initialRatio:{type:[Number,String],default:Cw},placeholderSrc:String,fit:{type:String,default:"cover"},position:{type:String,default:"50% 50%"},imgClass:String,imgStyle:Object,noSpinner:Boolean,noNativeMenu:Boolean,noTransition:Boolean,spinnerColor:String,spinnerSize:String},emits:["load","error"],setup(e,{slots:t,emit:r}){const a=se(e.initialRatio),l=kw(e,a);let s=null,u=!1;const d=[se(null),se(L())],f=se(0),g=se(!1),v=se(!1),T=I(()=>`q-img q-img--${e.noNativeMenu===!0?"no-":""}menu`),M=I(()=>({width:e.width,height:e.height})),_=I(()=>`q-img__image ${e.imgClass!==void 0?e.imgClass+" ":""}q-img__image--with${e.noTransition===!0?"out":""}-transition`),P=I(()=>({...e.imgStyle,objectFit:e.fit,objectPosition:e.position}));ze(()=>$(),F);function $(){return e.src||e.srcset||e.sizes?{src:e.src,srcset:e.srcset,sizes:e.sizes}:null}function L(){return e.placeholderSrc!==void 0?{src:e.placeholderSrc}:null}function F(H){s!==null&&(clearTimeout(s),s=null),v.value=!1,H===null?(g.value=!1,d[f.value^1].value=L()):g.value=!0,d[f.value].value=H}function W({target:H}){u!==!0&&(s!==null&&(clearTimeout(s),s=null),a.value=H.naturalHeight===0?.5:H.naturalWidth/H.naturalHeight,D(H,1))}function D(H,pe){u===!0||pe===1e3||(H.complete===!0?A(H):s=setTimeout(()=>{s=null,D(H,pe+1)},50))}function A(H){u!==!0&&(f.value=f.value^1,d[f.value].value=null,g.value=!1,v.value=!1,r("load",H.currentSrc||H.src))}function N(H){s!==null&&(clearTimeout(s),s=null),g.value=!1,v.value=!0,d[f.value].value=null,d[f.value^1].value=L(),r("error",H)}function J(H){const pe=d[H].value,_e={key:"img_"+H,class:_.value,style:P.value,crossorigin:e.crossorigin,decoding:e.decoding,referrerpolicy:e.referrerpolicy,height:e.height,width:e.width,loading:e.loading,fetchpriority:e.fetchpriority,"aria-hidden":"true",draggable:e.draggable,...pe};return f.value===H?(_e.class+=" q-img__image--waiting",Object.assign(_e,{onLoad:W,onError:N})):_e.class+=" q-img__image--loaded",E("div",{class:"q-img__container absolute-full",key:"img"+H},E("img",_e))}function z(){return g.value!==!0?E("div",{key:"content",class:"q-img__content absolute-full q-anchor--skip"},Mt(t[v.value===!0?"error":"default"])):E("div",{key:"loading",class:"q-img__loading absolute-full flex flex-center"},t.loading!==void 0?t.loading():e.noSpinner===!0?void 0:[E(Ih,{color:e.spinnerColor,size:e.spinnerSize})])}return F($()),Ht(()=>{u=!0,s!==null&&(clearTimeout(s),s=null)}),()=>{const H=[];return l.value!==null&&H.push(E("div",{key:"filler",style:l.value})),v.value!==!0&&(d[0].value!==null&&H.push(J(0)),d[1].value!==null&&H.push(J(1))),H.push(E(Ya,{name:"q-transition--fade"},z)),E("div",{class:T.value,style:M.value,role:"img","aria-label":e.alt},H)}}}),Tw=Je({name:"QBanner",props:{...ir,inlineActions:Boolean,dense:Boolean,rounded:Boolean},setup(e,{slots:t}){const{proxy:{$q:r}}=Dt(),a=ar(e,r),l=I(()=>"q-banner row items-center"+(e.dense===!0?" q-banner--dense":"")+(a.value===!0?" q-banner--dark q-dark":"")+(e.rounded===!0?" rounded-borders":"")),s=I(()=>`q-banner__actions row items-center justify-end col-${e.inlineActions===!0?"auto":"all"}`);return()=>{const u=[E("div",{class:"q-banner__avatar col-auto row items-center self-start"},Mt(t.avatar)),E("div",{class:"q-banner__content col text-body2"},Mt(t.default))],d=Mt(t.action);return d!==void 0&&u.push(E("div",{class:s.value},d)),E("div",{class:l.value+(e.inlineActions===!1&&d!==void 0?" q-banner--top-padding":""),role:"alert"},u)}}}),Ie=Je({name:"QItemSection",props:{avatar:Boolean,thumbnail:Boolean,side:Boolean,top:Boolean,noWrap:Boolean},setup(e,{slots:t}){const r=I(()=>`q-item__section column q-item__section--${e.avatar===!0||e.side===!0||e.thumbnail===!0?"side":"main"}`+(e.top===!0?" q-item__section--top justify-start":" justify-center")+(e.avatar===!0?" q-item__section--avatar":"")+(e.thumbnail===!0?" q-item__section--thumbnail":"")+(e.noWrap===!0?" q-item__section--nowrap":""));return()=>E("div",{class:r.value},Mt(t.default))}}),Ge=Je({name:"QItemLabel",props:{overline:Boolean,caption:Boolean,header:Boolean,lines:[Number,String]},setup(e,{slots:t}){const r=I(()=>parseInt(e.lines,10)),a=I(()=>"q-item__label"+(e.overline===!0?" q-item__label--overline text-overline":"")+(e.caption===!0?" q-item__label--caption text-caption":"")+(e.header===!0?" q-item__label--header":"")+(r.value===1?" ellipsis":"")),l=I(()=>e.lines!==void 0&&r.value>1?{overflow:"hidden",display:"-webkit-box","-webkit-box-orient":"vertical","-webkit-line-clamp":r.value}:null);return()=>E("div",{style:l.value,class:a.value},Mt(t.default))}}),zt=Je({name:"QItem",props:{...ir,...Do,tag:{type:String,default:"div"},active:{type:Boolean,default:null},clickable:Boolean,dense:Boolean,insetLevel:Number,tabindex:[String,Number],focused:Boolean,manualFocus:Boolean},emits:["click","keyup"],setup(e,{slots:t,emit:r}){const{proxy:{$q:a}}=Dt(),l=ar(e,a),{hasLink:s,linkAttrs:u,linkClass:d,linkTag:f,navigateOnClick:g}=$h(),v=se(null),T=se(null),M=I(()=>e.clickable===!0||s.value===!0||e.tag==="label"),_=I(()=>e.disable!==!0&&M.value===!0),P=I(()=>"q-item q-item-type row no-wrap"+(e.dense===!0?" q-item--dense":"")+(l.value===!0?" q-item--dark":"")+(s.value===!0&&e.active===null?d.value:e.active===!0?` q-item--active${e.activeClass!==void 0?` ${e.activeClass}`:""}`:"")+(e.disable===!0?" disabled":"")+(_.value===!0?" q-item--clickable q-link cursor-pointer "+(e.manualFocus===!0?"q-manual-focusable":"q-focusable q-hoverable")+(e.focused===!0?" q-manual-focusable--focused":""):"")),$=I(()=>{if(e.insetLevel===void 0)return null;const D=a.lang.rtl===!0?"Right":"Left";return{["padding"+D]:16+e.insetLevel*56+"px"}});function L(D){_.value===!0&&(T.value!==null&&(D.qKeyEvent!==!0&&document.activeElement===v.value?T.value.focus():document.activeElement===T.value&&v.value.focus()),g(D))}function F(D){if(_.value===!0&&Wa(D,13)===!0){Ft(D),D.qKeyEvent=!0;const A=new MouseEvent("click",D);A.qKeyEvent=!0,v.value.dispatchEvent(A)}r("keyup",D)}function W(){const D=Rh(t.default,[]);return _.value===!0&&D.unshift(E("div",{class:"q-focus-helper",tabindex:-1,ref:T})),D}return()=>{const D={ref:v,class:P.value,style:$.value,role:"listitem",onClick:L,onKeyup:F};return _.value===!0?(D.tabindex=e.tabindex||"0",Object.assign(D,u.value)):M.value===!0&&(D["aria-disabled"]="true"),E(f.value,D,W())}}}),Mw=Je({name:"QBtnGroup",props:{unelevated:Boolean,outline:Boolean,flat:Boolean,rounded:Boolean,square:Boolean,push:Boolean,stretch:Boolean,glossy:Boolean,spread:Boolean},setup(e,{slots:t}){const r=I(()=>{const a=["unelevated","outline","flat","rounded","square","push","stretch","glossy"].filter(l=>e[l]===!0).map(l=>`q-btn-group--${l}`).join(" ");return`q-btn-group row no-wrap${a.length!==0?" "+a:""}`+(e.spread===!0?" q-btn-group--spread":" inline")});return()=>E("div",{class:r.value},Mt(t.default))}}),ng=Je({name:"QMenu",inheritAttrs:!1,props:{...Kh,...Wu,...ir,...Yu,persistent:Boolean,autoClose:Boolean,separateClosePopup:Boolean,noRouteDismiss:Boolean,noRefocus:Boolean,noFocus:Boolean,fit:Boolean,cover:Boolean,square:Boolean,anchor:{type:String,validator:vo},self:{type:String,validator:vo},offset:{type:Array,validator:Jh},scrollTarget:{default:void 0},touchPosition:Boolean,maxHeight:{type:String,default:null},maxWidth:{type:String,default:null}},emits:[...Hu,"click","escapeKey"],setup(e,{slots:t,emit:r,attrs:a}){let l=null,s,u,d;const f=Dt(),{proxy:g}=f,{$q:v}=g,T=se(null),M=se(!1),_=I(()=>e.persistent!==!0&&e.noRouteDismiss!==!0),P=ar(e,v),{registerTick:$,removeTick:L}=$a(),{registerTimeout:F}=oo(),{transitionProps:W,transitionStyle:D}=Ph(e),{localScrollTarget:A,changeScrollEvent:N,unconfigureScrollTarget:J}=jh(e,fe),{anchorEl:z,canShow:H}=Qh({showing:M}),{hide:pe}=Gu({showing:M,canShow:H,handleShow:X,handleHide:Z,hideOnRouteChange:_,processOnMount:!0}),{showPortal:_e,hidePortal:Pe,renderPortal:lt}=Ah(f,T,ft,"menu"),te={anchorEl:z,innerRef:T,onClickOutside(ee){if(e.persistent!==!0&&M.value===!0)return pe(ee),(ee.type==="touchstart"||ee.target.classList.contains("q-dialog__backdrop"))&&Ft(ee),!0}},xe=I(()=>po(e.anchor||(e.cover===!0?"center middle":"bottom start"),v.lang.rtl)),Be=I(()=>e.cover===!0?xe.value:po(e.self||"top start",v.lang.rtl)),j=I(()=>(e.square===!0?" q-menu--square":"")+(P.value===!0?" q-menu--dark q-dark":"")),K=I(()=>e.autoClose===!0?{onClick:Ke}:{}),me=I(()=>M.value===!0&&e.persistent!==!0);ze(me,ee=>{ee===!0?($b(we),Zh(te)):(Xf(we),mo(te))});function rt(){Nh(()=>{let ee=T.value;ee&&ee.contains(document.activeElement)!==!0&&(ee=ee.querySelector("[autofocus][tabindex], [data-autofocus][tabindex]")||ee.querySelector("[autofocus] [tabindex], [data-autofocus] [tabindex]")||ee.querySelector("[autofocus], [data-autofocus]")||ee,ee.focus({preventScroll:!0}))})}function X(ee){if(l=e.noRefocus===!1?document.activeElement:null,Oh(Ve),_e(),fe(),s=void 0,ee!==void 0&&(e.touchPosition||e.contextMenu)){const wt=Du(ee);if(wt.left!==void 0){const{top:nn,left:un}=z.value.getBoundingClientRect();s={left:wt.left-un,top:wt.top-nn}}}u===void 0&&(u=ze(()=>v.screen.width+"|"+v.screen.height+"|"+e.self+"|"+e.anchor+"|"+v.lang.rtl,Me)),e.noFocus!==!0&&document.activeElement.blur(),$(()=>{Me(),e.noFocus!==!0&&rt()}),F(()=>{v.platform.is.ios===!0&&(d=e.autoClose,T.value.click()),Me(),_e(!0),r("show",ee)},e.transitionDuration)}function Z(ee){L(),Pe(),he(!0),l!==null&&(ee===void 0||ee.qClickOutside!==!0)&&(((ee&&ee.type.indexOf("key")===0?l.closest('[tabindex]:not([tabindex^="-"])'):void 0)||l).focus(),l=null),F(()=>{Pe(!0),r("hide",ee)},e.transitionDuration)}function he(ee){s=void 0,u!==void 0&&(u(),u=void 0),(ee===!0||M.value===!0)&&(Lh(Ve),J(),mo(te),Xf(we)),ee!==!0&&(l=null)}function fe(){(z.value!==null||e.scrollTarget!==void 0)&&(A.value=Mo(z.value,e.scrollTarget),N(A.value,Me))}function Ke(ee){d!==!0?(Ib(g,ee),r("click",ee)):d=!1}function Ve(ee){me.value===!0&&e.noFocus!==!0&&Rb(T.value,ee.target)!==!0&&rt()}function we(ee){r("escapeKey"),pe(ee)}function Me(){ec({targetEl:T.value,offset:e.offset,anchorEl:z.value,anchorOrigin:xe.value,selfOrigin:Be.value,absoluteOffset:s,fit:e.fit,cover:e.cover,maxHeight:e.maxHeight,maxWidth:e.maxWidth})}function ft(){return E(Ya,W.value,()=>M.value===!0?E("div",{role:"menu",...a,ref:T,tabindex:-1,class:["q-menu q-position-engine scroll"+j.value,a.class],style:[a.style,D.value],...K.value},Mt(t.default)):null)}return Ht(he),Object.assign(g,{focus:rt,updatePosition:Me}),lt}});const Dw=Object.keys(Bh),qw=e=>Dw.reduce((t,r)=>{const a=e[r];return a!==void 0&&(t[r]=a),t},{});var rg=Je({name:"QBtnDropdown",props:{...Bh,...Yu,modelValue:Boolean,split:Boolean,dropdownIcon:String,contentClass:[Array,String,Object],contentStyle:[Array,String,Object],cover:Boolean,persistent:Boolean,noRouteDismiss:Boolean,autoClose:Boolean,menuAnchor:{type:String,default:"bottom end"},menuSelf:{type:String,default:"top end"},menuOffset:Array,disableMainBtn:Boolean,disableDropdown:Boolean,noIconAnimation:Boolean,toggleAriaLabel:String},emits:["update:modelValue","click","beforeShow","show","beforeHide","hide"],setup(e,{slots:t,emit:r}){const{proxy:a}=Dt(),l=se(e.modelValue),s=se(null),u=so(),d=I(()=>{const A={"aria-expanded":l.value===!0?"true":"false","aria-haspopup":"true","aria-controls":u,"aria-label":e.toggleAriaLabel||a.$q.lang.label[l.value===!0?"collapse":"expand"](e.label)};return(e.disable===!0||e.split===!1&&e.disableMainBtn===!0||e.disableDropdown===!0)&&(A["aria-disabled"]="true"),A}),f=I(()=>"q-btn-dropdown__arrow"+(l.value===!0&&e.noIconAnimation===!1?" rotate-180":"")+(e.split===!1?" q-btn-dropdown__arrow-container":"")),g=I(()=>Ob(e)),v=I(()=>qw(e));ze(()=>e.modelValue,A=>{s.value!==null&&s.value[A?"show":"hide"]()}),ze(()=>e.split,D);function T(A){l.value=!0,r("beforeShow",A)}function M(A){r("show",A),r("update:modelValue",!0)}function _(A){l.value=!1,r("beforeHide",A)}function P(A){r("hide",A),r("update:modelValue",!1)}function $(A){r("click",A)}function L(A){gi(A),D(),r("click",A)}function F(A){s.value!==null&&s.value.toggle(A)}function W(A){s.value!==null&&s.value.show(A)}function D(A){s.value!==null&&s.value.hide(A)}return Object.assign(a,{show:W,hide:D,toggle:F}),Xr(()=>{e.modelValue===!0&&W()}),()=>{const A=[E(Wt,{class:f.value,name:e.dropdownIcon||a.$q.iconSet.arrow.dropdown})];return e.disableDropdown!==!0&&A.push(E(ng,{ref:s,id:u,class:e.contentClass,style:e.contentStyle,cover:e.cover,fit:!0,persistent:e.persistent,noRouteDismiss:e.noRouteDismiss,autoClose:e.autoClose,anchor:e.menuAnchor,self:e.menuSelf,offset:e.menuOffset,separateClosePopup:!0,transitionShow:e.transitionShow,transitionHide:e.transitionHide,transitionDuration:e.transitionDuration,onBeforeShow:T,onShow:M,onBeforeHide:_,onHide:P},t.default)),e.split===!1?E(ye,{class:"q-btn-dropdown q-btn-dropdown--simple",...v.value,...d.value,disable:e.disable===!0||e.disableMainBtn===!0,noWrap:!0,round:!1,onClick:$},{default:()=>Mt(t.label,[]).concat(A),loading:t.loading}):E(Mw,{class:"q-btn-dropdown q-btn-dropdown--split no-wrap q-btn-item",rounded:e.rounded,square:e.square,...g.value,glossy:e.glossy,stretch:e.stretch},()=>[E(ye,{class:"q-btn-dropdown--current",...v.value,disable:e.disable===!0||e.disableMainBtn===!0,noWrap:!0,round:!1,onClick:L},{default:t.label,loading:t.loading}),E(ye,{class:"q-btn-dropdown__arrow-container q-anchor--skip",...d.value,...g.value,disable:e.disable===!0||e.disableDropdown===!0,rounded:e.rounded,color:e.color,textColor:e.textColor,dense:e.dense,size:e.size,padding:e.padding,ripple:e.ripple},()=>A)])}}}),_r=Je({name:"QBreadcrumbsEl",props:{...Do,label:String,icon:String,tag:{type:String,default:"span"}},emits:["click"],setup(e,{slots:t}){const{linkTag:r,linkAttrs:a,linkClass:l,navigateOnClick:s}=$h(),u=I(()=>({class:"q-breadcrumbs__el q-link flex inline items-center relative-position "+(e.disable!==!0?"q-link--focusable"+l.value:"q-breadcrumbs__el--disable"),...a.value,onClick:s})),d=I(()=>"q-breadcrumbs__el-icon"+(e.label!==void 0?" q-breadcrumbs__el-icon--with-label":""));return()=>{const f=[];return e.icon!==void 0&&f.push(E(Wt,{class:d.value,name:e.icon})),e.label!==void 0&&f.push(e.label),E(r.value,{...u.value},_i(t.default,f))}}});const xw=["",!0];var Pw=Je({name:"QBreadcrumbs",props:{...Lb,separator:{type:String,default:"/"},separatorColor:String,activeColor:{type:String,default:"primary"},gutter:{type:String,validator:e=>["none","xs","sm","md","lg","xl"].includes(e),default:"sm"}},setup(e,{slots:t}){const r=Nb(e),a=I(()=>`flex items-center ${r.value}${e.gutter==="none"?"":` q-gutter-${e.gutter}`}`),l=I(()=>e.separatorColor?` text-${e.separatorColor}`:""),s=I(()=>` text-${e.activeColor}`);return()=>{const u=Ju(Mt(t.default));if(u.length===0)return;let d=1;const f=[],g=u.filter(T=>T.type!==void 0&&T.type.name==="QBreadcrumbsEl").length,v=t.separator!==void 0?t.separator:()=>e.separator;return u.forEach(T=>{if(T.type!==void 0&&T.type.name==="QBreadcrumbsEl"){const M=d{const d=(a.header.space===!0?a.header.size:0)+(a.footer.space===!0?a.footer.size:0);if(typeof e.styleFn=="function"){const f=a.isContainer.value===!0?a.containerHeight.value:r.screen.height;return e.styleFn(d,f)}return{minHeight:a.isContainer.value===!0?a.containerHeight.value-d+"px":r.screen.height===0?d!==0?`calc(100vh - ${d}px)`:"100vh":r.screen.height-d+"px"}}),u=I(()=>`q-page${e.padding===!0?" q-layout-padding":""}`);return()=>E("main",{class:u.value,style:s.value},Mt(t.default))}});const Ew=E("div",{class:"q-space"});var Iw=Je({name:"QSpace",setup(){return()=>Ew}});function dh(e){if(e===!1)return 0;if(e===!0||e===void 0)return 1;const t=parseInt(e,10);return isNaN(t)?0:t}var Hi=Fh({name:"close-popup",beforeMount(e,{value:t}){const r={depth:dh(t),handler(a){r.depth!==0&&setTimeout(()=>{const l=Ub(e);l!==void 0&&Vb(l,a,r.depth)})},handlerKey(a){Wa(a,13)===!0&&r.handler(a)}};e.__qclosepopup=r,e.addEventListener("click",r.handler),e.addEventListener("keyup",r.handlerKey)},updated(e,{value:t,oldValue:r}){t!==r&&(e.__qclosepopup.depth=dh(t))},beforeUnmount(e){const t=e.__qclosepopup;e.removeEventListener("click",t.handler),e.removeEventListener("keyup",t.handlerKey),delete e.__qclosepopup}});function $w(){return uo(zb)}var Ma=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{},Rw=function(){return typeof Promise=="function"&&Promise.prototype&&Promise.prototype.then},ig={},Mn={};let rc;const Ow=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];Mn.getSymbolSize=function(t){if(!t)throw new Error('"version" cannot be null or undefined');if(t<1||t>40)throw new Error('"version" should be in range from 1 to 40');return t*4+17};Mn.getSymbolTotalCodewords=function(t){return Ow[t]};Mn.getBCHDigit=function(e){let t=0;for(;e!==0;)t++,e>>>=1;return t};Mn.setToSJISFunction=function(t){if(typeof t!="function")throw new Error('"toSJISFunc" is not a valid function.');rc=t};Mn.isKanjiModeEnabled=function(){return typeof rc!="undefined"};Mn.toSJIS=function(t){return rc(t)};var qo={};(function(e){e.L={bit:1},e.M={bit:0},e.Q={bit:3},e.H={bit:2};function t(r){if(typeof r!="string")throw new Error("Param is not a string");switch(r.toLowerCase()){case"l":case"low":return e.L;case"m":case"medium":return e.M;case"q":case"quartile":return e.Q;case"h":case"high":return e.H;default:throw new Error("Unknown EC Level: "+r)}}e.isValid=function(a){return a&&typeof a.bit!="undefined"&&a.bit>=0&&a.bit<4},e.from=function(a,l){if(e.isValid(a))return a;try{return t(a)}catch{return l}}})(qo);function ag(){this.buffer=[],this.length=0}ag.prototype={get:function(e){const t=Math.floor(e/8);return(this.buffer[t]>>>7-e%8&1)===1},put:function(e,t){for(let r=0;r>>t-r-1&1)===1)},getLengthInBits:function(){return this.length},putBit:function(e){const t=Math.floor(this.length/8);this.buffer.length<=t&&this.buffer.push(0),e&&(this.buffer[t]|=128>>>this.length%8),this.length++}};var Lw=ag;function Ga(e){if(!e||e<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=e,this.data=new Uint8Array(e*e),this.reservedBit=new Uint8Array(e*e)}Ga.prototype.set=function(e,t,r,a){const l=e*this.size+t;this.data[l]=r,a&&(this.reservedBit[l]=!0)};Ga.prototype.get=function(e,t){return this.data[e*this.size+t]};Ga.prototype.xor=function(e,t,r){this.data[e*this.size+t]^=r};Ga.prototype.isReserved=function(e,t){return this.reservedBit[e*this.size+t]};var Nw=Ga,lg={};(function(e){const t=Mn.getSymbolSize;e.getRowColCoords=function(a){if(a===1)return[];const l=Math.floor(a/7)+2,s=t(a),u=s===145?26:Math.ceil((s-13)/(2*l-2))*2,d=[s-7];for(let f=1;f=0&&l<=7},e.from=function(l){return e.isValid(l)?parseInt(l,10):void 0},e.getPenaltyN1=function(l){const s=l.size;let u=0,d=0,f=0,g=null,v=null;for(let T=0;T=5&&(u+=t.N1+(d-5)),g=_,d=1),_=l.get(M,T),_===v?f++:(f>=5&&(u+=t.N1+(f-5)),v=_,f=1)}d>=5&&(u+=t.N1+(d-5)),f>=5&&(u+=t.N1+(f-5))}return u},e.getPenaltyN2=function(l){const s=l.size;let u=0;for(let d=0;d=10&&(d===1488||d===93)&&u++,f=f<<1&2047|l.get(v,g),v>=10&&(f===1488||f===93)&&u++}return u*t.N3},e.getPenaltyN4=function(l){let s=0;const u=l.data.length;for(let f=0;f=0;){const u=s[0];for(let f=0;f0){const s=new Uint8Array(this.degree);return s.set(a,l),s}return a};var Fw=ic,dg={},ei={},ac={};ac.isValid=function(t){return!isNaN(t)&&t>=1&&t<=40};var lr={};const fg="[0-9]+",Uw="[A-Z $%*+\\-./:]+";let Fa="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";Fa=Fa.replace(/u/g,"\\u");const Vw="(?:(?![A-Z0-9 $%*+\\-./:]|"+Fa+`)(?:.|[\r -]))+`;lr.KANJI=new RegExp(Fa,"g");lr.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g");lr.BYTE=new RegExp(Vw,"g");lr.NUMERIC=new RegExp(fg,"g");lr.ALPHANUMERIC=new RegExp(Uw,"g");const zw=new RegExp("^"+Fa+"$"),Ww=new RegExp("^"+fg+"$"),Yw=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");lr.testKanji=function(t){return zw.test(t)};lr.testNumeric=function(t){return Ww.test(t)};lr.testAlphanumeric=function(t){return Yw.test(t)};(function(e){const t=ac,r=lr;e.NUMERIC={id:"Numeric",bit:1<<0,ccBits:[10,12,14]},e.ALPHANUMERIC={id:"Alphanumeric",bit:1<<1,ccBits:[9,11,13]},e.BYTE={id:"Byte",bit:1<<2,ccBits:[8,16,16]},e.KANJI={id:"Kanji",bit:1<<3,ccBits:[8,10,12]},e.MIXED={bit:-1},e.getCharCountIndicator=function(s,u){if(!s.ccBits)throw new Error("Invalid mode: "+s);if(!t.isValid(u))throw new Error("Invalid version: "+u);return u>=1&&u<10?s.ccBits[0]:u<27?s.ccBits[1]:s.ccBits[2]},e.getBestModeForData=function(s){return r.testNumeric(s)?e.NUMERIC:r.testAlphanumeric(s)?e.ALPHANUMERIC:r.testKanji(s)?e.KANJI:e.BYTE},e.toString=function(s){if(s&&s.id)return s.id;throw new Error("Invalid mode")},e.isValid=function(s){return s&&s.bit&&s.ccBits};function a(l){if(typeof l!="string")throw new Error("Param is not a string");switch(l.toLowerCase()){case"numeric":return e.NUMERIC;case"alphanumeric":return e.ALPHANUMERIC;case"kanji":return e.KANJI;case"byte":return e.BYTE;default:throw new Error("Unknown mode: "+l)}}e.from=function(s,u){if(e.isValid(s))return s;try{return a(s)}catch{return u}}})(ei);(function(e){const t=Mn,r=xo,a=qo,l=ei,s=ac,u=1<<12|1<<11|1<<10|1<<9|1<<8|1<<5|1<<2|1<<0,d=t.getBCHDigit(u);function f(M,_,P){for(let $=1;$<=40;$++)if(_<=e.getCapacity($,P,M))return $}function g(M,_){return l.getCharCountIndicator(M,_)+4}function v(M,_){let P=0;return M.forEach(function($){P+=g($.mode,_)+$.getBitsLength()}),P}function T(M,_){for(let P=1;P<=40;P++)if(v(M,P)<=e.getCapacity(P,_,l.MIXED))return P}e.from=function(_,P){return s.isValid(_)?parseInt(_,10):P},e.getCapacity=function(_,P,$){if(!s.isValid(_))throw new Error("Invalid QR Code version");typeof $=="undefined"&&($=l.BYTE);const L=t.getSymbolTotalCodewords(_),F=r.getTotalCodewordsCount(_,P),W=(L-F)*8;if($===l.MIXED)return W;const D=W-g($,_);switch($){case l.NUMERIC:return Math.floor(D/10*3);case l.ALPHANUMERIC:return Math.floor(D/11*2);case l.KANJI:return Math.floor(D/13);case l.BYTE:default:return Math.floor(D/8)}},e.getBestVersionForData=function(_,P){let $;const L=a.from(P,a.M);if(Array.isArray(_)){if(_.length>1)return T(_,L);if(_.length===0)return 1;$=_[0]}else $=_;return f($.mode,$.getLength(),L)},e.getEncodedBits=function(_){if(!s.isValid(_)||_<7)throw new Error("Invalid QR Code version");let P=_<<12;for(;t.getBCHDigit(P)-d>=0;)P^=u<=0;)l^=gg<0&&(a=this.data.substr(r),l=parseInt(a,10),t.put(l,s*3+1))};var Kw=ea;const Qw=ei,gu=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function ta(e){this.mode=Qw.ALPHANUMERIC,this.data=e}ta.getBitsLength=function(t){return 11*Math.floor(t/2)+6*(t%2)};ta.prototype.getLength=function(){return this.data.length};ta.prototype.getBitsLength=function(){return ta.getBitsLength(this.data.length)};ta.prototype.write=function(t){let r;for(r=0;r+2<=this.data.length;r+=2){let a=gu.indexOf(this.data[r])*45;a+=gu.indexOf(this.data[r+1]),t.put(a,11)}this.data.length%2&&t.put(gu.indexOf(this.data[r]),6)};var jw=ta,Zw=function(t){for(var r=[],a=t.length,l=0;l=55296&&s<=56319&&a>l+1){var u=t.charCodeAt(l+1);u>=56320&&u<=57343&&(s=(s-55296)*1024+u-56320+65536,l+=1)}if(s<128){r.push(s);continue}if(s<2048){r.push(s>>6|192),r.push(s&63|128);continue}if(s<55296||s>=57344&&s<65536){r.push(s>>12|224),r.push(s>>6&63|128),r.push(s&63|128);continue}if(s>=65536&&s<=1114111){r.push(s>>18|240),r.push(s>>12&63|128),r.push(s>>6&63|128),r.push(s&63|128);continue}r.push(239,191,189)}return new Uint8Array(r).buffer};const Jw=Zw,Xw=ei;function na(e){this.mode=Xw.BYTE,typeof e=="string"&&(e=Jw(e)),this.data=new Uint8Array(e)}na.getBitsLength=function(t){return t*8};na.prototype.getLength=function(){return this.data.length};na.prototype.getBitsLength=function(){return na.getBitsLength(this.data.length)};na.prototype.write=function(e){for(let t=0,r=this.data.length;t=33088&&r<=40956)r-=33088;else if(r>=57408&&r<=60351)r-=49472;else throw new Error("Invalid SJIS character: "+this.data[t]+` -Make sure your charset is UTF-8`);r=(r>>>8&255)*192+(r&255),e.put(r,13)}};var rS=ra,vg={exports:{}};(function(e){var t={single_source_shortest_paths:function(r,a,l){var s={},u={};u[a]=0;var d=t.PriorityQueue.make();d.push(a,0);for(var f,g,v,T,M,_,P,$,L;!d.empty();){f=d.pop(),g=f.value,T=f.cost,M=r[g]||{};for(v in M)M.hasOwnProperty(v)&&(_=M[v],P=T+_,$=u[v],L=typeof u[v]=="undefined",(L||$>P)&&(u[v]=P,d.push(v,P),s[v]=g))}if(typeof l!="undefined"&&typeof u[l]=="undefined"){var F=["Could not find a path from ",a," to ",l,"."].join("");throw new Error(F)}return s},extract_shortest_path_from_predecessor_list:function(r,a){for(var l=[],s=a;s;)l.push(s),r[s],s=r[s];return l.reverse(),l},find_path:function(r,a,l){var s=t.single_source_shortest_paths(r,a,l);return t.extract_shortest_path_from_predecessor_list(s,l)},PriorityQueue:{make:function(r){var a=t.PriorityQueue,l={},s;r=r||{};for(s in a)a.hasOwnProperty(s)&&(l[s]=a[s]);return l.queue=[],l.sorter=r.sorter||a.default_sorter,l},default_sorter:function(r,a){return r.cost-a.cost},push:function(r,a){var l={value:r,cost:a};this.queue.push(l),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return this.queue.length===0}}};e.exports=t})(vg);(function(e){const t=ei,r=Kw,a=jw,l=eS,s=rS,u=lr,d=Mn,f=vg.exports;function g(F){return unescape(encodeURIComponent(F)).length}function v(F,W,D){const A=[];let N;for(;(N=F.exec(D))!==null;)A.push({data:N[0],index:N.index,mode:W,length:N[0].length});return A}function T(F){const W=v(u.NUMERIC,t.NUMERIC,F),D=v(u.ALPHANUMERIC,t.ALPHANUMERIC,F);let A,N;return d.isKanjiModeEnabled()?(A=v(u.BYTE,t.BYTE,F),N=v(u.KANJI,t.KANJI,F)):(A=v(u.BYTE_KANJI,t.BYTE,F),N=[]),W.concat(D,A,N).sort(function(z,H){return z.index-H.index}).map(function(z){return{data:z.data,mode:z.mode,length:z.length}})}function M(F,W){switch(W){case t.NUMERIC:return r.getBitsLength(F);case t.ALPHANUMERIC:return a.getBitsLength(F);case t.KANJI:return s.getBitsLength(F);case t.BYTE:return l.getBitsLength(F)}}function _(F){return F.reduce(function(W,D){const A=W.length-1>=0?W[W.length-1]:null;return A&&A.mode===D.mode?(W[W.length-1].data+=D.data,W):(W.push(D),W)},[])}function P(F){const W=[];for(let D=0;D=0&&d<=6&&(f===0||f===6)||f>=0&&f<=6&&(d===0||d===6)||d>=2&&d<=4&&f>=2&&f<=4?e.set(s+d,u+f,!0,!0):e.set(s+d,u+f,!1,!0))}}function fS(e){const t=e.size;for(let r=8;r>d&1)===1,e.set(l,s,u,!0),e.set(s,l,u,!0)}function pu(e,t,r){const a=e.size,l=uS.getEncodedBits(t,r);let s,u;for(s=0;s<15;s++)u=(l>>s&1)===1,s<6?e.set(s,8,u,!0):s<8?e.set(s+1,8,u,!0):e.set(a-15+s,8,u,!0),s<8?e.set(8,a-s-1,u,!0):s<9?e.set(8,15-s-1+1,u,!0):e.set(8,15-s-1,u,!0);e.set(a-8,8,1,!0)}function mS(e,t){const r=e.size;let a=-1,l=r-1,s=7,u=0;for(let d=r-1;d>0;d-=2)for(d===6&&d--;;){for(let f=0;f<2;f++)if(!e.isReserved(l,d-f)){let g=!1;u>>s&1)===1),e.set(l,d-f,g),s--,s===-1&&(u++,s=7)}if(l+=a,l<0||r<=l){l-=a,a=-a;break}}}function vS(e,t,r){const a=new iS;r.forEach(function(f){a.put(f.mode.bit,4),a.put(f.getLength(),cS.getCharCountIndicator(f.mode,e)),f.write(a)});const l=Ao.getSymbolTotalCodewords(e),s=$u.getTotalCodewordsCount(e,t),u=(l-s)*8;for(a.getLengthInBits()+4<=u&&a.put(0,4);a.getLengthInBits()%8!==0;)a.putBit(0);const d=(u-a.getLengthInBits())/8;for(let f=0;f sw.includes(e) }, + }, + setup(e, { slots: t }) { + const r = I(() => (e.align !== void 0 ? { verticalAlign: e.align } : null)), + a = I(() => { + const l = (e.outline === !0 && e.color) || e.textColor; + return ( + `q-badge flex inline items-center no-wrap q-badge--${ + e.multiLine === !0 ? "multi" : "single" + }-line` + + (e.outline === !0 + ? " q-badge--outline" + : e.color !== void 0 + ? ` bg-${e.color}` + : "") + + (l !== void 0 ? ` text-${l}` : "") + + (e.floating === !0 ? " q-badge--floating" : "") + + (e.rounded === !0 ? " q-badge--rounded" : "") + + (e.transparent === !0 ? " q-badge--transparent" : "") + ); + }); + return () => + E( + "div", + { + class: a.value, + style: r.value, + role: "status", + "aria-label": e.label, + }, + _i(t.default, e.label !== void 0 ? [e.label] : []) + ); + }, +}); +const Kh = { + target: { default: !0 }, + noParentEvent: Boolean, + contextMenu: Boolean, +}; +function Qh({ showing: e, avoidEmit: t, configureAnchorEl: r }) { + const { props: a, proxy: l, emit: s } = Dt(), + u = se(null); + let d = null; + function f(_) { + return u.value === null + ? !1 + : _ === void 0 || _.touches === void 0 || _.touches.length <= 1; + } + const g = {}; + r === void 0 && + (Object.assign(g, { + hide(_) { + l.hide(_); + }, + toggle(_) { + l.toggle(_), (_.qAnchorHandled = !0); + }, + toggleKey(_) { + Wa(_, 13) === !0 && g.toggle(_); + }, + contextClick(_) { + l.hide(_), + Ia(_), + Sn(() => { + l.show(_), (_.qAnchorHandled = !0); + }); + }, + prevent: Ia, + mobileTouch(_) { + if ((g.mobileCleanup(_), f(_) !== !0)) return; + l.hide(_), u.value.classList.add("non-selectable"); + const P = _.target; + Hr(g, "anchor", [ + [P, "touchmove", "mobileCleanup", "passive"], + [P, "touchend", "mobileCleanup", "passive"], + [P, "touchcancel", "mobileCleanup", "passive"], + [u.value, "contextmenu", "prevent", "notPassive"], + ]), + (d = setTimeout(() => { + (d = null), l.show(_), (_.qAnchorHandled = !0); + }, 300)); + }, + mobileCleanup(_) { + u.value.classList.remove("non-selectable"), + d !== null && (clearTimeout(d), (d = null)), + e.value === !0 && _ !== void 0 && fo(); + }, + }), + (r = function (_ = a.contextMenu) { + if (a.noParentEvent === !0 || u.value === null) return; + let P; + _ === !0 + ? l.$q.platform.is.mobile === !0 + ? (P = [[u.value, "touchstart", "mobileTouch", "passive"]]) + : (P = [ + [u.value, "mousedown", "hide", "passive"], + [u.value, "contextmenu", "contextClick", "notPassive"], + ]) + : (P = [ + [u.value, "click", "toggle", "passive"], + [u.value, "keyup", "toggleKey", "passive"], + ]), + Hr(g, "anchor", P); + })); + function v() { + Ki(g, "anchor"); + } + function T(_) { + for (u.value = _; u.value.classList.contains("q-anchor--skip"); ) + u.value = u.value.parentNode; + r(); + } + function M() { + if (a.target === !1 || a.target === "" || l.$el.parentNode === null) + u.value = null; + else if (a.target === !0) T(l.$el.parentNode); + else { + let _ = a.target; + if (typeof a.target == "string") + try { + _ = document.querySelector(a.target); + } catch { + _ = void 0; + } + _ != null + ? ((u.value = _.$el || _), r()) + : ((u.value = null), + console.error(`Anchor: target "${a.target}" not found`)); + } + } + return ( + ze( + () => a.contextMenu, + (_) => { + u.value !== null && (v(), r(_)); + } + ), + ze( + () => a.target, + () => { + u.value !== null && v(), M(); + } + ), + ze( + () => a.noParentEvent, + (_) => { + u.value !== null && (_ === !0 ? v() : r()); + } + ), + Xr(() => { + M(), + t !== !0 && + a.modelValue === !0 && + u.value === null && + s("update:modelValue", !1); + }), + Ht(() => { + d !== null && clearTimeout(d), v(); + }), + { anchorEl: u, canShow: f, anchorEvents: g } + ); +} +function jh(e, t) { + const r = se(null); + let a; + function l(d, f) { + const g = `${f !== void 0 ? "add" : "remove"}EventListener`, + v = f !== void 0 ? f : a; + d !== window && d[g]("scroll", v, Xi.passive), + window[g]("scroll", v, Xi.passive), + (a = f); + } + function s() { + r.value !== null && (l(r.value), (r.value = null)); + } + const u = ze( + () => e.noParentEvent, + () => { + r.value !== null && (s(), t()); + } + ); + return ( + Ht(u), + { localScrollTarget: r, unconfigureScrollTarget: s, changeScrollEvent: l } + ); +} +const { notPassiveCapture: ho } = Xi, + vi = []; +function go(e) { + const t = e.target; + if ( + t === void 0 || + t.nodeType === 8 || + t.classList.contains("no-pointer-events") === !0 + ) + return; + let r = Jf.length - 1; + for (; r >= 0; ) { + const a = Jf[r].$; + if (a.type.name === "QTooltip") { + r--; + continue; + } + if (a.type.name !== "QDialog") break; + if (a.props.seamless !== !0) return; + r--; + } + for (let a = vi.length - 1; a >= 0; a--) { + const l = vi[a]; + if ( + (l.anchorEl.value === null || l.anchorEl.value.contains(t) === !1) && + (t === document.body || + (l.innerRef.value !== null && l.innerRef.value.contains(t) === !1)) + ) + (e.qClickOutside = !0), l.onClickOutside(e); + else return; + } +} +function Zh(e) { + vi.push(e), + vi.length === 1 && + (document.addEventListener("mousedown", go, ho), + document.addEventListener("touchstart", go, ho)); +} +function mo(e) { + const t = vi.findIndex((r) => r === e); + t > -1 && + (vi.splice(t, 1), + vi.length === 0 && + (document.removeEventListener("mousedown", go, ho), + document.removeEventListener("touchstart", go, ho))); +} +let oh, sh; +function vo(e) { + const t = e.split(" "); + return t.length !== 2 + ? !1 + : ["top", "center", "bottom"].includes(t[0]) !== !0 + ? (console.error( + "Anchor/Self position must start with one of top/center/bottom" + ), + !1) + : ["left", "middle", "right", "start", "end"].includes(t[1]) !== !0 + ? (console.error( + "Anchor/Self position must end with one of left/middle/right/start/end" + ), + !1) + : !0; +} +function Jh(e) { + return e + ? !(e.length !== 2 || typeof e[0] != "number" || typeof e[1] != "number") + : !0; +} +const Pu = { + "start#ltr": "left", + "start#rtl": "right", + "end#ltr": "right", + "end#rtl": "left", +}; +["left", "middle", "right"].forEach((e) => { + (Pu[`${e}#ltr`] = e), (Pu[`${e}#rtl`] = e); +}); +function po(e, t) { + const r = e.split(" "); + return { + vertical: r[0], + horizontal: Pu[`${r[1]}#${t === !0 ? "rtl" : "ltr"}`], + }; +} +function uw(e, t) { + let { + top: r, + left: a, + right: l, + bottom: s, + width: u, + height: d, + } = e.getBoundingClientRect(); + return ( + t !== void 0 && + ((r -= t[1]), + (a -= t[0]), + (s += t[1]), + (l += t[0]), + (u += t[0]), + (d += t[1])), + { + top: r, + bottom: s, + height: d, + left: a, + right: l, + width: u, + middle: a + (l - a) / 2, + center: r + (s - r) / 2, + } + ); +} +function cw(e, t, r) { + let { top: a, left: l } = e.getBoundingClientRect(); + return ( + (a += t.top), + (l += t.left), + r !== void 0 && ((a += r[1]), (l += r[0])), + { + top: a, + bottom: a + 1, + height: 1, + left: l, + right: l + 1, + width: 1, + middle: l, + center: a, + } + ); +} +function dw(e, t) { + return { top: 0, center: t / 2, bottom: t, left: 0, middle: e / 2, right: e }; +} +function uh(e, t, r, a) { + return { + top: e[r.vertical] - t[a.vertical], + left: e[r.horizontal] - t[a.horizontal], + }; +} +function ec(e, t = 0) { + if (e.targetEl === null || e.anchorEl === null || t > 5) return; + if (e.targetEl.offsetHeight === 0 || e.targetEl.offsetWidth === 0) { + setTimeout(() => { + ec(e, t + 1); + }, 10); + return; + } + const { + targetEl: r, + offset: a, + anchorEl: l, + anchorOrigin: s, + selfOrigin: u, + absoluteOffset: d, + fit: f, + cover: g, + maxHeight: v, + maxWidth: T, + } = e; + if (zi.is.ios === !0 && window.visualViewport !== void 0) { + const J = document.body.style, + { offsetLeft: z, offsetTop: H } = window.visualViewport; + z !== oh && (J.setProperty("--q-pe-left", z + "px"), (oh = z)), + H !== sh && (J.setProperty("--q-pe-top", H + "px"), (sh = H)); + } + const { scrollLeft: M, scrollTop: _ } = r, + P = d === void 0 ? uw(l, g === !0 ? [0, 0] : a) : cw(l, d, a); + Object.assign(r.style, { + top: 0, + left: 0, + minWidth: null, + minHeight: null, + maxWidth: T || "100vw", + maxHeight: v || "100vh", + visibility: "visible", + }); + const { offsetWidth: $, offsetHeight: L } = r, + { elWidth: F, elHeight: W } = + f === !0 || g === !0 + ? { + elWidth: Math.max(P.width, $), + elHeight: g === !0 ? Math.max(P.height, L) : L, + } + : { elWidth: $, elHeight: L }; + let D = { maxWidth: T, maxHeight: v }; + (f === !0 || g === !0) && + ((D.minWidth = P.width + "px"), + g === !0 && (D.minHeight = P.height + "px")), + Object.assign(r.style, D); + const A = dw(F, W); + let N = uh(P, A, s, u); + if (d === void 0 || a === void 0) fu(N, P, A, s, u); + else { + const { top: J, left: z } = N; + fu(N, P, A, s, u); + let H = !1; + if (N.top !== J) { + H = !0; + const pe = 2 * a[1]; + (P.center = P.top -= pe), (P.bottom -= pe + 2); + } + if (N.left !== z) { + H = !0; + const pe = 2 * a[0]; + (P.middle = P.left -= pe), (P.right -= pe + 2); + } + H === !0 && ((N = uh(P, A, s, u)), fu(N, P, A, s, u)); + } + (D = { top: N.top + "px", left: N.left + "px" }), + N.maxHeight !== void 0 && + ((D.maxHeight = N.maxHeight + "px"), + P.height > N.maxHeight && (D.minHeight = D.maxHeight)), + N.maxWidth !== void 0 && + ((D.maxWidth = N.maxWidth + "px"), + P.width > N.maxWidth && (D.minWidth = D.maxWidth)), + Object.assign(r.style, D), + r.scrollTop !== _ && (r.scrollTop = _), + r.scrollLeft !== M && (r.scrollLeft = M); +} +function fu(e, t, r, a, l) { + const s = r.bottom, + u = r.right, + d = Db(), + f = window.innerHeight - d, + g = document.body.clientWidth; + if (e.top < 0 || e.top + s > f) + if (l.vertical === "center") + (e.top = t[a.vertical] > f / 2 ? Math.max(0, f - s) : 0), + (e.maxHeight = Math.min(s, f)); + else if (t[a.vertical] > f / 2) { + const v = Math.min( + f, + a.vertical === "center" + ? t.center + : a.vertical === l.vertical + ? t.bottom + : t.top + ); + (e.maxHeight = Math.min(s, v)), (e.top = Math.max(0, v - s)); + } else + (e.top = Math.max( + 0, + a.vertical === "center" + ? t.center + : a.vertical === l.vertical + ? t.top + : t.bottom + )), + (e.maxHeight = Math.min(s, f - e.top)); + if (e.left < 0 || e.left + u > g) + if (((e.maxWidth = Math.min(u, g)), l.horizontal === "middle")) + e.left = t[a.horizontal] > g / 2 ? Math.max(0, g - u) : 0; + else if (t[a.horizontal] > g / 2) { + const v = Math.min( + g, + a.horizontal === "middle" + ? t.middle + : a.horizontal === l.horizontal + ? t.right + : t.left + ); + (e.maxWidth = Math.min(u, v)), (e.left = Math.max(0, v - e.maxWidth)); + } else + (e.left = Math.max( + 0, + a.horizontal === "middle" + ? t.middle + : a.horizontal === l.horizontal + ? t.left + : t.right + )), + (e.maxWidth = Math.min(u, g - e.left)); +} +var Yr = Je({ + name: "QTooltip", + inheritAttrs: !1, + props: { + ...Kh, + ...Wu, + ...Yu, + maxHeight: { type: String, default: null }, + maxWidth: { type: String, default: null }, + transitionShow: { default: "jump-down" }, + transitionHide: { default: "jump-up" }, + anchor: { type: String, default: "bottom middle", validator: vo }, + self: { type: String, default: "top middle", validator: vo }, + offset: { type: Array, default: () => [14, 14], validator: Jh }, + scrollTarget: { default: void 0 }, + delay: { type: Number, default: 0 }, + hideDelay: { type: Number, default: 0 }, + }, + emits: [...Hu], + setup(e, { slots: t, emit: r, attrs: a }) { + let l, s; + const u = Dt(), + { + proxy: { $q: d }, + } = u, + f = se(null), + g = se(!1), + v = I(() => po(e.anchor, d.lang.rtl)), + T = I(() => po(e.self, d.lang.rtl)), + M = I(() => e.persistent !== !0), + { registerTick: _, removeTick: P } = $a(), + { registerTimeout: $ } = oo(), + { transitionProps: L, transitionStyle: F } = Ph(e), + { + localScrollTarget: W, + changeScrollEvent: D, + unconfigureScrollTarget: A, + } = jh(e, X), + { + anchorEl: N, + canShow: J, + anchorEvents: z, + } = Qh({ showing: g, configureAnchorEl: rt }), + { show: H, hide: pe } = Gu({ + showing: g, + canShow: J, + handleShow: te, + handleHide: xe, + hideOnRouteChange: M, + processOnMount: !0, + }); + Object.assign(z, { delayShow: K, delayHide: me }); + const { + showPortal: _e, + hidePortal: Pe, + renderPortal: lt, + } = Ah(u, f, he, "tooltip"); + if (d.platform.is.mobile === !0) { + const fe = { + anchorEl: N, + innerRef: f, + onClickOutside(Ve) { + return ( + pe(Ve), + Ve.target.classList.contains("q-dialog__backdrop") && Ft(Ve), + !0 + ); + }, + }, + Ke = I( + () => e.modelValue === null && e.persistent !== !0 && g.value === !0 + ); + ze(Ke, (Ve) => { + (Ve === !0 ? Zh : mo)(fe); + }), + Ht(() => { + mo(fe); + }); + } + function te(fe) { + _e(), + _(() => { + (s = new MutationObserver(() => j())), + s.observe(f.value, { + attributes: !1, + childList: !0, + characterData: !0, + subtree: !0, + }), + j(), + X(); + }), + l === void 0 && + (l = ze( + () => + d.screen.width + + "|" + + d.screen.height + + "|" + + e.self + + "|" + + e.anchor + + "|" + + d.lang.rtl, + j + )), + $(() => { + _e(!0), r("show", fe); + }, e.transitionDuration); + } + function xe(fe) { + P(), + Pe(), + Be(), + $(() => { + Pe(!0), r("hide", fe); + }, e.transitionDuration); + } + function Be() { + s !== void 0 && (s.disconnect(), (s = void 0)), + l !== void 0 && (l(), (l = void 0)), + A(), + Ki(z, "tooltipTemp"); + } + function j() { + ec({ + targetEl: f.value, + offset: e.offset, + anchorEl: N.value, + anchorOrigin: v.value, + selfOrigin: T.value, + maxHeight: e.maxHeight, + maxWidth: e.maxWidth, + }); + } + function K(fe) { + if (d.platform.is.mobile === !0) { + fo(), document.body.classList.add("non-selectable"); + const Ke = N.value, + Ve = ["touchmove", "touchcancel", "touchend", "click"].map((we) => [ + Ke, + we, + "delayHide", + "passiveCapture", + ]); + Hr(z, "tooltipTemp", Ve); + } + $(() => { + H(fe); + }, e.delay); + } + function me(fe) { + d.platform.is.mobile === !0 && + (Ki(z, "tooltipTemp"), + fo(), + setTimeout(() => { + document.body.classList.remove("non-selectable"); + }, 10)), + $(() => { + pe(fe); + }, e.hideDelay); + } + function rt() { + if (e.noParentEvent === !0 || N.value === null) return; + const fe = + d.platform.is.mobile === !0 + ? [[N.value, "touchstart", "delayShow", "passive"]] + : [ + [N.value, "mouseenter", "delayShow", "passive"], + [N.value, "mouseleave", "delayHide", "passive"], + ]; + Hr(z, "anchor", fe); + } + function X() { + if (N.value !== null || e.scrollTarget !== void 0) { + W.value = Mo(N.value, e.scrollTarget); + const fe = e.noParentEvent === !0 ? j : pe; + D(W.value, fe); + } + } + function Z() { + return g.value === !0 + ? E( + "div", + { + ...a, + ref: f, + class: [ + "q-tooltip q-tooltip--style q-position-engine no-pointer-events", + a.class, + ], + style: [a.style, F.value], + role: "tooltip", + }, + Mt(t.default) + ) + : null; + } + function he() { + return E(Ya, L.value, Z); + } + return Ht(Be), Object.assign(u.proxy, { updatePosition: j }), lt; + }, +}); +const fw = { xs: 8, sm: 10, md: 14, lg: 20, xl: 24 }; +var Ha = Je({ + name: "QChip", + props: { + ...ir, + ...qb, + dense: Boolean, + icon: String, + iconRight: String, + iconRemove: String, + iconSelected: String, + label: [String, Number], + color: String, + textColor: String, + modelValue: { type: Boolean, default: !0 }, + selected: { type: Boolean, default: null }, + square: Boolean, + outline: Boolean, + clickable: Boolean, + removable: Boolean, + removeAriaLabel: String, + tabindex: [String, Number], + disable: Boolean, + ripple: { type: [Boolean, Object], default: !0 }, + }, + emits: ["update:modelValue", "update:selected", "remove", "click"], + setup(e, { slots: t, emit: r }) { + const { + proxy: { $q: a }, + } = Dt(), + l = ar(e, a), + s = xb(e, fw), + u = I(() => e.selected === !0 || e.icon !== void 0), + d = I(() => + e.selected === !0 ? e.iconSelected || a.iconSet.chip.selected : e.icon + ), + f = I(() => e.iconRemove || a.iconSet.chip.remove), + g = I( + () => e.disable === !1 && (e.clickable === !0 || e.selected !== null) + ), + v = I(() => { + const L = (e.outline === !0 && e.color) || e.textColor; + return ( + "q-chip row inline no-wrap items-center" + + (e.outline === !1 && e.color !== void 0 ? ` bg-${e.color}` : "") + + (L ? ` text-${L} q-chip--colored` : "") + + (e.disable === !0 ? " disabled" : "") + + (e.dense === !0 ? " q-chip--dense" : "") + + (e.outline === !0 ? " q-chip--outline" : "") + + (e.selected === !0 ? " q-chip--selected" : "") + + (g.value === !0 + ? " q-chip--clickable cursor-pointer non-selectable q-hoverable" + : "") + + (e.square === !0 ? " q-chip--square" : "") + + (l.value === !0 ? " q-chip--dark q-dark" : "") + ); + }), + T = I(() => { + const L = + e.disable === !0 + ? { tabindex: -1, "aria-disabled": "true" } + : { tabindex: e.tabindex || 0 }, + F = { + ...L, + role: "button", + "aria-hidden": "false", + "aria-label": e.removeAriaLabel || a.lang.label.remove, + }; + return { chip: L, remove: F }; + }); + function M(L) { + L.keyCode === 13 && _(L); + } + function _(L) { + e.disable || (r("update:selected", !e.selected), r("click", L)); + } + function P(L) { + (L.keyCode === void 0 || L.keyCode === 13) && + (Ft(L), + e.disable === !1 && (r("update:modelValue", !1), r("remove"))); + } + function $() { + const L = []; + g.value === !0 && L.push(E("div", { class: "q-focus-helper" })), + u.value === !0 && + L.push( + E(Wt, { class: "q-chip__icon q-chip__icon--left", name: d.value }) + ); + const F = + e.label !== void 0 + ? [E("div", { class: "ellipsis" }, [e.label])] + : void 0; + return ( + L.push( + E( + "div", + { + class: + "q-chip__content col row no-wrap items-center q-anchor--skip", + }, + Pb(t.default, F) + ) + ), + e.iconRight && + L.push( + E(Wt, { + class: "q-chip__icon q-chip__icon--right", + name: e.iconRight, + }) + ), + e.removable === !0 && + L.push( + E(Wt, { + class: "q-chip__icon q-chip__icon--remove cursor-pointer", + name: f.value, + ...T.value.remove, + onClick: P, + onKeyup: P, + }) + ), + L + ); + } + return () => { + if (e.modelValue === !1) return; + const L = { class: v.value, style: s.value }; + return ( + g.value === !0 && + Object.assign(L, T.value.chip, { onClick: _, onKeyup: M }), + Ku( + "div", + L, + $(), + "ripple", + e.ripple !== !1 && e.disable !== !0, + () => [[Qu, e.ripple]] + ) + ); + }; + }, + }), + kr = Je({ + name: "QList", + props: { + ...ir, + bordered: Boolean, + dense: Boolean, + separator: Boolean, + padding: Boolean, + tag: { type: String, default: "div" }, + }, + setup(e, { slots: t }) { + const r = Dt(), + a = ar(e, r.proxy.$q), + l = I( + () => + "q-list" + + (e.bordered === !0 ? " q-list--bordered" : "") + + (e.dense === !0 ? " q-list--dense" : "") + + (e.separator === !0 ? " q-list--separator" : "") + + (a.value === !0 ? " q-list--dark" : "") + + (e.padding === !0 ? " q-list--padding" : "") + ); + return () => E(e.tag, { class: l.value }, Mt(t.default)); + }, + }); +const hw = ["horizontal", "vertical", "cell", "none"]; +var gw = Je({ + name: "QMarkupTable", + props: { + ...ir, + dense: Boolean, + flat: Boolean, + bordered: Boolean, + square: Boolean, + wrapCells: Boolean, + separator: { + type: String, + default: "horizontal", + validator: (e) => hw.includes(e), + }, + }, + setup(e, { slots: t }) { + const r = Dt(), + a = ar(e, r.proxy.$q), + l = I( + () => + `q-markup-table q-table__container q-table__card q-table--${e.separator}-separator` + + (a.value === !0 ? " q-table--dark q-table__card--dark q-dark" : "") + + (e.dense === !0 ? " q-table--dense" : "") + + (e.flat === !0 ? " q-table--flat" : "") + + (e.bordered === !0 ? " q-table--bordered" : "") + + (e.square === !0 ? " q-table--square" : "") + + (e.wrapCells === !1 ? " q-table--no-wrap" : "") + ); + return () => + E("div", { class: l.value }, [ + E("table", { class: "q-table" }, Mt(t.default)), + ]); + }, +}); +function mw(e, t) { + return E("div", e, [E("table", { class: "q-table" }, t)]); +} +let Ba = !1; +{ + const e = document.createElement("div"); + e.setAttribute("dir", "rtl"), + Object.assign(e.style, { width: "1px", height: "1px", overflow: "auto" }); + const t = document.createElement("div"); + Object.assign(t.style, { width: "1000px", height: "1px" }), + document.body.appendChild(e), + e.appendChild(t), + (e.scrollLeft = -1e3), + (Ba = e.scrollLeft >= 0), + e.remove(); +} +const Yn = 1e3, + vw = ["start", "center", "end", "start-force", "center-force", "end-force"], + Xh = Array.prototype.filter, + pw = + window.getComputedStyle(document.body).overflowAnchor === void 0 + ? Eh + : function (e, t) { + e !== null && + (e._qOverflowAnimationFrame !== void 0 && + cancelAnimationFrame(e._qOverflowAnimationFrame), + (e._qOverflowAnimationFrame = requestAnimationFrame(() => { + if (e === null) return; + e._qOverflowAnimationFrame = void 0; + const r = e.children || []; + Xh.call( + r, + (l) => l.dataset && l.dataset.qVsAnchor !== void 0 + ).forEach((l) => { + delete l.dataset.qVsAnchor; + }); + const a = r[t]; + a && a.dataset && (a.dataset.qVsAnchor = ""); + }))); + }; +function Qi(e, t) { + return e + t; +} +function hu(e, t, r, a, l, s, u, d) { + const f = + e === window ? document.scrollingElement || document.documentElement : e, + g = l === !0 ? "offsetWidth" : "offsetHeight", + v = { + scrollStart: 0, + scrollViewSize: -u - d, + scrollMaxSize: 0, + offsetStart: -u, + offsetEnd: -d, + }; + if ( + (l === !0 + ? (e === window + ? ((v.scrollStart = + window.pageXOffset || + window.scrollX || + document.body.scrollLeft || + 0), + (v.scrollViewSize += document.documentElement.clientWidth)) + : ((v.scrollStart = f.scrollLeft), + (v.scrollViewSize += f.clientWidth)), + (v.scrollMaxSize = f.scrollWidth), + s === !0 && + (v.scrollStart = + (Ba === !0 ? v.scrollMaxSize - v.scrollViewSize : 0) - + v.scrollStart)) + : (e === window + ? ((v.scrollStart = + window.pageYOffset || + window.scrollY || + document.body.scrollTop || + 0), + (v.scrollViewSize += document.documentElement.clientHeight)) + : ((v.scrollStart = f.scrollTop), + (v.scrollViewSize += f.clientHeight)), + (v.scrollMaxSize = f.scrollHeight)), + r !== null) + ) + for ( + let T = r.previousElementSibling; + T !== null; + T = T.previousElementSibling + ) + T.classList.contains("q-virtual-scroll--skip") === !1 && + (v.offsetStart += T[g]); + if (a !== null) + for (let T = a.nextElementSibling; T !== null; T = T.nextElementSibling) + T.classList.contains("q-virtual-scroll--skip") === !1 && + (v.offsetEnd += T[g]); + if (t !== e) { + const T = f.getBoundingClientRect(), + M = t.getBoundingClientRect(); + l === !0 + ? ((v.offsetStart += M.left - T.left), (v.offsetEnd -= M.width)) + : ((v.offsetStart += M.top - T.top), (v.offsetEnd -= M.height)), + e !== window && (v.offsetStart += v.scrollStart), + (v.offsetEnd += v.scrollMaxSize - v.offsetStart); + } + return v; +} +function ch(e, t, r, a) { + t === "end" && + (t = (e === window ? document.body : e)[ + r === !0 ? "scrollWidth" : "scrollHeight" + ]), + e === window + ? r === !0 + ? (a === !0 && + (t = + (Ba === !0 + ? document.body.scrollWidth - + document.documentElement.clientWidth + : 0) - t), + window.scrollTo( + t, + window.pageYOffset || window.scrollY || document.body.scrollTop || 0 + )) + : window.scrollTo( + window.pageXOffset || + window.scrollX || + document.body.scrollLeft || + 0, + t + ) + : r === !0 + ? (a === !0 && (t = (Ba === !0 ? e.scrollWidth - e.offsetWidth : 0) - t), + (e.scrollLeft = t)) + : (e.scrollTop = t); +} +function Ta(e, t, r, a) { + if (r >= a) return 0; + const l = t.length, + s = Math.floor(r / Yn), + u = Math.floor((a - 1) / Yn) + 1; + let d = e.slice(s, u).reduce(Qi, 0); + return ( + r % Yn !== 0 && (d -= t.slice(s * Yn, r).reduce(Qi, 0)), + a % Yn !== 0 && a !== l && (d -= t.slice(a, u * Yn).reduce(Qi, 0)), + d + ); +} +const yw = { + virtualScrollSliceSize: { type: [Number, String], default: null }, + virtualScrollSliceRatioBefore: { type: [Number, String], default: 1 }, + virtualScrollSliceRatioAfter: { type: [Number, String], default: 1 }, + virtualScrollItemSize: { type: [Number, String], default: 24 }, + virtualScrollStickySizeStart: { type: [Number, String], default: 0 }, + virtualScrollStickySizeEnd: { type: [Number, String], default: 0 }, + tableColspan: [Number, String], + }, + eg = { virtualScrollHorizontal: Boolean, onVirtualScroll: Function, ...yw }; +function tg({ + virtualScrollLength: e, + getVirtualScrollTarget: t, + getVirtualScrollEl: r, + virtualScrollItemSizeComputed: a, +}) { + const l = Dt(), + { props: s, emit: u, proxy: d } = l, + { $q: f } = d; + let g, + v, + T, + M = [], + _; + const P = se(0), + $ = se(0), + L = se({}), + F = se(null), + W = se(null), + D = se(null), + A = se({ from: 0, to: 0 }), + N = I(() => (s.tableColspan !== void 0 ? s.tableColspan : 100)); + a === void 0 && (a = I(() => s.virtualScrollItemSize)); + const J = I(() => a.value + ";" + s.virtualScrollHorizontal), + z = I( + () => + J.value + + ";" + + s.virtualScrollSliceRatioBefore + + ";" + + s.virtualScrollSliceRatioAfter + ); + ze(z, () => { + j(); + }), + ze(J, H); + function H() { + Be(v, !0); + } + function pe(Z) { + Be(Z === void 0 ? v : Z); + } + function _e(Z, he) { + const fe = t(); + if (fe == null || fe.nodeType === 8) return; + const Ke = hu( + fe, + r(), + F.value, + W.value, + s.virtualScrollHorizontal, + f.lang.rtl, + s.virtualScrollStickySizeStart, + s.virtualScrollStickySizeEnd + ); + T !== Ke.scrollViewSize && j(Ke.scrollViewSize), + lt( + fe, + Ke, + Math.min(e.value - 1, Math.max(0, parseInt(Z, 10) || 0)), + 0, + vw.indexOf(he) > -1 ? he : v > -1 && Z > v ? "end" : "start" + ); + } + function Pe() { + const Z = t(); + if (Z == null || Z.nodeType === 8) return; + const he = hu( + Z, + r(), + F.value, + W.value, + s.virtualScrollHorizontal, + f.lang.rtl, + s.virtualScrollStickySizeStart, + s.virtualScrollStickySizeEnd + ), + fe = e.value - 1, + Ke = he.scrollMaxSize - he.offsetStart - he.offsetEnd - $.value; + if (g === he.scrollStart) return; + if (he.scrollMaxSize <= 0) { + lt(Z, he, 0, 0); + return; + } + T !== he.scrollViewSize && j(he.scrollViewSize), te(A.value.from); + const Ve = Math.floor( + he.scrollMaxSize - + Math.max(he.scrollViewSize, he.offsetEnd) - + Math.min(_[fe], he.scrollViewSize / 2) + ); + if (Ve > 0 && Math.ceil(he.scrollStart) >= Ve) { + lt(Z, he, fe, he.scrollMaxSize - he.offsetEnd - M.reduce(Qi, 0)); + return; + } + let we = 0, + Me = he.scrollStart - he.offsetStart, + ft = Me; + if (Me <= Ke && Me + he.scrollViewSize >= P.value) + (Me -= P.value), (we = A.value.from), (ft = Me); + else + for (let ee = 0; Me >= M[ee] && we < fe; ee++) (Me -= M[ee]), (we += Yn); + for (; Me > 0 && we < fe; ) + (Me -= _[we]), + Me > -he.scrollViewSize ? (we++, (ft = Me)) : (ft = _[we] + Me); + lt(Z, he, we, ft); + } + function lt(Z, he, fe, Ke, Ve) { + const we = typeof Ve == "string" && Ve.indexOf("-force") > -1, + Me = we === !0 ? Ve.replace("-force", "") : Ve, + ft = Me !== void 0 ? Me : "start"; + let ee = Math.max(0, fe - L.value[ft]), + wt = ee + L.value.total; + wt > e.value && ((wt = e.value), (ee = Math.max(0, wt - L.value.total))), + (g = he.scrollStart); + const nn = ee !== A.value.from || wt !== A.value.to; + if (nn === !1 && Me === void 0) { + me(fe); + return; + } + const { activeElement: un } = document, + rn = D.value; + nn === !0 && + rn !== null && + rn !== un && + rn.contains(un) === !0 && + (rn.addEventListener("focusout", xe), + setTimeout(() => { + rn !== null && rn.removeEventListener("focusout", xe); + })), + pw(rn, fe - ee); + const qt = Me !== void 0 ? _.slice(ee, fe).reduce(Qi, 0) : 0; + if (nn === !0) { + const Gt = wt >= A.value.from && ee <= A.value.to ? A.value.to : wt; + (A.value = { from: ee, to: Gt }), + (P.value = Ta(M, _, 0, ee)), + ($.value = Ta(M, _, wt, e.value)), + requestAnimationFrame(() => { + A.value.to !== wt && + g === he.scrollStart && + ((A.value = { from: A.value.from, to: wt }), + ($.value = Ta(M, _, wt, e.value))); + }); + } + requestAnimationFrame(() => { + if (g !== he.scrollStart) return; + nn === !0 && te(ee); + const Gt = _.slice(ee, fe).reduce(Qi, 0), + Zn = Gt + he.offsetStart + P.value, + Kt = Zn + _[fe]; + let Bn = Zn + Ke; + if (Me !== void 0) { + const Pr = Gt - qt, + St = he.scrollStart + Pr; + Bn = + we !== !0 && St < Zn && Kt < St + he.scrollViewSize + ? St + : Me === "end" + ? Kt - he.scrollViewSize + : Zn - + (Me === "start" + ? 0 + : Math.round((he.scrollViewSize - _[fe]) / 2)); + } + (g = Bn), ch(Z, Bn, s.virtualScrollHorizontal, f.lang.rtl), me(fe); + }); + } + function te(Z) { + const he = D.value; + if (he) { + const fe = Xh.call( + he.children, + (ee) => + ee.classList && + ee.classList.contains("q-virtual-scroll--skip") === !1 + ), + Ke = fe.length, + Ve = + s.virtualScrollHorizontal === !0 + ? (ee) => ee.getBoundingClientRect().width + : (ee) => ee.offsetHeight; + let we = Z, + Me, + ft; + for (let ee = 0; ee < Ke; ) { + for ( + Me = Ve(fe[ee]), ee++; + ee < Ke && + fe[ee].classList.contains("q-virtual-scroll--with-prev") === !0; + + ) + (Me += Ve(fe[ee])), ee++; + (ft = Me - _[we]), + ft !== 0 && ((_[we] += ft), (M[Math.floor(we / Yn)] += ft)), + we++; + } + } + } + function xe() { + D.value !== null && D.value !== void 0 && D.value.focus(); + } + function Be(Z, he) { + const fe = 1 * a.value; + (he === !0 || Array.isArray(_) === !1) && (_ = []); + const Ke = _.length; + _.length = e.value; + for (let we = e.value - 1; we >= Ke; we--) _[we] = fe; + const Ve = Math.floor((e.value - 1) / Yn); + M = []; + for (let we = 0; we <= Ve; we++) { + let Me = 0; + const ft = Math.min((we + 1) * Yn, e.value); + for (let ee = we * Yn; ee < ft; ee++) Me += _[ee]; + M.push(Me); + } + (v = -1), + (g = void 0), + (P.value = Ta(M, _, 0, A.value.from)), + ($.value = Ta(M, _, A.value.to, e.value)), + Z >= 0 + ? (te(A.value.from), + Sn(() => { + _e(Z); + })) + : rt(); + } + function j(Z) { + if (Z === void 0 && typeof window != "undefined") { + const Me = t(); + Me != null && + Me.nodeType !== 8 && + (Z = hu( + Me, + r(), + F.value, + W.value, + s.virtualScrollHorizontal, + f.lang.rtl, + s.virtualScrollStickySizeStart, + s.virtualScrollStickySizeEnd + ).scrollViewSize); + } + T = Z; + const he = parseFloat(s.virtualScrollSliceRatioBefore) || 0, + fe = parseFloat(s.virtualScrollSliceRatioAfter) || 0, + Ke = 1 + he + fe, + Ve = Z === void 0 || Z <= 0 ? 1 : Math.ceil(Z / a.value), + we = Math.max( + 1, + Ve, + Math.ceil( + (s.virtualScrollSliceSize > 0 ? s.virtualScrollSliceSize : 10) / Ke + ) + ); + L.value = { + total: Math.ceil(we * Ke), + start: Math.ceil(we * he), + center: Math.ceil(we * (0.5 + he)), + end: Math.ceil(we * (1 + he)), + view: Ve, + }; + } + function K(Z, he) { + const fe = s.virtualScrollHorizontal === !0 ? "width" : "height", + Ke = { ["--q-virtual-scroll-item-" + fe]: a.value + "px" }; + return [ + Z === "tbody" + ? E(Z, { class: "q-virtual-scroll__padding", key: "before", ref: F }, [ + E("tr", [ + E("td", { + style: { [fe]: `${P.value}px`, ...Ke }, + colspan: N.value, + }), + ]), + ]) + : E(Z, { + class: "q-virtual-scroll__padding", + key: "before", + ref: F, + style: { [fe]: `${P.value}px`, ...Ke }, + }), + E( + Z, + { + class: "q-virtual-scroll__content", + key: "content", + ref: D, + tabindex: -1, + }, + he.flat() + ), + Z === "tbody" + ? E(Z, { class: "q-virtual-scroll__padding", key: "after", ref: W }, [ + E("tr", [ + E("td", { + style: { [fe]: `${$.value}px`, ...Ke }, + colspan: N.value, + }), + ]), + ]) + : E(Z, { + class: "q-virtual-scroll__padding", + key: "after", + ref: W, + style: { [fe]: `${$.value}px`, ...Ke }, + }), + ]; + } + function me(Z) { + v !== Z && + (s.onVirtualScroll !== void 0 && + u("virtualScroll", { + index: Z, + from: A.value.from, + to: A.value.to - 1, + direction: Z < v ? "decrease" : "increase", + ref: d, + }), + (v = Z)); + } + j(); + const rt = ju(Pe, f.platform.is.ios === !0 ? 120 : 35); + Zu(() => { + j(); + }); + let X = !1; + return ( + ia(() => { + X = !0; + }), + aa(() => { + if (X !== !0) return; + const Z = t(); + g !== void 0 && Z !== void 0 && Z !== null && Z.nodeType !== 8 + ? ch(Z, g, s.virtualScrollHorizontal, f.lang.rtl) + : _e(v); + }), + Ht(() => { + rt.cancel(); + }), + Object.assign(d, { scrollTo: _e, reset: H, refresh: pe }), + { + virtualScrollSliceRange: A, + virtualScrollSliceSizeComputed: L, + setVirtualScrollSize: j, + onVirtualScrollEvt: rt, + localResetVirtualScroll: Be, + padVirtualScroll: K, + scrollTo: _e, + reset: H, + refresh: pe, + } + ); +} +const _w = { list: kr, table: gw }, + bw = ["list", "table", "__qtable"]; +var tc = Je({ + name: "QVirtualScroll", + props: { + ...eg, + type: { type: String, default: "list", validator: (e) => bw.includes(e) }, + items: { type: Array, default: () => [] }, + itemsFn: Function, + itemsSize: Number, + scrollTarget: { default: void 0 }, + }, + setup(e, { slots: t, attrs: r }) { + let a; + const l = se(null), + s = I(() => + e.itemsSize >= 0 && e.itemsFn !== void 0 + ? parseInt(e.itemsSize, 10) + : Array.isArray(e.items) + ? e.items.length + : 0 + ), + { + virtualScrollSliceRange: u, + localResetVirtualScroll: d, + padVirtualScroll: f, + onVirtualScrollEvt: g, + } = tg({ + virtualScrollLength: s, + getVirtualScrollTarget: P, + getVirtualScrollEl: _, + }), + v = I(() => { + if (s.value === 0) return []; + const W = (D, A) => ({ index: u.value.from + A, item: D }); + return e.itemsFn === void 0 + ? e.items.slice(u.value.from, u.value.to).map(W) + : e.itemsFn(u.value.from, u.value.to - u.value.from).map(W); + }), + T = I( + () => + "q-virtual-scroll q-virtual-scroll" + + (e.virtualScrollHorizontal === !0 ? "--horizontal" : "--vertical") + + (e.scrollTarget !== void 0 ? "" : " scroll") + ), + M = I(() => (e.scrollTarget !== void 0 ? {} : { tabindex: 0 })); + ze(s, () => { + d(); + }), + ze( + () => e.scrollTarget, + () => { + L(), $(); + } + ); + function _() { + return l.value.$el || l.value; + } + function P() { + return a; + } + function $() { + (a = Mo(_(), e.scrollTarget)), + a.addEventListener("scroll", g, Xi.passive); + } + function L() { + a !== void 0 && + (a.removeEventListener("scroll", g, Xi.passive), (a = void 0)); + } + function F() { + let W = f(e.type === "list" ? "div" : "tbody", v.value.map(t.default)); + return t.before !== void 0 && (W = t.before().concat(W)), _i(t.after, W); + } + return ( + Zu(() => { + d(); + }), + Xr(() => { + $(); + }), + aa(() => { + $(); + }), + ia(() => { + L(); + }), + Ht(() => { + L(); + }), + () => { + if (t.default === void 0) { + console.error( + "QVirtualScroll: default scoped slot is required for rendering" + ); + return; + } + return e.type === "__qtable" + ? mw({ ref: l, class: "q-table__middle " + T.value }, F()) + : E( + _w[e.type], + { ...r, ref: l, class: [r.class, T.value], ...M.value }, + F + ); + } + ); + }, +}); +const ww = [ + E("circle", { cx: "15", cy: "15", r: "15" }, [ + E("animate", { + attributeName: "r", + from: "15", + to: "15", + begin: "0s", + dur: "0.8s", + values: "15;9;15", + calcMode: "linear", + repeatCount: "indefinite", + }), + E("animate", { + attributeName: "fill-opacity", + from: "1", + to: "1", + begin: "0s", + dur: "0.8s", + values: "1;.5;1", + calcMode: "linear", + repeatCount: "indefinite", + }), + ]), + E("circle", { cx: "60", cy: "15", r: "9", "fill-opacity": ".3" }, [ + E("animate", { + attributeName: "r", + from: "9", + to: "9", + begin: "0s", + dur: "0.8s", + values: "9;15;9", + calcMode: "linear", + repeatCount: "indefinite", + }), + E("animate", { + attributeName: "fill-opacity", + from: ".5", + to: ".5", + begin: "0s", + dur: "0.8s", + values: ".5;1;.5", + calcMode: "linear", + repeatCount: "indefinite", + }), + ]), + E("circle", { cx: "105", cy: "15", r: "15" }, [ + E("animate", { + attributeName: "r", + from: "15", + to: "15", + begin: "0s", + dur: "0.8s", + values: "15;9;15", + calcMode: "linear", + repeatCount: "indefinite", + }), + E("animate", { + attributeName: "fill-opacity", + from: "1", + to: "1", + begin: "0s", + dur: "0.8s", + values: "1;.5;1", + calcMode: "linear", + repeatCount: "indefinite", + }), + ]), +]; +var Au = Je({ + name: "QSpinnerDots", + props: Ab, + setup(e) { + const { cSize: t, classes: r } = Eb(e); + return () => + E( + "svg", + { + class: r.value, + fill: "currentColor", + width: t.value, + height: t.value, + viewBox: "0 0 120 30", + xmlns: "http://www.w3.org/2000/svg", + }, + ww + ); + }, +}); +const Sw = { ratio: [String, Number] }; +function kw(e, t) { + return I(() => { + const r = Number(e.ratio || (t !== void 0 ? t.value : void 0)); + return isNaN(r) !== !0 && r > 0 ? { paddingBottom: `${100 / r}%` } : null; + }); +} +const Cw = 16 / 9; +var nc = Je({ + name: "QImg", + props: { + ...Sw, + src: String, + srcset: String, + sizes: String, + alt: String, + crossorigin: String, + decoding: String, + referrerpolicy: String, + draggable: Boolean, + loading: { type: String, default: "lazy" }, + fetchpriority: { type: String, default: "auto" }, + width: String, + height: String, + initialRatio: { type: [Number, String], default: Cw }, + placeholderSrc: String, + fit: { type: String, default: "cover" }, + position: { type: String, default: "50% 50%" }, + imgClass: String, + imgStyle: Object, + noSpinner: Boolean, + noNativeMenu: Boolean, + noTransition: Boolean, + spinnerColor: String, + spinnerSize: String, + }, + emits: ["load", "error"], + setup(e, { slots: t, emit: r }) { + const a = se(e.initialRatio), + l = kw(e, a); + let s = null, + u = !1; + const d = [se(null), se(L())], + f = se(0), + g = se(!1), + v = se(!1), + T = I(() => `q-img q-img--${e.noNativeMenu === !0 ? "no-" : ""}menu`), + M = I(() => ({ width: e.width, height: e.height })), + _ = I( + () => + `q-img__image ${ + e.imgClass !== void 0 ? e.imgClass + " " : "" + }q-img__image--with${e.noTransition === !0 ? "out" : ""}-transition` + ), + P = I(() => ({ + ...e.imgStyle, + objectFit: e.fit, + objectPosition: e.position, + })); + ze(() => $(), F); + function $() { + return e.src || e.srcset || e.sizes + ? { src: e.src, srcset: e.srcset, sizes: e.sizes } + : null; + } + function L() { + return e.placeholderSrc !== void 0 ? { src: e.placeholderSrc } : null; + } + function F(H) { + s !== null && (clearTimeout(s), (s = null)), + (v.value = !1), + H === null + ? ((g.value = !1), (d[f.value ^ 1].value = L())) + : (g.value = !0), + (d[f.value].value = H); + } + function W({ target: H }) { + u !== !0 && + (s !== null && (clearTimeout(s), (s = null)), + (a.value = + H.naturalHeight === 0 ? 0.5 : H.naturalWidth / H.naturalHeight), + D(H, 1)); + } + function D(H, pe) { + u === !0 || + pe === 1e3 || + (H.complete === !0 + ? A(H) + : (s = setTimeout(() => { + (s = null), D(H, pe + 1); + }, 50))); + } + function A(H) { + u !== !0 && + ((f.value = f.value ^ 1), + (d[f.value].value = null), + (g.value = !1), + (v.value = !1), + r("load", H.currentSrc || H.src)); + } + function N(H) { + s !== null && (clearTimeout(s), (s = null)), + (g.value = !1), + (v.value = !0), + (d[f.value].value = null), + (d[f.value ^ 1].value = L()), + r("error", H); + } + function J(H) { + const pe = d[H].value, + _e = { + key: "img_" + H, + class: _.value, + style: P.value, + crossorigin: e.crossorigin, + decoding: e.decoding, + referrerpolicy: e.referrerpolicy, + height: e.height, + width: e.width, + loading: e.loading, + fetchpriority: e.fetchpriority, + "aria-hidden": "true", + draggable: e.draggable, + ...pe, + }; + return ( + f.value === H + ? ((_e.class += " q-img__image--waiting"), + Object.assign(_e, { onLoad: W, onError: N })) + : (_e.class += " q-img__image--loaded"), + E( + "div", + { class: "q-img__container absolute-full", key: "img" + H }, + E("img", _e) + ) + ); + } + function z() { + return g.value !== !0 + ? E( + "div", + { + key: "content", + class: "q-img__content absolute-full q-anchor--skip", + }, + Mt(t[v.value === !0 ? "error" : "default"]) + ) + : E( + "div", + { + key: "loading", + class: "q-img__loading absolute-full flex flex-center", + }, + t.loading !== void 0 + ? t.loading() + : e.noSpinner === !0 + ? void 0 + : [E(Ih, { color: e.spinnerColor, size: e.spinnerSize })] + ); + } + return ( + F($()), + Ht(() => { + (u = !0), s !== null && (clearTimeout(s), (s = null)); + }), + () => { + const H = []; + return ( + l.value !== null && + H.push(E("div", { key: "filler", style: l.value })), + v.value !== !0 && + (d[0].value !== null && H.push(J(0)), + d[1].value !== null && H.push(J(1))), + H.push(E(Ya, { name: "q-transition--fade" }, z)), + E( + "div", + { + class: T.value, + style: M.value, + role: "img", + "aria-label": e.alt, + }, + H + ) + ); + } + ); + }, + }), + Tw = Je({ + name: "QBanner", + props: { ...ir, inlineActions: Boolean, dense: Boolean, rounded: Boolean }, + setup(e, { slots: t }) { + const { + proxy: { $q: r }, + } = Dt(), + a = ar(e, r), + l = I( + () => + "q-banner row items-center" + + (e.dense === !0 ? " q-banner--dense" : "") + + (a.value === !0 ? " q-banner--dark q-dark" : "") + + (e.rounded === !0 ? " rounded-borders" : "") + ), + s = I( + () => + `q-banner__actions row items-center justify-end col-${ + e.inlineActions === !0 ? "auto" : "all" + }` + ); + return () => { + const u = [ + E( + "div", + { + class: "q-banner__avatar col-auto row items-center self-start", + }, + Mt(t.avatar) + ), + E( + "div", + { class: "q-banner__content col text-body2" }, + Mt(t.default) + ), + ], + d = Mt(t.action); + return ( + d !== void 0 && u.push(E("div", { class: s.value }, d)), + E( + "div", + { + class: + l.value + + (e.inlineActions === !1 && d !== void 0 + ? " q-banner--top-padding" + : ""), + role: "alert", + }, + u + ) + ); + }; + }, + }), + Ie = Je({ + name: "QItemSection", + props: { + avatar: Boolean, + thumbnail: Boolean, + side: Boolean, + top: Boolean, + noWrap: Boolean, + }, + setup(e, { slots: t }) { + const r = I( + () => + `q-item__section column q-item__section--${ + e.avatar === !0 || e.side === !0 || e.thumbnail === !0 + ? "side" + : "main" + }` + + (e.top === !0 + ? " q-item__section--top justify-start" + : " justify-center") + + (e.avatar === !0 ? " q-item__section--avatar" : "") + + (e.thumbnail === !0 ? " q-item__section--thumbnail" : "") + + (e.noWrap === !0 ? " q-item__section--nowrap" : "") + ); + return () => E("div", { class: r.value }, Mt(t.default)); + }, + }), + Ge = Je({ + name: "QItemLabel", + props: { + overline: Boolean, + caption: Boolean, + header: Boolean, + lines: [Number, String], + }, + setup(e, { slots: t }) { + const r = I(() => parseInt(e.lines, 10)), + a = I( + () => + "q-item__label" + + (e.overline === !0 + ? " q-item__label--overline text-overline" + : "") + + (e.caption === !0 ? " q-item__label--caption text-caption" : "") + + (e.header === !0 ? " q-item__label--header" : "") + + (r.value === 1 ? " ellipsis" : "") + ), + l = I(() => + e.lines !== void 0 && r.value > 1 + ? { + overflow: "hidden", + display: "-webkit-box", + "-webkit-box-orient": "vertical", + "-webkit-line-clamp": r.value, + } + : null + ); + return () => E("div", { style: l.value, class: a.value }, Mt(t.default)); + }, + }), + zt = Je({ + name: "QItem", + props: { + ...ir, + ...Do, + tag: { type: String, default: "div" }, + active: { type: Boolean, default: null }, + clickable: Boolean, + dense: Boolean, + insetLevel: Number, + tabindex: [String, Number], + focused: Boolean, + manualFocus: Boolean, + }, + emits: ["click", "keyup"], + setup(e, { slots: t, emit: r }) { + const { + proxy: { $q: a }, + } = Dt(), + l = ar(e, a), + { + hasLink: s, + linkAttrs: u, + linkClass: d, + linkTag: f, + navigateOnClick: g, + } = $h(), + v = se(null), + T = se(null), + M = I(() => e.clickable === !0 || s.value === !0 || e.tag === "label"), + _ = I(() => e.disable !== !0 && M.value === !0), + P = I( + () => + "q-item q-item-type row no-wrap" + + (e.dense === !0 ? " q-item--dense" : "") + + (l.value === !0 ? " q-item--dark" : "") + + (s.value === !0 && e.active === null + ? d.value + : e.active === !0 + ? ` q-item--active${ + e.activeClass !== void 0 ? ` ${e.activeClass}` : "" + }` + : "") + + (e.disable === !0 ? " disabled" : "") + + (_.value === !0 + ? " q-item--clickable q-link cursor-pointer " + + (e.manualFocus === !0 + ? "q-manual-focusable" + : "q-focusable q-hoverable") + + (e.focused === !0 ? " q-manual-focusable--focused" : "") + : "") + ), + $ = I(() => { + if (e.insetLevel === void 0) return null; + const D = a.lang.rtl === !0 ? "Right" : "Left"; + return { ["padding" + D]: 16 + e.insetLevel * 56 + "px" }; + }); + function L(D) { + _.value === !0 && + (T.value !== null && + (D.qKeyEvent !== !0 && document.activeElement === v.value + ? T.value.focus() + : document.activeElement === T.value && v.value.focus()), + g(D)); + } + function F(D) { + if (_.value === !0 && Wa(D, 13) === !0) { + Ft(D), (D.qKeyEvent = !0); + const A = new MouseEvent("click", D); + (A.qKeyEvent = !0), v.value.dispatchEvent(A); + } + r("keyup", D); + } + function W() { + const D = Rh(t.default, []); + return ( + _.value === !0 && + D.unshift( + E("div", { class: "q-focus-helper", tabindex: -1, ref: T }) + ), + D + ); + } + return () => { + const D = { + ref: v, + class: P.value, + style: $.value, + role: "listitem", + onClick: L, + onKeyup: F, + }; + return ( + _.value === !0 + ? ((D.tabindex = e.tabindex || "0"), Object.assign(D, u.value)) + : M.value === !0 && (D["aria-disabled"] = "true"), + E(f.value, D, W()) + ); + }; + }, + }), + Mw = Je({ + name: "QBtnGroup", + props: { + unelevated: Boolean, + outline: Boolean, + flat: Boolean, + rounded: Boolean, + square: Boolean, + push: Boolean, + stretch: Boolean, + glossy: Boolean, + spread: Boolean, + }, + setup(e, { slots: t }) { + const r = I(() => { + const a = [ + "unelevated", + "outline", + "flat", + "rounded", + "square", + "push", + "stretch", + "glossy", + ] + .filter((l) => e[l] === !0) + .map((l) => `q-btn-group--${l}`) + .join(" "); + return ( + `q-btn-group row no-wrap${a.length !== 0 ? " " + a : ""}` + + (e.spread === !0 ? " q-btn-group--spread" : " inline") + ); + }); + return () => E("div", { class: r.value }, Mt(t.default)); + }, + }), + ng = Je({ + name: "QMenu", + inheritAttrs: !1, + props: { + ...Kh, + ...Wu, + ...ir, + ...Yu, + persistent: Boolean, + autoClose: Boolean, + separateClosePopup: Boolean, + noRouteDismiss: Boolean, + noRefocus: Boolean, + noFocus: Boolean, + fit: Boolean, + cover: Boolean, + square: Boolean, + anchor: { type: String, validator: vo }, + self: { type: String, validator: vo }, + offset: { type: Array, validator: Jh }, + scrollTarget: { default: void 0 }, + touchPosition: Boolean, + maxHeight: { type: String, default: null }, + maxWidth: { type: String, default: null }, + }, + emits: [...Hu, "click", "escapeKey"], + setup(e, { slots: t, emit: r, attrs: a }) { + let l = null, + s, + u, + d; + const f = Dt(), + { proxy: g } = f, + { $q: v } = g, + T = se(null), + M = se(!1), + _ = I(() => e.persistent !== !0 && e.noRouteDismiss !== !0), + P = ar(e, v), + { registerTick: $, removeTick: L } = $a(), + { registerTimeout: F } = oo(), + { transitionProps: W, transitionStyle: D } = Ph(e), + { + localScrollTarget: A, + changeScrollEvent: N, + unconfigureScrollTarget: J, + } = jh(e, fe), + { anchorEl: z, canShow: H } = Qh({ showing: M }), + { hide: pe } = Gu({ + showing: M, + canShow: H, + handleShow: X, + handleHide: Z, + hideOnRouteChange: _, + processOnMount: !0, + }), + { + showPortal: _e, + hidePortal: Pe, + renderPortal: lt, + } = Ah(f, T, ft, "menu"), + te = { + anchorEl: z, + innerRef: T, + onClickOutside(ee) { + if (e.persistent !== !0 && M.value === !0) + return ( + pe(ee), + (ee.type === "touchstart" || + ee.target.classList.contains("q-dialog__backdrop")) && + Ft(ee), + !0 + ); + }, + }, + xe = I(() => + po( + e.anchor || (e.cover === !0 ? "center middle" : "bottom start"), + v.lang.rtl + ) + ), + Be = I(() => + e.cover === !0 ? xe.value : po(e.self || "top start", v.lang.rtl) + ), + j = I( + () => + (e.square === !0 ? " q-menu--square" : "") + + (P.value === !0 ? " q-menu--dark q-dark" : "") + ), + K = I(() => (e.autoClose === !0 ? { onClick: Ke } : {})), + me = I(() => M.value === !0 && e.persistent !== !0); + ze(me, (ee) => { + ee === !0 ? ($b(we), Zh(te)) : (Xf(we), mo(te)); + }); + function rt() { + Nh(() => { + let ee = T.value; + ee && + ee.contains(document.activeElement) !== !0 && + ((ee = + ee.querySelector( + "[autofocus][tabindex], [data-autofocus][tabindex]" + ) || + ee.querySelector( + "[autofocus] [tabindex], [data-autofocus] [tabindex]" + ) || + ee.querySelector("[autofocus], [data-autofocus]") || + ee), + ee.focus({ preventScroll: !0 })); + }); + } + function X(ee) { + if ( + ((l = e.noRefocus === !1 ? document.activeElement : null), + Oh(Ve), + _e(), + fe(), + (s = void 0), + ee !== void 0 && (e.touchPosition || e.contextMenu)) + ) { + const wt = Du(ee); + if (wt.left !== void 0) { + const { top: nn, left: un } = z.value.getBoundingClientRect(); + s = { left: wt.left - un, top: wt.top - nn }; + } + } + u === void 0 && + (u = ze( + () => + v.screen.width + + "|" + + v.screen.height + + "|" + + e.self + + "|" + + e.anchor + + "|" + + v.lang.rtl, + Me + )), + e.noFocus !== !0 && document.activeElement.blur(), + $(() => { + Me(), e.noFocus !== !0 && rt(); + }), + F(() => { + v.platform.is.ios === !0 && ((d = e.autoClose), T.value.click()), + Me(), + _e(!0), + r("show", ee); + }, e.transitionDuration); + } + function Z(ee) { + L(), + Pe(), + he(!0), + l !== null && + (ee === void 0 || ee.qClickOutside !== !0) && + (( + (ee && ee.type.indexOf("key") === 0 + ? l.closest('[tabindex]:not([tabindex^="-"])') + : void 0) || l + ).focus(), + (l = null)), + F(() => { + Pe(!0), r("hide", ee); + }, e.transitionDuration); + } + function he(ee) { + (s = void 0), + u !== void 0 && (u(), (u = void 0)), + (ee === !0 || M.value === !0) && (Lh(Ve), J(), mo(te), Xf(we)), + ee !== !0 && (l = null); + } + function fe() { + (z.value !== null || e.scrollTarget !== void 0) && + ((A.value = Mo(z.value, e.scrollTarget)), N(A.value, Me)); + } + function Ke(ee) { + d !== !0 ? (Ib(g, ee), r("click", ee)) : (d = !1); + } + function Ve(ee) { + me.value === !0 && + e.noFocus !== !0 && + Rb(T.value, ee.target) !== !0 && + rt(); + } + function we(ee) { + r("escapeKey"), pe(ee); + } + function Me() { + ec({ + targetEl: T.value, + offset: e.offset, + anchorEl: z.value, + anchorOrigin: xe.value, + selfOrigin: Be.value, + absoluteOffset: s, + fit: e.fit, + cover: e.cover, + maxHeight: e.maxHeight, + maxWidth: e.maxWidth, + }); + } + function ft() { + return E(Ya, W.value, () => + M.value === !0 + ? E( + "div", + { + role: "menu", + ...a, + ref: T, + tabindex: -1, + class: ["q-menu q-position-engine scroll" + j.value, a.class], + style: [a.style, D.value], + ...K.value, + }, + Mt(t.default) + ) + : null + ); + } + return Ht(he), Object.assign(g, { focus: rt, updatePosition: Me }), lt; + }, + }); +const Dw = Object.keys(Bh), + qw = (e) => + Dw.reduce((t, r) => { + const a = e[r]; + return a !== void 0 && (t[r] = a), t; + }, {}); +var rg = Je({ + name: "QBtnDropdown", + props: { + ...Bh, + ...Yu, + modelValue: Boolean, + split: Boolean, + dropdownIcon: String, + contentClass: [Array, String, Object], + contentStyle: [Array, String, Object], + cover: Boolean, + persistent: Boolean, + noRouteDismiss: Boolean, + autoClose: Boolean, + menuAnchor: { type: String, default: "bottom end" }, + menuSelf: { type: String, default: "top end" }, + menuOffset: Array, + disableMainBtn: Boolean, + disableDropdown: Boolean, + noIconAnimation: Boolean, + toggleAriaLabel: String, + }, + emits: [ + "update:modelValue", + "click", + "beforeShow", + "show", + "beforeHide", + "hide", + ], + setup(e, { slots: t, emit: r }) { + const { proxy: a } = Dt(), + l = se(e.modelValue), + s = se(null), + u = so(), + d = I(() => { + const A = { + "aria-expanded": l.value === !0 ? "true" : "false", + "aria-haspopup": "true", + "aria-controls": u, + "aria-label": + e.toggleAriaLabel || + a.$q.lang.label[l.value === !0 ? "collapse" : "expand"](e.label), + }; + return ( + (e.disable === !0 || + (e.split === !1 && e.disableMainBtn === !0) || + e.disableDropdown === !0) && + (A["aria-disabled"] = "true"), + A + ); + }), + f = I( + () => + "q-btn-dropdown__arrow" + + (l.value === !0 && e.noIconAnimation === !1 ? " rotate-180" : "") + + (e.split === !1 ? " q-btn-dropdown__arrow-container" : "") + ), + g = I(() => Ob(e)), + v = I(() => qw(e)); + ze( + () => e.modelValue, + (A) => { + s.value !== null && s.value[A ? "show" : "hide"](); + } + ), + ze(() => e.split, D); + function T(A) { + (l.value = !0), r("beforeShow", A); + } + function M(A) { + r("show", A), r("update:modelValue", !0); + } + function _(A) { + (l.value = !1), r("beforeHide", A); + } + function P(A) { + r("hide", A), r("update:modelValue", !1); + } + function $(A) { + r("click", A); + } + function L(A) { + gi(A), D(), r("click", A); + } + function F(A) { + s.value !== null && s.value.toggle(A); + } + function W(A) { + s.value !== null && s.value.show(A); + } + function D(A) { + s.value !== null && s.value.hide(A); + } + return ( + Object.assign(a, { show: W, hide: D, toggle: F }), + Xr(() => { + e.modelValue === !0 && W(); + }), + () => { + const A = [ + E(Wt, { + class: f.value, + name: e.dropdownIcon || a.$q.iconSet.arrow.dropdown, + }), + ]; + return ( + e.disableDropdown !== !0 && + A.push( + E( + ng, + { + ref: s, + id: u, + class: e.contentClass, + style: e.contentStyle, + cover: e.cover, + fit: !0, + persistent: e.persistent, + noRouteDismiss: e.noRouteDismiss, + autoClose: e.autoClose, + anchor: e.menuAnchor, + self: e.menuSelf, + offset: e.menuOffset, + separateClosePopup: !0, + transitionShow: e.transitionShow, + transitionHide: e.transitionHide, + transitionDuration: e.transitionDuration, + onBeforeShow: T, + onShow: M, + onBeforeHide: _, + onHide: P, + }, + t.default + ) + ), + e.split === !1 + ? E( + ye, + { + class: "q-btn-dropdown q-btn-dropdown--simple", + ...v.value, + ...d.value, + disable: e.disable === !0 || e.disableMainBtn === !0, + noWrap: !0, + round: !1, + onClick: $, + }, + { + default: () => Mt(t.label, []).concat(A), + loading: t.loading, + } + ) + : E( + Mw, + { + class: + "q-btn-dropdown q-btn-dropdown--split no-wrap q-btn-item", + rounded: e.rounded, + square: e.square, + ...g.value, + glossy: e.glossy, + stretch: e.stretch, + }, + () => [ + E( + ye, + { + class: "q-btn-dropdown--current", + ...v.value, + disable: e.disable === !0 || e.disableMainBtn === !0, + noWrap: !0, + round: !1, + onClick: L, + }, + { default: t.label, loading: t.loading } + ), + E( + ye, + { + class: "q-btn-dropdown__arrow-container q-anchor--skip", + ...d.value, + ...g.value, + disable: e.disable === !0 || e.disableDropdown === !0, + rounded: e.rounded, + color: e.color, + textColor: e.textColor, + dense: e.dense, + size: e.size, + padding: e.padding, + ripple: e.ripple, + }, + () => A + ), + ] + ) + ); + } + ); + }, + }), + _r = Je({ + name: "QBreadcrumbsEl", + props: { + ...Do, + label: String, + icon: String, + tag: { type: String, default: "span" }, + }, + emits: ["click"], + setup(e, { slots: t }) { + const { + linkTag: r, + linkAttrs: a, + linkClass: l, + navigateOnClick: s, + } = $h(), + u = I(() => ({ + class: + "q-breadcrumbs__el q-link flex inline items-center relative-position " + + (e.disable !== !0 + ? "q-link--focusable" + l.value + : "q-breadcrumbs__el--disable"), + ...a.value, + onClick: s, + })), + d = I( + () => + "q-breadcrumbs__el-icon" + + (e.label !== void 0 ? " q-breadcrumbs__el-icon--with-label" : "") + ); + return () => { + const f = []; + return ( + e.icon !== void 0 && f.push(E(Wt, { class: d.value, name: e.icon })), + e.label !== void 0 && f.push(e.label), + E(r.value, { ...u.value }, _i(t.default, f)) + ); + }; + }, + }); +const xw = ["", !0]; +var Pw = Je({ + name: "QBreadcrumbs", + props: { + ...Lb, + separator: { type: String, default: "/" }, + separatorColor: String, + activeColor: { type: String, default: "primary" }, + gutter: { + type: String, + validator: (e) => ["none", "xs", "sm", "md", "lg", "xl"].includes(e), + default: "sm", + }, + }, + setup(e, { slots: t }) { + const r = Nb(e), + a = I( + () => + `flex items-center ${r.value}${ + e.gutter === "none" ? "" : ` q-gutter-${e.gutter}` + }` + ), + l = I(() => (e.separatorColor ? ` text-${e.separatorColor}` : "")), + s = I(() => ` text-${e.activeColor}`); + return () => { + const u = Ju(Mt(t.default)); + if (u.length === 0) return; + let d = 1; + const f = [], + g = u.filter( + (T) => T.type !== void 0 && T.type.name === "QBreadcrumbsEl" + ).length, + v = t.separator !== void 0 ? t.separator : () => e.separator; + return ( + u.forEach((T) => { + if (T.type !== void 0 && T.type.name === "QBreadcrumbsEl") { + const M = d < g, + _ = T.props !== null && xw.includes(T.props.disable), + P = + (M === !0 ? "" : " q-breadcrumbs--last") + + (_ !== !0 && M === !0 ? s.value : ""); + d++, + f.push(E("div", { class: `flex items-center${P}` }, [T])), + M === !0 && + f.push( + E( + "div", + { class: "q-breadcrumbs__separator" + l.value }, + v() + ) + ); + } else f.push(T); + }), + E("div", { class: "q-breadcrumbs" }, [ + E("div", { class: a.value }, f), + ]) + ); + }; + }, + }), + Aw = Je({ + name: "QPage", + props: { padding: Boolean, styleFn: Function }, + setup(e, { slots: t }) { + const { + proxy: { $q: r }, + } = Dt(), + a = uo(Bb, Sr); + if (a === Sr) + return console.error("QPage needs to be a deep child of QLayout"), Sr; + if (uo(Fb, Sr) === Sr) + return console.error("QPage needs to be child of QPageContainer"), Sr; + const s = I(() => { + const d = + (a.header.space === !0 ? a.header.size : 0) + + (a.footer.space === !0 ? a.footer.size : 0); + if (typeof e.styleFn == "function") { + const f = + a.isContainer.value === !0 + ? a.containerHeight.value + : r.screen.height; + return e.styleFn(d, f); + } + return { + minHeight: + a.isContainer.value === !0 + ? a.containerHeight.value - d + "px" + : r.screen.height === 0 + ? d !== 0 + ? `calc(100vh - ${d}px)` + : "100vh" + : r.screen.height - d + "px", + }; + }), + u = I(() => `q-page${e.padding === !0 ? " q-layout-padding" : ""}`); + return () => E("main", { class: u.value, style: s.value }, Mt(t.default)); + }, + }); +const Ew = E("div", { class: "q-space" }); +var Iw = Je({ + name: "QSpace", + setup() { + return () => Ew; + }, +}); +function dh(e) { + if (e === !1) return 0; + if (e === !0 || e === void 0) return 1; + const t = parseInt(e, 10); + return isNaN(t) ? 0 : t; +} +var Hi = Fh({ + name: "close-popup", + beforeMount(e, { value: t }) { + const r = { + depth: dh(t), + handler(a) { + r.depth !== 0 && + setTimeout(() => { + const l = Ub(e); + l !== void 0 && Vb(l, a, r.depth); + }); + }, + handlerKey(a) { + Wa(a, 13) === !0 && r.handler(a); + }, + }; + (e.__qclosepopup = r), + e.addEventListener("click", r.handler), + e.addEventListener("keyup", r.handlerKey); + }, + updated(e, { value: t, oldValue: r }) { + t !== r && (e.__qclosepopup.depth = dh(t)); + }, + beforeUnmount(e) { + const t = e.__qclosepopup; + e.removeEventListener("click", t.handler), + e.removeEventListener("keyup", t.handlerKey), + delete e.__qclosepopup; + }, +}); +function $w() { + return uo(zb); +} +var Ma = + typeof globalThis != "undefined" + ? globalThis + : typeof window != "undefined" + ? window + : typeof global != "undefined" + ? global + : typeof self != "undefined" + ? self + : {}, + Rw = function () { + return ( + typeof Promise == "function" && + Promise.prototype && + Promise.prototype.then + ); + }, + ig = {}, + Mn = {}; +let rc; +const Ow = [ + 0, 26, 44, 70, 100, 134, 172, 196, 242, 292, 346, 404, 466, 532, 581, 655, + 733, 815, 901, 991, 1085, 1156, 1258, 1364, 1474, 1588, 1706, 1828, 1921, + 2051, 2185, 2323, 2465, 2611, 2761, 2876, 3034, 3196, 3362, 3532, 3706, +]; +Mn.getSymbolSize = function (t) { + if (!t) throw new Error('"version" cannot be null or undefined'); + if (t < 1 || t > 40) + throw new Error('"version" should be in range from 1 to 40'); + return t * 4 + 17; +}; +Mn.getSymbolTotalCodewords = function (t) { + return Ow[t]; +}; +Mn.getBCHDigit = function (e) { + let t = 0; + for (; e !== 0; ) t++, (e >>>= 1); + return t; +}; +Mn.setToSJISFunction = function (t) { + if (typeof t != "function") + throw new Error('"toSJISFunc" is not a valid function.'); + rc = t; +}; +Mn.isKanjiModeEnabled = function () { + return typeof rc != "undefined"; +}; +Mn.toSJIS = function (t) { + return rc(t); +}; +var qo = {}; +(function (e) { + (e.L = { bit: 1 }), + (e.M = { bit: 0 }), + (e.Q = { bit: 3 }), + (e.H = { bit: 2 }); + function t(r) { + if (typeof r != "string") throw new Error("Param is not a string"); + switch (r.toLowerCase()) { + case "l": + case "low": + return e.L; + case "m": + case "medium": + return e.M; + case "q": + case "quartile": + return e.Q; + case "h": + case "high": + return e.H; + default: + throw new Error("Unknown EC Level: " + r); + } + } + (e.isValid = function (a) { + return a && typeof a.bit != "undefined" && a.bit >= 0 && a.bit < 4; + }), + (e.from = function (a, l) { + if (e.isValid(a)) return a; + try { + return t(a); + } catch { + return l; + } + }); +})(qo); +function ag() { + (this.buffer = []), (this.length = 0); +} +ag.prototype = { + get: function (e) { + const t = Math.floor(e / 8); + return ((this.buffer[t] >>> (7 - (e % 8))) & 1) === 1; + }, + put: function (e, t) { + for (let r = 0; r < t; r++) this.putBit(((e >>> (t - r - 1)) & 1) === 1); + }, + getLengthInBits: function () { + return this.length; + }, + putBit: function (e) { + const t = Math.floor(this.length / 8); + this.buffer.length <= t && this.buffer.push(0), + e && (this.buffer[t] |= 128 >>> this.length % 8), + this.length++; + }, +}; +var Lw = ag; +function Ga(e) { + if (!e || e < 1) + throw new Error("BitMatrix size must be defined and greater than 0"); + (this.size = e), + (this.data = new Uint8Array(e * e)), + (this.reservedBit = new Uint8Array(e * e)); +} +Ga.prototype.set = function (e, t, r, a) { + const l = e * this.size + t; + (this.data[l] = r), a && (this.reservedBit[l] = !0); +}; +Ga.prototype.get = function (e, t) { + return this.data[e * this.size + t]; +}; +Ga.prototype.xor = function (e, t, r) { + this.data[e * this.size + t] ^= r; +}; +Ga.prototype.isReserved = function (e, t) { + return this.reservedBit[e * this.size + t]; +}; +var Nw = Ga, + lg = {}; +(function (e) { + const t = Mn.getSymbolSize; + (e.getRowColCoords = function (a) { + if (a === 1) return []; + const l = Math.floor(a / 7) + 2, + s = t(a), + u = s === 145 ? 26 : Math.ceil((s - 13) / (2 * l - 2)) * 2, + d = [s - 7]; + for (let f = 1; f < l - 1; f++) d[f] = d[f - 1] - u; + return d.push(6), d.reverse(); + }), + (e.getPositions = function (a) { + const l = [], + s = e.getRowColCoords(a), + u = s.length; + for (let d = 0; d < u; d++) + for (let f = 0; f < u; f++) + (d === 0 && f === 0) || + (d === 0 && f === u - 1) || + (d === u - 1 && f === 0) || + l.push([s[d], s[f]]); + return l; + }); +})(lg); +var og = {}; +const Bw = Mn.getSymbolSize, + fh = 7; +og.getPositions = function (t) { + const r = Bw(t); + return [ + [0, 0], + [r - fh, 0], + [0, r - fh], + ]; +}; +var sg = {}; +(function (e) { + e.Patterns = { + PATTERN000: 0, + PATTERN001: 1, + PATTERN010: 2, + PATTERN011: 3, + PATTERN100: 4, + PATTERN101: 5, + PATTERN110: 6, + PATTERN111: 7, + }; + const t = { N1: 3, N2: 3, N3: 40, N4: 10 }; + (e.isValid = function (l) { + return l != null && l !== "" && !isNaN(l) && l >= 0 && l <= 7; + }), + (e.from = function (l) { + return e.isValid(l) ? parseInt(l, 10) : void 0; + }), + (e.getPenaltyN1 = function (l) { + const s = l.size; + let u = 0, + d = 0, + f = 0, + g = null, + v = null; + for (let T = 0; T < s; T++) { + (d = f = 0), (g = v = null); + for (let M = 0; M < s; M++) { + let _ = l.get(T, M); + _ === g ? d++ : (d >= 5 && (u += t.N1 + (d - 5)), (g = _), (d = 1)), + (_ = l.get(M, T)), + _ === v ? f++ : (f >= 5 && (u += t.N1 + (f - 5)), (v = _), (f = 1)); + } + d >= 5 && (u += t.N1 + (d - 5)), f >= 5 && (u += t.N1 + (f - 5)); + } + return u; + }), + (e.getPenaltyN2 = function (l) { + const s = l.size; + let u = 0; + for (let d = 0; d < s - 1; d++) + for (let f = 0; f < s - 1; f++) { + const g = + l.get(d, f) + + l.get(d, f + 1) + + l.get(d + 1, f) + + l.get(d + 1, f + 1); + (g === 4 || g === 0) && u++; + } + return u * t.N2; + }), + (e.getPenaltyN3 = function (l) { + const s = l.size; + let u = 0, + d = 0, + f = 0; + for (let g = 0; g < s; g++) { + d = f = 0; + for (let v = 0; v < s; v++) + (d = ((d << 1) & 2047) | l.get(g, v)), + v >= 10 && (d === 1488 || d === 93) && u++, + (f = ((f << 1) & 2047) | l.get(v, g)), + v >= 10 && (f === 1488 || f === 93) && u++; + } + return u * t.N3; + }), + (e.getPenaltyN4 = function (l) { + let s = 0; + const u = l.data.length; + for (let f = 0; f < u; f++) s += l.data[f]; + return Math.abs(Math.ceil((s * 100) / u / 5) - 10) * t.N4; + }); + function r(a, l, s) { + switch (a) { + case e.Patterns.PATTERN000: + return (l + s) % 2 === 0; + case e.Patterns.PATTERN001: + return l % 2 === 0; + case e.Patterns.PATTERN010: + return s % 3 === 0; + case e.Patterns.PATTERN011: + return (l + s) % 3 === 0; + case e.Patterns.PATTERN100: + return (Math.floor(l / 2) + Math.floor(s / 3)) % 2 === 0; + case e.Patterns.PATTERN101: + return ((l * s) % 2) + ((l * s) % 3) === 0; + case e.Patterns.PATTERN110: + return (((l * s) % 2) + ((l * s) % 3)) % 2 === 0; + case e.Patterns.PATTERN111: + return (((l * s) % 3) + ((l + s) % 2)) % 2 === 0; + default: + throw new Error("bad maskPattern:" + a); + } + } + (e.applyMask = function (l, s) { + const u = s.size; + for (let d = 0; d < u; d++) + for (let f = 0; f < u; f++) s.isReserved(f, d) || s.xor(f, d, r(l, f, d)); + }), + (e.getBestMask = function (l, s) { + const u = Object.keys(e.Patterns).length; + let d = 0, + f = 1 / 0; + for (let g = 0; g < u; g++) { + s(g), e.applyMask(g, l); + const v = + e.getPenaltyN1(l) + + e.getPenaltyN2(l) + + e.getPenaltyN3(l) + + e.getPenaltyN4(l); + e.applyMask(g, l), v < f && ((f = v), (d = g)); + } + return d; + }); +})(sg); +var xo = {}; +const Gr = qo, + Jl = [ + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 2, 2, 4, 1, 2, 4, 4, 2, 4, 4, 4, 2, + 4, 6, 5, 2, 4, 6, 6, 2, 5, 8, 8, 4, 5, 8, 8, 4, 5, 8, 11, 4, 8, 10, 11, 4, + 9, 12, 16, 4, 9, 16, 16, 6, 10, 12, 18, 6, 10, 17, 16, 6, 11, 16, 19, 6, 13, + 18, 21, 7, 14, 21, 25, 8, 16, 20, 25, 8, 17, 23, 25, 9, 17, 23, 34, 9, 18, + 25, 30, 10, 20, 27, 32, 12, 21, 29, 35, 12, 23, 34, 37, 12, 25, 34, 40, 13, + 26, 35, 42, 14, 28, 38, 45, 15, 29, 40, 48, 16, 31, 43, 51, 17, 33, 45, 54, + 18, 35, 48, 57, 19, 37, 51, 60, 19, 38, 53, 63, 20, 40, 56, 66, 21, 43, 59, + 70, 22, 45, 62, 74, 24, 47, 65, 77, 25, 49, 68, 81, + ], + Xl = [ + 7, 10, 13, 17, 10, 16, 22, 28, 15, 26, 36, 44, 20, 36, 52, 64, 26, 48, 72, + 88, 36, 64, 96, 112, 40, 72, 108, 130, 48, 88, 132, 156, 60, 110, 160, 192, + 72, 130, 192, 224, 80, 150, 224, 264, 96, 176, 260, 308, 104, 198, 288, 352, + 120, 216, 320, 384, 132, 240, 360, 432, 144, 280, 408, 480, 168, 308, 448, + 532, 180, 338, 504, 588, 196, 364, 546, 650, 224, 416, 600, 700, 224, 442, + 644, 750, 252, 476, 690, 816, 270, 504, 750, 900, 300, 560, 810, 960, 312, + 588, 870, 1050, 336, 644, 952, 1110, 360, 700, 1020, 1200, 390, 728, 1050, + 1260, 420, 784, 1140, 1350, 450, 812, 1200, 1440, 480, 868, 1290, 1530, 510, + 924, 1350, 1620, 540, 980, 1440, 1710, 570, 1036, 1530, 1800, 570, 1064, + 1590, 1890, 600, 1120, 1680, 1980, 630, 1204, 1770, 2100, 660, 1260, 1860, + 2220, 720, 1316, 1950, 2310, 750, 1372, 2040, 2430, + ]; +xo.getBlocksCount = function (t, r) { + switch (r) { + case Gr.L: + return Jl[(t - 1) * 4 + 0]; + case Gr.M: + return Jl[(t - 1) * 4 + 1]; + case Gr.Q: + return Jl[(t - 1) * 4 + 2]; + case Gr.H: + return Jl[(t - 1) * 4 + 3]; + default: + return; + } +}; +xo.getTotalCodewordsCount = function (t, r) { + switch (r) { + case Gr.L: + return Xl[(t - 1) * 4 + 0]; + case Gr.M: + return Xl[(t - 1) * 4 + 1]; + case Gr.Q: + return Xl[(t - 1) * 4 + 2]; + case Gr.H: + return Xl[(t - 1) * 4 + 3]; + default: + return; + } +}; +var ug = {}, + Po = {}; +const Oa = new Uint8Array(512), + yo = new Uint8Array(256); +(function () { + let t = 1; + for (let r = 0; r < 255; r++) + (Oa[r] = t), (yo[t] = r), (t <<= 1), t & 256 && (t ^= 285); + for (let r = 255; r < 512; r++) Oa[r] = Oa[r - 255]; +})(); +Po.log = function (t) { + if (t < 1) throw new Error("log(" + t + ")"); + return yo[t]; +}; +Po.exp = function (t) { + return Oa[t]; +}; +Po.mul = function (t, r) { + return t === 0 || r === 0 ? 0 : Oa[yo[t] + yo[r]]; +}; +(function (e) { + const t = Po; + (e.mul = function (a, l) { + const s = new Uint8Array(a.length + l.length - 1); + for (let u = 0; u < a.length; u++) + for (let d = 0; d < l.length; d++) s[u + d] ^= t.mul(a[u], l[d]); + return s; + }), + (e.mod = function (a, l) { + let s = new Uint8Array(a); + for (; s.length - l.length >= 0; ) { + const u = s[0]; + for (let f = 0; f < l.length; f++) s[f] ^= t.mul(l[f], u); + let d = 0; + for (; d < s.length && s[d] === 0; ) d++; + s = s.slice(d); + } + return s; + }), + (e.generateECPolynomial = function (a) { + let l = new Uint8Array([1]); + for (let s = 0; s < a; s++) l = e.mul(l, new Uint8Array([1, t.exp(s)])); + return l; + }); +})(ug); +const cg = ug; +function ic(e) { + (this.genPoly = void 0), + (this.degree = e), + this.degree && this.initialize(this.degree); +} +ic.prototype.initialize = function (t) { + (this.degree = t), (this.genPoly = cg.generateECPolynomial(this.degree)); +}; +ic.prototype.encode = function (t) { + if (!this.genPoly) throw new Error("Encoder not initialized"); + const r = new Uint8Array(t.length + this.degree); + r.set(t); + const a = cg.mod(r, this.genPoly), + l = this.degree - a.length; + if (l > 0) { + const s = new Uint8Array(this.degree); + return s.set(a, l), s; + } + return a; +}; +var Fw = ic, + dg = {}, + ei = {}, + ac = {}; +ac.isValid = function (t) { + return !isNaN(t) && t >= 1 && t <= 40; +}; +var lr = {}; +const fg = "[0-9]+", + Uw = "[A-Z $%*+\\-./:]+"; +let Fa = + "(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+"; +Fa = Fa.replace(/u/g, "\\u"); +const Vw = + "(?:(?![A-Z0-9 $%*+\\-./:]|" + + Fa + + `)(?:.|[\r +]))+`; +lr.KANJI = new RegExp(Fa, "g"); +lr.BYTE_KANJI = new RegExp("[^A-Z0-9 $%*+\\-./:]+", "g"); +lr.BYTE = new RegExp(Vw, "g"); +lr.NUMERIC = new RegExp(fg, "g"); +lr.ALPHANUMERIC = new RegExp(Uw, "g"); +const zw = new RegExp("^" + Fa + "$"), + Ww = new RegExp("^" + fg + "$"), + Yw = new RegExp("^[A-Z0-9 $%*+\\-./:]+$"); +lr.testKanji = function (t) { + return zw.test(t); +}; +lr.testNumeric = function (t) { + return Ww.test(t); +}; +lr.testAlphanumeric = function (t) { + return Yw.test(t); +}; +(function (e) { + const t = ac, + r = lr; + (e.NUMERIC = { id: "Numeric", bit: 1 << 0, ccBits: [10, 12, 14] }), + (e.ALPHANUMERIC = { id: "Alphanumeric", bit: 1 << 1, ccBits: [9, 11, 13] }), + (e.BYTE = { id: "Byte", bit: 1 << 2, ccBits: [8, 16, 16] }), + (e.KANJI = { id: "Kanji", bit: 1 << 3, ccBits: [8, 10, 12] }), + (e.MIXED = { bit: -1 }), + (e.getCharCountIndicator = function (s, u) { + if (!s.ccBits) throw new Error("Invalid mode: " + s); + if (!t.isValid(u)) throw new Error("Invalid version: " + u); + return u >= 1 && u < 10 + ? s.ccBits[0] + : u < 27 + ? s.ccBits[1] + : s.ccBits[2]; + }), + (e.getBestModeForData = function (s) { + return r.testNumeric(s) + ? e.NUMERIC + : r.testAlphanumeric(s) + ? e.ALPHANUMERIC + : r.testKanji(s) + ? e.KANJI + : e.BYTE; + }), + (e.toString = function (s) { + if (s && s.id) return s.id; + throw new Error("Invalid mode"); + }), + (e.isValid = function (s) { + return s && s.bit && s.ccBits; + }); + function a(l) { + if (typeof l != "string") throw new Error("Param is not a string"); + switch (l.toLowerCase()) { + case "numeric": + return e.NUMERIC; + case "alphanumeric": + return e.ALPHANUMERIC; + case "kanji": + return e.KANJI; + case "byte": + return e.BYTE; + default: + throw new Error("Unknown mode: " + l); + } + } + e.from = function (s, u) { + if (e.isValid(s)) return s; + try { + return a(s); + } catch { + return u; + } + }; +})(ei); +(function (e) { + const t = Mn, + r = xo, + a = qo, + l = ei, + s = ac, + u = + (1 << 12) | + (1 << 11) | + (1 << 10) | + (1 << 9) | + (1 << 8) | + (1 << 5) | + (1 << 2) | + (1 << 0), + d = t.getBCHDigit(u); + function f(M, _, P) { + for (let $ = 1; $ <= 40; $++) if (_ <= e.getCapacity($, P, M)) return $; + } + function g(M, _) { + return l.getCharCountIndicator(M, _) + 4; + } + function v(M, _) { + let P = 0; + return ( + M.forEach(function ($) { + P += g($.mode, _) + $.getBitsLength(); + }), + P + ); + } + function T(M, _) { + for (let P = 1; P <= 40; P++) + if (v(M, P) <= e.getCapacity(P, _, l.MIXED)) return P; + } + (e.from = function (_, P) { + return s.isValid(_) ? parseInt(_, 10) : P; + }), + (e.getCapacity = function (_, P, $) { + if (!s.isValid(_)) throw new Error("Invalid QR Code version"); + typeof $ == "undefined" && ($ = l.BYTE); + const L = t.getSymbolTotalCodewords(_), + F = r.getTotalCodewordsCount(_, P), + W = (L - F) * 8; + if ($ === l.MIXED) return W; + const D = W - g($, _); + switch ($) { + case l.NUMERIC: + return Math.floor((D / 10) * 3); + case l.ALPHANUMERIC: + return Math.floor((D / 11) * 2); + case l.KANJI: + return Math.floor(D / 13); + case l.BYTE: + default: + return Math.floor(D / 8); + } + }), + (e.getBestVersionForData = function (_, P) { + let $; + const L = a.from(P, a.M); + if (Array.isArray(_)) { + if (_.length > 1) return T(_, L); + if (_.length === 0) return 1; + $ = _[0]; + } else $ = _; + return f($.mode, $.getLength(), L); + }), + (e.getEncodedBits = function (_) { + if (!s.isValid(_) || _ < 7) throw new Error("Invalid QR Code version"); + let P = _ << 12; + for (; t.getBCHDigit(P) - d >= 0; ) P ^= u << (t.getBCHDigit(P) - d); + return (_ << 12) | P; + }); +})(dg); +var hg = {}; +const Eu = Mn, + gg = + (1 << 10) | (1 << 8) | (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | (1 << 0), + Hw = (1 << 14) | (1 << 12) | (1 << 10) | (1 << 4) | (1 << 1), + hh = Eu.getBCHDigit(gg); +hg.getEncodedBits = function (t, r) { + const a = (t.bit << 3) | r; + let l = a << 10; + for (; Eu.getBCHDigit(l) - hh >= 0; ) l ^= gg << (Eu.getBCHDigit(l) - hh); + return ((a << 10) | l) ^ Hw; +}; +var mg = {}; +const Gw = ei; +function ea(e) { + (this.mode = Gw.NUMERIC), (this.data = e.toString()); +} +ea.getBitsLength = function (t) { + return 10 * Math.floor(t / 3) + (t % 3 ? (t % 3) * 3 + 1 : 0); +}; +ea.prototype.getLength = function () { + return this.data.length; +}; +ea.prototype.getBitsLength = function () { + return ea.getBitsLength(this.data.length); +}; +ea.prototype.write = function (t) { + let r, a, l; + for (r = 0; r + 3 <= this.data.length; r += 3) + (a = this.data.substr(r, 3)), (l = parseInt(a, 10)), t.put(l, 10); + const s = this.data.length - r; + s > 0 && + ((a = this.data.substr(r)), (l = parseInt(a, 10)), t.put(l, s * 3 + 1)); +}; +var Kw = ea; +const Qw = ei, + gu = [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "A", + "B", + "C", + "D", + "E", + "F", + "G", + "H", + "I", + "J", + "K", + "L", + "M", + "N", + "O", + "P", + "Q", + "R", + "S", + "T", + "U", + "V", + "W", + "X", + "Y", + "Z", + " ", + "$", + "%", + "*", + "+", + "-", + ".", + "/", + ":", + ]; +function ta(e) { + (this.mode = Qw.ALPHANUMERIC), (this.data = e); +} +ta.getBitsLength = function (t) { + return 11 * Math.floor(t / 2) + 6 * (t % 2); +}; +ta.prototype.getLength = function () { + return this.data.length; +}; +ta.prototype.getBitsLength = function () { + return ta.getBitsLength(this.data.length); +}; +ta.prototype.write = function (t) { + let r; + for (r = 0; r + 2 <= this.data.length; r += 2) { + let a = gu.indexOf(this.data[r]) * 45; + (a += gu.indexOf(this.data[r + 1])), t.put(a, 11); + } + this.data.length % 2 && t.put(gu.indexOf(this.data[r]), 6); +}; +var jw = ta, + Zw = function (t) { + for (var r = [], a = t.length, l = 0; l < a; l++) { + var s = t.charCodeAt(l); + if (s >= 55296 && s <= 56319 && a > l + 1) { + var u = t.charCodeAt(l + 1); + u >= 56320 && + u <= 57343 && + ((s = (s - 55296) * 1024 + u - 56320 + 65536), (l += 1)); + } + if (s < 128) { + r.push(s); + continue; + } + if (s < 2048) { + r.push((s >> 6) | 192), r.push((s & 63) | 128); + continue; + } + if (s < 55296 || (s >= 57344 && s < 65536)) { + r.push((s >> 12) | 224), + r.push(((s >> 6) & 63) | 128), + r.push((s & 63) | 128); + continue; + } + if (s >= 65536 && s <= 1114111) { + r.push((s >> 18) | 240), + r.push(((s >> 12) & 63) | 128), + r.push(((s >> 6) & 63) | 128), + r.push((s & 63) | 128); + continue; + } + r.push(239, 191, 189); + } + return new Uint8Array(r).buffer; + }; +const Jw = Zw, + Xw = ei; +function na(e) { + (this.mode = Xw.BYTE), + typeof e == "string" && (e = Jw(e)), + (this.data = new Uint8Array(e)); +} +na.getBitsLength = function (t) { + return t * 8; +}; +na.prototype.getLength = function () { + return this.data.length; +}; +na.prototype.getBitsLength = function () { + return na.getBitsLength(this.data.length); +}; +na.prototype.write = function (e) { + for (let t = 0, r = this.data.length; t < r; t++) e.put(this.data[t], 8); +}; +var eS = na; +const tS = ei, + nS = Mn; +function ra(e) { + (this.mode = tS.KANJI), (this.data = e); +} +ra.getBitsLength = function (t) { + return t * 13; +}; +ra.prototype.getLength = function () { + return this.data.length; +}; +ra.prototype.getBitsLength = function () { + return ra.getBitsLength(this.data.length); +}; +ra.prototype.write = function (e) { + let t; + for (t = 0; t < this.data.length; t++) { + let r = nS.toSJIS(this.data[t]); + if (r >= 33088 && r <= 40956) r -= 33088; + else if (r >= 57408 && r <= 60351) r -= 49472; + else + throw new Error( + "Invalid SJIS character: " + + this.data[t] + + ` +Make sure your charset is UTF-8` + ); + (r = ((r >>> 8) & 255) * 192 + (r & 255)), e.put(r, 13); + } +}; +var rS = ra, + vg = { exports: {} }; +(function (e) { + var t = { + single_source_shortest_paths: function (r, a, l) { + var s = {}, + u = {}; + u[a] = 0; + var d = t.PriorityQueue.make(); + d.push(a, 0); + for (var f, g, v, T, M, _, P, $, L; !d.empty(); ) { + (f = d.pop()), (g = f.value), (T = f.cost), (M = r[g] || {}); + for (v in M) + M.hasOwnProperty(v) && + ((_ = M[v]), + (P = T + _), + ($ = u[v]), + (L = typeof u[v] == "undefined"), + (L || $ > P) && ((u[v] = P), d.push(v, P), (s[v] = g))); + } + if (typeof l != "undefined" && typeof u[l] == "undefined") { + var F = ["Could not find a path from ", a, " to ", l, "."].join(""); + throw new Error(F); + } + return s; + }, + extract_shortest_path_from_predecessor_list: function (r, a) { + for (var l = [], s = a; s; ) l.push(s), r[s], (s = r[s]); + return l.reverse(), l; + }, + find_path: function (r, a, l) { + var s = t.single_source_shortest_paths(r, a, l); + return t.extract_shortest_path_from_predecessor_list(s, l); + }, + PriorityQueue: { + make: function (r) { + var a = t.PriorityQueue, + l = {}, + s; + r = r || {}; + for (s in a) a.hasOwnProperty(s) && (l[s] = a[s]); + return (l.queue = []), (l.sorter = r.sorter || a.default_sorter), l; + }, + default_sorter: function (r, a) { + return r.cost - a.cost; + }, + push: function (r, a) { + var l = { value: r, cost: a }; + this.queue.push(l), this.queue.sort(this.sorter); + }, + pop: function () { + return this.queue.shift(); + }, + empty: function () { + return this.queue.length === 0; + }, + }, + }; + e.exports = t; +})(vg); +(function (e) { + const t = ei, + r = Kw, + a = jw, + l = eS, + s = rS, + u = lr, + d = Mn, + f = vg.exports; + function g(F) { + return unescape(encodeURIComponent(F)).length; + } + function v(F, W, D) { + const A = []; + let N; + for (; (N = F.exec(D)) !== null; ) + A.push({ data: N[0], index: N.index, mode: W, length: N[0].length }); + return A; + } + function T(F) { + const W = v(u.NUMERIC, t.NUMERIC, F), + D = v(u.ALPHANUMERIC, t.ALPHANUMERIC, F); + let A, N; + return ( + d.isKanjiModeEnabled() + ? ((A = v(u.BYTE, t.BYTE, F)), (N = v(u.KANJI, t.KANJI, F))) + : ((A = v(u.BYTE_KANJI, t.BYTE, F)), (N = [])), + W.concat(D, A, N) + .sort(function (z, H) { + return z.index - H.index; + }) + .map(function (z) { + return { data: z.data, mode: z.mode, length: z.length }; + }) + ); + } + function M(F, W) { + switch (W) { + case t.NUMERIC: + return r.getBitsLength(F); + case t.ALPHANUMERIC: + return a.getBitsLength(F); + case t.KANJI: + return s.getBitsLength(F); + case t.BYTE: + return l.getBitsLength(F); + } + } + function _(F) { + return F.reduce(function (W, D) { + const A = W.length - 1 >= 0 ? W[W.length - 1] : null; + return A && A.mode === D.mode + ? ((W[W.length - 1].data += D.data), W) + : (W.push(D), W); + }, []); + } + function P(F) { + const W = []; + for (let D = 0; D < F.length; D++) { + const A = F[D]; + switch (A.mode) { + case t.NUMERIC: + W.push([ + A, + { data: A.data, mode: t.ALPHANUMERIC, length: A.length }, + { data: A.data, mode: t.BYTE, length: A.length }, + ]); + break; + case t.ALPHANUMERIC: + W.push([A, { data: A.data, mode: t.BYTE, length: A.length }]); + break; + case t.KANJI: + W.push([A, { data: A.data, mode: t.BYTE, length: g(A.data) }]); + break; + case t.BYTE: + W.push([{ data: A.data, mode: t.BYTE, length: g(A.data) }]); + } + } + return W; + } + function $(F, W) { + const D = {}, + A = { start: {} }; + let N = ["start"]; + for (let J = 0; J < F.length; J++) { + const z = F[J], + H = []; + for (let pe = 0; pe < z.length; pe++) { + const _e = z[pe], + Pe = "" + J + pe; + H.push(Pe), (D[Pe] = { node: _e, lastCount: 0 }), (A[Pe] = {}); + for (let lt = 0; lt < N.length; lt++) { + const te = N[lt]; + D[te] && D[te].node.mode === _e.mode + ? ((A[te][Pe] = + M(D[te].lastCount + _e.length, _e.mode) - + M(D[te].lastCount, _e.mode)), + (D[te].lastCount += _e.length)) + : (D[te] && (D[te].lastCount = _e.length), + (A[te][Pe] = + M(_e.length, _e.mode) + + 4 + + t.getCharCountIndicator(_e.mode, W))); + } + } + N = H; + } + for (let J = 0; J < N.length; J++) A[N[J]].end = 0; + return { map: A, table: D }; + } + function L(F, W) { + let D; + const A = t.getBestModeForData(F); + if (((D = t.from(W, A)), D !== t.BYTE && D.bit < A.bit)) + throw new Error( + '"' + + F + + '" cannot be encoded with mode ' + + t.toString(D) + + `. + Suggested mode is: ` + + t.toString(A) + ); + switch ((D === t.KANJI && !d.isKanjiModeEnabled() && (D = t.BYTE), D)) { + case t.NUMERIC: + return new r(F); + case t.ALPHANUMERIC: + return new a(F); + case t.KANJI: + return new s(F); + case t.BYTE: + return new l(F); + } + } + (e.fromArray = function (W) { + return W.reduce(function (D, A) { + return ( + typeof A == "string" + ? D.push(L(A, null)) + : A.data && D.push(L(A.data, A.mode)), + D + ); + }, []); + }), + (e.fromString = function (W, D) { + const A = T(W, d.isKanjiModeEnabled()), + N = P(A), + J = $(N, D), + z = f.find_path(J.map, "start", "end"), + H = []; + for (let pe = 1; pe < z.length - 1; pe++) H.push(J.table[z[pe]].node); + return e.fromArray(_(H)); + }), + (e.rawSplit = function (W) { + return e.fromArray(T(W, d.isKanjiModeEnabled())); + }); +})(mg); +const Ao = Mn, + mu = qo, + iS = Lw, + aS = Nw, + lS = lg, + oS = og, + Iu = sg, + $u = xo, + sS = Fw, + _o = dg, + uS = hg, + cS = ei, + vu = mg; +function dS(e, t) { + const r = e.size, + a = oS.getPositions(t); + for (let l = 0; l < a.length; l++) { + const s = a[l][0], + u = a[l][1]; + for (let d = -1; d <= 7; d++) + if (!(s + d <= -1 || r <= s + d)) + for (let f = -1; f <= 7; f++) + u + f <= -1 || + r <= u + f || + ((d >= 0 && d <= 6 && (f === 0 || f === 6)) || + (f >= 0 && f <= 6 && (d === 0 || d === 6)) || + (d >= 2 && d <= 4 && f >= 2 && f <= 4) + ? e.set(s + d, u + f, !0, !0) + : e.set(s + d, u + f, !1, !0)); + } +} +function fS(e) { + const t = e.size; + for (let r = 8; r < t - 8; r++) { + const a = r % 2 === 0; + e.set(r, 6, a, !0), e.set(6, r, a, !0); + } +} +function hS(e, t) { + const r = lS.getPositions(t); + for (let a = 0; a < r.length; a++) { + const l = r[a][0], + s = r[a][1]; + for (let u = -2; u <= 2; u++) + for (let d = -2; d <= 2; d++) + u === -2 || u === 2 || d === -2 || d === 2 || (u === 0 && d === 0) + ? e.set(l + u, s + d, !0, !0) + : e.set(l + u, s + d, !1, !0); + } +} +function gS(e, t) { + const r = e.size, + a = _o.getEncodedBits(t); + let l, s, u; + for (let d = 0; d < 18; d++) + (l = Math.floor(d / 3)), + (s = (d % 3) + r - 8 - 3), + (u = ((a >> d) & 1) === 1), + e.set(l, s, u, !0), + e.set(s, l, u, !0); +} +function pu(e, t, r) { + const a = e.size, + l = uS.getEncodedBits(t, r); + let s, u; + for (s = 0; s < 15; s++) + (u = ((l >> s) & 1) === 1), + s < 6 + ? e.set(s, 8, u, !0) + : s < 8 + ? e.set(s + 1, 8, u, !0) + : e.set(a - 15 + s, 8, u, !0), + s < 8 + ? e.set(8, a - s - 1, u, !0) + : s < 9 + ? e.set(8, 15 - s - 1 + 1, u, !0) + : e.set(8, 15 - s - 1, u, !0); + e.set(a - 8, 8, 1, !0); +} +function mS(e, t) { + const r = e.size; + let a = -1, + l = r - 1, + s = 7, + u = 0; + for (let d = r - 1; d > 0; d -= 2) + for (d === 6 && d--; ; ) { + for (let f = 0; f < 2; f++) + if (!e.isReserved(l, d - f)) { + let g = !1; + u < t.length && (g = ((t[u] >>> s) & 1) === 1), + e.set(l, d - f, g), + s--, + s === -1 && (u++, (s = 7)); + } + if (((l += a), l < 0 || r <= l)) { + (l -= a), (a = -a); + break; + } + } +} +function vS(e, t, r) { + const a = new iS(); + r.forEach(function (f) { + a.put(f.mode.bit, 4), + a.put(f.getLength(), cS.getCharCountIndicator(f.mode, e)), + f.write(a); + }); + const l = Ao.getSymbolTotalCodewords(e), + s = $u.getTotalCodewordsCount(e, t), + u = (l - s) * 8; + for ( + a.getLengthInBits() + 4 <= u && a.put(0, 4); + a.getLengthInBits() % 8 !== 0; + + ) + a.putBit(0); + const d = (u - a.getLengthInBits()) / 8; + for (let f = 0; f < d; f++) a.put(f % 2 ? 17 : 236, 8); + return pS(a, e, t); +} +function pS(e, t, r) { + const a = Ao.getSymbolTotalCodewords(t), + l = $u.getTotalCodewordsCount(t, r), + s = a - l, + u = $u.getBlocksCount(t, r), + d = a % u, + f = u - d, + g = Math.floor(a / u), + v = Math.floor(s / u), + T = v + 1, + M = g - v, + _ = new sS(M); + let P = 0; + const $ = new Array(u), + L = new Array(u); + let F = 0; + const W = new Uint8Array(e.buffer); + for (let z = 0; z < u; z++) { + const H = z < f ? v : T; + ($[z] = W.slice(P, P + H)), + (L[z] = _.encode($[z])), + (P += H), + (F = Math.max(F, H)); + } + const D = new Uint8Array(a); + let A = 0, + N, + J; + for (N = 0; N < F; N++) + for (J = 0; J < u; J++) N < $[J].length && (D[A++] = $[J][N]); + for (N = 0; N < M; N++) for (J = 0; J < u; J++) D[A++] = L[J][N]; + return D; +} +function yS(e, t, r, a) { + let l; + if (Array.isArray(e)) l = vu.fromArray(e); + else if (typeof e == "string") { + let g = t; + if (!g) { + const v = vu.rawSplit(e); + g = _o.getBestVersionForData(v, r); + } + l = vu.fromString(e, g || 40); + } else throw new Error("Invalid data"); + const s = _o.getBestVersionForData(l, r); + if (!s) + throw new Error("The amount of data is too big to be stored in a QR Code"); + if (!t) t = s; + else if (t < s) + throw new Error( + ` The chosen QR Code version cannot contain this amount of data. -Minimum version required to store current data is: `+s+`. -`);const u=vS(t,r,l),d=Ao.getSymbolSize(t),f=new aS(d);return dS(f,t),fS(f),hS(f,t),pu(f,r,0),t>=7&&gS(f,t),mS(f,u),isNaN(a)&&(a=Iu.getBestMask(f,pu.bind(null,f,r))),Iu.applyMask(a,f),pu(f,r,a),{modules:f,version:t,errorCorrectionLevel:r,maskPattern:a,segments:l}}ig.create=function(t,r){if(typeof t=="undefined"||t==="")throw new Error("No input text");let a=mu.M,l,s;return typeof r!="undefined"&&(a=mu.from(r.errorCorrectionLevel,mu.M),l=_o.from(r.version),s=Iu.from(r.maskPattern),r.toSJISFunc&&Ao.setToSJISFunction(r.toSJISFunc)),yS(t,l,a,s)};var pg={},lc={};(function(e){function t(r){if(typeof r=="number"&&(r=r.toString()),typeof r!="string")throw new Error("Color should be defined as hex string");let a=r.slice().replace("#","").split("");if(a.length<3||a.length===5||a.length>8)throw new Error("Invalid hex color: "+r);(a.length===3||a.length===4)&&(a=Array.prototype.concat.apply([],a.map(function(s){return[s,s]}))),a.length===6&&a.push("F","F");const l=parseInt(a.join(""),16);return{r:l>>24&255,g:l>>16&255,b:l>>8&255,a:l&255,hex:"#"+a.slice(0,6).join("")}}e.getOptions=function(a){a||(a={}),a.color||(a.color={});const l=typeof a.margin=="undefined"||a.margin===null||a.margin<0?4:a.margin,s=a.width&&a.width>=21?a.width:void 0,u=a.scale||4;return{width:s,scale:s?4:u,margin:l,color:{dark:t(a.color.dark||"#000000ff"),light:t(a.color.light||"#ffffffff")},type:a.type,rendererOpts:a.rendererOpts||{}}},e.getScale=function(a,l){return l.width&&l.width>=a+l.margin*2?l.width/(a+l.margin*2):l.scale},e.getImageWidth=function(a,l){const s=e.getScale(a,l);return Math.floor((a+l.margin*2)*s)},e.qrToImageData=function(a,l,s){const u=l.modules.size,d=l.modules.data,f=e.getScale(u,s),g=Math.floor((u+s.margin*2)*f),v=s.margin*f,T=[s.color.light,s.color.dark];for(let M=0;M=v&&_>=v&&M0&&f>0&&e[d-1]||(a+=s?yu("M",f+r,.5+g+r):yu("m",l,0),l=0,s=!1),f+1':"",g="',v='viewBox="0 0 '+d+" "+d+'"',T=l.width?'width="'+l.width+'" height="'+l.width+'" ':"",M=''+f+g+` -`;return typeof a=="function"&&a(null,M),M};const wS=Rw,Ru=ig,_g=pg,SS=yg;function oc(e,t,r,a,l){const s=[].slice.call(arguments,1),u=s.length,d=typeof s[u-1]=="function";if(!d&&!wS())throw new Error("Callback required as last argument");if(d){if(u<2)throw new Error("Too few arguments provided");u===2?(l=r,r=t,t=a=void 0):u===3&&(t.getContext&&typeof l=="undefined"?(l=a,a=void 0):(l=a,a=r,r=t,t=void 0))}else{if(u<1)throw new Error("Too few arguments provided");return u===1?(r=t,t=a=void 0):u===2&&!t.getContext&&(a=r,r=t,t=void 0),new Promise(function(f,g){try{const v=Ru.create(r,a);f(e(v,t,a))}catch(v){g(v)}})}try{const f=Ru.create(r,a);l(null,e(f,t,a))}catch(f){l(f)}}Ru.create;var kS=oc.bind(null,_g.render),CS=oc.bind(null,_g.renderToDataURL),TS=oc.bind(null,function(e,t,r){return SS.render(e,r)});/*! vue-qrcode v2.0.0 | (c) 2018-present Chen Fengyuan | MIT */const mh="ready";var MS=sn({name:"VueQrcode",props:{value:{type:String,default:void 0},options:{type:Object,default:void 0},tag:{type:String,default:"canvas"}},emits:[mh],watch:{$props:{deep:!0,immediate:!0,handler(){this.$el&&this.generate()}}},mounted(){this.generate()},methods:{generate(){const e=this.options||{},t=String(this.value),r=()=>{this.$emit(mh,this.$el)};switch(this.tag){case"canvas":kS(this.$el,t,e,a=>{if(a)throw a;r()});break;case"img":CS(t,e,(a,l)=>{if(a)throw a;this.$el.src=l,this.$el.onload=r});break;case"svg":TS(t,e,(a,l)=>{if(a)throw a;const s=document.createElement("div");s.innerHTML=l;const u=s.querySelector("svg");if(u){const{attributes:d,childNodes:f}=u;Object.keys(d).forEach(g=>{const v=d[Number(g)];this.$el.setAttribute(v.name,v.value)}),Object.keys(f).forEach(g=>{const v=f[Number(g)];this.$el.appendChild(v.cloneNode(!0))}),r()}});break}}},render(){return E(this.tag,this.$slots.default)}});function DS(e){const t=document.createElement("textarea");t.value=e,t.contentEditable="true",t.style.position="fixed";const r=()=>{};Oh(r),document.body.appendChild(t),t.focus(),t.select();const a=document.execCommand("copy");return t.remove(),Lh(r),a}function qS(e){return navigator.clipboard!==void 0?navigator.clipboard.writeText(e):new Promise((t,r)=>{const a=DS(e);a?t(!0):r(a)})}let xS=0;const PS=["click","keydown"],AS={icon:String,label:[Number,String],alert:[Boolean,String],alertIcon:String,name:{type:[Number,String],default:()=>`t_${xS++}`},noCaps:Boolean,tabindex:[String,Number],disable:Boolean,contentClass:String,ripple:{type:[Boolean,Object],default:!0}};function ES(e,t,r,a){const l=uo(Uh,Sr);if(l===Sr)return console.error("QTab/QRouteTab component needs to be child of QTabs"),Sr;const{proxy:s}=Dt(),u=se(null),d=se(null),f=se(null),g=I(()=>e.disable===!0||e.ripple===!1?!1:Object.assign({keyCodes:[13,32],early:!0},e.ripple===!0?{}:e.ripple)),v=I(()=>l.currentModel.value===e.name),T=I(()=>"q-tab relative-position self-stretch flex flex-center text-center"+(v.value===!0?" q-tab--active"+(l.tabProps.value.activeClass?" "+l.tabProps.value.activeClass:"")+(l.tabProps.value.activeColor?` text-${l.tabProps.value.activeColor}`:"")+(l.tabProps.value.activeBgColor?` bg-${l.tabProps.value.activeBgColor}`:""):" q-tab--inactive")+(e.icon&&e.label&&l.tabProps.value.inlineLabel===!1?" q-tab--full":"")+(e.noCaps===!0||l.tabProps.value.noCaps===!0?" q-tab--no-caps":"")+(e.disable===!0?" disabled":" q-focusable q-hoverable cursor-pointer")+(a!==void 0?a.linkClass.value:"")),M=I(()=>"q-tab__content self-stretch flex-center relative-position q-anchor--skip non-selectable "+(l.tabProps.value.inlineLabel===!0?"row no-wrap q-tab__content--inline":"column")+(e.contentClass!==void 0?` ${e.contentClass}`:"")),_=I(()=>e.disable===!0||l.hasFocus.value===!0||v.value===!1&&l.hasActiveTab.value===!0?-1:e.tabindex||0);function P(D,A){if(A!==!0&&u.value!==null&&u.value.focus(),e.disable===!0){a!==void 0&&a.hasRouterLink.value===!0&&Ft(D);return}if(a===void 0){l.updateModel({name:e.name}),r("click",D);return}if(a.hasRouterLink.value===!0){const N=(J={})=>{let z;const H=J.to===void 0||Wi(J.to,e.to)===!0?l.avoidRouteWatcher=so():null;return a.navigateToRouterLink(D,{...J,returnRouterError:!0}).catch(pe=>{z=pe}).then(pe=>{if(H===l.avoidRouteWatcher&&(l.avoidRouteWatcher=!1,z===void 0&&(pe===void 0||pe.message.startsWith("Avoided redundant navigation")===!0)&&l.updateModel({name:e.name})),J.returnRouterError===!0)return z!==void 0?Promise.reject(z):pe})};r("click",D,N),D.defaultPrevented!==!0&&N();return}r("click",D)}function $(D){Wa(D,[13,32])?P(D,!0):Vh(D)!==!0&&D.keyCode>=35&&D.keyCode<=40&&D.altKey!==!0&&D.metaKey!==!0&&l.onKbdNavigate(D.keyCode,s.$el)===!0&&Ft(D),r("keydown",D)}function L(){const D=l.tabProps.value.narrowIndicator,A=[],N=E("div",{ref:f,class:["q-tab__indicator",l.tabProps.value.indicatorClass]});e.icon!==void 0&&A.push(E(Wt,{class:"q-tab__icon",name:e.icon})),e.label!==void 0&&A.push(E("div",{class:"q-tab__label"},e.label)),e.alert!==!1&&A.push(e.alertIcon!==void 0?E(Wt,{class:"q-tab__alert-icon",color:e.alert!==!0?e.alert:void 0,name:e.alertIcon}):E("div",{class:"q-tab__alert"+(e.alert!==!0?` text-${e.alert}`:"")})),D===!0&&A.push(N);const J=[E("div",{class:"q-focus-helper",tabindex:-1,ref:u}),E("div",{class:M.value},_i(t.default,A))];return D===!1&&J.push(N),J}const F={name:I(()=>e.name),rootRef:d,tabIndicatorRef:f,routeData:a};Ht(()=>{l.unregisterTab(F)}),Xr(()=>{l.registerTab(F)});function W(D,A){const N={ref:d,class:T.value,tabindex:_.value,role:"tab","aria-selected":v.value===!0?"true":"false","aria-disabled":e.disable===!0?"true":void 0,onClick:P,onKeydown:$,...A};return Hn(E(D,N,L()),[[Qu,g.value]])}return{renderTab:W,$tabs:l}}var _u=Je({name:"QTab",props:AS,emits:PS,setup(e,{slots:t,emit:r}){const{renderTab:a}=ES(e,t,r);return()=>a("div")}});function IS(e,t,r){const a=r===!0?["left","right"]:["top","bottom"];return`absolute-${t===!0?a[0]:a[1]}${e?` text-${e}`:""}`}const $S=["left","center","right","justify"];var RS=Je({name:"QTabs",props:{modelValue:[Number,String],align:{type:String,default:"center",validator:e=>$S.includes(e)},breakpoint:{type:[String,Number],default:600},vertical:Boolean,shrink:Boolean,stretch:Boolean,activeClass:String,activeColor:String,activeBgColor:String,indicatorColor:String,leftIcon:String,rightIcon:String,outsideArrows:Boolean,mobileArrows:Boolean,switchIndicator:Boolean,narrowIndicator:Boolean,inlineLabel:Boolean,noCaps:Boolean,dense:Boolean,contentClass:String,"onUpdate:modelValue":[Function,Array]},setup(e,{slots:t,emit:r}){const{proxy:a}=Dt(),{$q:l}=a,{registerTick:s}=$a(),{registerTick:u}=$a(),{registerTick:d}=$a(),{registerTimeout:f,removeTimeout:g}=oo(),{registerTimeout:v,removeTimeout:T}=oo(),M=se(null),_=se(null),P=se(e.modelValue),$=se(!1),L=se(!0),F=se(!1),W=se(!1),D=[],A=se(0),N=se(!1);let J=null,z=null,H;const pe=I(()=>({activeClass:e.activeClass,activeColor:e.activeColor,activeBgColor:e.activeBgColor,indicatorClass:IS(e.indicatorColor,e.switchIndicator,e.vertical),narrowIndicator:e.narrowIndicator,inlineLabel:e.inlineLabel,noCaps:e.noCaps})),_e=I(()=>{const G=A.value,de=P.value;for(let qe=0;qe`q-tabs__content--align-${$.value===!0?"left":W.value===!0?"justify":e.align}`),lt=I(()=>`q-tabs row no-wrap items-center q-tabs--${$.value===!0?"":"not-"}scrollable q-tabs--${e.vertical===!0?"vertical":"horizontal"} q-tabs__arrows--${e.outsideArrows===!0?"outside":"inside"} q-tabs--mobile-with${e.mobileArrows===!0?"":"out"}-arrows`+(e.dense===!0?" q-tabs--dense":"")+(e.shrink===!0?" col-shrink":"")+(e.stretch===!0?" self-stretch":"")),te=I(()=>"q-tabs__content scroll--mobile row no-wrap items-center self-stretch hide-scrollbar relative-position "+Pe.value+(e.contentClass!==void 0?` ${e.contentClass}`:"")),xe=I(()=>e.vertical===!0?{container:"height",content:"offsetHeight",scroll:"scrollHeight"}:{container:"width",content:"offsetWidth",scroll:"scrollWidth"}),Be=I(()=>e.vertical!==!0&&l.lang.rtl===!0),j=I(()=>Ba===!1&&Be.value===!0);ze(Be,he),ze(()=>e.modelValue,G=>{K({name:G,setCurrent:!0,skipEmit:!0})}),ze(()=>e.outsideArrows,me);function K({name:G,setCurrent:de,skipEmit:qe}){P.value!==G&&(qe!==!0&&e["onUpdate:modelValue"]!==void 0&&r("update:modelValue",G),(de===!0||e["onUpdate:modelValue"]===void 0)&&(X(P.value,G),P.value=G))}function me(){s(()=>{rt({width:M.value.offsetWidth,height:M.value.offsetHeight})})}function rt(G){if(xe.value===void 0||_.value===null)return;const de=G[xe.value.container],qe=Math.min(_.value[xe.value.scroll],Array.prototype.reduce.call(_.value.children,(it,Ze)=>it+(Ze[xe.value.content]||0),0)),gt=de>0&&qe>de;$.value=gt,gt===!0&&u(he),W.value=deit.name.value===G):null,gt=de!=null&&de!==""?D.find(it=>it.name.value===de):null;if(qe&>){const it=qe.tabIndicatorRef.value,Ze=gt.tabIndicatorRef.value;J!==null&&(clearTimeout(J),J=null),it.style.transition="none",it.style.transform="none",Ze.style.transition="none",Ze.style.transform="none";const Fe=it.getBoundingClientRect(),mt=Ze.getBoundingClientRect();Ze.style.transform=e.vertical===!0?`translate3d(0,${Fe.top-mt.top}px,0) scale3d(1,${mt.height?Fe.height/mt.height:1},1)`:`translate3d(${Fe.left-mt.left}px,0,0) scale3d(${mt.width?Fe.width/mt.width:1},1,1)`,d(()=>{J=setTimeout(()=>{J=null,Ze.style.transition="transform .25s cubic-bezier(.4, 0, .2, 1)",Ze.style.transform="none"},70)})}gt&&$.value===!0&&Z(gt.rootRef.value)}function Z(G){const{left:de,width:qe,top:gt,height:it}=_.value.getBoundingClientRect(),Ze=G.getBoundingClientRect();let Fe=e.vertical===!0?Ze.top-gt:Ze.left-de;if(Fe<0){_.value[e.vertical===!0?"scrollTop":"scrollLeft"]+=Math.floor(Fe),he();return}Fe+=e.vertical===!0?Ze.height-it:Ze.width-qe,Fe>0&&(_.value[e.vertical===!0?"scrollTop":"scrollLeft"]+=Math.ceil(Fe),he())}function he(){const G=_.value;if(G===null)return;const de=G.getBoundingClientRect(),qe=e.vertical===!0?G.scrollTop:Math.abs(G.scrollLeft);Be.value===!0?(L.value=Math.ceil(qe+de.width)0):(L.value=qe>0,F.value=e.vertical===!0?Math.ceil(qe+de.height){ee(G)===!0&&we()},5)}function Ke(){fe(j.value===!0?Number.MAX_SAFE_INTEGER:0)}function Ve(){fe(j.value===!0?0:Number.MAX_SAFE_INTEGER)}function we(){z!==null&&(clearInterval(z),z=null)}function Me(G,de){const qe=Array.prototype.filter.call(_.value.children,mt=>mt===de||mt.matches&&mt.matches(".q-tab.q-focusable")===!0),gt=qe.length;if(gt===0)return;if(G===36)return Z(qe[0]),qe[0].focus(),!0;if(G===35)return Z(qe[gt-1]),qe[gt-1].focus(),!0;const it=G===(e.vertical===!0?38:37),Ze=G===(e.vertical===!0?40:39),Fe=it===!0?-1:Ze===!0?1:void 0;if(Fe!==void 0){const mt=Be.value===!0?-1:1,xt=qe.indexOf(de)+Fe*mt;return xt>=0&&xtj.value===!0?{get:G=>Math.abs(G.scrollLeft),set:(G,de)=>{G.scrollLeft=-de}}:e.vertical===!0?{get:G=>G.scrollTop,set:(G,de)=>{G.scrollTop=de}}:{get:G=>G.scrollLeft,set:(G,de)=>{G.scrollLeft=de}});function ee(G){const de=_.value,{get:qe,set:gt}=ft.value;let it=!1,Ze=qe(de);const Fe=G=G)&&(it=!0,Ze=G),gt(de,Ze),he(),it}function wt(G,de){for(const qe in G)if(G[qe]!==de[qe])return!1;return!0}function nn(){let G=null,de={matchedLen:0,queryDiff:9999,hrefLen:0};const qe=D.filter(Fe=>Fe.routeData!==void 0&&Fe.routeData.hasRouterLink.value===!0),{hash:gt,query:it}=a.$route,Ze=Object.keys(it).length;for(const Fe of qe){const mt=Fe.routeData.exact.value===!0;if(Fe.routeData[mt===!0?"linkIsExactActive":"linkIsActive"].value!==!0)continue;const{hash:xt,query:cn,matched:Jn,href:ti}=Fe.routeData.resolvedLink.value,Fn=Object.keys(cn).length;if(mt===!0){if(xt!==gt||Fn!==Ze||wt(it,cn)===!1)continue;G=Fe.name.value;break}if(xt!==""&&xt!==gt||Fn!==0&&wt(cn,it)===!1)continue;const Qt={matchedLen:Jn.length,queryDiff:Ze-Fn,hrefLen:ti.length-xt.length};if(Qt.matchedLen>de.matchedLen){G=Fe.name.value,de=Qt;continue}else if(Qt.matchedLen!==de.matchedLen)continue;if(Qt.queryDiffde.hrefLen&&(G=Fe.name.value,de=Qt)}G===null&&D.some(Fe=>Fe.routeData===void 0&&Fe.name.value===P.value)===!0||K({name:G,setCurrent:!0})}function un(G){if(g(),N.value!==!0&&M.value!==null&&G.target&&typeof G.target.closest=="function"){const de=G.target.closest(".q-tab");de&&M.value.contains(de)===!0&&(N.value=!0,$.value===!0&&Z(de))}}function rn(){f(()=>{N.value=!1},30)}function qt(){Bn.avoidRouteWatcher===!1?v(nn):T()}function Gt(){if(H===void 0){const G=ze(()=>a.$route.fullPath,qt);H=()=>{G(),H=void 0}}}function Zn(G){D.push(G),A.value++,me(),G.routeData===void 0||a.$route===void 0?v(()=>{if($.value===!0){const de=P.value,qe=de!=null&&de!==""?D.find(gt=>gt.name.value===de):null;qe&&Z(qe.rootRef.value)}}):(Gt(),G.routeData.hasRouterLink.value===!0&&qt())}function Kt(G){D.splice(D.indexOf(G),1),A.value--,me(),H!==void 0&&G.routeData!==void 0&&(D.every(de=>de.routeData===void 0)===!0&&H(),qt())}const Bn={currentModel:P,tabProps:pe,hasFocus:N,hasActiveTab:_e,registerTab:Zn,unregisterTab:Kt,verifyRouteModel:qt,updateModel:K,onKbdNavigate:Me,avoidRouteWatcher:!1};zh(Uh,Bn);function Pr(){J!==null&&clearTimeout(J),we(),H!==void 0&&H()}let St;return Ht(Pr),ia(()=>{St=H!==void 0,Pr()}),aa(()=>{St===!0&&Gt(),me()}),()=>E("div",{ref:M,class:lt.value,role:"tablist",onFocusin:un,onFocusout:rn},[E(xu,{onResize:rt}),E("div",{ref:_,class:te.value,onScroll:he},Mt(t.default)),E(Wt,{class:"q-tabs__arrow q-tabs__arrow--left absolute q-tab__icon"+(L.value===!0?"":" q-tabs__arrow--faded"),name:e.leftIcon||l.iconSet.tabs[e.vertical===!0?"up":"left"],onMousedownPassive:Ke,onTouchstartPassive:Ke,onMouseupPassive:we,onMouseleavePassive:we,onTouchendPassive:we}),E(Wt,{class:"q-tabs__arrow q-tabs__arrow--right absolute q-tab__icon"+(F.value===!0?"":" q-tabs__arrow--faded"),name:e.rightIcon||l.iconSet.tabs[e.vertical===!0?"down":"right"],onMousedownPassive:Ve,onTouchstartPassive:Ve,onMouseupPassive:we,onMouseleavePassive:we,onTouchendPassive:we})])}}),OS=Je({name:"QField",inheritAttrs:!1,props:Xu,emits:Wh,setup(){return Yh(Hh())}});const vh=e=>["add","add-unique","toggle"].includes(e),LS=".*+?^${}()|[]\\",NS=Object.keys(Xu);var Aa=Je({name:"QSelect",inheritAttrs:!1,props:{...eg,...Wb,...Xu,modelValue:{required:!0},multiple:Boolean,displayValue:[String,Number],displayValueHtml:Boolean,dropdownIcon:String,options:{type:Array,default:()=>[]},optionValue:[Function,String],optionLabel:[Function,String],optionDisable:[Function,String],hideSelected:Boolean,hideDropdownIcon:Boolean,fillInput:Boolean,maxValues:[Number,String],optionsDense:Boolean,optionsDark:{type:Boolean,default:null},optionsSelectedClass:String,optionsHtml:Boolean,optionsCover:Boolean,menuShrink:Boolean,menuAnchor:String,menuSelf:String,menuOffset:Array,popupContentClass:String,popupContentStyle:[String,Array,Object],useInput:Boolean,useChips:Boolean,newValueMode:{type:String,validator:vh},mapOptions:Boolean,emitValue:Boolean,inputDebounce:{type:[Number,String],default:500},inputClass:[Array,String,Object],inputStyle:[Array,String,Object],tabindex:{type:[String,Number],default:0},autocomplete:String,transitionShow:String,transitionHide:String,transitionDuration:[String,Number],behavior:{type:String,validator:e=>["default","menu","dialog"].includes(e),default:"default"},virtualScrollItemSize:{type:[Number,String],default:void 0},onNewValue:Function,onFilter:Function},emits:[...Wh,"add","remove","inputValue","newValue","keyup","keypress","keydown","filterAbort"],setup(e,{slots:t,emit:r}){const{proxy:a}=Dt(),{$q:l}=a,s=se(!1),u=se(!1),d=se(-1),f=se(""),g=se(!1),v=se(!1);let T=null,M,_,P,$=null,L,F,W,D;const A=se(null),N=se(null),J=se(null),z=se(null),H=se(null),pe=Yb(e),_e=Kb(al),Pe=I(()=>Array.isArray(e.options)?e.options.length:0),lt=I(()=>e.virtualScrollItemSize===void 0?e.optionsDense===!0?24:48:e.virtualScrollItemSize),{virtualScrollSliceRange:te,virtualScrollSliceSizeComputed:xe,localResetVirtualScroll:Be,padVirtualScroll:j,onVirtualScrollEvt:K,scrollTo:me,setVirtualScrollSize:rt}=tg({virtualScrollLength:Pe,getVirtualScrollTarget:nl,getVirtualScrollEl:tl,virtualScrollItemSizeComputed:lt}),X=Hh(),Z=I(()=>{const C=e.mapOptions===!0&&e.multiple!==!0,le=e.modelValue!==void 0&&(e.modelValue!==null||C===!0)?e.multiple===!0&&Array.isArray(e.modelValue)?e.modelValue:[e.modelValue]:[];if(e.mapOptions===!0&&Array.isArray(e.options)===!0){const ie=e.mapOptions===!0&&M!==void 0?M:[],De=le.map(st=>ti(st,ie));return e.modelValue===null&&C===!0?De.filter(st=>st!==null):De}return le}),he=I(()=>{const C={};return NS.forEach(le=>{const ie=e[le];ie!==void 0&&(C[le]=ie)}),C}),fe=I(()=>e.optionsDark===null?X.isDark.value:e.optionsDark),Ke=I(()=>eh(Z.value)),Ve=I(()=>{let C="q-field__input q-placeholder col";return e.hideSelected===!0||Z.value.length===0?[C,e.inputClass]:(C+=" q-field__input--padding",e.inputClass===void 0?C:[C,e.inputClass])}),we=I(()=>(e.virtualScrollHorizontal===!0?"q-virtual-scroll--horizontal":"")+(e.popupContentClass?" "+e.popupContentClass:"")),Me=I(()=>Pe.value===0),ft=I(()=>Z.value.map(C=>G.value(C)).join(", ")),ee=I(()=>e.displayValue!==void 0?e.displayValue:ft.value),wt=I(()=>e.optionsHtml===!0?()=>!0:C=>C!=null&&C.html===!0),nn=I(()=>e.displayValueHtml===!0||e.displayValue===void 0&&(e.optionsHtml===!0||Z.value.some(wt.value))),un=I(()=>X.focused.value===!0?e.tabindex:-1),rn=I(()=>{const C={tabindex:e.tabindex,role:"combobox","aria-label":e.label,"aria-readonly":e.readonly===!0?"true":"false","aria-autocomplete":e.useInput===!0?"list":"none","aria-expanded":s.value===!0?"true":"false","aria-controls":`${X.targetUid.value}_lb`};return d.value>=0&&(C["aria-activedescendant"]=`${X.targetUid.value}_${d.value}`),C}),qt=I(()=>({id:`${X.targetUid.value}_lb`,role:"listbox","aria-multiselectable":e.multiple===!0?"true":"false"})),Gt=I(()=>Z.value.map((C,le)=>({index:le,opt:C,html:wt.value(C),selected:!0,removeAtIndex:Fe,toggleOption:xt,tabindex:un.value}))),Zn=I(()=>{if(Pe.value===0)return[];const{from:C,to:le}=te.value;return e.options.slice(C,le).map((ie,De)=>{const st=de.value(ie)===!0,tt=C+De,kt={clickable:!0,active:!1,activeClass:Pr.value,manualFocus:!0,focused:!1,disable:st,tabindex:-1,dense:e.optionsDense,dark:fe.value,role:"option",id:`${X.targetUid.value}_${tt}`,onClick:()=>{xt(ie)}};return st!==!0&&(Qt(ie)===!0&&(kt.active=!0),d.value===tt&&(kt.focused=!0),kt["aria-selected"]=kt.active===!0?"true":"false",l.platform.is.desktop===!0&&(kt.onMousemove=()=>{s.value===!0&&cn(tt)})),{index:tt,opt:ie,html:wt.value(ie),label:G.value(ie),selected:kt.active,focused:kt.focused,toggleOption:xt,setOptionIndex:cn,itemProps:kt}})}),Kt=I(()=>e.dropdownIcon!==void 0?e.dropdownIcon:l.iconSet.arrow.dropdown),Bn=I(()=>e.optionsCover===!1&&e.outlined!==!0&&e.standout!==!0&&e.borderless!==!0&&e.rounded!==!0),Pr=I(()=>e.optionsSelectedClass!==void 0?e.optionsSelectedClass:e.color!==void 0?`text-${e.color}`:""),St=I(()=>Fn(e.optionValue,"value")),G=I(()=>Fn(e.optionLabel,"label")),de=I(()=>Fn(e.optionDisable,"disable")),qe=I(()=>Z.value.map(C=>St.value(C))),gt=I(()=>{const C={onInput:al,onChange:_e,onKeydown:el,onKeyup:ki,onKeypress:Xa,onFocus:wi,onClick(le){_===!0&&gi(le)}};return C.onCompositionstart=C.onCompositionupdate=C.onCompositionend=_e,C});ze(Z,C=>{M=C,e.useInput===!0&&e.fillInput===!0&&e.multiple!==!0&&X.innerLoading.value!==!0&&(u.value!==!0&&s.value!==!0||Ke.value!==!0)&&(P!==!0&&Rr(),(u.value===!0||s.value===!0)&&Er(""))},{immediate:!0}),ze(()=>e.fillInput,Rr),ze(s,Ti),ze(Pe,Jo);function it(C){return e.emitValue===!0?St.value(C):C}function Ze(C){if(C>-1&&C=e.maxValues)return;const De=e.modelValue.slice();r("add",{index:De.length,value:ie}),De.push(ie),r("update:modelValue",De)}function xt(C,le){if(X.editable.value!==!0||C===void 0||de.value(C)===!0)return;const ie=St.value(C);if(e.multiple!==!0){le!==!0&&(Ar(e.fillInput===!0?G.value(C):"",!0,!0),ur()),N.value!==null&&N.value.focus(),(Z.value.length===0||Wi(St.value(Z.value[0]),ie)!==!0)&&r("update:modelValue",e.emitValue===!0?ie:C);return}if((_!==!0||g.value===!0)&&X.focus(),wi(),Z.value.length===0){const tt=e.emitValue===!0?ie:C;r("add",{index:0,value:tt}),r("update:modelValue",e.multiple===!0?[tt]:tt);return}const De=e.modelValue.slice(),st=qe.value.findIndex(tt=>Wi(tt,ie));if(st>-1)r("remove",{index:st,value:De.splice(st,1)[0]});else{if(e.maxValues!==void 0&&De.length>=e.maxValues)return;const tt=e.emitValue===!0?ie:C;r("add",{index:De.length,value:tt}),De.push(tt)}r("update:modelValue",De)}function cn(C){if(l.platform.is.desktop!==!0)return;const le=C>-1&&C=0?G.value(e.options[ie]):L))}}function ti(C,le){const ie=De=>Wi(St.value(De),C);return e.options.find(ie)||le.find(ie)||C}function Fn(C,le){const ie=C!==void 0?C:le;return typeof ie=="function"?ie:De=>De!==null&&typeof De=="object"&&ie in De?De[ie]:De}function Qt(C){const le=St.value(C);return qe.value.find(ie=>Wi(ie,le))!==void 0}function wi(C){e.useInput===!0&&N.value!==null&&(C===void 0||N.value===C.target&&C.target.value===ft.value)&&N.value.select()}function Si(C){Wa(C,27)===!0&&s.value===!0&&(gi(C),ur(),Rr()),r("keyup",C)}function ki(C){const{value:le}=C.target;if(C.keyCode!==void 0){Si(C);return}if(C.target.value="",T!==null&&(clearTimeout(T),T=null),Rr(),typeof le=="string"&&le.length!==0){const ie=le.toLocaleLowerCase(),De=tt=>{const kt=e.options.find(Nt=>tt.value(Nt).toLocaleLowerCase()===ie);return kt===void 0?!1:(Z.value.indexOf(kt)===-1?xt(kt):ur(),!0)},st=tt=>{De(St)!==!0&&(De(G)===!0||tt===!0||Er(le,!0,()=>st(!0)))};st()}else X.clearValue(C)}function Xa(C){r("keypress",C)}function el(C){if(r("keydown",C),Vh(C)===!0)return;const le=f.value.length!==0&&(e.newValueMode!==void 0||e.onNewValue!==void 0),ie=C.shiftKey!==!0&&e.multiple!==!0&&(d.value>-1||le===!0);if(C.keyCode===27){Ia(C);return}if(C.keyCode===9&&ie===!1){Ir();return}if(C.target===void 0||C.target.id!==X.targetUid.value||X.editable.value!==!0)return;if(C.keyCode===40&&X.innerLoading.value!==!0&&s.value===!1){Ft(C),$r();return}if(C.keyCode===8&&e.hideSelected!==!0&&f.value.length===0){e.multiple===!0&&Array.isArray(e.modelValue)===!0?Ze(e.modelValue.length-1):e.multiple!==!0&&e.modelValue!==null&&r("update:modelValue",null);return}(C.keyCode===35||C.keyCode===36)&&(typeof f.value!="string"||f.value.length===0)&&(Ft(C),d.value=-1,Jn(C.keyCode===36?1:-1,e.multiple)),(C.keyCode===33||C.keyCode===34)&&xe.value!==void 0&&(Ft(C),d.value=Math.max(-1,Math.min(Pe.value,d.value+(C.keyCode===33?-1:1)*xe.value.view)),Jn(C.keyCode===33?1:-1,e.multiple)),(C.keyCode===38||C.keyCode===40)&&(Ft(C),Jn(C.keyCode===38?-1:1,e.multiple));const De=Pe.value;if((W===void 0||D0&&e.useInput!==!0&&C.key!==void 0&&C.key.length===1&&C.altKey===!1&&C.ctrlKey===!1&&C.metaKey===!1&&(C.keyCode!==32||W.length!==0)){s.value!==!0&&$r(C);const st=C.key.toLocaleLowerCase(),tt=W.length===1&&W[0]===st;D=Date.now()+1500,tt===!1&&(Ft(C),W+=st);const kt=new RegExp("^"+W.split("").map(Mi=>LS.indexOf(Mi)>-1?"\\"+Mi:Mi).join(".*"),"i");let Nt=d.value;if(tt===!0||Nt<0||kt.test(G.value(e.options[Nt]))!==!0)do Nt=rh(Nt+1,-1,De-1);while(Nt!==d.value&&(de.value(e.options[Nt])===!0||kt.test(G.value(e.options[Nt]))!==!0));d.value!==Nt&&Sn(()=>{cn(Nt),me(Nt),Nt>=0&&e.useInput===!0&&e.fillInput===!0&&Ci(G.value(e.options[Nt]))});return}if(!(C.keyCode!==13&&(C.keyCode!==32||e.useInput===!0||W!=="")&&(C.keyCode!==9||ie===!1))){if(C.keyCode!==9&&Ft(C),d.value>-1&&d.value{if(kt){if(vh(kt)!==!0)return}else kt=e.newValueMode;if(Ar("",e.multiple!==!0,!0),tt==null)return;(kt==="toggle"?xt:mt)(tt,kt==="add-unique"),e.multiple!==!0&&(N.value!==null&&N.value.focus(),ur())};if(e.onNewValue!==void 0?r("newValue",f.value,st):st(f.value),e.multiple!==!0)return}s.value===!0?Ir():X.innerLoading.value!==!0&&$r()}}function tl(){return _===!0?H.value:J.value!==null&&J.value.contentEl!==null?J.value.contentEl:void 0}function nl(){return tl()}function rl(){return e.hideSelected===!0?[]:t["selected-item"]!==void 0?Gt.value.map(C=>t["selected-item"](C)).slice():t.selected!==void 0?[].concat(t.selected()):e.useChips===!0?Gt.value.map((C,le)=>E(Ha,{key:"option-"+le,removable:X.editable.value===!0&&de.value(C.opt)!==!0,dense:!0,textColor:e.color,tabindex:un.value,onRemove(){C.removeAtIndex(le)}},()=>E("span",{class:"ellipsis",[C.html===!0?"innerHTML":"textContent"]:G.value(C.opt)}))):[E("span",{[nn.value===!0?"innerHTML":"textContent"]:ee.value})]}function il(){if(Me.value===!0)return t["no-option"]!==void 0?t["no-option"]({inputValue:f.value}):void 0;const C=t.option!==void 0?t.option:ie=>E(zt,{key:ie.index,...ie.itemProps},()=>E(Ie,()=>E(Ge,()=>E("span",{[ie.html===!0?"innerHTML":"textContent"]:ie.label}))));let le=j("div",Zn.value.map(C));return t["before-options"]!==void 0&&(le=t["before-options"]().concat(le)),_i(t["after-options"],le)}function Wo(C,le){const ie=le===!0?{...rn.value,...X.splitAttrs.attributes.value}:void 0,De={ref:le===!0?N:void 0,key:"i_t",class:Ve.value,style:e.inputStyle,value:f.value!==void 0?f.value:"",type:"search",...ie,id:le===!0?X.targetUid.value:void 0,maxlength:e.maxlength,autocomplete:e.autocomplete,"data-autofocus":C===!0||e.autofocus===!0||void 0,disabled:e.disable===!0,readonly:e.readonly===!0,...gt.value};return C!==!0&&_===!0&&(Array.isArray(De.class)===!0?De.class=[...De.class,"no-pointer-events"]:De.class+=" no-pointer-events"),E("input",De)}function al(C){T!==null&&(clearTimeout(T),T=null),!(C&&C.target&&C.target.qComposing===!0)&&(Ci(C.target.value||""),P=!0,L=f.value,X.focused.value!==!0&&(_!==!0||g.value===!0)&&X.focus(),e.onFilter!==void 0&&(T=setTimeout(()=>{T=null,Er(f.value)},e.inputDebounce)))}function Ci(C){f.value!==C&&(f.value=C,r("inputValue",C))}function Ar(C,le,ie){P=ie!==!0,e.useInput===!0&&(Ci(C),(le===!0||ie!==!0)&&(L=C),le!==!0&&Er(C))}function Er(C,le,ie){if(e.onFilter===void 0||le!==!0&&X.focused.value!==!0)return;X.innerLoading.value===!0?r("filterAbort"):(X.innerLoading.value=!0,v.value=!0),C!==""&&e.multiple!==!0&&Z.value.length!==0&&P!==!0&&C===G.value(Z.value[0])&&(C="");const De=setTimeout(()=>{s.value===!0&&(s.value=!1)},10);$!==null&&clearTimeout($),$=De,r("filter",C,(st,tt)=>{(le===!0||X.focused.value===!0)&&$===De&&(clearTimeout($),typeof st=="function"&&st(),v.value=!1,Sn(()=>{X.innerLoading.value=!1,X.editable.value===!0&&(le===!0?s.value===!0&&ur():s.value===!0?Ti(!0):s.value=!0),typeof tt=="function"&&Sn(()=>{tt(a)}),typeof ie=="function"&&Sn(()=>{ie(a)})}))},()=>{X.focused.value===!0&&$===De&&(clearTimeout($),X.innerLoading.value=!1,v.value=!1),s.value===!0&&(s.value=!1)})}function Yo(){return E(ng,{ref:J,class:we.value,style:e.popupContentStyle,modelValue:s.value,fit:e.menuShrink!==!0,cover:e.optionsCover===!0&&Me.value!==!0&&e.useInput!==!0,anchor:e.menuAnchor,self:e.menuSelf,offset:e.menuOffset,dark:fe.value,noParentEvent:!0,noRefocus:!0,noFocus:!0,square:Bn.value,transitionShow:e.transitionShow,transitionHide:e.transitionHide,transitionDuration:e.transitionDuration,separateClosePopup:!0,...qt.value,onScrollPassive:K,onBeforeShow:ol,onBeforeHide:Ho,onShow:sa},il)}function Ho(C){sl(C),Ir()}function sa(){rt()}function Go(C){gi(C),N.value!==null&&N.value.focus(),g.value=!0,window.scrollTo(window.pageXOffset||window.scrollX||document.body.scrollLeft||0,0)}function ua(C){gi(C),Sn(()=>{g.value=!1})}function Ko(){const C=[E(OS,{class:`col-auto ${X.fieldClass.value}`,...he.value,for:X.targetUid.value,dark:fe.value,square:!0,loading:v.value,itemAligned:!1,filled:!0,stackLabel:f.value.length!==0,...X.splitAttrs.listeners.value,onFocus:Go,onBlur:ua},{...t,rawControl:()=>X.getControl(!0),before:void 0,after:void 0})];return s.value===!0&&C.push(E("div",{ref:H,class:we.value+" scroll",style:e.popupContentStyle,...qt.value,onClick:Ia,onScrollPassive:K},il())),E(co,{ref:z,modelValue:u.value,position:e.useInput===!0?"top":void 0,transitionShow:F,transitionHide:e.transitionHide,transitionDuration:e.transitionDuration,onBeforeShow:ol,onBeforeHide:Qo,onHide:jo,onShow:Zo},()=>E("div",{class:"q-select__dialog"+(fe.value===!0?" q-select__dialog--dark q-dark":"")+(g.value===!0?" q-select__dialog--focused":"")},C))}function Qo(C){sl(C),z.value!==null&&z.value.__updateRefocusTarget(X.rootRef.value.querySelector(".q-field__native > [tabindex]:last-child")),X.focused.value=!1}function jo(C){ur(),X.focused.value===!1&&r("blur",C),Rr()}function Zo(){const C=document.activeElement;(C===null||C.id!==X.targetUid.value)&&N.value!==null&&N.value!==C&&N.value.focus(),rt()}function Ir(){u.value!==!0&&(d.value=-1,s.value===!0&&(s.value=!1),X.focused.value===!1&&($!==null&&(clearTimeout($),$=null),X.innerLoading.value===!0&&(r("filterAbort"),X.innerLoading.value=!1,v.value=!1)))}function $r(C){X.editable.value===!0&&(_===!0?(X.onControlFocusin(C),u.value=!0,Sn(()=>{X.focus()})):X.focus(),e.onFilter!==void 0?Er(f.value):(Me.value!==!0||t["no-option"]!==void 0)&&(s.value=!0))}function ur(){u.value=!1,Ir()}function Rr(){e.useInput===!0&&Ar(e.multiple!==!0&&e.fillInput===!0&&Z.value.length!==0&&G.value(Z.value[0])||"",!0,!0)}function Ti(C){let le=-1;if(C===!0){if(Z.value.length!==0){const ie=St.value(Z.value[0]);le=e.options.findIndex(De=>Wi(St.value(De),ie))}Be(le)}cn(le)}function Jo(C,le){s.value===!0&&X.innerLoading.value===!1&&(Be(-1,!0),Sn(()=>{s.value===!0&&X.innerLoading.value===!1&&(C>le?Be():Ti(!0))}))}function ll(){u.value===!1&&J.value!==null&&J.value.updatePosition()}function ol(C){C!==void 0&&gi(C),r("popupShow",C),X.hasPopupOpen=!0,X.onControlFocusin(C)}function sl(C){C!==void 0&&gi(C),r("popupHide",C),X.hasPopupOpen=!1,X.onControlFocusout(C)}function ul(){_=l.platform.is.mobile!==!0&&e.behavior!=="dialog"?!1:e.behavior!=="menu"&&(e.useInput===!0?t["no-option"]!==void 0||e.onFilter!==void 0||Me.value===!1:!0),F=l.platform.is.ios===!0&&_===!0&&e.useInput===!0?"fade":e.transitionShow}return Hb(ul),Gb(ll),ul(),Ht(()=>{T!==null&&clearTimeout(T)}),Object.assign(a,{showPopup:$r,hidePopup:ur,removeAtIndex:Ze,add:mt,toggleOption:xt,getOptionIndex:()=>d.value,setOptionIndex:cn,moveOptionSelection:Jn,filter:Er,updateMenuPosition:ll,updateInputValue:Ar,isOptionSelected:Qt,getEmittingOptionValue:it,isOptionDisabled:(...C)=>de.value.apply(null,C)===!0,getOptionValue:(...C)=>St.value.apply(null,C),getOptionLabel:(...C)=>G.value.apply(null,C)}),Object.assign(X,{innerValue:Z,fieldClass:I(()=>`q-select q-field--auto-height q-select--with${e.useInput!==!0?"out":""}-input q-select--with${e.useChips!==!0?"out":""}-chips q-select--${e.multiple===!0?"multiple":"single"}`),inputRef:A,targetRef:N,hasValue:Ke,showPopup:$r,floatingLabel:I(()=>e.hideSelected!==!0&&Ke.value===!0||typeof f.value=="number"||f.value.length!==0||eh(e.displayValue)),getControlChild:()=>{if(X.editable.value!==!1&&(u.value===!0||Me.value!==!0||t["no-option"]!==void 0))return _===!0?Ko():Yo();X.hasPopupOpen===!0&&(X.hasPopupOpen=!1)},controlEvents:{onFocusin(C){X.onControlFocusin(C)},onFocusout(C){X.onControlFocusout(C,()=>{Rr(),Ir()})},onClick(C){if(Ia(C),_!==!0&&s.value===!0){Ir(),N.value!==null&&N.value.focus();return}$r(C)}},getControl:C=>{const le=rl(),ie=C===!0||u.value!==!0||_!==!0;if(e.useInput===!0)le.push(Wo(C,ie));else if(X.editable.value===!0){const st=ie===!0?rn.value:void 0;le.push(E("input",{ref:ie===!0?N:void 0,key:"d_t",class:"q-select__focus-target",id:ie===!0?X.targetUid.value:void 0,value:ee.value,readonly:!0,"data-autofocus":C===!0||e.autofocus===!0||void 0,...st,onKeydown:el,onKeyup:Si,onKeypress:Xa})),ie===!0&&typeof e.autocomplete=="string"&&e.autocomplete.length!==0&&le.push(E("input",{class:"q-select__autocomplete-input",autocomplete:e.autocomplete,tabindex:-1,onKeyup:ki}))}if(pe.value!==void 0&&e.disable!==!0&&qe.value.length!==0){const st=qe.value.map(tt=>E("option",{value:tt,selected:!0}));le.push(E("select",{class:"hidden",name:pe.value,multiple:e.multiple},st))}const De=e.useInput===!0||ie!==!0?void 0:X.splitAttrs.attributes.value;return E("div",{class:"q-field__native row items-center",...De,...X.splitAttrs.listeners.value},le)},getInnerAppend:()=>e.loading!==!0&&v.value!==!0&&e.hideDropdownIcon!==!0?[E(Wt,{class:"q-select__dropdown-icon"+(s.value===!0?" rotate-180":""),name:Kt.value})]:null}),Yh(X)}});function BS(e){const t=[.06,6,50];return typeof e=="string"&&e.length&&e.split(":").forEach((r,a)=>{const l=parseFloat(r);l&&(t[a]=l)}),t}var FS=Fh({name:"touch-swipe",beforeMount(e,{value:t,arg:r,modifiers:a}){if(a.mouse!==!0&&zi.has.touch!==!0)return;const l=a.mouseCapture===!0?"Capture":"",s={handler:t,sensitivity:BS(r),direction:ih(a),noop:Eh,mouseStart(u){ah(u,s)&&Qb(u)&&(Hr(s,"temp",[[document,"mousemove","move",`notPassive${l}`],[document,"mouseup","end","notPassiveCapture"]]),s.start(u,!0))},touchStart(u){if(ah(u,s)){const d=u.target;Hr(s,"temp",[[d,"touchmove","move","notPassiveCapture"],[d,"touchcancel","end","notPassiveCapture"],[d,"touchend","end","notPassiveCapture"]]),s.start(u)}},start(u,d){zi.is.firefox===!0&&uu(e,!0);const f=Du(u);s.event={x:f.left,y:f.top,time:Date.now(),mouse:d===!0,dir:!1}},move(u){if(s.event===void 0)return;if(s.event.dir!==!1){Ft(u);return}const d=Date.now()-s.event.time;if(d===0)return;const f=Du(u),g=f.left-s.event.x,v=Math.abs(g),T=f.top-s.event.y,M=Math.abs(T);if(s.event.mouse!==!0){if(vs.sensitivity[0]&&(s.event.dir=T<0?"up":"down"),s.direction.horizontal===!0&&v>M&&M<100&&_>s.sensitivity[0]&&(s.event.dir=g<0?"left":"right"),s.direction.up===!0&&vs.sensitivity[0]&&(s.event.dir="up"),s.direction.down===!0&&v0&&v<100&&P>s.sensitivity[0]&&(s.event.dir="down"),s.direction.left===!0&&v>M&&g<0&&M<100&&_>s.sensitivity[0]&&(s.event.dir="left"),s.direction.right===!0&&v>M&&g>0&&M<100&&_>s.sensitivity[0]&&(s.event.dir="right"),s.event.dir!==!1?(Ft(u),s.event.mouse===!0&&(document.body.classList.add("no-pointer-events--children"),document.body.classList.add("non-selectable"),fo(),s.styleCleanup=$=>{s.styleCleanup=void 0,document.body.classList.remove("non-selectable");const L=()=>{document.body.classList.remove("no-pointer-events--children")};$===!0?setTimeout(L,50):L()}),s.handler({evt:u,touch:s.event.mouse!==!0,mouse:s.event.mouse,direction:s.event.dir,duration:d,distance:{x:v,y:M}})):s.end(u)},end(u){s.event!==void 0&&(Ki(s,"temp"),zi.is.firefox===!0&&uu(e,!1),s.styleCleanup!==void 0&&s.styleCleanup(!0),u!==void 0&&s.event.dir!==!1&&Ft(u),s.event=void 0)}};if(e.__qtouchswipe=s,a.mouse===!0){const u=a.mouseCapture===!0||a.mousecapture===!0?"Capture":"";Hr(s,"main",[[e,"mousedown","mouseStart",`passive${u}`]])}zi.has.touch===!0&&Hr(s,"main",[[e,"touchstart","touchStart",`passive${a.capture===!0?"Capture":""}`],[e,"touchmove","noop","notPassiveCapture"]])},updated(e,t){const r=e.__qtouchswipe;r!==void 0&&(t.oldValue!==t.value&&(typeof t.value!="function"&&r.end(),r.handler=t.value),r.direction=ih(t.modifiers))},beforeUnmount(e){const t=e.__qtouchswipe;t!==void 0&&(Ki(t,"main"),Ki(t,"temp"),zi.is.firefox===!0&&uu(e,!1),t.styleCleanup!==void 0&&t.styleCleanup(),delete e.__qtouchswipe)}});function US(){const e=new Map;return{getCache:function(t,r){return e[t]===void 0?e[t]=r:e[t]},getCacheWithFn:function(t,r){return e[t]===void 0?e[t]=r():e[t]}}}const bg={name:{required:!0},disable:Boolean},ph={setup(e,{slots:t}){return()=>E("div",{class:"q-panel scroll",role:"tabpanel"},Mt(t.default))}},wg={modelValue:{required:!0},animated:Boolean,infinite:Boolean,swipeable:Boolean,vertical:Boolean,transitionPrev:String,transitionNext:String,transitionDuration:{type:[String,Number],default:300},keepAlive:Boolean,keepAliveInclude:[String,Array,RegExp],keepAliveExclude:[String,Array,RegExp],keepAliveMax:Number},Sg=["update:modelValue","beforeTransition","transition"];function kg(){const{props:e,emit:t,proxy:r}=Dt(),{getCacheWithFn:a}=US();let l,s;const u=se(null),d=se(null);function f(te){const xe=e.vertical===!0?"up":"left";z((r.$q.lang.rtl===!0?-1:1)*(te.direction===xe?1:-1))}const g=I(()=>[[FS,f,void 0,{horizontal:e.vertical!==!0,vertical:e.vertical,mouse:!0}]]),v=I(()=>e.transitionPrev||`slide-${e.vertical===!0?"down":"right"}`),T=I(()=>e.transitionNext||`slide-${e.vertical===!0?"up":"left"}`),M=I(()=>`--q-transition-duration: ${e.transitionDuration}ms`),_=I(()=>typeof e.modelValue=="string"||typeof e.modelValue=="number"?e.modelValue:String(e.modelValue)),P=I(()=>({include:e.keepAliveInclude,exclude:e.keepAliveExclude,max:e.keepAliveMax})),$=I(()=>e.keepAliveInclude!==void 0||e.keepAliveExclude!==void 0);ze(()=>e.modelValue,(te,xe)=>{const Be=D(te)===!0?A(te):-1;s!==!0&&J(Be===-1?0:Be{t("transition",te,xe)}))});function L(){z(1)}function F(){z(-1)}function W(te){t("update:modelValue",te)}function D(te){return te!=null&&te!==""}function A(te){return l.findIndex(xe=>xe.props.name===te&&xe.props.disable!==""&&xe.props.disable!==!0)}function N(){return l.filter(te=>te.props.disable!==""&&te.props.disable!==!0)}function J(te){const xe=te!==0&&e.animated===!0&&u.value!==-1?"q-transition--"+(te===-1?v.value:T.value):null;d.value!==xe&&(d.value=xe)}function z(te,xe=u.value){let Be=xe+te;for(;Be>-1&&Be{s=!1});return}Be+=te}e.infinite===!0&&l.length!==0&&xe!==-1&&xe!==l.length&&z(te,te===-1?l.length:-1)}function H(){const te=A(e.modelValue);return u.value!==te&&(u.value=te),!0}function pe(){const te=D(e.modelValue)===!0&&H()&&l[u.value];return e.keepAlive===!0?[E(jb,P.value,[E($.value===!0?a(_.value,()=>({...ph,name:_.value})):ph,{key:_.value,style:M.value},()=>te)])]:[E("div",{class:"q-panel scroll",style:M.value,key:_.value,role:"tabpanel"},[te])]}function _e(){if(l.length!==0)return e.animated===!0?[E(Ya,{name:d.value},pe)]:pe()}function Pe(te){return l=Ju(Mt(te.default,[])).filter(xe=>xe.props!==null&&xe.props.slot===void 0&&D(xe.props.name)===!0),l.length}function lt(){return l}return Object.assign(r,{next:L,previous:F,goTo:W}),{panelIndex:u,panelDirectives:g,updatePanelsList:Pe,updatePanelIndex:H,getPanelContent:_e,getEnabledPanels:N,getPanels:lt,isValidPanelName:D,keepAliveProps:P,needsUniqueKeepAliveWrapper:$,goToPanelByOffset:z,goToPanel:W,nextPanel:L,previousPanel:F}}var bu=Je({name:"QTabPanel",props:bg,setup(e,{slots:t}){return()=>E("div",{class:"q-tab-panel",role:"tabpanel"},Mt(t.default))}}),VS=Je({name:"QTabPanels",props:{...wg,...ir},emits:Sg,setup(e,{slots:t}){const r=Dt(),a=ar(e,r.proxy.$q),{updatePanelsList:l,getPanelContent:s,panelDirectives:u}=kg(),d=I(()=>"q-tab-panels q-panel-parent"+(a.value===!0?" q-tab-panels--dark q-dark":""));return()=>(l(t),Ku("div",{class:d.value},s(),"pan",e.swipeable,()=>u.value))}});const yh=e=>{e=1831565813+(e|=0)|0;let t=Math.imul(e^e>>>15,1|e);return t=t+Math.imul(t^t>>>7,61|t)^t,((t^t>>>14)>>>0)/4294967296};class zS{constructor(t){this.dictionaries=void 0,this.length=void 0,this.separator=void 0,this.style=void 0,this.seed=void 0;const{length:r,separator:a,dictionaries:l,style:s,seed:u}=t;this.dictionaries=l,this.separator=a,this.length=r,this.style=s,this.seed=u}generate(){if(!this.dictionaries)throw new Error('Cannot find any dictionary. Please provide at least one, or leave the "dictionary" field empty in the config object');if(this.length<=0)throw new Error("Invalid length provided");if(this.length>this.dictionaries.length)throw new Error(`The length cannot be bigger than the number of dictionaries. -Length provided: ${this.length}. Number of dictionaries provided: ${this.dictionaries.length}`);let t=this.seed;return this.dictionaries.slice(0,this.length).reduce((r,a)=>{let l;t?(l=(u=>{if(typeof u=="string"){const d=u.split("").map(g=>g.charCodeAt(0)).reduce((g,v)=>g+v,1),f=Math.floor(Number(d));return yh(f)}return yh(u)})(t),t=4294967296*l):l=Math.random();let s=a[Math.floor(l*a.length)]||"";if(this.style==="lowerCase")s=s.toLowerCase();else if(this.style==="capital"){const[u,...d]=s.split("");s=u.toUpperCase()+d.join("")}else this.style==="upperCase"&&(s=s.toUpperCase());return r?`${r}${this.separator}${s}`:`${s}`},"")}}const _h={separator:"_",dictionaries:[]},Cg=e=>{const t=[...e&&e.dictionaries||_h.dictionaries],r={..._h,...e,length:e&&e.length||t.length,dictionaries:t};if(!e||!e.dictionaries||!e.dictionaries.length)throw new Error('A "dictionaries" array must be provided. This is a breaking change introduced starting from Unique Name Generator v4. Read more about the breaking change here: https://github.com/andreasonny83/unique-names-generator#migration-guide');return new zS(r).generate()};var Tg=["able","above","absent","absolute","abstract","abundant","academic","acceptable","accepted","accessible","accurate","accused","active","actual","acute","added","additional","adequate","adjacent","administrative","adorable","advanced","adverse","advisory","aesthetic","afraid","aggregate","aggressive","agreeable","agreed","agricultural","alert","alive","alleged","allied","alone","alright","alternative","amateur","amazing","ambitious","amused","ancient","angry","annoyed","annual","anonymous","anxious","appalling","apparent","applicable","appropriate","arbitrary","architectural","armed","arrogant","artificial","artistic","ashamed","asleep","assistant","associated","atomic","attractive","automatic","autonomous","available","average","awake","aware","awful","awkward","back","bad","balanced","bare","basic","beautiful","beneficial","better","bewildered","big","binding","biological","bitter","bizarre","blank","blind","blonde","bloody","blushing","boiling","bold","bored","boring","bottom","brainy","brave","breakable","breezy","brief","bright","brilliant","broad","broken","bumpy","burning","busy","calm","capable","capitalist","careful","casual","causal","cautious","central","certain","changing","characteristic","charming","cheap","cheerful","chemical","chief","chilly","chosen","christian","chronic","chubby","circular","civic","civil","civilian","classic","classical","clean","clear","clever","clinical","close","closed","cloudy","clumsy","coastal","cognitive","coherent","cold","collective","colonial","colorful","colossal","coloured","colourful","combative","combined","comfortable","coming","commercial","common","communist","compact","comparable","comparative","compatible","competent","competitive","complete","complex","complicated","comprehensive","compulsory","conceptual","concerned","concrete","condemned","confident","confidential","confused","conscious","conservation","conservative","considerable","consistent","constant","constitutional","contemporary","content","continental","continued","continuing","continuous","controlled","controversial","convenient","conventional","convinced","convincing","cooing","cool","cooperative","corporate","correct","corresponding","costly","courageous","crazy","creative","creepy","criminal","critical","crooked","crowded","crucial","crude","cruel","cuddly","cultural","curious","curly","current","curved","cute","daily","damaged","damp","dangerous","dark","dead","deaf","deafening","dear","decent","decisive","deep","defeated","defensive","defiant","definite","deliberate","delicate","delicious","delighted","delightful","democratic","dependent","depressed","desirable","desperate","detailed","determined","developed","developing","devoted","different","difficult","digital","diplomatic","direct","dirty","disabled","disappointed","disastrous","disciplinary","disgusted","distant","distinct","distinctive","distinguished","disturbed","disturbing","diverse","divine","dizzy","domestic","dominant","double","doubtful","drab","dramatic","dreadful","driving","drunk","dry","dual","due","dull","dusty","dutch","dying","dynamic","eager","early","eastern","easy","economic","educational","eerie","effective","efficient","elaborate","elated","elderly","eldest","electoral","electric","electrical","electronic","elegant","eligible","embarrassed","embarrassing","emotional","empirical","empty","enchanting","encouraging","endless","energetic","enormous","enthusiastic","entire","entitled","envious","environmental","equal","equivalent","essential","established","estimated","ethical","ethnic","eventual","everyday","evident","evil","evolutionary","exact","excellent","exceptional","excess","excessive","excited","exciting","exclusive","existing","exotic","expected","expensive","experienced","experimental","explicit","extended","extensive","external","extra","extraordinary","extreme","exuberant","faint","fair","faithful","familiar","famous","fancy","fantastic","far","fascinating","fashionable","fast","fat","fatal","favourable","favourite","federal","fellow","female","feminist","few","fierce","filthy","final","financial","fine","firm","fiscal","fit","fixed","flaky","flat","flexible","fluffy","fluttering","flying","following","fond","foolish","foreign","formal","formidable","forthcoming","fortunate","forward","fragile","frail","frantic","free","frequent","fresh","friendly","frightened","front","frozen","full","fun","functional","fundamental","funny","furious","future","fuzzy","gastric","gay","general","generous","genetic","gentle","genuine","geographical","giant","gigantic","given","glad","glamorous","gleaming","global","glorious","golden","good","gorgeous","gothic","governing","graceful","gradual","grand","grateful","greasy","great","grieving","grim","gross","grotesque","growing","grubby","grumpy","guilty","handicapped","handsome","happy","hard","harsh","head","healthy","heavy","helpful","helpless","hidden","high","hilarious","hissing","historic","historical","hollow","holy","homeless","homely","hon","honest","horizontal","horrible","hostile","hot","huge","human","hungry","hurt","hushed","husky","icy","ideal","identical","ideological","ill","illegal","imaginative","immediate","immense","imperial","implicit","important","impossible","impressed","impressive","improved","inadequate","inappropriate","inc","inclined","increased","increasing","incredible","independent","indirect","individual","industrial","inevitable","influential","informal","inherent","initial","injured","inland","inner","innocent","innovative","inquisitive","instant","institutional","insufficient","intact","integral","integrated","intellectual","intelligent","intense","intensive","interested","interesting","interim","interior","intermediate","internal","international","intimate","invisible","involved","irrelevant","isolated","itchy","jealous","jittery","joint","jolly","joyous","judicial","juicy","junior","just","keen","key","kind","known","labour","large","late","latin","lazy","leading","left","legal","legislative","legitimate","lengthy","lesser","level","lexical","liable","liberal","light","like","likely","limited","linear","linguistic","liquid","literary","little","live","lively","living","local","logical","lonely","long","loose","lost","loud","lovely","low","loyal","ltd","lucky","mad","magic","magnetic","magnificent","main","major","male","mammoth","managerial","managing","manual","many","marginal","marine","marked","married","marvellous","marxist","mass","massive","mathematical","mature","maximum","mean","meaningful","mechanical","medical","medieval","melodic","melted","mental","mere","metropolitan","mid","middle","mighty","mild","military","miniature","minimal","minimum","ministerial","minor","miserable","misleading","missing","misty","mixed","moaning","mobile","moderate","modern","modest","molecular","monetary","monthly","moral","motionless","muddy","multiple","mushy","musical","mute","mutual","mysterious","naked","narrow","nasty","national","native","natural","naughty","naval","near","nearby","neat","necessary","negative","neighbouring","nervous","net","neutral","new","nice","noble","noisy","normal","northern","nosy","notable","novel","nuclear","numerous","nursing","nutritious","nutty","obedient","objective","obliged","obnoxious","obvious","occasional","occupational","odd","official","ok","okay","old","olympic","only","open","operational","opposite","optimistic","oral","ordinary","organic","organisational","original","orthodox","other","outdoor","outer","outrageous","outside","outstanding","overall","overseas","overwhelming","painful","pale","panicky","parallel","parental","parliamentary","partial","particular","passing","passive","past","patient","payable","peaceful","peculiar","perfect","permanent","persistent","personal","petite","philosophical","physical","plain","planned","plastic","pleasant","pleased","poised","polite","political","poor","popular","positive","possible","potential","powerful","practical","precious","precise","preferred","pregnant","preliminary","premier","prepared","present","presidential","pretty","previous","prickly","primary","prime","primitive","principal","printed","prior","private","probable","productive","professional","profitable","profound","progressive","prominent","promising","proper","proposed","prospective","protective","protestant","proud","provincial","psychiatric","psychological","public","puny","pure","purring","puzzled","quaint","qualified","quarrelsome","querulous","quick","quickest","quiet","quintessential","quixotic","racial","radical","rainy","random","rapid","rare","raspy","rational","ratty","raw","ready","real","realistic","rear","reasonable","recent","reduced","redundant","regional","registered","regular","regulatory","related","relative","relaxed","relevant","reliable","relieved","religious","reluctant","remaining","remarkable","remote","renewed","representative","repulsive","required","resident","residential","resonant","respectable","respective","responsible","resulting","retail","retired","revolutionary","rich","ridiculous","right","rigid","ripe","rising","rival","roasted","robust","rolling","romantic","rotten","rough","round","royal","rubber","rude","ruling","running","rural","sacred","sad","safe","salty","satisfactory","satisfied","scared","scary","scattered","scientific","scornful","scrawny","screeching","secondary","secret","secure","select","selected","selective","selfish","semantic","senior","sensible","sensitive","separate","serious","severe","sexual","shaggy","shaky","shallow","shared","sharp","sheer","shiny","shivering","shocked","short","shrill","shy","sick","significant","silent","silky","silly","similar","simple","single","skilled","skinny","sleepy","slight","slim","slimy","slippery","slow","small","smart","smiling","smoggy","smooth","social","socialist","soft","solar","sole","solid","sophisticated","sore","sorry","sound","sour","southern","soviet","spare","sparkling","spatial","special","specific","specified","spectacular","spicy","spiritual","splendid","spontaneous","sporting","spotless","spotty","square","squealing","stable","stale","standard","static","statistical","statutory","steady","steep","sticky","stiff","still","stingy","stormy","straight","straightforward","strange","strategic","strict","striking","striped","strong","structural","stuck","stupid","subjective","subsequent","substantial","subtle","successful","successive","sudden","sufficient","suitable","sunny","super","superb","superior","supporting","supposed","supreme","sure","surprised","surprising","surrounding","surviving","suspicious","sweet","swift","symbolic","sympathetic","systematic","tall","tame","tart","tasteless","tasty","technical","technological","teenage","temporary","tender","tense","terrible","territorial","testy","then","theoretical","thick","thin","thirsty","thorough","thoughtful","thoughtless","thundering","tight","tiny","tired","top","tory","total","tough","toxic","traditional","tragic","tremendous","tricky","tropical","troubled","typical","ugliest","ugly","ultimate","unable","unacceptable","unaware","uncertain","unchanged","uncomfortable","unconscious","underground","underlying","unemployed","uneven","unexpected","unfair","unfortunate","unhappy","uniform","uninterested","unique","united","universal","unknown","unlikely","unnecessary","unpleasant","unsightly","unusual","unwilling","upper","upset","uptight","urban","urgent","used","useful","useless","usual","vague","valid","valuable","variable","varied","various","varying","vast","verbal","vertical","very","vicarious","vicious","victorious","violent","visible","visiting","visual","vital","vitreous","vivacious","vivid","vocal","vocational","voiceless","voluminous","voluntary","vulnerable","wandering","warm","wasteful","watery","weak","wealthy","weary","wee","weekly","weird","welcome","well","western","wet","whispering","whole","wicked","wide","widespread","wild","wilful","willing","willowy","wily","wise","wispy","wittering","witty","wonderful","wooden","working","worldwide","worried","worrying","worthwhile","worthy","written","wrong","xenacious","xenial","xenogeneic","xenophobic","xeric","xerothermic","yabbering","yammering","yappiest","yappy","yawning","yearling","yearning","yeasty","yelling","yelping","yielding","yodelling","young","youngest","youthful","ytterbic","yucky","yummy","zany","zealous","zeroth","zestful","zesty","zippy","zonal","zoophagous","zygomorphic","zygotic"],Mg=["aardvark","aardwolf","albatross","alligator","alpaca","amphibian","anaconda","angelfish","anglerfish","ant","anteater","antelope","antlion","ape","aphid","armadillo","asp","baboon","badger","bandicoot","barnacle","barracuda","basilisk","bass","bat","bear","beaver","bedbug","bee","beetle","bird","bison","blackbird","boa","boar","bobcat","bobolink","bonobo","booby","bovid","bug","butterfly","buzzard","camel","canid","canidae","capybara","cardinal","caribou","carp","cat","caterpillar","catfish","catshark","cattle","centipede","cephalopod","chameleon","cheetah","chickadee","chicken","chimpanzee","chinchilla","chipmunk","cicada","clam","clownfish","cobra","cockroach","cod","condor","constrictor","coral","cougar","cow","coyote","crab","crane","crawdad","crayfish","cricket","crocodile","crow","cuckoo","damselfly","deer","dingo","dinosaur","dog","dolphin","donkey","dormouse","dove","dragon","dragonfly","duck","eagle","earthworm","earwig","echidna","eel","egret","elephant","elk","emu","ermine","falcon","felidae","ferret","finch","firefly","fish","flamingo","flea","fly","flyingfish","fowl","fox","frog","galliform","gamefowl","gayal","gazelle","gecko","gerbil","gibbon","giraffe","goat","goldfish","goose","gopher","gorilla","grasshopper","grouse","guan","guanaco","guineafowl","gull","guppy","haddock","halibut","hamster","hare","harrier","hawk","hedgehog","heron","herring","hippopotamus","hookworm","hornet","horse","hoverfly","hummingbird","hyena","iguana","impala","jackal","jaguar","jay","jellyfish","junglefowl","kangaroo","kingfisher","kite","kiwi","koala","koi","krill","ladybug","lamprey","landfowl","lark","leech","lemming","lemur","leopard","leopon","limpet","lion","lizard","llama","lobster","locust","loon","louse","lungfish","lynx","macaw","mackerel","magpie","mammal","manatee","mandrill","marlin","marmoset","marmot","marsupial","marten","mastodon","meadowlark","meerkat","mink","minnow","mite","mockingbird","mole","mollusk","mongoose","monkey","moose","mosquito","moth","mouse","mule","muskox","narwhal","newt","nightingale","ocelot","octopus","opossum","orangutan","orca","ostrich","otter","owl","ox","panda","panther","parakeet","parrot","parrotfish","partridge","peacock","peafowl","pelican","penguin","perch","pheasant","pig","pigeon","pike","pinniped","piranha","planarian","platypus","pony","porcupine","porpoise","possum","prawn","primate","ptarmigan","puffin","puma","python","quail","quelea","quokka","rabbit","raccoon","rat","rattlesnake","raven","reindeer","reptile","rhinoceros","roadrunner","rodent","rook","rooster","roundworm","sailfish","salamander","salmon","sawfish","scallop","scorpion","seahorse","shark","sheep","shrew","shrimp","silkworm","silverfish","skink","skunk","sloth","slug","smelt","snail","snake","snipe","sole","sparrow","spider","spoonbill","squid","squirrel","starfish","stingray","stoat","stork","sturgeon","swallow","swan","swift","swordfish","swordtail","tahr","takin","tapir","tarantula","tarsier","termite","tern","thrush","tick","tiger","tiglon","toad","tortoise","toucan","trout","tuna","turkey","turtle","tyrannosaurus","unicorn","urial","vicuna","viper","vole","vulture","wallaby","walrus","warbler","wasp","weasel","whale","whippet","whitefish","wildcat","wildebeest","wildfowl","wolf","wolverine","wombat","woodpecker","worm","wren","xerinae","yak","zebra"],Dg=["amaranth","amber","amethyst","apricot","aqua","aquamarine","azure","beige","black","blue","blush","bronze","brown","chocolate","coffee","copper","coral","crimson","cyan","emerald","fuchsia","gold","gray","green","harlequin","indigo","ivory","jade","lavender","lime","magenta","maroon","moccasin","olive","orange","peach","pink","plum","purple","red","rose","salmon","sapphire","scarlet","silver","tan","teal","tomato","turquoise","violet","white","yellow"];function Ea(e,t,r){return parseInt(e.substr(t,r),16)}function qg(e){return e|=0,e<0?"00":e<16?"0"+e.toString(16):e<256?e.toString(16):"ff"}function wu(e,t,r){return r=r<0?r+6:r>6?r-6:r,qg(255*(r<1?e+(t-e)*r:r<3?t:r<4?e+(t-e)*(4-r):e))}function WS(e){if(/^#[0-9a-f]{3,8}$/i.test(e)){let t;const r=e.length;if(r<6){const a=e[1],l=e[2],s=e[3],u=e[4]||"";t="#"+a+a+l+l+s+s+u+u}return(r==7||r>8)&&(t=e),t}}function YS(e,t,r){let a;if(t==0){const l=qg(r*255);a=l+l+l}else{const l=r<=.5?r*(t+1):r+t-r*t,s=r*2-l;a=wu(s,l,e*6+2)+wu(s,l,e*6)+wu(s,l,e*6-2)}return"#"+a}function Da(e,t,r){const a=[.55,.5,.5,.46,.6,.55,.55],l=a[e*6+.5|0];return r=r<.5?r*l*2:l+(r-.5)*(1-l)*2,YS(e,t,r)}const HS=typeof window!="undefined"?window:typeof self!="undefined"?self:typeof global!="undefined"?global:{},bh={V:"jdenticon_config",n:"config"};var GS={};function KS(e,t){const r=typeof e=="object"&&e||GS[bh.n]||HS[bh.V]||{},a=r.lightness||{},l=r.saturation||{},s="color"in l?l.color:l,u=l.grayscale,d=r.backColor,f=r.padding;function g(T,M){let _=a[T];return _&&_.length>1||(_=M),function(P){return P=_[0]+P*(_[1]-_[0]),P<0?0:P>1?1:P}}function v(T){const M=r.hues;let _;return M&&M.length>0&&(_=M[0|.999*T*M.length]),typeof _=="number"?(_/360%1+1)%1:T}return{W:v,o:typeof s=="number"?s:.5,D:typeof u=="number"?u:0,p:g("color",[.4,.8]),F:g("grayscale",[.3,.9]),G:WS(d),X:typeof e=="number"?e:typeof f=="number"?f:t}}class eo{constructor(t,r){this.x=t,this.y=r}}class xg{constructor(t,r,a,l){this.q=t,this.t=r,this.H=a,this.Y=l}I(t,r,a,l){const s=this.q+this.H,u=this.t+this.H,d=this.Y;return d===1?new eo(s-r-(l||0),this.t+t):d===2?new eo(s-t-(a||0),u-r-(l||0)):d===3?new eo(this.q+r,u-t-(a||0)):new eo(this.q+t,this.t+r)}}const QS=new xg(0,0,0,0);class jS{constructor(t){this.J=t,this.u=QS}g(t,r){const a=r?-2:2,l=[];for(let s=r?t.length-2:0;s=0;s+=a)l.push(this.u.I(t[s],t[s+1]));this.J.g(l)}h(t,r,a,l){const s=this.u.I(t,r,a,a);this.J.h(s,a,l)}i(t,r,a,l,s){this.g([t,r,t+a,r,t+a,r+l,t,r+l],s)}j(t,r,a,l,s,u){const d=[t+a,r,t+a,r+l,t,r+l,t,r];d.splice((s||0)%4*2,2),this.g(d,u)}K(t,r,a,l,s){this.g([t+a/2,r,t+a,r+l/2,t+a/2,r+l,t,r+l/2],s)}}function ZS(e,t,r,a){e=e%14;let l,s,u,d,f,g;e?e==1?(u=0|r*.5,d=0|r*.8,t.j(r-u,0,u,d,2)):e==2?(u=0|r/3,t.i(u,u,r-u,r-u)):e==3?(f=r*.1,g=r<6?1:r<8?2:0|r*.25,f=f>1?0|f:f>.5?1:f,t.i(g,g,r-f-g,r-f-g)):e==4?(s=0|r*.15,u=0|r*.5,t.h(r-u-s,r-u-s,u)):e==5?(f=r*.1,g=f*4,g>3&&(g=0|g),t.i(0,0,r,r),t.g([g,g,r-f,g,g+(r-g-f)/2,r-f],!0)):e==6?t.g([0,0,r,0,r,r*.7,r*.4,r*.4,r*.7,r,0,r]):e==7?t.j(r/2,r/2,r/2,r/2,3):e==8?(t.i(0,0,r,r/2),t.i(0,r/2,r/2,r/2),t.j(r/2,r/2,r/2,r/2,1)):e==9?(f=r*.14,g=r<4?1:r<6?2:0|r*.35,f=r<8?f:0|f,t.i(0,0,r,r),t.i(g,g,r-g-f,r-g-f,!0)):e==10?(f=r*.12,g=f*3,t.i(0,0,r,r),t.h(g,g,r-f-g,!0)):e==11?t.j(r/2,r/2,r/2,r/2,3):e==12?(s=r*.25,t.i(0,0,r,r),t.K(s,s,r-s,r-s,!0)):!a&&(s=r*.4,u=r*1.2,t.h(s,s,u)):(l=r*.42,t.g([0,0,r,0,r,r-l*2,r-l,r,0,r]))}function wh(e,t,r){e=e%4;let a;e?e==1?t.j(0,r/2,r,r/2,0):e==2?t.K(0,0,r,r):(a=r/6,t.h(a,a,r-2*a)):t.j(0,0,r,r,0)}function JS(e,t){return e=t.W(e),[Da(e,t.D,t.F(0)),Da(e,t.o,t.p(.5)),Da(e,t.D,t.F(1)),Da(e,t.o,t.p(1)),Da(e,t.o,t.p(0))]}function XS(e,t,r){const a=KS(r,.08);a.G&&e.m(a.G);let l=e.k;const s=.5+l*a.X|0;l-=s*2;const u=new jS(e),d=0|l/4,f=0|s+l/2-d*2,g=0|s+l/2-d*2;function v(L,F,W,D,A){const N=Ea(t,W,1);let J=D?Ea(t,D,1):0;e.L(M[_[L]]);for(let z=0;z=0){for(let F=0;F=0)return!0}}for(let L=0;L<3;L++)P=Ea(t,8+L,1)%M.length,($([0,4])||$([2,3]))&&(P=1),_.push(P);v(0,wh,2,3,[[1,0],[2,0],[2,3],[1,3],[0,1],[3,1],[3,2],[0,2]]),v(1,wh,4,5,[[0,0],[3,0],[3,3],[0,3]]),v(2,ZS,1,null,[[1,1],[2,1],[2,2],[1,2]]),e.finish()}function ek(e){var a=0,l=0,s=encodeURI(e)+"%80",u=[],d,f=[],g=1732584193,v=4023233417,T=~g,M=~v,_=3285377520,P=[g,v,T,M,_],$=0,L="";function F(W,D){return W<>>32-D}for(;a>2]=u[l>>2]|(s[a]=="%"?parseInt(s.substring(a+1,a+=3),16):s.charCodeAt(a++))<<(3-(l&3))*8;for(d=((l+7>>6)+1)*16,u[d-1]=l*8-8;$>3]>>>(7-(a&7))*4&15).toString(16);return L}function tk(e){return/^[0-9a-f]{11,}$/i.test(e)&&e}function nk(e){return ek(e==null?"":""+e)}function Ui(e){return(e*10+.5|0)/10}class rk{constructor(){this.v=""}g(t){let r="";for(let a=0;a'}m(t,r){r&&(this.C+='')}O(t,r){this.C+=''}toString(){return this.C+""}}function ok(e,t,r){const a=new lk(t);return XS(new ik(a),tk(e)||nk(e),r),a.toString()}typeof document!="undefined"&&document.querySelectorAll.bind(document);const sk=sn({name:"UserProfile",props:["pubkey","profiles","description"],data:function(){return{}},methods:{merchantProfile(e){var t;return(t=this.profiles)==null?void 0:t.find(r=>r.pubkey===e)},pubkeyAlias(e){return Cg({dictionaries:[Tg,Mg,Dg],length:2,separator:" ",style:"capital",seed:e})},pubkeyAvatar(e){return ok(e,100)}},created:async function(){}}),uk=["src"],ck=["innerHTML"],dk={class:"text-caption text-grey ellipsis-2-lines"};function fk(e,t,r,a,l,s){return R(),re(Lt,null,[y(Ie,{avatar:""},{default:b(()=>[y(jr,null,{default:b(()=>{var u;return[(u=e.merchantProfile(e.pubkey))!=null&&u.picture?(R(),re("img",{key:0,src:e.merchantProfile(e.pubkey).picture},null,8,uk)):(R(),re("div",{key:1,innerHTML:e.pubkeyAvatar(e.pubkey)},null,8,ck))]}),_:1})]),_:1}),y(Ie,{class:"q-mt-sm"},{default:b(()=>[y(Ge,null,{default:b(()=>{var u,d;return[S("strong",null,ge(((u=e.merchantProfile(e.pubkey))==null?void 0:u.name)||((d=e.merchantProfile(e.pubkey))==null?void 0:d.display_name)||e.pubkeyAlias(e.pubkey)),1)]}),_:1}),y(Ge,{class:"gt-sm"},{default:b(()=>[S("div",dk,[S("p",null,ge(e.description||e.pubkey),1)])]),_:1}),y(Yr,null,{default:b(()=>[Te(ge(e.pubkey),1)]),_:1})]),_:1})],64)}var Ka=Tn(sk,[["render",fk]]);const hk=sn({name:"EssentialLink",props:["market","profiles","relays-data","read-notes"],components:{UserProfile:Ka},data:function(){return{tab:"marketplace",merchantPubkey:null,relayUrl:null,marketData:{pubkey:null,relays:[],opts:{identifier:null,name:null,about:null,merchants:[],ui:{picture:null,banner:null,theme:null,darkMode:!1}}},themeOptions:["classic","bitcoin","flamingo","cyber","freedom","mint","autumn","monochrome","salvador"]}},methods:{addMerchant:async function(){if(!isValidKey(this.merchantPubkey,"npub")){$q.notify({message:"Invalid Public Key!",type:"warning"});return}const e=isValidKeyHex(this.merchantPubkey)?this.merchantPubkey:NostrTools.nip19.decode(this.merchantPubkey).data;this.marketData.opts.merchants.push(e),this.updateMarketData(),this.merchantPubkey=null},removeMerchant:async function(e){console.log("### removeMerchant",e),this.marketData.opts.merchants=this.marketData.opts.merchants.filter(t=>t!==e),this.updateMarketData()},addRelay:async function(){const e=(this.relayUrl||"").trim();if(!e.startsWith("wss://")&&!e.startsWith("ws://")){this.relayUrl=null,$q.notify({timeout:5e3,type:"warning",message:"Invalid relay URL.",caption:"Should start with 'wss://'' or 'ws://'"});return}try{new URL(e),this.marketData.relays.push(e),this.updateMarketData()}catch(t){$q.notify({timeout:5e3,type:"warning",message:"Invalid relay URL.",caption:`Error: ${t}`})}this.relayUrl=null},removeRelay:async function(e){this.marketData.relays=this.marketData.relays.filter(t=>t!==e),this.updateMarketData()},updateMarketData:function(){this.$emit("market-update",this.cloneMarketData())},publishNaddr(){this.$emit("publish-naddr",this.cloneMarketData())},deleteMarket(){this.$emit("delete-market",this.cloneMarketData())},applyLookAndFeel(){this.$emit("apply-ui",this.cloneMarketData())},markNoteAsRead(e){this.$emit("note-read",e)},cloneMarketData(){return JSON.parse(JSON.stringify(this.marketData))},relayData(e){return(this.relaysData||[]).find(t=>t.relayUrl===e)||{connected:!1,error:null}}},created:async function(){var e;this.marketData={...this.marketData,...JSON.parse(JSON.stringify(this.market||{}))},(e=this.readNotes)!=null&&e.merchants||(this.tab="merchants")}}),gk={class:"q-pt-md"},mk={class:"q-gutter-y-md"},vk={class:"q-pa-md"},pk={class:"q-gutter-y-md"},yk=S("strong",null,"Note",-1),_k=S("div",{class:"text-caption"},[S("ul",null,[S("li",null,[S("span",{class:"text-subtitle1"}," Here one can customize the look and feel of the Market. ")]),S("li",null,[S("span",{class:"text-subtitle1"},[Te(" When the Market Profile is shared (via "),S("code",null,"naddr"),Te(" ) these customisations will be available to the customers. ")])])])],-1),bk=S("div",{class:"q-mb-md"},[S("strong",null,"Information")],-1),wk=S("div",{class:"q-mb-md q-mt-lg"},[S("strong",null,"UI Configurations")],-1),Sk=S("div",{class:"lt-md q-mt-lg"},null,-1),kk=S("strong",null,"Note",-1),Ck=S("div",{class:"text-caption"},[S("ul",null,[S("li",null,[S("span",{class:"text-subtitle1"}," Here all the mercants of the marketplace are listed. ")]),S("li",null,[S("span",{class:"text-subtitle1"}," You can easily add a new merchant by entering its public key in the input below. ")]),S("li",null,[S("span",{class:"text-subtitle1"}," When a merchant is added all its products and stalls will be available in the Market page. ")])])],-1),Tk={key:0,class:"text-caption text-grey ellipsis-2-lines"},Mk={class:"float-right"};function Dk(e,t,r,a,l,s){const u=Jr("user-profile");return R(),oe(Jt,null,{default:b(()=>[y(Ne,null,{default:b(()=>[S("div",gk,[S("div",mk,[y(RS,{modelValue:e.tab,"onUpdate:modelValue":t[3]||(t[3]=d=>e.tab=d),"active-color":"primary",align:"justify"},{default:b(()=>[y(_u,{name:"marketplace",label:"Look And Feel",onUpdate:t[0]||(t[0]=d=>e.tab=d.name)}),y(_u,{name:"merchants",label:"Merchants",onUpdate:t[1]||(t[1]=d=>e.tab=d.name)}),y(_u,{name:"relays",label:"Relays",onUpdate:t[2]||(t[2]=d=>e.tab=d.name)})]),_:1},8,["modelValue"])])])]),_:1}),y(ut),y(Ne,null,{default:b(()=>[S("div",vk,[S("div",pk,[y(VS,{modelValue:e.tab,"onUpdate:modelValue":t[14]||(t[14]=d=>e.tab=d)},{default:b(()=>[y(bu,{name:"marketplace"},{default:b(()=>{var d;return[(d=e.readNotes)!=null&&d.marketUi?$e("",!0):(R(),oe(kr,{key:0,class:"q-mb-lg gt-sm",bordered:""},{default:b(()=>[y(zt,null,{default:b(()=>[y(Ie,{avatar:""},{default:b(()=>[y(jr,null,{default:b(()=>[y(Wt,{color:"primary",name:"info",size:"xl"})]),_:1})]),_:1}),y(Ie,{class:"q-mt-sm q-ml-lg"},{default:b(()=>[y(Ge,null,{default:b(()=>[yk]),_:1}),y(Ge,null,{default:b(()=>[_k]),_:1})]),_:1}),y(Ie,{side:""},{default:b(()=>[y(ye,{onClick:t[4]||(t[4]=f=>e.markNoteAsRead("marketUi")),size:"lg",outline:"",color:"primary",label:"Got it!",icon:"check_small"})]),_:1})]),_:1})]),_:1})),bk,y(It,{onChange:e.updateMarketData,outlined:"",modelValue:e.marketData.opts.name,"onUpdate:modelValue":t[5]||(t[5]=f=>e.marketData.opts.name=f),type:"text",label:"Market Name",hint:"Short name for the market",class:"q-mb-md"},null,8,["onChange","modelValue"]),y(It,{onChange:e.updateMarketData,outlined:"",modelValue:e.marketData.opts.about,"onUpdate:modelValue":t[6]||(t[6]=f=>e.marketData.opts.about=f),type:"textarea",rows:"3",label:"Marketplace Description",hint:"It will be displayed on top of the banner image. Can be a longer text.",class:"q-mb-lg"},null,8,["onChange","modelValue"]),wk,y(It,{onChange:e.updateMarketData,outlined:"",modelValue:e.marketData.opts.ui.picture,"onUpdate:modelValue":t[7]||(t[7]=f=>e.marketData.opts.ui.picture=f),type:"text",label:"Logo",hint:"It will be displayed next to the search input. Can be png, jpg, ico, gif, svg.",class:"q-mb-md"},null,8,["onChange","modelValue"]),y(It,{onChange:e.updateMarketData,outlined:"",modelValue:e.marketData.opts.ui.banner,"onUpdate:modelValue":t[8]||(t[8]=f=>e.marketData.opts.ui.banner=f),type:"text",label:"Banner",hint:"It represents the visual identity of the market. Can be png, jpg, ico, gif, svg.",class:"q-mb-md"},null,8,["onChange","modelValue"]),y(Aa,{onInput:e.updateMarketData,"onUpdate:modelValue":[e.updateMarketData,t[9]||(t[9]=f=>e.marketData.opts.ui.theme=f)],filled:"",modelValue:e.marketData.opts.ui.theme,hint:"The colors of the market will vary based on the theme. It applies to all components (buttons, labels, inputs, etc)",options:e.themeOptions,label:"Marketplace Theme"},null,8,["onInput","onUpdate:modelValue","modelValue","options"]),Sk,y(ro,{onInput:e.updateMarketData,onClick:e.updateMarketData,modelValue:e.marketData.opts.ui.darkMode,"onUpdate:modelValue":t[10]||(t[10]=f=>e.marketData.opts.ui.darkMode=f),label:"Dark Mode",size:"sm",class:"q-mt-sm"},null,8,["onInput","onClick","modelValue"])]}),_:1}),y(bu,{name:"merchants"},{default:b(()=>{var d;return[(d=e.readNotes)!=null&&d.merchants?$e("",!0):(R(),oe(kr,{key:0,class:"q-mb-lg gt-sm",bordered:""},{default:b(()=>[y(zt,null,{default:b(()=>[y(Ie,{avatar:""},{default:b(()=>[y(jr,null,{default:b(()=>[y(Wt,{color:"primary",name:"info",size:"xl"})]),_:1})]),_:1}),y(Ie,{class:"q-mt-sm q-ml-lg"},{default:b(()=>[y(Ge,null,{default:b(()=>[kk]),_:1}),y(Ge,null,{default:b(()=>[Ck]),_:1})]),_:1}),y(Ie,{side:""},{default:b(()=>[y(ye,{onClick:t[11]||(t[11]=f=>e.markNoteAsRead("merchants")),size:"lg",outline:"",color:"primary",label:"Got it!",icon:"check_small"})]),_:1})]),_:1})]),_:1})),S("div",null,[y(It,{outlined:"",modelValue:e.merchantPubkey,"onUpdate:modelValue":t[12]||(t[12]=f=>e.merchantPubkey=f),onKeydown:qu(e.addMerchant,["enter"]),type:"text",label:"Pubkey/Npub",hint:"Add merchants"},{default:b(()=>[y(ye,{onClick:e.addMerchant,dense:"",flat:"",icon:"add"},null,8,["onClick"])]),_:1},8,["modelValue","onKeydown"]),y(kr,{class:"q-mt-md"},{default:b(()=>[(R(!0),re(Lt,null,Yt(e.marketData.opts.merchants,f=>(R(),oe(zt,{key:f},{default:b(()=>[y(u,{pubkey:f,profiles:e.profiles},null,8,["pubkey","profiles"]),y(Ie,{side:""},{default:b(()=>[y(ye,{size:"12px",flat:"",dense:"",round:"",icon:"delete",onClick:g=>e.removeMerchant(f)},null,8,["onClick"])]),_:2},1024)]),_:2},1024))),128))]),_:1})])]}),_:1}),y(bu,{name:"relays"},{default:b(()=>[S("div",null,[S("div",null,[y(It,{outlined:"",modelValue:e.relayUrl,"onUpdate:modelValue":t[13]||(t[13]=d=>e.relayUrl=d),onKeydown:qu(e.addRelay,["enter"]),type:"text",label:"wss://",hint:"Add realays"},{default:b(()=>[y(ye,{onClick:e.addRelay,dense:"",flat:"",icon:"add"},null,8,["onClick"])]),_:1},8,["modelValue","onKeydown"]),y(kr,{class:"q-mt-md"},{default:b(()=>[(R(!0),re(Lt,null,Yt(e.marketData.relays,d=>(R(),oe(zt,{key:d},{default:b(()=>[y(Ie,{avatar:""},{default:b(()=>[y(jr,null,{default:b(()=>[y(Wt,{name:"router",color:e.relayData(d).connected?"green":"pink"},null,8,["color"])]),_:2},1024)]),_:2},1024),y(Ie,{class:"q-mt-sm"},{default:b(()=>[y(Ge,null,{default:b(()=>[S("strong",null,ge(d),1),e.relayData(d).error?(R(),re("div",Tk,[S("p",null,"Error: "+ge(e.relayData(d).error),1)])):$e("",!0)]),_:2},1024)]),_:2},1024),y(Ie,{side:""},{default:b(()=>[y(ye,{size:"12px",flat:"",dense:"",round:"",icon:"delete",onClick:f=>e.removeRelay(d)},null,8,["onClick"])]),_:2},1024)]),_:2},1024))),128))]),_:1})])])]),_:1})]),_:1},8,["modelValue"])])])]),_:1}),y(ut),y(Ne,{class:"q-pb-xl"},{default:b(()=>[S("div",Mk,[y(ye,{onClick:e.deleteMarket,flat:"",label:"Delete Market",icon:"delete",class:"q-ml-lg",color:"negative"},null,8,["onClick"]),y(ye,{onClick:e.applyLookAndFeel,flat:"",label:"Apply Look and Feel",icon:"palette",class:"q-ml-lg",color:"secondary"},null,8,["onClick"]),y(ye,{onClick:e.publishNaddr,flat:"",label:"Share Market Profile",icon:"share",class:"q-ml-lg",color:"primary"},null,8,["onClick"])])]),_:1}),y(Ne,{class:"lt-md"})]),_:1})}var Pg=Tn(hk,[["render",Dk]]);const qk=sn({name:"UserConfig",props:["account"],data:function(){return{accountData:null}},watch:{account(){this.accountData=this.account&&JSON.parse(JSON.stringify(this.account))}},methods:{logout:async function(){this.$q.dialog(confirm("Please make sure you save your private key! You will not be able to recover it later!")).onOk(async()=>{this.$emit("logout")})},copyText(e){this.$emit("copy-text",e)},clearAllData(){this.$emit("clear-all-data")}},created:async function(){this.accountData=this.account&&JSON.parse(JSON.stringify(this.account))}}),xk={class:"row"},Pk={class:"col-10"},Ak={class:"col-2 auto-width"},Ek={class:"row"},Ik={class:"col-10"},$k={class:"col-2 auto-width"},Rk=S("div",null,[S("strong",null,"No Account")],-1),Ok={class:"float-right"};function Lk(e,t,r,a,l,s){return R(),oe(Jt,null,{default:b(()=>[e.accountData?(R(),oe(Ne,{key:0},{default:b(()=>[S("div",xk,[S("div",Pk,[y(It,{modelValue:e.accountData.npub,"onUpdate:modelValue":t[1]||(t[1]=u=>e.accountData.npub=u),readonly:"",disbled:"",outlined:"",hint:e.accountData.pubkey,type:"text",label:"Public Key",class:"q-mb-md"},{append:b(()=>[y(ye,{onClick:t[0]||(t[0]=u=>e.copyText(e.accountData.npub)),icon:"content_copy",label:"Npub",flat:"",color:"gray float-right q-mt-sm"})]),_:1},8,["modelValue","hint"])]),S("div",Ak,[y(ye,{onClick:t[2]||(t[2]=u=>e.copyText(e.accountData.pubkey)),icon:"content_copy",label:"Hex",flat:"",color:"gray float-right q-mt-sm"})])]),S("div",Ek,[S("div",Ik,[y(It,{modelValue:e.accountData.nsec,"onUpdate:modelValue":t[4]||(t[4]=u=>e.accountData.nsec=u),readonly:"",disbled:"",outlined:"",type:"password",label:"Private Key",class:"q-mb-md"},{append:b(()=>[y(ye,{onClick:t[3]||(t[3]=u=>e.copyText(e.accountData.nsec)),icon:"content_copy",label:"Nsec",flat:"",color:"gray float-right q-mt-sm"})]),_:1},8,["modelValue"])]),S("div",$k,[y(ye,{onClick:t[5]||(t[5]=u=>e.copyText(e.accountData.privkey)),icon:"content_copy",label:"Hex",flat:"",color:"gray float-right q-mt-sm"})])])]),_:1})):(R(),oe(Ne,{key:1},{default:b(()=>[Rk]),_:1})),y(ut),y(Ne,null,{default:b(()=>[S("div",Ok,[y(ye,{onClick:e.clearAllData,flat:"",label:"Clear All Data",icon:"delete",class:"q-ml-lg",color:"negative"},null,8,["onClick"]),e.accountData?(R(),oe(ye,{key:0,onClick:e.logout,flat:"",label:"Logout",icon:"logout",class:"q-ml-lg",color:"primary"},null,8,["onClick"])):(R(),oe(ye,{key:1,onClick:t[6]||(t[6]=u=>e.$emit("login")),flat:"",label:"Login",icon:"login",class:"q-ml-lg",color:"primary"}))])]),_:1}),y(Ne)]),_:1})}var Nk=Tn(qk,[["render",Lk]]),Bk=Je({name:"QChatMessage",props:{sent:Boolean,label:String,bgColor:String,textColor:String,name:String,avatar:String,text:Array,stamp:String,size:String,labelHtml:Boolean,nameHtml:Boolean,textHtml:Boolean,stampHtml:Boolean},setup(e,{slots:t}){const r=I(()=>e.sent===!0?"sent":"received"),a=I(()=>`q-message-text-content q-message-text-content--${r.value}`+(e.textColor!==void 0?` text-${e.textColor}`:"")),l=I(()=>`q-message-text q-message-text--${r.value}`+(e.bgColor!==void 0?` text-${e.bgColor}`:"")),s=I(()=>"q-message-container row items-end no-wrap"+(e.sent===!0?" reverse":"")),u=I(()=>e.size!==void 0?`col-${e.size}`:""),d=I(()=>({msg:e.textHtml===!0?"innerHTML":"textContent",stamp:e.stampHtml===!0?"innerHTML":"textContent",name:e.nameHtml===!0?"innerHTML":"textContent",label:e.labelHtml===!0?"innerHTML":"textContent"}));function f(v){return t.stamp!==void 0?[v,E("div",{class:"q-message-stamp"},t.stamp())]:e.stamp?[v,E("div",{class:"q-message-stamp",[d.value.stamp]:e.stamp})]:[v]}function g(v,T){const M=T===!0?v.length>1?_=>_:_=>E("div",[_]):_=>E("div",{[d.value.msg]:_});return v.map((_,P)=>E("div",{key:P,class:l.value},[E("div",{class:a.value},f(M(_)))]))}return()=>{const v=[];t.avatar!==void 0?v.push(t.avatar()):e.avatar!==void 0&&v.push(E("img",{class:`q-message-avatar q-message-avatar--${r.value}`,src:e.avatar,"aria-hidden":"true"}));const T=[];t.name!==void 0?T.push(E("div",{class:`q-message-name q-message-name--${r.value}`},t.name())):e.name!==void 0&&T.push(E("div",{class:`q-message-name q-message-name--${r.value}`,[d.value.name]:e.name})),t.default!==void 0?T.push(g(Ju(t.default()),!0)):e.text!==void 0&&T.push(g(e.text)),v.push(E("div",{class:u.value},T));const M=[];return t.label!==void 0?M.push(E("div",{class:"q-message-label"},t.label())):e.label!==void 0&&M.push(E("div",{class:"q-message-label",[d.value.label]:e.label})),M.push(E("div",{class:s.value},v)),E("div",{class:`q-message q-message-${r.value}`},M)}}});const Sh=["vertical","horizontal"],Su={vertical:{offset:"offsetY",scroll:"scrollTop",dir:"down",dist:"y"},horizontal:{offset:"offsetX",scroll:"scrollLeft",dir:"right",dist:"x"}},kh={prevent:!0,mouse:!0,mouseAllDir:!0},Ch=e=>e>=250?50:Math.ceil(e/5);var Fk=Je({name:"QScrollArea",props:{...ir,thumbStyle:Object,verticalThumbStyle:Object,horizontalThumbStyle:Object,barStyle:[Array,String,Object],verticalBarStyle:[Array,String,Object],horizontalBarStyle:[Array,String,Object],contentStyle:[Array,String,Object],contentActiveStyle:[Array,String,Object],delay:{type:[String,Number],default:1e3},visible:{type:Boolean,default:null},tabindex:[String,Number],onScroll:Function},setup(e,{slots:t,emit:r}){const a=se(!1),l=se(!1),s=se(!1),u={vertical:se(0),horizontal:se(0)},d={vertical:{ref:se(null),position:se(0),size:se(0)},horizontal:{ref:se(null),position:se(0),size:se(0)}},{proxy:f}=Dt(),g=ar(e,f.$q);let v=null,T;const M=se(null),_=I(()=>"q-scrollarea"+(g.value===!0?" q-scrollarea--dark":""));d.vertical.percentage=I(()=>{const j=d.vertical.size.value-u.vertical.value;if(j<=0)return 0;const K=Zl(d.vertical.position.value/j,0,1);return Math.round(K*1e4)/1e4}),d.vertical.thumbHidden=I(()=>(e.visible===null?s.value:e.visible)!==!0&&a.value===!1&&l.value===!1||d.vertical.size.value<=u.vertical.value+1),d.vertical.thumbStart=I(()=>d.vertical.percentage.value*(u.vertical.value-d.vertical.thumbSize.value)),d.vertical.thumbSize=I(()=>Math.round(Zl(u.vertical.value*u.vertical.value/d.vertical.size.value,Ch(u.vertical.value),u.vertical.value))),d.vertical.style=I(()=>({...e.thumbStyle,...e.verticalThumbStyle,top:`${d.vertical.thumbStart.value}px`,height:`${d.vertical.thumbSize.value}px`})),d.vertical.thumbClass=I(()=>"q-scrollarea__thumb q-scrollarea__thumb--v absolute-right"+(d.vertical.thumbHidden.value===!0?" q-scrollarea__thumb--invisible":"")),d.vertical.barClass=I(()=>"q-scrollarea__bar q-scrollarea__bar--v absolute-right"+(d.vertical.thumbHidden.value===!0?" q-scrollarea__bar--invisible":"")),d.horizontal.percentage=I(()=>{const j=d.horizontal.size.value-u.horizontal.value;if(j<=0)return 0;const K=Zl(Math.abs(d.horizontal.position.value)/j,0,1);return Math.round(K*1e4)/1e4}),d.horizontal.thumbHidden=I(()=>(e.visible===null?s.value:e.visible)!==!0&&a.value===!1&&l.value===!1||d.horizontal.size.value<=u.horizontal.value+1),d.horizontal.thumbStart=I(()=>d.horizontal.percentage.value*(u.horizontal.value-d.horizontal.thumbSize.value)),d.horizontal.thumbSize=I(()=>Math.round(Zl(u.horizontal.value*u.horizontal.value/d.horizontal.size.value,Ch(u.horizontal.value),u.horizontal.value))),d.horizontal.style=I(()=>({...e.thumbStyle,...e.horizontalThumbStyle,[f.$q.lang.rtl===!0?"right":"left"]:`${d.horizontal.thumbStart.value}px`,width:`${d.horizontal.thumbSize.value}px`})),d.horizontal.thumbClass=I(()=>"q-scrollarea__thumb q-scrollarea__thumb--h absolute-bottom"+(d.horizontal.thumbHidden.value===!0?" q-scrollarea__thumb--invisible":"")),d.horizontal.barClass=I(()=>"q-scrollarea__bar q-scrollarea__bar--h absolute-bottom"+(d.horizontal.thumbHidden.value===!0?" q-scrollarea__bar--invisible":""));const P=I(()=>d.vertical.thumbHidden.value===!0&&d.horizontal.thumbHidden.value===!0?e.contentStyle:e.contentActiveStyle),$=[[lh,j=>{z(j,"vertical")},void 0,{vertical:!0,...kh}]],L=[[lh,j=>{z(j,"horizontal")},void 0,{horizontal:!0,...kh}]];function F(){const j={};return Sh.forEach(K=>{const me=d[K];j[K+"Position"]=me.position.value,j[K+"Percentage"]=me.percentage.value,j[K+"Size"]=me.size.value,j[K+"ContainerSize"]=u[K].value}),j}const W=ju(()=>{const j=F();j.ref=f,r("scroll",j)},0);function D(j,K,me){if(Sh.includes(j)===!1){console.error("[QScrollArea]: wrong first param of setScrollPosition (vertical/horizontal)");return}(j==="vertical"?Ra:cu)(M.value,K,me)}function A({height:j,width:K}){let me=!1;u.vertical.value!==j&&(u.vertical.value=j,me=!0),u.horizontal.value!==K&&(u.horizontal.value=K,me=!0),me===!0&&Pe()}function N({position:j}){let K=!1;d.vertical.position.value!==j.top&&(d.vertical.position.value=j.top,K=!0),d.horizontal.position.value!==j.left&&(d.horizontal.position.value=j.left,K=!0),K===!0&&Pe()}function J({height:j,width:K}){d.horizontal.size.value!==K&&(d.horizontal.size.value=K,Pe()),d.vertical.size.value!==j&&(d.vertical.size.value=j,Pe())}function z(j,K){const me=d[K];if(j.isFirst===!0){if(me.thumbHidden.value===!0)return;T=me.position.value,l.value=!0}else if(l.value!==!0)return;j.isFinal===!0&&(l.value=!1);const rt=Su[K],X=u[K].value,Z=(me.size.value-X)/(X-me.thumbSize.value),he=j.distance[rt.dist],fe=T+(j.direction===rt.dir?1:-1)*he*Z;lt(fe,K)}function H(j,K){const me=d[K];if(me.thumbHidden.value!==!0){const rt=j[Su[K].offset];if(rtme.thumbStart.value+me.thumbSize.value){const X=rt-me.thumbSize.value/2;lt(X/u[K].value*me.size.value,K)}me.ref.value!==null&&me.ref.value.dispatchEvent(new MouseEvent(j.type,j))}}function pe(j){H(j,"vertical")}function _e(j){H(j,"horizontal")}function Pe(){a.value=!0,v!==null&&clearTimeout(v),v=setTimeout(()=>{v=null,a.value=!1},e.delay),e.onScroll!==void 0&&W()}function lt(j,K){M.value[Su[K].scroll]=j}function te(){s.value=!0}function xe(){s.value=!1}let Be=null;return ze(()=>f.$q.lang.rtl,j=>{M.value!==null&&cu(M.value,Math.abs(d.horizontal.position.value)*(j===!0?-1:1))}),ia(()=>{Be={top:d.vertical.position.value,left:d.horizontal.position.value}}),aa(()=>{if(Be===null)return;const j=M.value;j!==null&&(cu(j,Be.left),Ra(j,Be.top))}),Ht(W.cancel),Object.assign(f,{getScrollTarget:()=>M.value,getScroll:F,getScrollPosition:()=>({top:d.vertical.position.value,left:d.horizontal.position.value}),getScrollPercentage:()=>({top:d.vertical.percentage.value,left:d.horizontal.percentage.value}),setScrollPosition:D,setScrollPercentage(j,K,me){D(j,K*(d[j].size.value-u[j].value)*(j==="horizontal"&&f.$q.lang.rtl===!0?-1:1),me)}}),()=>E("div",{class:_.value,onMouseenter:te,onMouseleave:xe},[E("div",{ref:M,class:"q-scrollarea__container scroll relative-position fit hide-scrollbar",tabindex:e.tabindex!==void 0?e.tabindex:void 0},[E("div",{class:"q-scrollarea__content absolute",style:P.value},_i(t.default,[E(xu,{debounce:0,onResize:J})])),E(ow,{axis:"both",onScroll:N})]),E(xu,{debounce:0,onResize:A}),E("div",{class:d.vertical.barClass.value,style:[e.barStyle,e.verticalBarStyle],"aria-hidden":"true",onMousedown:pe}),E("div",{class:d.horizontal.barClass.value,style:[e.barStyle,e.horizontalBarStyle],"aria-hidden":"true",onMousedown:_e}),Hn(E("div",{ref:d.vertical.ref,class:d.vertical.thumbClass.value,style:d.vertical.style.value,"aria-hidden":"true"}),$),Hn(E("div",{ref:d.horizontal.ref,class:d.horizontal.thumbClass.value,style:d.horizontal.style.value,"aria-hidden":"true"}),L)])}}),Uk=Je({name:"QForm",props:{autofocus:Boolean,noErrorFocus:Boolean,noResetFocus:Boolean,greedy:Boolean,onSubmit:Function},emits:["reset","validationSuccess","validationError"],setup(e,{slots:t,emit:r}){const a=Dt(),l=se(null);let s=0;const u=[];function d(_){const P=typeof _=="boolean"?_:e.noErrorFocus!==!0,$=++s,L=(D,A)=>{r("validation"+(D===!0?"Success":"Error"),A)},F=D=>{const A=D.validate();return typeof A.then=="function"?A.then(N=>({valid:N,comp:D}),N=>({valid:!1,comp:D,err:N})):Promise.resolve({valid:A,comp:D})};return(e.greedy===!0?Promise.all(u.map(F)).then(D=>D.filter(A=>A.valid!==!0)):u.reduce((D,A)=>D.then(()=>F(A).then(N=>{if(N.valid===!1)return Promise.reject(N)})),Promise.resolve()).catch(D=>[D])).then(D=>{if(D===void 0||D.length===0)return $===s&&L(!0),!0;if($===s){const{comp:A,err:N}=D[0];if(N!==void 0&&console.error(N),L(!1,A),P===!0){const J=D.find(({comp:z})=>typeof z.focus=="function"&&Zb(z.$)===!1);J!==void 0&&J.comp.focus()}}return!1})}function f(){s++,u.forEach(_=>{typeof _.resetValidation=="function"&&_.resetValidation()})}function g(_){_!==void 0&&Ft(_);const P=s+1;d().then($=>{P===s&&$===!0&&(e.onSubmit!==void 0?r("submit",_):_!==void 0&&_.target!==void 0&&typeof _.target.submit=="function"&&_.target.submit())})}function v(_){_!==void 0&&Ft(_),r("reset"),Sn(()=>{f(),e.autofocus===!0&&e.noResetFocus!==!0&&T()})}function T(){Nh(()=>{if(l.value===null)return;const _=l.value.querySelector("[autofocus][tabindex], [data-autofocus][tabindex]")||l.value.querySelector("[autofocus] [tabindex], [data-autofocus] [tabindex]")||l.value.querySelector("[autofocus], [data-autofocus]")||Array.prototype.find.call(l.value.querySelectorAll("[tabindex]"),P=>P.tabIndex>-1);_!=null&&_.focus({preventScroll:!0})})}zh(Jb,{bindComponent(_){u.push(_)},unbindComponent(_){const P=u.indexOf(_);P>-1&&u.splice(P,1)}});let M=!1;return ia(()=>{M=!0}),aa(()=>{M===!0&&e.autofocus===!0&&T()}),Xr(()=>{e.autofocus===!0&&T()}),Object.assign(a.proxy,{validate:d,resetValidation:f,submit:g,reset:v,focus:T,getValidationComponents:()=>u}),()=>E("form",{class:"q-form",ref:l,onSubmit:g,onReset:v},Mt(t.default))}});//! moment.js +Minimum version required to store current data is: ` + + s + + `. +` + ); + const u = vS(t, r, l), + d = Ao.getSymbolSize(t), + f = new aS(d); + return ( + dS(f, t), + fS(f), + hS(f, t), + pu(f, r, 0), + t >= 7 && gS(f, t), + mS(f, u), + isNaN(a) && (a = Iu.getBestMask(f, pu.bind(null, f, r))), + Iu.applyMask(a, f), + pu(f, r, a), + { + modules: f, + version: t, + errorCorrectionLevel: r, + maskPattern: a, + segments: l, + } + ); +} +ig.create = function (t, r) { + if (typeof t == "undefined" || t === "") throw new Error("No input text"); + let a = mu.M, + l, + s; + return ( + typeof r != "undefined" && + ((a = mu.from(r.errorCorrectionLevel, mu.M)), + (l = _o.from(r.version)), + (s = Iu.from(r.maskPattern)), + r.toSJISFunc && Ao.setToSJISFunction(r.toSJISFunc)), + yS(t, l, a, s) + ); +}; +var pg = {}, + lc = {}; +(function (e) { + function t(r) { + if ((typeof r == "number" && (r = r.toString()), typeof r != "string")) + throw new Error("Color should be defined as hex string"); + let a = r.slice().replace("#", "").split(""); + if (a.length < 3 || a.length === 5 || a.length > 8) + throw new Error("Invalid hex color: " + r); + (a.length === 3 || a.length === 4) && + (a = Array.prototype.concat.apply( + [], + a.map(function (s) { + return [s, s]; + }) + )), + a.length === 6 && a.push("F", "F"); + const l = parseInt(a.join(""), 16); + return { + r: (l >> 24) & 255, + g: (l >> 16) & 255, + b: (l >> 8) & 255, + a: l & 255, + hex: "#" + a.slice(0, 6).join(""), + }; + } + (e.getOptions = function (a) { + a || (a = {}), a.color || (a.color = {}); + const l = + typeof a.margin == "undefined" || a.margin === null || a.margin < 0 + ? 4 + : a.margin, + s = a.width && a.width >= 21 ? a.width : void 0, + u = a.scale || 4; + return { + width: s, + scale: s ? 4 : u, + margin: l, + color: { + dark: t(a.color.dark || "#000000ff"), + light: t(a.color.light || "#ffffffff"), + }, + type: a.type, + rendererOpts: a.rendererOpts || {}, + }; + }), + (e.getScale = function (a, l) { + return l.width && l.width >= a + l.margin * 2 + ? l.width / (a + l.margin * 2) + : l.scale; + }), + (e.getImageWidth = function (a, l) { + const s = e.getScale(a, l); + return Math.floor((a + l.margin * 2) * s); + }), + (e.qrToImageData = function (a, l, s) { + const u = l.modules.size, + d = l.modules.data, + f = e.getScale(u, s), + g = Math.floor((u + s.margin * 2) * f), + v = s.margin * f, + T = [s.color.light, s.color.dark]; + for (let M = 0; M < g; M++) + for (let _ = 0; _ < g; _++) { + let P = (M * g + _) * 4, + $ = s.color.light; + if (M >= v && _ >= v && M < g - v && _ < g - v) { + const L = Math.floor((M - v) / f), + F = Math.floor((_ - v) / f); + $ = T[d[L * u + F] ? 1 : 0]; + } + (a[P++] = $.r), (a[P++] = $.g), (a[P++] = $.b), (a[P] = $.a); + } + }); +})(lc); +(function (e) { + const t = lc; + function r(l, s, u) { + l.clearRect(0, 0, s.width, s.height), + s.style || (s.style = {}), + (s.height = u), + (s.width = u), + (s.style.height = u + "px"), + (s.style.width = u + "px"); + } + function a() { + try { + return document.createElement("canvas"); + } catch { + throw new Error("You need to specify a canvas element"); + } + } + (e.render = function (s, u, d) { + let f = d, + g = u; + typeof f == "undefined" && (!u || !u.getContext) && ((f = u), (u = void 0)), + u || (g = a()), + (f = t.getOptions(f)); + const v = t.getImageWidth(s.modules.size, f), + T = g.getContext("2d"), + M = T.createImageData(v, v); + return ( + t.qrToImageData(M.data, s, f), r(T, g, v), T.putImageData(M, 0, 0), g + ); + }), + (e.renderToDataURL = function (s, u, d) { + let f = d; + typeof f == "undefined" && + (!u || !u.getContext) && + ((f = u), (u = void 0)), + f || (f = {}); + const g = e.render(s, u, f), + v = f.type || "image/png", + T = f.rendererOpts || {}; + return g.toDataURL(v, T.quality); + }); +})(pg); +var yg = {}; +const _S = lc; +function gh(e, t) { + const r = e.a / 255, + a = t + '="' + e.hex + '"'; + return r < 1 ? a + " " + t + '-opacity="' + r.toFixed(2).slice(1) + '"' : a; +} +function yu(e, t, r) { + let a = e + t; + return typeof r != "undefined" && (a += " " + r), a; +} +function bS(e, t, r) { + let a = "", + l = 0, + s = !1, + u = 0; + for (let d = 0; d < e.length; d++) { + const f = Math.floor(d % t), + g = Math.floor(d / t); + !f && !s && (s = !0), + e[d] + ? (u++, + (d > 0 && f > 0 && e[d - 1]) || + ((a += s ? yu("M", f + r, 0.5 + g + r) : yu("m", l, 0)), + (l = 0), + (s = !1)), + (f + 1 < t && e[d + 1]) || ((a += yu("h", u)), (u = 0))) + : l++; + } + return a; +} +yg.render = function (t, r, a) { + const l = _S.getOptions(r), + s = t.modules.size, + u = t.modules.data, + d = s + l.margin * 2, + f = l.color.light.a + ? "' + : "", + g = + "', + v = 'viewBox="0 0 ' + d + " " + d + '"', + T = l.width ? 'width="' + l.width + '" height="' + l.width + '" ' : "", + M = + '' + + f + + g + + ` +`; + return typeof a == "function" && a(null, M), M; +}; +const wS = Rw, + Ru = ig, + _g = pg, + SS = yg; +function oc(e, t, r, a, l) { + const s = [].slice.call(arguments, 1), + u = s.length, + d = typeof s[u - 1] == "function"; + if (!d && !wS()) throw new Error("Callback required as last argument"); + if (d) { + if (u < 2) throw new Error("Too few arguments provided"); + u === 2 + ? ((l = r), (r = t), (t = a = void 0)) + : u === 3 && + (t.getContext && typeof l == "undefined" + ? ((l = a), (a = void 0)) + : ((l = a), (a = r), (r = t), (t = void 0))); + } else { + if (u < 1) throw new Error("Too few arguments provided"); + return ( + u === 1 + ? ((r = t), (t = a = void 0)) + : u === 2 && !t.getContext && ((a = r), (r = t), (t = void 0)), + new Promise(function (f, g) { + try { + const v = Ru.create(r, a); + f(e(v, t, a)); + } catch (v) { + g(v); + } + }) + ); + } + try { + const f = Ru.create(r, a); + l(null, e(f, t, a)); + } catch (f) { + l(f); + } +} +Ru.create; +var kS = oc.bind(null, _g.render), + CS = oc.bind(null, _g.renderToDataURL), + TS = oc.bind(null, function (e, t, r) { + return SS.render(e, r); + }); +/*! vue-qrcode v2.0.0 | (c) 2018-present Chen Fengyuan | MIT */ const mh = + "ready"; +var MS = sn({ + name: "VueQrcode", + props: { + value: { type: String, default: void 0 }, + options: { type: Object, default: void 0 }, + tag: { type: String, default: "canvas" }, + }, + emits: [mh], + watch: { + $props: { + deep: !0, + immediate: !0, + handler() { + this.$el && this.generate(); + }, + }, + }, + mounted() { + this.generate(); + }, + methods: { + generate() { + const e = this.options || {}, + t = String(this.value), + r = () => { + this.$emit(mh, this.$el); + }; + switch (this.tag) { + case "canvas": + kS(this.$el, t, e, (a) => { + if (a) throw a; + r(); + }); + break; + case "img": + CS(t, e, (a, l) => { + if (a) throw a; + (this.$el.src = l), (this.$el.onload = r); + }); + break; + case "svg": + TS(t, e, (a, l) => { + if (a) throw a; + const s = document.createElement("div"); + s.innerHTML = l; + const u = s.querySelector("svg"); + if (u) { + const { attributes: d, childNodes: f } = u; + Object.keys(d).forEach((g) => { + const v = d[Number(g)]; + this.$el.setAttribute(v.name, v.value); + }), + Object.keys(f).forEach((g) => { + const v = f[Number(g)]; + this.$el.appendChild(v.cloneNode(!0)); + }), + r(); + } + }); + break; + } + }, + }, + render() { + return E(this.tag, this.$slots.default); + }, +}); +function DS(e) { + const t = document.createElement("textarea"); + (t.value = e), (t.contentEditable = "true"), (t.style.position = "fixed"); + const r = () => {}; + Oh(r), document.body.appendChild(t), t.focus(), t.select(); + const a = document.execCommand("copy"); + return t.remove(), Lh(r), a; +} +function qS(e) { + return navigator.clipboard !== void 0 + ? navigator.clipboard.writeText(e) + : new Promise((t, r) => { + const a = DS(e); + a ? t(!0) : r(a); + }); +} +let xS = 0; +const PS = ["click", "keydown"], + AS = { + icon: String, + label: [Number, String], + alert: [Boolean, String], + alertIcon: String, + name: { type: [Number, String], default: () => `t_${xS++}` }, + noCaps: Boolean, + tabindex: [String, Number], + disable: Boolean, + contentClass: String, + ripple: { type: [Boolean, Object], default: !0 }, + }; +function ES(e, t, r, a) { + const l = uo(Uh, Sr); + if (l === Sr) + return ( + console.error("QTab/QRouteTab component needs to be child of QTabs"), Sr + ); + const { proxy: s } = Dt(), + u = se(null), + d = se(null), + f = se(null), + g = I(() => + e.disable === !0 || e.ripple === !1 + ? !1 + : Object.assign( + { keyCodes: [13, 32], early: !0 }, + e.ripple === !0 ? {} : e.ripple + ) + ), + v = I(() => l.currentModel.value === e.name), + T = I( + () => + "q-tab relative-position self-stretch flex flex-center text-center" + + (v.value === !0 + ? " q-tab--active" + + (l.tabProps.value.activeClass + ? " " + l.tabProps.value.activeClass + : "") + + (l.tabProps.value.activeColor + ? ` text-${l.tabProps.value.activeColor}` + : "") + + (l.tabProps.value.activeBgColor + ? ` bg-${l.tabProps.value.activeBgColor}` + : "") + : " q-tab--inactive") + + (e.icon && e.label && l.tabProps.value.inlineLabel === !1 + ? " q-tab--full" + : "") + + (e.noCaps === !0 || l.tabProps.value.noCaps === !0 + ? " q-tab--no-caps" + : "") + + (e.disable === !0 + ? " disabled" + : " q-focusable q-hoverable cursor-pointer") + + (a !== void 0 ? a.linkClass.value : "") + ), + M = I( + () => + "q-tab__content self-stretch flex-center relative-position q-anchor--skip non-selectable " + + (l.tabProps.value.inlineLabel === !0 + ? "row no-wrap q-tab__content--inline" + : "column") + + (e.contentClass !== void 0 ? ` ${e.contentClass}` : "") + ), + _ = I(() => + e.disable === !0 || + l.hasFocus.value === !0 || + (v.value === !1 && l.hasActiveTab.value === !0) + ? -1 + : e.tabindex || 0 + ); + function P(D, A) { + if ((A !== !0 && u.value !== null && u.value.focus(), e.disable === !0)) { + a !== void 0 && a.hasRouterLink.value === !0 && Ft(D); + return; + } + if (a === void 0) { + l.updateModel({ name: e.name }), r("click", D); + return; + } + if (a.hasRouterLink.value === !0) { + const N = (J = {}) => { + let z; + const H = + J.to === void 0 || Wi(J.to, e.to) === !0 + ? (l.avoidRouteWatcher = so()) + : null; + return a + .navigateToRouterLink(D, { ...J, returnRouterError: !0 }) + .catch((pe) => { + z = pe; + }) + .then((pe) => { + if ( + (H === l.avoidRouteWatcher && + ((l.avoidRouteWatcher = !1), + z === void 0 && + (pe === void 0 || + pe.message.startsWith("Avoided redundant navigation") === + !0) && + l.updateModel({ name: e.name })), + J.returnRouterError === !0) + ) + return z !== void 0 ? Promise.reject(z) : pe; + }); + }; + r("click", D, N), D.defaultPrevented !== !0 && N(); + return; + } + r("click", D); + } + function $(D) { + Wa(D, [13, 32]) + ? P(D, !0) + : Vh(D) !== !0 && + D.keyCode >= 35 && + D.keyCode <= 40 && + D.altKey !== !0 && + D.metaKey !== !0 && + l.onKbdNavigate(D.keyCode, s.$el) === !0 && + Ft(D), + r("keydown", D); + } + function L() { + const D = l.tabProps.value.narrowIndicator, + A = [], + N = E("div", { + ref: f, + class: ["q-tab__indicator", l.tabProps.value.indicatorClass], + }); + e.icon !== void 0 && A.push(E(Wt, { class: "q-tab__icon", name: e.icon })), + e.label !== void 0 && + A.push(E("div", { class: "q-tab__label" }, e.label)), + e.alert !== !1 && + A.push( + e.alertIcon !== void 0 + ? E(Wt, { + class: "q-tab__alert-icon", + color: e.alert !== !0 ? e.alert : void 0, + name: e.alertIcon, + }) + : E("div", { + class: + "q-tab__alert" + (e.alert !== !0 ? ` text-${e.alert}` : ""), + }) + ), + D === !0 && A.push(N); + const J = [ + E("div", { class: "q-focus-helper", tabindex: -1, ref: u }), + E("div", { class: M.value }, _i(t.default, A)), + ]; + return D === !1 && J.push(N), J; + } + const F = { + name: I(() => e.name), + rootRef: d, + tabIndicatorRef: f, + routeData: a, + }; + Ht(() => { + l.unregisterTab(F); + }), + Xr(() => { + l.registerTab(F); + }); + function W(D, A) { + const N = { + ref: d, + class: T.value, + tabindex: _.value, + role: "tab", + "aria-selected": v.value === !0 ? "true" : "false", + "aria-disabled": e.disable === !0 ? "true" : void 0, + onClick: P, + onKeydown: $, + ...A, + }; + return Hn(E(D, N, L()), [[Qu, g.value]]); + } + return { renderTab: W, $tabs: l }; +} +var _u = Je({ + name: "QTab", + props: AS, + emits: PS, + setup(e, { slots: t, emit: r }) { + const { renderTab: a } = ES(e, t, r); + return () => a("div"); + }, +}); +function IS(e, t, r) { + const a = r === !0 ? ["left", "right"] : ["top", "bottom"]; + return `absolute-${t === !0 ? a[0] : a[1]}${e ? ` text-${e}` : ""}`; +} +const $S = ["left", "center", "right", "justify"]; +var RS = Je({ + name: "QTabs", + props: { + modelValue: [Number, String], + align: { + type: String, + default: "center", + validator: (e) => $S.includes(e), + }, + breakpoint: { type: [String, Number], default: 600 }, + vertical: Boolean, + shrink: Boolean, + stretch: Boolean, + activeClass: String, + activeColor: String, + activeBgColor: String, + indicatorColor: String, + leftIcon: String, + rightIcon: String, + outsideArrows: Boolean, + mobileArrows: Boolean, + switchIndicator: Boolean, + narrowIndicator: Boolean, + inlineLabel: Boolean, + noCaps: Boolean, + dense: Boolean, + contentClass: String, + "onUpdate:modelValue": [Function, Array], + }, + setup(e, { slots: t, emit: r }) { + const { proxy: a } = Dt(), + { $q: l } = a, + { registerTick: s } = $a(), + { registerTick: u } = $a(), + { registerTick: d } = $a(), + { registerTimeout: f, removeTimeout: g } = oo(), + { registerTimeout: v, removeTimeout: T } = oo(), + M = se(null), + _ = se(null), + P = se(e.modelValue), + $ = se(!1), + L = se(!0), + F = se(!1), + W = se(!1), + D = [], + A = se(0), + N = se(!1); + let J = null, + z = null, + H; + const pe = I(() => ({ + activeClass: e.activeClass, + activeColor: e.activeColor, + activeBgColor: e.activeBgColor, + indicatorClass: IS(e.indicatorColor, e.switchIndicator, e.vertical), + narrowIndicator: e.narrowIndicator, + inlineLabel: e.inlineLabel, + noCaps: e.noCaps, + })), + _e = I(() => { + const G = A.value, + de = P.value; + for (let qe = 0; qe < G; qe++) if (D[qe].name.value === de) return !0; + return !1; + }), + Pe = I( + () => + `q-tabs__content--align-${ + $.value === !0 ? "left" : W.value === !0 ? "justify" : e.align + }` + ), + lt = I( + () => + `q-tabs row no-wrap items-center q-tabs--${ + $.value === !0 ? "" : "not-" + }scrollable q-tabs--${ + e.vertical === !0 ? "vertical" : "horizontal" + } q-tabs__arrows--${ + e.outsideArrows === !0 ? "outside" : "inside" + } q-tabs--mobile-with${e.mobileArrows === !0 ? "" : "out"}-arrows` + + (e.dense === !0 ? " q-tabs--dense" : "") + + (e.shrink === !0 ? " col-shrink" : "") + + (e.stretch === !0 ? " self-stretch" : "") + ), + te = I( + () => + "q-tabs__content scroll--mobile row no-wrap items-center self-stretch hide-scrollbar relative-position " + + Pe.value + + (e.contentClass !== void 0 ? ` ${e.contentClass}` : "") + ), + xe = I(() => + e.vertical === !0 + ? { + container: "height", + content: "offsetHeight", + scroll: "scrollHeight", + } + : { + container: "width", + content: "offsetWidth", + scroll: "scrollWidth", + } + ), + Be = I(() => e.vertical !== !0 && l.lang.rtl === !0), + j = I(() => Ba === !1 && Be.value === !0); + ze(Be, he), + ze( + () => e.modelValue, + (G) => { + K({ name: G, setCurrent: !0, skipEmit: !0 }); + } + ), + ze(() => e.outsideArrows, me); + function K({ name: G, setCurrent: de, skipEmit: qe }) { + P.value !== G && + (qe !== !0 && + e["onUpdate:modelValue"] !== void 0 && + r("update:modelValue", G), + (de === !0 || e["onUpdate:modelValue"] === void 0) && + (X(P.value, G), (P.value = G))); + } + function me() { + s(() => { + rt({ width: M.value.offsetWidth, height: M.value.offsetHeight }); + }); + } + function rt(G) { + if (xe.value === void 0 || _.value === null) return; + const de = G[xe.value.container], + qe = Math.min( + _.value[xe.value.scroll], + Array.prototype.reduce.call( + _.value.children, + (it, Ze) => it + (Ze[xe.value.content] || 0), + 0 + ) + ), + gt = de > 0 && qe > de; + ($.value = gt), + gt === !0 && u(he), + (W.value = de < parseInt(e.breakpoint, 10)); + } + function X(G, de) { + const qe = + G != null && G !== "" ? D.find((it) => it.name.value === G) : null, + gt = + de != null && de !== "" + ? D.find((it) => it.name.value === de) + : null; + if (qe && gt) { + const it = qe.tabIndicatorRef.value, + Ze = gt.tabIndicatorRef.value; + J !== null && (clearTimeout(J), (J = null)), + (it.style.transition = "none"), + (it.style.transform = "none"), + (Ze.style.transition = "none"), + (Ze.style.transform = "none"); + const Fe = it.getBoundingClientRect(), + mt = Ze.getBoundingClientRect(); + (Ze.style.transform = + e.vertical === !0 + ? `translate3d(0,${Fe.top - mt.top}px,0) scale3d(1,${ + mt.height ? Fe.height / mt.height : 1 + },1)` + : `translate3d(${Fe.left - mt.left}px,0,0) scale3d(${ + mt.width ? Fe.width / mt.width : 1 + },1,1)`), + d(() => { + J = setTimeout(() => { + (J = null), + (Ze.style.transition = + "transform .25s cubic-bezier(.4, 0, .2, 1)"), + (Ze.style.transform = "none"); + }, 70); + }); + } + gt && $.value === !0 && Z(gt.rootRef.value); + } + function Z(G) { + const { + left: de, + width: qe, + top: gt, + height: it, + } = _.value.getBoundingClientRect(), + Ze = G.getBoundingClientRect(); + let Fe = e.vertical === !0 ? Ze.top - gt : Ze.left - de; + if (Fe < 0) { + (_.value[e.vertical === !0 ? "scrollTop" : "scrollLeft"] += + Math.floor(Fe)), + he(); + return; + } + (Fe += e.vertical === !0 ? Ze.height - it : Ze.width - qe), + Fe > 0 && + ((_.value[e.vertical === !0 ? "scrollTop" : "scrollLeft"] += + Math.ceil(Fe)), + he()); + } + function he() { + const G = _.value; + if (G === null) return; + const de = G.getBoundingClientRect(), + qe = e.vertical === !0 ? G.scrollTop : Math.abs(G.scrollLeft); + Be.value === !0 + ? ((L.value = Math.ceil(qe + de.width) < G.scrollWidth - 1), + (F.value = qe > 0)) + : ((L.value = qe > 0), + (F.value = + e.vertical === !0 + ? Math.ceil(qe + de.height) < G.scrollHeight + : Math.ceil(qe + de.width) < G.scrollWidth)); + } + function fe(G) { + z !== null && clearInterval(z), + (z = setInterval(() => { + ee(G) === !0 && we(); + }, 5)); + } + function Ke() { + fe(j.value === !0 ? Number.MAX_SAFE_INTEGER : 0); + } + function Ve() { + fe(j.value === !0 ? 0 : Number.MAX_SAFE_INTEGER); + } + function we() { + z !== null && (clearInterval(z), (z = null)); + } + function Me(G, de) { + const qe = Array.prototype.filter.call( + _.value.children, + (mt) => + mt === de || + (mt.matches && mt.matches(".q-tab.q-focusable") === !0) + ), + gt = qe.length; + if (gt === 0) return; + if (G === 36) return Z(qe[0]), qe[0].focus(), !0; + if (G === 35) return Z(qe[gt - 1]), qe[gt - 1].focus(), !0; + const it = G === (e.vertical === !0 ? 38 : 37), + Ze = G === (e.vertical === !0 ? 40 : 39), + Fe = it === !0 ? -1 : Ze === !0 ? 1 : void 0; + if (Fe !== void 0) { + const mt = Be.value === !0 ? -1 : 1, + xt = qe.indexOf(de) + Fe * mt; + return ( + xt >= 0 && + xt < gt && + (Z(qe[xt]), qe[xt].focus({ preventScroll: !0 })), + !0 + ); + } + } + const ft = I(() => + j.value === !0 + ? { + get: (G) => Math.abs(G.scrollLeft), + set: (G, de) => { + G.scrollLeft = -de; + }, + } + : e.vertical === !0 + ? { + get: (G) => G.scrollTop, + set: (G, de) => { + G.scrollTop = de; + }, + } + : { + get: (G) => G.scrollLeft, + set: (G, de) => { + G.scrollLeft = de; + }, + } + ); + function ee(G) { + const de = _.value, + { get: qe, set: gt } = ft.value; + let it = !1, + Ze = qe(de); + const Fe = G < Ze ? -1 : 1; + return ( + (Ze += Fe * 5), + Ze < 0 + ? ((it = !0), (Ze = 0)) + : ((Fe === -1 && Ze <= G) || (Fe === 1 && Ze >= G)) && + ((it = !0), (Ze = G)), + gt(de, Ze), + he(), + it + ); + } + function wt(G, de) { + for (const qe in G) if (G[qe] !== de[qe]) return !1; + return !0; + } + function nn() { + let G = null, + de = { matchedLen: 0, queryDiff: 9999, hrefLen: 0 }; + const qe = D.filter( + (Fe) => + Fe.routeData !== void 0 && Fe.routeData.hasRouterLink.value === !0 + ), + { hash: gt, query: it } = a.$route, + Ze = Object.keys(it).length; + for (const Fe of qe) { + const mt = Fe.routeData.exact.value === !0; + if ( + Fe.routeData[mt === !0 ? "linkIsExactActive" : "linkIsActive"] + .value !== !0 + ) + continue; + const { + hash: xt, + query: cn, + matched: Jn, + href: ti, + } = Fe.routeData.resolvedLink.value, + Fn = Object.keys(cn).length; + if (mt === !0) { + if (xt !== gt || Fn !== Ze || wt(it, cn) === !1) continue; + G = Fe.name.value; + break; + } + if ((xt !== "" && xt !== gt) || (Fn !== 0 && wt(cn, it) === !1)) + continue; + const Qt = { + matchedLen: Jn.length, + queryDiff: Ze - Fn, + hrefLen: ti.length - xt.length, + }; + if (Qt.matchedLen > de.matchedLen) { + (G = Fe.name.value), (de = Qt); + continue; + } else if (Qt.matchedLen !== de.matchedLen) continue; + if (Qt.queryDiff < de.queryDiff) (G = Fe.name.value), (de = Qt); + else if (Qt.queryDiff !== de.queryDiff) continue; + Qt.hrefLen > de.hrefLen && ((G = Fe.name.value), (de = Qt)); + } + (G === null && + D.some( + (Fe) => Fe.routeData === void 0 && Fe.name.value === P.value + ) === !0) || + K({ name: G, setCurrent: !0 }); + } + function un(G) { + if ( + (g(), + N.value !== !0 && + M.value !== null && + G.target && + typeof G.target.closest == "function") + ) { + const de = G.target.closest(".q-tab"); + de && + M.value.contains(de) === !0 && + ((N.value = !0), $.value === !0 && Z(de)); + } + } + function rn() { + f(() => { + N.value = !1; + }, 30); + } + function qt() { + Bn.avoidRouteWatcher === !1 ? v(nn) : T(); + } + function Gt() { + if (H === void 0) { + const G = ze(() => a.$route.fullPath, qt); + H = () => { + G(), (H = void 0); + }; + } + } + function Zn(G) { + D.push(G), + A.value++, + me(), + G.routeData === void 0 || a.$route === void 0 + ? v(() => { + if ($.value === !0) { + const de = P.value, + qe = + de != null && de !== "" + ? D.find((gt) => gt.name.value === de) + : null; + qe && Z(qe.rootRef.value); + } + }) + : (Gt(), G.routeData.hasRouterLink.value === !0 && qt()); + } + function Kt(G) { + D.splice(D.indexOf(G), 1), + A.value--, + me(), + H !== void 0 && + G.routeData !== void 0 && + (D.every((de) => de.routeData === void 0) === !0 && H(), qt()); + } + const Bn = { + currentModel: P, + tabProps: pe, + hasFocus: N, + hasActiveTab: _e, + registerTab: Zn, + unregisterTab: Kt, + verifyRouteModel: qt, + updateModel: K, + onKbdNavigate: Me, + avoidRouteWatcher: !1, + }; + zh(Uh, Bn); + function Pr() { + J !== null && clearTimeout(J), we(), H !== void 0 && H(); + } + let St; + return ( + Ht(Pr), + ia(() => { + (St = H !== void 0), Pr(); + }), + aa(() => { + St === !0 && Gt(), me(); + }), + () => + E( + "div", + { + ref: M, + class: lt.value, + role: "tablist", + onFocusin: un, + onFocusout: rn, + }, + [ + E(xu, { onResize: rt }), + E( + "div", + { ref: _, class: te.value, onScroll: he }, + Mt(t.default) + ), + E(Wt, { + class: + "q-tabs__arrow q-tabs__arrow--left absolute q-tab__icon" + + (L.value === !0 ? "" : " q-tabs__arrow--faded"), + name: + e.leftIcon || + l.iconSet.tabs[e.vertical === !0 ? "up" : "left"], + onMousedownPassive: Ke, + onTouchstartPassive: Ke, + onMouseupPassive: we, + onMouseleavePassive: we, + onTouchendPassive: we, + }), + E(Wt, { + class: + "q-tabs__arrow q-tabs__arrow--right absolute q-tab__icon" + + (F.value === !0 ? "" : " q-tabs__arrow--faded"), + name: + e.rightIcon || + l.iconSet.tabs[e.vertical === !0 ? "down" : "right"], + onMousedownPassive: Ve, + onTouchstartPassive: Ve, + onMouseupPassive: we, + onMouseleavePassive: we, + onTouchendPassive: we, + }), + ] + ) + ); + }, + }), + OS = Je({ + name: "QField", + inheritAttrs: !1, + props: Xu, + emits: Wh, + setup() { + return Yh(Hh()); + }, + }); +const vh = (e) => ["add", "add-unique", "toggle"].includes(e), + LS = ".*+?^${}()|[]\\", + NS = Object.keys(Xu); +var Aa = Je({ + name: "QSelect", + inheritAttrs: !1, + props: { + ...eg, + ...Wb, + ...Xu, + modelValue: { required: !0 }, + multiple: Boolean, + displayValue: [String, Number], + displayValueHtml: Boolean, + dropdownIcon: String, + options: { type: Array, default: () => [] }, + optionValue: [Function, String], + optionLabel: [Function, String], + optionDisable: [Function, String], + hideSelected: Boolean, + hideDropdownIcon: Boolean, + fillInput: Boolean, + maxValues: [Number, String], + optionsDense: Boolean, + optionsDark: { type: Boolean, default: null }, + optionsSelectedClass: String, + optionsHtml: Boolean, + optionsCover: Boolean, + menuShrink: Boolean, + menuAnchor: String, + menuSelf: String, + menuOffset: Array, + popupContentClass: String, + popupContentStyle: [String, Array, Object], + useInput: Boolean, + useChips: Boolean, + newValueMode: { type: String, validator: vh }, + mapOptions: Boolean, + emitValue: Boolean, + inputDebounce: { type: [Number, String], default: 500 }, + inputClass: [Array, String, Object], + inputStyle: [Array, String, Object], + tabindex: { type: [String, Number], default: 0 }, + autocomplete: String, + transitionShow: String, + transitionHide: String, + transitionDuration: [String, Number], + behavior: { + type: String, + validator: (e) => ["default", "menu", "dialog"].includes(e), + default: "default", + }, + virtualScrollItemSize: { type: [Number, String], default: void 0 }, + onNewValue: Function, + onFilter: Function, + }, + emits: [ + ...Wh, + "add", + "remove", + "inputValue", + "newValue", + "keyup", + "keypress", + "keydown", + "filterAbort", + ], + setup(e, { slots: t, emit: r }) { + const { proxy: a } = Dt(), + { $q: l } = a, + s = se(!1), + u = se(!1), + d = se(-1), + f = se(""), + g = se(!1), + v = se(!1); + let T = null, + M, + _, + P, + $ = null, + L, + F, + W, + D; + const A = se(null), + N = se(null), + J = se(null), + z = se(null), + H = se(null), + pe = Yb(e), + _e = Kb(al), + Pe = I(() => (Array.isArray(e.options) ? e.options.length : 0)), + lt = I(() => + e.virtualScrollItemSize === void 0 + ? e.optionsDense === !0 + ? 24 + : 48 + : e.virtualScrollItemSize + ), + { + virtualScrollSliceRange: te, + virtualScrollSliceSizeComputed: xe, + localResetVirtualScroll: Be, + padVirtualScroll: j, + onVirtualScrollEvt: K, + scrollTo: me, + setVirtualScrollSize: rt, + } = tg({ + virtualScrollLength: Pe, + getVirtualScrollTarget: nl, + getVirtualScrollEl: tl, + virtualScrollItemSizeComputed: lt, + }), + X = Hh(), + Z = I(() => { + const C = e.mapOptions === !0 && e.multiple !== !0, + le = + e.modelValue !== void 0 && (e.modelValue !== null || C === !0) + ? e.multiple === !0 && Array.isArray(e.modelValue) + ? e.modelValue + : [e.modelValue] + : []; + if (e.mapOptions === !0 && Array.isArray(e.options) === !0) { + const ie = e.mapOptions === !0 && M !== void 0 ? M : [], + De = le.map((st) => ti(st, ie)); + return e.modelValue === null && C === !0 + ? De.filter((st) => st !== null) + : De; + } + return le; + }), + he = I(() => { + const C = {}; + return ( + NS.forEach((le) => { + const ie = e[le]; + ie !== void 0 && (C[le] = ie); + }), + C + ); + }), + fe = I(() => (e.optionsDark === null ? X.isDark.value : e.optionsDark)), + Ke = I(() => eh(Z.value)), + Ve = I(() => { + let C = "q-field__input q-placeholder col"; + return e.hideSelected === !0 || Z.value.length === 0 + ? [C, e.inputClass] + : ((C += " q-field__input--padding"), + e.inputClass === void 0 ? C : [C, e.inputClass]); + }), + we = I( + () => + (e.virtualScrollHorizontal === !0 + ? "q-virtual-scroll--horizontal" + : "") + (e.popupContentClass ? " " + e.popupContentClass : "") + ), + Me = I(() => Pe.value === 0), + ft = I(() => Z.value.map((C) => G.value(C)).join(", ")), + ee = I(() => (e.displayValue !== void 0 ? e.displayValue : ft.value)), + wt = I(() => + e.optionsHtml === !0 ? () => !0 : (C) => C != null && C.html === !0 + ), + nn = I( + () => + e.displayValueHtml === !0 || + (e.displayValue === void 0 && + (e.optionsHtml === !0 || Z.value.some(wt.value))) + ), + un = I(() => (X.focused.value === !0 ? e.tabindex : -1)), + rn = I(() => { + const C = { + tabindex: e.tabindex, + role: "combobox", + "aria-label": e.label, + "aria-readonly": e.readonly === !0 ? "true" : "false", + "aria-autocomplete": e.useInput === !0 ? "list" : "none", + "aria-expanded": s.value === !0 ? "true" : "false", + "aria-controls": `${X.targetUid.value}_lb`, + }; + return ( + d.value >= 0 && + (C["aria-activedescendant"] = `${X.targetUid.value}_${d.value}`), + C + ); + }), + qt = I(() => ({ + id: `${X.targetUid.value}_lb`, + role: "listbox", + "aria-multiselectable": e.multiple === !0 ? "true" : "false", + })), + Gt = I(() => + Z.value.map((C, le) => ({ + index: le, + opt: C, + html: wt.value(C), + selected: !0, + removeAtIndex: Fe, + toggleOption: xt, + tabindex: un.value, + })) + ), + Zn = I(() => { + if (Pe.value === 0) return []; + const { from: C, to: le } = te.value; + return e.options.slice(C, le).map((ie, De) => { + const st = de.value(ie) === !0, + tt = C + De, + kt = { + clickable: !0, + active: !1, + activeClass: Pr.value, + manualFocus: !0, + focused: !1, + disable: st, + tabindex: -1, + dense: e.optionsDense, + dark: fe.value, + role: "option", + id: `${X.targetUid.value}_${tt}`, + onClick: () => { + xt(ie); + }, + }; + return ( + st !== !0 && + (Qt(ie) === !0 && (kt.active = !0), + d.value === tt && (kt.focused = !0), + (kt["aria-selected"] = kt.active === !0 ? "true" : "false"), + l.platform.is.desktop === !0 && + (kt.onMousemove = () => { + s.value === !0 && cn(tt); + })), + { + index: tt, + opt: ie, + html: wt.value(ie), + label: G.value(ie), + selected: kt.active, + focused: kt.focused, + toggleOption: xt, + setOptionIndex: cn, + itemProps: kt, + } + ); + }); + }), + Kt = I(() => + e.dropdownIcon !== void 0 ? e.dropdownIcon : l.iconSet.arrow.dropdown + ), + Bn = I( + () => + e.optionsCover === !1 && + e.outlined !== !0 && + e.standout !== !0 && + e.borderless !== !0 && + e.rounded !== !0 + ), + Pr = I(() => + e.optionsSelectedClass !== void 0 + ? e.optionsSelectedClass + : e.color !== void 0 + ? `text-${e.color}` + : "" + ), + St = I(() => Fn(e.optionValue, "value")), + G = I(() => Fn(e.optionLabel, "label")), + de = I(() => Fn(e.optionDisable, "disable")), + qe = I(() => Z.value.map((C) => St.value(C))), + gt = I(() => { + const C = { + onInput: al, + onChange: _e, + onKeydown: el, + onKeyup: ki, + onKeypress: Xa, + onFocus: wi, + onClick(le) { + _ === !0 && gi(le); + }, + }; + return ( + (C.onCompositionstart = + C.onCompositionupdate = + C.onCompositionend = + _e), + C + ); + }); + ze( + Z, + (C) => { + (M = C), + e.useInput === !0 && + e.fillInput === !0 && + e.multiple !== !0 && + X.innerLoading.value !== !0 && + ((u.value !== !0 && s.value !== !0) || Ke.value !== !0) && + (P !== !0 && Rr(), (u.value === !0 || s.value === !0) && Er("")); + }, + { immediate: !0 } + ), + ze(() => e.fillInput, Rr), + ze(s, Ti), + ze(Pe, Jo); + function it(C) { + return e.emitValue === !0 ? St.value(C) : C; + } + function Ze(C) { + if (C > -1 && C < Z.value.length) + if (e.multiple === !0) { + const le = e.modelValue.slice(); + r("remove", { index: C, value: le.splice(C, 1)[0] }), + r("update:modelValue", le); + } else r("update:modelValue", null); + } + function Fe(C) { + Ze(C), X.focus(); + } + function mt(C, le) { + const ie = it(C); + if (e.multiple !== !0) { + e.fillInput === !0 && Ar(G.value(C), !0, !0), + r("update:modelValue", ie); + return; + } + if (Z.value.length === 0) { + r("add", { index: 0, value: ie }), + r("update:modelValue", e.multiple === !0 ? [ie] : ie); + return; + } + if ( + (le === !0 && Qt(C) === !0) || + (e.maxValues !== void 0 && e.modelValue.length >= e.maxValues) + ) + return; + const De = e.modelValue.slice(); + r("add", { index: De.length, value: ie }), + De.push(ie), + r("update:modelValue", De); + } + function xt(C, le) { + if (X.editable.value !== !0 || C === void 0 || de.value(C) === !0) return; + const ie = St.value(C); + if (e.multiple !== !0) { + le !== !0 && (Ar(e.fillInput === !0 ? G.value(C) : "", !0, !0), ur()), + N.value !== null && N.value.focus(), + (Z.value.length === 0 || Wi(St.value(Z.value[0]), ie) !== !0) && + r("update:modelValue", e.emitValue === !0 ? ie : C); + return; + } + if ( + ((_ !== !0 || g.value === !0) && X.focus(), wi(), Z.value.length === 0) + ) { + const tt = e.emitValue === !0 ? ie : C; + r("add", { index: 0, value: tt }), + r("update:modelValue", e.multiple === !0 ? [tt] : tt); + return; + } + const De = e.modelValue.slice(), + st = qe.value.findIndex((tt) => Wi(tt, ie)); + if (st > -1) r("remove", { index: st, value: De.splice(st, 1)[0] }); + else { + if (e.maxValues !== void 0 && De.length >= e.maxValues) return; + const tt = e.emitValue === !0 ? ie : C; + r("add", { index: De.length, value: tt }), De.push(tt); + } + r("update:modelValue", De); + } + function cn(C) { + if (l.platform.is.desktop !== !0) return; + const le = C > -1 && C < Pe.value ? C : -1; + d.value !== le && (d.value = le); + } + function Jn(C = 1, le) { + if (s.value === !0) { + let ie = d.value; + do ie = rh(ie + C, -1, Pe.value - 1); + while (ie !== -1 && ie !== d.value && de.value(e.options[ie]) === !0); + d.value !== ie && + (cn(ie), + me(ie), + le !== !0 && + e.useInput === !0 && + e.fillInput === !0 && + Ci(ie >= 0 ? G.value(e.options[ie]) : L)); + } + } + function ti(C, le) { + const ie = (De) => Wi(St.value(De), C); + return e.options.find(ie) || le.find(ie) || C; + } + function Fn(C, le) { + const ie = C !== void 0 ? C : le; + return typeof ie == "function" + ? ie + : (De) => + De !== null && typeof De == "object" && ie in De ? De[ie] : De; + } + function Qt(C) { + const le = St.value(C); + return qe.value.find((ie) => Wi(ie, le)) !== void 0; + } + function wi(C) { + e.useInput === !0 && + N.value !== null && + (C === void 0 || + (N.value === C.target && C.target.value === ft.value)) && + N.value.select(); + } + function Si(C) { + Wa(C, 27) === !0 && s.value === !0 && (gi(C), ur(), Rr()), r("keyup", C); + } + function ki(C) { + const { value: le } = C.target; + if (C.keyCode !== void 0) { + Si(C); + return; + } + if ( + ((C.target.value = ""), + T !== null && (clearTimeout(T), (T = null)), + Rr(), + typeof le == "string" && le.length !== 0) + ) { + const ie = le.toLocaleLowerCase(), + De = (tt) => { + const kt = e.options.find( + (Nt) => tt.value(Nt).toLocaleLowerCase() === ie + ); + return kt === void 0 + ? !1 + : (Z.value.indexOf(kt) === -1 ? xt(kt) : ur(), !0); + }, + st = (tt) => { + De(St) !== !0 && + (De(G) === !0 || tt === !0 || Er(le, !0, () => st(!0))); + }; + st(); + } else X.clearValue(C); + } + function Xa(C) { + r("keypress", C); + } + function el(C) { + if ((r("keydown", C), Vh(C) === !0)) return; + const le = + f.value.length !== 0 && + (e.newValueMode !== void 0 || e.onNewValue !== void 0), + ie = + C.shiftKey !== !0 && e.multiple !== !0 && (d.value > -1 || le === !0); + if (C.keyCode === 27) { + Ia(C); + return; + } + if (C.keyCode === 9 && ie === !1) { + Ir(); + return; + } + if ( + C.target === void 0 || + C.target.id !== X.targetUid.value || + X.editable.value !== !0 + ) + return; + if (C.keyCode === 40 && X.innerLoading.value !== !0 && s.value === !1) { + Ft(C), $r(); + return; + } + if (C.keyCode === 8 && e.hideSelected !== !0 && f.value.length === 0) { + e.multiple === !0 && Array.isArray(e.modelValue) === !0 + ? Ze(e.modelValue.length - 1) + : e.multiple !== !0 && + e.modelValue !== null && + r("update:modelValue", null); + return; + } + (C.keyCode === 35 || C.keyCode === 36) && + (typeof f.value != "string" || f.value.length === 0) && + (Ft(C), (d.value = -1), Jn(C.keyCode === 36 ? 1 : -1, e.multiple)), + (C.keyCode === 33 || C.keyCode === 34) && + xe.value !== void 0 && + (Ft(C), + (d.value = Math.max( + -1, + Math.min( + Pe.value, + d.value + (C.keyCode === 33 ? -1 : 1) * xe.value.view + ) + )), + Jn(C.keyCode === 33 ? 1 : -1, e.multiple)), + (C.keyCode === 38 || C.keyCode === 40) && + (Ft(C), Jn(C.keyCode === 38 ? -1 : 1, e.multiple)); + const De = Pe.value; + if ( + ((W === void 0 || D < Date.now()) && (W = ""), + De > 0 && + e.useInput !== !0 && + C.key !== void 0 && + C.key.length === 1 && + C.altKey === !1 && + C.ctrlKey === !1 && + C.metaKey === !1 && + (C.keyCode !== 32 || W.length !== 0)) + ) { + s.value !== !0 && $r(C); + const st = C.key.toLocaleLowerCase(), + tt = W.length === 1 && W[0] === st; + (D = Date.now() + 1500), tt === !1 && (Ft(C), (W += st)); + const kt = new RegExp( + "^" + + W.split("") + .map((Mi) => (LS.indexOf(Mi) > -1 ? "\\" + Mi : Mi)) + .join(".*"), + "i" + ); + let Nt = d.value; + if (tt === !0 || Nt < 0 || kt.test(G.value(e.options[Nt])) !== !0) + do Nt = rh(Nt + 1, -1, De - 1); + while ( + Nt !== d.value && + (de.value(e.options[Nt]) === !0 || + kt.test(G.value(e.options[Nt])) !== !0) + ); + d.value !== Nt && + Sn(() => { + cn(Nt), + me(Nt), + Nt >= 0 && + e.useInput === !0 && + e.fillInput === !0 && + Ci(G.value(e.options[Nt])); + }); + return; + } + if ( + !( + C.keyCode !== 13 && + (C.keyCode !== 32 || e.useInput === !0 || W !== "") && + (C.keyCode !== 9 || ie === !1) + ) + ) { + if ((C.keyCode !== 9 && Ft(C), d.value > -1 && d.value < De)) { + xt(e.options[d.value]); + return; + } + if (le === !0) { + const st = (tt, kt) => { + if (kt) { + if (vh(kt) !== !0) return; + } else kt = e.newValueMode; + if ((Ar("", e.multiple !== !0, !0), tt == null)) return; + (kt === "toggle" ? xt : mt)(tt, kt === "add-unique"), + e.multiple !== !0 && (N.value !== null && N.value.focus(), ur()); + }; + if ( + (e.onNewValue !== void 0 ? r("newValue", f.value, st) : st(f.value), + e.multiple !== !0) + ) + return; + } + s.value === !0 ? Ir() : X.innerLoading.value !== !0 && $r(); + } + } + function tl() { + return _ === !0 + ? H.value + : J.value !== null && J.value.contentEl !== null + ? J.value.contentEl + : void 0; + } + function nl() { + return tl(); + } + function rl() { + return e.hideSelected === !0 + ? [] + : t["selected-item"] !== void 0 + ? Gt.value.map((C) => t["selected-item"](C)).slice() + : t.selected !== void 0 + ? [].concat(t.selected()) + : e.useChips === !0 + ? Gt.value.map((C, le) => + E( + Ha, + { + key: "option-" + le, + removable: X.editable.value === !0 && de.value(C.opt) !== !0, + dense: !0, + textColor: e.color, + tabindex: un.value, + onRemove() { + C.removeAtIndex(le); + }, + }, + () => + E("span", { + class: "ellipsis", + [C.html === !0 ? "innerHTML" : "textContent"]: G.value(C.opt), + }) + ) + ) + : [ + E("span", { + [nn.value === !0 ? "innerHTML" : "textContent"]: ee.value, + }), + ]; + } + function il() { + if (Me.value === !0) + return t["no-option"] !== void 0 + ? t["no-option"]({ inputValue: f.value }) + : void 0; + const C = + t.option !== void 0 + ? t.option + : (ie) => + E(zt, { key: ie.index, ...ie.itemProps }, () => + E(Ie, () => + E(Ge, () => + E("span", { + [ie.html === !0 ? "innerHTML" : "textContent"]: ie.label, + }) + ) + ) + ); + let le = j("div", Zn.value.map(C)); + return ( + t["before-options"] !== void 0 && + (le = t["before-options"]().concat(le)), + _i(t["after-options"], le) + ); + } + function Wo(C, le) { + const ie = + le === !0 + ? { ...rn.value, ...X.splitAttrs.attributes.value } + : void 0, + De = { + ref: le === !0 ? N : void 0, + key: "i_t", + class: Ve.value, + style: e.inputStyle, + value: f.value !== void 0 ? f.value : "", + type: "search", + ...ie, + id: le === !0 ? X.targetUid.value : void 0, + maxlength: e.maxlength, + autocomplete: e.autocomplete, + "data-autofocus": C === !0 || e.autofocus === !0 || void 0, + disabled: e.disable === !0, + readonly: e.readonly === !0, + ...gt.value, + }; + return ( + C !== !0 && + _ === !0 && + (Array.isArray(De.class) === !0 + ? (De.class = [...De.class, "no-pointer-events"]) + : (De.class += " no-pointer-events")), + E("input", De) + ); + } + function al(C) { + T !== null && (clearTimeout(T), (T = null)), + !(C && C.target && C.target.qComposing === !0) && + (Ci(C.target.value || ""), + (P = !0), + (L = f.value), + X.focused.value !== !0 && (_ !== !0 || g.value === !0) && X.focus(), + e.onFilter !== void 0 && + (T = setTimeout(() => { + (T = null), Er(f.value); + }, e.inputDebounce))); + } + function Ci(C) { + f.value !== C && ((f.value = C), r("inputValue", C)); + } + function Ar(C, le, ie) { + (P = ie !== !0), + e.useInput === !0 && + (Ci(C), (le === !0 || ie !== !0) && (L = C), le !== !0 && Er(C)); + } + function Er(C, le, ie) { + if (e.onFilter === void 0 || (le !== !0 && X.focused.value !== !0)) + return; + X.innerLoading.value === !0 + ? r("filterAbort") + : ((X.innerLoading.value = !0), (v.value = !0)), + C !== "" && + e.multiple !== !0 && + Z.value.length !== 0 && + P !== !0 && + C === G.value(Z.value[0]) && + (C = ""); + const De = setTimeout(() => { + s.value === !0 && (s.value = !1); + }, 10); + $ !== null && clearTimeout($), + ($ = De), + r( + "filter", + C, + (st, tt) => { + (le === !0 || X.focused.value === !0) && + $ === De && + (clearTimeout($), + typeof st == "function" && st(), + (v.value = !1), + Sn(() => { + (X.innerLoading.value = !1), + X.editable.value === !0 && + (le === !0 + ? s.value === !0 && ur() + : s.value === !0 + ? Ti(!0) + : (s.value = !0)), + typeof tt == "function" && + Sn(() => { + tt(a); + }), + typeof ie == "function" && + Sn(() => { + ie(a); + }); + })); + }, + () => { + X.focused.value === !0 && + $ === De && + (clearTimeout($), (X.innerLoading.value = !1), (v.value = !1)), + s.value === !0 && (s.value = !1); + } + ); + } + function Yo() { + return E( + ng, + { + ref: J, + class: we.value, + style: e.popupContentStyle, + modelValue: s.value, + fit: e.menuShrink !== !0, + cover: e.optionsCover === !0 && Me.value !== !0 && e.useInput !== !0, + anchor: e.menuAnchor, + self: e.menuSelf, + offset: e.menuOffset, + dark: fe.value, + noParentEvent: !0, + noRefocus: !0, + noFocus: !0, + square: Bn.value, + transitionShow: e.transitionShow, + transitionHide: e.transitionHide, + transitionDuration: e.transitionDuration, + separateClosePopup: !0, + ...qt.value, + onScrollPassive: K, + onBeforeShow: ol, + onBeforeHide: Ho, + onShow: sa, + }, + il + ); + } + function Ho(C) { + sl(C), Ir(); + } + function sa() { + rt(); + } + function Go(C) { + gi(C), + N.value !== null && N.value.focus(), + (g.value = !0), + window.scrollTo( + window.pageXOffset || window.scrollX || document.body.scrollLeft || 0, + 0 + ); + } + function ua(C) { + gi(C), + Sn(() => { + g.value = !1; + }); + } + function Ko() { + const C = [ + E( + OS, + { + class: `col-auto ${X.fieldClass.value}`, + ...he.value, + for: X.targetUid.value, + dark: fe.value, + square: !0, + loading: v.value, + itemAligned: !1, + filled: !0, + stackLabel: f.value.length !== 0, + ...X.splitAttrs.listeners.value, + onFocus: Go, + onBlur: ua, + }, + { + ...t, + rawControl: () => X.getControl(!0), + before: void 0, + after: void 0, + } + ), + ]; + return ( + s.value === !0 && + C.push( + E( + "div", + { + ref: H, + class: we.value + " scroll", + style: e.popupContentStyle, + ...qt.value, + onClick: Ia, + onScrollPassive: K, + }, + il() + ) + ), + E( + co, + { + ref: z, + modelValue: u.value, + position: e.useInput === !0 ? "top" : void 0, + transitionShow: F, + transitionHide: e.transitionHide, + transitionDuration: e.transitionDuration, + onBeforeShow: ol, + onBeforeHide: Qo, + onHide: jo, + onShow: Zo, + }, + () => + E( + "div", + { + class: + "q-select__dialog" + + (fe.value === !0 ? " q-select__dialog--dark q-dark" : "") + + (g.value === !0 ? " q-select__dialog--focused" : ""), + }, + C + ) + ) + ); + } + function Qo(C) { + sl(C), + z.value !== null && + z.value.__updateRefocusTarget( + X.rootRef.value.querySelector( + ".q-field__native > [tabindex]:last-child" + ) + ), + (X.focused.value = !1); + } + function jo(C) { + ur(), X.focused.value === !1 && r("blur", C), Rr(); + } + function Zo() { + const C = document.activeElement; + (C === null || C.id !== X.targetUid.value) && + N.value !== null && + N.value !== C && + N.value.focus(), + rt(); + } + function Ir() { + u.value !== !0 && + ((d.value = -1), + s.value === !0 && (s.value = !1), + X.focused.value === !1 && + ($ !== null && (clearTimeout($), ($ = null)), + X.innerLoading.value === !0 && + (r("filterAbort"), (X.innerLoading.value = !1), (v.value = !1)))); + } + function $r(C) { + X.editable.value === !0 && + (_ === !0 + ? (X.onControlFocusin(C), + (u.value = !0), + Sn(() => { + X.focus(); + })) + : X.focus(), + e.onFilter !== void 0 + ? Er(f.value) + : (Me.value !== !0 || t["no-option"] !== void 0) && (s.value = !0)); + } + function ur() { + (u.value = !1), Ir(); + } + function Rr() { + e.useInput === !0 && + Ar( + (e.multiple !== !0 && + e.fillInput === !0 && + Z.value.length !== 0 && + G.value(Z.value[0])) || + "", + !0, + !0 + ); + } + function Ti(C) { + let le = -1; + if (C === !0) { + if (Z.value.length !== 0) { + const ie = St.value(Z.value[0]); + le = e.options.findIndex((De) => Wi(St.value(De), ie)); + } + Be(le); + } + cn(le); + } + function Jo(C, le) { + s.value === !0 && + X.innerLoading.value === !1 && + (Be(-1, !0), + Sn(() => { + s.value === !0 && + X.innerLoading.value === !1 && + (C > le ? Be() : Ti(!0)); + })); + } + function ll() { + u.value === !1 && J.value !== null && J.value.updatePosition(); + } + function ol(C) { + C !== void 0 && gi(C), + r("popupShow", C), + (X.hasPopupOpen = !0), + X.onControlFocusin(C); + } + function sl(C) { + C !== void 0 && gi(C), + r("popupHide", C), + (X.hasPopupOpen = !1), + X.onControlFocusout(C); + } + function ul() { + (_ = + l.platform.is.mobile !== !0 && e.behavior !== "dialog" + ? !1 + : e.behavior !== "menu" && + (e.useInput === !0 + ? t["no-option"] !== void 0 || + e.onFilter !== void 0 || + Me.value === !1 + : !0)), + (F = + l.platform.is.ios === !0 && _ === !0 && e.useInput === !0 + ? "fade" + : e.transitionShow); + } + return ( + Hb(ul), + Gb(ll), + ul(), + Ht(() => { + T !== null && clearTimeout(T); + }), + Object.assign(a, { + showPopup: $r, + hidePopup: ur, + removeAtIndex: Ze, + add: mt, + toggleOption: xt, + getOptionIndex: () => d.value, + setOptionIndex: cn, + moveOptionSelection: Jn, + filter: Er, + updateMenuPosition: ll, + updateInputValue: Ar, + isOptionSelected: Qt, + getEmittingOptionValue: it, + isOptionDisabled: (...C) => de.value.apply(null, C) === !0, + getOptionValue: (...C) => St.value.apply(null, C), + getOptionLabel: (...C) => G.value.apply(null, C), + }), + Object.assign(X, { + innerValue: Z, + fieldClass: I( + () => + `q-select q-field--auto-height q-select--with${ + e.useInput !== !0 ? "out" : "" + }-input q-select--with${ + e.useChips !== !0 ? "out" : "" + }-chips q-select--${e.multiple === !0 ? "multiple" : "single"}` + ), + inputRef: A, + targetRef: N, + hasValue: Ke, + showPopup: $r, + floatingLabel: I( + () => + (e.hideSelected !== !0 && Ke.value === !0) || + typeof f.value == "number" || + f.value.length !== 0 || + eh(e.displayValue) + ), + getControlChild: () => { + if ( + X.editable.value !== !1 && + (u.value === !0 || Me.value !== !0 || t["no-option"] !== void 0) + ) + return _ === !0 ? Ko() : Yo(); + X.hasPopupOpen === !0 && (X.hasPopupOpen = !1); + }, + controlEvents: { + onFocusin(C) { + X.onControlFocusin(C); + }, + onFocusout(C) { + X.onControlFocusout(C, () => { + Rr(), Ir(); + }); + }, + onClick(C) { + if ((Ia(C), _ !== !0 && s.value === !0)) { + Ir(), N.value !== null && N.value.focus(); + return; + } + $r(C); + }, + }, + getControl: (C) => { + const le = rl(), + ie = C === !0 || u.value !== !0 || _ !== !0; + if (e.useInput === !0) le.push(Wo(C, ie)); + else if (X.editable.value === !0) { + const st = ie === !0 ? rn.value : void 0; + le.push( + E("input", { + ref: ie === !0 ? N : void 0, + key: "d_t", + class: "q-select__focus-target", + id: ie === !0 ? X.targetUid.value : void 0, + value: ee.value, + readonly: !0, + "data-autofocus": C === !0 || e.autofocus === !0 || void 0, + ...st, + onKeydown: el, + onKeyup: Si, + onKeypress: Xa, + }) + ), + ie === !0 && + typeof e.autocomplete == "string" && + e.autocomplete.length !== 0 && + le.push( + E("input", { + class: "q-select__autocomplete-input", + autocomplete: e.autocomplete, + tabindex: -1, + onKeyup: ki, + }) + ); + } + if ( + pe.value !== void 0 && + e.disable !== !0 && + qe.value.length !== 0 + ) { + const st = qe.value.map((tt) => + E("option", { value: tt, selected: !0 }) + ); + le.push( + E( + "select", + { class: "hidden", name: pe.value, multiple: e.multiple }, + st + ) + ); + } + const De = + e.useInput === !0 || ie !== !0 + ? void 0 + : X.splitAttrs.attributes.value; + return E( + "div", + { + class: "q-field__native row items-center", + ...De, + ...X.splitAttrs.listeners.value, + }, + le + ); + }, + getInnerAppend: () => + e.loading !== !0 && v.value !== !0 && e.hideDropdownIcon !== !0 + ? [ + E(Wt, { + class: + "q-select__dropdown-icon" + + (s.value === !0 ? " rotate-180" : ""), + name: Kt.value, + }), + ] + : null, + }), + Yh(X) + ); + }, +}); +function BS(e) { + const t = [0.06, 6, 50]; + return ( + typeof e == "string" && + e.length && + e.split(":").forEach((r, a) => { + const l = parseFloat(r); + l && (t[a] = l); + }), + t + ); +} +var FS = Fh({ + name: "touch-swipe", + beforeMount(e, { value: t, arg: r, modifiers: a }) { + if (a.mouse !== !0 && zi.has.touch !== !0) return; + const l = a.mouseCapture === !0 ? "Capture" : "", + s = { + handler: t, + sensitivity: BS(r), + direction: ih(a), + noop: Eh, + mouseStart(u) { + ah(u, s) && + Qb(u) && + (Hr(s, "temp", [ + [document, "mousemove", "move", `notPassive${l}`], + [document, "mouseup", "end", "notPassiveCapture"], + ]), + s.start(u, !0)); + }, + touchStart(u) { + if (ah(u, s)) { + const d = u.target; + Hr(s, "temp", [ + [d, "touchmove", "move", "notPassiveCapture"], + [d, "touchcancel", "end", "notPassiveCapture"], + [d, "touchend", "end", "notPassiveCapture"], + ]), + s.start(u); + } + }, + start(u, d) { + zi.is.firefox === !0 && uu(e, !0); + const f = Du(u); + s.event = { + x: f.left, + y: f.top, + time: Date.now(), + mouse: d === !0, + dir: !1, + }; + }, + move(u) { + if (s.event === void 0) return; + if (s.event.dir !== !1) { + Ft(u); + return; + } + const d = Date.now() - s.event.time; + if (d === 0) return; + const f = Du(u), + g = f.left - s.event.x, + v = Math.abs(g), + T = f.top - s.event.y, + M = Math.abs(T); + if (s.event.mouse !== !0) { + if (v < s.sensitivity[1] && M < s.sensitivity[1]) { + s.end(u); + return; + } + } else if (window.getSelection().toString() !== "") { + s.end(u); + return; + } else if (v < s.sensitivity[2] && M < s.sensitivity[2]) return; + const _ = v / d, + P = M / d; + s.direction.vertical === !0 && + v < M && + v < 100 && + P > s.sensitivity[0] && + (s.event.dir = T < 0 ? "up" : "down"), + s.direction.horizontal === !0 && + v > M && + M < 100 && + _ > s.sensitivity[0] && + (s.event.dir = g < 0 ? "left" : "right"), + s.direction.up === !0 && + v < M && + T < 0 && + v < 100 && + P > s.sensitivity[0] && + (s.event.dir = "up"), + s.direction.down === !0 && + v < M && + T > 0 && + v < 100 && + P > s.sensitivity[0] && + (s.event.dir = "down"), + s.direction.left === !0 && + v > M && + g < 0 && + M < 100 && + _ > s.sensitivity[0] && + (s.event.dir = "left"), + s.direction.right === !0 && + v > M && + g > 0 && + M < 100 && + _ > s.sensitivity[0] && + (s.event.dir = "right"), + s.event.dir !== !1 + ? (Ft(u), + s.event.mouse === !0 && + (document.body.classList.add("no-pointer-events--children"), + document.body.classList.add("non-selectable"), + fo(), + (s.styleCleanup = ($) => { + (s.styleCleanup = void 0), + document.body.classList.remove("non-selectable"); + const L = () => { + document.body.classList.remove( + "no-pointer-events--children" + ); + }; + $ === !0 ? setTimeout(L, 50) : L(); + })), + s.handler({ + evt: u, + touch: s.event.mouse !== !0, + mouse: s.event.mouse, + direction: s.event.dir, + duration: d, + distance: { x: v, y: M }, + })) + : s.end(u); + }, + end(u) { + s.event !== void 0 && + (Ki(s, "temp"), + zi.is.firefox === !0 && uu(e, !1), + s.styleCleanup !== void 0 && s.styleCleanup(!0), + u !== void 0 && s.event.dir !== !1 && Ft(u), + (s.event = void 0)); + }, + }; + if (((e.__qtouchswipe = s), a.mouse === !0)) { + const u = a.mouseCapture === !0 || a.mousecapture === !0 ? "Capture" : ""; + Hr(s, "main", [[e, "mousedown", "mouseStart", `passive${u}`]]); + } + zi.has.touch === !0 && + Hr(s, "main", [ + [ + e, + "touchstart", + "touchStart", + `passive${a.capture === !0 ? "Capture" : ""}`, + ], + [e, "touchmove", "noop", "notPassiveCapture"], + ]); + }, + updated(e, t) { + const r = e.__qtouchswipe; + r !== void 0 && + (t.oldValue !== t.value && + (typeof t.value != "function" && r.end(), (r.handler = t.value)), + (r.direction = ih(t.modifiers))); + }, + beforeUnmount(e) { + const t = e.__qtouchswipe; + t !== void 0 && + (Ki(t, "main"), + Ki(t, "temp"), + zi.is.firefox === !0 && uu(e, !1), + t.styleCleanup !== void 0 && t.styleCleanup(), + delete e.__qtouchswipe); + }, +}); +function US() { + const e = new Map(); + return { + getCache: function (t, r) { + return e[t] === void 0 ? (e[t] = r) : e[t]; + }, + getCacheWithFn: function (t, r) { + return e[t] === void 0 ? (e[t] = r()) : e[t]; + }, + }; +} +const bg = { name: { required: !0 }, disable: Boolean }, + ph = { + setup(e, { slots: t }) { + return () => + E("div", { class: "q-panel scroll", role: "tabpanel" }, Mt(t.default)); + }, + }, + wg = { + modelValue: { required: !0 }, + animated: Boolean, + infinite: Boolean, + swipeable: Boolean, + vertical: Boolean, + transitionPrev: String, + transitionNext: String, + transitionDuration: { type: [String, Number], default: 300 }, + keepAlive: Boolean, + keepAliveInclude: [String, Array, RegExp], + keepAliveExclude: [String, Array, RegExp], + keepAliveMax: Number, + }, + Sg = ["update:modelValue", "beforeTransition", "transition"]; +function kg() { + const { props: e, emit: t, proxy: r } = Dt(), + { getCacheWithFn: a } = US(); + let l, s; + const u = se(null), + d = se(null); + function f(te) { + const xe = e.vertical === !0 ? "up" : "left"; + z((r.$q.lang.rtl === !0 ? -1 : 1) * (te.direction === xe ? 1 : -1)); + } + const g = I(() => [ + [ + FS, + f, + void 0, + { horizontal: e.vertical !== !0, vertical: e.vertical, mouse: !0 }, + ], + ]), + v = I( + () => e.transitionPrev || `slide-${e.vertical === !0 ? "down" : "right"}` + ), + T = I( + () => e.transitionNext || `slide-${e.vertical === !0 ? "up" : "left"}` + ), + M = I(() => `--q-transition-duration: ${e.transitionDuration}ms`), + _ = I(() => + typeof e.modelValue == "string" || typeof e.modelValue == "number" + ? e.modelValue + : String(e.modelValue) + ), + P = I(() => ({ + include: e.keepAliveInclude, + exclude: e.keepAliveExclude, + max: e.keepAliveMax, + })), + $ = I(() => e.keepAliveInclude !== void 0 || e.keepAliveExclude !== void 0); + ze( + () => e.modelValue, + (te, xe) => { + const Be = D(te) === !0 ? A(te) : -1; + s !== !0 && J(Be === -1 ? 0 : Be < A(xe) ? -1 : 1), + u.value !== Be && + ((u.value = Be), + t("beforeTransition", te, xe), + Sn(() => { + t("transition", te, xe); + })); + } + ); + function L() { + z(1); + } + function F() { + z(-1); + } + function W(te) { + t("update:modelValue", te); + } + function D(te) { + return te != null && te !== ""; + } + function A(te) { + return l.findIndex( + (xe) => + xe.props.name === te && + xe.props.disable !== "" && + xe.props.disable !== !0 + ); + } + function N() { + return l.filter((te) => te.props.disable !== "" && te.props.disable !== !0); + } + function J(te) { + const xe = + te !== 0 && e.animated === !0 && u.value !== -1 + ? "q-transition--" + (te === -1 ? v.value : T.value) + : null; + d.value !== xe && (d.value = xe); + } + function z(te, xe = u.value) { + let Be = xe + te; + for (; Be > -1 && Be < l.length; ) { + const j = l[Be]; + if (j !== void 0 && j.props.disable !== "" && j.props.disable !== !0) { + J(te), + (s = !0), + t("update:modelValue", j.props.name), + setTimeout(() => { + s = !1; + }); + return; + } + Be += te; + } + e.infinite === !0 && + l.length !== 0 && + xe !== -1 && + xe !== l.length && + z(te, te === -1 ? l.length : -1); + } + function H() { + const te = A(e.modelValue); + return u.value !== te && (u.value = te), !0; + } + function pe() { + const te = D(e.modelValue) === !0 && H() && l[u.value]; + return e.keepAlive === !0 + ? [ + E(jb, P.value, [ + E( + $.value === !0 + ? a(_.value, () => ({ ...ph, name: _.value })) + : ph, + { key: _.value, style: M.value }, + () => te + ), + ]), + ] + : [ + E( + "div", + { + class: "q-panel scroll", + style: M.value, + key: _.value, + role: "tabpanel", + }, + [te] + ), + ]; + } + function _e() { + if (l.length !== 0) + return e.animated === !0 ? [E(Ya, { name: d.value }, pe)] : pe(); + } + function Pe(te) { + return ( + (l = Ju(Mt(te.default, [])).filter( + (xe) => + xe.props !== null && + xe.props.slot === void 0 && + D(xe.props.name) === !0 + )), + l.length + ); + } + function lt() { + return l; + } + return ( + Object.assign(r, { next: L, previous: F, goTo: W }), + { + panelIndex: u, + panelDirectives: g, + updatePanelsList: Pe, + updatePanelIndex: H, + getPanelContent: _e, + getEnabledPanels: N, + getPanels: lt, + isValidPanelName: D, + keepAliveProps: P, + needsUniqueKeepAliveWrapper: $, + goToPanelByOffset: z, + goToPanel: W, + nextPanel: L, + previousPanel: F, + } + ); +} +var bu = Je({ + name: "QTabPanel", + props: bg, + setup(e, { slots: t }) { + return () => + E("div", { class: "q-tab-panel", role: "tabpanel" }, Mt(t.default)); + }, + }), + VS = Je({ + name: "QTabPanels", + props: { ...wg, ...ir }, + emits: Sg, + setup(e, { slots: t }) { + const r = Dt(), + a = ar(e, r.proxy.$q), + { updatePanelsList: l, getPanelContent: s, panelDirectives: u } = kg(), + d = I( + () => + "q-tab-panels q-panel-parent" + + (a.value === !0 ? " q-tab-panels--dark q-dark" : "") + ); + return () => ( + l(t), + Ku("div", { class: d.value }, s(), "pan", e.swipeable, () => u.value) + ); + }, + }); +const yh = (e) => { + e = (1831565813 + (e |= 0)) | 0; + let t = Math.imul(e ^ (e >>> 15), 1 | e); + return ( + (t = (t + Math.imul(t ^ (t >>> 7), 61 | t)) ^ t), + ((t ^ (t >>> 14)) >>> 0) / 4294967296 + ); +}; +class zS { + constructor(t) { + (this.dictionaries = void 0), + (this.length = void 0), + (this.separator = void 0), + (this.style = void 0), + (this.seed = void 0); + const { length: r, separator: a, dictionaries: l, style: s, seed: u } = t; + (this.dictionaries = l), + (this.separator = a), + (this.length = r), + (this.style = s), + (this.seed = u); + } + generate() { + if (!this.dictionaries) + throw new Error( + 'Cannot find any dictionary. Please provide at least one, or leave the "dictionary" field empty in the config object' + ); + if (this.length <= 0) throw new Error("Invalid length provided"); + if (this.length > this.dictionaries.length) + throw new Error(`The length cannot be bigger than the number of dictionaries. +Length provided: ${this.length}. Number of dictionaries provided: ${this.dictionaries.length}`); + let t = this.seed; + return this.dictionaries.slice(0, this.length).reduce((r, a) => { + let l; + t + ? ((l = ((u) => { + if (typeof u == "string") { + const d = u + .split("") + .map((g) => g.charCodeAt(0)) + .reduce((g, v) => g + v, 1), + f = Math.floor(Number(d)); + return yh(f); + } + return yh(u); + })(t)), + (t = 4294967296 * l)) + : (l = Math.random()); + let s = a[Math.floor(l * a.length)] || ""; + if (this.style === "lowerCase") s = s.toLowerCase(); + else if (this.style === "capital") { + const [u, ...d] = s.split(""); + s = u.toUpperCase() + d.join(""); + } else this.style === "upperCase" && (s = s.toUpperCase()); + return r ? `${r}${this.separator}${s}` : `${s}`; + }, ""); + } +} +const _h = { separator: "_", dictionaries: [] }, + Cg = (e) => { + const t = [...((e && e.dictionaries) || _h.dictionaries)], + r = { ..._h, ...e, length: (e && e.length) || t.length, dictionaries: t }; + if (!e || !e.dictionaries || !e.dictionaries.length) + throw new Error( + 'A "dictionaries" array must be provided. This is a breaking change introduced starting from Unique Name Generator v4. Read more about the breaking change here: https://github.com/andreasonny83/unique-names-generator#migration-guide' + ); + return new zS(r).generate(); + }; +var Tg = [ + "able", + "above", + "absent", + "absolute", + "abstract", + "abundant", + "academic", + "acceptable", + "accepted", + "accessible", + "accurate", + "accused", + "active", + "actual", + "acute", + "added", + "additional", + "adequate", + "adjacent", + "administrative", + "adorable", + "advanced", + "adverse", + "advisory", + "aesthetic", + "afraid", + "aggregate", + "aggressive", + "agreeable", + "agreed", + "agricultural", + "alert", + "alive", + "alleged", + "allied", + "alone", + "alright", + "alternative", + "amateur", + "amazing", + "ambitious", + "amused", + "ancient", + "angry", + "annoyed", + "annual", + "anonymous", + "anxious", + "appalling", + "apparent", + "applicable", + "appropriate", + "arbitrary", + "architectural", + "armed", + "arrogant", + "artificial", + "artistic", + "ashamed", + "asleep", + "assistant", + "associated", + "atomic", + "attractive", + "automatic", + "autonomous", + "available", + "average", + "awake", + "aware", + "awful", + "awkward", + "back", + "bad", + "balanced", + "bare", + "basic", + "beautiful", + "beneficial", + "better", + "bewildered", + "big", + "binding", + "biological", + "bitter", + "bizarre", + "blank", + "blind", + "blonde", + "bloody", + "blushing", + "boiling", + "bold", + "bored", + "boring", + "bottom", + "brainy", + "brave", + "breakable", + "breezy", + "brief", + "bright", + "brilliant", + "broad", + "broken", + "bumpy", + "burning", + "busy", + "calm", + "capable", + "capitalist", + "careful", + "casual", + "causal", + "cautious", + "central", + "certain", + "changing", + "characteristic", + "charming", + "cheap", + "cheerful", + "chemical", + "chief", + "chilly", + "chosen", + "christian", + "chronic", + "chubby", + "circular", + "civic", + "civil", + "civilian", + "classic", + "classical", + "clean", + "clear", + "clever", + "clinical", + "close", + "closed", + "cloudy", + "clumsy", + "coastal", + "cognitive", + "coherent", + "cold", + "collective", + "colonial", + "colorful", + "colossal", + "coloured", + "colourful", + "combative", + "combined", + "comfortable", + "coming", + "commercial", + "common", + "communist", + "compact", + "comparable", + "comparative", + "compatible", + "competent", + "competitive", + "complete", + "complex", + "complicated", + "comprehensive", + "compulsory", + "conceptual", + "concerned", + "concrete", + "condemned", + "confident", + "confidential", + "confused", + "conscious", + "conservation", + "conservative", + "considerable", + "consistent", + "constant", + "constitutional", + "contemporary", + "content", + "continental", + "continued", + "continuing", + "continuous", + "controlled", + "controversial", + "convenient", + "conventional", + "convinced", + "convincing", + "cooing", + "cool", + "cooperative", + "corporate", + "correct", + "corresponding", + "costly", + "courageous", + "crazy", + "creative", + "creepy", + "criminal", + "critical", + "crooked", + "crowded", + "crucial", + "crude", + "cruel", + "cuddly", + "cultural", + "curious", + "curly", + "current", + "curved", + "cute", + "daily", + "damaged", + "damp", + "dangerous", + "dark", + "dead", + "deaf", + "deafening", + "dear", + "decent", + "decisive", + "deep", + "defeated", + "defensive", + "defiant", + "definite", + "deliberate", + "delicate", + "delicious", + "delighted", + "delightful", + "democratic", + "dependent", + "depressed", + "desirable", + "desperate", + "detailed", + "determined", + "developed", + "developing", + "devoted", + "different", + "difficult", + "digital", + "diplomatic", + "direct", + "dirty", + "disabled", + "disappointed", + "disastrous", + "disciplinary", + "disgusted", + "distant", + "distinct", + "distinctive", + "distinguished", + "disturbed", + "disturbing", + "diverse", + "divine", + "dizzy", + "domestic", + "dominant", + "double", + "doubtful", + "drab", + "dramatic", + "dreadful", + "driving", + "drunk", + "dry", + "dual", + "due", + "dull", + "dusty", + "dutch", + "dying", + "dynamic", + "eager", + "early", + "eastern", + "easy", + "economic", + "educational", + "eerie", + "effective", + "efficient", + "elaborate", + "elated", + "elderly", + "eldest", + "electoral", + "electric", + "electrical", + "electronic", + "elegant", + "eligible", + "embarrassed", + "embarrassing", + "emotional", + "empirical", + "empty", + "enchanting", + "encouraging", + "endless", + "energetic", + "enormous", + "enthusiastic", + "entire", + "entitled", + "envious", + "environmental", + "equal", + "equivalent", + "essential", + "established", + "estimated", + "ethical", + "ethnic", + "eventual", + "everyday", + "evident", + "evil", + "evolutionary", + "exact", + "excellent", + "exceptional", + "excess", + "excessive", + "excited", + "exciting", + "exclusive", + "existing", + "exotic", + "expected", + "expensive", + "experienced", + "experimental", + "explicit", + "extended", + "extensive", + "external", + "extra", + "extraordinary", + "extreme", + "exuberant", + "faint", + "fair", + "faithful", + "familiar", + "famous", + "fancy", + "fantastic", + "far", + "fascinating", + "fashionable", + "fast", + "fat", + "fatal", + "favourable", + "favourite", + "federal", + "fellow", + "female", + "feminist", + "few", + "fierce", + "filthy", + "final", + "financial", + "fine", + "firm", + "fiscal", + "fit", + "fixed", + "flaky", + "flat", + "flexible", + "fluffy", + "fluttering", + "flying", + "following", + "fond", + "foolish", + "foreign", + "formal", + "formidable", + "forthcoming", + "fortunate", + "forward", + "fragile", + "frail", + "frantic", + "free", + "frequent", + "fresh", + "friendly", + "frightened", + "front", + "frozen", + "full", + "fun", + "functional", + "fundamental", + "funny", + "furious", + "future", + "fuzzy", + "gastric", + "gay", + "general", + "generous", + "genetic", + "gentle", + "genuine", + "geographical", + "giant", + "gigantic", + "given", + "glad", + "glamorous", + "gleaming", + "global", + "glorious", + "golden", + "good", + "gorgeous", + "gothic", + "governing", + "graceful", + "gradual", + "grand", + "grateful", + "greasy", + "great", + "grieving", + "grim", + "gross", + "grotesque", + "growing", + "grubby", + "grumpy", + "guilty", + "handicapped", + "handsome", + "happy", + "hard", + "harsh", + "head", + "healthy", + "heavy", + "helpful", + "helpless", + "hidden", + "high", + "hilarious", + "hissing", + "historic", + "historical", + "hollow", + "holy", + "homeless", + "homely", + "hon", + "honest", + "horizontal", + "horrible", + "hostile", + "hot", + "huge", + "human", + "hungry", + "hurt", + "hushed", + "husky", + "icy", + "ideal", + "identical", + "ideological", + "ill", + "illegal", + "imaginative", + "immediate", + "immense", + "imperial", + "implicit", + "important", + "impossible", + "impressed", + "impressive", + "improved", + "inadequate", + "inappropriate", + "inc", + "inclined", + "increased", + "increasing", + "incredible", + "independent", + "indirect", + "individual", + "industrial", + "inevitable", + "influential", + "informal", + "inherent", + "initial", + "injured", + "inland", + "inner", + "innocent", + "innovative", + "inquisitive", + "instant", + "institutional", + "insufficient", + "intact", + "integral", + "integrated", + "intellectual", + "intelligent", + "intense", + "intensive", + "interested", + "interesting", + "interim", + "interior", + "intermediate", + "internal", + "international", + "intimate", + "invisible", + "involved", + "irrelevant", + "isolated", + "itchy", + "jealous", + "jittery", + "joint", + "jolly", + "joyous", + "judicial", + "juicy", + "junior", + "just", + "keen", + "key", + "kind", + "known", + "labour", + "large", + "late", + "latin", + "lazy", + "leading", + "left", + "legal", + "legislative", + "legitimate", + "lengthy", + "lesser", + "level", + "lexical", + "liable", + "liberal", + "light", + "like", + "likely", + "limited", + "linear", + "linguistic", + "liquid", + "literary", + "little", + "live", + "lively", + "living", + "local", + "logical", + "lonely", + "long", + "loose", + "lost", + "loud", + "lovely", + "low", + "loyal", + "ltd", + "lucky", + "mad", + "magic", + "magnetic", + "magnificent", + "main", + "major", + "male", + "mammoth", + "managerial", + "managing", + "manual", + "many", + "marginal", + "marine", + "marked", + "married", + "marvellous", + "marxist", + "mass", + "massive", + "mathematical", + "mature", + "maximum", + "mean", + "meaningful", + "mechanical", + "medical", + "medieval", + "melodic", + "melted", + "mental", + "mere", + "metropolitan", + "mid", + "middle", + "mighty", + "mild", + "military", + "miniature", + "minimal", + "minimum", + "ministerial", + "minor", + "miserable", + "misleading", + "missing", + "misty", + "mixed", + "moaning", + "mobile", + "moderate", + "modern", + "modest", + "molecular", + "monetary", + "monthly", + "moral", + "motionless", + "muddy", + "multiple", + "mushy", + "musical", + "mute", + "mutual", + "mysterious", + "naked", + "narrow", + "nasty", + "national", + "native", + "natural", + "naughty", + "naval", + "near", + "nearby", + "neat", + "necessary", + "negative", + "neighbouring", + "nervous", + "net", + "neutral", + "new", + "nice", + "noble", + "noisy", + "normal", + "northern", + "nosy", + "notable", + "novel", + "nuclear", + "numerous", + "nursing", + "nutritious", + "nutty", + "obedient", + "objective", + "obliged", + "obnoxious", + "obvious", + "occasional", + "occupational", + "odd", + "official", + "ok", + "okay", + "old", + "olympic", + "only", + "open", + "operational", + "opposite", + "optimistic", + "oral", + "ordinary", + "organic", + "organisational", + "original", + "orthodox", + "other", + "outdoor", + "outer", + "outrageous", + "outside", + "outstanding", + "overall", + "overseas", + "overwhelming", + "painful", + "pale", + "panicky", + "parallel", + "parental", + "parliamentary", + "partial", + "particular", + "passing", + "passive", + "past", + "patient", + "payable", + "peaceful", + "peculiar", + "perfect", + "permanent", + "persistent", + "personal", + "petite", + "philosophical", + "physical", + "plain", + "planned", + "plastic", + "pleasant", + "pleased", + "poised", + "polite", + "political", + "poor", + "popular", + "positive", + "possible", + "potential", + "powerful", + "practical", + "precious", + "precise", + "preferred", + "pregnant", + "preliminary", + "premier", + "prepared", + "present", + "presidential", + "pretty", + "previous", + "prickly", + "primary", + "prime", + "primitive", + "principal", + "printed", + "prior", + "private", + "probable", + "productive", + "professional", + "profitable", + "profound", + "progressive", + "prominent", + "promising", + "proper", + "proposed", + "prospective", + "protective", + "protestant", + "proud", + "provincial", + "psychiatric", + "psychological", + "public", + "puny", + "pure", + "purring", + "puzzled", + "quaint", + "qualified", + "quarrelsome", + "querulous", + "quick", + "quickest", + "quiet", + "quintessential", + "quixotic", + "racial", + "radical", + "rainy", + "random", + "rapid", + "rare", + "raspy", + "rational", + "ratty", + "raw", + "ready", + "real", + "realistic", + "rear", + "reasonable", + "recent", + "reduced", + "redundant", + "regional", + "registered", + "regular", + "regulatory", + "related", + "relative", + "relaxed", + "relevant", + "reliable", + "relieved", + "religious", + "reluctant", + "remaining", + "remarkable", + "remote", + "renewed", + "representative", + "repulsive", + "required", + "resident", + "residential", + "resonant", + "respectable", + "respective", + "responsible", + "resulting", + "retail", + "retired", + "revolutionary", + "rich", + "ridiculous", + "right", + "rigid", + "ripe", + "rising", + "rival", + "roasted", + "robust", + "rolling", + "romantic", + "rotten", + "rough", + "round", + "royal", + "rubber", + "rude", + "ruling", + "running", + "rural", + "sacred", + "sad", + "safe", + "salty", + "satisfactory", + "satisfied", + "scared", + "scary", + "scattered", + "scientific", + "scornful", + "scrawny", + "screeching", + "secondary", + "secret", + "secure", + "select", + "selected", + "selective", + "selfish", + "semantic", + "senior", + "sensible", + "sensitive", + "separate", + "serious", + "severe", + "sexual", + "shaggy", + "shaky", + "shallow", + "shared", + "sharp", + "sheer", + "shiny", + "shivering", + "shocked", + "short", + "shrill", + "shy", + "sick", + "significant", + "silent", + "silky", + "silly", + "similar", + "simple", + "single", + "skilled", + "skinny", + "sleepy", + "slight", + "slim", + "slimy", + "slippery", + "slow", + "small", + "smart", + "smiling", + "smoggy", + "smooth", + "social", + "socialist", + "soft", + "solar", + "sole", + "solid", + "sophisticated", + "sore", + "sorry", + "sound", + "sour", + "southern", + "soviet", + "spare", + "sparkling", + "spatial", + "special", + "specific", + "specified", + "spectacular", + "spicy", + "spiritual", + "splendid", + "spontaneous", + "sporting", + "spotless", + "spotty", + "square", + "squealing", + "stable", + "stale", + "standard", + "static", + "statistical", + "statutory", + "steady", + "steep", + "sticky", + "stiff", + "still", + "stingy", + "stormy", + "straight", + "straightforward", + "strange", + "strategic", + "strict", + "striking", + "striped", + "strong", + "structural", + "stuck", + "stupid", + "subjective", + "subsequent", + "substantial", + "subtle", + "successful", + "successive", + "sudden", + "sufficient", + "suitable", + "sunny", + "super", + "superb", + "superior", + "supporting", + "supposed", + "supreme", + "sure", + "surprised", + "surprising", + "surrounding", + "surviving", + "suspicious", + "sweet", + "swift", + "symbolic", + "sympathetic", + "systematic", + "tall", + "tame", + "tart", + "tasteless", + "tasty", + "technical", + "technological", + "teenage", + "temporary", + "tender", + "tense", + "terrible", + "territorial", + "testy", + "then", + "theoretical", + "thick", + "thin", + "thirsty", + "thorough", + "thoughtful", + "thoughtless", + "thundering", + "tight", + "tiny", + "tired", + "top", + "tory", + "total", + "tough", + "toxic", + "traditional", + "tragic", + "tremendous", + "tricky", + "tropical", + "troubled", + "typical", + "ugliest", + "ugly", + "ultimate", + "unable", + "unacceptable", + "unaware", + "uncertain", + "unchanged", + "uncomfortable", + "unconscious", + "underground", + "underlying", + "unemployed", + "uneven", + "unexpected", + "unfair", + "unfortunate", + "unhappy", + "uniform", + "uninterested", + "unique", + "united", + "universal", + "unknown", + "unlikely", + "unnecessary", + "unpleasant", + "unsightly", + "unusual", + "unwilling", + "upper", + "upset", + "uptight", + "urban", + "urgent", + "used", + "useful", + "useless", + "usual", + "vague", + "valid", + "valuable", + "variable", + "varied", + "various", + "varying", + "vast", + "verbal", + "vertical", + "very", + "vicarious", + "vicious", + "victorious", + "violent", + "visible", + "visiting", + "visual", + "vital", + "vitreous", + "vivacious", + "vivid", + "vocal", + "vocational", + "voiceless", + "voluminous", + "voluntary", + "vulnerable", + "wandering", + "warm", + "wasteful", + "watery", + "weak", + "wealthy", + "weary", + "wee", + "weekly", + "weird", + "welcome", + "well", + "western", + "wet", + "whispering", + "whole", + "wicked", + "wide", + "widespread", + "wild", + "wilful", + "willing", + "willowy", + "wily", + "wise", + "wispy", + "wittering", + "witty", + "wonderful", + "wooden", + "working", + "worldwide", + "worried", + "worrying", + "worthwhile", + "worthy", + "written", + "wrong", + "xenacious", + "xenial", + "xenogeneic", + "xenophobic", + "xeric", + "xerothermic", + "yabbering", + "yammering", + "yappiest", + "yappy", + "yawning", + "yearling", + "yearning", + "yeasty", + "yelling", + "yelping", + "yielding", + "yodelling", + "young", + "youngest", + "youthful", + "ytterbic", + "yucky", + "yummy", + "zany", + "zealous", + "zeroth", + "zestful", + "zesty", + "zippy", + "zonal", + "zoophagous", + "zygomorphic", + "zygotic", + ], + Mg = [ + "aardvark", + "aardwolf", + "albatross", + "alligator", + "alpaca", + "amphibian", + "anaconda", + "angelfish", + "anglerfish", + "ant", + "anteater", + "antelope", + "antlion", + "ape", + "aphid", + "armadillo", + "asp", + "baboon", + "badger", + "bandicoot", + "barnacle", + "barracuda", + "basilisk", + "bass", + "bat", + "bear", + "beaver", + "bedbug", + "bee", + "beetle", + "bird", + "bison", + "blackbird", + "boa", + "boar", + "bobcat", + "bobolink", + "bonobo", + "booby", + "bovid", + "bug", + "butterfly", + "buzzard", + "camel", + "canid", + "canidae", + "capybara", + "cardinal", + "caribou", + "carp", + "cat", + "caterpillar", + "catfish", + "catshark", + "cattle", + "centipede", + "cephalopod", + "chameleon", + "cheetah", + "chickadee", + "chicken", + "chimpanzee", + "chinchilla", + "chipmunk", + "cicada", + "clam", + "clownfish", + "cobra", + "cockroach", + "cod", + "condor", + "constrictor", + "coral", + "cougar", + "cow", + "coyote", + "crab", + "crane", + "crawdad", + "crayfish", + "cricket", + "crocodile", + "crow", + "cuckoo", + "damselfly", + "deer", + "dingo", + "dinosaur", + "dog", + "dolphin", + "donkey", + "dormouse", + "dove", + "dragon", + "dragonfly", + "duck", + "eagle", + "earthworm", + "earwig", + "echidna", + "eel", + "egret", + "elephant", + "elk", + "emu", + "ermine", + "falcon", + "felidae", + "ferret", + "finch", + "firefly", + "fish", + "flamingo", + "flea", + "fly", + "flyingfish", + "fowl", + "fox", + "frog", + "galliform", + "gamefowl", + "gayal", + "gazelle", + "gecko", + "gerbil", + "gibbon", + "giraffe", + "goat", + "goldfish", + "goose", + "gopher", + "gorilla", + "grasshopper", + "grouse", + "guan", + "guanaco", + "guineafowl", + "gull", + "guppy", + "haddock", + "halibut", + "hamster", + "hare", + "harrier", + "hawk", + "hedgehog", + "heron", + "herring", + "hippopotamus", + "hookworm", + "hornet", + "horse", + "hoverfly", + "hummingbird", + "hyena", + "iguana", + "impala", + "jackal", + "jaguar", + "jay", + "jellyfish", + "junglefowl", + "kangaroo", + "kingfisher", + "kite", + "kiwi", + "koala", + "koi", + "krill", + "ladybug", + "lamprey", + "landfowl", + "lark", + "leech", + "lemming", + "lemur", + "leopard", + "leopon", + "limpet", + "lion", + "lizard", + "llama", + "lobster", + "locust", + "loon", + "louse", + "lungfish", + "lynx", + "macaw", + "mackerel", + "magpie", + "mammal", + "manatee", + "mandrill", + "marlin", + "marmoset", + "marmot", + "marsupial", + "marten", + "mastodon", + "meadowlark", + "meerkat", + "mink", + "minnow", + "mite", + "mockingbird", + "mole", + "mollusk", + "mongoose", + "monkey", + "moose", + "mosquito", + "moth", + "mouse", + "mule", + "muskox", + "narwhal", + "newt", + "nightingale", + "ocelot", + "octopus", + "opossum", + "orangutan", + "orca", + "ostrich", + "otter", + "owl", + "ox", + "panda", + "panther", + "parakeet", + "parrot", + "parrotfish", + "partridge", + "peacock", + "peafowl", + "pelican", + "penguin", + "perch", + "pheasant", + "pig", + "pigeon", + "pike", + "pinniped", + "piranha", + "planarian", + "platypus", + "pony", + "porcupine", + "porpoise", + "possum", + "prawn", + "primate", + "ptarmigan", + "puffin", + "puma", + "python", + "quail", + "quelea", + "quokka", + "rabbit", + "raccoon", + "rat", + "rattlesnake", + "raven", + "reindeer", + "reptile", + "rhinoceros", + "roadrunner", + "rodent", + "rook", + "rooster", + "roundworm", + "sailfish", + "salamander", + "salmon", + "sawfish", + "scallop", + "scorpion", + "seahorse", + "shark", + "sheep", + "shrew", + "shrimp", + "silkworm", + "silverfish", + "skink", + "skunk", + "sloth", + "slug", + "smelt", + "snail", + "snake", + "snipe", + "sole", + "sparrow", + "spider", + "spoonbill", + "squid", + "squirrel", + "starfish", + "stingray", + "stoat", + "stork", + "sturgeon", + "swallow", + "swan", + "swift", + "swordfish", + "swordtail", + "tahr", + "takin", + "tapir", + "tarantula", + "tarsier", + "termite", + "tern", + "thrush", + "tick", + "tiger", + "tiglon", + "toad", + "tortoise", + "toucan", + "trout", + "tuna", + "turkey", + "turtle", + "tyrannosaurus", + "unicorn", + "urial", + "vicuna", + "viper", + "vole", + "vulture", + "wallaby", + "walrus", + "warbler", + "wasp", + "weasel", + "whale", + "whippet", + "whitefish", + "wildcat", + "wildebeest", + "wildfowl", + "wolf", + "wolverine", + "wombat", + "woodpecker", + "worm", + "wren", + "xerinae", + "yak", + "zebra", + ], + Dg = [ + "amaranth", + "amber", + "amethyst", + "apricot", + "aqua", + "aquamarine", + "azure", + "beige", + "black", + "blue", + "blush", + "bronze", + "brown", + "chocolate", + "coffee", + "copper", + "coral", + "crimson", + "cyan", + "emerald", + "fuchsia", + "gold", + "gray", + "green", + "harlequin", + "indigo", + "ivory", + "jade", + "lavender", + "lime", + "magenta", + "maroon", + "moccasin", + "olive", + "orange", + "peach", + "pink", + "plum", + "purple", + "red", + "rose", + "salmon", + "sapphire", + "scarlet", + "silver", + "tan", + "teal", + "tomato", + "turquoise", + "violet", + "white", + "yellow", + ]; +function Ea(e, t, r) { + return parseInt(e.substr(t, r), 16); +} +function qg(e) { + return ( + (e |= 0), + e < 0 + ? "00" + : e < 16 + ? "0" + e.toString(16) + : e < 256 + ? e.toString(16) + : "ff" + ); +} +function wu(e, t, r) { + return ( + (r = r < 0 ? r + 6 : r > 6 ? r - 6 : r), + qg( + 255 * + (r < 1 + ? e + (t - e) * r + : r < 3 + ? t + : r < 4 + ? e + (t - e) * (4 - r) + : e) + ) + ); +} +function WS(e) { + if (/^#[0-9a-f]{3,8}$/i.test(e)) { + let t; + const r = e.length; + if (r < 6) { + const a = e[1], + l = e[2], + s = e[3], + u = e[4] || ""; + t = "#" + a + a + l + l + s + s + u + u; + } + return (r == 7 || r > 8) && (t = e), t; + } +} +function YS(e, t, r) { + let a; + if (t == 0) { + const l = qg(r * 255); + a = l + l + l; + } else { + const l = r <= 0.5 ? r * (t + 1) : r + t - r * t, + s = r * 2 - l; + a = wu(s, l, e * 6 + 2) + wu(s, l, e * 6) + wu(s, l, e * 6 - 2); + } + return "#" + a; +} +function Da(e, t, r) { + const a = [0.55, 0.5, 0.5, 0.46, 0.6, 0.55, 0.55], + l = a[(e * 6 + 0.5) | 0]; + return (r = r < 0.5 ? r * l * 2 : l + (r - 0.5) * (1 - l) * 2), YS(e, t, r); +} +const HS = + typeof window != "undefined" + ? window + : typeof self != "undefined" + ? self + : typeof global != "undefined" + ? global + : {}, + bh = { V: "jdenticon_config", n: "config" }; +var GS = {}; +function KS(e, t) { + const r = (typeof e == "object" && e) || GS[bh.n] || HS[bh.V] || {}, + a = r.lightness || {}, + l = r.saturation || {}, + s = "color" in l ? l.color : l, + u = l.grayscale, + d = r.backColor, + f = r.padding; + function g(T, M) { + let _ = a[T]; + return ( + (_ && _.length > 1) || (_ = M), + function (P) { + return (P = _[0] + P * (_[1] - _[0])), P < 0 ? 0 : P > 1 ? 1 : P; + } + ); + } + function v(T) { + const M = r.hues; + let _; + return ( + M && M.length > 0 && (_ = M[0 | (0.999 * T * M.length)]), + typeof _ == "number" ? (((_ / 360) % 1) + 1) % 1 : T + ); + } + return { + W: v, + o: typeof s == "number" ? s : 0.5, + D: typeof u == "number" ? u : 0, + p: g("color", [0.4, 0.8]), + F: g("grayscale", [0.3, 0.9]), + G: WS(d), + X: typeof e == "number" ? e : typeof f == "number" ? f : t, + }; +} +class eo { + constructor(t, r) { + (this.x = t), (this.y = r); + } +} +class xg { + constructor(t, r, a, l) { + (this.q = t), (this.t = r), (this.H = a), (this.Y = l); + } + I(t, r, a, l) { + const s = this.q + this.H, + u = this.t + this.H, + d = this.Y; + return d === 1 + ? new eo(s - r - (l || 0), this.t + t) + : d === 2 + ? new eo(s - t - (a || 0), u - r - (l || 0)) + : d === 3 + ? new eo(this.q + r, u - t - (a || 0)) + : new eo(this.q + t, this.t + r); + } +} +const QS = new xg(0, 0, 0, 0); +class jS { + constructor(t) { + (this.J = t), (this.u = QS); + } + g(t, r) { + const a = r ? -2 : 2, + l = []; + for (let s = r ? t.length - 2 : 0; s < t.length && s >= 0; s += a) + l.push(this.u.I(t[s], t[s + 1])); + this.J.g(l); + } + h(t, r, a, l) { + const s = this.u.I(t, r, a, a); + this.J.h(s, a, l); + } + i(t, r, a, l, s) { + this.g([t, r, t + a, r, t + a, r + l, t, r + l], s); + } + j(t, r, a, l, s, u) { + const d = [t + a, r, t + a, r + l, t, r + l, t, r]; + d.splice(((s || 0) % 4) * 2, 2), this.g(d, u); + } + K(t, r, a, l, s) { + this.g([t + a / 2, r, t + a, r + l / 2, t + a / 2, r + l, t, r + l / 2], s); + } +} +function ZS(e, t, r, a) { + e = e % 14; + let l, s, u, d, f, g; + e + ? e == 1 + ? ((u = 0 | (r * 0.5)), (d = 0 | (r * 0.8)), t.j(r - u, 0, u, d, 2)) + : e == 2 + ? ((u = 0 | (r / 3)), t.i(u, u, r - u, r - u)) + : e == 3 + ? ((f = r * 0.1), + (g = r < 6 ? 1 : r < 8 ? 2 : 0 | (r * 0.25)), + (f = f > 1 ? 0 | f : f > 0.5 ? 1 : f), + t.i(g, g, r - f - g, r - f - g)) + : e == 4 + ? ((s = 0 | (r * 0.15)), + (u = 0 | (r * 0.5)), + t.h(r - u - s, r - u - s, u)) + : e == 5 + ? ((f = r * 0.1), + (g = f * 4), + g > 3 && (g = 0 | g), + t.i(0, 0, r, r), + t.g([g, g, r - f, g, g + (r - g - f) / 2, r - f], !0)) + : e == 6 + ? t.g([0, 0, r, 0, r, r * 0.7, r * 0.4, r * 0.4, r * 0.7, r, 0, r]) + : e == 7 + ? t.j(r / 2, r / 2, r / 2, r / 2, 3) + : e == 8 + ? (t.i(0, 0, r, r / 2), + t.i(0, r / 2, r / 2, r / 2), + t.j(r / 2, r / 2, r / 2, r / 2, 1)) + : e == 9 + ? ((f = r * 0.14), + (g = r < 4 ? 1 : r < 6 ? 2 : 0 | (r * 0.35)), + (f = r < 8 ? f : 0 | f), + t.i(0, 0, r, r), + t.i(g, g, r - g - f, r - g - f, !0)) + : e == 10 + ? ((f = r * 0.12), (g = f * 3), t.i(0, 0, r, r), t.h(g, g, r - f - g, !0)) + : e == 11 + ? t.j(r / 2, r / 2, r / 2, r / 2, 3) + : e == 12 + ? ((s = r * 0.25), t.i(0, 0, r, r), t.K(s, s, r - s, r - s, !0)) + : !a && ((s = r * 0.4), (u = r * 1.2), t.h(s, s, u)) + : ((l = r * 0.42), t.g([0, 0, r, 0, r, r - l * 2, r - l, r, 0, r])); +} +function wh(e, t, r) { + e = e % 4; + let a; + e + ? e == 1 + ? t.j(0, r / 2, r, r / 2, 0) + : e == 2 + ? t.K(0, 0, r, r) + : ((a = r / 6), t.h(a, a, r - 2 * a)) + : t.j(0, 0, r, r, 0); +} +function JS(e, t) { + return ( + (e = t.W(e)), + [ + Da(e, t.D, t.F(0)), + Da(e, t.o, t.p(0.5)), + Da(e, t.D, t.F(1)), + Da(e, t.o, t.p(1)), + Da(e, t.o, t.p(0)), + ] + ); +} +function XS(e, t, r) { + const a = KS(r, 0.08); + a.G && e.m(a.G); + let l = e.k; + const s = (0.5 + l * a.X) | 0; + l -= s * 2; + const u = new jS(e), + d = 0 | (l / 4), + f = 0 | (s + l / 2 - d * 2), + g = 0 | (s + l / 2 - d * 2); + function v(L, F, W, D, A) { + const N = Ea(t, W, 1); + let J = D ? Ea(t, D, 1) : 0; + e.L(M[_[L]]); + for (let z = 0; z < A.length; z++) + (u.u = new xg(f + A[z][0] * d, g + A[z][1] * d, d, J++ % 4)), + F(N, u, d, z); + e.M(); + } + const T = Ea(t, -7) / 268435455, + M = JS(T, a), + _ = []; + let P; + function $(L) { + if (L.indexOf(P) >= 0) { + for (let F = 0; F < L.length; F++) if (_.indexOf(L[F]) >= 0) return !0; + } + } + for (let L = 0; L < 3; L++) + (P = Ea(t, 8 + L, 1) % M.length), + ($([0, 4]) || $([2, 3])) && (P = 1), + _.push(P); + v(0, wh, 2, 3, [ + [1, 0], + [2, 0], + [2, 3], + [1, 3], + [0, 1], + [3, 1], + [3, 2], + [0, 2], + ]), + v(1, wh, 4, 5, [ + [0, 0], + [3, 0], + [3, 3], + [0, 3], + ]), + v(2, ZS, 1, null, [ + [1, 1], + [2, 1], + [2, 2], + [1, 2], + ]), + e.finish(); +} +function ek(e) { + var a = 0, + l = 0, + s = encodeURI(e) + "%80", + u = [], + d, + f = [], + g = 1732584193, + v = 4023233417, + T = ~g, + M = ~v, + _ = 3285377520, + P = [g, v, T, M, _], + $ = 0, + L = ""; + function F(W, D) { + return (W << D) | (W >>> (32 - D)); + } + for (; a < s.length; l++) + u[l >> 2] = + u[l >> 2] | + ((s[a] == "%" + ? parseInt(s.substring(a + 1, (a += 3)), 16) + : s.charCodeAt(a++)) << + ((3 - (l & 3)) * 8)); + for (d = (((l + 7) >> 6) + 1) * 16, u[d - 1] = l * 8 - 8; $ < d; $ += 16) { + for (a = 0; a < 80; a++) + (l = + F(g, 5) + + _ + + (a < 20 + ? ((v & T) ^ (~v & M)) + 1518500249 + : a < 40 + ? (v ^ T ^ M) + 1859775393 + : a < 60 + ? ((v & T) ^ (v & M) ^ (T & M)) + 2400959708 + : (v ^ T ^ M) + 3395469782) + + (f[a] = + a < 16 + ? u[$ + a] | 0 + : F(f[a - 3] ^ f[a - 8] ^ f[a - 14] ^ f[a - 16], 1))), + (_ = M), + (M = T), + (T = F(v, 30)), + (v = g), + (g = l); + (P[0] = g = (P[0] + g) | 0), + (P[1] = v = (P[1] + v) | 0), + (P[2] = T = (P[2] + T) | 0), + (P[3] = M = (P[3] + M) | 0), + (P[4] = _ = (P[4] + _) | 0); + } + for (a = 0; a < 40; a++) + L += ((P[a >> 3] >>> ((7 - (a & 7)) * 4)) & 15).toString(16); + return L; +} +function tk(e) { + return /^[0-9a-f]{11,}$/i.test(e) && e; +} +function nk(e) { + return ek(e == null ? "" : "" + e); +} +function Ui(e) { + return ((e * 10 + 0.5) | 0) / 10; +} +class rk { + constructor() { + this.v = ""; + } + g(t) { + let r = ""; + for (let a = 0; a < t.length; a++) + r += (a ? "L" : "M") + Ui(t[a].x) + " " + Ui(t[a].y); + this.v += r + "Z"; + } + h(t, r, a) { + const l = a ? 0 : 1, + s = Ui(r / 2), + u = Ui(r), + d = "a" + s + "," + s + " 0 1," + l + " "; + this.v += + "M" + Ui(t.x) + " " + Ui(t.y + r / 2) + d + u + ",0" + d + -u + ",0"; + } +} +class ik { + constructor(t) { + this.A, (this.B = {}), (this.N = t), (this.k = t.k); + } + m(t) { + const r = /^(#......)(..)?/.exec(t), + a = r[2] ? Ea(r[2], 0) / 255 : 1; + this.N.m(r[1], a); + } + L(t) { + this.A = this.B[t] || (this.B[t] = new rk()); + } + M() {} + g(t) { + this.A.g(t); + } + h(t, r, a) { + this.A.h(t, r, a); + } + finish() { + const t = this.B; + for (let r in t) t.hasOwnProperty(r) && this.N.O(r, t[r].v); + } +} +const ak = { P: "http://www.w3.org/2000/svg", R: "width", S: "height" }; +class lk { + constructor(t) { + (this.k = t), + (this.C = + ''); + } + m(t, r) { + r && + (this.C += + ''); + } + O(t, r) { + this.C += ''; + } + toString() { + return this.C + ""; + } +} +function ok(e, t, r) { + const a = new lk(t); + return XS(new ik(a), tk(e) || nk(e), r), a.toString(); +} +typeof document != "undefined" && document.querySelectorAll.bind(document); +const sk = sn({ + name: "UserProfile", + props: ["pubkey", "profiles", "description"], + data: function () { + return {}; + }, + methods: { + merchantProfile(e) { + var t; + return (t = this.profiles) == null + ? void 0 + : t.find((r) => r.pubkey === e); + }, + pubkeyAlias(e) { + return Cg({ + dictionaries: [Tg, Mg, Dg], + length: 2, + separator: " ", + style: "capital", + seed: e, + }); + }, + pubkeyAvatar(e) { + return ok(e, 100); + }, + }, + created: async function () {}, + }), + uk = ["src"], + ck = ["innerHTML"], + dk = { class: "text-caption text-grey ellipsis-2-lines" }; +function fk(e, t, r, a, l, s) { + return ( + R(), + re( + Lt, + null, + [ + y( + Ie, + { avatar: "" }, + { + default: b(() => [ + y(jr, null, { + default: b(() => { + var u; + return [ + (u = e.merchantProfile(e.pubkey)) != null && u.picture + ? (R(), + re( + "img", + { key: 0, src: e.merchantProfile(e.pubkey).picture }, + null, + 8, + uk + )) + : (R(), + re( + "div", + { key: 1, innerHTML: e.pubkeyAvatar(e.pubkey) }, + null, + 8, + ck + )), + ]; + }), + _: 1, + }), + ]), + _: 1, + } + ), + y( + Ie, + { class: "q-mt-sm" }, + { + default: b(() => [ + y(Ge, null, { + default: b(() => { + var u, d; + return [ + S( + "strong", + null, + ge( + ((u = e.merchantProfile(e.pubkey)) == null + ? void 0 + : u.name) || + ((d = e.merchantProfile(e.pubkey)) == null + ? void 0 + : d.display_name) || + e.pubkeyAlias(e.pubkey) + ), + 1 + ), + ]; + }), + _: 1, + }), + y( + Ge, + { class: "gt-sm" }, + { + default: b(() => [ + S("div", dk, [ + S("p", null, ge(e.description || e.pubkey), 1), + ]), + ]), + _: 1, + } + ), + y(Yr, null, { default: b(() => [Te(ge(e.pubkey), 1)]), _: 1 }), + ]), + _: 1, + } + ), + ], + 64 + ) + ); +} +var Ka = Tn(sk, [["render", fk]]); +const hk = sn({ + name: "EssentialLink", + props: ["market", "profiles", "relays-data", "read-notes"], + components: { UserProfile: Ka }, + data: function () { + return { + tab: "marketplace", + merchantPubkey: null, + relayUrl: null, + marketData: { + pubkey: null, + relays: [], + opts: { + identifier: null, + name: null, + about: null, + merchants: [], + ui: { picture: null, banner: null, theme: null, darkMode: !1 }, + }, + }, + themeOptions: [ + "classic", + "bitcoin", + "flamingo", + "cyber", + "freedom", + "mint", + "autumn", + "monochrome", + "salvador", + ], + }; + }, + methods: { + addMerchant: async function () { + if (!isValidKey(this.merchantPubkey, "npub")) { + $q.notify({ message: "Invalid Public Key!", type: "warning" }); + return; + } + const e = isValidKeyHex(this.merchantPubkey) + ? this.merchantPubkey + : NostrTools.nip19.decode(this.merchantPubkey).data; + this.marketData.opts.merchants.push(e), + this.updateMarketData(), + (this.merchantPubkey = null); + }, + removeMerchant: async function (e) { + console.log("### removeMerchant", e), + (this.marketData.opts.merchants = + this.marketData.opts.merchants.filter((t) => t !== e)), + this.updateMarketData(); + }, + addRelay: async function () { + const e = (this.relayUrl || "").trim(); + if (!e.startsWith("wss://") && !e.startsWith("ws://")) { + (this.relayUrl = null), + $q.notify({ + timeout: 5e3, + type: "warning", + message: "Invalid relay URL.", + caption: "Should start with 'wss://'' or 'ws://'", + }); + return; + } + try { + new URL(e), this.marketData.relays.push(e), this.updateMarketData(); + } catch (t) { + $q.notify({ + timeout: 5e3, + type: "warning", + message: "Invalid relay URL.", + caption: `Error: ${t}`, + }); + } + this.relayUrl = null; + }, + removeRelay: async function (e) { + (this.marketData.relays = this.marketData.relays.filter( + (t) => t !== e + )), + this.updateMarketData(); + }, + updateMarketData: function () { + this.$emit("market-update", this.cloneMarketData()); + }, + publishNaddr() { + this.$emit("publish-naddr", this.cloneMarketData()); + }, + deleteMarket() { + this.$emit("delete-market", this.cloneMarketData()); + }, + applyLookAndFeel() { + this.$emit("apply-ui", this.cloneMarketData()); + }, + markNoteAsRead(e) { + this.$emit("note-read", e); + }, + cloneMarketData() { + return JSON.parse(JSON.stringify(this.marketData)); + }, + relayData(e) { + return ( + (this.relaysData || []).find((t) => t.relayUrl === e) || { + connected: !1, + error: null, + } + ); + }, + }, + created: async function () { + var e; + (this.marketData = { + ...this.marketData, + ...JSON.parse(JSON.stringify(this.market || {})), + }), + ((e = this.readNotes) != null && e.merchants) || + (this.tab = "merchants"); + }, + }), + gk = { class: "q-pt-md" }, + mk = { class: "q-gutter-y-md" }, + vk = { class: "q-pa-md" }, + pk = { class: "q-gutter-y-md" }, + yk = S("strong", null, "Note", -1), + _k = S( + "div", + { class: "text-caption" }, + [ + S("ul", null, [ + S("li", null, [ + S( + "span", + { class: "text-subtitle1" }, + " Here one can customize the look and feel of the Market. " + ), + ]), + S("li", null, [ + S("span", { class: "text-subtitle1" }, [ + Te(" When the Market Profile is shared (via "), + S("code", null, "naddr"), + Te(" ) these customisations will be available to the customers. "), + ]), + ]), + ]), + ], + -1 + ), + bk = S("div", { class: "q-mb-md" }, [S("strong", null, "Information")], -1), + wk = S( + "div", + { class: "q-mb-md q-mt-lg" }, + [S("strong", null, "UI Configurations")], + -1 + ), + Sk = S("div", { class: "lt-md q-mt-lg" }, null, -1), + kk = S("strong", null, "Note", -1), + Ck = S( + "div", + { class: "text-caption" }, + [ + S("ul", null, [ + S("li", null, [ + S( + "span", + { class: "text-subtitle1" }, + " Here all the mercants of the marketplace are listed. " + ), + ]), + S("li", null, [ + S( + "span", + { class: "text-subtitle1" }, + " You can easily add a new merchant by entering its public key in the input below. " + ), + ]), + S("li", null, [ + S( + "span", + { class: "text-subtitle1" }, + " When a merchant is added all its products and stalls will be available in the Market page. " + ), + ]), + ]), + ], + -1 + ), + Tk = { key: 0, class: "text-caption text-grey ellipsis-2-lines" }, + Mk = { class: "float-right" }; +function Dk(e, t, r, a, l, s) { + const u = Jr("user-profile"); + return ( + R(), + oe(Jt, null, { + default: b(() => [ + y(Ne, null, { + default: b(() => [ + S("div", gk, [ + S("div", mk, [ + y( + RS, + { + modelValue: e.tab, + "onUpdate:modelValue": t[3] || (t[3] = (d) => (e.tab = d)), + "active-color": "primary", + align: "justify", + }, + { + default: b(() => [ + y(_u, { + name: "marketplace", + label: "Look And Feel", + onUpdate: t[0] || (t[0] = (d) => (e.tab = d.name)), + }), + y(_u, { + name: "merchants", + label: "Merchants", + onUpdate: t[1] || (t[1] = (d) => (e.tab = d.name)), + }), + y(_u, { + name: "relays", + label: "Relays", + onUpdate: t[2] || (t[2] = (d) => (e.tab = d.name)), + }), + ]), + _: 1, + }, + 8, + ["modelValue"] + ), + ]), + ]), + ]), + _: 1, + }), + y(ut), + y(Ne, null, { + default: b(() => [ + S("div", vk, [ + S("div", pk, [ + y( + VS, + { + modelValue: e.tab, + "onUpdate:modelValue": + t[14] || (t[14] = (d) => (e.tab = d)), + }, + { + default: b(() => [ + y( + bu, + { name: "marketplace" }, + { + default: b(() => { + var d; + return [ + (d = e.readNotes) != null && d.marketUi + ? $e("", !0) + : (R(), + oe( + kr, + { + key: 0, + class: "q-mb-lg gt-sm", + bordered: "", + }, + { + default: b(() => [ + y(zt, null, { + default: b(() => [ + y( + Ie, + { avatar: "" }, + { + default: b(() => [ + y(jr, null, { + default: b(() => [ + y(Wt, { + color: "primary", + name: "info", + size: "xl", + }), + ]), + _: 1, + }), + ]), + _: 1, + } + ), + y( + Ie, + { class: "q-mt-sm q-ml-lg" }, + { + default: b(() => [ + y(Ge, null, { + default: b(() => [yk]), + _: 1, + }), + y(Ge, null, { + default: b(() => [_k]), + _: 1, + }), + ]), + _: 1, + } + ), + y( + Ie, + { side: "" }, + { + default: b(() => [ + y(ye, { + onClick: + t[4] || + (t[4] = (f) => + e.markNoteAsRead( + "marketUi" + )), + size: "lg", + outline: "", + color: "primary", + label: "Got it!", + icon: "check_small", + }), + ]), + _: 1, + } + ), + ]), + _: 1, + }), + ]), + _: 1, + } + )), + bk, + y( + It, + { + onChange: e.updateMarketData, + outlined: "", + modelValue: e.marketData.opts.name, + "onUpdate:modelValue": + t[5] || + (t[5] = (f) => + (e.marketData.opts.name = f)), + type: "text", + label: "Market Name", + hint: "Short name for the market", + class: "q-mb-md", + }, + null, + 8, + ["onChange", "modelValue"] + ), + y( + It, + { + onChange: e.updateMarketData, + outlined: "", + modelValue: e.marketData.opts.about, + "onUpdate:modelValue": + t[6] || + (t[6] = (f) => + (e.marketData.opts.about = f)), + type: "textarea", + rows: "3", + label: "Marketplace Description", + hint: "It will be displayed on top of the banner image. Can be a longer text.", + class: "q-mb-lg", + }, + null, + 8, + ["onChange", "modelValue"] + ), + wk, + y( + It, + { + onChange: e.updateMarketData, + outlined: "", + modelValue: e.marketData.opts.ui.picture, + "onUpdate:modelValue": + t[7] || + (t[7] = (f) => + (e.marketData.opts.ui.picture = f)), + type: "text", + label: "Logo", + hint: "It will be displayed next to the search input. Can be png, jpg, ico, gif, svg.", + class: "q-mb-md", + }, + null, + 8, + ["onChange", "modelValue"] + ), + y( + It, + { + onChange: e.updateMarketData, + outlined: "", + modelValue: e.marketData.opts.ui.banner, + "onUpdate:modelValue": + t[8] || + (t[8] = (f) => + (e.marketData.opts.ui.banner = f)), + type: "text", + label: "Banner", + hint: "It represents the visual identity of the market. Can be png, jpg, ico, gif, svg.", + class: "q-mb-md", + }, + null, + 8, + ["onChange", "modelValue"] + ), + y( + Aa, + { + onInput: e.updateMarketData, + "onUpdate:modelValue": [ + e.updateMarketData, + t[9] || + (t[9] = (f) => + (e.marketData.opts.ui.theme = f)), + ], + filled: "", + modelValue: e.marketData.opts.ui.theme, + hint: "The colors of the market will vary based on the theme. It applies to all components (buttons, labels, inputs, etc)", + options: e.themeOptions, + label: "Marketplace Theme", + }, + null, + 8, + [ + "onInput", + "onUpdate:modelValue", + "modelValue", + "options", + ] + ), + Sk, + y( + ro, + { + onInput: e.updateMarketData, + onClick: e.updateMarketData, + modelValue: e.marketData.opts.ui.darkMode, + "onUpdate:modelValue": + t[10] || + (t[10] = (f) => + (e.marketData.opts.ui.darkMode = f)), + label: "Dark Mode", + size: "sm", + class: "q-mt-sm", + }, + null, + 8, + ["onInput", "onClick", "modelValue"] + ), + ]; + }), + _: 1, + } + ), + y( + bu, + { name: "merchants" }, + { + default: b(() => { + var d; + return [ + (d = e.readNotes) != null && d.merchants + ? $e("", !0) + : (R(), + oe( + kr, + { + key: 0, + class: "q-mb-lg gt-sm", + bordered: "", + }, + { + default: b(() => [ + y(zt, null, { + default: b(() => [ + y( + Ie, + { avatar: "" }, + { + default: b(() => [ + y(jr, null, { + default: b(() => [ + y(Wt, { + color: "primary", + name: "info", + size: "xl", + }), + ]), + _: 1, + }), + ]), + _: 1, + } + ), + y( + Ie, + { class: "q-mt-sm q-ml-lg" }, + { + default: b(() => [ + y(Ge, null, { + default: b(() => [kk]), + _: 1, + }), + y(Ge, null, { + default: b(() => [Ck]), + _: 1, + }), + ]), + _: 1, + } + ), + y( + Ie, + { side: "" }, + { + default: b(() => [ + y(ye, { + onClick: + t[11] || + (t[11] = (f) => + e.markNoteAsRead( + "merchants" + )), + size: "lg", + outline: "", + color: "primary", + label: "Got it!", + icon: "check_small", + }), + ]), + _: 1, + } + ), + ]), + _: 1, + }), + ]), + _: 1, + } + )), + S("div", null, [ + y( + It, + { + outlined: "", + modelValue: e.merchantPubkey, + "onUpdate:modelValue": + t[12] || + (t[12] = (f) => (e.merchantPubkey = f)), + onKeydown: qu(e.addMerchant, ["enter"]), + type: "text", + label: "Pubkey/Npub", + hint: "Add merchants", + }, + { + default: b(() => [ + y( + ye, + { + onClick: e.addMerchant, + dense: "", + flat: "", + icon: "add", + }, + null, + 8, + ["onClick"] + ), + ]), + _: 1, + }, + 8, + ["modelValue", "onKeydown"] + ), + y( + kr, + { class: "q-mt-md" }, + { + default: b(() => [ + (R(!0), + re( + Lt, + null, + Yt( + e.marketData.opts.merchants, + (f) => ( + R(), + oe( + zt, + { key: f }, + { + default: b(() => [ + y( + u, + { + pubkey: f, + profiles: e.profiles, + }, + null, + 8, + ["pubkey", "profiles"] + ), + y( + Ie, + { side: "" }, + { + default: b(() => [ + y( + ye, + { + size: "12px", + flat: "", + dense: "", + round: "", + icon: "delete", + onClick: (g) => + e.removeMerchant( + f + ), + }, + null, + 8, + ["onClick"] + ), + ]), + _: 2, + }, + 1024 + ), + ]), + _: 2, + }, + 1024 + ) + ) + ), + 128 + )), + ]), + _: 1, + } + ), + ]), + ]; + }), + _: 1, + } + ), + y( + bu, + { name: "relays" }, + { + default: b(() => [ + S("div", null, [ + S("div", null, [ + y( + It, + { + outlined: "", + modelValue: e.relayUrl, + "onUpdate:modelValue": + t[13] || + (t[13] = (d) => (e.relayUrl = d)), + onKeydown: qu(e.addRelay, ["enter"]), + type: "text", + label: "wss://", + hint: "Add realays", + }, + { + default: b(() => [ + y( + ye, + { + onClick: e.addRelay, + dense: "", + flat: "", + icon: "add", + }, + null, + 8, + ["onClick"] + ), + ]), + _: 1, + }, + 8, + ["modelValue", "onKeydown"] + ), + y( + kr, + { class: "q-mt-md" }, + { + default: b(() => [ + (R(!0), + re( + Lt, + null, + Yt( + e.marketData.relays, + (d) => ( + R(), + oe( + zt, + { key: d }, + { + default: b(() => [ + y( + Ie, + { avatar: "" }, + { + default: b(() => [ + y( + jr, + null, + { + default: b(() => [ + y( + Wt, + { + name: "router", + color: + e.relayData( + d + ).connected + ? "green" + : "pink", + }, + null, + 8, + ["color"] + ), + ]), + _: 2, + }, + 1024 + ), + ]), + _: 2, + }, + 1024 + ), + y( + Ie, + { class: "q-mt-sm" }, + { + default: b(() => [ + y( + Ge, + null, + { + default: b(() => [ + S( + "strong", + null, + ge(d), + 1 + ), + e.relayData(d) + .error + ? (R(), + re( + "div", + Tk, + [ + S( + "p", + null, + "Error: " + + ge( + e.relayData( + d + ) + .error + ), + 1 + ), + ] + )) + : $e("", !0), + ]), + _: 2, + }, + 1024 + ), + ]), + _: 2, + }, + 1024 + ), + y( + Ie, + { side: "" }, + { + default: b(() => [ + y( + ye, + { + size: "12px", + flat: "", + dense: "", + round: "", + icon: "delete", + onClick: (f) => + e.removeRelay(d), + }, + null, + 8, + ["onClick"] + ), + ]), + _: 2, + }, + 1024 + ), + ]), + _: 2, + }, + 1024 + ) + ) + ), + 128 + )), + ]), + _: 1, + } + ), + ]), + ]), + ]), + _: 1, + } + ), + ]), + _: 1, + }, + 8, + ["modelValue"] + ), + ]), + ]), + ]), + _: 1, + }), + y(ut), + y( + Ne, + { class: "q-pb-xl" }, + { + default: b(() => [ + S("div", Mk, [ + y( + ye, + { + onClick: e.deleteMarket, + flat: "", + label: "Delete Market", + icon: "delete", + class: "q-ml-lg", + color: "negative", + }, + null, + 8, + ["onClick"] + ), + y( + ye, + { + onClick: e.applyLookAndFeel, + flat: "", + label: "Apply Look and Feel", + icon: "palette", + class: "q-ml-lg", + color: "secondary", + }, + null, + 8, + ["onClick"] + ), + y( + ye, + { + onClick: e.publishNaddr, + flat: "", + label: "Share Market Profile", + icon: "share", + class: "q-ml-lg", + color: "primary", + }, + null, + 8, + ["onClick"] + ), + ]), + ]), + _: 1, + } + ), + y(Ne, { class: "lt-md" }), + ]), + _: 1, + }) + ); +} +var Pg = Tn(hk, [["render", Dk]]); +const qk = sn({ + name: "UserConfig", + props: ["account"], + data: function () { + return { accountData: null }; + }, + watch: { + account() { + this.accountData = + this.account && JSON.parse(JSON.stringify(this.account)); + }, + }, + methods: { + logout: async function () { + this.$q + .dialog( + confirm( + "Please make sure you save your private key! You will not be able to recover it later!" + ) + ) + .onOk(async () => { + this.$emit("logout"); + }); + }, + copyText(e) { + this.$emit("copy-text", e); + }, + clearAllData() { + this.$emit("clear-all-data"); + }, + }, + created: async function () { + this.accountData = + this.account && JSON.parse(JSON.stringify(this.account)); + }, + }), + xk = { class: "row" }, + Pk = { class: "col-10" }, + Ak = { class: "col-2 auto-width" }, + Ek = { class: "row" }, + Ik = { class: "col-10" }, + $k = { class: "col-2 auto-width" }, + Rk = S("div", null, [S("strong", null, "No Account")], -1), + Ok = { class: "float-right" }; +function Lk(e, t, r, a, l, s) { + return ( + R(), + oe(Jt, null, { + default: b(() => [ + e.accountData + ? (R(), + oe( + Ne, + { key: 0 }, + { + default: b(() => [ + S("div", xk, [ + S("div", Pk, [ + y( + It, + { + modelValue: e.accountData.npub, + "onUpdate:modelValue": + t[1] || (t[1] = (u) => (e.accountData.npub = u)), + readonly: "", + disbled: "", + outlined: "", + hint: e.accountData.pubkey, + type: "text", + label: "Public Key", + class: "q-mb-md", + }, + { + append: b(() => [ + y(ye, { + onClick: + t[0] || + (t[0] = (u) => e.copyText(e.accountData.npub)), + icon: "content_copy", + label: "Npub", + flat: "", + color: "gray float-right q-mt-sm", + }), + ]), + _: 1, + }, + 8, + ["modelValue", "hint"] + ), + ]), + S("div", Ak, [ + y(ye, { + onClick: + t[2] || + (t[2] = (u) => e.copyText(e.accountData.pubkey)), + icon: "content_copy", + label: "Hex", + flat: "", + color: "gray float-right q-mt-sm", + }), + ]), + ]), + S("div", Ek, [ + S("div", Ik, [ + y( + It, + { + modelValue: e.accountData.nsec, + "onUpdate:modelValue": + t[4] || (t[4] = (u) => (e.accountData.nsec = u)), + readonly: "", + disbled: "", + outlined: "", + type: "password", + label: "Private Key", + class: "q-mb-md", + }, + { + append: b(() => [ + y(ye, { + onClick: + t[3] || + (t[3] = (u) => e.copyText(e.accountData.nsec)), + icon: "content_copy", + label: "Nsec", + flat: "", + color: "gray float-right q-mt-sm", + }), + ]), + _: 1, + }, + 8, + ["modelValue"] + ), + ]), + S("div", $k, [ + y(ye, { + onClick: + t[5] || + (t[5] = (u) => e.copyText(e.accountData.privkey)), + icon: "content_copy", + label: "Hex", + flat: "", + color: "gray float-right q-mt-sm", + }), + ]), + ]), + ]), + _: 1, + } + )) + : (R(), oe(Ne, { key: 1 }, { default: b(() => [Rk]), _: 1 })), + y(ut), + y(Ne, null, { + default: b(() => [ + S("div", Ok, [ + y( + ye, + { + onClick: e.clearAllData, + flat: "", + label: "Clear All Data", + icon: "delete", + class: "q-ml-lg", + color: "negative", + }, + null, + 8, + ["onClick"] + ), + e.accountData + ? (R(), + oe( + ye, + { + key: 0, + onClick: e.logout, + flat: "", + label: "Logout", + icon: "logout", + class: "q-ml-lg", + color: "primary", + }, + null, + 8, + ["onClick"] + )) + : (R(), + oe(ye, { + key: 1, + onClick: t[6] || (t[6] = (u) => e.$emit("login")), + flat: "", + label: "Login", + icon: "login", + class: "q-ml-lg", + color: "primary", + })), + ]), + ]), + _: 1, + }), + y(Ne), + ]), + _: 1, + }) + ); +} +var Nk = Tn(qk, [["render", Lk]]), + Bk = Je({ + name: "QChatMessage", + props: { + sent: Boolean, + label: String, + bgColor: String, + textColor: String, + name: String, + avatar: String, + text: Array, + stamp: String, + size: String, + labelHtml: Boolean, + nameHtml: Boolean, + textHtml: Boolean, + stampHtml: Boolean, + }, + setup(e, { slots: t }) { + const r = I(() => (e.sent === !0 ? "sent" : "received")), + a = I( + () => + `q-message-text-content q-message-text-content--${r.value}` + + (e.textColor !== void 0 ? ` text-${e.textColor}` : "") + ), + l = I( + () => + `q-message-text q-message-text--${r.value}` + + (e.bgColor !== void 0 ? ` text-${e.bgColor}` : "") + ), + s = I( + () => + "q-message-container row items-end no-wrap" + + (e.sent === !0 ? " reverse" : "") + ), + u = I(() => (e.size !== void 0 ? `col-${e.size}` : "")), + d = I(() => ({ + msg: e.textHtml === !0 ? "innerHTML" : "textContent", + stamp: e.stampHtml === !0 ? "innerHTML" : "textContent", + name: e.nameHtml === !0 ? "innerHTML" : "textContent", + label: e.labelHtml === !0 ? "innerHTML" : "textContent", + })); + function f(v) { + return t.stamp !== void 0 + ? [v, E("div", { class: "q-message-stamp" }, t.stamp())] + : e.stamp + ? [ + v, + E("div", { class: "q-message-stamp", [d.value.stamp]: e.stamp }), + ] + : [v]; + } + function g(v, T) { + const M = + T === !0 + ? v.length > 1 + ? (_) => _ + : (_) => E("div", [_]) + : (_) => E("div", { [d.value.msg]: _ }); + return v.map((_, P) => + E("div", { key: P, class: l.value }, [ + E("div", { class: a.value }, f(M(_))), + ]) + ); + } + return () => { + const v = []; + t.avatar !== void 0 + ? v.push(t.avatar()) + : e.avatar !== void 0 && + v.push( + E("img", { + class: `q-message-avatar q-message-avatar--${r.value}`, + src: e.avatar, + "aria-hidden": "true", + }) + ); + const T = []; + t.name !== void 0 + ? T.push( + E( + "div", + { class: `q-message-name q-message-name--${r.value}` }, + t.name() + ) + ) + : e.name !== void 0 && + T.push( + E("div", { + class: `q-message-name q-message-name--${r.value}`, + [d.value.name]: e.name, + }) + ), + t.default !== void 0 + ? T.push(g(Ju(t.default()), !0)) + : e.text !== void 0 && T.push(g(e.text)), + v.push(E("div", { class: u.value }, T)); + const M = []; + return ( + t.label !== void 0 + ? M.push(E("div", { class: "q-message-label" }, t.label())) + : e.label !== void 0 && + M.push( + E("div", { class: "q-message-label", [d.value.label]: e.label }) + ), + M.push(E("div", { class: s.value }, v)), + E("div", { class: `q-message q-message-${r.value}` }, M) + ); + }; + }, + }); +const Sh = ["vertical", "horizontal"], + Su = { + vertical: { + offset: "offsetY", + scroll: "scrollTop", + dir: "down", + dist: "y", + }, + horizontal: { + offset: "offsetX", + scroll: "scrollLeft", + dir: "right", + dist: "x", + }, + }, + kh = { prevent: !0, mouse: !0, mouseAllDir: !0 }, + Ch = (e) => (e >= 250 ? 50 : Math.ceil(e / 5)); +var Fk = Je({ + name: "QScrollArea", + props: { + ...ir, + thumbStyle: Object, + verticalThumbStyle: Object, + horizontalThumbStyle: Object, + barStyle: [Array, String, Object], + verticalBarStyle: [Array, String, Object], + horizontalBarStyle: [Array, String, Object], + contentStyle: [Array, String, Object], + contentActiveStyle: [Array, String, Object], + delay: { type: [String, Number], default: 1e3 }, + visible: { type: Boolean, default: null }, + tabindex: [String, Number], + onScroll: Function, + }, + setup(e, { slots: t, emit: r }) { + const a = se(!1), + l = se(!1), + s = se(!1), + u = { vertical: se(0), horizontal: se(0) }, + d = { + vertical: { ref: se(null), position: se(0), size: se(0) }, + horizontal: { ref: se(null), position: se(0), size: se(0) }, + }, + { proxy: f } = Dt(), + g = ar(e, f.$q); + let v = null, + T; + const M = se(null), + _ = I( + () => "q-scrollarea" + (g.value === !0 ? " q-scrollarea--dark" : "") + ); + (d.vertical.percentage = I(() => { + const j = d.vertical.size.value - u.vertical.value; + if (j <= 0) return 0; + const K = Zl(d.vertical.position.value / j, 0, 1); + return Math.round(K * 1e4) / 1e4; + })), + (d.vertical.thumbHidden = I( + () => + ((e.visible === null ? s.value : e.visible) !== !0 && + a.value === !1 && + l.value === !1) || + d.vertical.size.value <= u.vertical.value + 1 + )), + (d.vertical.thumbStart = I( + () => + d.vertical.percentage.value * + (u.vertical.value - d.vertical.thumbSize.value) + )), + (d.vertical.thumbSize = I(() => + Math.round( + Zl( + (u.vertical.value * u.vertical.value) / d.vertical.size.value, + Ch(u.vertical.value), + u.vertical.value + ) + ) + )), + (d.vertical.style = I(() => ({ + ...e.thumbStyle, + ...e.verticalThumbStyle, + top: `${d.vertical.thumbStart.value}px`, + height: `${d.vertical.thumbSize.value}px`, + }))), + (d.vertical.thumbClass = I( + () => + "q-scrollarea__thumb q-scrollarea__thumb--v absolute-right" + + (d.vertical.thumbHidden.value === !0 + ? " q-scrollarea__thumb--invisible" + : "") + )), + (d.vertical.barClass = I( + () => + "q-scrollarea__bar q-scrollarea__bar--v absolute-right" + + (d.vertical.thumbHidden.value === !0 + ? " q-scrollarea__bar--invisible" + : "") + )), + (d.horizontal.percentage = I(() => { + const j = d.horizontal.size.value - u.horizontal.value; + if (j <= 0) return 0; + const K = Zl(Math.abs(d.horizontal.position.value) / j, 0, 1); + return Math.round(K * 1e4) / 1e4; + })), + (d.horizontal.thumbHidden = I( + () => + ((e.visible === null ? s.value : e.visible) !== !0 && + a.value === !1 && + l.value === !1) || + d.horizontal.size.value <= u.horizontal.value + 1 + )), + (d.horizontal.thumbStart = I( + () => + d.horizontal.percentage.value * + (u.horizontal.value - d.horizontal.thumbSize.value) + )), + (d.horizontal.thumbSize = I(() => + Math.round( + Zl( + (u.horizontal.value * u.horizontal.value) / + d.horizontal.size.value, + Ch(u.horizontal.value), + u.horizontal.value + ) + ) + )), + (d.horizontal.style = I(() => ({ + ...e.thumbStyle, + ...e.horizontalThumbStyle, + [f.$q.lang.rtl === !0 + ? "right" + : "left"]: `${d.horizontal.thumbStart.value}px`, + width: `${d.horizontal.thumbSize.value}px`, + }))), + (d.horizontal.thumbClass = I( + () => + "q-scrollarea__thumb q-scrollarea__thumb--h absolute-bottom" + + (d.horizontal.thumbHidden.value === !0 + ? " q-scrollarea__thumb--invisible" + : "") + )), + (d.horizontal.barClass = I( + () => + "q-scrollarea__bar q-scrollarea__bar--h absolute-bottom" + + (d.horizontal.thumbHidden.value === !0 + ? " q-scrollarea__bar--invisible" + : "") + )); + const P = I(() => + d.vertical.thumbHidden.value === !0 && + d.horizontal.thumbHidden.value === !0 + ? e.contentStyle + : e.contentActiveStyle + ), + $ = [ + [ + lh, + (j) => { + z(j, "vertical"); + }, + void 0, + { vertical: !0, ...kh }, + ], + ], + L = [ + [ + lh, + (j) => { + z(j, "horizontal"); + }, + void 0, + { horizontal: !0, ...kh }, + ], + ]; + function F() { + const j = {}; + return ( + Sh.forEach((K) => { + const me = d[K]; + (j[K + "Position"] = me.position.value), + (j[K + "Percentage"] = me.percentage.value), + (j[K + "Size"] = me.size.value), + (j[K + "ContainerSize"] = u[K].value); + }), + j + ); + } + const W = ju(() => { + const j = F(); + (j.ref = f), r("scroll", j); + }, 0); + function D(j, K, me) { + if (Sh.includes(j) === !1) { + console.error( + "[QScrollArea]: wrong first param of setScrollPosition (vertical/horizontal)" + ); + return; + } + (j === "vertical" ? Ra : cu)(M.value, K, me); + } + function A({ height: j, width: K }) { + let me = !1; + u.vertical.value !== j && ((u.vertical.value = j), (me = !0)), + u.horizontal.value !== K && ((u.horizontal.value = K), (me = !0)), + me === !0 && Pe(); + } + function N({ position: j }) { + let K = !1; + d.vertical.position.value !== j.top && + ((d.vertical.position.value = j.top), (K = !0)), + d.horizontal.position.value !== j.left && + ((d.horizontal.position.value = j.left), (K = !0)), + K === !0 && Pe(); + } + function J({ height: j, width: K }) { + d.horizontal.size.value !== K && ((d.horizontal.size.value = K), Pe()), + d.vertical.size.value !== j && ((d.vertical.size.value = j), Pe()); + } + function z(j, K) { + const me = d[K]; + if (j.isFirst === !0) { + if (me.thumbHidden.value === !0) return; + (T = me.position.value), (l.value = !0); + } else if (l.value !== !0) return; + j.isFinal === !0 && (l.value = !1); + const rt = Su[K], + X = u[K].value, + Z = (me.size.value - X) / (X - me.thumbSize.value), + he = j.distance[rt.dist], + fe = T + (j.direction === rt.dir ? 1 : -1) * he * Z; + lt(fe, K); + } + function H(j, K) { + const me = d[K]; + if (me.thumbHidden.value !== !0) { + const rt = j[Su[K].offset]; + if ( + rt < me.thumbStart.value || + rt > me.thumbStart.value + me.thumbSize.value + ) { + const X = rt - me.thumbSize.value / 2; + lt((X / u[K].value) * me.size.value, K); + } + me.ref.value !== null && + me.ref.value.dispatchEvent(new MouseEvent(j.type, j)); + } + } + function pe(j) { + H(j, "vertical"); + } + function _e(j) { + H(j, "horizontal"); + } + function Pe() { + (a.value = !0), + v !== null && clearTimeout(v), + (v = setTimeout(() => { + (v = null), (a.value = !1); + }, e.delay)), + e.onScroll !== void 0 && W(); + } + function lt(j, K) { + M.value[Su[K].scroll] = j; + } + function te() { + s.value = !0; + } + function xe() { + s.value = !1; + } + let Be = null; + return ( + ze( + () => f.$q.lang.rtl, + (j) => { + M.value !== null && + cu( + M.value, + Math.abs(d.horizontal.position.value) * (j === !0 ? -1 : 1) + ); + } + ), + ia(() => { + Be = { + top: d.vertical.position.value, + left: d.horizontal.position.value, + }; + }), + aa(() => { + if (Be === null) return; + const j = M.value; + j !== null && (cu(j, Be.left), Ra(j, Be.top)); + }), + Ht(W.cancel), + Object.assign(f, { + getScrollTarget: () => M.value, + getScroll: F, + getScrollPosition: () => ({ + top: d.vertical.position.value, + left: d.horizontal.position.value, + }), + getScrollPercentage: () => ({ + top: d.vertical.percentage.value, + left: d.horizontal.percentage.value, + }), + setScrollPosition: D, + setScrollPercentage(j, K, me) { + D( + j, + K * + (d[j].size.value - u[j].value) * + (j === "horizontal" && f.$q.lang.rtl === !0 ? -1 : 1), + me + ); + }, + }), + () => + E("div", { class: _.value, onMouseenter: te, onMouseleave: xe }, [ + E( + "div", + { + ref: M, + class: + "q-scrollarea__container scroll relative-position fit hide-scrollbar", + tabindex: e.tabindex !== void 0 ? e.tabindex : void 0, + }, + [ + E( + "div", + { class: "q-scrollarea__content absolute", style: P.value }, + _i(t.default, [E(xu, { debounce: 0, onResize: J })]) + ), + E(ow, { axis: "both", onScroll: N }), + ] + ), + E(xu, { debounce: 0, onResize: A }), + E("div", { + class: d.vertical.barClass.value, + style: [e.barStyle, e.verticalBarStyle], + "aria-hidden": "true", + onMousedown: pe, + }), + E("div", { + class: d.horizontal.barClass.value, + style: [e.barStyle, e.horizontalBarStyle], + "aria-hidden": "true", + onMousedown: _e, + }), + Hn( + E("div", { + ref: d.vertical.ref, + class: d.vertical.thumbClass.value, + style: d.vertical.style.value, + "aria-hidden": "true", + }), + $ + ), + Hn( + E("div", { + ref: d.horizontal.ref, + class: d.horizontal.thumbClass.value, + style: d.horizontal.style.value, + "aria-hidden": "true", + }), + L + ), + ]) + ); + }, + }), + Uk = Je({ + name: "QForm", + props: { + autofocus: Boolean, + noErrorFocus: Boolean, + noResetFocus: Boolean, + greedy: Boolean, + onSubmit: Function, + }, + emits: ["reset", "validationSuccess", "validationError"], + setup(e, { slots: t, emit: r }) { + const a = Dt(), + l = se(null); + let s = 0; + const u = []; + function d(_) { + const P = typeof _ == "boolean" ? _ : e.noErrorFocus !== !0, + $ = ++s, + L = (D, A) => { + r("validation" + (D === !0 ? "Success" : "Error"), A); + }, + F = (D) => { + const A = D.validate(); + return typeof A.then == "function" + ? A.then( + (N) => ({ valid: N, comp: D }), + (N) => ({ valid: !1, comp: D, err: N }) + ) + : Promise.resolve({ valid: A, comp: D }); + }; + return ( + e.greedy === !0 + ? Promise.all(u.map(F)).then((D) => D.filter((A) => A.valid !== !0)) + : u + .reduce( + (D, A) => + D.then(() => + F(A).then((N) => { + if (N.valid === !1) return Promise.reject(N); + }) + ), + Promise.resolve() + ) + .catch((D) => [D]) + ).then((D) => { + if (D === void 0 || D.length === 0) return $ === s && L(!0), !0; + if ($ === s) { + const { comp: A, err: N } = D[0]; + if ((N !== void 0 && console.error(N), L(!1, A), P === !0)) { + const J = D.find( + ({ comp: z }) => typeof z.focus == "function" && Zb(z.$) === !1 + ); + J !== void 0 && J.comp.focus(); + } + } + return !1; + }); + } + function f() { + s++, + u.forEach((_) => { + typeof _.resetValidation == "function" && _.resetValidation(); + }); + } + function g(_) { + _ !== void 0 && Ft(_); + const P = s + 1; + d().then(($) => { + P === s && + $ === !0 && + (e.onSubmit !== void 0 + ? r("submit", _) + : _ !== void 0 && + _.target !== void 0 && + typeof _.target.submit == "function" && + _.target.submit()); + }); + } + function v(_) { + _ !== void 0 && Ft(_), + r("reset"), + Sn(() => { + f(), e.autofocus === !0 && e.noResetFocus !== !0 && T(); + }); + } + function T() { + Nh(() => { + if (l.value === null) return; + const _ = + l.value.querySelector( + "[autofocus][tabindex], [data-autofocus][tabindex]" + ) || + l.value.querySelector( + "[autofocus] [tabindex], [data-autofocus] [tabindex]" + ) || + l.value.querySelector("[autofocus], [data-autofocus]") || + Array.prototype.find.call( + l.value.querySelectorAll("[tabindex]"), + (P) => P.tabIndex > -1 + ); + _ != null && _.focus({ preventScroll: !0 }); + }); + } + zh(Jb, { + bindComponent(_) { + u.push(_); + }, + unbindComponent(_) { + const P = u.indexOf(_); + P > -1 && u.splice(P, 1); + }, + }); + let M = !1; + return ( + ia(() => { + M = !0; + }), + aa(() => { + M === !0 && e.autofocus === !0 && T(); + }), + Xr(() => { + e.autofocus === !0 && T(); + }), + Object.assign(a.proxy, { + validate: d, + resetValidation: f, + submit: g, + reset: v, + focus: T, + getValidationComponents: () => u, + }), + () => + E( + "form", + { class: "q-form", ref: l, onSubmit: g, onReset: v }, + Mt(t.default) + ) + ); + }, + }); //! moment.js //! version : 2.29.4 //! authors : Tim Wood, Iskren Chernev, Moment.js contributors //! license : MIT //! momentjs.com -var Ag;function ae(){return Ag.apply(null,arguments)}function Vk(e){Ag=e}function Kn(e){return e instanceof Array||Object.prototype.toString.call(e)==="[object Array]"}function pi(e){return e!=null&&Object.prototype.toString.call(e)==="[object Object]"}function Xe(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function sc(e){if(Object.getOwnPropertyNames)return Object.getOwnPropertyNames(e).length===0;var t;for(t in e)if(Xe(e,t))return!1;return!0}function mn(e){return e===void 0}function Dr(e){return typeof e=="number"||Object.prototype.toString.call(e)==="[object Number]"}function Qa(e){return e instanceof Date||Object.prototype.toString.call(e)==="[object Date]"}function Eg(e,t){var r=[],a,l=e.length;for(a=0;a>>0,a;for(a=0;a0)for(r=0;r=0;return(s?r?"+":"":"-")+Math.pow(10,Math.max(0,l)).toString().substr(1)+a}var fc=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,to=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Cu={},ji={};function be(e,t,r,a){var l=a;typeof a=="string"&&(l=function(){return this[a]()}),e&&(ji[e]=l),t&&(ji[t[0]]=function(){return rr(l.apply(this,arguments),t[1],t[2])}),r&&(ji[r]=function(){return this.localeData().ordinal(l.apply(this,arguments),e)})}function Gk(e){return e.match(/\[[\s\S]/)?e.replace(/^\[|\]$/g,""):e.replace(/\\/g,"")}function Kk(e){var t=e.match(fc),r,a;for(r=0,a=t.length;r=0&&to.test(e);)e=e.replace(to,a),to.lastIndex=0,r-=1;return e}var Qk={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"};function jk(e){var t=this._longDateFormat[e],r=this._longDateFormat[e.toUpperCase()];return t||!r?t:(this._longDateFormat[e]=r.match(fc).map(function(a){return a==="MMMM"||a==="MM"||a==="DD"||a==="dddd"?a.slice(1):a}).join(""),this._longDateFormat[e])}var Zk="Invalid date";function Jk(){return this._invalidDate}var Xk="%d",eC=/\d{1,2}/;function tC(e){return this._ordinal.replace("%d",e)}var nC={future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function rC(e,t,r,a){var l=this._relativeTime[r];return sr(l)?l(e,t,r,a):l.replace(/%d/i,e)}function iC(e,t){var r=this._relativeTime[e>0?"future":"past"];return sr(r)?r(t):r.replace(/%s/i,t)}var La={};function en(e,t){var r=e.toLowerCase();La[r]=La[r+"s"]=La[t]=e}function Nn(e){return typeof e=="string"?La[e]||La[e.toLowerCase()]:void 0}function hc(e){var t={},r,a;for(a in e)Xe(e,a)&&(r=Nn(a),r&&(t[r]=e[a]));return t}var Og={};function tn(e,t){Og[e]=t}function aC(e){var t=[],r;for(r in e)Xe(e,r)&&t.push({unit:r,priority:Og[r]});return t.sort(function(a,l){return a.priority-l.priority}),t}function Io(e){return e%4===0&&e%100!==0||e%400===0}function On(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function We(e){var t=+e,r=0;return t!==0&&isFinite(t)&&(r=On(t)),r}function la(e,t){return function(r){return r!=null?(Lg(this,e,r),ae.updateOffset(this,t),this):bo(this,e)}}function bo(e,t){return e.isValid()?e._d["get"+(e._isUTC?"UTC":"")+t]():NaN}function Lg(e,t,r){e.isValid()&&!isNaN(r)&&(t==="FullYear"&&Io(e.year())&&e.month()===1&&e.date()===29?(r=We(r),e._d["set"+(e._isUTC?"UTC":"")+t](r,e.month(),Bo(r,e.month()))):e._d["set"+(e._isUTC?"UTC":"")+t](r))}function lC(e){return e=Nn(e),sr(this[e])?this[e]():this}function oC(e,t){if(typeof e=="object"){e=hc(e);var r=aC(e),a,l=r.length;for(a=0;a68?1900:2e3)};var Gg=la("FullYear",!0);function MC(){return Io(this.year())}function DC(e,t,r,a,l,s,u){var d;return e<100&&e>=0?(d=new Date(e+400,t,r,a,l,s,u),isFinite(d.getFullYear())&&d.setFullYear(e)):d=new Date(e,t,r,a,l,s,u),d}function Ua(e){var t,r;return e<100&&e>=0?(r=Array.prototype.slice.call(arguments),r[0]=e+400,t=new Date(Date.UTC.apply(null,r)),isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e)):t=new Date(Date.UTC.apply(null,arguments)),t}function So(e,t,r){var a=7+t-r,l=(7+Ua(e,0,a).getUTCDay()-t)%7;return-l+a-1}function Kg(e,t,r,a,l){var s=(7+r-a)%7,u=So(e,a,l),d=1+7*(t-1)+s+u,f,g;return d<=0?(f=e-1,g=Na(f)+d):d>Na(e)?(f=e+1,g=d-Na(e)):(f=e,g=d),{year:f,dayOfYear:g}}function Va(e,t,r){var a=So(e.year(),t,r),l=Math.floor((e.dayOfYear()-a-1)/7)+1,s,u;return l<1?(u=e.year()-1,s=l+Mr(u,t,r)):l>Mr(e.year(),t,r)?(s=l-Mr(e.year(),t,r),u=e.year()+1):(u=e.year(),s=l),{week:s,year:u}}function Mr(e,t,r){var a=So(e,t,r),l=So(e+1,t,r);return(Na(e)-a+l)/7}be("w",["ww",2],"wo","week");be("W",["WW",2],"Wo","isoWeek");en("week","w");en("isoWeek","W");tn("week",5);tn("isoWeek",5);ce("w",yt);ce("ww",yt,Dn);ce("W",yt);ce("WW",yt,Dn);Ja(["w","ww","W","WW"],function(e,t,r,a){t[a.substr(0,1)]=We(e)});function qC(e){return Va(e,this._week.dow,this._week.doy).week}var xC={dow:0,doy:6};function PC(){return this._week.dow}function AC(){return this._week.doy}function EC(e){var t=this.localeData().week(this);return e==null?t:this.add((e-t)*7,"d")}function IC(e){var t=Va(this,1,4).week;return e==null?t:this.add((e-t)*7,"d")}be("d",0,"do","day");be("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)});be("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)});be("dddd",0,0,function(e){return this.localeData().weekdays(this,e)});be("e",0,0,"weekday");be("E",0,0,"isoWeekday");en("day","d");en("weekday","e");en("isoWeekday","E");tn("day",11);tn("weekday",11);tn("isoWeekday",11);ce("d",yt);ce("e",yt);ce("E",yt);ce("dd",function(e,t){return t.weekdaysMinRegex(e)});ce("ddd",function(e,t){return t.weekdaysShortRegex(e)});ce("dddd",function(e,t){return t.weekdaysRegex(e)});Ja(["dd","ddd","dddd"],function(e,t,r,a){var l=r._locale.weekdaysParse(e,a,r._strict);l!=null?t.d=l:Oe(r).invalidWeekday=e});Ja(["d","e","E"],function(e,t,r,a){t[a]=We(e)});function $C(e,t){return typeof e!="string"?e:isNaN(e)?(e=t.weekdaysParse(e),typeof e=="number"?e:null):parseInt(e,10)}function RC(e,t){return typeof e=="string"?t.weekdaysParse(e)%7||7:isNaN(e)?null:e}function vc(e,t){return e.slice(t,7).concat(e.slice(0,t))}var OC="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Qg="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),LC="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),NC=Za,BC=Za,FC=Za;function UC(e,t){var r=Kn(this._weekdays)?this._weekdays:this._weekdays[e&&e!==!0&&this._weekdays.isFormat.test(t)?"format":"standalone"];return e===!0?vc(r,this._week.dow):e?r[e.day()]:r}function VC(e){return e===!0?vc(this._weekdaysShort,this._week.dow):e?this._weekdaysShort[e.day()]:this._weekdaysShort}function zC(e){return e===!0?vc(this._weekdaysMin,this._week.dow):e?this._weekdaysMin[e.day()]:this._weekdaysMin}function WC(e,t,r){var a,l,s,u=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],a=0;a<7;++a)s=or([2e3,1]).day(a),this._minWeekdaysParse[a]=this.weekdaysMin(s,"").toLocaleLowerCase(),this._shortWeekdaysParse[a]=this.weekdaysShort(s,"").toLocaleLowerCase(),this._weekdaysParse[a]=this.weekdays(s,"").toLocaleLowerCase();return r?t==="dddd"?(l=Et.call(this._weekdaysParse,u),l!==-1?l:null):t==="ddd"?(l=Et.call(this._shortWeekdaysParse,u),l!==-1?l:null):(l=Et.call(this._minWeekdaysParse,u),l!==-1?l:null):t==="dddd"?(l=Et.call(this._weekdaysParse,u),l!==-1||(l=Et.call(this._shortWeekdaysParse,u),l!==-1)?l:(l=Et.call(this._minWeekdaysParse,u),l!==-1?l:null)):t==="ddd"?(l=Et.call(this._shortWeekdaysParse,u),l!==-1||(l=Et.call(this._weekdaysParse,u),l!==-1)?l:(l=Et.call(this._minWeekdaysParse,u),l!==-1?l:null)):(l=Et.call(this._minWeekdaysParse,u),l!==-1||(l=Et.call(this._weekdaysParse,u),l!==-1)?l:(l=Et.call(this._shortWeekdaysParse,u),l!==-1?l:null))}function YC(e,t,r){var a,l,s;if(this._weekdaysParseExact)return WC.call(this,e,t,r);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),a=0;a<7;a++){if(l=or([2e3,1]).day(a),r&&!this._fullWeekdaysParse[a]&&(this._fullWeekdaysParse[a]=new RegExp("^"+this.weekdays(l,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[a]=new RegExp("^"+this.weekdaysShort(l,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[a]=new RegExp("^"+this.weekdaysMin(l,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[a]||(s="^"+this.weekdays(l,"")+"|^"+this.weekdaysShort(l,"")+"|^"+this.weekdaysMin(l,""),this._weekdaysParse[a]=new RegExp(s.replace(".",""),"i")),r&&t==="dddd"&&this._fullWeekdaysParse[a].test(e))return a;if(r&&t==="ddd"&&this._shortWeekdaysParse[a].test(e))return a;if(r&&t==="dd"&&this._minWeekdaysParse[a].test(e))return a;if(!r&&this._weekdaysParse[a].test(e))return a}}function HC(e){if(!this.isValid())return e!=null?this:NaN;var t=this._isUTC?this._d.getUTCDay():this._d.getDay();return e!=null?(e=$C(e,this.localeData()),this.add(e-t,"d")):t}function GC(e){if(!this.isValid())return e!=null?this:NaN;var t=(this.day()+7-this.localeData()._week.dow)%7;return e==null?t:this.add(e-t,"d")}function KC(e){if(!this.isValid())return e!=null?this:NaN;if(e!=null){var t=RC(e,this.localeData());return this.day(this.day()%7?t:t-7)}else return this.day()||7}function QC(e){return this._weekdaysParseExact?(Xe(this,"_weekdaysRegex")||pc.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(Xe(this,"_weekdaysRegex")||(this._weekdaysRegex=NC),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)}function jC(e){return this._weekdaysParseExact?(Xe(this,"_weekdaysRegex")||pc.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(Xe(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=BC),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function ZC(e){return this._weekdaysParseExact?(Xe(this,"_weekdaysRegex")||pc.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(Xe(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=FC),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function pc(){function e(v,T){return T.length-v.length}var t=[],r=[],a=[],l=[],s,u,d,f,g;for(s=0;s<7;s++)u=or([2e3,1]).day(s),d=kn(this.weekdaysMin(u,"")),f=kn(this.weekdaysShort(u,"")),g=kn(this.weekdays(u,"")),t.push(d),r.push(f),a.push(g),l.push(d),l.push(f),l.push(g);t.sort(e),r.sort(e),a.sort(e),l.sort(e),this._weekdaysRegex=new RegExp("^("+l.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+a.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+r.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+t.join("|")+")","i")}function yc(){return this.hours()%12||12}function JC(){return this.hours()||24}be("H",["HH",2],0,"hour");be("h",["hh",2],0,yc);be("k",["kk",2],0,JC);be("hmm",0,0,function(){return""+yc.apply(this)+rr(this.minutes(),2)});be("hmmss",0,0,function(){return""+yc.apply(this)+rr(this.minutes(),2)+rr(this.seconds(),2)});be("Hmm",0,0,function(){return""+this.hours()+rr(this.minutes(),2)});be("Hmmss",0,0,function(){return""+this.hours()+rr(this.minutes(),2)+rr(this.seconds(),2)});function jg(e,t){be(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}jg("a",!0);jg("A",!1);en("hour","h");tn("hour",13);function Zg(e,t){return t._meridiemParse}ce("a",Zg);ce("A",Zg);ce("H",yt);ce("h",yt);ce("k",yt);ce("HH",yt,Dn);ce("hh",yt,Dn);ce("kk",yt,Dn);ce("hmm",Fg);ce("hmmss",Ug);ce("Hmm",Fg);ce("Hmmss",Ug);ct(["H","HH"],Ot);ct(["k","kk"],function(e,t,r){var a=We(e);t[Ot]=a===24?0:a});ct(["a","A"],function(e,t,r){r._isPm=r._locale.isPM(e),r._meridiem=e});ct(["h","hh"],function(e,t,r){t[Ot]=We(e),Oe(r).bigHour=!0});ct("hmm",function(e,t,r){var a=e.length-2;t[Ot]=We(e.substr(0,a)),t[Gn]=We(e.substr(a)),Oe(r).bigHour=!0});ct("hmmss",function(e,t,r){var a=e.length-4,l=e.length-2;t[Ot]=We(e.substr(0,a)),t[Gn]=We(e.substr(a,2)),t[Tr]=We(e.substr(l)),Oe(r).bigHour=!0});ct("Hmm",function(e,t,r){var a=e.length-2;t[Ot]=We(e.substr(0,a)),t[Gn]=We(e.substr(a))});ct("Hmmss",function(e,t,r){var a=e.length-4,l=e.length-2;t[Ot]=We(e.substr(0,a)),t[Gn]=We(e.substr(a,2)),t[Tr]=We(e.substr(l))});function XC(e){return(e+"").toLowerCase().charAt(0)==="p"}var e2=/[ap]\.?m?\.?/i,t2=la("Hours",!0);function n2(e,t,r){return e>11?r?"pm":"PM":r?"am":"AM"}var Jg={calendar:Yk,longDateFormat:Qk,invalidDate:Zk,ordinal:Xk,dayOfMonthOrdinalParse:eC,relativeTime:nC,months:vC,monthsShort:Vg,week:xC,weekdays:OC,weekdaysMin:LC,weekdaysShort:Qg,meridiemParse:e2},bt={},qa={},za;function r2(e,t){var r,a=Math.min(e.length,t.length);for(r=0;r0;){if(l=Fo(s.slice(0,r).join("-")),l)return l;if(a&&a.length>=r&&r2(s,a)>=r-1)break;r--}t++}return za}function a2(e){return e.match("^[^/\\\\]*$")!=null}function Fo(e){var t=null,r;if(bt[e]===void 0&&typeof module!="undefined"&&module&&module.exports&&a2(e))try{t=za._abbr,r=require,r("./locale/"+e),Zr(t)}catch{bt[e]=null}return bt[e]}function Zr(e,t){var r;return e&&(mn(t)?r=qr(e):r=_c(e,t),r?za=r:typeof console!="undefined"&&console.warn&&console.warn("Locale "+e+" not found. Did you forget to load it?")),za._abbr}function _c(e,t){if(t!==null){var r,a=Jg;if(t.abbr=e,bt[e]!=null)$g("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),a=bt[e]._config;else if(t.parentLocale!=null)if(bt[t.parentLocale]!=null)a=bt[t.parentLocale]._config;else if(r=Fo(t.parentLocale),r!=null)a=r._config;else return qa[t.parentLocale]||(qa[t.parentLocale]=[]),qa[t.parentLocale].push({name:e,config:t}),null;return bt[e]=new dc(Lu(a,t)),qa[e]&&qa[e].forEach(function(l){_c(l.name,l.config)}),Zr(e),bt[e]}else return delete bt[e],null}function l2(e,t){if(t!=null){var r,a,l=Jg;bt[e]!=null&&bt[e].parentLocale!=null?bt[e].set(Lu(bt[e]._config,t)):(a=Fo(e),a!=null&&(l=a._config),t=Lu(l,t),a==null&&(t.abbr=e),r=new dc(t),r.parentLocale=bt[e],bt[e]=r),Zr(e)}else bt[e]!=null&&(bt[e].parentLocale!=null?(bt[e]=bt[e].parentLocale,e===Zr()&&Zr(e)):bt[e]!=null&&delete bt[e]);return bt[e]}function qr(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return za;if(!Kn(e)){if(t=Fo(e),t)return t;e=[e]}return i2(e)}function o2(){return Nu(bt)}function bc(e){var t,r=e._a;return r&&Oe(e).overflow===-2&&(t=r[Cr]<0||r[Cr]>11?Cr:r[nr]<1||r[nr]>Bo(r[Xt],r[Cr])?nr:r[Ot]<0||r[Ot]>24||r[Ot]===24&&(r[Gn]!==0||r[Tr]!==0||r[mi]!==0)?Ot:r[Gn]<0||r[Gn]>59?Gn:r[Tr]<0||r[Tr]>59?Tr:r[mi]<0||r[mi]>999?mi:-1,Oe(e)._overflowDayOfYear&&(tnr)&&(t=nr),Oe(e)._overflowWeeks&&t===-1&&(t=hC),Oe(e)._overflowWeekday&&t===-1&&(t=gC),Oe(e).overflow=t),e}var s2=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,u2=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,c2=/Z|[+-]\d\d(?::?\d\d)?/,no=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/],["YYYYMM",/\d{6}/,!1],["YYYY",/\d{4}/,!1]],Tu=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],d2=/^\/?Date\((-?\d+)/i,f2=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,h2={UT:0,GMT:0,EDT:-4*60,EST:-5*60,CDT:-5*60,CST:-6*60,MDT:-6*60,MST:-7*60,PDT:-7*60,PST:-8*60};function Xg(e){var t,r,a=e._i,l=s2.exec(a)||u2.exec(a),s,u,d,f,g=no.length,v=Tu.length;if(l){for(Oe(e).iso=!0,t=0,r=g;tNa(u)||e._dayOfYear===0)&&(Oe(e)._overflowDayOfYear=!0),r=Ua(u,0,e._dayOfYear),e._a[Cr]=r.getUTCMonth(),e._a[nr]=r.getUTCDate()),t=0;t<3&&e._a[t]==null;++t)e._a[t]=a[t]=l[t];for(;t<7;t++)e._a[t]=a[t]=e._a[t]==null?t===2?1:0:e._a[t];e._a[Ot]===24&&e._a[Gn]===0&&e._a[Tr]===0&&e._a[mi]===0&&(e._nextDay=!0,e._a[Ot]=0),e._d=(e._useUTC?Ua:DC).apply(null,a),s=e._useUTC?e._d.getUTCDay():e._d.getDay(),e._tzm!=null&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[Ot]=24),e._w&&typeof e._w.d!="undefined"&&e._w.d!==s&&(Oe(e).weekdayMismatch=!0)}}function w2(e){var t,r,a,l,s,u,d,f,g;t=e._w,t.GG!=null||t.W!=null||t.E!=null?(s=1,u=4,r=Yi(t.GG,e._a[Xt],Va(pt(),1,4).year),a=Yi(t.W,1),l=Yi(t.E,1),(l<1||l>7)&&(f=!0)):(s=e._locale._week.dow,u=e._locale._week.doy,g=Va(pt(),s,u),r=Yi(t.gg,e._a[Xt],g.year),a=Yi(t.w,g.week),t.d!=null?(l=t.d,(l<0||l>6)&&(f=!0)):t.e!=null?(l=t.e+s,(t.e<0||t.e>6)&&(f=!0)):l=s),a<1||a>Mr(r,s,u)?Oe(e)._overflowWeeks=!0:f!=null?Oe(e)._overflowWeekday=!0:(d=Kg(r,a,l,s,u),e._a[Xt]=d.year,e._dayOfYear=d.dayOfYear)}ae.ISO_8601=function(){};ae.RFC_2822=function(){};function Sc(e){if(e._f===ae.ISO_8601){Xg(e);return}if(e._f===ae.RFC_2822){em(e);return}e._a=[],Oe(e).empty=!0;var t=""+e._i,r,a,l,s,u,d=t.length,f=0,g,v;for(l=Rg(e._f,e._locale).match(fc)||[],v=l.length,r=0;r0&&Oe(e).unusedInput.push(u),t=t.slice(t.indexOf(a)+a.length),f+=a.length),ji[s]?(a?Oe(e).empty=!1:Oe(e).unusedTokens.push(s),fC(s,a,e)):e._strict&&!a&&Oe(e).unusedTokens.push(s);Oe(e).charsLeftOver=d-f,t.length>0&&Oe(e).unusedInput.push(t),e._a[Ot]<=12&&Oe(e).bigHour===!0&&e._a[Ot]>0&&(Oe(e).bigHour=void 0),Oe(e).parsedDateParts=e._a.slice(0),Oe(e).meridiem=e._meridiem,e._a[Ot]=S2(e._locale,e._a[Ot],e._meridiem),g=Oe(e).era,g!==null&&(e._a[Xt]=e._locale.erasConvertYear(g,e._a[Xt])),wc(e),bc(e)}function S2(e,t,r){var a;return r==null?t:e.meridiemHour!=null?e.meridiemHour(t,r):(e.isPM!=null&&(a=e.isPM(r),a&&t<12&&(t+=12),!a&&t===12&&(t=0)),t)}function k2(e){var t,r,a,l,s,u,d=!1,f=e._f.length;if(f===0){Oe(e).invalidFormat=!0,e._d=new Date(NaN);return}for(l=0;lthis?this:e:Eo()});function rm(e,t){var r,a;if(t.length===1&&Kn(t[0])&&(t=t[0]),!t.length)return pt();for(r=t[0],a=1;athis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function W2(){if(!mn(this._isDSTShifted))return this._isDSTShifted;var e={},t;return cc(e,this),e=tm(e),e._a?(t=e._isUTC?or(e._a):pt(e._a),this._isDSTShifted=this.isValid()&&R2(e._a,t.toArray())>0):this._isDSTShifted=!1,this._isDSTShifted}function Y2(){return this.isValid()?!this._isUTC:!1}function H2(){return this.isValid()?this._isUTC:!1}function am(){return this.isValid()?this._isUTC&&this._offset===0:!1}var G2=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,K2=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function jn(e,t){var r=e,a=null,l,s,u;return ao(e)?r={ms:e._milliseconds,d:e._days,M:e._months}:Dr(e)||!isNaN(+e)?(r={},t?r[t]=+e:r.milliseconds=+e):(a=G2.exec(e))?(l=a[1]==="-"?-1:1,r={y:0,d:We(a[nr])*l,h:We(a[Ot])*l,m:We(a[Gn])*l,s:We(a[Tr])*l,ms:We(Fu(a[mi]*1e3))*l}):(a=K2.exec(e))?(l=a[1]==="-"?-1:1,r={y:di(a[2],l),M:di(a[3],l),w:di(a[4],l),d:di(a[5],l),h:di(a[6],l),m:di(a[7],l),s:di(a[8],l)}):r==null?r={}:typeof r=="object"&&("from"in r||"to"in r)&&(u=Q2(pt(r.from),pt(r.to)),r={},r.ms=u.milliseconds,r.M=u.months),s=new Uo(r),ao(e)&&Xe(e,"_locale")&&(s._locale=e._locale),ao(e)&&Xe(e,"_isValid")&&(s._isValid=e._isValid),s}jn.fn=Uo.prototype;jn.invalid=$2;function di(e,t){var r=e&&parseFloat(e.replace(",","."));return(isNaN(r)?0:r)*t}function qh(e,t){var r={};return r.months=t.month()-e.month()+(t.year()-e.year())*12,e.clone().add(r.months,"M").isAfter(t)&&--r.months,r.milliseconds=+t-+e.clone().add(r.months,"M"),r}function Q2(e,t){var r;return e.isValid()&&t.isValid()?(t=Cc(t,e),e.isBefore(t)?r=qh(e,t):(r=qh(t,e),r.milliseconds=-r.milliseconds,r.months=-r.months),r):{milliseconds:0,months:0}}function lm(e,t){return function(r,a){var l,s;return a!==null&&!isNaN(+a)&&($g(t,"moment()."+t+"(period, number) is deprecated. Please use moment()."+t+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),s=r,r=a,a=s),l=jn(r,a),om(this,l,e),this}}function om(e,t,r,a){var l=t._milliseconds,s=Fu(t._days),u=Fu(t._months);!e.isValid()||(a=a==null?!0:a,u&&Wg(e,bo(e,"Month")+u*r),s&&Lg(e,"Date",bo(e,"Date")+s*r),l&&e._d.setTime(e._d.valueOf()+l*r),a&&ae.updateOffset(e,s||u))}var j2=lm(1,"add"),Z2=lm(-1,"subtract");function sm(e){return typeof e=="string"||e instanceof String}function J2(e){return Qn(e)||Qa(e)||sm(e)||Dr(e)||eT(e)||X2(e)||e===null||e===void 0}function X2(e){var t=pi(e)&&!sc(e),r=!1,a=["years","year","y","months","month","M","days","day","d","dates","date","D","hours","hour","h","minutes","minute","m","seconds","second","s","milliseconds","millisecond","ms"],l,s,u=a.length;for(l=0;lr.valueOf():r.valueOf()9999?io(r,t?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):sr(Date.prototype.toISOString)?t?this.toDate().toISOString():new Date(this.valueOf()+this.utcOffset()*60*1e3).toISOString().replace("Z",io(r,"Z")):io(r,t?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")}function gT(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var e="moment",t="",r,a,l,s;return this.isLocal()||(e=this.utcOffset()===0?"moment.utc":"moment.parseZone",t="Z"),r="["+e+'("]',a=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",l="-MM-DD[T]HH:mm:ss.SSS",s=t+'[")]',this.format(r+a+l+s)}function mT(e){e||(e=this.isUtc()?ae.defaultFormatUtc:ae.defaultFormat);var t=io(this,e);return this.localeData().postformat(t)}function vT(e,t){return this.isValid()&&(Qn(e)&&e.isValid()||pt(e).isValid())?jn({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()}function pT(e){return this.from(pt(),e)}function yT(e,t){return this.isValid()&&(Qn(e)&&e.isValid()||pt(e).isValid())?jn({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()}function _T(e){return this.to(pt(),e)}function um(e){var t;return e===void 0?this._locale._abbr:(t=qr(e),t!=null&&(this._locale=t),this)}var cm=Ln("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(e){return e===void 0?this.localeData():this.locale(e)});function dm(){return this._locale}var ko=1e3,Zi=60*ko,Co=60*Zi,fm=(365*400+97)*24*Co;function Ji(e,t){return(e%t+t)%t}function hm(e,t,r){return e<100&&e>=0?new Date(e+400,t,r)-fm:new Date(e,t,r).valueOf()}function gm(e,t,r){return e<100&&e>=0?Date.UTC(e+400,t,r)-fm:Date.UTC(e,t,r)}function bT(e){var t,r;if(e=Nn(e),e===void 0||e==="millisecond"||!this.isValid())return this;switch(r=this._isUTC?gm:hm,e){case"year":t=r(this.year(),0,1);break;case"quarter":t=r(this.year(),this.month()-this.month()%3,1);break;case"month":t=r(this.year(),this.month(),1);break;case"week":t=r(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":t=r(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":t=r(this.year(),this.month(),this.date());break;case"hour":t=this._d.valueOf(),t-=Ji(t+(this._isUTC?0:this.utcOffset()*Zi),Co);break;case"minute":t=this._d.valueOf(),t-=Ji(t,Zi);break;case"second":t=this._d.valueOf(),t-=Ji(t,ko);break}return this._d.setTime(t),ae.updateOffset(this,!0),this}function wT(e){var t,r;if(e=Nn(e),e===void 0||e==="millisecond"||!this.isValid())return this;switch(r=this._isUTC?gm:hm,e){case"year":t=r(this.year()+1,0,1)-1;break;case"quarter":t=r(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":t=r(this.year(),this.month()+1,1)-1;break;case"week":t=r(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":t=r(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":t=r(this.year(),this.month(),this.date()+1)-1;break;case"hour":t=this._d.valueOf(),t+=Co-Ji(t+(this._isUTC?0:this.utcOffset()*Zi),Co)-1;break;case"minute":t=this._d.valueOf(),t+=Zi-Ji(t,Zi)-1;break;case"second":t=this._d.valueOf(),t+=ko-Ji(t,ko)-1;break}return this._d.setTime(t),ae.updateOffset(this,!0),this}function ST(){return this._d.valueOf()-(this._offset||0)*6e4}function kT(){return Math.floor(this.valueOf()/1e3)}function CT(){return new Date(this.valueOf())}function TT(){var e=this;return[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()]}function MT(){var e=this;return{years:e.year(),months:e.month(),date:e.date(),hours:e.hours(),minutes:e.minutes(),seconds:e.seconds(),milliseconds:e.milliseconds()}}function DT(){return this.isValid()?this.toISOString():null}function qT(){return uc(this)}function xT(){return Kr({},Oe(this))}function PT(){return Oe(this).overflow}function AT(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}be("N",0,0,"eraAbbr");be("NN",0,0,"eraAbbr");be("NNN",0,0,"eraAbbr");be("NNNN",0,0,"eraName");be("NNNNN",0,0,"eraNarrow");be("y",["y",1],"yo","eraYear");be("y",["yy",2],0,"eraYear");be("y",["yyy",3],0,"eraYear");be("y",["yyyy",4],0,"eraYear");ce("N",Tc);ce("NN",Tc);ce("NNN",Tc);ce("NNNN",VT);ce("NNNNN",zT);ct(["N","NN","NNN","NNNN","NNNNN"],function(e,t,r,a){var l=r._locale.erasParse(e,a,r._strict);l?Oe(r).era=l:Oe(r).invalidEra=e});ce("y",oa);ce("yy",oa);ce("yyy",oa);ce("yyyy",oa);ce("yo",WT);ct(["y","yy","yyy","yyyy"],Xt);ct(["yo"],function(e,t,r,a){var l;r._locale._eraYearOrdinalRegex&&(l=e.match(r._locale._eraYearOrdinalRegex)),r._locale.eraYearOrdinalParse?t[Xt]=r._locale.eraYearOrdinalParse(e,l):t[Xt]=parseInt(e,10)});function ET(e,t){var r,a,l,s=this._eras||qr("en")._eras;for(r=0,a=s.length;r=0)return s[a]}function $T(e,t){var r=e.since<=e.until?1:-1;return t===void 0?ae(e.since).year():ae(e.since).year()+(t-e.offset)*r}function RT(){var e,t,r,a=this.localeData().eras();for(e=0,t=a.length;es&&(t=s),ZT.call(this,e,t,r,a,l))}function ZT(e,t,r,a,l){var s=Kg(e,t,r,a,l),u=Ua(s.year,0,s.dayOfYear);return this.year(u.getUTCFullYear()),this.month(u.getUTCMonth()),this.date(u.getUTCDate()),this}be("Q",0,"Qo","quarter");en("quarter","Q");tn("quarter",7);ce("Q",Ng);ct("Q",function(e,t){t[Cr]=(We(e)-1)*3});function JT(e){return e==null?Math.ceil((this.month()+1)/3):this.month((e-1)*3+this.month()%3)}be("D",["DD",2],"Do","date");en("date","D");tn("date",9);ce("D",yt);ce("DD",yt,Dn);ce("Do",function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient});ct(["D","DD"],nr);ct("Do",function(e,t){t[nr]=We(e.match(yt)[0])});var vm=la("Date",!0);be("DDD",["DDDD",3],"DDDo","dayOfYear");en("dayOfYear","DDD");tn("dayOfYear",4);ce("DDD",Ro);ce("DDDD",Bg);ct(["DDD","DDDD"],function(e,t,r){r._dayOfYear=We(e)});function XT(e){var t=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return e==null?t:this.add(e-t,"d")}be("m",["mm",2],0,"minute");en("minute","m");tn("minute",14);ce("m",yt);ce("mm",yt,Dn);ct(["m","mm"],Gn);var eM=la("Minutes",!1);be("s",["ss",2],0,"second");en("second","s");tn("second",15);ce("s",yt);ce("ss",yt,Dn);ct(["s","ss"],Tr);var tM=la("Seconds",!1);be("S",0,0,function(){return~~(this.millisecond()/100)});be(0,["SS",2],0,function(){return~~(this.millisecond()/10)});be(0,["SSS",3],0,"millisecond");be(0,["SSSS",4],0,function(){return this.millisecond()*10});be(0,["SSSSS",5],0,function(){return this.millisecond()*100});be(0,["SSSSSS",6],0,function(){return this.millisecond()*1e3});be(0,["SSSSSSS",7],0,function(){return this.millisecond()*1e4});be(0,["SSSSSSSS",8],0,function(){return this.millisecond()*1e5});be(0,["SSSSSSSSS",9],0,function(){return this.millisecond()*1e6});en("millisecond","ms");tn("millisecond",16);ce("S",Ro,Ng);ce("SS",Ro,Dn);ce("SSS",Ro,Bg);var Qr,pm;for(Qr="SSSS";Qr.length<=9;Qr+="S")ce(Qr,oa);function nM(e,t){t[mi]=We(("0."+e)*1e3)}for(Qr="S";Qr.length<=9;Qr+="S")ct(Qr,nM);pm=la("Milliseconds",!1);be("z",0,0,"zoneAbbr");be("zz",0,0,"zoneName");function rM(){return this._isUTC?"UTC":""}function iM(){return this._isUTC?"Coordinated Universal Time":""}var Q=ja.prototype;Q.add=j2;Q.calendar=rT;Q.clone=iT;Q.diff=dT;Q.endOf=wT;Q.format=mT;Q.from=vT;Q.fromNow=pT;Q.to=yT;Q.toNow=_T;Q.get=lC;Q.invalidAt=PT;Q.isAfter=aT;Q.isBefore=lT;Q.isBetween=oT;Q.isSame=sT;Q.isSameOrAfter=uT;Q.isSameOrBefore=cT;Q.isValid=qT;Q.lang=cm;Q.locale=um;Q.localeData=dm;Q.max=q2;Q.min=D2;Q.parsingFlags=xT;Q.set=oC;Q.startOf=bT;Q.subtract=Z2;Q.toArray=TT;Q.toObject=MT;Q.toDate=CT;Q.toISOString=hT;Q.inspect=gT;typeof Symbol!="undefined"&&Symbol.for!=null&&(Q[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"});Q.toJSON=DT;Q.toString=fT;Q.unix=kT;Q.valueOf=ST;Q.creationData=AT;Q.eraName=RT;Q.eraNarrow=OT;Q.eraAbbr=LT;Q.eraYear=NT;Q.year=Gg;Q.isLeapYear=MC;Q.weekYear=YT;Q.isoWeekYear=HT;Q.quarter=Q.quarters=JT;Q.month=Yg;Q.daysInMonth=kC;Q.week=Q.weeks=EC;Q.isoWeek=Q.isoWeeks=IC;Q.weeksInYear=QT;Q.weeksInWeekYear=jT;Q.isoWeeksInYear=GT;Q.isoWeeksInISOWeekYear=KT;Q.date=vm;Q.day=Q.days=HC;Q.weekday=GC;Q.isoWeekday=KC;Q.dayOfYear=XT;Q.hour=Q.hours=t2;Q.minute=Q.minutes=eM;Q.second=Q.seconds=tM;Q.millisecond=Q.milliseconds=pm;Q.utcOffset=L2;Q.utc=B2;Q.local=F2;Q.parseZone=U2;Q.hasAlignedHourOffset=V2;Q.isDST=z2;Q.isLocal=Y2;Q.isUtcOffset=H2;Q.isUtc=am;Q.isUTC=am;Q.zoneAbbr=rM;Q.zoneName=iM;Q.dates=Ln("dates accessor is deprecated. Use date instead.",vm);Q.months=Ln("months accessor is deprecated. Use month instead",Yg);Q.years=Ln("years accessor is deprecated. Use year instead",Gg);Q.zone=Ln("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",N2);Q.isDSTShifted=Ln("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",W2);function aM(e){return pt(e*1e3)}function lM(){return pt.apply(null,arguments).parseZone()}function ym(e){return e}var et=dc.prototype;et.calendar=Hk;et.longDateFormat=jk;et.invalidDate=Jk;et.ordinal=tC;et.preparse=ym;et.postformat=ym;et.relativeTime=rC;et.pastFuture=iC;et.set=Wk;et.eras=ET;et.erasParse=IT;et.erasConvertYear=$T;et.erasAbbrRegex=FT;et.erasNameRegex=BT;et.erasNarrowRegex=UT;et.months=_C;et.monthsShort=bC;et.monthsParse=SC;et.monthsRegex=TC;et.monthsShortRegex=CC;et.week=qC;et.firstDayOfYear=AC;et.firstDayOfWeek=PC;et.weekdays=UC;et.weekdaysMin=zC;et.weekdaysShort=VC;et.weekdaysParse=YC;et.weekdaysRegex=QC;et.weekdaysShortRegex=jC;et.weekdaysMinRegex=ZC;et.isPM=XC;et.meridiem=n2;function To(e,t,r,a){var l=qr(),s=or().set(a,t);return l[r](s,e)}function _m(e,t,r){if(Dr(e)&&(t=e,e=void 0),e=e||"",t!=null)return To(e,t,r,"month");var a,l=[];for(a=0;a<12;a++)l[a]=To(e,a,r,"month");return l}function Dc(e,t,r,a){typeof e=="boolean"?(Dr(t)&&(r=t,t=void 0),t=t||""):(t=e,r=t,e=!1,Dr(t)&&(r=t,t=void 0),t=t||"");var l=qr(),s=e?l._week.dow:0,u,d=[];if(r!=null)return To(t,(r+s)%7,a,"day");for(u=0;u<7;u++)d[u]=To(t,(u+s)%7,a,"day");return d}function oM(e,t){return _m(e,t,"months")}function sM(e,t){return _m(e,t,"monthsShort")}function uM(e,t,r){return Dc(e,t,r,"weekdays")}function cM(e,t,r){return Dc(e,t,r,"weekdaysShort")}function dM(e,t,r){return Dc(e,t,r,"weekdaysMin")}Zr("en",{eras:[{since:"0001-01-01",until:1/0,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10,r=We(e%100/10)===1?"th":t===1?"st":t===2?"nd":t===3?"rd":"th";return e+r}});ae.lang=Ln("moment.lang is deprecated. Use moment.locale instead.",Zr);ae.langData=Ln("moment.langData is deprecated. Use moment.localeData instead.",qr);var br=Math.abs;function fM(){var e=this._data;return this._milliseconds=br(this._milliseconds),this._days=br(this._days),this._months=br(this._months),e.milliseconds=br(e.milliseconds),e.seconds=br(e.seconds),e.minutes=br(e.minutes),e.hours=br(e.hours),e.months=br(e.months),e.years=br(e.years),this}function bm(e,t,r,a){var l=jn(t,r);return e._milliseconds+=a*l._milliseconds,e._days+=a*l._days,e._months+=a*l._months,e._bubble()}function hM(e,t){return bm(this,e,t,1)}function gM(e,t){return bm(this,e,t,-1)}function xh(e){return e<0?Math.floor(e):Math.ceil(e)}function mM(){var e=this._milliseconds,t=this._days,r=this._months,a=this._data,l,s,u,d,f;return e>=0&&t>=0&&r>=0||e<=0&&t<=0&&r<=0||(e+=xh(Vu(r)+t)*864e5,t=0,r=0),a.milliseconds=e%1e3,l=On(e/1e3),a.seconds=l%60,s=On(l/60),a.minutes=s%60,u=On(s/60),a.hours=u%24,t+=On(u/24),f=On(wm(t)),r+=f,t-=xh(Vu(f)),d=On(r/12),r%=12,a.days=t,a.months=r,a.years=d,this}function wm(e){return e*4800/146097}function Vu(e){return e*146097/4800}function vM(e){if(!this.isValid())return NaN;var t,r,a=this._milliseconds;if(e=Nn(e),e==="month"||e==="quarter"||e==="year")switch(t=this._days+a/864e5,r=this._months+wm(t),e){case"month":return r;case"quarter":return r/3;case"year":return r/12}else switch(t=this._days+Math.round(Vu(this._months)),e){case"week":return t/7+a/6048e5;case"day":return t+a/864e5;case"hour":return t*24+a/36e5;case"minute":return t*1440+a/6e4;case"second":return t*86400+a/1e3;case"millisecond":return Math.floor(t*864e5)+a;default:throw new Error("Unknown unit "+e)}}function pM(){return this.isValid()?this._milliseconds+this._days*864e5+this._months%12*2592e6+We(this._months/12)*31536e6:NaN}function xr(e){return function(){return this.as(e)}}var yM=xr("ms"),_M=xr("s"),bM=xr("m"),wM=xr("h"),SM=xr("d"),kM=xr("w"),CM=xr("M"),TM=xr("Q"),MM=xr("y");function DM(){return jn(this)}function qM(e){return e=Nn(e),this.isValid()?this[e+"s"]():NaN}function bi(e){return function(){return this.isValid()?this._data[e]:NaN}}var xM=bi("milliseconds"),PM=bi("seconds"),AM=bi("minutes"),EM=bi("hours"),IM=bi("days"),$M=bi("months"),RM=bi("years");function OM(){return On(this.days()/7)}var wr=Math.round,Gi={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function LM(e,t,r,a,l){return l.relativeTime(t||1,!!r,e,a)}function NM(e,t,r,a){var l=jn(e).abs(),s=wr(l.as("s")),u=wr(l.as("m")),d=wr(l.as("h")),f=wr(l.as("d")),g=wr(l.as("M")),v=wr(l.as("w")),T=wr(l.as("y")),M=s<=r.ss&&["s",s]||s0,M[4]=a,LM.apply(null,M)}function BM(e){return e===void 0?wr:typeof e=="function"?(wr=e,!0):!1}function FM(e,t){return Gi[e]===void 0?!1:t===void 0?Gi[e]:(Gi[e]=t,e==="s"&&(Gi.ss=t-1),!0)}function UM(e,t){if(!this.isValid())return this.localeData().invalidDate();var r=!1,a=Gi,l,s;return typeof e=="object"&&(t=e,e=!1),typeof e=="boolean"&&(r=e),typeof t=="object"&&(a=Object.assign({},Gi,t),t.s!=null&&t.ss==null&&(a.ss=t.s-1)),l=this.localeData(),s=NM(this,!r,a,l),r&&(s=l.pastFuture(+this,s)),l.postformat(s)}var Mu=Math.abs;function Vi(e){return(e>0)-(e<0)||+e}function zo(){if(!this.isValid())return this.localeData().invalidDate();var e=Mu(this._milliseconds)/1e3,t=Mu(this._days),r=Mu(this._months),a,l,s,u,d=this.asSeconds(),f,g,v,T;return d?(a=On(e/60),l=On(a/60),e%=60,a%=60,s=On(r/12),r%=12,u=e?e.toFixed(3).replace(/\.?0+$/,""):"",f=d<0?"-":"",g=Vi(this._months)!==Vi(d)?"-":"",v=Vi(this._days)!==Vi(d)?"-":"",T=Vi(this._milliseconds)!==Vi(d)?"-":"",f+"P"+(s?g+s+"Y":"")+(r?g+r+"M":"")+(t?v+t+"D":"")+(l||a||e?"T":"")+(l?T+l+"H":"")+(a?T+a+"M":"")+(e?T+u+"S":"")):"P0D"}var je=Uo.prototype;je.isValid=I2;je.abs=fM;je.add=hM;je.subtract=gM;je.as=vM;je.asMilliseconds=yM;je.asSeconds=_M;je.asMinutes=bM;je.asHours=wM;je.asDays=SM;je.asWeeks=kM;je.asMonths=CM;je.asQuarters=TM;je.asYears=MM;je.valueOf=pM;je._bubble=mM;je.clone=DM;je.get=qM;je.milliseconds=xM;je.seconds=PM;je.minutes=AM;je.hours=EM;je.days=IM;je.weeks=OM;je.months=$M;je.years=RM;je.humanize=UM;je.toISOString=zo;je.toString=zo;je.toJSON=zo;je.locale=um;je.localeData=dm;je.toIsoString=Ln("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",zo);je.lang=cm;be("X",0,0,"unix");be("x",0,0,"valueOf");ce("x",Lo);ce("X",uC);ct("X",function(e,t,r){r._d=new Date(parseFloat(e)*1e3)});ct("x",function(e,t,r){r._d=new Date(We(e))});//! moment.js -ae.version="2.29.4";Vk(pt);ae.fn=Q;ae.min=x2;ae.max=P2;ae.now=A2;ae.utc=or;ae.unix=aM;ae.months=oM;ae.isDate=Qa;ae.locale=Zr;ae.invalid=Eo;ae.duration=jn;ae.isMoment=Qn;ae.weekdays=uM;ae.parseZone=lM;ae.localeData=qr;ae.isDuration=ao;ae.monthsShort=sM;ae.weekdaysMin=dM;ae.defineLocale=_c;ae.updateLocale=l2;ae.locales=o2;ae.weekdaysShort=cM;ae.normalizeUnits=Nn;ae.relativeTimeRounding=BM;ae.relativeTimeThreshold=FM;ae.calendarFormat=nT;ae.prototype=Q;ae.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"};const VM=sn({name:"UserChat",props:["account-pubkey","peer-pubkeys","profiles","events"],components:{UserProfile:Ka},data:function(){return{selectedPubkey:null,selectedProfile:null,dmEvents:[],newMessage:null,rawMessage:null,showRawMessage:!1}},watch:{events(e){this.dmEvents=((e==null?void 0:e.events)||[]).map(t=>{var l;const r=this.accountPubkey===t.pubkey,a={isJson:!1,message:t.content,sent:r,avatar:r?$q.config.staticPath+"/images/blank-avatar.webp":((l=this.selectedProfile)==null?void 0:l.picture)||$q.config.staticPath+"/images/blank-avatar.webp",dateFrom:ae(t.created_at*1e3).fromNow()};return isNaN(t.content)&&isJson(t.content)&&(a.isJson=!0,a.message=JSON.parse(t.content)),a}),setTimeout(()=>{document.getElementById("bottom-user-chat").scrollIntoView()},0)}},methods:{pubkeySelected(e){this.selectedPubkey=e,this.selectedProfile=this.profiles.find(t=>t.pubkey===e),this.$emit("chat-selected",e),setTimeout(()=>{document.getElementById("bottom-user-chat").scrollIntoView()},100)},async sendDirectMesage(){this.$emit("send-dm",{to:this.selectedPubkey,message:this.newMessage}),this.newMessage=null},pubkeyAlias(e){return Cg({dictionaries:[Tg,Mg,Dg],length:2,separator:" ",style:"capital",seed:e})},showMessageRawData:function(e){var t;this.rawMessage=JSON.stringify((t=this.dmEvents[e])==null?void 0:t.message,null,2),this.showRawMessage=!0}},created:async function(){}}),zM={style:{width:"100%"},class:"q-pa-md row justify-center"},WM={style:{width:"100%"}},YM={key:0},HM={key:0},GM={key:0},KM=S("strong",null,"New order:",-1),QM=[KM],jM={key:1},ZM=S("strong",null,"Reply sent for order: ",-1),JM=[ZM],XM={key:2},eD=["textContent"],tD=["textContent","onClick"],nD={key:1},rD=["textContent"],iD=S("div",{id:"bottom-user-chat"},null,-1),aD={class:"row q-mt-lg"};function lD(e,t,r,a,l,s){const u=Jr("user-profile");return R(),re("div",null,[y(Jt,{bordered:"",class:"q-mb-md"},{default:b(()=>[y(Ne,{horizontal:""},{default:b(()=>[y(Ne,{class:"col-sm-2 col-md-4"},{default:b(()=>[(R(!0),re(Lt,null,Yt(e.peerPubkeys,d=>(R(),oe(zt,{key:d,clickable:"",onClick:f=>e.pubkeySelected(d),active:e.selectedPubkey===d,class:"cursor-pointer"},{default:b(()=>[y(u,{pubkey:d,profiles:e.profiles},null,8,["pubkey","profiles"])]),_:2},1032,["onClick","active"]))),128))]),_:1}),y(ut,{vertical:""}),y(Ne,{style:{width:"100%"}},{default:b(()=>[S("div",zM,[S("div",WM,[y(Fk,{style:{height:"500px"}},{default:b(()=>[e.dmEvents?(R(),re("div",YM,[(R(!0),re(Lt,null,Yt(e.dmEvents,(d,f)=>{var g;return R(),oe(Bk,{key:f,name:d.sent?"me":((g=e.selectedProfile)==null?void 0:g.name)||e.pubkeyAlias(e.selectedPubkey),sent:d.sent,avatar:d.avatar,stamp:d.dateFrom},{default:b(()=>[d.isJson?(R(),re("div",HM,[d.message.type===0?(R(),re("div",GM,QM)):d.message.type===1?(R(),re("div",jM,JM)):d.message.type===2?(R(),re("div",XM,[d.message.paid?(R(),oe(Cn,{key:0,color:"green"},{default:b(()=>[Te("Paid ")]),_:1})):$e("",!0),d.message.shipped?(R(),oe(Cn,{key:1,color:"green"},{default:b(()=>[Te("Shipped ")]),_:1})):$e("",!0)])):$e("",!0),S("div",null,[S("span",{textContent:ge(d.message.message)},null,8,eD),y(Cn,{class:"gt-sm",color:"orange"},{default:b(()=>[S("span",{textContent:ge(d.message.id),onClick:v=>e.showOrderDetails(d.message.id),class:"cursor-pointer"},null,8,tD)]),_:2},1024)]),y(Cn,{onClick:v=>e.showMessageRawData(f),class:"cursor-pointer"},{default:b(()=>[Te("...")]),_:2},1032,["onClick"])])):(R(),re("div",nD,[S("span",{textContent:ge(d.message)},null,8,rD)]))]),_:2},1032,["name","sent","avatar","stamp"])}),128))])):$e("",!0),iD]),_:1})])])]),_:1})]),_:1}),y(ut),y(Ne,{horizontal:""},{default:b(()=>[y(Ne,{class:"col-sm-2 col-md-4"}),y(Ne,{style:{width:"100%"}},{default:b(()=>[y(Uk,{onSubmit:e.sendDirectMesage,class:"auto-width"},{default:b(()=>[y(It,{class:"rounded-pill",style:{width:"100%"},rounded:"",outlined:"",clearable:"",modelValue:e.newMessage,"onUpdate:modelValue":t[0]||(t[0]=d=>e.newMessage=d),modelModifiers:{trim:!0},label:"Write a message"},{append:b(()=>[y(Wt,{name:"send",class:"cursor-pointer",color:"secondary",onClick:e.sendDirectMesage},null,8,["onClick"])]),_:1},8,["modelValue"])]),_:1},8,["onSubmit"])]),_:1})]),_:1})]),_:1}),y(co,{modelValue:e.showRawMessage,"onUpdate:modelValue":t[2]||(t[2]=d=>e.showRawMessage=d),position:"top"},{default:b(()=>[y(Jt,{class:"q-pa-lg q-pt-xl",style:{width:"500px"}},{default:b(()=>[y(It,{filled:"",dense:"",type:"textarea",rows:"20",modelValue:e.rawMessage,"onUpdate:modelValue":t[1]||(t[1]=d=>e.rawMessage=d),modelModifiers:{trim:!0},label:"Raw Data"},null,8,["modelValue"]),S("div",aD,[Hn((R(),oe(ye,{flat:"",color:"grey",class:"q-ml-auto"},{default:b(()=>[Te("Close")]),_:1})),[[Hi]])])]),_:1})]),_:1},8,["modelValue"])])}var oD=Tn(VM,[["render",lD]]);const sD=sn({name:"ShoppingCartList",props:["carts","profiles"],components:{UserProfile:Ka},data:function(){return{}},computed:{},methods:{formatCurrency:function(e,t){return formatCurrency(e,t)},cartTotalFormatted(e){var r;if(!((r=e.products)!=null&&r.length))return"";const t=e.products.reduce((a,l)=>l.price+a,0);return formatCurrency(t,e.products[0].currency)},removeProduct:function(e,t){this.$emit("remove-from-cart",{stallId:e,productId:t})},removeCart:function(e){this.$emit("remove-cart",e)},quantityChanged:function(e){this.$emit("add-to-cart",e)},proceedToCheckout:function(e){this.$emit("checkout-cart",e)}},created(){}}),uD=S("strong",null,"No products in cart!",-1),cD=["src"],dD=["src"],fD={class:"text-caption text-grey ellipsis-2-lines"},hD={class:"q-ma-md"};function gD(e,t,r,a,l,s){var d;const u=Jr("user-profile");return R(),re("div",null,[(d=e.carts)!=null&&d.length?$e("",!0):(R(),oe(Jt,{key:0,bordered:"",class:"q-mb-md"},{default:b(()=>[y(Ne,null,{default:b(()=>[uD]),_:1})]),_:1})),(R(!0),re(Lt,null,Yt(e.carts,f=>(R(),re("div",{key:f.id},[y(Jt,{bordered:"",class:"q-mb-md"},{default:b(()=>[y(zt,null,{default:b(()=>{var g;return[y(u,{pubkey:f.merchant,profiles:e.profiles,description:(g=f.products[0])==null?void 0:g.stallName},null,8,["pubkey","profiles","description"]),y(Ie,{side:""},{default:b(()=>[S("div",null,[y(ye,{onClick:v=>e.removeCart(f.id),flat:"",color:"pink"},{default:b(()=>[Te(" Clear Cart ")]),_:2},1032,["onClick"])])]),_:2},1024)]}),_:2},1024),y(ut),y(Ne,{horizontal:""},{default:b(()=>[y(Ne,{class:"col-12"},{default:b(()=>[y(kr,{class:"q-mt-md"},{default:b(()=>[(R(!0),re(Lt,null,Yt(f.products,g=>(R(),oe(zt,{key:g.id},{default:b(()=>[y(Ie,{avatar:""},{default:b(()=>[y(jr,null,{default:b(()=>[g.images[0]||g.image?(R(),re("img",{key:0,src:g.images[0]||g.image},null,8,cD)):(R(),re("img",{key:1,src:e.$q.config.staticPath+"/images/placeholder.png"},null,8,dD))]),_:2},1024)]),_:2},1024),y(Ie,{class:"q-mt-sm"},{default:b(()=>[y(Ge,null,{default:b(()=>[Te(ge(g.name),1)]),_:2},1024),y(Ge,{class:"gt-sm"},{default:b(()=>[S("div",fD,[S("p",null,ge(g.description),1)])]),_:2},1024)]),_:2},1024),y(Ie,{class:"q-mt-sm gt-sm"},{default:b(()=>[y(Ge,null,{default:b(()=>[S("strong",null,ge(e.formatCurrency(g.price,g.currency)),1)]),_:2},1024),y(Ge)]),_:2},1024),y(Ie,{class:"q-ma-sm"},{default:b(()=>[y(It,{modelValue:g.orderedQuantity,"onUpdate:modelValue":v=>g.orderedQuantity=v,modelModifiers:{number:!0},onChange:v=>e.quantityChanged(g),type:"number",rounded:"",outlined:"",min:"1",max:g.quantity},null,8,["modelValue","onUpdate:modelValue","onChange","max"])]),_:2},1024),y(Ie,null,{default:b(()=>[y(Ge,null,{default:b(()=>[S("strong",null,ge(e.formatCurrency(g.price*g.orderedQuantity,g.currency)),1)]),_:2},1024)]),_:2},1024),y(Ie,{side:""},{default:b(()=>[S("div",null,[y(ye,{flat:"",dense:"",round:"",icon:"delete",onClick:v=>e.removeProduct(g.stall_id,g.id)},null,8,["onClick"])])]),_:2},1024)]),_:2},1024))),128))]),_:2},1024)]),_:2},1024)]),_:2},1024),y(ut),y(yi,{align:"right"},{default:b(()=>[Te(" Total: "),S("strong",hD,ge(e.cartTotalFormatted(f)),1),y(ye,{onClick:g=>e.proceedToCheckout(f),flat:"",color:"primary"},{default:b(()=>[Te(" Proceed to Checkout ")]),_:2},1032,["onClick"])]),_:2},1024)]),_:2},1024)]))),128))])}var mD=Tn(sD,[["render",gD]]);const vD=sn({name:"ShoppingCartCheckout",props:["cart","stall","customer-pubkey","profiles"],components:{UserProfile:Ka},data:function(){return{orderConfirmed:!1,paymentMethod:"ln",shippingZone:null,contactData:{email:null,npub:null,address:null,message:null},paymentOptions:[{label:"Lightning Network",value:"ln"},{label:"BTC Onchain",value:"btc"},{label:"Cashu",value:"cashu"}]}},computed:{cartTotal(){var e;return(e=this.cart.products)!=null&&e.length?this.cart.products.reduce((t,r)=>r.price+t,0):0},cartTotalWithShipping(){return this.shippingZone?this.cartTotal+this.shippingZone.cost:this.cartTotal},shippingZoneLabel(){if(!this.shippingZone)return"Shipping Zone";let e=this.shippingZone.name||this.shippingZone.id||"Shipping Zone";return e=e.substring(0,10),e.length<10?e:e+"..."}},methods:{formatCurrency:function(e,t){return formatCurrency(e,t)},selectShippingZone:function(e){this.shippingZone=e},confirmOrder:function(){if(!this.shippingZone){this.$q.notify({timeout:5e3,type:"warning",message:"Please select a shipping zone!"});return}this.orderConfirmed=!0},async placeOrder(){if(!this.shippingZone){this.$q.notify({timeout:5e3,type:"warning",message:"Please select a shipping zone!"});return}if(!this.customerPubkey){this.$emit("login-required");return}const e={address:this.contactData.address,message:this.contactData.message,contact:{nostr:this.contactData.npub,email:this.contactData.email},items:Array.from(this.cart.products,a=>({product_id:a.id,quantity:a.orderedQuantity})),shipping_id:this.shippingZone.id,type:0},t=Math.floor(Date.now()/1e3);e.id=await hash([this.customerPubkey,t,JSON.stringify(e)].join(":"));const r={...await NostrTools.getBlankEvent(),kind:4,created_at:t,tags:[["p",this.stall.pubkey]],pubkey:this.customerPubkey};this.$emit("place-order",{event:r,order:e,cartId:this.cart.id})},goToShoppingCart:function(){this.$emit("change-page","shopping-cart-list")},merchantProfile(e){var t;return(t=this.profiles)==null?void 0:t.find(r=>r.pubkey===e)}},created(){var e;((e=this.stall.shipping)==null?void 0:e.length)===1&&(this.shippingZone=this.stall.shipping[0])}}),pD={class:"row q-mt-md q-ml-md q-pr-md"},yD=S("div",{class:"col-xs-12 col-sm-12 col-md-2 q-mt-md"},[S("strong",null,"Message:")],-1),_D={class:"col-xs-12 col-sm-12 col-md-10"},bD={class:"row q-mt-md q-ml-md q-pr-md"},wD=S("div",{class:"col-xs-12 col-sm-12 col-md-2 q-mt-md"},[S("strong",null,"Address:")],-1),SD={class:"col-xs-12 col-sm-12 col-md-10"},kD={class:"row q-mt-md q-ml-md q-pr-md"},CD=S("div",{class:"col-xs-12 col-sm-12 col-md-2 q-mt-md"},[S("strong",null,"Email:")],-1),TD={class:"col-xs-12 col-sm-12 col-md-10"},MD={class:"row q-mt-md q-ml-md q-pr-md"},DD=S("div",{class:"col-xs-12 col-sm-12 col-md-2 q-mt-md"},[S("strong",null,"Npub:")],-1),qD={class:"col-xs-12 col-sm-12 col-md-10"},xD={class:"row q-mt-md"},PD=S("div",{class:"col-xs-12 col-sm-12 col-md-4"},[S("strong",null,"Subtotal:")],-1),AD={class:"col-xs-12 col-sm-12 col-md-4"},ED=S("div",{class:"col-xs-12 col-sm-12 col-md-4"},null,-1),ID={class:"row q-mt-md"},$D=S("div",{class:"col-xs-12 col-sm-12 col-md-4"},[S("strong",null,"Shipping:")],-1),RD={class:"col-xs-12 col-sm-12 col-md-4"},OD={key:0},LD={class:"col-xs-12 col-sm-12 col-md-4"},ND=["textContent"],BD=["textContent"],FD={class:"row q-mt-md"},UD=S("div",{class:"col-xs-12 col-sm-12 col-md-4"},[S("strong",null,"Total:")],-1),VD={class:"col-xs-12 col-sm-12 col-md-4"},zD=S("div",{class:"col-xs-12 col-sm-12 col-md-4"},null,-1),WD={key:0,class:"row q-mt-md"},YD={class:"col"},HD=S("strong",null,"Payment Method",-1),GD={key:0},KD={key:1};function QD(e,t,r,a,l,s){const u=Jr("user-profile");return R(),re("div",null,[e.cart&&e.stall?(R(),oe(Jt,{key:0,bordered:"",class:"q-mb-md"},{default:b(()=>[y(zt,null,{default:b(()=>{var d;return[y(u,{pubkey:e.cart.merchant,profiles:e.profiles,description:(d=e.cart.products[0])==null?void 0:d.stallName},null,8,["pubkey","profiles","description"]),y(Ie,{side:""})]}),_:1}),y(ut),e.orderConfirmed?(R(),oe(Ne,{key:0},{default:b(()=>[S("div",pD,[yD,S("div",_D,[y(It,{modelValue:e.contactData.message,"onUpdate:modelValue":t[0]||(t[0]=d=>e.contactData.message=d),modelModifiers:{trim:!0},outlined:"",type:"textarea",rows:"3",label:"Message (optional)",hint:"Message merchant about additional order needs"},null,8,["modelValue"])])]),S("div",bD,[wD,S("div",SD,[y(It,{modelValue:e.contactData.address,"onUpdate:modelValue":t[1]||(t[1]=d=>e.contactData.address=d),modelModifiers:{trim:!0},outlined:"",type:"textarea",rows:"3",label:"Address (optional)",hint:"Must provide for physical shipping"},null,8,["modelValue"])])]),S("div",kD,[CD,S("div",TD,[y(It,{modelValue:e.contactData.email,"onUpdate:modelValue":t[2]||(t[2]=d=>e.contactData.email=d),modelModifiers:{trim:!0},type:"email",outlined:"",label:"Email (optional)",hint:"Merchant may not use email"},null,8,["modelValue"])])]),S("div",MD,[DD,S("div",qD,[y(It,{modelValue:e.contactData.npub,"onUpdate:modelValue":t[3]||(t[3]=d=>e.contactData.npub=d),modelModifiers:{trim:!0},outlined:"",label:"Alternative Npub (optional)",hint:"Use a different Npub to communicate with the merchant"},null,8,["modelValue"])])])]),_:1})):(R(),oe(Ne,{key:1,horizontal:""},{default:b(()=>[y(Ne,{class:"col-7"},{default:b(()=>[S("div",xD,[PD,S("div",AD,[S("strong",null,ge(e.formatCurrency(e.cartTotal,e.stall.currency)),1)]),ED]),S("div",ID,[$D,S("div",RD,[e.shippingZone?(R(),re("strong",OD,ge(e.formatCurrency(e.shippingZone.cost,e.stall.currency)),1)):$e("",!0)]),S("div",LD,[y(rg,{unelevated:"",color:"secondary",rounded:"",label:e.shippingZoneLabel},{default:b(()=>[(R(!0),re(Lt,null,Yt(e.stall.shipping,d=>Hn((R(),oe(zt,{onClick:f=>e.selectShippingZone(d),key:d.id,clickable:""},{default:b(()=>[y(Ie,null,{default:b(()=>[y(Ge,null,{default:b(()=>[S("span",{textContent:ge(d.name)},null,8,ND)]),_:2},1024),y(Ge,{caption:""},{default:b(()=>{var f;return[S("span",{textContent:ge((f=d.countries)==null?void 0:f.join(", "))},null,8,BD)]}),_:2},1024)]),_:2},1024)]),_:2},1032,["onClick"])),[[Hi]])),128))]),_:1},8,["label"])])]),y(ut,{class:"q-mt-sm"}),S("div",FD,[UD,S("div",VD,[S("strong",null,ge(e.formatCurrency(e.cartTotalWithShipping,e.stall.currency)),1)]),zD]),e.shippingZone?(R(),re("div",WD,[S("div",YD,[y(Cn,{color:"secondary"},{default:b(()=>[Te(" Additional per product shipping costs might apply.")]),_:1})])])):$e("",!0)]),_:1}),y(ut,{vertical:""}),y(Ne,null,{default:b(()=>[HD,y(Xb,{modelValue:e.paymentMethod,"onUpdate:modelValue":t[4]||(t[4]=d=>e.paymentMethod=d),options:e.paymentOptions,color:"green",disable:""},null,8,["modelValue","options"])]),_:1})]),_:1})),y(ut),y(yi,{align:"right"},{default:b(()=>[e.orderConfirmed?(R(),re("div",GD,[y(ye,{onClick:t[5]||(t[5]=d=>e.orderConfirmed=!1),flat:"",color:"grey"},{default:b(()=>[Te(" Back ")]),_:1}),y(ye,{onClick:t[6]||(t[6]=d=>e.placeOrder()),flat:"",color:"primary"},{default:b(()=>[Te(" Place Order ")]),_:1})])):(R(),re("div",KD,[y(ye,{onClick:e.goToShoppingCart,flat:"",color:"grey"},{default:b(()=>[Te(" Back ")]),_:1},8,["onClick"]),y(ye,{onClick:e.confirmOrder,flat:"",color:"primary"},{default:b(()=>[Te(" Confirm ")]),_:1},8,["onClick"])]))]),_:1})]),_:1})):$e("",!0)])}var jD=Tn(vD,[["render",QD]]);const{passive:fi}=Xi;var ZD=Je({name:"QInfiniteScroll",props:{offset:{type:Number,default:500},debounce:{type:[String,Number],default:100},scrollTarget:{default:void 0},initialIndex:Number,disable:Boolean,reverse:Boolean},emits:["load"],setup(e,{slots:t,emit:r}){const a=se(!1),l=se(!0),s=se(null),u=se(null);let d=e.initialIndex||0,f,g;const v=I(()=>"q-infinite-scroll__loading"+(a.value===!0?"":" invisible"));function T(){if(e.disable===!0||a.value===!0||l.value===!1)return;const z=jl(f),H=du(f),pe=th(f);e.reverse===!1?Math.round(H+pe+e.offset)>=Math.round(z)&&M():Math.round(H)<=e.offset&&M()}function M(){if(e.disable===!0||a.value===!0||l.value===!1)return;d++,a.value=!0;const z=jl(f);r("load",d,H=>{l.value===!0&&(a.value=!1,Sn(()=>{if(e.reverse===!0){const pe=jl(f),_e=du(f),Pe=pe-z;Ra(f,_e+Pe)}H===!0?$():s.value&&s.value.closest("body")&&g()}))})}function _(){d=0}function P(){l.value===!1&&(l.value=!0,f.addEventListener("scroll",g,fi)),T()}function $(){l.value===!0&&(l.value=!1,a.value=!1,f.removeEventListener("scroll",g,fi),g!==void 0&&g.cancel!==void 0&&g.cancel())}function L(){if(f&&l.value===!0&&f.removeEventListener("scroll",g,fi),f=Mo(s.value,e.scrollTarget),l.value===!0){if(f.addEventListener("scroll",g,fi),e.reverse===!0){const z=jl(f),H=th(f);Ra(f,z-H)}T()}}function F(z){d=z}function W(z){z=parseInt(z,10);const H=g;g=z<=0?T:ju(T,isNaN(z)===!0?100:z),f&&l.value===!0&&(H!==void 0&&f.removeEventListener("scroll",H,fi),f.addEventListener("scroll",g,fi))}function D(z){if(A.value===!0){if(u.value===null){z!==!0&&Sn(()=>{D(!0)});return}const H=`${a.value===!0?"un":""}pauseAnimations`;Array.from(u.value.getElementsByTagName("svg")).forEach(pe=>{pe[H]()})}}const A=I(()=>e.disable!==!0&&l.value===!0);ze([a,A],()=>{D()}),ze(()=>e.disable,z=>{z===!0?$():P()}),ze(()=>e.reverse,()=>{a.value===!1&&l.value===!0&&T()}),ze(()=>e.scrollTarget,L),ze(()=>e.debounce,W);let N=!1;aa(()=>{N!==!1&&f&&Ra(f,N)}),ia(()=>{N=f?du(f):!1}),Ht(()=>{l.value===!0&&f.removeEventListener("scroll",g,fi)}),Xr(()=>{W(e.debounce),L(),a.value===!1&&D()});const J=Dt();return Object.assign(J.proxy,{poll:()=>{g!==void 0&&g()},trigger:M,stop:$,reset:_,resume:P,setIndex:F}),()=>{const z=Rh(t.default,[]);return A.value===!0&&z[e.reverse===!1?"push":"unshift"](E("div",{ref:u,class:v.value},Mt(t.loading))),E("div",{class:"q-infinite-scroll",ref:s},z)}}}),zu={exports:{}};/** +var Ag; +function ae() { + return Ag.apply(null, arguments); +} +function Vk(e) { + Ag = e; +} +function Kn(e) { + return ( + e instanceof Array || Object.prototype.toString.call(e) === "[object Array]" + ); +} +function pi(e) { + return e != null && Object.prototype.toString.call(e) === "[object Object]"; +} +function Xe(e, t) { + return Object.prototype.hasOwnProperty.call(e, t); +} +function sc(e) { + if (Object.getOwnPropertyNames) + return Object.getOwnPropertyNames(e).length === 0; + var t; + for (t in e) if (Xe(e, t)) return !1; + return !0; +} +function mn(e) { + return e === void 0; +} +function Dr(e) { + return ( + typeof e == "number" || + Object.prototype.toString.call(e) === "[object Number]" + ); +} +function Qa(e) { + return ( + e instanceof Date || Object.prototype.toString.call(e) === "[object Date]" + ); +} +function Eg(e, t) { + var r = [], + a, + l = e.length; + for (a = 0; a < l; ++a) r.push(t(e[a], a)); + return r; +} +function Kr(e, t) { + for (var r in t) Xe(t, r) && (e[r] = t[r]); + return ( + Xe(t, "toString") && (e.toString = t.toString), + Xe(t, "valueOf") && (e.valueOf = t.valueOf), + e + ); +} +function or(e, t, r, a) { + return nm(e, t, r, a, !0).utc(); +} +function zk() { + return { + empty: !1, + unusedTokens: [], + unusedInput: [], + overflow: -2, + charsLeftOver: 0, + nullInput: !1, + invalidEra: null, + invalidMonth: null, + invalidFormat: !1, + userInvalidated: !1, + iso: !1, + parsedDateParts: [], + era: null, + meridiem: null, + rfc2822: !1, + weekdayMismatch: !1, + }; +} +function Oe(e) { + return e._pf == null && (e._pf = zk()), e._pf; +} +var Ou; +Array.prototype.some + ? (Ou = Array.prototype.some) + : (Ou = function (e) { + var t = Object(this), + r = t.length >>> 0, + a; + for (a = 0; a < r; a++) if (a in t && e.call(this, t[a], a, t)) return !0; + return !1; + }); +function uc(e) { + if (e._isValid == null) { + var t = Oe(e), + r = Ou.call(t.parsedDateParts, function (l) { + return l != null; + }), + a = + !isNaN(e._d.getTime()) && + t.overflow < 0 && + !t.empty && + !t.invalidEra && + !t.invalidMonth && + !t.invalidWeekday && + !t.weekdayMismatch && + !t.nullInput && + !t.invalidFormat && + !t.userInvalidated && + (!t.meridiem || (t.meridiem && r)); + if ( + (e._strict && + (a = + a && + t.charsLeftOver === 0 && + t.unusedTokens.length === 0 && + t.bigHour === void 0), + Object.isFrozen == null || !Object.isFrozen(e)) + ) + e._isValid = a; + else return a; + } + return e._isValid; +} +function Eo(e) { + var t = or(NaN); + return e != null ? Kr(Oe(t), e) : (Oe(t).userInvalidated = !0), t; +} +var Th = (ae.momentProperties = []), + ku = !1; +function cc(e, t) { + var r, + a, + l, + s = Th.length; + if ( + (mn(t._isAMomentObject) || (e._isAMomentObject = t._isAMomentObject), + mn(t._i) || (e._i = t._i), + mn(t._f) || (e._f = t._f), + mn(t._l) || (e._l = t._l), + mn(t._strict) || (e._strict = t._strict), + mn(t._tzm) || (e._tzm = t._tzm), + mn(t._isUTC) || (e._isUTC = t._isUTC), + mn(t._offset) || (e._offset = t._offset), + mn(t._pf) || (e._pf = Oe(t)), + mn(t._locale) || (e._locale = t._locale), + s > 0) + ) + for (r = 0; r < s; r++) (a = Th[r]), (l = t[a]), mn(l) || (e[a] = l); + return e; +} +function ja(e) { + cc(this, e), + (this._d = new Date(e._d != null ? e._d.getTime() : NaN)), + this.isValid() || (this._d = new Date(NaN)), + ku === !1 && ((ku = !0), ae.updateOffset(this), (ku = !1)); +} +function Qn(e) { + return e instanceof ja || (e != null && e._isAMomentObject != null); +} +function Ig(e) { + ae.suppressDeprecationWarnings === !1 && + typeof console != "undefined" && + console.warn && + console.warn("Deprecation warning: " + e); +} +function Ln(e, t) { + var r = !0; + return Kr(function () { + if ((ae.deprecationHandler != null && ae.deprecationHandler(null, e), r)) { + var a = [], + l, + s, + u, + d = arguments.length; + for (s = 0; s < d; s++) { + if (((l = ""), typeof arguments[s] == "object")) { + l += + ` +[` + + s + + "] "; + for (u in arguments[0]) + Xe(arguments[0], u) && (l += u + ": " + arguments[0][u] + ", "); + l = l.slice(0, -2); + } else l = arguments[s]; + a.push(l); + } + Ig( + e + + ` +Arguments: ` + + Array.prototype.slice.call(a).join("") + + ` +` + + new Error().stack + ), + (r = !1); + } + return t.apply(this, arguments); + }, t); +} +var Mh = {}; +function $g(e, t) { + ae.deprecationHandler != null && ae.deprecationHandler(e, t), + Mh[e] || (Ig(t), (Mh[e] = !0)); +} +ae.suppressDeprecationWarnings = !1; +ae.deprecationHandler = null; +function sr(e) { + return ( + (typeof Function != "undefined" && e instanceof Function) || + Object.prototype.toString.call(e) === "[object Function]" + ); +} +function Wk(e) { + var t, r; + for (r in e) + Xe(e, r) && ((t = e[r]), sr(t) ? (this[r] = t) : (this["_" + r] = t)); + (this._config = e), + (this._dayOfMonthOrdinalParseLenient = new RegExp( + (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) + + "|" + + /\d{1,2}/.source + )); +} +function Lu(e, t) { + var r = Kr({}, e), + a; + for (a in t) + Xe(t, a) && + (pi(e[a]) && pi(t[a]) + ? ((r[a] = {}), Kr(r[a], e[a]), Kr(r[a], t[a])) + : t[a] != null + ? (r[a] = t[a]) + : delete r[a]); + for (a in e) Xe(e, a) && !Xe(t, a) && pi(e[a]) && (r[a] = Kr({}, r[a])); + return r; +} +function dc(e) { + e != null && this.set(e); +} +var Nu; +Object.keys + ? (Nu = Object.keys) + : (Nu = function (e) { + var t, + r = []; + for (t in e) Xe(e, t) && r.push(t); + return r; + }); +var Yk = { + sameDay: "[Today at] LT", + nextDay: "[Tomorrow at] LT", + nextWeek: "dddd [at] LT", + lastDay: "[Yesterday at] LT", + lastWeek: "[Last] dddd [at] LT", + sameElse: "L", +}; +function Hk(e, t, r) { + var a = this._calendar[e] || this._calendar.sameElse; + return sr(a) ? a.call(t, r) : a; +} +function rr(e, t, r) { + var a = "" + Math.abs(e), + l = t - a.length, + s = e >= 0; + return ( + (s ? (r ? "+" : "") : "-") + + Math.pow(10, Math.max(0, l)).toString().substr(1) + + a + ); +} +var fc = + /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g, + to = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g, + Cu = {}, + ji = {}; +function be(e, t, r, a) { + var l = a; + typeof a == "string" && + (l = function () { + return this[a](); + }), + e && (ji[e] = l), + t && + (ji[t[0]] = function () { + return rr(l.apply(this, arguments), t[1], t[2]); + }), + r && + (ji[r] = function () { + return this.localeData().ordinal(l.apply(this, arguments), e); + }); +} +function Gk(e) { + return e.match(/\[[\s\S]/) ? e.replace(/^\[|\]$/g, "") : e.replace(/\\/g, ""); +} +function Kk(e) { + var t = e.match(fc), + r, + a; + for (r = 0, a = t.length; r < a; r++) + ji[t[r]] ? (t[r] = ji[t[r]]) : (t[r] = Gk(t[r])); + return function (l) { + var s = "", + u; + for (u = 0; u < a; u++) s += sr(t[u]) ? t[u].call(l, e) : t[u]; + return s; + }; +} +function io(e, t) { + return e.isValid() + ? ((t = Rg(t, e.localeData())), (Cu[t] = Cu[t] || Kk(t)), Cu[t](e)) + : e.localeData().invalidDate(); +} +function Rg(e, t) { + var r = 5; + function a(l) { + return t.longDateFormat(l) || l; + } + for (to.lastIndex = 0; r >= 0 && to.test(e); ) + (e = e.replace(to, a)), (to.lastIndex = 0), (r -= 1); + return e; +} +var Qk = { + LTS: "h:mm:ss A", + LT: "h:mm A", + L: "MM/DD/YYYY", + LL: "MMMM D, YYYY", + LLL: "MMMM D, YYYY h:mm A", + LLLL: "dddd, MMMM D, YYYY h:mm A", +}; +function jk(e) { + var t = this._longDateFormat[e], + r = this._longDateFormat[e.toUpperCase()]; + return t || !r + ? t + : ((this._longDateFormat[e] = r + .match(fc) + .map(function (a) { + return a === "MMMM" || a === "MM" || a === "DD" || a === "dddd" + ? a.slice(1) + : a; + }) + .join("")), + this._longDateFormat[e]); +} +var Zk = "Invalid date"; +function Jk() { + return this._invalidDate; +} +var Xk = "%d", + eC = /\d{1,2}/; +function tC(e) { + return this._ordinal.replace("%d", e); +} +var nC = { + future: "in %s", + past: "%s ago", + s: "a few seconds", + ss: "%d seconds", + m: "a minute", + mm: "%d minutes", + h: "an hour", + hh: "%d hours", + d: "a day", + dd: "%d days", + w: "a week", + ww: "%d weeks", + M: "a month", + MM: "%d months", + y: "a year", + yy: "%d years", +}; +function rC(e, t, r, a) { + var l = this._relativeTime[r]; + return sr(l) ? l(e, t, r, a) : l.replace(/%d/i, e); +} +function iC(e, t) { + var r = this._relativeTime[e > 0 ? "future" : "past"]; + return sr(r) ? r(t) : r.replace(/%s/i, t); +} +var La = {}; +function en(e, t) { + var r = e.toLowerCase(); + La[r] = La[r + "s"] = La[t] = e; +} +function Nn(e) { + return typeof e == "string" ? La[e] || La[e.toLowerCase()] : void 0; +} +function hc(e) { + var t = {}, + r, + a; + for (a in e) Xe(e, a) && ((r = Nn(a)), r && (t[r] = e[a])); + return t; +} +var Og = {}; +function tn(e, t) { + Og[e] = t; +} +function aC(e) { + var t = [], + r; + for (r in e) Xe(e, r) && t.push({ unit: r, priority: Og[r] }); + return ( + t.sort(function (a, l) { + return a.priority - l.priority; + }), + t + ); +} +function Io(e) { + return (e % 4 === 0 && e % 100 !== 0) || e % 400 === 0; +} +function On(e) { + return e < 0 ? Math.ceil(e) || 0 : Math.floor(e); +} +function We(e) { + var t = +e, + r = 0; + return t !== 0 && isFinite(t) && (r = On(t)), r; +} +function la(e, t) { + return function (r) { + return r != null + ? (Lg(this, e, r), ae.updateOffset(this, t), this) + : bo(this, e); + }; +} +function bo(e, t) { + return e.isValid() ? e._d["get" + (e._isUTC ? "UTC" : "") + t]() : NaN; +} +function Lg(e, t, r) { + e.isValid() && + !isNaN(r) && + (t === "FullYear" && Io(e.year()) && e.month() === 1 && e.date() === 29 + ? ((r = We(r)), + e._d["set" + (e._isUTC ? "UTC" : "") + t]( + r, + e.month(), + Bo(r, e.month()) + )) + : e._d["set" + (e._isUTC ? "UTC" : "") + t](r)); +} +function lC(e) { + return (e = Nn(e)), sr(this[e]) ? this[e]() : this; +} +function oC(e, t) { + if (typeof e == "object") { + e = hc(e); + var r = aC(e), + a, + l = r.length; + for (a = 0; a < l; a++) this[r[a].unit](e[r[a].unit]); + } else if (((e = Nn(e)), sr(this[e]))) return this[e](t); + return this; +} +var Ng = /\d/, + Dn = /\d\d/, + Bg = /\d{3}/, + gc = /\d{4}/, + $o = /[+-]?\d{6}/, + yt = /\d\d?/, + Fg = /\d\d\d\d?/, + Ug = /\d\d\d\d\d\d?/, + Ro = /\d{1,3}/, + mc = /\d{1,4}/, + Oo = /[+-]?\d{1,6}/, + oa = /\d+/, + Lo = /[+-]?\d+/, + sC = /Z|[+-]\d\d:?\d\d/gi, + No = /Z|[+-]\d\d(?::?\d\d)?/gi, + uC = /[+-]?\d+(\.\d{1,3})?/, + Za = + /[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i, + wo; +wo = {}; +function ce(e, t, r) { + wo[e] = sr(t) + ? t + : function (a, l) { + return a && r ? r : t; + }; +} +function cC(e, t) { + return Xe(wo, e) ? wo[e](t._strict, t._locale) : new RegExp(dC(e)); +} +function dC(e) { + return kn( + e + .replace("\\", "") + .replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function (t, r, a, l, s) { + return r || a || l || s; + }) + ); +} +function kn(e) { + return e.replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&"); +} +var Bu = {}; +function ct(e, t) { + var r, + a = t, + l; + for ( + typeof e == "string" && (e = [e]), + Dr(t) && + (a = function (s, u) { + u[t] = We(s); + }), + l = e.length, + r = 0; + r < l; + r++ + ) + Bu[e[r]] = a; +} +function Ja(e, t) { + ct(e, function (r, a, l, s) { + (l._w = l._w || {}), t(r, l._w, l, s); + }); +} +function fC(e, t, r) { + t != null && Xe(Bu, e) && Bu[e](t, r._a, r, e); +} +var Xt = 0, + Cr = 1, + nr = 2, + Ot = 3, + Gn = 4, + Tr = 5, + mi = 6, + hC = 7, + gC = 8; +function mC(e, t) { + return ((e % t) + t) % t; +} +var Et; +Array.prototype.indexOf + ? (Et = Array.prototype.indexOf) + : (Et = function (e) { + var t; + for (t = 0; t < this.length; ++t) if (this[t] === e) return t; + return -1; + }); +function Bo(e, t) { + if (isNaN(e) || isNaN(t)) return NaN; + var r = mC(t, 12); + return (e += (t - r) / 12), r === 1 ? (Io(e) ? 29 : 28) : 31 - ((r % 7) % 2); +} +be("M", ["MM", 2], "Mo", function () { + return this.month() + 1; +}); +be("MMM", 0, 0, function (e) { + return this.localeData().monthsShort(this, e); +}); +be("MMMM", 0, 0, function (e) { + return this.localeData().months(this, e); +}); +en("month", "M"); +tn("month", 8); +ce("M", yt); +ce("MM", yt, Dn); +ce("MMM", function (e, t) { + return t.monthsShortRegex(e); +}); +ce("MMMM", function (e, t) { + return t.monthsRegex(e); +}); +ct(["M", "MM"], function (e, t) { + t[Cr] = We(e) - 1; +}); +ct(["MMM", "MMMM"], function (e, t, r, a) { + var l = r._locale.monthsParse(e, a, r._strict); + l != null ? (t[Cr] = l) : (Oe(r).invalidMonth = e); +}); +var vC = + "January_February_March_April_May_June_July_August_September_October_November_December".split( + "_" + ), + Vg = "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"), + zg = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/, + pC = Za, + yC = Za; +function _C(e, t) { + return e + ? Kn(this._months) + ? this._months[e.month()] + : this._months[ + (this._months.isFormat || zg).test(t) ? "format" : "standalone" + ][e.month()] + : Kn(this._months) + ? this._months + : this._months.standalone; +} +function bC(e, t) { + return e + ? Kn(this._monthsShort) + ? this._monthsShort[e.month()] + : this._monthsShort[zg.test(t) ? "format" : "standalone"][e.month()] + : Kn(this._monthsShort) + ? this._monthsShort + : this._monthsShort.standalone; +} +function wC(e, t, r) { + var a, + l, + s, + u = e.toLocaleLowerCase(); + if (!this._monthsParse) + for ( + this._monthsParse = [], + this._longMonthsParse = [], + this._shortMonthsParse = [], + a = 0; + a < 12; + ++a + ) + (s = or([2e3, a])), + (this._shortMonthsParse[a] = this.monthsShort( + s, + "" + ).toLocaleLowerCase()), + (this._longMonthsParse[a] = this.months(s, "").toLocaleLowerCase()); + return r + ? t === "MMM" + ? ((l = Et.call(this._shortMonthsParse, u)), l !== -1 ? l : null) + : ((l = Et.call(this._longMonthsParse, u)), l !== -1 ? l : null) + : t === "MMM" + ? ((l = Et.call(this._shortMonthsParse, u)), + l !== -1 + ? l + : ((l = Et.call(this._longMonthsParse, u)), l !== -1 ? l : null)) + : ((l = Et.call(this._longMonthsParse, u)), + l !== -1 + ? l + : ((l = Et.call(this._shortMonthsParse, u)), l !== -1 ? l : null)); +} +function SC(e, t, r) { + var a, l, s; + if (this._monthsParseExact) return wC.call(this, e, t, r); + for ( + this._monthsParse || + ((this._monthsParse = []), + (this._longMonthsParse = []), + (this._shortMonthsParse = [])), + a = 0; + a < 12; + a++ + ) { + if ( + ((l = or([2e3, a])), + r && + !this._longMonthsParse[a] && + ((this._longMonthsParse[a] = new RegExp( + "^" + this.months(l, "").replace(".", "") + "$", + "i" + )), + (this._shortMonthsParse[a] = new RegExp( + "^" + this.monthsShort(l, "").replace(".", "") + "$", + "i" + ))), + !r && + !this._monthsParse[a] && + ((s = "^" + this.months(l, "") + "|^" + this.monthsShort(l, "")), + (this._monthsParse[a] = new RegExp(s.replace(".", ""), "i"))), + r && t === "MMMM" && this._longMonthsParse[a].test(e)) + ) + return a; + if (r && t === "MMM" && this._shortMonthsParse[a].test(e)) return a; + if (!r && this._monthsParse[a].test(e)) return a; + } +} +function Wg(e, t) { + var r; + if (!e.isValid()) return e; + if (typeof t == "string") { + if (/^\d+$/.test(t)) t = We(t); + else if (((t = e.localeData().monthsParse(t)), !Dr(t))) return e; + } + return ( + (r = Math.min(e.date(), Bo(e.year(), t))), + e._d["set" + (e._isUTC ? "UTC" : "") + "Month"](t, r), + e + ); +} +function Yg(e) { + return e != null + ? (Wg(this, e), ae.updateOffset(this, !0), this) + : bo(this, "Month"); +} +function kC() { + return Bo(this.year(), this.month()); +} +function CC(e) { + return this._monthsParseExact + ? (Xe(this, "_monthsRegex") || Hg.call(this), + e ? this._monthsShortStrictRegex : this._monthsShortRegex) + : (Xe(this, "_monthsShortRegex") || (this._monthsShortRegex = pC), + this._monthsShortStrictRegex && e + ? this._monthsShortStrictRegex + : this._monthsShortRegex); +} +function TC(e) { + return this._monthsParseExact + ? (Xe(this, "_monthsRegex") || Hg.call(this), + e ? this._monthsStrictRegex : this._monthsRegex) + : (Xe(this, "_monthsRegex") || (this._monthsRegex = yC), + this._monthsStrictRegex && e + ? this._monthsStrictRegex + : this._monthsRegex); +} +function Hg() { + function e(u, d) { + return d.length - u.length; + } + var t = [], + r = [], + a = [], + l, + s; + for (l = 0; l < 12; l++) + (s = or([2e3, l])), + t.push(this.monthsShort(s, "")), + r.push(this.months(s, "")), + a.push(this.months(s, "")), + a.push(this.monthsShort(s, "")); + for (t.sort(e), r.sort(e), a.sort(e), l = 0; l < 12; l++) + (t[l] = kn(t[l])), (r[l] = kn(r[l])); + for (l = 0; l < 24; l++) a[l] = kn(a[l]); + (this._monthsRegex = new RegExp("^(" + a.join("|") + ")", "i")), + (this._monthsShortRegex = this._monthsRegex), + (this._monthsStrictRegex = new RegExp("^(" + r.join("|") + ")", "i")), + (this._monthsShortStrictRegex = new RegExp("^(" + t.join("|") + ")", "i")); +} +be("Y", 0, 0, function () { + var e = this.year(); + return e <= 9999 ? rr(e, 4) : "+" + e; +}); +be(0, ["YY", 2], 0, function () { + return this.year() % 100; +}); +be(0, ["YYYY", 4], 0, "year"); +be(0, ["YYYYY", 5], 0, "year"); +be(0, ["YYYYYY", 6, !0], 0, "year"); +en("year", "y"); +tn("year", 1); +ce("Y", Lo); +ce("YY", yt, Dn); +ce("YYYY", mc, gc); +ce("YYYYY", Oo, $o); +ce("YYYYYY", Oo, $o); +ct(["YYYYY", "YYYYYY"], Xt); +ct("YYYY", function (e, t) { + t[Xt] = e.length === 2 ? ae.parseTwoDigitYear(e) : We(e); +}); +ct("YY", function (e, t) { + t[Xt] = ae.parseTwoDigitYear(e); +}); +ct("Y", function (e, t) { + t[Xt] = parseInt(e, 10); +}); +function Na(e) { + return Io(e) ? 366 : 365; +} +ae.parseTwoDigitYear = function (e) { + return We(e) + (We(e) > 68 ? 1900 : 2e3); +}; +var Gg = la("FullYear", !0); +function MC() { + return Io(this.year()); +} +function DC(e, t, r, a, l, s, u) { + var d; + return ( + e < 100 && e >= 0 + ? ((d = new Date(e + 400, t, r, a, l, s, u)), + isFinite(d.getFullYear()) && d.setFullYear(e)) + : (d = new Date(e, t, r, a, l, s, u)), + d + ); +} +function Ua(e) { + var t, r; + return ( + e < 100 && e >= 0 + ? ((r = Array.prototype.slice.call(arguments)), + (r[0] = e + 400), + (t = new Date(Date.UTC.apply(null, r))), + isFinite(t.getUTCFullYear()) && t.setUTCFullYear(e)) + : (t = new Date(Date.UTC.apply(null, arguments))), + t + ); +} +function So(e, t, r) { + var a = 7 + t - r, + l = (7 + Ua(e, 0, a).getUTCDay() - t) % 7; + return -l + a - 1; +} +function Kg(e, t, r, a, l) { + var s = (7 + r - a) % 7, + u = So(e, a, l), + d = 1 + 7 * (t - 1) + s + u, + f, + g; + return ( + d <= 0 + ? ((f = e - 1), (g = Na(f) + d)) + : d > Na(e) + ? ((f = e + 1), (g = d - Na(e))) + : ((f = e), (g = d)), + { year: f, dayOfYear: g } + ); +} +function Va(e, t, r) { + var a = So(e.year(), t, r), + l = Math.floor((e.dayOfYear() - a - 1) / 7) + 1, + s, + u; + return ( + l < 1 + ? ((u = e.year() - 1), (s = l + Mr(u, t, r))) + : l > Mr(e.year(), t, r) + ? ((s = l - Mr(e.year(), t, r)), (u = e.year() + 1)) + : ((u = e.year()), (s = l)), + { week: s, year: u } + ); +} +function Mr(e, t, r) { + var a = So(e, t, r), + l = So(e + 1, t, r); + return (Na(e) - a + l) / 7; +} +be("w", ["ww", 2], "wo", "week"); +be("W", ["WW", 2], "Wo", "isoWeek"); +en("week", "w"); +en("isoWeek", "W"); +tn("week", 5); +tn("isoWeek", 5); +ce("w", yt); +ce("ww", yt, Dn); +ce("W", yt); +ce("WW", yt, Dn); +Ja(["w", "ww", "W", "WW"], function (e, t, r, a) { + t[a.substr(0, 1)] = We(e); +}); +function qC(e) { + return Va(e, this._week.dow, this._week.doy).week; +} +var xC = { dow: 0, doy: 6 }; +function PC() { + return this._week.dow; +} +function AC() { + return this._week.doy; +} +function EC(e) { + var t = this.localeData().week(this); + return e == null ? t : this.add((e - t) * 7, "d"); +} +function IC(e) { + var t = Va(this, 1, 4).week; + return e == null ? t : this.add((e - t) * 7, "d"); +} +be("d", 0, "do", "day"); +be("dd", 0, 0, function (e) { + return this.localeData().weekdaysMin(this, e); +}); +be("ddd", 0, 0, function (e) { + return this.localeData().weekdaysShort(this, e); +}); +be("dddd", 0, 0, function (e) { + return this.localeData().weekdays(this, e); +}); +be("e", 0, 0, "weekday"); +be("E", 0, 0, "isoWeekday"); +en("day", "d"); +en("weekday", "e"); +en("isoWeekday", "E"); +tn("day", 11); +tn("weekday", 11); +tn("isoWeekday", 11); +ce("d", yt); +ce("e", yt); +ce("E", yt); +ce("dd", function (e, t) { + return t.weekdaysMinRegex(e); +}); +ce("ddd", function (e, t) { + return t.weekdaysShortRegex(e); +}); +ce("dddd", function (e, t) { + return t.weekdaysRegex(e); +}); +Ja(["dd", "ddd", "dddd"], function (e, t, r, a) { + var l = r._locale.weekdaysParse(e, a, r._strict); + l != null ? (t.d = l) : (Oe(r).invalidWeekday = e); +}); +Ja(["d", "e", "E"], function (e, t, r, a) { + t[a] = We(e); +}); +function $C(e, t) { + return typeof e != "string" + ? e + : isNaN(e) + ? ((e = t.weekdaysParse(e)), typeof e == "number" ? e : null) + : parseInt(e, 10); +} +function RC(e, t) { + return typeof e == "string" + ? t.weekdaysParse(e) % 7 || 7 + : isNaN(e) + ? null + : e; +} +function vc(e, t) { + return e.slice(t, 7).concat(e.slice(0, t)); +} +var OC = "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), + Qg = "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"), + LC = "Su_Mo_Tu_We_Th_Fr_Sa".split("_"), + NC = Za, + BC = Za, + FC = Za; +function UC(e, t) { + var r = Kn(this._weekdays) + ? this._weekdays + : this._weekdays[ + e && e !== !0 && this._weekdays.isFormat.test(t) + ? "format" + : "standalone" + ]; + return e === !0 ? vc(r, this._week.dow) : e ? r[e.day()] : r; +} +function VC(e) { + return e === !0 + ? vc(this._weekdaysShort, this._week.dow) + : e + ? this._weekdaysShort[e.day()] + : this._weekdaysShort; +} +function zC(e) { + return e === !0 + ? vc(this._weekdaysMin, this._week.dow) + : e + ? this._weekdaysMin[e.day()] + : this._weekdaysMin; +} +function WC(e, t, r) { + var a, + l, + s, + u = e.toLocaleLowerCase(); + if (!this._weekdaysParse) + for ( + this._weekdaysParse = [], + this._shortWeekdaysParse = [], + this._minWeekdaysParse = [], + a = 0; + a < 7; + ++a + ) + (s = or([2e3, 1]).day(a)), + (this._minWeekdaysParse[a] = this.weekdaysMin( + s, + "" + ).toLocaleLowerCase()), + (this._shortWeekdaysParse[a] = this.weekdaysShort( + s, + "" + ).toLocaleLowerCase()), + (this._weekdaysParse[a] = this.weekdays(s, "").toLocaleLowerCase()); + return r + ? t === "dddd" + ? ((l = Et.call(this._weekdaysParse, u)), l !== -1 ? l : null) + : t === "ddd" + ? ((l = Et.call(this._shortWeekdaysParse, u)), l !== -1 ? l : null) + : ((l = Et.call(this._minWeekdaysParse, u)), l !== -1 ? l : null) + : t === "dddd" + ? ((l = Et.call(this._weekdaysParse, u)), + l !== -1 || ((l = Et.call(this._shortWeekdaysParse, u)), l !== -1) + ? l + : ((l = Et.call(this._minWeekdaysParse, u)), l !== -1 ? l : null)) + : t === "ddd" + ? ((l = Et.call(this._shortWeekdaysParse, u)), + l !== -1 || ((l = Et.call(this._weekdaysParse, u)), l !== -1) + ? l + : ((l = Et.call(this._minWeekdaysParse, u)), l !== -1 ? l : null)) + : ((l = Et.call(this._minWeekdaysParse, u)), + l !== -1 || ((l = Et.call(this._weekdaysParse, u)), l !== -1) + ? l + : ((l = Et.call(this._shortWeekdaysParse, u)), l !== -1 ? l : null)); +} +function YC(e, t, r) { + var a, l, s; + if (this._weekdaysParseExact) return WC.call(this, e, t, r); + for ( + this._weekdaysParse || + ((this._weekdaysParse = []), + (this._minWeekdaysParse = []), + (this._shortWeekdaysParse = []), + (this._fullWeekdaysParse = [])), + a = 0; + a < 7; + a++ + ) { + if ( + ((l = or([2e3, 1]).day(a)), + r && + !this._fullWeekdaysParse[a] && + ((this._fullWeekdaysParse[a] = new RegExp( + "^" + this.weekdays(l, "").replace(".", "\\.?") + "$", + "i" + )), + (this._shortWeekdaysParse[a] = new RegExp( + "^" + this.weekdaysShort(l, "").replace(".", "\\.?") + "$", + "i" + )), + (this._minWeekdaysParse[a] = new RegExp( + "^" + this.weekdaysMin(l, "").replace(".", "\\.?") + "$", + "i" + ))), + this._weekdaysParse[a] || + ((s = + "^" + + this.weekdays(l, "") + + "|^" + + this.weekdaysShort(l, "") + + "|^" + + this.weekdaysMin(l, "")), + (this._weekdaysParse[a] = new RegExp(s.replace(".", ""), "i"))), + r && t === "dddd" && this._fullWeekdaysParse[a].test(e)) + ) + return a; + if (r && t === "ddd" && this._shortWeekdaysParse[a].test(e)) return a; + if (r && t === "dd" && this._minWeekdaysParse[a].test(e)) return a; + if (!r && this._weekdaysParse[a].test(e)) return a; + } +} +function HC(e) { + if (!this.isValid()) return e != null ? this : NaN; + var t = this._isUTC ? this._d.getUTCDay() : this._d.getDay(); + return e != null ? ((e = $C(e, this.localeData())), this.add(e - t, "d")) : t; +} +function GC(e) { + if (!this.isValid()) return e != null ? this : NaN; + var t = (this.day() + 7 - this.localeData()._week.dow) % 7; + return e == null ? t : this.add(e - t, "d"); +} +function KC(e) { + if (!this.isValid()) return e != null ? this : NaN; + if (e != null) { + var t = RC(e, this.localeData()); + return this.day(this.day() % 7 ? t : t - 7); + } else return this.day() || 7; +} +function QC(e) { + return this._weekdaysParseExact + ? (Xe(this, "_weekdaysRegex") || pc.call(this), + e ? this._weekdaysStrictRegex : this._weekdaysRegex) + : (Xe(this, "_weekdaysRegex") || (this._weekdaysRegex = NC), + this._weekdaysStrictRegex && e + ? this._weekdaysStrictRegex + : this._weekdaysRegex); +} +function jC(e) { + return this._weekdaysParseExact + ? (Xe(this, "_weekdaysRegex") || pc.call(this), + e ? this._weekdaysShortStrictRegex : this._weekdaysShortRegex) + : (Xe(this, "_weekdaysShortRegex") || (this._weekdaysShortRegex = BC), + this._weekdaysShortStrictRegex && e + ? this._weekdaysShortStrictRegex + : this._weekdaysShortRegex); +} +function ZC(e) { + return this._weekdaysParseExact + ? (Xe(this, "_weekdaysRegex") || pc.call(this), + e ? this._weekdaysMinStrictRegex : this._weekdaysMinRegex) + : (Xe(this, "_weekdaysMinRegex") || (this._weekdaysMinRegex = FC), + this._weekdaysMinStrictRegex && e + ? this._weekdaysMinStrictRegex + : this._weekdaysMinRegex); +} +function pc() { + function e(v, T) { + return T.length - v.length; + } + var t = [], + r = [], + a = [], + l = [], + s, + u, + d, + f, + g; + for (s = 0; s < 7; s++) + (u = or([2e3, 1]).day(s)), + (d = kn(this.weekdaysMin(u, ""))), + (f = kn(this.weekdaysShort(u, ""))), + (g = kn(this.weekdays(u, ""))), + t.push(d), + r.push(f), + a.push(g), + l.push(d), + l.push(f), + l.push(g); + t.sort(e), + r.sort(e), + a.sort(e), + l.sort(e), + (this._weekdaysRegex = new RegExp("^(" + l.join("|") + ")", "i")), + (this._weekdaysShortRegex = this._weekdaysRegex), + (this._weekdaysMinRegex = this._weekdaysRegex), + (this._weekdaysStrictRegex = new RegExp("^(" + a.join("|") + ")", "i")), + (this._weekdaysShortStrictRegex = new RegExp( + "^(" + r.join("|") + ")", + "i" + )), + (this._weekdaysMinStrictRegex = new RegExp("^(" + t.join("|") + ")", "i")); +} +function yc() { + return this.hours() % 12 || 12; +} +function JC() { + return this.hours() || 24; +} +be("H", ["HH", 2], 0, "hour"); +be("h", ["hh", 2], 0, yc); +be("k", ["kk", 2], 0, JC); +be("hmm", 0, 0, function () { + return "" + yc.apply(this) + rr(this.minutes(), 2); +}); +be("hmmss", 0, 0, function () { + return "" + yc.apply(this) + rr(this.minutes(), 2) + rr(this.seconds(), 2); +}); +be("Hmm", 0, 0, function () { + return "" + this.hours() + rr(this.minutes(), 2); +}); +be("Hmmss", 0, 0, function () { + return "" + this.hours() + rr(this.minutes(), 2) + rr(this.seconds(), 2); +}); +function jg(e, t) { + be(e, 0, 0, function () { + return this.localeData().meridiem(this.hours(), this.minutes(), t); + }); +} +jg("a", !0); +jg("A", !1); +en("hour", "h"); +tn("hour", 13); +function Zg(e, t) { + return t._meridiemParse; +} +ce("a", Zg); +ce("A", Zg); +ce("H", yt); +ce("h", yt); +ce("k", yt); +ce("HH", yt, Dn); +ce("hh", yt, Dn); +ce("kk", yt, Dn); +ce("hmm", Fg); +ce("hmmss", Ug); +ce("Hmm", Fg); +ce("Hmmss", Ug); +ct(["H", "HH"], Ot); +ct(["k", "kk"], function (e, t, r) { + var a = We(e); + t[Ot] = a === 24 ? 0 : a; +}); +ct(["a", "A"], function (e, t, r) { + (r._isPm = r._locale.isPM(e)), (r._meridiem = e); +}); +ct(["h", "hh"], function (e, t, r) { + (t[Ot] = We(e)), (Oe(r).bigHour = !0); +}); +ct("hmm", function (e, t, r) { + var a = e.length - 2; + (t[Ot] = We(e.substr(0, a))), (t[Gn] = We(e.substr(a))), (Oe(r).bigHour = !0); +}); +ct("hmmss", function (e, t, r) { + var a = e.length - 4, + l = e.length - 2; + (t[Ot] = We(e.substr(0, a))), + (t[Gn] = We(e.substr(a, 2))), + (t[Tr] = We(e.substr(l))), + (Oe(r).bigHour = !0); +}); +ct("Hmm", function (e, t, r) { + var a = e.length - 2; + (t[Ot] = We(e.substr(0, a))), (t[Gn] = We(e.substr(a))); +}); +ct("Hmmss", function (e, t, r) { + var a = e.length - 4, + l = e.length - 2; + (t[Ot] = We(e.substr(0, a))), + (t[Gn] = We(e.substr(a, 2))), + (t[Tr] = We(e.substr(l))); +}); +function XC(e) { + return (e + "").toLowerCase().charAt(0) === "p"; +} +var e2 = /[ap]\.?m?\.?/i, + t2 = la("Hours", !0); +function n2(e, t, r) { + return e > 11 ? (r ? "pm" : "PM") : r ? "am" : "AM"; +} +var Jg = { + calendar: Yk, + longDateFormat: Qk, + invalidDate: Zk, + ordinal: Xk, + dayOfMonthOrdinalParse: eC, + relativeTime: nC, + months: vC, + monthsShort: Vg, + week: xC, + weekdays: OC, + weekdaysMin: LC, + weekdaysShort: Qg, + meridiemParse: e2, + }, + bt = {}, + qa = {}, + za; +function r2(e, t) { + var r, + a = Math.min(e.length, t.length); + for (r = 0; r < a; r += 1) if (e[r] !== t[r]) return r; + return a; +} +function Dh(e) { + return e && e.toLowerCase().replace("_", "-"); +} +function i2(e) { + for (var t = 0, r, a, l, s; t < e.length; ) { + for ( + s = Dh(e[t]).split("-"), + r = s.length, + a = Dh(e[t + 1]), + a = a ? a.split("-") : null; + r > 0; + + ) { + if (((l = Fo(s.slice(0, r).join("-"))), l)) return l; + if (a && a.length >= r && r2(s, a) >= r - 1) break; + r--; + } + t++; + } + return za; +} +function a2(e) { + return e.match("^[^/\\\\]*$") != null; +} +function Fo(e) { + var t = null, + r; + if ( + bt[e] === void 0 && + typeof module != "undefined" && + module && + module.exports && + a2(e) + ) + try { + (t = za._abbr), (r = require), r("./locale/" + e), Zr(t); + } catch { + bt[e] = null; + } + return bt[e]; +} +function Zr(e, t) { + var r; + return ( + e && + (mn(t) ? (r = qr(e)) : (r = _c(e, t)), + r + ? (za = r) + : typeof console != "undefined" && + console.warn && + console.warn( + "Locale " + e + " not found. Did you forget to load it?" + )), + za._abbr + ); +} +function _c(e, t) { + if (t !== null) { + var r, + a = Jg; + if (((t.abbr = e), bt[e] != null)) + $g( + "defineLocaleOverride", + "use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info." + ), + (a = bt[e]._config); + else if (t.parentLocale != null) + if (bt[t.parentLocale] != null) a = bt[t.parentLocale]._config; + else if (((r = Fo(t.parentLocale)), r != null)) a = r._config; + else + return ( + qa[t.parentLocale] || (qa[t.parentLocale] = []), + qa[t.parentLocale].push({ name: e, config: t }), + null + ); + return ( + (bt[e] = new dc(Lu(a, t))), + qa[e] && + qa[e].forEach(function (l) { + _c(l.name, l.config); + }), + Zr(e), + bt[e] + ); + } else return delete bt[e], null; +} +function l2(e, t) { + if (t != null) { + var r, + a, + l = Jg; + bt[e] != null && bt[e].parentLocale != null + ? bt[e].set(Lu(bt[e]._config, t)) + : ((a = Fo(e)), + a != null && (l = a._config), + (t = Lu(l, t)), + a == null && (t.abbr = e), + (r = new dc(t)), + (r.parentLocale = bt[e]), + (bt[e] = r)), + Zr(e); + } else + bt[e] != null && + (bt[e].parentLocale != null + ? ((bt[e] = bt[e].parentLocale), e === Zr() && Zr(e)) + : bt[e] != null && delete bt[e]); + return bt[e]; +} +function qr(e) { + var t; + if ((e && e._locale && e._locale._abbr && (e = e._locale._abbr), !e)) + return za; + if (!Kn(e)) { + if (((t = Fo(e)), t)) return t; + e = [e]; + } + return i2(e); +} +function o2() { + return Nu(bt); +} +function bc(e) { + var t, + r = e._a; + return ( + r && + Oe(e).overflow === -2 && + ((t = + r[Cr] < 0 || r[Cr] > 11 + ? Cr + : r[nr] < 1 || r[nr] > Bo(r[Xt], r[Cr]) + ? nr + : r[Ot] < 0 || + r[Ot] > 24 || + (r[Ot] === 24 && (r[Gn] !== 0 || r[Tr] !== 0 || r[mi] !== 0)) + ? Ot + : r[Gn] < 0 || r[Gn] > 59 + ? Gn + : r[Tr] < 0 || r[Tr] > 59 + ? Tr + : r[mi] < 0 || r[mi] > 999 + ? mi + : -1), + Oe(e)._overflowDayOfYear && (t < Xt || t > nr) && (t = nr), + Oe(e)._overflowWeeks && t === -1 && (t = hC), + Oe(e)._overflowWeekday && t === -1 && (t = gC), + (Oe(e).overflow = t)), + e + ); +} +var s2 = + /^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/, + u2 = + /^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/, + c2 = /Z|[+-]\d\d(?::?\d\d)?/, + no = [ + ["YYYYYY-MM-DD", /[+-]\d{6}-\d\d-\d\d/], + ["YYYY-MM-DD", /\d{4}-\d\d-\d\d/], + ["GGGG-[W]WW-E", /\d{4}-W\d\d-\d/], + ["GGGG-[W]WW", /\d{4}-W\d\d/, !1], + ["YYYY-DDD", /\d{4}-\d{3}/], + ["YYYY-MM", /\d{4}-\d\d/, !1], + ["YYYYYYMMDD", /[+-]\d{10}/], + ["YYYYMMDD", /\d{8}/], + ["GGGG[W]WWE", /\d{4}W\d{3}/], + ["GGGG[W]WW", /\d{4}W\d{2}/, !1], + ["YYYYDDD", /\d{7}/], + ["YYYYMM", /\d{6}/, !1], + ["YYYY", /\d{4}/, !1], + ], + Tu = [ + ["HH:mm:ss.SSSS", /\d\d:\d\d:\d\d\.\d+/], + ["HH:mm:ss,SSSS", /\d\d:\d\d:\d\d,\d+/], + ["HH:mm:ss", /\d\d:\d\d:\d\d/], + ["HH:mm", /\d\d:\d\d/], + ["HHmmss.SSSS", /\d\d\d\d\d\d\.\d+/], + ["HHmmss,SSSS", /\d\d\d\d\d\d,\d+/], + ["HHmmss", /\d\d\d\d\d\d/], + ["HHmm", /\d\d\d\d/], + ["HH", /\d\d/], + ], + d2 = /^\/?Date\((-?\d+)/i, + f2 = + /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/, + h2 = { + UT: 0, + GMT: 0, + EDT: -4 * 60, + EST: -5 * 60, + CDT: -5 * 60, + CST: -6 * 60, + MDT: -6 * 60, + MST: -7 * 60, + PDT: -7 * 60, + PST: -8 * 60, + }; +function Xg(e) { + var t, + r, + a = e._i, + l = s2.exec(a) || u2.exec(a), + s, + u, + d, + f, + g = no.length, + v = Tu.length; + if (l) { + for (Oe(e).iso = !0, t = 0, r = g; t < r; t++) + if (no[t][1].exec(l[1])) { + (u = no[t][0]), (s = no[t][2] !== !1); + break; + } + if (u == null) { + e._isValid = !1; + return; + } + if (l[3]) { + for (t = 0, r = v; t < r; t++) + if (Tu[t][1].exec(l[3])) { + d = (l[2] || " ") + Tu[t][0]; + break; + } + if (d == null) { + e._isValid = !1; + return; + } + } + if (!s && d != null) { + e._isValid = !1; + return; + } + if (l[4]) + if (c2.exec(l[4])) f = "Z"; + else { + e._isValid = !1; + return; + } + (e._f = u + (d || "") + (f || "")), Sc(e); + } else e._isValid = !1; +} +function g2(e, t, r, a, l, s) { + var u = [ + m2(e), + Vg.indexOf(t), + parseInt(r, 10), + parseInt(a, 10), + parseInt(l, 10), + ]; + return s && u.push(parseInt(s, 10)), u; +} +function m2(e) { + var t = parseInt(e, 10); + return t <= 49 ? 2e3 + t : t <= 999 ? 1900 + t : t; +} +function v2(e) { + return e + .replace(/\([^()]*\)|[\n\t]/g, " ") + .replace(/(\s\s+)/g, " ") + .replace(/^\s\s*/, "") + .replace(/\s\s*$/, ""); +} +function p2(e, t, r) { + if (e) { + var a = Qg.indexOf(e), + l = new Date(t[0], t[1], t[2]).getDay(); + if (a !== l) return (Oe(r).weekdayMismatch = !0), (r._isValid = !1), !1; + } + return !0; +} +function y2(e, t, r) { + if (e) return h2[e]; + if (t) return 0; + var a = parseInt(r, 10), + l = a % 100, + s = (a - l) / 100; + return s * 60 + l; +} +function em(e) { + var t = f2.exec(v2(e._i)), + r; + if (t) { + if (((r = g2(t[4], t[3], t[2], t[5], t[6], t[7])), !p2(t[1], r, e))) return; + (e._a = r), + (e._tzm = y2(t[8], t[9], t[10])), + (e._d = Ua.apply(null, e._a)), + e._d.setUTCMinutes(e._d.getUTCMinutes() - e._tzm), + (Oe(e).rfc2822 = !0); + } else e._isValid = !1; +} +function _2(e) { + var t = d2.exec(e._i); + if (t !== null) { + e._d = new Date(+t[1]); + return; + } + if ((Xg(e), e._isValid === !1)) delete e._isValid; + else return; + if ((em(e), e._isValid === !1)) delete e._isValid; + else return; + e._strict ? (e._isValid = !1) : ae.createFromInputFallback(e); +} +ae.createFromInputFallback = Ln( + "value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.", + function (e) { + e._d = new Date(e._i + (e._useUTC ? " UTC" : "")); + } +); +function Yi(e, t, r) { + return e != null ? e : t != null ? t : r; +} +function b2(e) { + var t = new Date(ae.now()); + return e._useUTC + ? [t.getUTCFullYear(), t.getUTCMonth(), t.getUTCDate()] + : [t.getFullYear(), t.getMonth(), t.getDate()]; +} +function wc(e) { + var t, + r, + a = [], + l, + s, + u; + if (!e._d) { + for ( + l = b2(e), + e._w && e._a[nr] == null && e._a[Cr] == null && w2(e), + e._dayOfYear != null && + ((u = Yi(e._a[Xt], l[Xt])), + (e._dayOfYear > Na(u) || e._dayOfYear === 0) && + (Oe(e)._overflowDayOfYear = !0), + (r = Ua(u, 0, e._dayOfYear)), + (e._a[Cr] = r.getUTCMonth()), + (e._a[nr] = r.getUTCDate())), + t = 0; + t < 3 && e._a[t] == null; + ++t + ) + e._a[t] = a[t] = l[t]; + for (; t < 7; t++) + e._a[t] = a[t] = e._a[t] == null ? (t === 2 ? 1 : 0) : e._a[t]; + e._a[Ot] === 24 && + e._a[Gn] === 0 && + e._a[Tr] === 0 && + e._a[mi] === 0 && + ((e._nextDay = !0), (e._a[Ot] = 0)), + (e._d = (e._useUTC ? Ua : DC).apply(null, a)), + (s = e._useUTC ? e._d.getUTCDay() : e._d.getDay()), + e._tzm != null && e._d.setUTCMinutes(e._d.getUTCMinutes() - e._tzm), + e._nextDay && (e._a[Ot] = 24), + e._w && + typeof e._w.d != "undefined" && + e._w.d !== s && + (Oe(e).weekdayMismatch = !0); + } +} +function w2(e) { + var t, r, a, l, s, u, d, f, g; + (t = e._w), + t.GG != null || t.W != null || t.E != null + ? ((s = 1), + (u = 4), + (r = Yi(t.GG, e._a[Xt], Va(pt(), 1, 4).year)), + (a = Yi(t.W, 1)), + (l = Yi(t.E, 1)), + (l < 1 || l > 7) && (f = !0)) + : ((s = e._locale._week.dow), + (u = e._locale._week.doy), + (g = Va(pt(), s, u)), + (r = Yi(t.gg, e._a[Xt], g.year)), + (a = Yi(t.w, g.week)), + t.d != null + ? ((l = t.d), (l < 0 || l > 6) && (f = !0)) + : t.e != null + ? ((l = t.e + s), (t.e < 0 || t.e > 6) && (f = !0)) + : (l = s)), + a < 1 || a > Mr(r, s, u) + ? (Oe(e)._overflowWeeks = !0) + : f != null + ? (Oe(e)._overflowWeekday = !0) + : ((d = Kg(r, a, l, s, u)), + (e._a[Xt] = d.year), + (e._dayOfYear = d.dayOfYear)); +} +ae.ISO_8601 = function () {}; +ae.RFC_2822 = function () {}; +function Sc(e) { + if (e._f === ae.ISO_8601) { + Xg(e); + return; + } + if (e._f === ae.RFC_2822) { + em(e); + return; + } + (e._a = []), (Oe(e).empty = !0); + var t = "" + e._i, + r, + a, + l, + s, + u, + d = t.length, + f = 0, + g, + v; + for (l = Rg(e._f, e._locale).match(fc) || [], v = l.length, r = 0; r < v; r++) + (s = l[r]), + (a = (t.match(cC(s, e)) || [])[0]), + a && + ((u = t.substr(0, t.indexOf(a))), + u.length > 0 && Oe(e).unusedInput.push(u), + (t = t.slice(t.indexOf(a) + a.length)), + (f += a.length)), + ji[s] + ? (a ? (Oe(e).empty = !1) : Oe(e).unusedTokens.push(s), fC(s, a, e)) + : e._strict && !a && Oe(e).unusedTokens.push(s); + (Oe(e).charsLeftOver = d - f), + t.length > 0 && Oe(e).unusedInput.push(t), + e._a[Ot] <= 12 && + Oe(e).bigHour === !0 && + e._a[Ot] > 0 && + (Oe(e).bigHour = void 0), + (Oe(e).parsedDateParts = e._a.slice(0)), + (Oe(e).meridiem = e._meridiem), + (e._a[Ot] = S2(e._locale, e._a[Ot], e._meridiem)), + (g = Oe(e).era), + g !== null && (e._a[Xt] = e._locale.erasConvertYear(g, e._a[Xt])), + wc(e), + bc(e); +} +function S2(e, t, r) { + var a; + return r == null + ? t + : e.meridiemHour != null + ? e.meridiemHour(t, r) + : (e.isPM != null && + ((a = e.isPM(r)), a && t < 12 && (t += 12), !a && t === 12 && (t = 0)), + t); +} +function k2(e) { + var t, + r, + a, + l, + s, + u, + d = !1, + f = e._f.length; + if (f === 0) { + (Oe(e).invalidFormat = !0), (e._d = new Date(NaN)); + return; + } + for (l = 0; l < f; l++) + (s = 0), + (u = !1), + (t = cc({}, e)), + e._useUTC != null && (t._useUTC = e._useUTC), + (t._f = e._f[l]), + Sc(t), + uc(t) && (u = !0), + (s += Oe(t).charsLeftOver), + (s += Oe(t).unusedTokens.length * 10), + (Oe(t).score = s), + d + ? s < a && ((a = s), (r = t)) + : (a == null || s < a || u) && ((a = s), (r = t), u && (d = !0)); + Kr(e, r || t); +} +function C2(e) { + if (!e._d) { + var t = hc(e._i), + r = t.day === void 0 ? t.date : t.day; + (e._a = Eg( + [t.year, t.month, r, t.hour, t.minute, t.second, t.millisecond], + function (a) { + return a && parseInt(a, 10); + } + )), + wc(e); + } +} +function T2(e) { + var t = new ja(bc(tm(e))); + return t._nextDay && (t.add(1, "d"), (t._nextDay = void 0)), t; +} +function tm(e) { + var t = e._i, + r = e._f; + return ( + (e._locale = e._locale || qr(e._l)), + t === null || (r === void 0 && t === "") + ? Eo({ nullInput: !0 }) + : (typeof t == "string" && (e._i = t = e._locale.preparse(t)), + Qn(t) + ? new ja(bc(t)) + : (Qa(t) ? (e._d = t) : Kn(r) ? k2(e) : r ? Sc(e) : M2(e), + uc(e) || (e._d = null), + e)) + ); +} +function M2(e) { + var t = e._i; + mn(t) + ? (e._d = new Date(ae.now())) + : Qa(t) + ? (e._d = new Date(t.valueOf())) + : typeof t == "string" + ? _2(e) + : Kn(t) + ? ((e._a = Eg(t.slice(0), function (r) { + return parseInt(r, 10); + })), + wc(e)) + : pi(t) + ? C2(e) + : Dr(t) + ? (e._d = new Date(t)) + : ae.createFromInputFallback(e); +} +function nm(e, t, r, a, l) { + var s = {}; + return ( + (t === !0 || t === !1) && ((a = t), (t = void 0)), + (r === !0 || r === !1) && ((a = r), (r = void 0)), + ((pi(e) && sc(e)) || (Kn(e) && e.length === 0)) && (e = void 0), + (s._isAMomentObject = !0), + (s._useUTC = s._isUTC = l), + (s._l = r), + (s._i = e), + (s._f = t), + (s._strict = a), + T2(s) + ); +} +function pt(e, t, r, a) { + return nm(e, t, r, a, !1); +} +var D2 = Ln( + "moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/", + function () { + var e = pt.apply(null, arguments); + return this.isValid() && e.isValid() ? (e < this ? this : e) : Eo(); + } + ), + q2 = Ln( + "moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/", + function () { + var e = pt.apply(null, arguments); + return this.isValid() && e.isValid() ? (e > this ? this : e) : Eo(); + } + ); +function rm(e, t) { + var r, a; + if ((t.length === 1 && Kn(t[0]) && (t = t[0]), !t.length)) return pt(); + for (r = t[0], a = 1; a < t.length; ++a) + (!t[a].isValid() || t[a][e](r)) && (r = t[a]); + return r; +} +function x2() { + var e = [].slice.call(arguments, 0); + return rm("isBefore", e); +} +function P2() { + var e = [].slice.call(arguments, 0); + return rm("isAfter", e); +} +var A2 = function () { + return Date.now ? Date.now() : +new Date(); + }, + xa = [ + "year", + "quarter", + "month", + "week", + "day", + "hour", + "minute", + "second", + "millisecond", + ]; +function E2(e) { + var t, + r = !1, + a, + l = xa.length; + for (t in e) + if (Xe(e, t) && !(Et.call(xa, t) !== -1 && (e[t] == null || !isNaN(e[t])))) + return !1; + for (a = 0; a < l; ++a) + if (e[xa[a]]) { + if (r) return !1; + parseFloat(e[xa[a]]) !== We(e[xa[a]]) && (r = !0); + } + return !0; +} +function I2() { + return this._isValid; +} +function $2() { + return jn(NaN); +} +function Uo(e) { + var t = hc(e), + r = t.year || 0, + a = t.quarter || 0, + l = t.month || 0, + s = t.week || t.isoWeek || 0, + u = t.day || 0, + d = t.hour || 0, + f = t.minute || 0, + g = t.second || 0, + v = t.millisecond || 0; + (this._isValid = E2(t)), + (this._milliseconds = +v + g * 1e3 + f * 6e4 + d * 1e3 * 60 * 60), + (this._days = +u + s * 7), + (this._months = +l + a * 3 + r * 12), + (this._data = {}), + (this._locale = qr()), + this._bubble(); +} +function ao(e) { + return e instanceof Uo; +} +function Fu(e) { + return e < 0 ? Math.round(-1 * e) * -1 : Math.round(e); +} +function R2(e, t, r) { + var a = Math.min(e.length, t.length), + l = Math.abs(e.length - t.length), + s = 0, + u; + for (u = 0; u < a; u++) + ((r && e[u] !== t[u]) || (!r && We(e[u]) !== We(t[u]))) && s++; + return s + l; +} +function im(e, t) { + be(e, 0, 0, function () { + var r = this.utcOffset(), + a = "+"; + return ( + r < 0 && ((r = -r), (a = "-")), + a + rr(~~(r / 60), 2) + t + rr(~~r % 60, 2) + ); + }); +} +im("Z", ":"); +im("ZZ", ""); +ce("Z", No); +ce("ZZ", No); +ct(["Z", "ZZ"], function (e, t, r) { + (r._useUTC = !0), (r._tzm = kc(No, e)); +}); +var O2 = /([\+\-]|\d\d)/gi; +function kc(e, t) { + var r = (t || "").match(e), + a, + l, + s; + return r === null + ? null + : ((a = r[r.length - 1] || []), + (l = (a + "").match(O2) || ["-", 0, 0]), + (s = +(l[1] * 60) + We(l[2])), + s === 0 ? 0 : l[0] === "+" ? s : -s); +} +function Cc(e, t) { + var r, a; + return t._isUTC + ? ((r = t.clone()), + (a = (Qn(e) || Qa(e) ? e.valueOf() : pt(e).valueOf()) - r.valueOf()), + r._d.setTime(r._d.valueOf() + a), + ae.updateOffset(r, !1), + r) + : pt(e).local(); +} +function Uu(e) { + return -Math.round(e._d.getTimezoneOffset()); +} +ae.updateOffset = function () {}; +function L2(e, t, r) { + var a = this._offset || 0, + l; + if (!this.isValid()) return e != null ? this : NaN; + if (e != null) { + if (typeof e == "string") { + if (((e = kc(No, e)), e === null)) return this; + } else Math.abs(e) < 16 && !r && (e = e * 60); + return ( + !this._isUTC && t && (l = Uu(this)), + (this._offset = e), + (this._isUTC = !0), + l != null && this.add(l, "m"), + a !== e && + (!t || this._changeInProgress + ? om(this, jn(e - a, "m"), 1, !1) + : this._changeInProgress || + ((this._changeInProgress = !0), + ae.updateOffset(this, !0), + (this._changeInProgress = null))), + this + ); + } else return this._isUTC ? a : Uu(this); +} +function N2(e, t) { + return e != null + ? (typeof e != "string" && (e = -e), this.utcOffset(e, t), this) + : -this.utcOffset(); +} +function B2(e) { + return this.utcOffset(0, e); +} +function F2(e) { + return ( + this._isUTC && + (this.utcOffset(0, e), + (this._isUTC = !1), + e && this.subtract(Uu(this), "m")), + this + ); +} +function U2() { + if (this._tzm != null) this.utcOffset(this._tzm, !1, !0); + else if (typeof this._i == "string") { + var e = kc(sC, this._i); + e != null ? this.utcOffset(e) : this.utcOffset(0, !0); + } + return this; +} +function V2(e) { + return this.isValid() + ? ((e = e ? pt(e).utcOffset() : 0), (this.utcOffset() - e) % 60 === 0) + : !1; +} +function z2() { + return ( + this.utcOffset() > this.clone().month(0).utcOffset() || + this.utcOffset() > this.clone().month(5).utcOffset() + ); +} +function W2() { + if (!mn(this._isDSTShifted)) return this._isDSTShifted; + var e = {}, + t; + return ( + cc(e, this), + (e = tm(e)), + e._a + ? ((t = e._isUTC ? or(e._a) : pt(e._a)), + (this._isDSTShifted = this.isValid() && R2(e._a, t.toArray()) > 0)) + : (this._isDSTShifted = !1), + this._isDSTShifted + ); +} +function Y2() { + return this.isValid() ? !this._isUTC : !1; +} +function H2() { + return this.isValid() ? this._isUTC : !1; +} +function am() { + return this.isValid() ? this._isUTC && this._offset === 0 : !1; +} +var G2 = /^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/, + K2 = + /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/; +function jn(e, t) { + var r = e, + a = null, + l, + s, + u; + return ( + ao(e) + ? (r = { ms: e._milliseconds, d: e._days, M: e._months }) + : Dr(e) || !isNaN(+e) + ? ((r = {}), t ? (r[t] = +e) : (r.milliseconds = +e)) + : (a = G2.exec(e)) + ? ((l = a[1] === "-" ? -1 : 1), + (r = { + y: 0, + d: We(a[nr]) * l, + h: We(a[Ot]) * l, + m: We(a[Gn]) * l, + s: We(a[Tr]) * l, + ms: We(Fu(a[mi] * 1e3)) * l, + })) + : (a = K2.exec(e)) + ? ((l = a[1] === "-" ? -1 : 1), + (r = { + y: di(a[2], l), + M: di(a[3], l), + w: di(a[4], l), + d: di(a[5], l), + h: di(a[6], l), + m: di(a[7], l), + s: di(a[8], l), + })) + : r == null + ? (r = {}) + : typeof r == "object" && + ("from" in r || "to" in r) && + ((u = Q2(pt(r.from), pt(r.to))), + (r = {}), + (r.ms = u.milliseconds), + (r.M = u.months)), + (s = new Uo(r)), + ao(e) && Xe(e, "_locale") && (s._locale = e._locale), + ao(e) && Xe(e, "_isValid") && (s._isValid = e._isValid), + s + ); +} +jn.fn = Uo.prototype; +jn.invalid = $2; +function di(e, t) { + var r = e && parseFloat(e.replace(",", ".")); + return (isNaN(r) ? 0 : r) * t; +} +function qh(e, t) { + var r = {}; + return ( + (r.months = t.month() - e.month() + (t.year() - e.year()) * 12), + e.clone().add(r.months, "M").isAfter(t) && --r.months, + (r.milliseconds = +t - +e.clone().add(r.months, "M")), + r + ); +} +function Q2(e, t) { + var r; + return e.isValid() && t.isValid() + ? ((t = Cc(t, e)), + e.isBefore(t) + ? (r = qh(e, t)) + : ((r = qh(t, e)), + (r.milliseconds = -r.milliseconds), + (r.months = -r.months)), + r) + : { milliseconds: 0, months: 0 }; +} +function lm(e, t) { + return function (r, a) { + var l, s; + return ( + a !== null && + !isNaN(+a) && + ($g( + t, + "moment()." + + t + + "(period, number) is deprecated. Please use moment()." + + t + + "(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info." + ), + (s = r), + (r = a), + (a = s)), + (l = jn(r, a)), + om(this, l, e), + this + ); + }; +} +function om(e, t, r, a) { + var l = t._milliseconds, + s = Fu(t._days), + u = Fu(t._months); + !e.isValid() || + ((a = a == null ? !0 : a), + u && Wg(e, bo(e, "Month") + u * r), + s && Lg(e, "Date", bo(e, "Date") + s * r), + l && e._d.setTime(e._d.valueOf() + l * r), + a && ae.updateOffset(e, s || u)); +} +var j2 = lm(1, "add"), + Z2 = lm(-1, "subtract"); +function sm(e) { + return typeof e == "string" || e instanceof String; +} +function J2(e) { + return ( + Qn(e) || + Qa(e) || + sm(e) || + Dr(e) || + eT(e) || + X2(e) || + e === null || + e === void 0 + ); +} +function X2(e) { + var t = pi(e) && !sc(e), + r = !1, + a = [ + "years", + "year", + "y", + "months", + "month", + "M", + "days", + "day", + "d", + "dates", + "date", + "D", + "hours", + "hour", + "h", + "minutes", + "minute", + "m", + "seconds", + "second", + "s", + "milliseconds", + "millisecond", + "ms", + ], + l, + s, + u = a.length; + for (l = 0; l < u; l += 1) (s = a[l]), (r = r || Xe(e, s)); + return t && r; +} +function eT(e) { + var t = Kn(e), + r = !1; + return ( + t && + (r = + e.filter(function (a) { + return !Dr(a) && sm(e); + }).length === 0), + t && r + ); +} +function tT(e) { + var t = pi(e) && !sc(e), + r = !1, + a = ["sameDay", "nextDay", "lastDay", "nextWeek", "lastWeek", "sameElse"], + l, + s; + for (l = 0; l < a.length; l += 1) (s = a[l]), (r = r || Xe(e, s)); + return t && r; +} +function nT(e, t) { + var r = e.diff(t, "days", !0); + return r < -6 + ? "sameElse" + : r < -1 + ? "lastWeek" + : r < 0 + ? "lastDay" + : r < 1 + ? "sameDay" + : r < 2 + ? "nextDay" + : r < 7 + ? "nextWeek" + : "sameElse"; +} +function rT(e, t) { + arguments.length === 1 && + (arguments[0] + ? J2(arguments[0]) + ? ((e = arguments[0]), (t = void 0)) + : tT(arguments[0]) && ((t = arguments[0]), (e = void 0)) + : ((e = void 0), (t = void 0))); + var r = e || pt(), + a = Cc(r, this).startOf("day"), + l = ae.calendarFormat(this, a) || "sameElse", + s = t && (sr(t[l]) ? t[l].call(this, r) : t[l]); + return this.format(s || this.localeData().calendar(l, this, pt(r))); +} +function iT() { + return new ja(this); +} +function aT(e, t) { + var r = Qn(e) ? e : pt(e); + return this.isValid() && r.isValid() + ? ((t = Nn(t) || "millisecond"), + t === "millisecond" + ? this.valueOf() > r.valueOf() + : r.valueOf() < this.clone().startOf(t).valueOf()) + : !1; +} +function lT(e, t) { + var r = Qn(e) ? e : pt(e); + return this.isValid() && r.isValid() + ? ((t = Nn(t) || "millisecond"), + t === "millisecond" + ? this.valueOf() < r.valueOf() + : this.clone().endOf(t).valueOf() < r.valueOf()) + : !1; +} +function oT(e, t, r, a) { + var l = Qn(e) ? e : pt(e), + s = Qn(t) ? t : pt(t); + return this.isValid() && l.isValid() && s.isValid() + ? ((a = a || "()"), + (a[0] === "(" ? this.isAfter(l, r) : !this.isBefore(l, r)) && + (a[1] === ")" ? this.isBefore(s, r) : !this.isAfter(s, r))) + : !1; +} +function sT(e, t) { + var r = Qn(e) ? e : pt(e), + a; + return this.isValid() && r.isValid() + ? ((t = Nn(t) || "millisecond"), + t === "millisecond" + ? this.valueOf() === r.valueOf() + : ((a = r.valueOf()), + this.clone().startOf(t).valueOf() <= a && + a <= this.clone().endOf(t).valueOf())) + : !1; +} +function uT(e, t) { + return this.isSame(e, t) || this.isAfter(e, t); +} +function cT(e, t) { + return this.isSame(e, t) || this.isBefore(e, t); +} +function dT(e, t, r) { + var a, l, s; + if (!this.isValid()) return NaN; + if (((a = Cc(e, this)), !a.isValid())) return NaN; + switch (((l = (a.utcOffset() - this.utcOffset()) * 6e4), (t = Nn(t)), t)) { + case "year": + s = lo(this, a) / 12; + break; + case "month": + s = lo(this, a); + break; + case "quarter": + s = lo(this, a) / 3; + break; + case "second": + s = (this - a) / 1e3; + break; + case "minute": + s = (this - a) / 6e4; + break; + case "hour": + s = (this - a) / 36e5; + break; + case "day": + s = (this - a - l) / 864e5; + break; + case "week": + s = (this - a - l) / 6048e5; + break; + default: + s = this - a; + } + return r ? s : On(s); +} +function lo(e, t) { + if (e.date() < t.date()) return -lo(t, e); + var r = (t.year() - e.year()) * 12 + (t.month() - e.month()), + a = e.clone().add(r, "months"), + l, + s; + return ( + t - a < 0 + ? ((l = e.clone().add(r - 1, "months")), (s = (t - a) / (a - l))) + : ((l = e.clone().add(r + 1, "months")), (s = (t - a) / (l - a))), + -(r + s) || 0 + ); +} +ae.defaultFormat = "YYYY-MM-DDTHH:mm:ssZ"; +ae.defaultFormatUtc = "YYYY-MM-DDTHH:mm:ss[Z]"; +function fT() { + return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ"); +} +function hT(e) { + if (!this.isValid()) return null; + var t = e !== !0, + r = t ? this.clone().utc() : this; + return r.year() < 0 || r.year() > 9999 + ? io( + r, + t ? "YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]" : "YYYYYY-MM-DD[T]HH:mm:ss.SSSZ" + ) + : sr(Date.prototype.toISOString) + ? t + ? this.toDate().toISOString() + : new Date(this.valueOf() + this.utcOffset() * 60 * 1e3) + .toISOString() + .replace("Z", io(r, "Z")) + : io(r, t ? "YYYY-MM-DD[T]HH:mm:ss.SSS[Z]" : "YYYY-MM-DD[T]HH:mm:ss.SSSZ"); +} +function gT() { + if (!this.isValid()) return "moment.invalid(/* " + this._i + " */)"; + var e = "moment", + t = "", + r, + a, + l, + s; + return ( + this.isLocal() || + ((e = this.utcOffset() === 0 ? "moment.utc" : "moment.parseZone"), + (t = "Z")), + (r = "[" + e + '("]'), + (a = 0 <= this.year() && this.year() <= 9999 ? "YYYY" : "YYYYYY"), + (l = "-MM-DD[T]HH:mm:ss.SSS"), + (s = t + '[")]'), + this.format(r + a + l + s) + ); +} +function mT(e) { + e || (e = this.isUtc() ? ae.defaultFormatUtc : ae.defaultFormat); + var t = io(this, e); + return this.localeData().postformat(t); +} +function vT(e, t) { + return this.isValid() && ((Qn(e) && e.isValid()) || pt(e).isValid()) + ? jn({ to: this, from: e }).locale(this.locale()).humanize(!t) + : this.localeData().invalidDate(); +} +function pT(e) { + return this.from(pt(), e); +} +function yT(e, t) { + return this.isValid() && ((Qn(e) && e.isValid()) || pt(e).isValid()) + ? jn({ from: this, to: e }).locale(this.locale()).humanize(!t) + : this.localeData().invalidDate(); +} +function _T(e) { + return this.to(pt(), e); +} +function um(e) { + var t; + return e === void 0 + ? this._locale._abbr + : ((t = qr(e)), t != null && (this._locale = t), this); +} +var cm = Ln( + "moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.", + function (e) { + return e === void 0 ? this.localeData() : this.locale(e); + } +); +function dm() { + return this._locale; +} +var ko = 1e3, + Zi = 60 * ko, + Co = 60 * Zi, + fm = (365 * 400 + 97) * 24 * Co; +function Ji(e, t) { + return ((e % t) + t) % t; +} +function hm(e, t, r) { + return e < 100 && e >= 0 + ? new Date(e + 400, t, r) - fm + : new Date(e, t, r).valueOf(); +} +function gm(e, t, r) { + return e < 100 && e >= 0 ? Date.UTC(e + 400, t, r) - fm : Date.UTC(e, t, r); +} +function bT(e) { + var t, r; + if (((e = Nn(e)), e === void 0 || e === "millisecond" || !this.isValid())) + return this; + switch (((r = this._isUTC ? gm : hm), e)) { + case "year": + t = r(this.year(), 0, 1); + break; + case "quarter": + t = r(this.year(), this.month() - (this.month() % 3), 1); + break; + case "month": + t = r(this.year(), this.month(), 1); + break; + case "week": + t = r(this.year(), this.month(), this.date() - this.weekday()); + break; + case "isoWeek": + t = r(this.year(), this.month(), this.date() - (this.isoWeekday() - 1)); + break; + case "day": + case "date": + t = r(this.year(), this.month(), this.date()); + break; + case "hour": + (t = this._d.valueOf()), + (t -= Ji(t + (this._isUTC ? 0 : this.utcOffset() * Zi), Co)); + break; + case "minute": + (t = this._d.valueOf()), (t -= Ji(t, Zi)); + break; + case "second": + (t = this._d.valueOf()), (t -= Ji(t, ko)); + break; + } + return this._d.setTime(t), ae.updateOffset(this, !0), this; +} +function wT(e) { + var t, r; + if (((e = Nn(e)), e === void 0 || e === "millisecond" || !this.isValid())) + return this; + switch (((r = this._isUTC ? gm : hm), e)) { + case "year": + t = r(this.year() + 1, 0, 1) - 1; + break; + case "quarter": + t = r(this.year(), this.month() - (this.month() % 3) + 3, 1) - 1; + break; + case "month": + t = r(this.year(), this.month() + 1, 1) - 1; + break; + case "week": + t = r(this.year(), this.month(), this.date() - this.weekday() + 7) - 1; + break; + case "isoWeek": + t = + r( + this.year(), + this.month(), + this.date() - (this.isoWeekday() - 1) + 7 + ) - 1; + break; + case "day": + case "date": + t = r(this.year(), this.month(), this.date() + 1) - 1; + break; + case "hour": + (t = this._d.valueOf()), + (t += Co - Ji(t + (this._isUTC ? 0 : this.utcOffset() * Zi), Co) - 1); + break; + case "minute": + (t = this._d.valueOf()), (t += Zi - Ji(t, Zi) - 1); + break; + case "second": + (t = this._d.valueOf()), (t += ko - Ji(t, ko) - 1); + break; + } + return this._d.setTime(t), ae.updateOffset(this, !0), this; +} +function ST() { + return this._d.valueOf() - (this._offset || 0) * 6e4; +} +function kT() { + return Math.floor(this.valueOf() / 1e3); +} +function CT() { + return new Date(this.valueOf()); +} +function TT() { + var e = this; + return [ + e.year(), + e.month(), + e.date(), + e.hour(), + e.minute(), + e.second(), + e.millisecond(), + ]; +} +function MT() { + var e = this; + return { + years: e.year(), + months: e.month(), + date: e.date(), + hours: e.hours(), + minutes: e.minutes(), + seconds: e.seconds(), + milliseconds: e.milliseconds(), + }; +} +function DT() { + return this.isValid() ? this.toISOString() : null; +} +function qT() { + return uc(this); +} +function xT() { + return Kr({}, Oe(this)); +} +function PT() { + return Oe(this).overflow; +} +function AT() { + return { + input: this._i, + format: this._f, + locale: this._locale, + isUTC: this._isUTC, + strict: this._strict, + }; +} +be("N", 0, 0, "eraAbbr"); +be("NN", 0, 0, "eraAbbr"); +be("NNN", 0, 0, "eraAbbr"); +be("NNNN", 0, 0, "eraName"); +be("NNNNN", 0, 0, "eraNarrow"); +be("y", ["y", 1], "yo", "eraYear"); +be("y", ["yy", 2], 0, "eraYear"); +be("y", ["yyy", 3], 0, "eraYear"); +be("y", ["yyyy", 4], 0, "eraYear"); +ce("N", Tc); +ce("NN", Tc); +ce("NNN", Tc); +ce("NNNN", VT); +ce("NNNNN", zT); +ct(["N", "NN", "NNN", "NNNN", "NNNNN"], function (e, t, r, a) { + var l = r._locale.erasParse(e, a, r._strict); + l ? (Oe(r).era = l) : (Oe(r).invalidEra = e); +}); +ce("y", oa); +ce("yy", oa); +ce("yyy", oa); +ce("yyyy", oa); +ce("yo", WT); +ct(["y", "yy", "yyy", "yyyy"], Xt); +ct(["yo"], function (e, t, r, a) { + var l; + r._locale._eraYearOrdinalRegex && + (l = e.match(r._locale._eraYearOrdinalRegex)), + r._locale.eraYearOrdinalParse + ? (t[Xt] = r._locale.eraYearOrdinalParse(e, l)) + : (t[Xt] = parseInt(e, 10)); +}); +function ET(e, t) { + var r, + a, + l, + s = this._eras || qr("en")._eras; + for (r = 0, a = s.length; r < a; ++r) { + switch (typeof s[r].since) { + case "string": + (l = ae(s[r].since).startOf("day")), (s[r].since = l.valueOf()); + break; + } + switch (typeof s[r].until) { + case "undefined": + s[r].until = 1 / 0; + break; + case "string": + (l = ae(s[r].until).startOf("day").valueOf()), + (s[r].until = l.valueOf()); + break; + } + } + return s; +} +function IT(e, t, r) { + var a, + l, + s = this.eras(), + u, + d, + f; + for (e = e.toUpperCase(), a = 0, l = s.length; a < l; ++a) + if ( + ((u = s[a].name.toUpperCase()), + (d = s[a].abbr.toUpperCase()), + (f = s[a].narrow.toUpperCase()), + r) + ) + switch (t) { + case "N": + case "NN": + case "NNN": + if (d === e) return s[a]; + break; + case "NNNN": + if (u === e) return s[a]; + break; + case "NNNNN": + if (f === e) return s[a]; + break; + } + else if ([u, d, f].indexOf(e) >= 0) return s[a]; +} +function $T(e, t) { + var r = e.since <= e.until ? 1 : -1; + return t === void 0 + ? ae(e.since).year() + : ae(e.since).year() + (t - e.offset) * r; +} +function RT() { + var e, + t, + r, + a = this.localeData().eras(); + for (e = 0, t = a.length; e < t; ++e) + if ( + ((r = this.clone().startOf("day").valueOf()), + (a[e].since <= r && r <= a[e].until) || + (a[e].until <= r && r <= a[e].since)) + ) + return a[e].name; + return ""; +} +function OT() { + var e, + t, + r, + a = this.localeData().eras(); + for (e = 0, t = a.length; e < t; ++e) + if ( + ((r = this.clone().startOf("day").valueOf()), + (a[e].since <= r && r <= a[e].until) || + (a[e].until <= r && r <= a[e].since)) + ) + return a[e].narrow; + return ""; +} +function LT() { + var e, + t, + r, + a = this.localeData().eras(); + for (e = 0, t = a.length; e < t; ++e) + if ( + ((r = this.clone().startOf("day").valueOf()), + (a[e].since <= r && r <= a[e].until) || + (a[e].until <= r && r <= a[e].since)) + ) + return a[e].abbr; + return ""; +} +function NT() { + var e, + t, + r, + a, + l = this.localeData().eras(); + for (e = 0, t = l.length; e < t; ++e) + if ( + ((r = l[e].since <= l[e].until ? 1 : -1), + (a = this.clone().startOf("day").valueOf()), + (l[e].since <= a && a <= l[e].until) || + (l[e].until <= a && a <= l[e].since)) + ) + return (this.year() - ae(l[e].since).year()) * r + l[e].offset; + return this.year(); +} +function BT(e) { + return ( + Xe(this, "_erasNameRegex") || Mc.call(this), + e ? this._erasNameRegex : this._erasRegex + ); +} +function FT(e) { + return ( + Xe(this, "_erasAbbrRegex") || Mc.call(this), + e ? this._erasAbbrRegex : this._erasRegex + ); +} +function UT(e) { + return ( + Xe(this, "_erasNarrowRegex") || Mc.call(this), + e ? this._erasNarrowRegex : this._erasRegex + ); +} +function Tc(e, t) { + return t.erasAbbrRegex(e); +} +function VT(e, t) { + return t.erasNameRegex(e); +} +function zT(e, t) { + return t.erasNarrowRegex(e); +} +function WT(e, t) { + return t._eraYearOrdinalRegex || oa; +} +function Mc() { + var e = [], + t = [], + r = [], + a = [], + l, + s, + u = this.eras(); + for (l = 0, s = u.length; l < s; ++l) + t.push(kn(u[l].name)), + e.push(kn(u[l].abbr)), + r.push(kn(u[l].narrow)), + a.push(kn(u[l].name)), + a.push(kn(u[l].abbr)), + a.push(kn(u[l].narrow)); + (this._erasRegex = new RegExp("^(" + a.join("|") + ")", "i")), + (this._erasNameRegex = new RegExp("^(" + t.join("|") + ")", "i")), + (this._erasAbbrRegex = new RegExp("^(" + e.join("|") + ")", "i")), + (this._erasNarrowRegex = new RegExp("^(" + r.join("|") + ")", "i")); +} +be(0, ["gg", 2], 0, function () { + return this.weekYear() % 100; +}); +be(0, ["GG", 2], 0, function () { + return this.isoWeekYear() % 100; +}); +function Vo(e, t) { + be(0, [e, e.length], 0, t); +} +Vo("gggg", "weekYear"); +Vo("ggggg", "weekYear"); +Vo("GGGG", "isoWeekYear"); +Vo("GGGGG", "isoWeekYear"); +en("weekYear", "gg"); +en("isoWeekYear", "GG"); +tn("weekYear", 1); +tn("isoWeekYear", 1); +ce("G", Lo); +ce("g", Lo); +ce("GG", yt, Dn); +ce("gg", yt, Dn); +ce("GGGG", mc, gc); +ce("gggg", mc, gc); +ce("GGGGG", Oo, $o); +ce("ggggg", Oo, $o); +Ja(["gggg", "ggggg", "GGGG", "GGGGG"], function (e, t, r, a) { + t[a.substr(0, 2)] = We(e); +}); +Ja(["gg", "GG"], function (e, t, r, a) { + t[a] = ae.parseTwoDigitYear(e); +}); +function YT(e) { + return mm.call( + this, + e, + this.week(), + this.weekday(), + this.localeData()._week.dow, + this.localeData()._week.doy + ); +} +function HT(e) { + return mm.call(this, e, this.isoWeek(), this.isoWeekday(), 1, 4); +} +function GT() { + return Mr(this.year(), 1, 4); +} +function KT() { + return Mr(this.isoWeekYear(), 1, 4); +} +function QT() { + var e = this.localeData()._week; + return Mr(this.year(), e.dow, e.doy); +} +function jT() { + var e = this.localeData()._week; + return Mr(this.weekYear(), e.dow, e.doy); +} +function mm(e, t, r, a, l) { + var s; + return e == null + ? Va(this, a, l).year + : ((s = Mr(e, a, l)), t > s && (t = s), ZT.call(this, e, t, r, a, l)); +} +function ZT(e, t, r, a, l) { + var s = Kg(e, t, r, a, l), + u = Ua(s.year, 0, s.dayOfYear); + return ( + this.year(u.getUTCFullYear()), + this.month(u.getUTCMonth()), + this.date(u.getUTCDate()), + this + ); +} +be("Q", 0, "Qo", "quarter"); +en("quarter", "Q"); +tn("quarter", 7); +ce("Q", Ng); +ct("Q", function (e, t) { + t[Cr] = (We(e) - 1) * 3; +}); +function JT(e) { + return e == null + ? Math.ceil((this.month() + 1) / 3) + : this.month((e - 1) * 3 + (this.month() % 3)); +} +be("D", ["DD", 2], "Do", "date"); +en("date", "D"); +tn("date", 9); +ce("D", yt); +ce("DD", yt, Dn); +ce("Do", function (e, t) { + return e + ? t._dayOfMonthOrdinalParse || t._ordinalParse + : t._dayOfMonthOrdinalParseLenient; +}); +ct(["D", "DD"], nr); +ct("Do", function (e, t) { + t[nr] = We(e.match(yt)[0]); +}); +var vm = la("Date", !0); +be("DDD", ["DDDD", 3], "DDDo", "dayOfYear"); +en("dayOfYear", "DDD"); +tn("dayOfYear", 4); +ce("DDD", Ro); +ce("DDDD", Bg); +ct(["DDD", "DDDD"], function (e, t, r) { + r._dayOfYear = We(e); +}); +function XT(e) { + var t = + Math.round( + (this.clone().startOf("day") - this.clone().startOf("year")) / 864e5 + ) + 1; + return e == null ? t : this.add(e - t, "d"); +} +be("m", ["mm", 2], 0, "minute"); +en("minute", "m"); +tn("minute", 14); +ce("m", yt); +ce("mm", yt, Dn); +ct(["m", "mm"], Gn); +var eM = la("Minutes", !1); +be("s", ["ss", 2], 0, "second"); +en("second", "s"); +tn("second", 15); +ce("s", yt); +ce("ss", yt, Dn); +ct(["s", "ss"], Tr); +var tM = la("Seconds", !1); +be("S", 0, 0, function () { + return ~~(this.millisecond() / 100); +}); +be(0, ["SS", 2], 0, function () { + return ~~(this.millisecond() / 10); +}); +be(0, ["SSS", 3], 0, "millisecond"); +be(0, ["SSSS", 4], 0, function () { + return this.millisecond() * 10; +}); +be(0, ["SSSSS", 5], 0, function () { + return this.millisecond() * 100; +}); +be(0, ["SSSSSS", 6], 0, function () { + return this.millisecond() * 1e3; +}); +be(0, ["SSSSSSS", 7], 0, function () { + return this.millisecond() * 1e4; +}); +be(0, ["SSSSSSSS", 8], 0, function () { + return this.millisecond() * 1e5; +}); +be(0, ["SSSSSSSSS", 9], 0, function () { + return this.millisecond() * 1e6; +}); +en("millisecond", "ms"); +tn("millisecond", 16); +ce("S", Ro, Ng); +ce("SS", Ro, Dn); +ce("SSS", Ro, Bg); +var Qr, pm; +for (Qr = "SSSS"; Qr.length <= 9; Qr += "S") ce(Qr, oa); +function nM(e, t) { + t[mi] = We(("0." + e) * 1e3); +} +for (Qr = "S"; Qr.length <= 9; Qr += "S") ct(Qr, nM); +pm = la("Milliseconds", !1); +be("z", 0, 0, "zoneAbbr"); +be("zz", 0, 0, "zoneName"); +function rM() { + return this._isUTC ? "UTC" : ""; +} +function iM() { + return this._isUTC ? "Coordinated Universal Time" : ""; +} +var Q = ja.prototype; +Q.add = j2; +Q.calendar = rT; +Q.clone = iT; +Q.diff = dT; +Q.endOf = wT; +Q.format = mT; +Q.from = vT; +Q.fromNow = pT; +Q.to = yT; +Q.toNow = _T; +Q.get = lC; +Q.invalidAt = PT; +Q.isAfter = aT; +Q.isBefore = lT; +Q.isBetween = oT; +Q.isSame = sT; +Q.isSameOrAfter = uT; +Q.isSameOrBefore = cT; +Q.isValid = qT; +Q.lang = cm; +Q.locale = um; +Q.localeData = dm; +Q.max = q2; +Q.min = D2; +Q.parsingFlags = xT; +Q.set = oC; +Q.startOf = bT; +Q.subtract = Z2; +Q.toArray = TT; +Q.toObject = MT; +Q.toDate = CT; +Q.toISOString = hT; +Q.inspect = gT; +typeof Symbol != "undefined" && + Symbol.for != null && + (Q[Symbol.for("nodejs.util.inspect.custom")] = function () { + return "Moment<" + this.format() + ">"; + }); +Q.toJSON = DT; +Q.toString = fT; +Q.unix = kT; +Q.valueOf = ST; +Q.creationData = AT; +Q.eraName = RT; +Q.eraNarrow = OT; +Q.eraAbbr = LT; +Q.eraYear = NT; +Q.year = Gg; +Q.isLeapYear = MC; +Q.weekYear = YT; +Q.isoWeekYear = HT; +Q.quarter = Q.quarters = JT; +Q.month = Yg; +Q.daysInMonth = kC; +Q.week = Q.weeks = EC; +Q.isoWeek = Q.isoWeeks = IC; +Q.weeksInYear = QT; +Q.weeksInWeekYear = jT; +Q.isoWeeksInYear = GT; +Q.isoWeeksInISOWeekYear = KT; +Q.date = vm; +Q.day = Q.days = HC; +Q.weekday = GC; +Q.isoWeekday = KC; +Q.dayOfYear = XT; +Q.hour = Q.hours = t2; +Q.minute = Q.minutes = eM; +Q.second = Q.seconds = tM; +Q.millisecond = Q.milliseconds = pm; +Q.utcOffset = L2; +Q.utc = B2; +Q.local = F2; +Q.parseZone = U2; +Q.hasAlignedHourOffset = V2; +Q.isDST = z2; +Q.isLocal = Y2; +Q.isUtcOffset = H2; +Q.isUtc = am; +Q.isUTC = am; +Q.zoneAbbr = rM; +Q.zoneName = iM; +Q.dates = Ln("dates accessor is deprecated. Use date instead.", vm); +Q.months = Ln("months accessor is deprecated. Use month instead", Yg); +Q.years = Ln("years accessor is deprecated. Use year instead", Gg); +Q.zone = Ln( + "moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/", + N2 +); +Q.isDSTShifted = Ln( + "isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information", + W2 +); +function aM(e) { + return pt(e * 1e3); +} +function lM() { + return pt.apply(null, arguments).parseZone(); +} +function ym(e) { + return e; +} +var et = dc.prototype; +et.calendar = Hk; +et.longDateFormat = jk; +et.invalidDate = Jk; +et.ordinal = tC; +et.preparse = ym; +et.postformat = ym; +et.relativeTime = rC; +et.pastFuture = iC; +et.set = Wk; +et.eras = ET; +et.erasParse = IT; +et.erasConvertYear = $T; +et.erasAbbrRegex = FT; +et.erasNameRegex = BT; +et.erasNarrowRegex = UT; +et.months = _C; +et.monthsShort = bC; +et.monthsParse = SC; +et.monthsRegex = TC; +et.monthsShortRegex = CC; +et.week = qC; +et.firstDayOfYear = AC; +et.firstDayOfWeek = PC; +et.weekdays = UC; +et.weekdaysMin = zC; +et.weekdaysShort = VC; +et.weekdaysParse = YC; +et.weekdaysRegex = QC; +et.weekdaysShortRegex = jC; +et.weekdaysMinRegex = ZC; +et.isPM = XC; +et.meridiem = n2; +function To(e, t, r, a) { + var l = qr(), + s = or().set(a, t); + return l[r](s, e); +} +function _m(e, t, r) { + if ((Dr(e) && ((t = e), (e = void 0)), (e = e || ""), t != null)) + return To(e, t, r, "month"); + var a, + l = []; + for (a = 0; a < 12; a++) l[a] = To(e, a, r, "month"); + return l; +} +function Dc(e, t, r, a) { + typeof e == "boolean" + ? (Dr(t) && ((r = t), (t = void 0)), (t = t || "")) + : ((t = e), + (r = t), + (e = !1), + Dr(t) && ((r = t), (t = void 0)), + (t = t || "")); + var l = qr(), + s = e ? l._week.dow : 0, + u, + d = []; + if (r != null) return To(t, (r + s) % 7, a, "day"); + for (u = 0; u < 7; u++) d[u] = To(t, (u + s) % 7, a, "day"); + return d; +} +function oM(e, t) { + return _m(e, t, "months"); +} +function sM(e, t) { + return _m(e, t, "monthsShort"); +} +function uM(e, t, r) { + return Dc(e, t, r, "weekdays"); +} +function cM(e, t, r) { + return Dc(e, t, r, "weekdaysShort"); +} +function dM(e, t, r) { + return Dc(e, t, r, "weekdaysMin"); +} +Zr("en", { + eras: [ + { + since: "0001-01-01", + until: 1 / 0, + offset: 1, + name: "Anno Domini", + narrow: "AD", + abbr: "AD", + }, + { + since: "0000-12-31", + until: -1 / 0, + offset: 1, + name: "Before Christ", + narrow: "BC", + abbr: "BC", + }, + ], + dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, + ordinal: function (e) { + var t = e % 10, + r = + We((e % 100) / 10) === 1 + ? "th" + : t === 1 + ? "st" + : t === 2 + ? "nd" + : t === 3 + ? "rd" + : "th"; + return e + r; + }, +}); +ae.lang = Ln("moment.lang is deprecated. Use moment.locale instead.", Zr); +ae.langData = Ln( + "moment.langData is deprecated. Use moment.localeData instead.", + qr +); +var br = Math.abs; +function fM() { + var e = this._data; + return ( + (this._milliseconds = br(this._milliseconds)), + (this._days = br(this._days)), + (this._months = br(this._months)), + (e.milliseconds = br(e.milliseconds)), + (e.seconds = br(e.seconds)), + (e.minutes = br(e.minutes)), + (e.hours = br(e.hours)), + (e.months = br(e.months)), + (e.years = br(e.years)), + this + ); +} +function bm(e, t, r, a) { + var l = jn(t, r); + return ( + (e._milliseconds += a * l._milliseconds), + (e._days += a * l._days), + (e._months += a * l._months), + e._bubble() + ); +} +function hM(e, t) { + return bm(this, e, t, 1); +} +function gM(e, t) { + return bm(this, e, t, -1); +} +function xh(e) { + return e < 0 ? Math.floor(e) : Math.ceil(e); +} +function mM() { + var e = this._milliseconds, + t = this._days, + r = this._months, + a = this._data, + l, + s, + u, + d, + f; + return ( + (e >= 0 && t >= 0 && r >= 0) || + (e <= 0 && t <= 0 && r <= 0) || + ((e += xh(Vu(r) + t) * 864e5), (t = 0), (r = 0)), + (a.milliseconds = e % 1e3), + (l = On(e / 1e3)), + (a.seconds = l % 60), + (s = On(l / 60)), + (a.minutes = s % 60), + (u = On(s / 60)), + (a.hours = u % 24), + (t += On(u / 24)), + (f = On(wm(t))), + (r += f), + (t -= xh(Vu(f))), + (d = On(r / 12)), + (r %= 12), + (a.days = t), + (a.months = r), + (a.years = d), + this + ); +} +function wm(e) { + return (e * 4800) / 146097; +} +function Vu(e) { + return (e * 146097) / 4800; +} +function vM(e) { + if (!this.isValid()) return NaN; + var t, + r, + a = this._milliseconds; + if (((e = Nn(e)), e === "month" || e === "quarter" || e === "year")) + switch (((t = this._days + a / 864e5), (r = this._months + wm(t)), e)) { + case "month": + return r; + case "quarter": + return r / 3; + case "year": + return r / 12; + } + else + switch (((t = this._days + Math.round(Vu(this._months))), e)) { + case "week": + return t / 7 + a / 6048e5; + case "day": + return t + a / 864e5; + case "hour": + return t * 24 + a / 36e5; + case "minute": + return t * 1440 + a / 6e4; + case "second": + return t * 86400 + a / 1e3; + case "millisecond": + return Math.floor(t * 864e5) + a; + default: + throw new Error("Unknown unit " + e); + } +} +function pM() { + return this.isValid() + ? this._milliseconds + + this._days * 864e5 + + (this._months % 12) * 2592e6 + + We(this._months / 12) * 31536e6 + : NaN; +} +function xr(e) { + return function () { + return this.as(e); + }; +} +var yM = xr("ms"), + _M = xr("s"), + bM = xr("m"), + wM = xr("h"), + SM = xr("d"), + kM = xr("w"), + CM = xr("M"), + TM = xr("Q"), + MM = xr("y"); +function DM() { + return jn(this); +} +function qM(e) { + return (e = Nn(e)), this.isValid() ? this[e + "s"]() : NaN; +} +function bi(e) { + return function () { + return this.isValid() ? this._data[e] : NaN; + }; +} +var xM = bi("milliseconds"), + PM = bi("seconds"), + AM = bi("minutes"), + EM = bi("hours"), + IM = bi("days"), + $M = bi("months"), + RM = bi("years"); +function OM() { + return On(this.days() / 7); +} +var wr = Math.round, + Gi = { ss: 44, s: 45, m: 45, h: 22, d: 26, w: null, M: 11 }; +function LM(e, t, r, a, l) { + return l.relativeTime(t || 1, !!r, e, a); +} +function NM(e, t, r, a) { + var l = jn(e).abs(), + s = wr(l.as("s")), + u = wr(l.as("m")), + d = wr(l.as("h")), + f = wr(l.as("d")), + g = wr(l.as("M")), + v = wr(l.as("w")), + T = wr(l.as("y")), + M = + (s <= r.ss && ["s", s]) || + (s < r.s && ["ss", s]) || + (u <= 1 && ["m"]) || + (u < r.m && ["mm", u]) || + (d <= 1 && ["h"]) || + (d < r.h && ["hh", d]) || + (f <= 1 && ["d"]) || + (f < r.d && ["dd", f]); + return ( + r.w != null && (M = M || (v <= 1 && ["w"]) || (v < r.w && ["ww", v])), + (M = M || + (g <= 1 && ["M"]) || + (g < r.M && ["MM", g]) || + (T <= 1 && ["y"]) || ["yy", T]), + (M[2] = t), + (M[3] = +e > 0), + (M[4] = a), + LM.apply(null, M) + ); +} +function BM(e) { + return e === void 0 ? wr : typeof e == "function" ? ((wr = e), !0) : !1; +} +function FM(e, t) { + return Gi[e] === void 0 + ? !1 + : t === void 0 + ? Gi[e] + : ((Gi[e] = t), e === "s" && (Gi.ss = t - 1), !0); +} +function UM(e, t) { + if (!this.isValid()) return this.localeData().invalidDate(); + var r = !1, + a = Gi, + l, + s; + return ( + typeof e == "object" && ((t = e), (e = !1)), + typeof e == "boolean" && (r = e), + typeof t == "object" && + ((a = Object.assign({}, Gi, t)), + t.s != null && t.ss == null && (a.ss = t.s - 1)), + (l = this.localeData()), + (s = NM(this, !r, a, l)), + r && (s = l.pastFuture(+this, s)), + l.postformat(s) + ); +} +var Mu = Math.abs; +function Vi(e) { + return (e > 0) - (e < 0) || +e; +} +function zo() { + if (!this.isValid()) return this.localeData().invalidDate(); + var e = Mu(this._milliseconds) / 1e3, + t = Mu(this._days), + r = Mu(this._months), + a, + l, + s, + u, + d = this.asSeconds(), + f, + g, + v, + T; + return d + ? ((a = On(e / 60)), + (l = On(a / 60)), + (e %= 60), + (a %= 60), + (s = On(r / 12)), + (r %= 12), + (u = e ? e.toFixed(3).replace(/\.?0+$/, "") : ""), + (f = d < 0 ? "-" : ""), + (g = Vi(this._months) !== Vi(d) ? "-" : ""), + (v = Vi(this._days) !== Vi(d) ? "-" : ""), + (T = Vi(this._milliseconds) !== Vi(d) ? "-" : ""), + f + + "P" + + (s ? g + s + "Y" : "") + + (r ? g + r + "M" : "") + + (t ? v + t + "D" : "") + + (l || a || e ? "T" : "") + + (l ? T + l + "H" : "") + + (a ? T + a + "M" : "") + + (e ? T + u + "S" : "")) + : "P0D"; +} +var je = Uo.prototype; +je.isValid = I2; +je.abs = fM; +je.add = hM; +je.subtract = gM; +je.as = vM; +je.asMilliseconds = yM; +je.asSeconds = _M; +je.asMinutes = bM; +je.asHours = wM; +je.asDays = SM; +je.asWeeks = kM; +je.asMonths = CM; +je.asQuarters = TM; +je.asYears = MM; +je.valueOf = pM; +je._bubble = mM; +je.clone = DM; +je.get = qM; +je.milliseconds = xM; +je.seconds = PM; +je.minutes = AM; +je.hours = EM; +je.days = IM; +je.weeks = OM; +je.months = $M; +je.years = RM; +je.humanize = UM; +je.toISOString = zo; +je.toString = zo; +je.toJSON = zo; +je.locale = um; +je.localeData = dm; +je.toIsoString = Ln( + "toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)", + zo +); +je.lang = cm; +be("X", 0, 0, "unix"); +be("x", 0, 0, "valueOf"); +ce("x", Lo); +ce("X", uC); +ct("X", function (e, t, r) { + r._d = new Date(parseFloat(e) * 1e3); +}); +ct("x", function (e, t, r) { + r._d = new Date(We(e)); +}); //! moment.js +ae.version = "2.29.4"; +Vk(pt); +ae.fn = Q; +ae.min = x2; +ae.max = P2; +ae.now = A2; +ae.utc = or; +ae.unix = aM; +ae.months = oM; +ae.isDate = Qa; +ae.locale = Zr; +ae.invalid = Eo; +ae.duration = jn; +ae.isMoment = Qn; +ae.weekdays = uM; +ae.parseZone = lM; +ae.localeData = qr; +ae.isDuration = ao; +ae.monthsShort = sM; +ae.weekdaysMin = dM; +ae.defineLocale = _c; +ae.updateLocale = l2; +ae.locales = o2; +ae.weekdaysShort = cM; +ae.normalizeUnits = Nn; +ae.relativeTimeRounding = BM; +ae.relativeTimeThreshold = FM; +ae.calendarFormat = nT; +ae.prototype = Q; +ae.HTML5_FMT = { + DATETIME_LOCAL: "YYYY-MM-DDTHH:mm", + DATETIME_LOCAL_SECONDS: "YYYY-MM-DDTHH:mm:ss", + DATETIME_LOCAL_MS: "YYYY-MM-DDTHH:mm:ss.SSS", + DATE: "YYYY-MM-DD", + TIME: "HH:mm", + TIME_SECONDS: "HH:mm:ss", + TIME_MS: "HH:mm:ss.SSS", + WEEK: "GGGG-[W]WW", + MONTH: "YYYY-MM", +}; +const VM = sn({ + name: "UserChat", + props: ["account-pubkey", "peer-pubkeys", "profiles", "events"], + components: { UserProfile: Ka }, + data: function () { + return { + selectedPubkey: null, + selectedProfile: null, + dmEvents: [], + newMessage: null, + rawMessage: null, + showRawMessage: !1, + }; + }, + watch: { + events(e) { + (this.dmEvents = ((e == null ? void 0 : e.events) || []).map((t) => { + var l; + const r = this.accountPubkey === t.pubkey, + a = { + isJson: !1, + message: t.content, + sent: r, + avatar: r + ? $q.config.staticPath + "/images/blank-avatar.webp" + : ((l = this.selectedProfile) == null ? void 0 : l.picture) || + $q.config.staticPath + "/images/blank-avatar.webp", + dateFrom: ae(t.created_at * 1e3).fromNow(), + }; + return ( + isNaN(t.content) && + isJson(t.content) && + ((a.isJson = !0), (a.message = JSON.parse(t.content))), + a + ); + })), + setTimeout(() => { + document.getElementById("bottom-user-chat").scrollIntoView(); + }, 0); + }, + }, + methods: { + pubkeySelected(e) { + (this.selectedPubkey = e), + (this.selectedProfile = this.profiles.find((t) => t.pubkey === e)), + this.$emit("chat-selected", e), + setTimeout(() => { + document.getElementById("bottom-user-chat").scrollIntoView(); + }, 100); + }, + async sendDirectMesage() { + this.$emit("send-dm", { + to: this.selectedPubkey, + message: this.newMessage, + }), + (this.newMessage = null); + }, + pubkeyAlias(e) { + return Cg({ + dictionaries: [Tg, Mg, Dg], + length: 2, + separator: " ", + style: "capital", + seed: e, + }); + }, + showMessageRawData: function (e) { + var t; + (this.rawMessage = JSON.stringify( + (t = this.dmEvents[e]) == null ? void 0 : t.message, + null, + 2 + )), + (this.showRawMessage = !0); + }, + }, + created: async function () {}, + }), + zM = { style: { width: "100%" }, class: "q-pa-md row justify-center" }, + WM = { style: { width: "100%" } }, + YM = { key: 0 }, + HM = { key: 0 }, + GM = { key: 0 }, + KM = S("strong", null, "New order:", -1), + QM = [KM], + jM = { key: 1 }, + ZM = S("strong", null, "Reply sent for order: ", -1), + JM = [ZM], + XM = { key: 2 }, + eD = ["textContent"], + tD = ["textContent", "onClick"], + nD = { key: 1 }, + rD = ["textContent"], + iD = S("div", { id: "bottom-user-chat" }, null, -1), + aD = { class: "row q-mt-lg" }; +function lD(e, t, r, a, l, s) { + const u = Jr("user-profile"); + return ( + R(), + re("div", null, [ + y( + Jt, + { bordered: "", class: "q-mb-md" }, + { + default: b(() => [ + y( + Ne, + { horizontal: "" }, + { + default: b(() => [ + y( + Ne, + { class: "col-sm-2 col-md-4" }, + { + default: b(() => [ + (R(!0), + re( + Lt, + null, + Yt( + e.peerPubkeys, + (d) => ( + R(), + oe( + zt, + { + key: d, + clickable: "", + onClick: (f) => e.pubkeySelected(d), + active: e.selectedPubkey === d, + class: "cursor-pointer", + }, + { + default: b(() => [ + y( + u, + { pubkey: d, profiles: e.profiles }, + null, + 8, + ["pubkey", "profiles"] + ), + ]), + _: 2, + }, + 1032, + ["onClick", "active"] + ) + ) + ), + 128 + )), + ]), + _: 1, + } + ), + y(ut, { vertical: "" }), + y( + Ne, + { style: { width: "100%" } }, + { + default: b(() => [ + S("div", zM, [ + S("div", WM, [ + y( + Fk, + { style: { height: "500px" } }, + { + default: b(() => [ + e.dmEvents + ? (R(), + re("div", YM, [ + (R(!0), + re( + Lt, + null, + Yt(e.dmEvents, (d, f) => { + var g; + return ( + R(), + oe( + Bk, + { + key: f, + name: d.sent + ? "me" + : ((g = + e.selectedProfile) == + null + ? void 0 + : g.name) || + e.pubkeyAlias( + e.selectedPubkey + ), + sent: d.sent, + avatar: d.avatar, + stamp: d.dateFrom, + }, + { + default: b(() => [ + d.isJson + ? (R(), + re("div", HM, [ + d.message.type === 0 + ? (R(), + re("div", GM, QM)) + : d.message.type === + 1 + ? (R(), + re("div", jM, JM)) + : d.message.type === + 2 + ? (R(), + re("div", XM, [ + d.message.paid + ? (R(), + oe( + Cn, + { + key: 0, + color: + "green", + }, + { + default: + b( + () => [ + Te( + "Paid " + ), + ] + ), + _: 1, + } + )) + : $e("", !0), + d.message + .shipped + ? (R(), + oe( + Cn, + { + key: 1, + color: + "green", + }, + { + default: + b( + () => [ + Te( + "Shipped " + ), + ] + ), + _: 1, + } + )) + : $e("", !0), + ])) + : $e("", !0), + S("div", null, [ + S( + "span", + { + textContent: ge( + d.message + .message + ), + }, + null, + 8, + eD + ), + y( + Cn, + { + class: "gt-sm", + color: "orange", + }, + { + default: b( + () => [ + S( + "span", + { + textContent: + ge( + d + .message + .id + ), + onClick: + (v) => + e.showOrderDetails( + d + .message + .id + ), + class: + "cursor-pointer", + }, + null, + 8, + tD + ), + ] + ), + _: 2, + }, + 1024 + ), + ]), + y( + Cn, + { + onClick: (v) => + e.showMessageRawData( + f + ), + class: + "cursor-pointer", + }, + { + default: b(() => [ + Te("..."), + ]), + _: 2, + }, + 1032, + ["onClick"] + ), + ])) + : (R(), + re("div", nD, [ + S( + "span", + { + textContent: ge( + d.message + ), + }, + null, + 8, + rD + ), + ])), + ]), + _: 2, + }, + 1032, + [ + "name", + "sent", + "avatar", + "stamp", + ] + ) + ); + }), + 128 + )), + ])) + : $e("", !0), + iD, + ]), + _: 1, + } + ), + ]), + ]), + ]), + _: 1, + } + ), + ]), + _: 1, + } + ), + y(ut), + y( + Ne, + { horizontal: "" }, + { + default: b(() => [ + y(Ne, { class: "col-sm-2 col-md-4" }), + y( + Ne, + { style: { width: "100%" } }, + { + default: b(() => [ + y( + Uk, + { onSubmit: e.sendDirectMesage, class: "auto-width" }, + { + default: b(() => [ + y( + It, + { + class: "rounded-pill", + style: { width: "100%" }, + rounded: "", + outlined: "", + clearable: "", + modelValue: e.newMessage, + "onUpdate:modelValue": + t[0] || (t[0] = (d) => (e.newMessage = d)), + modelModifiers: { trim: !0 }, + label: "Write a message", + }, + { + append: b(() => [ + y( + Wt, + { + name: "send", + class: "cursor-pointer", + color: "secondary", + onClick: e.sendDirectMesage, + }, + null, + 8, + ["onClick"] + ), + ]), + _: 1, + }, + 8, + ["modelValue"] + ), + ]), + _: 1, + }, + 8, + ["onSubmit"] + ), + ]), + _: 1, + } + ), + ]), + _: 1, + } + ), + ]), + _: 1, + } + ), + y( + co, + { + modelValue: e.showRawMessage, + "onUpdate:modelValue": t[2] || (t[2] = (d) => (e.showRawMessage = d)), + position: "top", + }, + { + default: b(() => [ + y( + Jt, + { class: "q-pa-lg q-pt-xl", style: { width: "500px" } }, + { + default: b(() => [ + y( + It, + { + filled: "", + dense: "", + type: "textarea", + rows: "20", + modelValue: e.rawMessage, + "onUpdate:modelValue": + t[1] || (t[1] = (d) => (e.rawMessage = d)), + modelModifiers: { trim: !0 }, + label: "Raw Data", + }, + null, + 8, + ["modelValue"] + ), + S("div", aD, [ + Hn( + (R(), + oe( + ye, + { flat: "", color: "grey", class: "q-ml-auto" }, + { default: b(() => [Te("Close")]), _: 1 } + )), + [[Hi]] + ), + ]), + ]), + _: 1, + } + ), + ]), + _: 1, + }, + 8, + ["modelValue"] + ), + ]) + ); +} +var oD = Tn(VM, [["render", lD]]); +const sD = sn({ + name: "ShoppingCartList", + props: ["carts", "profiles"], + components: { UserProfile: Ka }, + data: function () { + return {}; + }, + computed: {}, + methods: { + formatCurrency: function (e, t) { + return formatCurrency(e, t); + }, + cartTotalFormatted(e) { + var r; + if (!((r = e.products) != null && r.length)) return ""; + const t = e.products.reduce((a, l) => l.price + a, 0); + return formatCurrency(t, e.products[0].currency); + }, + removeProduct: function (e, t) { + this.$emit("remove-from-cart", { stallId: e, productId: t }); + }, + removeCart: function (e) { + this.$emit("remove-cart", e); + }, + quantityChanged: function (e) { + this.$emit("add-to-cart", e); + }, + proceedToCheckout: function (e) { + this.$emit("checkout-cart", e); + }, + }, + created() {}, + }), + uD = S("strong", null, "No products in cart!", -1), + cD = ["src"], + dD = ["src"], + fD = { class: "text-caption text-grey ellipsis-2-lines" }, + hD = { class: "q-ma-md" }; +function gD(e, t, r, a, l, s) { + var d; + const u = Jr("user-profile"); + return ( + R(), + re("div", null, [ + (d = e.carts) != null && d.length + ? $e("", !0) + : (R(), + oe( + Jt, + { key: 0, bordered: "", class: "q-mb-md" }, + { + default: b(() => [y(Ne, null, { default: b(() => [uD]), _: 1 })]), + _: 1, + } + )), + (R(!0), + re( + Lt, + null, + Yt( + e.carts, + (f) => ( + R(), + re("div", { key: f.id }, [ + y( + Jt, + { bordered: "", class: "q-mb-md" }, + { + default: b(() => [ + y( + zt, + null, + { + default: b(() => { + var g; + return [ + y( + u, + { + pubkey: f.merchant, + profiles: e.profiles, + description: + (g = f.products[0]) == null + ? void 0 + : g.stallName, + }, + null, + 8, + ["pubkey", "profiles", "description"] + ), + y( + Ie, + { side: "" }, + { + default: b(() => [ + S("div", null, [ + y( + ye, + { + onClick: (v) => e.removeCart(f.id), + flat: "", + color: "pink", + }, + { + default: b(() => [Te(" Clear Cart ")]), + _: 2, + }, + 1032, + ["onClick"] + ), + ]), + ]), + _: 2, + }, + 1024 + ), + ]; + }), + _: 2, + }, + 1024 + ), + y(ut), + y( + Ne, + { horizontal: "" }, + { + default: b(() => [ + y( + Ne, + { class: "col-12" }, + { + default: b(() => [ + y( + kr, + { class: "q-mt-md" }, + { + default: b(() => [ + (R(!0), + re( + Lt, + null, + Yt( + f.products, + (g) => ( + R(), + oe( + zt, + { key: g.id }, + { + default: b(() => [ + y( + Ie, + { avatar: "" }, + { + default: b(() => [ + y( + jr, + null, + { + default: b(() => [ + g.images[0] || + g.image + ? (R(), + re( + "img", + { + key: 0, + src: + g + .images[0] || + g.image, + }, + null, + 8, + cD + )) + : (R(), + re( + "img", + { + key: 1, + src: + e.$q + .config + .staticPath + + "/images/placeholder.png", + }, + null, + 8, + dD + )), + ]), + _: 2, + }, + 1024 + ), + ]), + _: 2, + }, + 1024 + ), + y( + Ie, + { class: "q-mt-sm" }, + { + default: b(() => [ + y( + Ge, + null, + { + default: b(() => [ + Te(ge(g.name), 1), + ]), + _: 2, + }, + 1024 + ), + y( + Ge, + { class: "gt-sm" }, + { + default: b(() => [ + S("div", fD, [ + S( + "p", + null, + ge( + g.description + ), + 1 + ), + ]), + ]), + _: 2, + }, + 1024 + ), + ]), + _: 2, + }, + 1024 + ), + y( + Ie, + { class: "q-mt-sm gt-sm" }, + { + default: b(() => [ + y( + Ge, + null, + { + default: b(() => [ + S( + "strong", + null, + ge( + e.formatCurrency( + g.price, + g.currency + ) + ), + 1 + ), + ]), + _: 2, + }, + 1024 + ), + y(Ge), + ]), + _: 2, + }, + 1024 + ), + y( + Ie, + { class: "q-ma-sm" }, + { + default: b(() => [ + y( + It, + { + modelValue: + g.orderedQuantity, + "onUpdate:modelValue": + (v) => + (g.orderedQuantity = + v), + modelModifiers: { + number: !0, + }, + onChange: (v) => + e.quantityChanged( + g + ), + type: "number", + rounded: "", + outlined: "", + min: "1", + max: g.quantity, + }, + null, + 8, + [ + "modelValue", + "onUpdate:modelValue", + "onChange", + "max", + ] + ), + ]), + _: 2, + }, + 1024 + ), + y( + Ie, + null, + { + default: b(() => [ + y( + Ge, + null, + { + default: b(() => [ + S( + "strong", + null, + ge( + e.formatCurrency( + g.price * + g.orderedQuantity, + g.currency + ) + ), + 1 + ), + ]), + _: 2, + }, + 1024 + ), + ]), + _: 2, + }, + 1024 + ), + y( + Ie, + { side: "" }, + { + default: b(() => [ + S("div", null, [ + y( + ye, + { + flat: "", + dense: "", + round: "", + icon: "delete", + onClick: (v) => + e.removeProduct( + g.stall_id, + g.id + ), + }, + null, + 8, + ["onClick"] + ), + ]), + ]), + _: 2, + }, + 1024 + ), + ]), + _: 2, + }, + 1024 + ) + ) + ), + 128 + )), + ]), + _: 2, + }, + 1024 + ), + ]), + _: 2, + }, + 1024 + ), + ]), + _: 2, + }, + 1024 + ), + y(ut), + y( + yi, + { align: "right" }, + { + default: b(() => [ + Te(" Total: "), + S("strong", hD, ge(e.cartTotalFormatted(f)), 1), + y( + ye, + { + onClick: (g) => e.proceedToCheckout(f), + flat: "", + color: "primary", + }, + { + default: b(() => [Te(" Proceed to Checkout ")]), + _: 2, + }, + 1032, + ["onClick"] + ), + ]), + _: 2, + }, + 1024 + ), + ]), + _: 2, + }, + 1024 + ), + ]) + ) + ), + 128 + )), + ]) + ); +} +var mD = Tn(sD, [["render", gD]]); +const vD = sn({ + name: "ShoppingCartCheckout", + props: ["cart", "stall", "customer-pubkey", "profiles"], + components: { UserProfile: Ka }, + data: function () { + return { + orderConfirmed: !1, + paymentMethod: "ln", + shippingZone: null, + contactData: { email: null, npub: null, address: null, message: null }, + paymentOptions: [ + { label: "Lightning Network", value: "ln" }, + { label: "BTC Onchain", value: "btc" }, + { label: "Cashu", value: "cashu" }, + ], + }; + }, + computed: { + cartTotal() { + var e; + return (e = this.cart.products) != null && e.length + ? this.cart.products.reduce((t, r) => r.price + t, 0) + : 0; + }, + cartTotalWithShipping() { + return this.shippingZone + ? this.cartTotal + this.shippingZone.cost + : this.cartTotal; + }, + shippingZoneLabel() { + if (!this.shippingZone) return "Shipping Zone"; + let e = + this.shippingZone.name || this.shippingZone.id || "Shipping Zone"; + return (e = e.substring(0, 10)), e.length < 10 ? e : e + "..."; + }, + }, + methods: { + formatCurrency: function (e, t) { + return formatCurrency(e, t); + }, + selectShippingZone: function (e) { + this.shippingZone = e; + }, + confirmOrder: function () { + if (!this.shippingZone) { + this.$q.notify({ + timeout: 5e3, + type: "warning", + message: "Please select a shipping zone!", + }); + return; + } + this.orderConfirmed = !0; + }, + async placeOrder() { + if (!this.shippingZone) { + this.$q.notify({ + timeout: 5e3, + type: "warning", + message: "Please select a shipping zone!", + }); + return; + } + if (!this.customerPubkey) { + this.$emit("login-required"); + return; + } + const e = { + address: this.contactData.address, + message: this.contactData.message, + contact: { + nostr: this.contactData.npub, + email: this.contactData.email, + }, + items: Array.from(this.cart.products, (a) => ({ + product_id: a.id, + quantity: a.orderedQuantity, + })), + shipping_id: this.shippingZone.id, + type: 0, + }, + t = Math.floor(Date.now() / 1e3); + e.id = await hash( + [this.customerPubkey, t, JSON.stringify(e)].join(":") + ); + const r = { + ...(await NostrTools.getBlankEvent()), + kind: 4, + created_at: t, + tags: [["p", this.stall.pubkey]], + pubkey: this.customerPubkey, + }; + this.$emit("place-order", { event: r, order: e, cartId: this.cart.id }); + }, + goToShoppingCart: function () { + this.$emit("change-page", "shopping-cart-list"); + }, + merchantProfile(e) { + var t; + return (t = this.profiles) == null + ? void 0 + : t.find((r) => r.pubkey === e); + }, + }, + created() { + var e; + ((e = this.stall.shipping) == null ? void 0 : e.length) === 1 && + (this.shippingZone = this.stall.shipping[0]); + }, + }), + pD = { class: "row q-mt-md q-ml-md q-pr-md" }, + yD = S( + "div", + { class: "col-xs-12 col-sm-12 col-md-2 q-mt-md" }, + [S("strong", null, "Message:")], + -1 + ), + _D = { class: "col-xs-12 col-sm-12 col-md-10" }, + bD = { class: "row q-mt-md q-ml-md q-pr-md" }, + wD = S( + "div", + { class: "col-xs-12 col-sm-12 col-md-2 q-mt-md" }, + [S("strong", null, "Address:")], + -1 + ), + SD = { class: "col-xs-12 col-sm-12 col-md-10" }, + kD = { class: "row q-mt-md q-ml-md q-pr-md" }, + CD = S( + "div", + { class: "col-xs-12 col-sm-12 col-md-2 q-mt-md" }, + [S("strong", null, "Email:")], + -1 + ), + TD = { class: "col-xs-12 col-sm-12 col-md-10" }, + MD = { class: "row q-mt-md q-ml-md q-pr-md" }, + DD = S( + "div", + { class: "col-xs-12 col-sm-12 col-md-2 q-mt-md" }, + [S("strong", null, "Npub:")], + -1 + ), + qD = { class: "col-xs-12 col-sm-12 col-md-10" }, + xD = { class: "row q-mt-md" }, + PD = S( + "div", + { class: "col-xs-12 col-sm-12 col-md-4" }, + [S("strong", null, "Subtotal:")], + -1 + ), + AD = { class: "col-xs-12 col-sm-12 col-md-4" }, + ED = S("div", { class: "col-xs-12 col-sm-12 col-md-4" }, null, -1), + ID = { class: "row q-mt-md" }, + $D = S( + "div", + { class: "col-xs-12 col-sm-12 col-md-4" }, + [S("strong", null, "Shipping:")], + -1 + ), + RD = { class: "col-xs-12 col-sm-12 col-md-4" }, + OD = { key: 0 }, + LD = { class: "col-xs-12 col-sm-12 col-md-4" }, + ND = ["textContent"], + BD = ["textContent"], + FD = { class: "row q-mt-md" }, + UD = S( + "div", + { class: "col-xs-12 col-sm-12 col-md-4" }, + [S("strong", null, "Total:")], + -1 + ), + VD = { class: "col-xs-12 col-sm-12 col-md-4" }, + zD = S("div", { class: "col-xs-12 col-sm-12 col-md-4" }, null, -1), + WD = { key: 0, class: "row q-mt-md" }, + YD = { class: "col" }, + HD = S("strong", null, "Payment Method", -1), + GD = { key: 0 }, + KD = { key: 1 }; +function QD(e, t, r, a, l, s) { + const u = Jr("user-profile"); + return ( + R(), + re("div", null, [ + e.cart && e.stall + ? (R(), + oe( + Jt, + { key: 0, bordered: "", class: "q-mb-md" }, + { + default: b(() => [ + y(zt, null, { + default: b(() => { + var d; + return [ + y( + u, + { + pubkey: e.cart.merchant, + profiles: e.profiles, + description: + (d = e.cart.products[0]) == null + ? void 0 + : d.stallName, + }, + null, + 8, + ["pubkey", "profiles", "description"] + ), + y(Ie, { side: "" }), + ]; + }), + _: 1, + }), + y(ut), + e.orderConfirmed + ? (R(), + oe( + Ne, + { key: 0 }, + { + default: b(() => [ + S("div", pD, [ + yD, + S("div", _D, [ + y( + It, + { + modelValue: e.contactData.message, + "onUpdate:modelValue": + t[0] || + (t[0] = (d) => (e.contactData.message = d)), + modelModifiers: { trim: !0 }, + outlined: "", + type: "textarea", + rows: "3", + label: "Message (optional)", + hint: "Message merchant about additional order needs", + }, + null, + 8, + ["modelValue"] + ), + ]), + ]), + S("div", bD, [ + wD, + S("div", SD, [ + y( + It, + { + modelValue: e.contactData.address, + "onUpdate:modelValue": + t[1] || + (t[1] = (d) => (e.contactData.address = d)), + modelModifiers: { trim: !0 }, + outlined: "", + type: "textarea", + rows: "3", + label: "Address (optional)", + hint: "Must provide for physical shipping", + }, + null, + 8, + ["modelValue"] + ), + ]), + ]), + S("div", kD, [ + CD, + S("div", TD, [ + y( + It, + { + modelValue: e.contactData.email, + "onUpdate:modelValue": + t[2] || + (t[2] = (d) => (e.contactData.email = d)), + modelModifiers: { trim: !0 }, + type: "email", + outlined: "", + label: "Email (optional)", + hint: "Merchant may not use email", + }, + null, + 8, + ["modelValue"] + ), + ]), + ]), + S("div", MD, [ + DD, + S("div", qD, [ + y( + It, + { + modelValue: e.contactData.npub, + "onUpdate:modelValue": + t[3] || + (t[3] = (d) => (e.contactData.npub = d)), + modelModifiers: { trim: !0 }, + outlined: "", + label: "Alternative Npub (optional)", + hint: "Use a different Npub to communicate with the merchant", + }, + null, + 8, + ["modelValue"] + ), + ]), + ]), + ]), + _: 1, + } + )) + : (R(), + oe( + Ne, + { key: 1, horizontal: "" }, + { + default: b(() => [ + y( + Ne, + { class: "col-7" }, + { + default: b(() => [ + S("div", xD, [ + PD, + S("div", AD, [ + S( + "strong", + null, + ge( + e.formatCurrency( + e.cartTotal, + e.stall.currency + ) + ), + 1 + ), + ]), + ED, + ]), + S("div", ID, [ + $D, + S("div", RD, [ + e.shippingZone + ? (R(), + re( + "strong", + OD, + ge( + e.formatCurrency( + e.shippingZone.cost, + e.stall.currency + ) + ), + 1 + )) + : $e("", !0), + ]), + S("div", LD, [ + y( + rg, + { + unelevated: "", + color: "secondary", + rounded: "", + label: e.shippingZoneLabel, + }, + { + default: b(() => [ + (R(!0), + re( + Lt, + null, + Yt(e.stall.shipping, (d) => + Hn( + (R(), + oe( + zt, + { + onClick: (f) => + e.selectShippingZone(d), + key: d.id, + clickable: "", + }, + { + default: b(() => [ + y( + Ie, + null, + { + default: b(() => [ + y( + Ge, + null, + { + default: b( + () => [ + S( + "span", + { + textContent: + ge( + d.name + ), + }, + null, + 8, + ND + ), + ] + ), + _: 2, + }, + 1024 + ), + y( + Ge, + { caption: "" }, + { + default: b( + () => { + var f; + return [ + S( + "span", + { + textContent: + ge( + (f = + d.countries) == + null + ? void 0 + : f.join( + ", " + ) + ), + }, + null, + 8, + BD + ), + ]; + } + ), + _: 2, + }, + 1024 + ), + ]), + _: 2, + }, + 1024 + ), + ]), + _: 2, + }, + 1032, + ["onClick"] + )), + [[Hi]] + ) + ), + 128 + )), + ]), + _: 1, + }, + 8, + ["label"] + ), + ]), + ]), + y(ut, { class: "q-mt-sm" }), + S("div", FD, [ + UD, + S("div", VD, [ + S( + "strong", + null, + ge( + e.formatCurrency( + e.cartTotalWithShipping, + e.stall.currency + ) + ), + 1 + ), + ]), + zD, + ]), + e.shippingZone + ? (R(), + re("div", WD, [ + S("div", YD, [ + y( + Cn, + { color: "secondary" }, + { + default: b(() => [ + Te( + " Additional per product shipping costs might apply." + ), + ]), + _: 1, + } + ), + ]), + ])) + : $e("", !0), + ]), + _: 1, + } + ), + y(ut, { vertical: "" }), + y(Ne, null, { + default: b(() => [ + HD, + y( + Xb, + { + modelValue: e.paymentMethod, + "onUpdate:modelValue": + t[4] || + (t[4] = (d) => (e.paymentMethod = d)), + options: e.paymentOptions, + color: "green", + disable: "", + }, + null, + 8, + ["modelValue", "options"] + ), + ]), + _: 1, + }), + ]), + _: 1, + } + )), + y(ut), + y( + yi, + { align: "right" }, + { + default: b(() => [ + e.orderConfirmed + ? (R(), + re("div", GD, [ + y( + ye, + { + onClick: + t[5] || + (t[5] = (d) => (e.orderConfirmed = !1)), + flat: "", + color: "grey", + }, + { default: b(() => [Te(" Back ")]), _: 1 } + ), + y( + ye, + { + onClick: t[6] || (t[6] = (d) => e.placeOrder()), + flat: "", + color: "primary", + }, + { default: b(() => [Te(" Place Order ")]), _: 1 } + ), + ])) + : (R(), + re("div", KD, [ + y( + ye, + { + onClick: e.goToShoppingCart, + flat: "", + color: "grey", + }, + { default: b(() => [Te(" Back ")]), _: 1 }, + 8, + ["onClick"] + ), + y( + ye, + { + onClick: e.confirmOrder, + flat: "", + color: "primary", + }, + { default: b(() => [Te(" Confirm ")]), _: 1 }, + 8, + ["onClick"] + ), + ])), + ]), + _: 1, + } + ), + ]), + _: 1, + } + )) + : $e("", !0), + ]) + ); +} +var jD = Tn(vD, [["render", QD]]); +const { passive: fi } = Xi; +var ZD = Je({ + name: "QInfiniteScroll", + props: { + offset: { type: Number, default: 500 }, + debounce: { type: [String, Number], default: 100 }, + scrollTarget: { default: void 0 }, + initialIndex: Number, + disable: Boolean, + reverse: Boolean, + }, + emits: ["load"], + setup(e, { slots: t, emit: r }) { + const a = se(!1), + l = se(!0), + s = se(null), + u = se(null); + let d = e.initialIndex || 0, + f, + g; + const v = I( + () => + "q-infinite-scroll__loading" + (a.value === !0 ? "" : " invisible") + ); + function T() { + if (e.disable === !0 || a.value === !0 || l.value === !1) return; + const z = jl(f), + H = du(f), + pe = th(f); + e.reverse === !1 + ? Math.round(H + pe + e.offset) >= Math.round(z) && M() + : Math.round(H) <= e.offset && M(); + } + function M() { + if (e.disable === !0 || a.value === !0 || l.value === !1) return; + d++, (a.value = !0); + const z = jl(f); + r("load", d, (H) => { + l.value === !0 && + ((a.value = !1), + Sn(() => { + if (e.reverse === !0) { + const pe = jl(f), + _e = du(f), + Pe = pe - z; + Ra(f, _e + Pe); + } + H === !0 ? $() : s.value && s.value.closest("body") && g(); + })); + }); + } + function _() { + d = 0; + } + function P() { + l.value === !1 && ((l.value = !0), f.addEventListener("scroll", g, fi)), + T(); + } + function $() { + l.value === !0 && + ((l.value = !1), + (a.value = !1), + f.removeEventListener("scroll", g, fi), + g !== void 0 && g.cancel !== void 0 && g.cancel()); + } + function L() { + if ( + (f && l.value === !0 && f.removeEventListener("scroll", g, fi), + (f = Mo(s.value, e.scrollTarget)), + l.value === !0) + ) { + if ((f.addEventListener("scroll", g, fi), e.reverse === !0)) { + const z = jl(f), + H = th(f); + Ra(f, z - H); + } + T(); + } + } + function F(z) { + d = z; + } + function W(z) { + z = parseInt(z, 10); + const H = g; + (g = z <= 0 ? T : ju(T, isNaN(z) === !0 ? 100 : z)), + f && + l.value === !0 && + (H !== void 0 && f.removeEventListener("scroll", H, fi), + f.addEventListener("scroll", g, fi)); + } + function D(z) { + if (A.value === !0) { + if (u.value === null) { + z !== !0 && + Sn(() => { + D(!0); + }); + return; + } + const H = `${a.value === !0 ? "un" : ""}pauseAnimations`; + Array.from(u.value.getElementsByTagName("svg")).forEach((pe) => { + pe[H](); + }); + } + } + const A = I(() => e.disable !== !0 && l.value === !0); + ze([a, A], () => { + D(); + }), + ze( + () => e.disable, + (z) => { + z === !0 ? $() : P(); + } + ), + ze( + () => e.reverse, + () => { + a.value === !1 && l.value === !0 && T(); + } + ), + ze(() => e.scrollTarget, L), + ze(() => e.debounce, W); + let N = !1; + aa(() => { + N !== !1 && f && Ra(f, N); + }), + ia(() => { + N = f ? du(f) : !1; + }), + Ht(() => { + l.value === !0 && f.removeEventListener("scroll", g, fi); + }), + Xr(() => { + W(e.debounce), L(), a.value === !1 && D(); + }); + const J = Dt(); + return ( + Object.assign(J.proxy, { + poll: () => { + g !== void 0 && g(); + }, + trigger: M, + stop: $, + reset: _, + resume: P, + setIndex: F, + }), + () => { + const z = Rh(t.default, []); + return ( + A.value === !0 && + z[e.reverse === !1 ? "push" : "unshift"]( + E("div", { ref: u, class: v.value }, Mt(t.loading)) + ), + E("div", { class: "q-infinite-scroll", ref: s }, z) + ); + } + ); + }, + }), + zu = { exports: {} }; +/** * @license * Lodash * Copyright OpenJS Foundation and other contributors * Released under MIT license * Based on Underscore.js 1.8.3 * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - */(function(e,t){(function(){var r,a="4.17.21",l=200,s="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",u="Expected a function",d="Invalid `variable` option passed into `_.template`",f="__lodash_hash_undefined__",g=500,v="__lodash_placeholder__",T=1,M=2,_=4,P=1,$=2,L=1,F=2,W=4,D=8,A=16,N=32,J=64,z=128,H=256,pe=512,_e=30,Pe="...",lt=800,te=16,xe=1,Be=2,j=3,K=1/0,me=9007199254740991,rt=17976931348623157e292,X=0/0,Z=4294967295,he=Z-1,fe=Z>>>1,Ke=[["ary",z],["bind",L],["bindKey",F],["curry",D],["curryRight",A],["flip",pe],["partial",N],["partialRight",J],["rearg",H]],Ve="[object Arguments]",we="[object Array]",Me="[object AsyncFunction]",ft="[object Boolean]",ee="[object Date]",wt="[object DOMException]",nn="[object Error]",un="[object Function]",rn="[object GeneratorFunction]",qt="[object Map]",Gt="[object Number]",Zn="[object Null]",Kt="[object Object]",Bn="[object Promise]",Pr="[object Proxy]",St="[object RegExp]",G="[object Set]",de="[object String]",qe="[object Symbol]",gt="[object Undefined]",it="[object WeakMap]",Ze="[object WeakSet]",Fe="[object ArrayBuffer]",mt="[object DataView]",xt="[object Float32Array]",cn="[object Float64Array]",Jn="[object Int8Array]",ti="[object Int16Array]",Fn="[object Int32Array]",Qt="[object Uint8Array]",wi="[object Uint8ClampedArray]",Si="[object Uint16Array]",ki="[object Uint32Array]",Xa=/\b__p \+= '';/g,el=/\b(__p \+=) '' \+/g,tl=/(__e\(.*?\)|\b__t\)) \+\n'';/g,nl=/&(?:amp|lt|gt|quot|#39);/g,rl=/[&<>"']/g,il=RegExp(nl.source),Wo=RegExp(rl.source),al=/<%-([\s\S]+?)%>/g,Ci=/<%([\s\S]+?)%>/g,Ar=/<%=([\s\S]+?)%>/g,Er=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Yo=/^\w*$/,Ho=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,sa=/[\\^$.*+?()[\]{}|]/g,Go=RegExp(sa.source),ua=/^\s+/,Ko=/\s/,Qo=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,jo=/\{\n\/\* \[wrapped with (.+)\] \*/,Zo=/,? & /,Ir=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,$r=/[()=,{}\[\]\/\s]/,ur=/\\(\\)?/g,Rr=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Ti=/\w*$/,Jo=/^[-+]0x[0-9a-f]+$/i,ll=/^0b[01]+$/i,ol=/^\[object .+?Constructor\]$/,sl=/^0o[0-7]+$/i,ul=/^(?:0|[1-9]\d*)$/,C=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,le=/($^)/,ie=/['\n\r\u2028\u2029\\]/g,De="\\ud800-\\udfff",st="\\u0300-\\u036f",tt="\\ufe20-\\ufe2f",kt="\\u20d0-\\u20ff",Nt=st+tt+kt,Mi="\\u2700-\\u27bf",qc="a-z\\xdf-\\xf6\\xf8-\\xff",km="\\xac\\xb1\\xd7\\xf7",Cm="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Tm="\\u2000-\\u206f",Mm=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",xc="A-Z\\xc0-\\xd6\\xd8-\\xde",Pc="\\ufe0e\\ufe0f",Ac=km+Cm+Tm+Mm,Xo="['\u2019]",Dm="["+De+"]",Ec="["+Ac+"]",cl="["+Nt+"]",Ic="\\d+",qm="["+Mi+"]",$c="["+qc+"]",Rc="[^"+De+Ac+Ic+Mi+qc+xc+"]",es="\\ud83c[\\udffb-\\udfff]",xm="(?:"+cl+"|"+es+")",Oc="[^"+De+"]",ts="(?:\\ud83c[\\udde6-\\uddff]){2}",ns="[\\ud800-\\udbff][\\udc00-\\udfff]",Di="["+xc+"]",Lc="\\u200d",Nc="(?:"+$c+"|"+Rc+")",Pm="(?:"+Di+"|"+Rc+")",Bc="(?:"+Xo+"(?:d|ll|m|re|s|t|ve))?",Fc="(?:"+Xo+"(?:D|LL|M|RE|S|T|VE))?",Uc=xm+"?",Vc="["+Pc+"]?",Am="(?:"+Lc+"(?:"+[Oc,ts,ns].join("|")+")"+Vc+Uc+")*",Em="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Im="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",zc=Vc+Uc+Am,$m="(?:"+[qm,ts,ns].join("|")+")"+zc,Rm="(?:"+[Oc+cl+"?",cl,ts,ns,Dm].join("|")+")",Om=RegExp(Xo,"g"),Lm=RegExp(cl,"g"),rs=RegExp(es+"(?="+es+")|"+Rm+zc,"g"),Nm=RegExp([Di+"?"+$c+"+"+Bc+"(?="+[Ec,Di,"$"].join("|")+")",Pm+"+"+Fc+"(?="+[Ec,Di+Nc,"$"].join("|")+")",Di+"?"+Nc+"+"+Bc,Di+"+"+Fc,Im,Em,Ic,$m].join("|"),"g"),Bm=RegExp("["+Lc+De+Nt+Pc+"]"),Fm=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Um=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Vm=-1,vt={};vt[xt]=vt[cn]=vt[Jn]=vt[ti]=vt[Fn]=vt[Qt]=vt[wi]=vt[Si]=vt[ki]=!0,vt[Ve]=vt[we]=vt[Fe]=vt[ft]=vt[mt]=vt[ee]=vt[nn]=vt[un]=vt[qt]=vt[Gt]=vt[Kt]=vt[St]=vt[G]=vt[de]=vt[it]=!1;var ht={};ht[Ve]=ht[we]=ht[Fe]=ht[mt]=ht[ft]=ht[ee]=ht[xt]=ht[cn]=ht[Jn]=ht[ti]=ht[Fn]=ht[qt]=ht[Gt]=ht[Kt]=ht[St]=ht[G]=ht[de]=ht[qe]=ht[Qt]=ht[wi]=ht[Si]=ht[ki]=!0,ht[nn]=ht[un]=ht[it]=!1;var zm={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},Wm={"&":"&","<":"<",">":">",'"':""","'":"'"},Ym={"&":"&","<":"<",">":">",""":'"',"'":"'"},Hm={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Gm=parseFloat,Km=parseInt,Wc=typeof Ma=="object"&&Ma&&Ma.Object===Object&&Ma,Qm=typeof self=="object"&&self&&self.Object===Object&&self,Ut=Wc||Qm||Function("return this")(),is=t&&!t.nodeType&&t,ni=is&&!0&&e&&!e.nodeType&&e,Yc=ni&&ni.exports===is,as=Yc&&Wc.process,qn=function(){try{var q=ni&&ni.require&&ni.require("util").types;return q||as&&as.binding&&as.binding("util")}catch{}}(),Hc=qn&&qn.isArrayBuffer,Gc=qn&&qn.isDate,Kc=qn&&qn.isMap,Qc=qn&&qn.isRegExp,jc=qn&&qn.isSet,Zc=qn&&qn.isTypedArray;function vn(q,B,O){switch(O.length){case 0:return q.call(B);case 1:return q.call(B,O[0]);case 2:return q.call(B,O[0],O[1]);case 3:return q.call(B,O[0],O[1],O[2])}return q.apply(B,O)}function jm(q,B,O,ue){for(var Ae=-1,nt=q==null?0:q.length;++Ae-1}function ls(q,B,O){for(var ue=-1,Ae=q==null?0:q.length;++ue-1;);return O}function ad(q,B){for(var O=q.length;O--&&qi(B,q[O],0)>-1;);return O}function av(q,B){for(var O=q.length,ue=0;O--;)q[O]===B&&++ue;return ue}var lv=cs(zm),ov=cs(Wm);function sv(q){return"\\"+Hm[q]}function uv(q,B){return q==null?r:q[B]}function xi(q){return Bm.test(q)}function cv(q){return Fm.test(q)}function dv(q){for(var B,O=[];!(B=q.next()).done;)O.push(B.value);return O}function gs(q){var B=-1,O=Array(q.size);return q.forEach(function(ue,Ae){O[++B]=[Ae,ue]}),O}function ld(q,B){return function(O){return q(B(O))}}function Nr(q,B){for(var O=-1,ue=q.length,Ae=0,nt=[];++O-1}function Jv(n,i){var o=this.__data__,c=ql(o,n);return c<0?(++this.size,o.push([n,i])):o[c][1]=i,this}cr.prototype.clear=Kv,cr.prototype.delete=Qv,cr.prototype.get=jv,cr.prototype.has=Zv,cr.prototype.set=Jv;function dr(n){var i=-1,o=n==null?0:n.length;for(this.clear();++i=i?n:i)),n}function En(n,i,o,c,h,p){var w,k=i&T,x=i&M,U=i&_;if(o&&(w=h?o(n,c,h,p):o(n)),w!==r)return w;if(!Ct(n))return n;var V=Ee(n);if(V){if(w=n0(n),!k)return dn(n,w)}else{var Y=Zt(n),ne=Y==un||Y==rn;if(Wr(n))return Vd(n,k);if(Y==Kt||Y==Ve||ne&&!h){if(w=x||ne?{}:sf(n),!k)return x?Yp(n,gp(w,n)):Wp(n,yd(w,n))}else{if(!ht[Y])return h?n:{};w=r0(n,Y,k)}}p||(p=new Vn);var ve=p.get(n);if(ve)return ve;p.set(n,w),Lf(n)?n.forEach(function(Ce){w.add(En(Ce,i,o,Ce,n,p))}):Rf(n)&&n.forEach(function(Ce,Ye){w.set(Ye,En(Ce,i,o,Ye,n,p))});var ke=U?x?Fs:Bs:x?hn:Bt,Le=V?r:ke(n);return xn(Le||n,function(Ce,Ye){Le&&(Ye=Ce,Ce=n[Ye]),va(w,Ye,En(Ce,i,o,Ye,n,p))}),w}function mp(n){var i=Bt(n);return function(o){return _d(o,n,i)}}function _d(n,i,o){var c=o.length;if(n==null)return!c;for(n=dt(n);c--;){var h=o[c],p=i[h],w=n[h];if(w===r&&!(h in n)||!p(w))return!1}return!0}function bd(n,i,o){if(typeof n!="function")throw new Pn(u);return ka(function(){n.apply(r,o)},i)}function pa(n,i,o,c){var h=-1,p=dl,w=!0,k=n.length,x=[],U=i.length;if(!k)return x;o&&(i=_t(i,pn(o))),c?(p=ls,w=!1):i.length>=l&&(p=ca,w=!1,i=new ai(i));e:for(;++hh?0:h+o),c=c===r||c>h?h:Re(c),c<0&&(c+=h),c=o>c?0:Bf(c);o0&&o(k)?i>1?Vt(k,i-1,o,c,h):Lr(h,k):c||(h[h.length]=k)}return h}var ws=Kd(),kd=Kd(!0);function Xn(n,i){return n&&ws(n,i,Bt)}function Ss(n,i){return n&&kd(n,i,Bt)}function Pl(n,i){return Or(i,function(o){return vr(n[o])})}function oi(n,i){i=Vr(i,n);for(var o=0,c=i.length;n!=null&&oi}function yp(n,i){return n!=null&&ot.call(n,i)}function _p(n,i){return n!=null&&i in dt(n)}function bp(n,i,o){return n>=jt(i,o)&&n=120&&V.length>=120)?new ai(w&&V):r}V=n[0];var Y=-1,ne=k[0];e:for(;++Y-1;)k!==n&&wl.call(k,x,1),wl.call(n,x,1);return n}function $d(n,i){for(var o=n?i.length:0,c=o-1;o--;){var h=i[o];if(o==c||h!==p){var p=h;mr(h)?wl.call(n,h,1):Es(n,h)}}return n}function xs(n,i){return n+Cl(gd()*(i-n+1))}function Ip(n,i,o,c){for(var h=-1,p=Rt(kl((i-n)/(o||1)),0),w=O(p);p--;)w[c?p:++h]=n,n+=o;return w}function Ps(n,i){var o="";if(!n||i<1||i>me)return o;do i%2&&(o+=n),i=Cl(i/2),i&&(n+=n);while(i);return o}function Ue(n,i){return Gs(df(n,i,gn),n+"")}function $p(n){return pd(Fi(n))}function Rp(n,i){var o=Fi(n);return Ul(o,li(i,0,o.length))}function ba(n,i,o,c){if(!Ct(n))return n;i=Vr(i,n);for(var h=-1,p=i.length,w=p-1,k=n;k!=null&&++hh?0:h+i),o=o>h?h:o,o<0&&(o+=h),h=i>o?0:o-i>>>0,i>>>=0;for(var p=O(h);++c>>1,w=n[p];w!==null&&!_n(w)&&(o?w<=i:w=l){var U=i?null:Qp(n);if(U)return hl(U);w=!1,h=ca,x=new ai}else x=i?[]:k;e:for(;++c=c?n:In(n,i,o)}var Ud=Mv||function(n){return Ut.clearTimeout(n)};function Vd(n,i){if(i)return n.slice();var o=n.length,c=ud?ud(o):new n.constructor(o);return n.copy(c),c}function Os(n){var i=new n.constructor(n.byteLength);return new _l(i).set(new _l(n)),i}function Fp(n,i){var o=i?Os(n.buffer):n.buffer;return new n.constructor(o,n.byteOffset,n.byteLength)}function Up(n){var i=new n.constructor(n.source,Ti.exec(n));return i.lastIndex=n.lastIndex,i}function Vp(n){return ma?dt(ma.call(n)):{}}function zd(n,i){var o=i?Os(n.buffer):n.buffer;return new n.constructor(o,n.byteOffset,n.length)}function Wd(n,i){if(n!==i){var o=n!==r,c=n===null,h=n===n,p=_n(n),w=i!==r,k=i===null,x=i===i,U=_n(i);if(!k&&!U&&!p&&n>i||p&&w&&x&&!k&&!U||c&&w&&x||!o&&x||!h)return 1;if(!c&&!p&&!U&&n=k)return x;var U=o[c];return x*(U=="desc"?-1:1)}}return n.index-i.index}function Yd(n,i,o,c){for(var h=-1,p=n.length,w=o.length,k=-1,x=i.length,U=Rt(p-w,0),V=O(x+U),Y=!c;++k1?o[h-1]:r,w=h>2?o[2]:r;for(p=n.length>3&&typeof p=="function"?(h--,p):r,w&&ln(o[0],o[1],w)&&(p=h<3?r:p,h=1),i=dt(i);++c-1?h[p?i[w]:w]:r}}function Zd(n){return gr(function(i){var o=i.length,c=o,h=An.prototype.thru;for(n&&i.reverse();c--;){var p=i[c];if(typeof p!="function")throw new Pn(u);if(h&&!w&&Bl(p)=="wrapper")var w=new An([],!0)}for(c=w?c:o;++c1&&Qe.reverse(),V&&xk))return!1;var U=p.get(n),V=p.get(i);if(U&&V)return U==i&&V==n;var Y=-1,ne=!0,ve=o&$?new ai:r;for(p.set(n,i),p.set(i,n);++Y1?"& ":"")+i[c],i=i.join(o>2?", ":" "),n.replace(Qo,`{ -/* [wrapped with `+i+`] */ -`)}function a0(n){return Ee(n)||ci(n)||!!(fd&&n&&n[fd])}function mr(n,i){var o=typeof n;return i=i==null?me:i,!!i&&(o=="number"||o!="symbol"&&ul.test(n))&&n>-1&&n%1==0&&n0){if(++i>=lt)return arguments[0]}else i=0;return n.apply(r,arguments)}}function Ul(n,i){var o=-1,c=n.length,h=c-1;for(i=i===r?c:i;++o1?n[i-1]:r;return o=typeof o=="function"?(n.pop(),o):r,kf(n,o)});function Cf(n){var i=m(n);return i.__chain__=!0,i}function vy(n,i){return i(n),n}function Vl(n,i){return i(n)}var py=gr(function(n){var i=n.length,o=i?n[0]:0,c=this.__wrapped__,h=function(p){return bs(p,n)};return i>1||this.__actions__.length||!(c instanceof He)||!mr(o)?this.thru(h):(c=c.slice(o,+o+(i?1:0)),c.__actions__.push({func:Vl,args:[h],thisArg:r}),new An(c,this.__chain__).thru(function(p){return i&&!p.length&&p.push(r),p}))});function yy(){return Cf(this)}function _y(){return new An(this.value(),this.__chain__)}function by(){this.__values__===r&&(this.__values__=Nf(this.value()));var n=this.__index__>=this.__values__.length,i=n?r:this.__values__[this.__index__++];return{done:n,value:i}}function wy(){return this}function Sy(n){for(var i,o=this;o instanceof Dl;){var c=pf(o);c.__index__=0,c.__values__=r,i?h.__wrapped__=c:i=c;var h=c;o=o.__wrapped__}return h.__wrapped__=n,i}function ky(){var n=this.__wrapped__;if(n instanceof He){var i=n;return this.__actions__.length&&(i=new He(this)),i=i.reverse(),i.__actions__.push({func:Vl,args:[Ks],thisArg:r}),new An(i,this.__chain__)}return this.thru(Ks)}function Cy(){return Bd(this.__wrapped__,this.__actions__)}var Ty=$l(function(n,i,o){ot.call(n,o)?++n[o]:fr(n,o,1)});function My(n,i,o){var c=Ee(n)?Jc:vp;return o&&ln(n,i,o)&&(i=r),c(n,Se(i,3))}function Dy(n,i){var o=Ee(n)?Or:Sd;return o(n,Se(i,3))}var qy=jd(yf),xy=jd(_f);function Py(n,i){return Vt(zl(n,i),1)}function Ay(n,i){return Vt(zl(n,i),K)}function Ey(n,i,o){return o=o===r?1:Re(o),Vt(zl(n,i),o)}function Tf(n,i){var o=Ee(n)?xn:Fr;return o(n,Se(i,3))}function Mf(n,i){var o=Ee(n)?Zm:wd;return o(n,Se(i,3))}var Iy=$l(function(n,i,o){ot.call(n,o)?n[o].push(i):fr(n,o,[i])});function $y(n,i,o,c){n=fn(n)?n:Fi(n),o=o&&!c?Re(o):0;var h=n.length;return o<0&&(o=Rt(h+o,0)),Kl(n)?o<=h&&n.indexOf(i,o)>-1:!!h&&qi(n,i,o)>-1}var Ry=Ue(function(n,i,o){var c=-1,h=typeof i=="function",p=fn(n)?O(n.length):[];return Fr(n,function(w){p[++c]=h?vn(i,w,o):ya(w,i,o)}),p}),Oy=$l(function(n,i,o){fr(n,o,i)});function zl(n,i){var o=Ee(n)?_t:qd;return o(n,Se(i,3))}function Ly(n,i,o,c){return n==null?[]:(Ee(i)||(i=i==null?[]:[i]),o=c?r:o,Ee(o)||(o=o==null?[]:[o]),Ed(n,i,o))}var Ny=$l(function(n,i,o){n[o?0:1].push(i)},function(){return[[],[]]});function By(n,i,o){var c=Ee(n)?os:nd,h=arguments.length<3;return c(n,Se(i,4),o,h,Fr)}function Fy(n,i,o){var c=Ee(n)?Jm:nd,h=arguments.length<3;return c(n,Se(i,4),o,h,wd)}function Uy(n,i){var o=Ee(n)?Or:Sd;return o(n,Hl(Se(i,3)))}function Vy(n){var i=Ee(n)?pd:$p;return i(n)}function zy(n,i,o){(o?ln(n,i,o):i===r)?i=1:i=Re(i);var c=Ee(n)?dp:Rp;return c(n,i)}function Wy(n){var i=Ee(n)?fp:Lp;return i(n)}function Yy(n){if(n==null)return 0;if(fn(n))return Kl(n)?Pi(n):n.length;var i=Zt(n);return i==qt||i==G?n.size:Ms(n).length}function Hy(n,i,o){var c=Ee(n)?ss:Np;return o&&ln(n,i,o)&&(i=r),c(n,Se(i,3))}var Gy=Ue(function(n,i){if(n==null)return[];var o=i.length;return o>1&&ln(n,i[0],i[1])?i=[]:o>2&&ln(i[0],i[1],i[2])&&(i=[i[0]]),Ed(n,Vt(i,1),[])}),Wl=Dv||function(){return Ut.Date.now()};function Ky(n,i){if(typeof i!="function")throw new Pn(u);return n=Re(n),function(){if(--n<1)return i.apply(this,arguments)}}function Df(n,i,o){return i=o?r:i,i=n&&i==null?n.length:i,hr(n,z,r,r,r,r,i)}function qf(n,i){var o;if(typeof i!="function")throw new Pn(u);return n=Re(n),function(){return--n>0&&(o=i.apply(this,arguments)),n<=1&&(i=r),o}}var js=Ue(function(n,i,o){var c=L;if(o.length){var h=Nr(o,Ni(js));c|=N}return hr(n,c,i,o,h)}),xf=Ue(function(n,i,o){var c=L|F;if(o.length){var h=Nr(o,Ni(xf));c|=N}return hr(i,c,n,o,h)});function Pf(n,i,o){i=o?r:i;var c=hr(n,D,r,r,r,r,r,i);return c.placeholder=Pf.placeholder,c}function Af(n,i,o){i=o?r:i;var c=hr(n,A,r,r,r,r,r,i);return c.placeholder=Af.placeholder,c}function Ef(n,i,o){var c,h,p,w,k,x,U=0,V=!1,Y=!1,ne=!0;if(typeof n!="function")throw new Pn(u);i=Rn(i)||0,Ct(o)&&(V=!!o.leading,Y="maxWait"in o,p=Y?Rt(Rn(o.maxWait)||0,i):p,ne="trailing"in o?!!o.trailing:ne);function ve(At){var Wn=c,yr=h;return c=h=r,U=At,w=n.apply(yr,Wn),w}function ke(At){return U=At,k=ka(Ye,i),V?ve(At):w}function Le(At){var Wn=At-x,yr=At-U,Zf=i-Wn;return Y?jt(Zf,p-yr):Zf}function Ce(At){var Wn=At-x,yr=At-U;return x===r||Wn>=i||Wn<0||Y&&yr>=p}function Ye(){var At=Wl();if(Ce(At))return Qe(At);k=ka(Ye,Le(At))}function Qe(At){return k=r,ne&&c?ve(At):(c=h=r,w)}function bn(){k!==r&&Ud(k),U=0,c=x=h=k=r}function on(){return k===r?w:Qe(Wl())}function wn(){var At=Wl(),Wn=Ce(At);if(c=arguments,h=this,x=At,Wn){if(k===r)return ke(x);if(Y)return Ud(k),k=ka(Ye,i),ve(x)}return k===r&&(k=ka(Ye,i)),w}return wn.cancel=bn,wn.flush=on,wn}var Qy=Ue(function(n,i){return bd(n,1,i)}),jy=Ue(function(n,i,o){return bd(n,Rn(i)||0,o)});function Zy(n){return hr(n,pe)}function Yl(n,i){if(typeof n!="function"||i!=null&&typeof i!="function")throw new Pn(u);var o=function(){var c=arguments,h=i?i.apply(this,c):c[0],p=o.cache;if(p.has(h))return p.get(h);var w=n.apply(this,c);return o.cache=p.set(h,w)||p,w};return o.cache=new(Yl.Cache||dr),o}Yl.Cache=dr;function Hl(n){if(typeof n!="function")throw new Pn(u);return function(){var i=arguments;switch(i.length){case 0:return!n.call(this);case 1:return!n.call(this,i[0]);case 2:return!n.call(this,i[0],i[1]);case 3:return!n.call(this,i[0],i[1],i[2])}return!n.apply(this,i)}}function Jy(n){return qf(2,n)}var Xy=Bp(function(n,i){i=i.length==1&&Ee(i[0])?_t(i[0],pn(Se())):_t(Vt(i,1),pn(Se()));var o=i.length;return Ue(function(c){for(var h=-1,p=jt(c.length,o);++h=i}),ci=Td(function(){return arguments}())?Td:function(n){return Tt(n)&&ot.call(n,"callee")&&!dd.call(n,"callee")},Ee=O.isArray,g1=Hc?pn(Hc):Sp;function fn(n){return n!=null&&Gl(n.length)&&!vr(n)}function Pt(n){return Tt(n)&&fn(n)}function m1(n){return n===!0||n===!1||Tt(n)&&an(n)==ft}var Wr=xv||su,v1=Gc?pn(Gc):kp;function p1(n){return Tt(n)&&n.nodeType===1&&!Ca(n)}function y1(n){if(n==null)return!0;if(fn(n)&&(Ee(n)||typeof n=="string"||typeof n.splice=="function"||Wr(n)||Bi(n)||ci(n)))return!n.length;var i=Zt(n);if(i==qt||i==G)return!n.size;if(Sa(n))return!Ms(n).length;for(var o in n)if(ot.call(n,o))return!1;return!0}function _1(n,i){return _a(n,i)}function b1(n,i,o){o=typeof o=="function"?o:r;var c=o?o(n,i):r;return c===r?_a(n,i,r,o):!!c}function Js(n){if(!Tt(n))return!1;var i=an(n);return i==nn||i==wt||typeof n.message=="string"&&typeof n.name=="string"&&!Ca(n)}function w1(n){return typeof n=="number"&&hd(n)}function vr(n){if(!Ct(n))return!1;var i=an(n);return i==un||i==rn||i==Me||i==Pr}function $f(n){return typeof n=="number"&&n==Re(n)}function Gl(n){return typeof n=="number"&&n>-1&&n%1==0&&n<=me}function Ct(n){var i=typeof n;return n!=null&&(i=="object"||i=="function")}function Tt(n){return n!=null&&typeof n=="object"}var Rf=Kc?pn(Kc):Tp;function S1(n,i){return n===i||Ts(n,i,Vs(i))}function k1(n,i,o){return o=typeof o=="function"?o:r,Ts(n,i,Vs(i),o)}function C1(n){return Of(n)&&n!=+n}function T1(n){if(s0(n))throw new Ae(s);return Md(n)}function M1(n){return n===null}function D1(n){return n==null}function Of(n){return typeof n=="number"||Tt(n)&&an(n)==Gt}function Ca(n){if(!Tt(n)||an(n)!=Kt)return!1;var i=bl(n);if(i===null)return!0;var o=ot.call(i,"constructor")&&i.constructor;return typeof o=="function"&&o instanceof o&&vl.call(o)==kv}var Xs=Qc?pn(Qc):Mp;function q1(n){return $f(n)&&n>=-me&&n<=me}var Lf=jc?pn(jc):Dp;function Kl(n){return typeof n=="string"||!Ee(n)&&Tt(n)&&an(n)==de}function _n(n){return typeof n=="symbol"||Tt(n)&&an(n)==qe}var Bi=Zc?pn(Zc):qp;function x1(n){return n===r}function P1(n){return Tt(n)&&Zt(n)==it}function A1(n){return Tt(n)&&an(n)==Ze}var E1=Nl(Ds),I1=Nl(function(n,i){return n<=i});function Nf(n){if(!n)return[];if(fn(n))return Kl(n)?Un(n):dn(n);if(da&&n[da])return dv(n[da]());var i=Zt(n),o=i==qt?gs:i==G?hl:Fi;return o(n)}function pr(n){if(!n)return n===0?n:0;if(n=Rn(n),n===K||n===-K){var i=n<0?-1:1;return i*rt}return n===n?n:0}function Re(n){var i=pr(n),o=i%1;return i===i?o?i-o:i:0}function Bf(n){return n?li(Re(n),0,Z):0}function Rn(n){if(typeof n=="number")return n;if(_n(n))return X;if(Ct(n)){var i=typeof n.valueOf=="function"?n.valueOf():n;n=Ct(i)?i+"":i}if(typeof n!="string")return n===0?n:+n;n=rd(n);var o=ll.test(n);return o||sl.test(n)?Km(n.slice(2),o?2:8):Jo.test(n)?X:+n}function Ff(n){return er(n,hn(n))}function $1(n){return n?li(Re(n),-me,me):n===0?n:0}function at(n){return n==null?"":yn(n)}var R1=Oi(function(n,i){if(Sa(i)||fn(i)){er(i,Bt(i),n);return}for(var o in i)ot.call(i,o)&&va(n,o,i[o])}),Uf=Oi(function(n,i){er(i,hn(i),n)}),Ql=Oi(function(n,i,o,c){er(i,hn(i),n,c)}),O1=Oi(function(n,i,o,c){er(i,Bt(i),n,c)}),L1=gr(bs);function N1(n,i){var o=Ri(n);return i==null?o:yd(o,i)}var B1=Ue(function(n,i){n=dt(n);var o=-1,c=i.length,h=c>2?i[2]:r;for(h&&ln(i[0],i[1],h)&&(c=1);++o1),p}),er(n,Fs(n),o),c&&(o=En(o,T|M|_,jp));for(var h=i.length;h--;)Es(o,i[h]);return o});function r_(n,i){return zf(n,Hl(Se(i)))}var i_=gr(function(n,i){return n==null?{}:Ap(n,i)});function zf(n,i){if(n==null)return{};var o=_t(Fs(n),function(c){return[c]});return i=Se(i),Id(n,o,function(c,h){return i(c,h[0])})}function a_(n,i,o){i=Vr(i,n);var c=-1,h=i.length;for(h||(h=1,n=r);++ci){var c=n;n=i,i=c}if(o||n%1||i%1){var h=gd();return jt(n+h*(i-n+Gm("1e-"+((h+"").length-1))),i)}return xs(n,i)}var v_=Li(function(n,i,o){return i=i.toLowerCase(),n+(o?Hf(i):i)});function Hf(n){return nu(at(n).toLowerCase())}function Gf(n){return n=at(n),n&&n.replace(C,lv).replace(Lm,"")}function p_(n,i,o){n=at(n),i=yn(i);var c=n.length;o=o===r?c:li(Re(o),0,c);var h=o;return o-=i.length,o>=0&&n.slice(o,h)==i}function y_(n){return n=at(n),n&&Wo.test(n)?n.replace(rl,ov):n}function __(n){return n=at(n),n&&Go.test(n)?n.replace(sa,"\\$&"):n}var b_=Li(function(n,i,o){return n+(o?"-":"")+i.toLowerCase()}),w_=Li(function(n,i,o){return n+(o?" ":"")+i.toLowerCase()}),S_=Qd("toLowerCase");function k_(n,i,o){n=at(n),i=Re(i);var c=i?Pi(n):0;if(!i||c>=i)return n;var h=(i-c)/2;return Ll(Cl(h),o)+n+Ll(kl(h),o)}function C_(n,i,o){n=at(n),i=Re(i);var c=i?Pi(n):0;return i&&c>>0,o?(n=at(n),n&&(typeof i=="string"||i!=null&&!Xs(i))&&(i=yn(i),!i&&xi(n))?zr(Un(n),0,o):n.split(i,o)):[]}var A_=Li(function(n,i,o){return n+(o?" ":"")+nu(i)});function E_(n,i,o){return n=at(n),o=o==null?0:li(Re(o),0,n.length),i=yn(i),n.slice(o,o+i.length)==i}function I_(n,i,o){var c=m.templateSettings;o&&ln(n,i,o)&&(i=r),n=at(n),i=Ql({},i,c,nf);var h=Ql({},i.imports,c.imports,nf),p=Bt(h),w=hs(h,p),k,x,U=0,V=i.interpolate||le,Y="__p += '",ne=ms((i.escape||le).source+"|"+V.source+"|"+(V===Ar?Rr:le).source+"|"+(i.evaluate||le).source+"|$","g"),ve="//# sourceURL="+(ot.call(i,"sourceURL")?(i.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Vm+"]")+` -`;n.replace(ne,function(Ce,Ye,Qe,bn,on,wn){return Qe||(Qe=bn),Y+=n.slice(U,wn).replace(ie,sv),Ye&&(k=!0,Y+=`' + -__e(`+Ye+`) + -'`),on&&(x=!0,Y+=`'; -`+on+`; -__p += '`),Qe&&(Y+=`' + -((__t = (`+Qe+`)) == null ? '' : __t) + -'`),U=wn+Ce.length,Ce}),Y+=`'; -`;var ke=ot.call(i,"variable")&&i.variable;if(!ke)Y=`with (obj) { -`+Y+` -} -`;else if($r.test(ke))throw new Ae(d);Y=(x?Y.replace(Xa,""):Y).replace(el,"$1").replace(tl,"$1;"),Y="function("+(ke||"obj")+`) { -`+(ke?"":`obj || (obj = {}); -`)+"var __t, __p = ''"+(k?", __e = _.escape":"")+(x?`, __j = Array.prototype.join; + */ (function (e, t) { + (function () { + var r, + a = "4.17.21", + l = 200, + s = "Unsupported core-js use. Try https://npms.io/search?q=ponyfill.", + u = "Expected a function", + d = "Invalid `variable` option passed into `_.template`", + f = "__lodash_hash_undefined__", + g = 500, + v = "__lodash_placeholder__", + T = 1, + M = 2, + _ = 4, + P = 1, + $ = 2, + L = 1, + F = 2, + W = 4, + D = 8, + A = 16, + N = 32, + J = 64, + z = 128, + H = 256, + pe = 512, + _e = 30, + Pe = "...", + lt = 800, + te = 16, + xe = 1, + Be = 2, + j = 3, + K = 1 / 0, + me = 9007199254740991, + rt = 17976931348623157e292, + X = 0 / 0, + Z = 4294967295, + he = Z - 1, + fe = Z >>> 1, + Ke = [ + ["ary", z], + ["bind", L], + ["bindKey", F], + ["curry", D], + ["curryRight", A], + ["flip", pe], + ["partial", N], + ["partialRight", J], + ["rearg", H], + ], + Ve = "[object Arguments]", + we = "[object Array]", + Me = "[object AsyncFunction]", + ft = "[object Boolean]", + ee = "[object Date]", + wt = "[object DOMException]", + nn = "[object Error]", + un = "[object Function]", + rn = "[object GeneratorFunction]", + qt = "[object Map]", + Gt = "[object Number]", + Zn = "[object Null]", + Kt = "[object Object]", + Bn = "[object Promise]", + Pr = "[object Proxy]", + St = "[object RegExp]", + G = "[object Set]", + de = "[object String]", + qe = "[object Symbol]", + gt = "[object Undefined]", + it = "[object WeakMap]", + Ze = "[object WeakSet]", + Fe = "[object ArrayBuffer]", + mt = "[object DataView]", + xt = "[object Float32Array]", + cn = "[object Float64Array]", + Jn = "[object Int8Array]", + ti = "[object Int16Array]", + Fn = "[object Int32Array]", + Qt = "[object Uint8Array]", + wi = "[object Uint8ClampedArray]", + Si = "[object Uint16Array]", + ki = "[object Uint32Array]", + Xa = /\b__p \+= '';/g, + el = /\b(__p \+=) '' \+/g, + tl = /(__e\(.*?\)|\b__t\)) \+\n'';/g, + nl = /&(?:amp|lt|gt|quot|#39);/g, + rl = /[&<>"']/g, + il = RegExp(nl.source), + Wo = RegExp(rl.source), + al = /<%-([\s\S]+?)%>/g, + Ci = /<%([\s\S]+?)%>/g, + Ar = /<%=([\s\S]+?)%>/g, + Er = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, + Yo = /^\w*$/, + Ho = + /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, + sa = /[\\^$.*+?()[\]{}|]/g, + Go = RegExp(sa.source), + ua = /^\s+/, + Ko = /\s/, + Qo = /\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/, + jo = /\{\n\/\* \[wrapped with (.+)\] \*/, + Zo = /,? & /, + Ir = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g, + $r = /[()=,{}\[\]\/\s]/, + ur = /\\(\\)?/g, + Rr = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g, + Ti = /\w*$/, + Jo = /^[-+]0x[0-9a-f]+$/i, + ll = /^0b[01]+$/i, + ol = /^\[object .+?Constructor\]$/, + sl = /^0o[0-7]+$/i, + ul = /^(?:0|[1-9]\d*)$/, + C = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g, + le = /($^)/, + ie = /['\n\r\u2028\u2029\\]/g, + De = "\\ud800-\\udfff", + st = "\\u0300-\\u036f", + tt = "\\ufe20-\\ufe2f", + kt = "\\u20d0-\\u20ff", + Nt = st + tt + kt, + Mi = "\\u2700-\\u27bf", + qc = "a-z\\xdf-\\xf6\\xf8-\\xff", + km = "\\xac\\xb1\\xd7\\xf7", + Cm = "\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf", + Tm = "\\u2000-\\u206f", + Mm = + " \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000", + xc = "A-Z\\xc0-\\xd6\\xd8-\\xde", + Pc = "\\ufe0e\\ufe0f", + Ac = km + Cm + Tm + Mm, + Xo = "['\u2019]", + Dm = "[" + De + "]", + Ec = "[" + Ac + "]", + cl = "[" + Nt + "]", + Ic = "\\d+", + qm = "[" + Mi + "]", + $c = "[" + qc + "]", + Rc = "[^" + De + Ac + Ic + Mi + qc + xc + "]", + es = "\\ud83c[\\udffb-\\udfff]", + xm = "(?:" + cl + "|" + es + ")", + Oc = "[^" + De + "]", + ts = "(?:\\ud83c[\\udde6-\\uddff]){2}", + ns = "[\\ud800-\\udbff][\\udc00-\\udfff]", + Di = "[" + xc + "]", + Lc = "\\u200d", + Nc = "(?:" + $c + "|" + Rc + ")", + Pm = "(?:" + Di + "|" + Rc + ")", + Bc = "(?:" + Xo + "(?:d|ll|m|re|s|t|ve))?", + Fc = "(?:" + Xo + "(?:D|LL|M|RE|S|T|VE))?", + Uc = xm + "?", + Vc = "[" + Pc + "]?", + Am = "(?:" + Lc + "(?:" + [Oc, ts, ns].join("|") + ")" + Vc + Uc + ")*", + Em = "\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])", + Im = "\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])", + zc = Vc + Uc + Am, + $m = "(?:" + [qm, ts, ns].join("|") + ")" + zc, + Rm = "(?:" + [Oc + cl + "?", cl, ts, ns, Dm].join("|") + ")", + Om = RegExp(Xo, "g"), + Lm = RegExp(cl, "g"), + rs = RegExp(es + "(?=" + es + ")|" + Rm + zc, "g"), + Nm = RegExp( + [ + Di + "?" + $c + "+" + Bc + "(?=" + [Ec, Di, "$"].join("|") + ")", + Pm + "+" + Fc + "(?=" + [Ec, Di + Nc, "$"].join("|") + ")", + Di + "?" + Nc + "+" + Bc, + Di + "+" + Fc, + Im, + Em, + Ic, + $m, + ].join("|"), + "g" + ), + Bm = RegExp("[" + Lc + De + Nt + Pc + "]"), + Fm = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/, + Um = [ + "Array", + "Buffer", + "DataView", + "Date", + "Error", + "Float32Array", + "Float64Array", + "Function", + "Int8Array", + "Int16Array", + "Int32Array", + "Map", + "Math", + "Object", + "Promise", + "RegExp", + "Set", + "String", + "Symbol", + "TypeError", + "Uint8Array", + "Uint8ClampedArray", + "Uint16Array", + "Uint32Array", + "WeakMap", + "_", + "clearTimeout", + "isFinite", + "parseInt", + "setTimeout", + ], + Vm = -1, + vt = {}; + (vt[xt] = + vt[cn] = + vt[Jn] = + vt[ti] = + vt[Fn] = + vt[Qt] = + vt[wi] = + vt[Si] = + vt[ki] = + !0), + (vt[Ve] = + vt[we] = + vt[Fe] = + vt[ft] = + vt[mt] = + vt[ee] = + vt[nn] = + vt[un] = + vt[qt] = + vt[Gt] = + vt[Kt] = + vt[St] = + vt[G] = + vt[de] = + vt[it] = + !1); + var ht = {}; + (ht[Ve] = + ht[we] = + ht[Fe] = + ht[mt] = + ht[ft] = + ht[ee] = + ht[xt] = + ht[cn] = + ht[Jn] = + ht[ti] = + ht[Fn] = + ht[qt] = + ht[Gt] = + ht[Kt] = + ht[St] = + ht[G] = + ht[de] = + ht[qe] = + ht[Qt] = + ht[wi] = + ht[Si] = + ht[ki] = + !0), + (ht[nn] = ht[un] = ht[it] = !1); + var zm = { + À: "A", + Á: "A", + Â: "A", + Ã: "A", + Ä: "A", + Å: "A", + à: "a", + á: "a", + â: "a", + ã: "a", + ä: "a", + å: "a", + Ç: "C", + ç: "c", + Ð: "D", + ð: "d", + È: "E", + É: "E", + Ê: "E", + Ë: "E", + è: "e", + é: "e", + ê: "e", + ë: "e", + Ì: "I", + Í: "I", + Î: "I", + Ï: "I", + ì: "i", + í: "i", + î: "i", + ï: "i", + Ñ: "N", + ñ: "n", + Ò: "O", + Ó: "O", + Ô: "O", + Õ: "O", + Ö: "O", + Ø: "O", + ò: "o", + ó: "o", + ô: "o", + õ: "o", + ö: "o", + ø: "o", + Ù: "U", + Ú: "U", + Û: "U", + Ü: "U", + ù: "u", + ú: "u", + û: "u", + ü: "u", + Ý: "Y", + ý: "y", + ÿ: "y", + Æ: "Ae", + æ: "ae", + Þ: "Th", + þ: "th", + ß: "ss", + Ā: "A", + Ă: "A", + Ą: "A", + ā: "a", + ă: "a", + ą: "a", + Ć: "C", + Ĉ: "C", + Ċ: "C", + Č: "C", + ć: "c", + ĉ: "c", + ċ: "c", + č: "c", + Ď: "D", + Đ: "D", + ď: "d", + đ: "d", + Ē: "E", + Ĕ: "E", + Ė: "E", + Ę: "E", + Ě: "E", + ē: "e", + ĕ: "e", + ė: "e", + ę: "e", + ě: "e", + Ĝ: "G", + Ğ: "G", + Ġ: "G", + Ģ: "G", + ĝ: "g", + ğ: "g", + ġ: "g", + ģ: "g", + Ĥ: "H", + Ħ: "H", + ĥ: "h", + ħ: "h", + Ĩ: "I", + Ī: "I", + Ĭ: "I", + Į: "I", + İ: "I", + ĩ: "i", + ī: "i", + ĭ: "i", + į: "i", + ı: "i", + Ĵ: "J", + ĵ: "j", + Ķ: "K", + ķ: "k", + ĸ: "k", + Ĺ: "L", + Ļ: "L", + Ľ: "L", + Ŀ: "L", + Ł: "L", + ĺ: "l", + ļ: "l", + ľ: "l", + ŀ: "l", + ł: "l", + Ń: "N", + Ņ: "N", + Ň: "N", + Ŋ: "N", + ń: "n", + ņ: "n", + ň: "n", + ŋ: "n", + Ō: "O", + Ŏ: "O", + Ő: "O", + ō: "o", + ŏ: "o", + ő: "o", + Ŕ: "R", + Ŗ: "R", + Ř: "R", + ŕ: "r", + ŗ: "r", + ř: "r", + Ś: "S", + Ŝ: "S", + Ş: "S", + Š: "S", + ś: "s", + ŝ: "s", + ş: "s", + š: "s", + Ţ: "T", + Ť: "T", + Ŧ: "T", + ţ: "t", + ť: "t", + ŧ: "t", + Ũ: "U", + Ū: "U", + Ŭ: "U", + Ů: "U", + Ű: "U", + Ų: "U", + ũ: "u", + ū: "u", + ŭ: "u", + ů: "u", + ű: "u", + ų: "u", + Ŵ: "W", + ŵ: "w", + Ŷ: "Y", + ŷ: "y", + Ÿ: "Y", + Ź: "Z", + Ż: "Z", + Ž: "Z", + ź: "z", + ż: "z", + ž: "z", + IJ: "IJ", + ij: "ij", + Œ: "Oe", + œ: "oe", + ʼn: "'n", + ſ: "s", + }, + Wm = { + "&": "&", + "<": "<", + ">": ">", + '"': """, + "'": "'", + }, + Ym = { + "&": "&", + "<": "<", + ">": ">", + """: '"', + "'": "'", + }, + Hm = { + "\\": "\\", + "'": "'", + "\n": "n", + "\r": "r", + "\u2028": "u2028", + "\u2029": "u2029", + }, + Gm = parseFloat, + Km = parseInt, + Wc = typeof Ma == "object" && Ma && Ma.Object === Object && Ma, + Qm = typeof self == "object" && self && self.Object === Object && self, + Ut = Wc || Qm || Function("return this")(), + is = t && !t.nodeType && t, + ni = is && !0 && e && !e.nodeType && e, + Yc = ni && ni.exports === is, + as = Yc && Wc.process, + qn = (function () { + try { + var q = ni && ni.require && ni.require("util").types; + return q || (as && as.binding && as.binding("util")); + } catch {} + })(), + Hc = qn && qn.isArrayBuffer, + Gc = qn && qn.isDate, + Kc = qn && qn.isMap, + Qc = qn && qn.isRegExp, + jc = qn && qn.isSet, + Zc = qn && qn.isTypedArray; + function vn(q, B, O) { + switch (O.length) { + case 0: + return q.call(B); + case 1: + return q.call(B, O[0]); + case 2: + return q.call(B, O[0], O[1]); + case 3: + return q.call(B, O[0], O[1], O[2]); + } + return q.apply(B, O); + } + function jm(q, B, O, ue) { + for (var Ae = -1, nt = q == null ? 0 : q.length; ++Ae < nt; ) { + var $t = q[Ae]; + B(ue, $t, O($t), q); + } + return ue; + } + function xn(q, B) { + for ( + var O = -1, ue = q == null ? 0 : q.length; + ++O < ue && B(q[O], O, q) !== !1; + + ); + return q; + } + function Zm(q, B) { + for (var O = q == null ? 0 : q.length; O-- && B(q[O], O, q) !== !1; ); + return q; + } + function Jc(q, B) { + for (var O = -1, ue = q == null ? 0 : q.length; ++O < ue; ) + if (!B(q[O], O, q)) return !1; + return !0; + } + function Or(q, B) { + for ( + var O = -1, ue = q == null ? 0 : q.length, Ae = 0, nt = []; + ++O < ue; + + ) { + var $t = q[O]; + B($t, O, q) && (nt[Ae++] = $t); + } + return nt; + } + function dl(q, B) { + var O = q == null ? 0 : q.length; + return !!O && qi(q, B, 0) > -1; + } + function ls(q, B, O) { + for (var ue = -1, Ae = q == null ? 0 : q.length; ++ue < Ae; ) + if (O(B, q[ue])) return !0; + return !1; + } + function _t(q, B) { + for ( + var O = -1, ue = q == null ? 0 : q.length, Ae = Array(ue); + ++O < ue; + + ) + Ae[O] = B(q[O], O, q); + return Ae; + } + function Lr(q, B) { + for (var O = -1, ue = B.length, Ae = q.length; ++O < ue; ) + q[Ae + O] = B[O]; + return q; + } + function os(q, B, O, ue) { + var Ae = -1, + nt = q == null ? 0 : q.length; + for (ue && nt && (O = q[++Ae]); ++Ae < nt; ) O = B(O, q[Ae], Ae, q); + return O; + } + function Jm(q, B, O, ue) { + var Ae = q == null ? 0 : q.length; + for (ue && Ae && (O = q[--Ae]); Ae--; ) O = B(O, q[Ae], Ae, q); + return O; + } + function ss(q, B) { + for (var O = -1, ue = q == null ? 0 : q.length; ++O < ue; ) + if (B(q[O], O, q)) return !0; + return !1; + } + var Xm = us("length"); + function ev(q) { + return q.split(""); + } + function tv(q) { + return q.match(Ir) || []; + } + function Xc(q, B, O) { + var ue; + return ( + O(q, function (Ae, nt, $t) { + if (B(Ae, nt, $t)) return (ue = nt), !1; + }), + ue + ); + } + function fl(q, B, O, ue) { + for (var Ae = q.length, nt = O + (ue ? 1 : -1); ue ? nt-- : ++nt < Ae; ) + if (B(q[nt], nt, q)) return nt; + return -1; + } + function qi(q, B, O) { + return B === B ? hv(q, B, O) : fl(q, ed, O); + } + function nv(q, B, O, ue) { + for (var Ae = O - 1, nt = q.length; ++Ae < nt; ) + if (ue(q[Ae], B)) return Ae; + return -1; + } + function ed(q) { + return q !== q; + } + function td(q, B) { + var O = q == null ? 0 : q.length; + return O ? ds(q, B) / O : X; + } + function us(q) { + return function (B) { + return B == null ? r : B[q]; + }; + } + function cs(q) { + return function (B) { + return q == null ? r : q[B]; + }; + } + function nd(q, B, O, ue, Ae) { + return ( + Ae(q, function (nt, $t, dt) { + O = ue ? ((ue = !1), nt) : B(O, nt, $t, dt); + }), + O + ); + } + function rv(q, B) { + var O = q.length; + for (q.sort(B); O--; ) q[O] = q[O].value; + return q; + } + function ds(q, B) { + for (var O, ue = -1, Ae = q.length; ++ue < Ae; ) { + var nt = B(q[ue]); + nt !== r && (O = O === r ? nt : O + nt); + } + return O; + } + function fs(q, B) { + for (var O = -1, ue = Array(q); ++O < q; ) ue[O] = B(O); + return ue; + } + function iv(q, B) { + return _t(B, function (O) { + return [O, q[O]]; + }); + } + function rd(q) { + return q && q.slice(0, od(q) + 1).replace(ua, ""); + } + function pn(q) { + return function (B) { + return q(B); + }; + } + function hs(q, B) { + return _t(B, function (O) { + return q[O]; + }); + } + function ca(q, B) { + return q.has(B); + } + function id(q, B) { + for (var O = -1, ue = q.length; ++O < ue && qi(B, q[O], 0) > -1; ); + return O; + } + function ad(q, B) { + for (var O = q.length; O-- && qi(B, q[O], 0) > -1; ); + return O; + } + function av(q, B) { + for (var O = q.length, ue = 0; O--; ) q[O] === B && ++ue; + return ue; + } + var lv = cs(zm), + ov = cs(Wm); + function sv(q) { + return "\\" + Hm[q]; + } + function uv(q, B) { + return q == null ? r : q[B]; + } + function xi(q) { + return Bm.test(q); + } + function cv(q) { + return Fm.test(q); + } + function dv(q) { + for (var B, O = []; !(B = q.next()).done; ) O.push(B.value); + return O; + } + function gs(q) { + var B = -1, + O = Array(q.size); + return ( + q.forEach(function (ue, Ae) { + O[++B] = [Ae, ue]; + }), + O + ); + } + function ld(q, B) { + return function (O) { + return q(B(O)); + }; + } + function Nr(q, B) { + for (var O = -1, ue = q.length, Ae = 0, nt = []; ++O < ue; ) { + var $t = q[O]; + ($t === B || $t === v) && ((q[O] = v), (nt[Ae++] = O)); + } + return nt; + } + function hl(q) { + var B = -1, + O = Array(q.size); + return ( + q.forEach(function (ue) { + O[++B] = ue; + }), + O + ); + } + function fv(q) { + var B = -1, + O = Array(q.size); + return ( + q.forEach(function (ue) { + O[++B] = [ue, ue]; + }), + O + ); + } + function hv(q, B, O) { + for (var ue = O - 1, Ae = q.length; ++ue < Ae; ) + if (q[ue] === B) return ue; + return -1; + } + function gv(q, B, O) { + for (var ue = O + 1; ue--; ) if (q[ue] === B) return ue; + return ue; + } + function Pi(q) { + return xi(q) ? vv(q) : Xm(q); + } + function Un(q) { + return xi(q) ? pv(q) : ev(q); + } + function od(q) { + for (var B = q.length; B-- && Ko.test(q.charAt(B)); ); + return B; + } + var mv = cs(Ym); + function vv(q) { + for (var B = (rs.lastIndex = 0); rs.test(q); ) ++B; + return B; + } + function pv(q) { + return q.match(rs) || []; + } + function yv(q) { + return q.match(Nm) || []; + } + var _v = function q(B) { + B = B == null ? Ut : Ai.defaults(Ut.Object(), B, Ai.pick(Ut, Um)); + var O = B.Array, + ue = B.Date, + Ae = B.Error, + nt = B.Function, + $t = B.Math, + dt = B.Object, + ms = B.RegExp, + bv = B.String, + Pn = B.TypeError, + gl = O.prototype, + wv = nt.prototype, + Ei = dt.prototype, + ml = B["__core-js_shared__"], + vl = wv.toString, + ot = Ei.hasOwnProperty, + Sv = 0, + sd = (function () { + var n = /[^.]+$/.exec((ml && ml.keys && ml.keys.IE_PROTO) || ""); + return n ? "Symbol(src)_1." + n : ""; + })(), + pl = Ei.toString, + kv = vl.call(dt), + Cv = Ut._, + Tv = ms( + "^" + + vl + .call(ot) + .replace(sa, "\\$&") + .replace( + /hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, + "$1.*?" + ) + + "$" + ), + yl = Yc ? B.Buffer : r, + Br = B.Symbol, + _l = B.Uint8Array, + ud = yl ? yl.allocUnsafe : r, + bl = ld(dt.getPrototypeOf, dt), + cd = dt.create, + dd = Ei.propertyIsEnumerable, + wl = gl.splice, + fd = Br ? Br.isConcatSpreadable : r, + da = Br ? Br.iterator : r, + ri = Br ? Br.toStringTag : r, + Sl = (function () { + try { + var n = si(dt, "defineProperty"); + return n({}, "", {}), n; + } catch {} + })(), + Mv = B.clearTimeout !== Ut.clearTimeout && B.clearTimeout, + Dv = ue && ue.now !== Ut.Date.now && ue.now, + qv = B.setTimeout !== Ut.setTimeout && B.setTimeout, + kl = $t.ceil, + Cl = $t.floor, + vs = dt.getOwnPropertySymbols, + xv = yl ? yl.isBuffer : r, + hd = B.isFinite, + Pv = gl.join, + Av = ld(dt.keys, dt), + Rt = $t.max, + jt = $t.min, + Ev = ue.now, + Iv = B.parseInt, + gd = $t.random, + $v = gl.reverse, + ps = si(B, "DataView"), + fa = si(B, "Map"), + ys = si(B, "Promise"), + Ii = si(B, "Set"), + ha = si(B, "WeakMap"), + ga = si(dt, "create"), + Tl = ha && new ha(), + $i = {}, + Rv = ui(ps), + Ov = ui(fa), + Lv = ui(ys), + Nv = ui(Ii), + Bv = ui(ha), + Ml = Br ? Br.prototype : r, + ma = Ml ? Ml.valueOf : r, + md = Ml ? Ml.toString : r; + function m(n) { + if (Tt(n) && !Ee(n) && !(n instanceof He)) { + if (n instanceof An) return n; + if (ot.call(n, "__wrapped__")) return pf(n); + } + return new An(n); + } + var Ri = (function () { + function n() {} + return function (i) { + if (!Ct(i)) return {}; + if (cd) return cd(i); + n.prototype = i; + var o = new n(); + return (n.prototype = r), o; + }; + })(); + function Dl() {} + function An(n, i) { + (this.__wrapped__ = n), + (this.__actions__ = []), + (this.__chain__ = !!i), + (this.__index__ = 0), + (this.__values__ = r); + } + (m.templateSettings = { + escape: al, + evaluate: Ci, + interpolate: Ar, + variable: "", + imports: { _: m }, + }), + (m.prototype = Dl.prototype), + (m.prototype.constructor = m), + (An.prototype = Ri(Dl.prototype)), + (An.prototype.constructor = An); + function He(n) { + (this.__wrapped__ = n), + (this.__actions__ = []), + (this.__dir__ = 1), + (this.__filtered__ = !1), + (this.__iteratees__ = []), + (this.__takeCount__ = Z), + (this.__views__ = []); + } + function Fv() { + var n = new He(this.__wrapped__); + return ( + (n.__actions__ = dn(this.__actions__)), + (n.__dir__ = this.__dir__), + (n.__filtered__ = this.__filtered__), + (n.__iteratees__ = dn(this.__iteratees__)), + (n.__takeCount__ = this.__takeCount__), + (n.__views__ = dn(this.__views__)), + n + ); + } + function Uv() { + if (this.__filtered__) { + var n = new He(this); + (n.__dir__ = -1), (n.__filtered__ = !0); + } else (n = this.clone()), (n.__dir__ *= -1); + return n; + } + function Vv() { + var n = this.__wrapped__.value(), + i = this.__dir__, + o = Ee(n), + c = i < 0, + h = o ? n.length : 0, + p = e0(0, h, this.__views__), + w = p.start, + k = p.end, + x = k - w, + U = c ? k : w - 1, + V = this.__iteratees__, + Y = V.length, + ne = 0, + ve = jt(x, this.__takeCount__); + if (!o || (!c && h == x && ve == x)) return Bd(n, this.__actions__); + var ke = []; + e: for (; x-- && ne < ve; ) { + U += i; + for (var Le = -1, Ce = n[U]; ++Le < Y; ) { + var Ye = V[Le], + Qe = Ye.iteratee, + bn = Ye.type, + on = Qe(Ce); + if (bn == Be) Ce = on; + else if (!on) { + if (bn == xe) continue e; + break e; + } + } + ke[ne++] = Ce; + } + return ke; + } + (He.prototype = Ri(Dl.prototype)), (He.prototype.constructor = He); + function ii(n) { + var i = -1, + o = n == null ? 0 : n.length; + for (this.clear(); ++i < o; ) { + var c = n[i]; + this.set(c[0], c[1]); + } + } + function zv() { + (this.__data__ = ga ? ga(null) : {}), (this.size = 0); + } + function Wv(n) { + var i = this.has(n) && delete this.__data__[n]; + return (this.size -= i ? 1 : 0), i; + } + function Yv(n) { + var i = this.__data__; + if (ga) { + var o = i[n]; + return o === f ? r : o; + } + return ot.call(i, n) ? i[n] : r; + } + function Hv(n) { + var i = this.__data__; + return ga ? i[n] !== r : ot.call(i, n); + } + function Gv(n, i) { + var o = this.__data__; + return ( + (this.size += this.has(n) ? 0 : 1), + (o[n] = ga && i === r ? f : i), + this + ); + } + (ii.prototype.clear = zv), + (ii.prototype.delete = Wv), + (ii.prototype.get = Yv), + (ii.prototype.has = Hv), + (ii.prototype.set = Gv); + function cr(n) { + var i = -1, + o = n == null ? 0 : n.length; + for (this.clear(); ++i < o; ) { + var c = n[i]; + this.set(c[0], c[1]); + } + } + function Kv() { + (this.__data__ = []), (this.size = 0); + } + function Qv(n) { + var i = this.__data__, + o = ql(i, n); + if (o < 0) return !1; + var c = i.length - 1; + return o == c ? i.pop() : wl.call(i, o, 1), --this.size, !0; + } + function jv(n) { + var i = this.__data__, + o = ql(i, n); + return o < 0 ? r : i[o][1]; + } + function Zv(n) { + return ql(this.__data__, n) > -1; + } + function Jv(n, i) { + var o = this.__data__, + c = ql(o, n); + return c < 0 ? (++this.size, o.push([n, i])) : (o[c][1] = i), this; + } + (cr.prototype.clear = Kv), + (cr.prototype.delete = Qv), + (cr.prototype.get = jv), + (cr.prototype.has = Zv), + (cr.prototype.set = Jv); + function dr(n) { + var i = -1, + o = n == null ? 0 : n.length; + for (this.clear(); ++i < o; ) { + var c = n[i]; + this.set(c[0], c[1]); + } + } + function Xv() { + (this.size = 0), + (this.__data__ = { + hash: new ii(), + map: new (fa || cr)(), + string: new ii(), + }); + } + function ep(n) { + var i = Fl(this, n).delete(n); + return (this.size -= i ? 1 : 0), i; + } + function tp(n) { + return Fl(this, n).get(n); + } + function np(n) { + return Fl(this, n).has(n); + } + function rp(n, i) { + var o = Fl(this, n), + c = o.size; + return o.set(n, i), (this.size += o.size == c ? 0 : 1), this; + } + (dr.prototype.clear = Xv), + (dr.prototype.delete = ep), + (dr.prototype.get = tp), + (dr.prototype.has = np), + (dr.prototype.set = rp); + function ai(n) { + var i = -1, + o = n == null ? 0 : n.length; + for (this.__data__ = new dr(); ++i < o; ) this.add(n[i]); + } + function ip(n) { + return this.__data__.set(n, f), this; + } + function ap(n) { + return this.__data__.has(n); + } + (ai.prototype.add = ai.prototype.push = ip), (ai.prototype.has = ap); + function Vn(n) { + var i = (this.__data__ = new cr(n)); + this.size = i.size; + } + function lp() { + (this.__data__ = new cr()), (this.size = 0); + } + function op(n) { + var i = this.__data__, + o = i.delete(n); + return (this.size = i.size), o; + } + function sp(n) { + return this.__data__.get(n); + } + function up(n) { + return this.__data__.has(n); + } + function cp(n, i) { + var o = this.__data__; + if (o instanceof cr) { + var c = o.__data__; + if (!fa || c.length < l - 1) + return c.push([n, i]), (this.size = ++o.size), this; + o = this.__data__ = new dr(c); + } + return o.set(n, i), (this.size = o.size), this; + } + (Vn.prototype.clear = lp), + (Vn.prototype.delete = op), + (Vn.prototype.get = sp), + (Vn.prototype.has = up), + (Vn.prototype.set = cp); + function vd(n, i) { + var o = Ee(n), + c = !o && ci(n), + h = !o && !c && Wr(n), + p = !o && !c && !h && Bi(n), + w = o || c || h || p, + k = w ? fs(n.length, bv) : [], + x = k.length; + for (var U in n) + (i || ot.call(n, U)) && + !( + w && + (U == "length" || + (h && (U == "offset" || U == "parent")) || + (p && + (U == "buffer" || + U == "byteLength" || + U == "byteOffset")) || + mr(U, x)) + ) && + k.push(U); + return k; + } + function pd(n) { + var i = n.length; + return i ? n[xs(0, i - 1)] : r; + } + function dp(n, i) { + return Ul(dn(n), li(i, 0, n.length)); + } + function fp(n) { + return Ul(dn(n)); + } + function _s(n, i, o) { + ((o !== r && !zn(n[i], o)) || (o === r && !(i in n))) && fr(n, i, o); + } + function va(n, i, o) { + var c = n[i]; + (!(ot.call(n, i) && zn(c, o)) || (o === r && !(i in n))) && + fr(n, i, o); + } + function ql(n, i) { + for (var o = n.length; o--; ) if (zn(n[o][0], i)) return o; + return -1; + } + function hp(n, i, o, c) { + return ( + Fr(n, function (h, p, w) { + i(c, h, o(h), w); + }), + c + ); + } + function yd(n, i) { + return n && er(i, Bt(i), n); + } + function gp(n, i) { + return n && er(i, hn(i), n); + } + function fr(n, i, o) { + i == "__proto__" && Sl + ? Sl(n, i, { + configurable: !0, + enumerable: !0, + value: o, + writable: !0, + }) + : (n[i] = o); + } + function bs(n, i) { + for (var o = -1, c = i.length, h = O(c), p = n == null; ++o < c; ) + h[o] = p ? r : eu(n, i[o]); + return h; + } + function li(n, i, o) { + return ( + n === n && + (o !== r && (n = n <= o ? n : o), + i !== r && (n = n >= i ? n : i)), + n + ); + } + function En(n, i, o, c, h, p) { + var w, + k = i & T, + x = i & M, + U = i & _; + if ((o && (w = h ? o(n, c, h, p) : o(n)), w !== r)) return w; + if (!Ct(n)) return n; + var V = Ee(n); + if (V) { + if (((w = n0(n)), !k)) return dn(n, w); + } else { + var Y = Zt(n), + ne = Y == un || Y == rn; + if (Wr(n)) return Vd(n, k); + if (Y == Kt || Y == Ve || (ne && !h)) { + if (((w = x || ne ? {} : sf(n)), !k)) + return x ? Yp(n, gp(w, n)) : Wp(n, yd(w, n)); + } else { + if (!ht[Y]) return h ? n : {}; + w = r0(n, Y, k); + } + } + p || (p = new Vn()); + var ve = p.get(n); + if (ve) return ve; + p.set(n, w), + Lf(n) + ? n.forEach(function (Ce) { + w.add(En(Ce, i, o, Ce, n, p)); + }) + : Rf(n) && + n.forEach(function (Ce, Ye) { + w.set(Ye, En(Ce, i, o, Ye, n, p)); + }); + var ke = U ? (x ? Fs : Bs) : x ? hn : Bt, + Le = V ? r : ke(n); + return ( + xn(Le || n, function (Ce, Ye) { + Le && ((Ye = Ce), (Ce = n[Ye])), + va(w, Ye, En(Ce, i, o, Ye, n, p)); + }), + w + ); + } + function mp(n) { + var i = Bt(n); + return function (o) { + return _d(o, n, i); + }; + } + function _d(n, i, o) { + var c = o.length; + if (n == null) return !c; + for (n = dt(n); c--; ) { + var h = o[c], + p = i[h], + w = n[h]; + if ((w === r && !(h in n)) || !p(w)) return !1; + } + return !0; + } + function bd(n, i, o) { + if (typeof n != "function") throw new Pn(u); + return ka(function () { + n.apply(r, o); + }, i); + } + function pa(n, i, o, c) { + var h = -1, + p = dl, + w = !0, + k = n.length, + x = [], + U = i.length; + if (!k) return x; + o && (i = _t(i, pn(o))), + c + ? ((p = ls), (w = !1)) + : i.length >= l && ((p = ca), (w = !1), (i = new ai(i))); + e: for (; ++h < k; ) { + var V = n[h], + Y = o == null ? V : o(V); + if (((V = c || V !== 0 ? V : 0), w && Y === Y)) { + for (var ne = U; ne--; ) if (i[ne] === Y) continue e; + x.push(V); + } else p(i, Y, c) || x.push(V); + } + return x; + } + var Fr = Gd(Xn), + wd = Gd(Ss, !0); + function vp(n, i) { + var o = !0; + return ( + Fr(n, function (c, h, p) { + return (o = !!i(c, h, p)), o; + }), + o + ); + } + function xl(n, i, o) { + for (var c = -1, h = n.length; ++c < h; ) { + var p = n[c], + w = i(p); + if (w != null && (k === r ? w === w && !_n(w) : o(w, k))) + var k = w, + x = p; + } + return x; + } + function pp(n, i, o, c) { + var h = n.length; + for ( + o = Re(o), + o < 0 && (o = -o > h ? 0 : h + o), + c = c === r || c > h ? h : Re(c), + c < 0 && (c += h), + c = o > c ? 0 : Bf(c); + o < c; + + ) + n[o++] = i; + return n; + } + function Sd(n, i) { + var o = []; + return ( + Fr(n, function (c, h, p) { + i(c, h, p) && o.push(c); + }), + o + ); + } + function Vt(n, i, o, c, h) { + var p = -1, + w = n.length; + for (o || (o = a0), h || (h = []); ++p < w; ) { + var k = n[p]; + i > 0 && o(k) + ? i > 1 + ? Vt(k, i - 1, o, c, h) + : Lr(h, k) + : c || (h[h.length] = k); + } + return h; + } + var ws = Kd(), + kd = Kd(!0); + function Xn(n, i) { + return n && ws(n, i, Bt); + } + function Ss(n, i) { + return n && kd(n, i, Bt); + } + function Pl(n, i) { + return Or(i, function (o) { + return vr(n[o]); + }); + } + function oi(n, i) { + i = Vr(i, n); + for (var o = 0, c = i.length; n != null && o < c; ) n = n[tr(i[o++])]; + return o && o == c ? n : r; + } + function Cd(n, i, o) { + var c = i(n); + return Ee(n) ? c : Lr(c, o(n)); + } + function an(n) { + return n == null + ? n === r + ? gt + : Zn + : ri && ri in dt(n) + ? Xp(n) + : f0(n); + } + function ks(n, i) { + return n > i; + } + function yp(n, i) { + return n != null && ot.call(n, i); + } + function _p(n, i) { + return n != null && i in dt(n); + } + function bp(n, i, o) { + return n >= jt(i, o) && n < Rt(i, o); + } + function Cs(n, i, o) { + for ( + var c = o ? ls : dl, + h = n[0].length, + p = n.length, + w = p, + k = O(p), + x = 1 / 0, + U = []; + w--; + + ) { + var V = n[w]; + w && i && (V = _t(V, pn(i))), + (x = jt(V.length, x)), + (k[w] = + !o && (i || (h >= 120 && V.length >= 120)) + ? new ai(w && V) + : r); + } + V = n[0]; + var Y = -1, + ne = k[0]; + e: for (; ++Y < h && U.length < x; ) { + var ve = V[Y], + ke = i ? i(ve) : ve; + if ( + ((ve = o || ve !== 0 ? ve : 0), !(ne ? ca(ne, ke) : c(U, ke, o))) + ) { + for (w = p; --w; ) { + var Le = k[w]; + if (!(Le ? ca(Le, ke) : c(n[w], ke, o))) continue e; + } + ne && ne.push(ke), U.push(ve); + } + } + return U; + } + function wp(n, i, o, c) { + return ( + Xn(n, function (h, p, w) { + i(c, o(h), p, w); + }), + c + ); + } + function ya(n, i, o) { + (i = Vr(i, n)), (n = ff(n, i)); + var c = n == null ? n : n[tr($n(i))]; + return c == null ? r : vn(c, n, o); + } + function Td(n) { + return Tt(n) && an(n) == Ve; + } + function Sp(n) { + return Tt(n) && an(n) == Fe; + } + function kp(n) { + return Tt(n) && an(n) == ee; + } + function _a(n, i, o, c, h) { + return n === i + ? !0 + : n == null || i == null || (!Tt(n) && !Tt(i)) + ? n !== n && i !== i + : Cp(n, i, o, c, _a, h); + } + function Cp(n, i, o, c, h, p) { + var w = Ee(n), + k = Ee(i), + x = w ? we : Zt(n), + U = k ? we : Zt(i); + (x = x == Ve ? Kt : x), (U = U == Ve ? Kt : U); + var V = x == Kt, + Y = U == Kt, + ne = x == U; + if (ne && Wr(n)) { + if (!Wr(i)) return !1; + (w = !0), (V = !1); + } + if (ne && !V) + return ( + p || (p = new Vn()), + w || Bi(n) ? af(n, i, o, c, h, p) : Zp(n, i, x, o, c, h, p) + ); + if (!(o & P)) { + var ve = V && ot.call(n, "__wrapped__"), + ke = Y && ot.call(i, "__wrapped__"); + if (ve || ke) { + var Le = ve ? n.value() : n, + Ce = ke ? i.value() : i; + return p || (p = new Vn()), h(Le, Ce, o, c, p); + } + } + return ne ? (p || (p = new Vn()), Jp(n, i, o, c, h, p)) : !1; + } + function Tp(n) { + return Tt(n) && Zt(n) == qt; + } + function Ts(n, i, o, c) { + var h = o.length, + p = h, + w = !c; + if (n == null) return !p; + for (n = dt(n); h--; ) { + var k = o[h]; + if (w && k[2] ? k[1] !== n[k[0]] : !(k[0] in n)) return !1; + } + for (; ++h < p; ) { + k = o[h]; + var x = k[0], + U = n[x], + V = k[1]; + if (w && k[2]) { + if (U === r && !(x in n)) return !1; + } else { + var Y = new Vn(); + if (c) var ne = c(U, V, x, n, i, Y); + if (!(ne === r ? _a(V, U, P | $, c, Y) : ne)) return !1; + } + } + return !0; + } + function Md(n) { + if (!Ct(n) || o0(n)) return !1; + var i = vr(n) ? Tv : ol; + return i.test(ui(n)); + } + function Mp(n) { + return Tt(n) && an(n) == St; + } + function Dp(n) { + return Tt(n) && Zt(n) == G; + } + function qp(n) { + return Tt(n) && Gl(n.length) && !!vt[an(n)]; + } + function Dd(n) { + return typeof n == "function" + ? n + : n == null + ? gn + : typeof n == "object" + ? Ee(n) + ? Pd(n[0], n[1]) + : xd(n) + : jf(n); + } + function Ms(n) { + if (!Sa(n)) return Av(n); + var i = []; + for (var o in dt(n)) ot.call(n, o) && o != "constructor" && i.push(o); + return i; + } + function xp(n) { + if (!Ct(n)) return d0(n); + var i = Sa(n), + o = []; + for (var c in n) + (c == "constructor" && (i || !ot.call(n, c))) || o.push(c); + return o; + } + function Ds(n, i) { + return n < i; + } + function qd(n, i) { + var o = -1, + c = fn(n) ? O(n.length) : []; + return ( + Fr(n, function (h, p, w) { + c[++o] = i(h, p, w); + }), + c + ); + } + function xd(n) { + var i = Vs(n); + return i.length == 1 && i[0][2] + ? cf(i[0][0], i[0][1]) + : function (o) { + return o === n || Ts(o, n, i); + }; + } + function Pd(n, i) { + return Ws(n) && uf(i) + ? cf(tr(n), i) + : function (o) { + var c = eu(o, n); + return c === r && c === i ? tu(o, n) : _a(i, c, P | $); + }; + } + function Al(n, i, o, c, h) { + n !== i && + ws( + i, + function (p, w) { + if ((h || (h = new Vn()), Ct(p))) Pp(n, i, w, o, Al, c, h); + else { + var k = c ? c(Hs(n, w), p, w + "", n, i, h) : r; + k === r && (k = p), _s(n, w, k); + } + }, + hn + ); + } + function Pp(n, i, o, c, h, p, w) { + var k = Hs(n, o), + x = Hs(i, o), + U = w.get(x); + if (U) { + _s(n, o, U); + return; + } + var V = p ? p(k, x, o + "", n, i, w) : r, + Y = V === r; + if (Y) { + var ne = Ee(x), + ve = !ne && Wr(x), + ke = !ne && !ve && Bi(x); + (V = x), + ne || ve || ke + ? Ee(k) + ? (V = k) + : Pt(k) + ? (V = dn(k)) + : ve + ? ((Y = !1), (V = Vd(x, !0))) + : ke + ? ((Y = !1), (V = zd(x, !0))) + : (V = []) + : Ca(x) || ci(x) + ? ((V = k), + ci(k) ? (V = Ff(k)) : (!Ct(k) || vr(k)) && (V = sf(x))) + : (Y = !1); + } + Y && (w.set(x, V), h(V, x, c, p, w), w.delete(x)), _s(n, o, V); + } + function Ad(n, i) { + var o = n.length; + if (!!o) return (i += i < 0 ? o : 0), mr(i, o) ? n[i] : r; + } + function Ed(n, i, o) { + i.length + ? (i = _t(i, function (p) { + return Ee(p) + ? function (w) { + return oi(w, p.length === 1 ? p[0] : p); + } + : p; + })) + : (i = [gn]); + var c = -1; + i = _t(i, pn(Se())); + var h = qd(n, function (p, w, k) { + var x = _t(i, function (U) { + return U(p); + }); + return { criteria: x, index: ++c, value: p }; + }); + return rv(h, function (p, w) { + return zp(p, w, o); + }); + } + function Ap(n, i) { + return Id(n, i, function (o, c) { + return tu(n, c); + }); + } + function Id(n, i, o) { + for (var c = -1, h = i.length, p = {}; ++c < h; ) { + var w = i[c], + k = oi(n, w); + o(k, w) && ba(p, Vr(w, n), k); + } + return p; + } + function Ep(n) { + return function (i) { + return oi(i, n); + }; + } + function qs(n, i, o, c) { + var h = c ? nv : qi, + p = -1, + w = i.length, + k = n; + for (n === i && (i = dn(i)), o && (k = _t(n, pn(o))); ++p < w; ) + for ( + var x = 0, U = i[p], V = o ? o(U) : U; + (x = h(k, V, x, c)) > -1; + + ) + k !== n && wl.call(k, x, 1), wl.call(n, x, 1); + return n; + } + function $d(n, i) { + for (var o = n ? i.length : 0, c = o - 1; o--; ) { + var h = i[o]; + if (o == c || h !== p) { + var p = h; + mr(h) ? wl.call(n, h, 1) : Es(n, h); + } + } + return n; + } + function xs(n, i) { + return n + Cl(gd() * (i - n + 1)); + } + function Ip(n, i, o, c) { + for (var h = -1, p = Rt(kl((i - n) / (o || 1)), 0), w = O(p); p--; ) + (w[c ? p : ++h] = n), (n += o); + return w; + } + function Ps(n, i) { + var o = ""; + if (!n || i < 1 || i > me) return o; + do i % 2 && (o += n), (i = Cl(i / 2)), i && (n += n); + while (i); + return o; + } + function Ue(n, i) { + return Gs(df(n, i, gn), n + ""); + } + function $p(n) { + return pd(Fi(n)); + } + function Rp(n, i) { + var o = Fi(n); + return Ul(o, li(i, 0, o.length)); + } + function ba(n, i, o, c) { + if (!Ct(n)) return n; + i = Vr(i, n); + for ( + var h = -1, p = i.length, w = p - 1, k = n; + k != null && ++h < p; + + ) { + var x = tr(i[h]), + U = o; + if (x === "__proto__" || x === "constructor" || x === "prototype") + return n; + if (h != w) { + var V = k[x]; + (U = c ? c(V, x, k) : r), + U === r && (U = Ct(V) ? V : mr(i[h + 1]) ? [] : {}); + } + va(k, x, U), (k = k[x]); + } + return n; + } + var Rd = Tl + ? function (n, i) { + return Tl.set(n, i), n; + } + : gn, + Op = Sl + ? function (n, i) { + return Sl(n, "toString", { + configurable: !0, + enumerable: !1, + value: ru(i), + writable: !0, + }); + } + : gn; + function Lp(n) { + return Ul(Fi(n)); + } + function In(n, i, o) { + var c = -1, + h = n.length; + i < 0 && (i = -i > h ? 0 : h + i), + (o = o > h ? h : o), + o < 0 && (o += h), + (h = i > o ? 0 : (o - i) >>> 0), + (i >>>= 0); + for (var p = O(h); ++c < h; ) p[c] = n[c + i]; + return p; + } + function Np(n, i) { + var o; + return ( + Fr(n, function (c, h, p) { + return (o = i(c, h, p)), !o; + }), + !!o + ); + } + function El(n, i, o) { + var c = 0, + h = n == null ? c : n.length; + if (typeof i == "number" && i === i && h <= fe) { + for (; c < h; ) { + var p = (c + h) >>> 1, + w = n[p]; + w !== null && !_n(w) && (o ? w <= i : w < i) + ? (c = p + 1) + : (h = p); + } + return h; + } + return As(n, i, gn, o); + } + function As(n, i, o, c) { + var h = 0, + p = n == null ? 0 : n.length; + if (p === 0) return 0; + i = o(i); + for ( + var w = i !== i, k = i === null, x = _n(i), U = i === r; + h < p; + + ) { + var V = Cl((h + p) / 2), + Y = o(n[V]), + ne = Y !== r, + ve = Y === null, + ke = Y === Y, + Le = _n(Y); + if (w) var Ce = c || ke; + else + U + ? (Ce = ke && (c || ne)) + : k + ? (Ce = ke && ne && (c || !ve)) + : x + ? (Ce = ke && ne && !ve && (c || !Le)) + : ve || Le + ? (Ce = !1) + : (Ce = c ? Y <= i : Y < i); + Ce ? (h = V + 1) : (p = V); + } + return jt(p, he); + } + function Od(n, i) { + for (var o = -1, c = n.length, h = 0, p = []; ++o < c; ) { + var w = n[o], + k = i ? i(w) : w; + if (!o || !zn(k, x)) { + var x = k; + p[h++] = w === 0 ? 0 : w; + } + } + return p; + } + function Ld(n) { + return typeof n == "number" ? n : _n(n) ? X : +n; + } + function yn(n) { + if (typeof n == "string") return n; + if (Ee(n)) return _t(n, yn) + ""; + if (_n(n)) return md ? md.call(n) : ""; + var i = n + ""; + return i == "0" && 1 / n == -K ? "-0" : i; + } + function Ur(n, i, o) { + var c = -1, + h = dl, + p = n.length, + w = !0, + k = [], + x = k; + if (o) (w = !1), (h = ls); + else if (p >= l) { + var U = i ? null : Qp(n); + if (U) return hl(U); + (w = !1), (h = ca), (x = new ai()); + } else x = i ? [] : k; + e: for (; ++c < p; ) { + var V = n[c], + Y = i ? i(V) : V; + if (((V = o || V !== 0 ? V : 0), w && Y === Y)) { + for (var ne = x.length; ne--; ) if (x[ne] === Y) continue e; + i && x.push(Y), k.push(V); + } else h(x, Y, o) || (x !== k && x.push(Y), k.push(V)); + } + return k; + } + function Es(n, i) { + return ( + (i = Vr(i, n)), (n = ff(n, i)), n == null || delete n[tr($n(i))] + ); + } + function Nd(n, i, o, c) { + return ba(n, i, o(oi(n, i)), c); + } + function Il(n, i, o, c) { + for ( + var h = n.length, p = c ? h : -1; + (c ? p-- : ++p < h) && i(n[p], p, n); + + ); + return o + ? In(n, c ? 0 : p, c ? p + 1 : h) + : In(n, c ? p + 1 : 0, c ? h : p); + } + function Bd(n, i) { + var o = n; + return ( + o instanceof He && (o = o.value()), + os( + i, + function (c, h) { + return h.func.apply(h.thisArg, Lr([c], h.args)); + }, + o + ) + ); + } + function Is(n, i, o) { + var c = n.length; + if (c < 2) return c ? Ur(n[0]) : []; + for (var h = -1, p = O(c); ++h < c; ) + for (var w = n[h], k = -1; ++k < c; ) + k != h && (p[h] = pa(p[h] || w, n[k], i, o)); + return Ur(Vt(p, 1), i, o); + } + function Fd(n, i, o) { + for (var c = -1, h = n.length, p = i.length, w = {}; ++c < h; ) { + var k = c < p ? i[c] : r; + o(w, n[c], k); + } + return w; + } + function $s(n) { + return Pt(n) ? n : []; + } + function Rs(n) { + return typeof n == "function" ? n : gn; + } + function Vr(n, i) { + return Ee(n) ? n : Ws(n, i) ? [n] : vf(at(n)); + } + var Bp = Ue; + function zr(n, i, o) { + var c = n.length; + return (o = o === r ? c : o), !i && o >= c ? n : In(n, i, o); + } + var Ud = + Mv || + function (n) { + return Ut.clearTimeout(n); + }; + function Vd(n, i) { + if (i) return n.slice(); + var o = n.length, + c = ud ? ud(o) : new n.constructor(o); + return n.copy(c), c; + } + function Os(n) { + var i = new n.constructor(n.byteLength); + return new _l(i).set(new _l(n)), i; + } + function Fp(n, i) { + var o = i ? Os(n.buffer) : n.buffer; + return new n.constructor(o, n.byteOffset, n.byteLength); + } + function Up(n) { + var i = new n.constructor(n.source, Ti.exec(n)); + return (i.lastIndex = n.lastIndex), i; + } + function Vp(n) { + return ma ? dt(ma.call(n)) : {}; + } + function zd(n, i) { + var o = i ? Os(n.buffer) : n.buffer; + return new n.constructor(o, n.byteOffset, n.length); + } + function Wd(n, i) { + if (n !== i) { + var o = n !== r, + c = n === null, + h = n === n, + p = _n(n), + w = i !== r, + k = i === null, + x = i === i, + U = _n(i); + if ( + (!k && !U && !p && n > i) || + (p && w && x && !k && !U) || + (c && w && x) || + (!o && x) || + !h + ) + return 1; + if ( + (!c && !p && !U && n < i) || + (U && o && h && !c && !p) || + (k && o && h) || + (!w && h) || + !x + ) + return -1; + } + return 0; + } + function zp(n, i, o) { + for ( + var c = -1, + h = n.criteria, + p = i.criteria, + w = h.length, + k = o.length; + ++c < w; + + ) { + var x = Wd(h[c], p[c]); + if (x) { + if (c >= k) return x; + var U = o[c]; + return x * (U == "desc" ? -1 : 1); + } + } + return n.index - i.index; + } + function Yd(n, i, o, c) { + for ( + var h = -1, + p = n.length, + w = o.length, + k = -1, + x = i.length, + U = Rt(p - w, 0), + V = O(x + U), + Y = !c; + ++k < x; + + ) + V[k] = i[k]; + for (; ++h < w; ) (Y || h < p) && (V[o[h]] = n[h]); + for (; U--; ) V[k++] = n[h++]; + return V; + } + function Hd(n, i, o, c) { + for ( + var h = -1, + p = n.length, + w = -1, + k = o.length, + x = -1, + U = i.length, + V = Rt(p - k, 0), + Y = O(V + U), + ne = !c; + ++h < V; + + ) + Y[h] = n[h]; + for (var ve = h; ++x < U; ) Y[ve + x] = i[x]; + for (; ++w < k; ) (ne || h < p) && (Y[ve + o[w]] = n[h++]); + return Y; + } + function dn(n, i) { + var o = -1, + c = n.length; + for (i || (i = O(c)); ++o < c; ) i[o] = n[o]; + return i; + } + function er(n, i, o, c) { + var h = !o; + o || (o = {}); + for (var p = -1, w = i.length; ++p < w; ) { + var k = i[p], + x = c ? c(o[k], n[k], k, o, n) : r; + x === r && (x = n[k]), h ? fr(o, k, x) : va(o, k, x); + } + return o; + } + function Wp(n, i) { + return er(n, zs(n), i); + } + function Yp(n, i) { + return er(n, lf(n), i); + } + function $l(n, i) { + return function (o, c) { + var h = Ee(o) ? jm : hp, + p = i ? i() : {}; + return h(o, n, Se(c, 2), p); + }; + } + function Oi(n) { + return Ue(function (i, o) { + var c = -1, + h = o.length, + p = h > 1 ? o[h - 1] : r, + w = h > 2 ? o[2] : r; + for ( + p = n.length > 3 && typeof p == "function" ? (h--, p) : r, + w && ln(o[0], o[1], w) && ((p = h < 3 ? r : p), (h = 1)), + i = dt(i); + ++c < h; + + ) { + var k = o[c]; + k && n(i, k, c, p); + } + return i; + }); + } + function Gd(n, i) { + return function (o, c) { + if (o == null) return o; + if (!fn(o)) return n(o, c); + for ( + var h = o.length, p = i ? h : -1, w = dt(o); + (i ? p-- : ++p < h) && c(w[p], p, w) !== !1; + + ); + return o; + }; + } + function Kd(n) { + return function (i, o, c) { + for (var h = -1, p = dt(i), w = c(i), k = w.length; k--; ) { + var x = w[n ? k : ++h]; + if (o(p[x], x, p) === !1) break; + } + return i; + }; + } + function Hp(n, i, o) { + var c = i & L, + h = wa(n); + function p() { + var w = this && this !== Ut && this instanceof p ? h : n; + return w.apply(c ? o : this, arguments); + } + return p; + } + function Qd(n) { + return function (i) { + i = at(i); + var o = xi(i) ? Un(i) : r, + c = o ? o[0] : i.charAt(0), + h = o ? zr(o, 1).join("") : i.slice(1); + return c[n]() + h; + }; + } + function Li(n) { + return function (i) { + return os(Kf(Gf(i).replace(Om, "")), n, ""); + }; + } + function wa(n) { + return function () { + var i = arguments; + switch (i.length) { + case 0: + return new n(); + case 1: + return new n(i[0]); + case 2: + return new n(i[0], i[1]); + case 3: + return new n(i[0], i[1], i[2]); + case 4: + return new n(i[0], i[1], i[2], i[3]); + case 5: + return new n(i[0], i[1], i[2], i[3], i[4]); + case 6: + return new n(i[0], i[1], i[2], i[3], i[4], i[5]); + case 7: + return new n(i[0], i[1], i[2], i[3], i[4], i[5], i[6]); + } + var o = Ri(n.prototype), + c = n.apply(o, i); + return Ct(c) ? c : o; + }; + } + function Gp(n, i, o) { + var c = wa(n); + function h() { + for (var p = arguments.length, w = O(p), k = p, x = Ni(h); k--; ) + w[k] = arguments[k]; + var U = p < 3 && w[0] !== x && w[p - 1] !== x ? [] : Nr(w, x); + if (((p -= U.length), p < o)) + return ef(n, i, Rl, h.placeholder, r, w, U, r, r, o - p); + var V = this && this !== Ut && this instanceof h ? c : n; + return vn(V, this, w); + } + return h; + } + function jd(n) { + return function (i, o, c) { + var h = dt(i); + if (!fn(i)) { + var p = Se(o, 3); + (i = Bt(i)), + (o = function (k) { + return p(h[k], k, h); + }); + } + var w = n(i, o, c); + return w > -1 ? h[p ? i[w] : w] : r; + }; + } + function Zd(n) { + return gr(function (i) { + var o = i.length, + c = o, + h = An.prototype.thru; + for (n && i.reverse(); c--; ) { + var p = i[c]; + if (typeof p != "function") throw new Pn(u); + if (h && !w && Bl(p) == "wrapper") var w = new An([], !0); + } + for (c = w ? c : o; ++c < o; ) { + p = i[c]; + var k = Bl(p), + x = k == "wrapper" ? Us(p) : r; + x && + Ys(x[0]) && + x[1] == (z | D | N | H) && + !x[4].length && + x[9] == 1 + ? (w = w[Bl(x[0])].apply(w, x[3])) + : (w = p.length == 1 && Ys(p) ? w[k]() : w.thru(p)); + } + return function () { + var U = arguments, + V = U[0]; + if (w && U.length == 1 && Ee(V)) return w.plant(V).value(); + for (var Y = 0, ne = o ? i[Y].apply(this, U) : V; ++Y < o; ) + ne = i[Y].call(this, ne); + return ne; + }; + }); + } + function Rl(n, i, o, c, h, p, w, k, x, U) { + var V = i & z, + Y = i & L, + ne = i & F, + ve = i & (D | A), + ke = i & pe, + Le = ne ? r : wa(n); + function Ce() { + for (var Ye = arguments.length, Qe = O(Ye), bn = Ye; bn--; ) + Qe[bn] = arguments[bn]; + if (ve) + var on = Ni(Ce), + wn = av(Qe, on); + if ( + (c && (Qe = Yd(Qe, c, h, ve)), + p && (Qe = Hd(Qe, p, w, ve)), + (Ye -= wn), + ve && Ye < U) + ) { + var At = Nr(Qe, on); + return ef(n, i, Rl, Ce.placeholder, o, Qe, At, k, x, U - Ye); + } + var Wn = Y ? o : this, + yr = ne ? Wn[n] : n; + return ( + (Ye = Qe.length), + k ? (Qe = h0(Qe, k)) : ke && Ye > 1 && Qe.reverse(), + V && x < Ye && (Qe.length = x), + this && this !== Ut && this instanceof Ce && (yr = Le || wa(yr)), + yr.apply(Wn, Qe) + ); + } + return Ce; + } + function Jd(n, i) { + return function (o, c) { + return wp(o, n, i(c), {}); + }; + } + function Ol(n, i) { + return function (o, c) { + var h; + if (o === r && c === r) return i; + if ((o !== r && (h = o), c !== r)) { + if (h === r) return c; + typeof o == "string" || typeof c == "string" + ? ((o = yn(o)), (c = yn(c))) + : ((o = Ld(o)), (c = Ld(c))), + (h = n(o, c)); + } + return h; + }; + } + function Ls(n) { + return gr(function (i) { + return ( + (i = _t(i, pn(Se()))), + Ue(function (o) { + var c = this; + return n(i, function (h) { + return vn(h, c, o); + }); + }) + ); + }); + } + function Ll(n, i) { + i = i === r ? " " : yn(i); + var o = i.length; + if (o < 2) return o ? Ps(i, n) : i; + var c = Ps(i, kl(n / Pi(i))); + return xi(i) ? zr(Un(c), 0, n).join("") : c.slice(0, n); + } + function Kp(n, i, o, c) { + var h = i & L, + p = wa(n); + function w() { + for ( + var k = -1, + x = arguments.length, + U = -1, + V = c.length, + Y = O(V + x), + ne = this && this !== Ut && this instanceof w ? p : n; + ++U < V; + + ) + Y[U] = c[U]; + for (; x--; ) Y[U++] = arguments[++k]; + return vn(ne, h ? o : this, Y); + } + return w; + } + function Xd(n) { + return function (i, o, c) { + return ( + c && typeof c != "number" && ln(i, o, c) && (o = c = r), + (i = pr(i)), + o === r ? ((o = i), (i = 0)) : (o = pr(o)), + (c = c === r ? (i < o ? 1 : -1) : pr(c)), + Ip(i, o, c, n) + ); + }; + } + function Nl(n) { + return function (i, o) { + return ( + (typeof i == "string" && typeof o == "string") || + ((i = Rn(i)), (o = Rn(o))), + n(i, o) + ); + }; + } + function ef(n, i, o, c, h, p, w, k, x, U) { + var V = i & D, + Y = V ? w : r, + ne = V ? r : w, + ve = V ? p : r, + ke = V ? r : p; + (i |= V ? N : J), (i &= ~(V ? J : N)), i & W || (i &= ~(L | F)); + var Le = [n, i, h, ve, Y, ke, ne, k, x, U], + Ce = o.apply(r, Le); + return Ys(n) && hf(Ce, Le), (Ce.placeholder = c), gf(Ce, n, i); + } + function Ns(n) { + var i = $t[n]; + return function (o, c) { + if ( + ((o = Rn(o)), (c = c == null ? 0 : jt(Re(c), 292)), c && hd(o)) + ) { + var h = (at(o) + "e").split("e"), + p = i(h[0] + "e" + (+h[1] + c)); + return ( + (h = (at(p) + "e").split("e")), +(h[0] + "e" + (+h[1] - c)) + ); + } + return i(o); + }; + } + var Qp = + Ii && 1 / hl(new Ii([, -0]))[1] == K + ? function (n) { + return new Ii(n); + } + : lu; + function tf(n) { + return function (i) { + var o = Zt(i); + return o == qt ? gs(i) : o == G ? fv(i) : iv(i, n(i)); + }; + } + function hr(n, i, o, c, h, p, w, k) { + var x = i & F; + if (!x && typeof n != "function") throw new Pn(u); + var U = c ? c.length : 0; + if ( + (U || ((i &= ~(N | J)), (c = h = r)), + (w = w === r ? w : Rt(Re(w), 0)), + (k = k === r ? k : Re(k)), + (U -= h ? h.length : 0), + i & J) + ) { + var V = c, + Y = h; + c = h = r; + } + var ne = x ? r : Us(n), + ve = [n, i, o, c, h, V, Y, p, w, k]; + if ( + (ne && c0(ve, ne), + (n = ve[0]), + (i = ve[1]), + (o = ve[2]), + (c = ve[3]), + (h = ve[4]), + (k = ve[9] = ve[9] === r ? (x ? 0 : n.length) : Rt(ve[9] - U, 0)), + !k && i & (D | A) && (i &= ~(D | A)), + !i || i == L) + ) + var ke = Hp(n, i, o); + else + i == D || i == A + ? (ke = Gp(n, i, k)) + : (i == N || i == (L | N)) && !h.length + ? (ke = Kp(n, i, o, c)) + : (ke = Rl.apply(r, ve)); + var Le = ne ? Rd : hf; + return gf(Le(ke, ve), n, i); + } + function nf(n, i, o, c) { + return n === r || (zn(n, Ei[o]) && !ot.call(c, o)) ? i : n; + } + function rf(n, i, o, c, h, p) { + return ( + Ct(n) && Ct(i) && (p.set(i, n), Al(n, i, r, rf, p), p.delete(i)), n + ); + } + function jp(n) { + return Ca(n) ? r : n; + } + function af(n, i, o, c, h, p) { + var w = o & P, + k = n.length, + x = i.length; + if (k != x && !(w && x > k)) return !1; + var U = p.get(n), + V = p.get(i); + if (U && V) return U == i && V == n; + var Y = -1, + ne = !0, + ve = o & $ ? new ai() : r; + for (p.set(n, i), p.set(i, n); ++Y < k; ) { + var ke = n[Y], + Le = i[Y]; + if (c) var Ce = w ? c(Le, ke, Y, i, n, p) : c(ke, Le, Y, n, i, p); + if (Ce !== r) { + if (Ce) continue; + ne = !1; + break; + } + if (ve) { + if ( + !ss(i, function (Ye, Qe) { + if (!ca(ve, Qe) && (ke === Ye || h(ke, Ye, o, c, p))) + return ve.push(Qe); + }) + ) { + ne = !1; + break; + } + } else if (!(ke === Le || h(ke, Le, o, c, p))) { + ne = !1; + break; + } + } + return p.delete(n), p.delete(i), ne; + } + function Zp(n, i, o, c, h, p, w) { + switch (o) { + case mt: + if (n.byteLength != i.byteLength || n.byteOffset != i.byteOffset) + return !1; + (n = n.buffer), (i = i.buffer); + case Fe: + return !( + n.byteLength != i.byteLength || !p(new _l(n), new _l(i)) + ); + case ft: + case ee: + case Gt: + return zn(+n, +i); + case nn: + return n.name == i.name && n.message == i.message; + case St: + case de: + return n == i + ""; + case qt: + var k = gs; + case G: + var x = c & P; + if ((k || (k = hl), n.size != i.size && !x)) return !1; + var U = w.get(n); + if (U) return U == i; + (c |= $), w.set(n, i); + var V = af(k(n), k(i), c, h, p, w); + return w.delete(n), V; + case qe: + if (ma) return ma.call(n) == ma.call(i); + } + return !1; + } + function Jp(n, i, o, c, h, p) { + var w = o & P, + k = Bs(n), + x = k.length, + U = Bs(i), + V = U.length; + if (x != V && !w) return !1; + for (var Y = x; Y--; ) { + var ne = k[Y]; + if (!(w ? ne in i : ot.call(i, ne))) return !1; + } + var ve = p.get(n), + ke = p.get(i); + if (ve && ke) return ve == i && ke == n; + var Le = !0; + p.set(n, i), p.set(i, n); + for (var Ce = w; ++Y < x; ) { + ne = k[Y]; + var Ye = n[ne], + Qe = i[ne]; + if (c) var bn = w ? c(Qe, Ye, ne, i, n, p) : c(Ye, Qe, ne, n, i, p); + if (!(bn === r ? Ye === Qe || h(Ye, Qe, o, c, p) : bn)) { + Le = !1; + break; + } + Ce || (Ce = ne == "constructor"); + } + if (Le && !Ce) { + var on = n.constructor, + wn = i.constructor; + on != wn && + "constructor" in n && + "constructor" in i && + !( + typeof on == "function" && + on instanceof on && + typeof wn == "function" && + wn instanceof wn + ) && + (Le = !1); + } + return p.delete(n), p.delete(i), Le; + } + function gr(n) { + return Gs(df(n, r, bf), n + ""); + } + function Bs(n) { + return Cd(n, Bt, zs); + } + function Fs(n) { + return Cd(n, hn, lf); + } + var Us = Tl + ? function (n) { + return Tl.get(n); + } + : lu; + function Bl(n) { + for ( + var i = n.name + "", o = $i[i], c = ot.call($i, i) ? o.length : 0; + c--; + + ) { + var h = o[c], + p = h.func; + if (p == null || p == n) return h.name; + } + return i; + } + function Ni(n) { + var i = ot.call(m, "placeholder") ? m : n; + return i.placeholder; + } + function Se() { + var n = m.iteratee || iu; + return ( + (n = n === iu ? Dd : n), + arguments.length ? n(arguments[0], arguments[1]) : n + ); + } + function Fl(n, i) { + var o = n.__data__; + return l0(i) ? o[typeof i == "string" ? "string" : "hash"] : o.map; + } + function Vs(n) { + for (var i = Bt(n), o = i.length; o--; ) { + var c = i[o], + h = n[c]; + i[o] = [c, h, uf(h)]; + } + return i; + } + function si(n, i) { + var o = uv(n, i); + return Md(o) ? o : r; + } + function Xp(n) { + var i = ot.call(n, ri), + o = n[ri]; + try { + n[ri] = r; + var c = !0; + } catch {} + var h = pl.call(n); + return c && (i ? (n[ri] = o) : delete n[ri]), h; + } + var zs = vs + ? function (n) { + return n == null + ? [] + : ((n = dt(n)), + Or(vs(n), function (i) { + return dd.call(n, i); + })); + } + : ou, + lf = vs + ? function (n) { + for (var i = []; n; ) Lr(i, zs(n)), (n = bl(n)); + return i; + } + : ou, + Zt = an; + ((ps && Zt(new ps(new ArrayBuffer(1))) != mt) || + (fa && Zt(new fa()) != qt) || + (ys && Zt(ys.resolve()) != Bn) || + (Ii && Zt(new Ii()) != G) || + (ha && Zt(new ha()) != it)) && + (Zt = function (n) { + var i = an(n), + o = i == Kt ? n.constructor : r, + c = o ? ui(o) : ""; + if (c) + switch (c) { + case Rv: + return mt; + case Ov: + return qt; + case Lv: + return Bn; + case Nv: + return G; + case Bv: + return it; + } + return i; + }); + function e0(n, i, o) { + for (var c = -1, h = o.length; ++c < h; ) { + var p = o[c], + w = p.size; + switch (p.type) { + case "drop": + n += w; + break; + case "dropRight": + i -= w; + break; + case "take": + i = jt(i, n + w); + break; + case "takeRight": + n = Rt(n, i - w); + break; + } + } + return { start: n, end: i }; + } + function t0(n) { + var i = n.match(jo); + return i ? i[1].split(Zo) : []; + } + function of(n, i, o) { + i = Vr(i, n); + for (var c = -1, h = i.length, p = !1; ++c < h; ) { + var w = tr(i[c]); + if (!(p = n != null && o(n, w))) break; + n = n[w]; + } + return p || ++c != h + ? p + : ((h = n == null ? 0 : n.length), + !!h && Gl(h) && mr(w, h) && (Ee(n) || ci(n))); + } + function n0(n) { + var i = n.length, + o = new n.constructor(i); + return ( + i && + typeof n[0] == "string" && + ot.call(n, "index") && + ((o.index = n.index), (o.input = n.input)), + o + ); + } + function sf(n) { + return typeof n.constructor == "function" && !Sa(n) ? Ri(bl(n)) : {}; + } + function r0(n, i, o) { + var c = n.constructor; + switch (i) { + case Fe: + return Os(n); + case ft: + case ee: + return new c(+n); + case mt: + return Fp(n, o); + case xt: + case cn: + case Jn: + case ti: + case Fn: + case Qt: + case wi: + case Si: + case ki: + return zd(n, o); + case qt: + return new c(); + case Gt: + case de: + return new c(n); + case St: + return Up(n); + case G: + return new c(); + case qe: + return Vp(n); + } + } + function i0(n, i) { + var o = i.length; + if (!o) return n; + var c = o - 1; + return ( + (i[c] = (o > 1 ? "& " : "") + i[c]), + (i = i.join(o > 2 ? ", " : " ")), + n.replace( + Qo, + `{ +/* [wrapped with ` + + i + + `] */ +` + ) + ); + } + function a0(n) { + return Ee(n) || ci(n) || !!(fd && n && n[fd]); + } + function mr(n, i) { + var o = typeof n; + return ( + (i = i == null ? me : i), + !!i && + (o == "number" || (o != "symbol" && ul.test(n))) && + n > -1 && + n % 1 == 0 && + n < i + ); + } + function ln(n, i, o) { + if (!Ct(o)) return !1; + var c = typeof i; + return ( + c == "number" ? fn(o) && mr(i, o.length) : c == "string" && i in o + ) + ? zn(o[i], n) + : !1; + } + function Ws(n, i) { + if (Ee(n)) return !1; + var o = typeof n; + return o == "number" || + o == "symbol" || + o == "boolean" || + n == null || + _n(n) + ? !0 + : Yo.test(n) || !Er.test(n) || (i != null && n in dt(i)); + } + function l0(n) { + var i = typeof n; + return i == "string" || + i == "number" || + i == "symbol" || + i == "boolean" + ? n !== "__proto__" + : n === null; + } + function Ys(n) { + var i = Bl(n), + o = m[i]; + if (typeof o != "function" || !(i in He.prototype)) return !1; + if (n === o) return !0; + var c = Us(o); + return !!c && n === c[0]; + } + function o0(n) { + return !!sd && sd in n; + } + var s0 = ml ? vr : su; + function Sa(n) { + var i = n && n.constructor, + o = (typeof i == "function" && i.prototype) || Ei; + return n === o; + } + function uf(n) { + return n === n && !Ct(n); + } + function cf(n, i) { + return function (o) { + return o == null ? !1 : o[n] === i && (i !== r || n in dt(o)); + }; + } + function u0(n) { + var i = Yl(n, function (c) { + return o.size === g && o.clear(), c; + }), + o = i.cache; + return i; + } + function c0(n, i) { + var o = n[1], + c = i[1], + h = o | c, + p = h < (L | F | z), + w = + (c == z && o == D) || + (c == z && o == H && n[7].length <= i[8]) || + (c == (z | H) && i[7].length <= i[8] && o == D); + if (!(p || w)) return n; + c & L && ((n[2] = i[2]), (h |= o & L ? 0 : W)); + var k = i[3]; + if (k) { + var x = n[3]; + (n[3] = x ? Yd(x, k, i[4]) : k), (n[4] = x ? Nr(n[3], v) : i[4]); + } + return ( + (k = i[5]), + k && + ((x = n[5]), + (n[5] = x ? Hd(x, k, i[6]) : k), + (n[6] = x ? Nr(n[5], v) : i[6])), + (k = i[7]), + k && (n[7] = k), + c & z && (n[8] = n[8] == null ? i[8] : jt(n[8], i[8])), + n[9] == null && (n[9] = i[9]), + (n[0] = i[0]), + (n[1] = h), + n + ); + } + function d0(n) { + var i = []; + if (n != null) for (var o in dt(n)) i.push(o); + return i; + } + function f0(n) { + return pl.call(n); + } + function df(n, i, o) { + return ( + (i = Rt(i === r ? n.length - 1 : i, 0)), + function () { + for ( + var c = arguments, h = -1, p = Rt(c.length - i, 0), w = O(p); + ++h < p; + + ) + w[h] = c[i + h]; + h = -1; + for (var k = O(i + 1); ++h < i; ) k[h] = c[h]; + return (k[i] = o(w)), vn(n, this, k); + } + ); + } + function ff(n, i) { + return i.length < 2 ? n : oi(n, In(i, 0, -1)); + } + function h0(n, i) { + for (var o = n.length, c = jt(i.length, o), h = dn(n); c--; ) { + var p = i[c]; + n[c] = mr(p, o) ? h[p] : r; + } + return n; + } + function Hs(n, i) { + if ( + !(i === "constructor" && typeof n[i] == "function") && + i != "__proto__" + ) + return n[i]; + } + var hf = mf(Rd), + ka = + qv || + function (n, i) { + return Ut.setTimeout(n, i); + }, + Gs = mf(Op); + function gf(n, i, o) { + var c = i + ""; + return Gs(n, i0(c, g0(t0(c), o))); + } + function mf(n) { + var i = 0, + o = 0; + return function () { + var c = Ev(), + h = te - (c - o); + if (((o = c), h > 0)) { + if (++i >= lt) return arguments[0]; + } else i = 0; + return n.apply(r, arguments); + }; + } + function Ul(n, i) { + var o = -1, + c = n.length, + h = c - 1; + for (i = i === r ? c : i; ++o < i; ) { + var p = xs(o, h), + w = n[p]; + (n[p] = n[o]), (n[o] = w); + } + return (n.length = i), n; + } + var vf = u0(function (n) { + var i = []; + return ( + n.charCodeAt(0) === 46 && i.push(""), + n.replace(Ho, function (o, c, h, p) { + i.push(h ? p.replace(ur, "$1") : c || o); + }), + i + ); + }); + function tr(n) { + if (typeof n == "string" || _n(n)) return n; + var i = n + ""; + return i == "0" && 1 / n == -K ? "-0" : i; + } + function ui(n) { + if (n != null) { + try { + return vl.call(n); + } catch {} + try { + return n + ""; + } catch {} + } + return ""; + } + function g0(n, i) { + return ( + xn(Ke, function (o) { + var c = "_." + o[0]; + i & o[1] && !dl(n, c) && n.push(c); + }), + n.sort() + ); + } + function pf(n) { + if (n instanceof He) return n.clone(); + var i = new An(n.__wrapped__, n.__chain__); + return ( + (i.__actions__ = dn(n.__actions__)), + (i.__index__ = n.__index__), + (i.__values__ = n.__values__), + i + ); + } + function m0(n, i, o) { + (o ? ln(n, i, o) : i === r) ? (i = 1) : (i = Rt(Re(i), 0)); + var c = n == null ? 0 : n.length; + if (!c || i < 1) return []; + for (var h = 0, p = 0, w = O(kl(c / i)); h < c; ) + w[p++] = In(n, h, (h += i)); + return w; + } + function v0(n) { + for ( + var i = -1, o = n == null ? 0 : n.length, c = 0, h = []; + ++i < o; + + ) { + var p = n[i]; + p && (h[c++] = p); + } + return h; + } + function p0() { + var n = arguments.length; + if (!n) return []; + for (var i = O(n - 1), o = arguments[0], c = n; c--; ) + i[c - 1] = arguments[c]; + return Lr(Ee(o) ? dn(o) : [o], Vt(i, 1)); + } + var y0 = Ue(function (n, i) { + return Pt(n) ? pa(n, Vt(i, 1, Pt, !0)) : []; + }), + _0 = Ue(function (n, i) { + var o = $n(i); + return ( + Pt(o) && (o = r), Pt(n) ? pa(n, Vt(i, 1, Pt, !0), Se(o, 2)) : [] + ); + }), + b0 = Ue(function (n, i) { + var o = $n(i); + return Pt(o) && (o = r), Pt(n) ? pa(n, Vt(i, 1, Pt, !0), r, o) : []; + }); + function w0(n, i, o) { + var c = n == null ? 0 : n.length; + return c + ? ((i = o || i === r ? 1 : Re(i)), In(n, i < 0 ? 0 : i, c)) + : []; + } + function S0(n, i, o) { + var c = n == null ? 0 : n.length; + return c + ? ((i = o || i === r ? 1 : Re(i)), + (i = c - i), + In(n, 0, i < 0 ? 0 : i)) + : []; + } + function k0(n, i) { + return n && n.length ? Il(n, Se(i, 3), !0, !0) : []; + } + function C0(n, i) { + return n && n.length ? Il(n, Se(i, 3), !0) : []; + } + function T0(n, i, o, c) { + var h = n == null ? 0 : n.length; + return h + ? (o && typeof o != "number" && ln(n, i, o) && ((o = 0), (c = h)), + pp(n, i, o, c)) + : []; + } + function yf(n, i, o) { + var c = n == null ? 0 : n.length; + if (!c) return -1; + var h = o == null ? 0 : Re(o); + return h < 0 && (h = Rt(c + h, 0)), fl(n, Se(i, 3), h); + } + function _f(n, i, o) { + var c = n == null ? 0 : n.length; + if (!c) return -1; + var h = c - 1; + return ( + o !== r && ((h = Re(o)), (h = o < 0 ? Rt(c + h, 0) : jt(h, c - 1))), + fl(n, Se(i, 3), h, !0) + ); + } + function bf(n) { + var i = n == null ? 0 : n.length; + return i ? Vt(n, 1) : []; + } + function M0(n) { + var i = n == null ? 0 : n.length; + return i ? Vt(n, K) : []; + } + function D0(n, i) { + var o = n == null ? 0 : n.length; + return o ? ((i = i === r ? 1 : Re(i)), Vt(n, i)) : []; + } + function q0(n) { + for (var i = -1, o = n == null ? 0 : n.length, c = {}; ++i < o; ) { + var h = n[i]; + c[h[0]] = h[1]; + } + return c; + } + function wf(n) { + return n && n.length ? n[0] : r; + } + function x0(n, i, o) { + var c = n == null ? 0 : n.length; + if (!c) return -1; + var h = o == null ? 0 : Re(o); + return h < 0 && (h = Rt(c + h, 0)), qi(n, i, h); + } + function P0(n) { + var i = n == null ? 0 : n.length; + return i ? In(n, 0, -1) : []; + } + var A0 = Ue(function (n) { + var i = _t(n, $s); + return i.length && i[0] === n[0] ? Cs(i) : []; + }), + E0 = Ue(function (n) { + var i = $n(n), + o = _t(n, $s); + return ( + i === $n(o) ? (i = r) : o.pop(), + o.length && o[0] === n[0] ? Cs(o, Se(i, 2)) : [] + ); + }), + I0 = Ue(function (n) { + var i = $n(n), + o = _t(n, $s); + return ( + (i = typeof i == "function" ? i : r), + i && o.pop(), + o.length && o[0] === n[0] ? Cs(o, r, i) : [] + ); + }); + function $0(n, i) { + return n == null ? "" : Pv.call(n, i); + } + function $n(n) { + var i = n == null ? 0 : n.length; + return i ? n[i - 1] : r; + } + function R0(n, i, o) { + var c = n == null ? 0 : n.length; + if (!c) return -1; + var h = c; + return ( + o !== r && ((h = Re(o)), (h = h < 0 ? Rt(c + h, 0) : jt(h, c - 1))), + i === i ? gv(n, i, h) : fl(n, ed, h, !0) + ); + } + function O0(n, i) { + return n && n.length ? Ad(n, Re(i)) : r; + } + var L0 = Ue(Sf); + function Sf(n, i) { + return n && n.length && i && i.length ? qs(n, i) : n; + } + function N0(n, i, o) { + return n && n.length && i && i.length ? qs(n, i, Se(o, 2)) : n; + } + function B0(n, i, o) { + return n && n.length && i && i.length ? qs(n, i, r, o) : n; + } + var F0 = gr(function (n, i) { + var o = n == null ? 0 : n.length, + c = bs(n, i); + return ( + $d( + n, + _t(i, function (h) { + return mr(h, o) ? +h : h; + }).sort(Wd) + ), + c + ); + }); + function U0(n, i) { + var o = []; + if (!(n && n.length)) return o; + var c = -1, + h = [], + p = n.length; + for (i = Se(i, 3); ++c < p; ) { + var w = n[c]; + i(w, c, n) && (o.push(w), h.push(c)); + } + return $d(n, h), o; + } + function Ks(n) { + return n == null ? n : $v.call(n); + } + function V0(n, i, o) { + var c = n == null ? 0 : n.length; + return c + ? (o && typeof o != "number" && ln(n, i, o) + ? ((i = 0), (o = c)) + : ((i = i == null ? 0 : Re(i)), (o = o === r ? c : Re(o))), + In(n, i, o)) + : []; + } + function z0(n, i) { + return El(n, i); + } + function W0(n, i, o) { + return As(n, i, Se(o, 2)); + } + function Y0(n, i) { + var o = n == null ? 0 : n.length; + if (o) { + var c = El(n, i); + if (c < o && zn(n[c], i)) return c; + } + return -1; + } + function H0(n, i) { + return El(n, i, !0); + } + function G0(n, i, o) { + return As(n, i, Se(o, 2), !0); + } + function K0(n, i) { + var o = n == null ? 0 : n.length; + if (o) { + var c = El(n, i, !0) - 1; + if (zn(n[c], i)) return c; + } + return -1; + } + function Q0(n) { + return n && n.length ? Od(n) : []; + } + function j0(n, i) { + return n && n.length ? Od(n, Se(i, 2)) : []; + } + function Z0(n) { + var i = n == null ? 0 : n.length; + return i ? In(n, 1, i) : []; + } + function J0(n, i, o) { + return n && n.length + ? ((i = o || i === r ? 1 : Re(i)), In(n, 0, i < 0 ? 0 : i)) + : []; + } + function X0(n, i, o) { + var c = n == null ? 0 : n.length; + return c + ? ((i = o || i === r ? 1 : Re(i)), + (i = c - i), + In(n, i < 0 ? 0 : i, c)) + : []; + } + function ey(n, i) { + return n && n.length ? Il(n, Se(i, 3), !1, !0) : []; + } + function ty(n, i) { + return n && n.length ? Il(n, Se(i, 3)) : []; + } + var ny = Ue(function (n) { + return Ur(Vt(n, 1, Pt, !0)); + }), + ry = Ue(function (n) { + var i = $n(n); + return Pt(i) && (i = r), Ur(Vt(n, 1, Pt, !0), Se(i, 2)); + }), + iy = Ue(function (n) { + var i = $n(n); + return ( + (i = typeof i == "function" ? i : r), Ur(Vt(n, 1, Pt, !0), r, i) + ); + }); + function ay(n) { + return n && n.length ? Ur(n) : []; + } + function ly(n, i) { + return n && n.length ? Ur(n, Se(i, 2)) : []; + } + function oy(n, i) { + return ( + (i = typeof i == "function" ? i : r), + n && n.length ? Ur(n, r, i) : [] + ); + } + function Qs(n) { + if (!(n && n.length)) return []; + var i = 0; + return ( + (n = Or(n, function (o) { + if (Pt(o)) return (i = Rt(o.length, i)), !0; + })), + fs(i, function (o) { + return _t(n, us(o)); + }) + ); + } + function kf(n, i) { + if (!(n && n.length)) return []; + var o = Qs(n); + return i == null + ? o + : _t(o, function (c) { + return vn(i, r, c); + }); + } + var sy = Ue(function (n, i) { + return Pt(n) ? pa(n, i) : []; + }), + uy = Ue(function (n) { + return Is(Or(n, Pt)); + }), + cy = Ue(function (n) { + var i = $n(n); + return Pt(i) && (i = r), Is(Or(n, Pt), Se(i, 2)); + }), + dy = Ue(function (n) { + var i = $n(n); + return (i = typeof i == "function" ? i : r), Is(Or(n, Pt), r, i); + }), + fy = Ue(Qs); + function hy(n, i) { + return Fd(n || [], i || [], va); + } + function gy(n, i) { + return Fd(n || [], i || [], ba); + } + var my = Ue(function (n) { + var i = n.length, + o = i > 1 ? n[i - 1] : r; + return (o = typeof o == "function" ? (n.pop(), o) : r), kf(n, o); + }); + function Cf(n) { + var i = m(n); + return (i.__chain__ = !0), i; + } + function vy(n, i) { + return i(n), n; + } + function Vl(n, i) { + return i(n); + } + var py = gr(function (n) { + var i = n.length, + o = i ? n[0] : 0, + c = this.__wrapped__, + h = function (p) { + return bs(p, n); + }; + return i > 1 || + this.__actions__.length || + !(c instanceof He) || + !mr(o) + ? this.thru(h) + : ((c = c.slice(o, +o + (i ? 1 : 0))), + c.__actions__.push({ func: Vl, args: [h], thisArg: r }), + new An(c, this.__chain__).thru(function (p) { + return i && !p.length && p.push(r), p; + })); + }); + function yy() { + return Cf(this); + } + function _y() { + return new An(this.value(), this.__chain__); + } + function by() { + this.__values__ === r && (this.__values__ = Nf(this.value())); + var n = this.__index__ >= this.__values__.length, + i = n ? r : this.__values__[this.__index__++]; + return { done: n, value: i }; + } + function wy() { + return this; + } + function Sy(n) { + for (var i, o = this; o instanceof Dl; ) { + var c = pf(o); + (c.__index__ = 0), + (c.__values__ = r), + i ? (h.__wrapped__ = c) : (i = c); + var h = c; + o = o.__wrapped__; + } + return (h.__wrapped__ = n), i; + } + function ky() { + var n = this.__wrapped__; + if (n instanceof He) { + var i = n; + return ( + this.__actions__.length && (i = new He(this)), + (i = i.reverse()), + i.__actions__.push({ func: Vl, args: [Ks], thisArg: r }), + new An(i, this.__chain__) + ); + } + return this.thru(Ks); + } + function Cy() { + return Bd(this.__wrapped__, this.__actions__); + } + var Ty = $l(function (n, i, o) { + ot.call(n, o) ? ++n[o] : fr(n, o, 1); + }); + function My(n, i, o) { + var c = Ee(n) ? Jc : vp; + return o && ln(n, i, o) && (i = r), c(n, Se(i, 3)); + } + function Dy(n, i) { + var o = Ee(n) ? Or : Sd; + return o(n, Se(i, 3)); + } + var qy = jd(yf), + xy = jd(_f); + function Py(n, i) { + return Vt(zl(n, i), 1); + } + function Ay(n, i) { + return Vt(zl(n, i), K); + } + function Ey(n, i, o) { + return (o = o === r ? 1 : Re(o)), Vt(zl(n, i), o); + } + function Tf(n, i) { + var o = Ee(n) ? xn : Fr; + return o(n, Se(i, 3)); + } + function Mf(n, i) { + var o = Ee(n) ? Zm : wd; + return o(n, Se(i, 3)); + } + var Iy = $l(function (n, i, o) { + ot.call(n, o) ? n[o].push(i) : fr(n, o, [i]); + }); + function $y(n, i, o, c) { + (n = fn(n) ? n : Fi(n)), (o = o && !c ? Re(o) : 0); + var h = n.length; + return ( + o < 0 && (o = Rt(h + o, 0)), + Kl(n) ? o <= h && n.indexOf(i, o) > -1 : !!h && qi(n, i, o) > -1 + ); + } + var Ry = Ue(function (n, i, o) { + var c = -1, + h = typeof i == "function", + p = fn(n) ? O(n.length) : []; + return ( + Fr(n, function (w) { + p[++c] = h ? vn(i, w, o) : ya(w, i, o); + }), + p + ); + }), + Oy = $l(function (n, i, o) { + fr(n, o, i); + }); + function zl(n, i) { + var o = Ee(n) ? _t : qd; + return o(n, Se(i, 3)); + } + function Ly(n, i, o, c) { + return n == null + ? [] + : (Ee(i) || (i = i == null ? [] : [i]), + (o = c ? r : o), + Ee(o) || (o = o == null ? [] : [o]), + Ed(n, i, o)); + } + var Ny = $l( + function (n, i, o) { + n[o ? 0 : 1].push(i); + }, + function () { + return [[], []]; + } + ); + function By(n, i, o) { + var c = Ee(n) ? os : nd, + h = arguments.length < 3; + return c(n, Se(i, 4), o, h, Fr); + } + function Fy(n, i, o) { + var c = Ee(n) ? Jm : nd, + h = arguments.length < 3; + return c(n, Se(i, 4), o, h, wd); + } + function Uy(n, i) { + var o = Ee(n) ? Or : Sd; + return o(n, Hl(Se(i, 3))); + } + function Vy(n) { + var i = Ee(n) ? pd : $p; + return i(n); + } + function zy(n, i, o) { + (o ? ln(n, i, o) : i === r) ? (i = 1) : (i = Re(i)); + var c = Ee(n) ? dp : Rp; + return c(n, i); + } + function Wy(n) { + var i = Ee(n) ? fp : Lp; + return i(n); + } + function Yy(n) { + if (n == null) return 0; + if (fn(n)) return Kl(n) ? Pi(n) : n.length; + var i = Zt(n); + return i == qt || i == G ? n.size : Ms(n).length; + } + function Hy(n, i, o) { + var c = Ee(n) ? ss : Np; + return o && ln(n, i, o) && (i = r), c(n, Se(i, 3)); + } + var Gy = Ue(function (n, i) { + if (n == null) return []; + var o = i.length; + return ( + o > 1 && ln(n, i[0], i[1]) + ? (i = []) + : o > 2 && ln(i[0], i[1], i[2]) && (i = [i[0]]), + Ed(n, Vt(i, 1), []) + ); + }), + Wl = + Dv || + function () { + return Ut.Date.now(); + }; + function Ky(n, i) { + if (typeof i != "function") throw new Pn(u); + return ( + (n = Re(n)), + function () { + if (--n < 1) return i.apply(this, arguments); + } + ); + } + function Df(n, i, o) { + return ( + (i = o ? r : i), + (i = n && i == null ? n.length : i), + hr(n, z, r, r, r, r, i) + ); + } + function qf(n, i) { + var o; + if (typeof i != "function") throw new Pn(u); + return ( + (n = Re(n)), + function () { + return ( + --n > 0 && (o = i.apply(this, arguments)), n <= 1 && (i = r), o + ); + } + ); + } + var js = Ue(function (n, i, o) { + var c = L; + if (o.length) { + var h = Nr(o, Ni(js)); + c |= N; + } + return hr(n, c, i, o, h); + }), + xf = Ue(function (n, i, o) { + var c = L | F; + if (o.length) { + var h = Nr(o, Ni(xf)); + c |= N; + } + return hr(i, c, n, o, h); + }); + function Pf(n, i, o) { + i = o ? r : i; + var c = hr(n, D, r, r, r, r, r, i); + return (c.placeholder = Pf.placeholder), c; + } + function Af(n, i, o) { + i = o ? r : i; + var c = hr(n, A, r, r, r, r, r, i); + return (c.placeholder = Af.placeholder), c; + } + function Ef(n, i, o) { + var c, + h, + p, + w, + k, + x, + U = 0, + V = !1, + Y = !1, + ne = !0; + if (typeof n != "function") throw new Pn(u); + (i = Rn(i) || 0), + Ct(o) && + ((V = !!o.leading), + (Y = "maxWait" in o), + (p = Y ? Rt(Rn(o.maxWait) || 0, i) : p), + (ne = "trailing" in o ? !!o.trailing : ne)); + function ve(At) { + var Wn = c, + yr = h; + return (c = h = r), (U = At), (w = n.apply(yr, Wn)), w; + } + function ke(At) { + return (U = At), (k = ka(Ye, i)), V ? ve(At) : w; + } + function Le(At) { + var Wn = At - x, + yr = At - U, + Zf = i - Wn; + return Y ? jt(Zf, p - yr) : Zf; + } + function Ce(At) { + var Wn = At - x, + yr = At - U; + return x === r || Wn >= i || Wn < 0 || (Y && yr >= p); + } + function Ye() { + var At = Wl(); + if (Ce(At)) return Qe(At); + k = ka(Ye, Le(At)); + } + function Qe(At) { + return (k = r), ne && c ? ve(At) : ((c = h = r), w); + } + function bn() { + k !== r && Ud(k), (U = 0), (c = x = h = k = r); + } + function on() { + return k === r ? w : Qe(Wl()); + } + function wn() { + var At = Wl(), + Wn = Ce(At); + if (((c = arguments), (h = this), (x = At), Wn)) { + if (k === r) return ke(x); + if (Y) return Ud(k), (k = ka(Ye, i)), ve(x); + } + return k === r && (k = ka(Ye, i)), w; + } + return (wn.cancel = bn), (wn.flush = on), wn; + } + var Qy = Ue(function (n, i) { + return bd(n, 1, i); + }), + jy = Ue(function (n, i, o) { + return bd(n, Rn(i) || 0, o); + }); + function Zy(n) { + return hr(n, pe); + } + function Yl(n, i) { + if (typeof n != "function" || (i != null && typeof i != "function")) + throw new Pn(u); + var o = function () { + var c = arguments, + h = i ? i.apply(this, c) : c[0], + p = o.cache; + if (p.has(h)) return p.get(h); + var w = n.apply(this, c); + return (o.cache = p.set(h, w) || p), w; + }; + return (o.cache = new (Yl.Cache || dr)()), o; + } + Yl.Cache = dr; + function Hl(n) { + if (typeof n != "function") throw new Pn(u); + return function () { + var i = arguments; + switch (i.length) { + case 0: + return !n.call(this); + case 1: + return !n.call(this, i[0]); + case 2: + return !n.call(this, i[0], i[1]); + case 3: + return !n.call(this, i[0], i[1], i[2]); + } + return !n.apply(this, i); + }; + } + function Jy(n) { + return qf(2, n); + } + var Xy = Bp(function (n, i) { + i = + i.length == 1 && Ee(i[0]) + ? _t(i[0], pn(Se())) + : _t(Vt(i, 1), pn(Se())); + var o = i.length; + return Ue(function (c) { + for (var h = -1, p = jt(c.length, o); ++h < p; ) + c[h] = i[h].call(this, c[h]); + return vn(n, this, c); + }); + }), + Zs = Ue(function (n, i) { + var o = Nr(i, Ni(Zs)); + return hr(n, N, r, i, o); + }), + If = Ue(function (n, i) { + var o = Nr(i, Ni(If)); + return hr(n, J, r, i, o); + }), + e1 = gr(function (n, i) { + return hr(n, H, r, r, r, i); + }); + function t1(n, i) { + if (typeof n != "function") throw new Pn(u); + return (i = i === r ? i : Re(i)), Ue(n, i); + } + function n1(n, i) { + if (typeof n != "function") throw new Pn(u); + return ( + (i = i == null ? 0 : Rt(Re(i), 0)), + Ue(function (o) { + var c = o[i], + h = zr(o, 0, i); + return c && Lr(h, c), vn(n, this, h); + }) + ); + } + function r1(n, i, o) { + var c = !0, + h = !0; + if (typeof n != "function") throw new Pn(u); + return ( + Ct(o) && + ((c = "leading" in o ? !!o.leading : c), + (h = "trailing" in o ? !!o.trailing : h)), + Ef(n, i, { leading: c, maxWait: i, trailing: h }) + ); + } + function i1(n) { + return Df(n, 1); + } + function a1(n, i) { + return Zs(Rs(i), n); + } + function l1() { + if (!arguments.length) return []; + var n = arguments[0]; + return Ee(n) ? n : [n]; + } + function o1(n) { + return En(n, _); + } + function s1(n, i) { + return (i = typeof i == "function" ? i : r), En(n, _, i); + } + function u1(n) { + return En(n, T | _); + } + function c1(n, i) { + return (i = typeof i == "function" ? i : r), En(n, T | _, i); + } + function d1(n, i) { + return i == null || _d(n, i, Bt(i)); + } + function zn(n, i) { + return n === i || (n !== n && i !== i); + } + var f1 = Nl(ks), + h1 = Nl(function (n, i) { + return n >= i; + }), + ci = Td( + (function () { + return arguments; + })() + ) + ? Td + : function (n) { + return Tt(n) && ot.call(n, "callee") && !dd.call(n, "callee"); + }, + Ee = O.isArray, + g1 = Hc ? pn(Hc) : Sp; + function fn(n) { + return n != null && Gl(n.length) && !vr(n); + } + function Pt(n) { + return Tt(n) && fn(n); + } + function m1(n) { + return n === !0 || n === !1 || (Tt(n) && an(n) == ft); + } + var Wr = xv || su, + v1 = Gc ? pn(Gc) : kp; + function p1(n) { + return Tt(n) && n.nodeType === 1 && !Ca(n); + } + function y1(n) { + if (n == null) return !0; + if ( + fn(n) && + (Ee(n) || + typeof n == "string" || + typeof n.splice == "function" || + Wr(n) || + Bi(n) || + ci(n)) + ) + return !n.length; + var i = Zt(n); + if (i == qt || i == G) return !n.size; + if (Sa(n)) return !Ms(n).length; + for (var o in n) if (ot.call(n, o)) return !1; + return !0; + } + function _1(n, i) { + return _a(n, i); + } + function b1(n, i, o) { + o = typeof o == "function" ? o : r; + var c = o ? o(n, i) : r; + return c === r ? _a(n, i, r, o) : !!c; + } + function Js(n) { + if (!Tt(n)) return !1; + var i = an(n); + return ( + i == nn || + i == wt || + (typeof n.message == "string" && + typeof n.name == "string" && + !Ca(n)) + ); + } + function w1(n) { + return typeof n == "number" && hd(n); + } + function vr(n) { + if (!Ct(n)) return !1; + var i = an(n); + return i == un || i == rn || i == Me || i == Pr; + } + function $f(n) { + return typeof n == "number" && n == Re(n); + } + function Gl(n) { + return typeof n == "number" && n > -1 && n % 1 == 0 && n <= me; + } + function Ct(n) { + var i = typeof n; + return n != null && (i == "object" || i == "function"); + } + function Tt(n) { + return n != null && typeof n == "object"; + } + var Rf = Kc ? pn(Kc) : Tp; + function S1(n, i) { + return n === i || Ts(n, i, Vs(i)); + } + function k1(n, i, o) { + return (o = typeof o == "function" ? o : r), Ts(n, i, Vs(i), o); + } + function C1(n) { + return Of(n) && n != +n; + } + function T1(n) { + if (s0(n)) throw new Ae(s); + return Md(n); + } + function M1(n) { + return n === null; + } + function D1(n) { + return n == null; + } + function Of(n) { + return typeof n == "number" || (Tt(n) && an(n) == Gt); + } + function Ca(n) { + if (!Tt(n) || an(n) != Kt) return !1; + var i = bl(n); + if (i === null) return !0; + var o = ot.call(i, "constructor") && i.constructor; + return typeof o == "function" && o instanceof o && vl.call(o) == kv; + } + var Xs = Qc ? pn(Qc) : Mp; + function q1(n) { + return $f(n) && n >= -me && n <= me; + } + var Lf = jc ? pn(jc) : Dp; + function Kl(n) { + return typeof n == "string" || (!Ee(n) && Tt(n) && an(n) == de); + } + function _n(n) { + return typeof n == "symbol" || (Tt(n) && an(n) == qe); + } + var Bi = Zc ? pn(Zc) : qp; + function x1(n) { + return n === r; + } + function P1(n) { + return Tt(n) && Zt(n) == it; + } + function A1(n) { + return Tt(n) && an(n) == Ze; + } + var E1 = Nl(Ds), + I1 = Nl(function (n, i) { + return n <= i; + }); + function Nf(n) { + if (!n) return []; + if (fn(n)) return Kl(n) ? Un(n) : dn(n); + if (da && n[da]) return dv(n[da]()); + var i = Zt(n), + o = i == qt ? gs : i == G ? hl : Fi; + return o(n); + } + function pr(n) { + if (!n) return n === 0 ? n : 0; + if (((n = Rn(n)), n === K || n === -K)) { + var i = n < 0 ? -1 : 1; + return i * rt; + } + return n === n ? n : 0; + } + function Re(n) { + var i = pr(n), + o = i % 1; + return i === i ? (o ? i - o : i) : 0; + } + function Bf(n) { + return n ? li(Re(n), 0, Z) : 0; + } + function Rn(n) { + if (typeof n == "number") return n; + if (_n(n)) return X; + if (Ct(n)) { + var i = typeof n.valueOf == "function" ? n.valueOf() : n; + n = Ct(i) ? i + "" : i; + } + if (typeof n != "string") return n === 0 ? n : +n; + n = rd(n); + var o = ll.test(n); + return o || sl.test(n) + ? Km(n.slice(2), o ? 2 : 8) + : Jo.test(n) + ? X + : +n; + } + function Ff(n) { + return er(n, hn(n)); + } + function $1(n) { + return n ? li(Re(n), -me, me) : n === 0 ? n : 0; + } + function at(n) { + return n == null ? "" : yn(n); + } + var R1 = Oi(function (n, i) { + if (Sa(i) || fn(i)) { + er(i, Bt(i), n); + return; + } + for (var o in i) ot.call(i, o) && va(n, o, i[o]); + }), + Uf = Oi(function (n, i) { + er(i, hn(i), n); + }), + Ql = Oi(function (n, i, o, c) { + er(i, hn(i), n, c); + }), + O1 = Oi(function (n, i, o, c) { + er(i, Bt(i), n, c); + }), + L1 = gr(bs); + function N1(n, i) { + var o = Ri(n); + return i == null ? o : yd(o, i); + } + var B1 = Ue(function (n, i) { + n = dt(n); + var o = -1, + c = i.length, + h = c > 2 ? i[2] : r; + for (h && ln(i[0], i[1], h) && (c = 1); ++o < c; ) + for (var p = i[o], w = hn(p), k = -1, x = w.length; ++k < x; ) { + var U = w[k], + V = n[U]; + (V === r || (zn(V, Ei[U]) && !ot.call(n, U))) && (n[U] = p[U]); + } + return n; + }), + F1 = Ue(function (n) { + return n.push(r, rf), vn(Vf, r, n); + }); + function U1(n, i) { + return Xc(n, Se(i, 3), Xn); + } + function V1(n, i) { + return Xc(n, Se(i, 3), Ss); + } + function z1(n, i) { + return n == null ? n : ws(n, Se(i, 3), hn); + } + function W1(n, i) { + return n == null ? n : kd(n, Se(i, 3), hn); + } + function Y1(n, i) { + return n && Xn(n, Se(i, 3)); + } + function H1(n, i) { + return n && Ss(n, Se(i, 3)); + } + function G1(n) { + return n == null ? [] : Pl(n, Bt(n)); + } + function K1(n) { + return n == null ? [] : Pl(n, hn(n)); + } + function eu(n, i, o) { + var c = n == null ? r : oi(n, i); + return c === r ? o : c; + } + function Q1(n, i) { + return n != null && of(n, i, yp); + } + function tu(n, i) { + return n != null && of(n, i, _p); + } + var j1 = Jd(function (n, i, o) { + i != null && typeof i.toString != "function" && (i = pl.call(i)), + (n[i] = o); + }, ru(gn)), + Z1 = Jd(function (n, i, o) { + i != null && typeof i.toString != "function" && (i = pl.call(i)), + ot.call(n, i) ? n[i].push(o) : (n[i] = [o]); + }, Se), + J1 = Ue(ya); + function Bt(n) { + return fn(n) ? vd(n) : Ms(n); + } + function hn(n) { + return fn(n) ? vd(n, !0) : xp(n); + } + function X1(n, i) { + var o = {}; + return ( + (i = Se(i, 3)), + Xn(n, function (c, h, p) { + fr(o, i(c, h, p), c); + }), + o + ); + } + function e_(n, i) { + var o = {}; + return ( + (i = Se(i, 3)), + Xn(n, function (c, h, p) { + fr(o, h, i(c, h, p)); + }), + o + ); + } + var t_ = Oi(function (n, i, o) { + Al(n, i, o); + }), + Vf = Oi(function (n, i, o, c) { + Al(n, i, o, c); + }), + n_ = gr(function (n, i) { + var o = {}; + if (n == null) return o; + var c = !1; + (i = _t(i, function (p) { + return (p = Vr(p, n)), c || (c = p.length > 1), p; + })), + er(n, Fs(n), o), + c && (o = En(o, T | M | _, jp)); + for (var h = i.length; h--; ) Es(o, i[h]); + return o; + }); + function r_(n, i) { + return zf(n, Hl(Se(i))); + } + var i_ = gr(function (n, i) { + return n == null ? {} : Ap(n, i); + }); + function zf(n, i) { + if (n == null) return {}; + var o = _t(Fs(n), function (c) { + return [c]; + }); + return ( + (i = Se(i)), + Id(n, o, function (c, h) { + return i(c, h[0]); + }) + ); + } + function a_(n, i, o) { + i = Vr(i, n); + var c = -1, + h = i.length; + for (h || ((h = 1), (n = r)); ++c < h; ) { + var p = n == null ? r : n[tr(i[c])]; + p === r && ((c = h), (p = o)), (n = vr(p) ? p.call(n) : p); + } + return n; + } + function l_(n, i, o) { + return n == null ? n : ba(n, i, o); + } + function o_(n, i, o, c) { + return ( + (c = typeof c == "function" ? c : r), n == null ? n : ba(n, i, o, c) + ); + } + var Wf = tf(Bt), + Yf = tf(hn); + function s_(n, i, o) { + var c = Ee(n), + h = c || Wr(n) || Bi(n); + if (((i = Se(i, 4)), o == null)) { + var p = n && n.constructor; + h + ? (o = c ? new p() : []) + : Ct(n) + ? (o = vr(p) ? Ri(bl(n)) : {}) + : (o = {}); + } + return ( + (h ? xn : Xn)(n, function (w, k, x) { + return i(o, w, k, x); + }), + o + ); + } + function u_(n, i) { + return n == null ? !0 : Es(n, i); + } + function c_(n, i, o) { + return n == null ? n : Nd(n, i, Rs(o)); + } + function d_(n, i, o, c) { + return ( + (c = typeof c == "function" ? c : r), + n == null ? n : Nd(n, i, Rs(o), c) + ); + } + function Fi(n) { + return n == null ? [] : hs(n, Bt(n)); + } + function f_(n) { + return n == null ? [] : hs(n, hn(n)); + } + function h_(n, i, o) { + return ( + o === r && ((o = i), (i = r)), + o !== r && ((o = Rn(o)), (o = o === o ? o : 0)), + i !== r && ((i = Rn(i)), (i = i === i ? i : 0)), + li(Rn(n), i, o) + ); + } + function g_(n, i, o) { + return ( + (i = pr(i)), + o === r ? ((o = i), (i = 0)) : (o = pr(o)), + (n = Rn(n)), + bp(n, i, o) + ); + } + function m_(n, i, o) { + if ( + (o && typeof o != "boolean" && ln(n, i, o) && (i = o = r), + o === r && + (typeof i == "boolean" + ? ((o = i), (i = r)) + : typeof n == "boolean" && ((o = n), (n = r))), + n === r && i === r + ? ((n = 0), (i = 1)) + : ((n = pr(n)), i === r ? ((i = n), (n = 0)) : (i = pr(i))), + n > i) + ) { + var c = n; + (n = i), (i = c); + } + if (o || n % 1 || i % 1) { + var h = gd(); + return jt(n + h * (i - n + Gm("1e-" + ((h + "").length - 1))), i); + } + return xs(n, i); + } + var v_ = Li(function (n, i, o) { + return (i = i.toLowerCase()), n + (o ? Hf(i) : i); + }); + function Hf(n) { + return nu(at(n).toLowerCase()); + } + function Gf(n) { + return (n = at(n)), n && n.replace(C, lv).replace(Lm, ""); + } + function p_(n, i, o) { + (n = at(n)), (i = yn(i)); + var c = n.length; + o = o === r ? c : li(Re(o), 0, c); + var h = o; + return (o -= i.length), o >= 0 && n.slice(o, h) == i; + } + function y_(n) { + return (n = at(n)), n && Wo.test(n) ? n.replace(rl, ov) : n; + } + function __(n) { + return (n = at(n)), n && Go.test(n) ? n.replace(sa, "\\$&") : n; + } + var b_ = Li(function (n, i, o) { + return n + (o ? "-" : "") + i.toLowerCase(); + }), + w_ = Li(function (n, i, o) { + return n + (o ? " " : "") + i.toLowerCase(); + }), + S_ = Qd("toLowerCase"); + function k_(n, i, o) { + (n = at(n)), (i = Re(i)); + var c = i ? Pi(n) : 0; + if (!i || c >= i) return n; + var h = (i - c) / 2; + return Ll(Cl(h), o) + n + Ll(kl(h), o); + } + function C_(n, i, o) { + (n = at(n)), (i = Re(i)); + var c = i ? Pi(n) : 0; + return i && c < i ? n + Ll(i - c, o) : n; + } + function T_(n, i, o) { + (n = at(n)), (i = Re(i)); + var c = i ? Pi(n) : 0; + return i && c < i ? Ll(i - c, o) + n : n; + } + function M_(n, i, o) { + return ( + o || i == null ? (i = 0) : i && (i = +i), + Iv(at(n).replace(ua, ""), i || 0) + ); + } + function D_(n, i, o) { + return ( + (o ? ln(n, i, o) : i === r) ? (i = 1) : (i = Re(i)), Ps(at(n), i) + ); + } + function q_() { + var n = arguments, + i = at(n[0]); + return n.length < 3 ? i : i.replace(n[1], n[2]); + } + var x_ = Li(function (n, i, o) { + return n + (o ? "_" : "") + i.toLowerCase(); + }); + function P_(n, i, o) { + return ( + o && typeof o != "number" && ln(n, i, o) && (i = o = r), + (o = o === r ? Z : o >>> 0), + o + ? ((n = at(n)), + n && + (typeof i == "string" || (i != null && !Xs(i))) && + ((i = yn(i)), !i && xi(n)) + ? zr(Un(n), 0, o) + : n.split(i, o)) + : [] + ); + } + var A_ = Li(function (n, i, o) { + return n + (o ? " " : "") + nu(i); + }); + function E_(n, i, o) { + return ( + (n = at(n)), + (o = o == null ? 0 : li(Re(o), 0, n.length)), + (i = yn(i)), + n.slice(o, o + i.length) == i + ); + } + function I_(n, i, o) { + var c = m.templateSettings; + o && ln(n, i, o) && (i = r), (n = at(n)), (i = Ql({}, i, c, nf)); + var h = Ql({}, i.imports, c.imports, nf), + p = Bt(h), + w = hs(h, p), + k, + x, + U = 0, + V = i.interpolate || le, + Y = "__p += '", + ne = ms( + (i.escape || le).source + + "|" + + V.source + + "|" + + (V === Ar ? Rr : le).source + + "|" + + (i.evaluate || le).source + + "|$", + "g" + ), + ve = + "//# sourceURL=" + + (ot.call(i, "sourceURL") + ? (i.sourceURL + "").replace(/\s/g, " ") + : "lodash.templateSources[" + ++Vm + "]") + + ` +`; + n.replace(ne, function (Ce, Ye, Qe, bn, on, wn) { + return ( + Qe || (Qe = bn), + (Y += n.slice(U, wn).replace(ie, sv)), + Ye && + ((k = !0), + (Y += + `' + +__e(` + + Ye + + `) + +'`)), + on && + ((x = !0), + (Y += + `'; +` + + on + + `; +__p += '`)), + Qe && + (Y += + `' + +((__t = (` + + Qe + + `)) == null ? '' : __t) + +'`), + (U = wn + Ce.length), + Ce + ); + }), + (Y += `'; +`); + var ke = ot.call(i, "variable") && i.variable; + if (!ke) + Y = + `with (obj) { +` + + Y + + ` +} +`; + else if ($r.test(ke)) throw new Ae(d); + (Y = (x ? Y.replace(Xa, "") : Y) + .replace(el, "$1") + .replace(tl, "$1;")), + (Y = + "function(" + + (ke || "obj") + + `) { +` + + (ke + ? "" + : `obj || (obj = {}); +`) + + "var __t, __p = ''" + + (k ? ", __e = _.escape" : "") + + (x + ? `, __j = Array.prototype.join; function print() { __p += __j.call(arguments, '') } -`:`; -`)+Y+`return __p -}`;var Le=Qf(function(){return nt(p,ve+"return "+Y).apply(r,w)});if(Le.source=Y,Js(Le))throw Le;return Le}function $_(n){return at(n).toLowerCase()}function R_(n){return at(n).toUpperCase()}function O_(n,i,o){if(n=at(n),n&&(o||i===r))return rd(n);if(!n||!(i=yn(i)))return n;var c=Un(n),h=Un(i),p=id(c,h),w=ad(c,h)+1;return zr(c,p,w).join("")}function L_(n,i,o){if(n=at(n),n&&(o||i===r))return n.slice(0,od(n)+1);if(!n||!(i=yn(i)))return n;var c=Un(n),h=ad(c,Un(i))+1;return zr(c,0,h).join("")}function N_(n,i,o){if(n=at(n),n&&(o||i===r))return n.replace(ua,"");if(!n||!(i=yn(i)))return n;var c=Un(n),h=id(c,Un(i));return zr(c,h).join("")}function B_(n,i){var o=_e,c=Pe;if(Ct(i)){var h="separator"in i?i.separator:h;o="length"in i?Re(i.length):o,c="omission"in i?yn(i.omission):c}n=at(n);var p=n.length;if(xi(n)){var w=Un(n);p=w.length}if(o>=p)return n;var k=o-Pi(c);if(k<1)return c;var x=w?zr(w,0,k).join(""):n.slice(0,k);if(h===r)return x+c;if(w&&(k+=x.length-k),Xs(h)){if(n.slice(k).search(h)){var U,V=x;for(h.global||(h=ms(h.source,at(Ti.exec(h))+"g")),h.lastIndex=0;U=h.exec(V);)var Y=U.index;x=x.slice(0,Y===r?k:Y)}}else if(n.indexOf(yn(h),k)!=k){var ne=x.lastIndexOf(h);ne>-1&&(x=x.slice(0,ne))}return x+c}function F_(n){return n=at(n),n&&il.test(n)?n.replace(nl,mv):n}var U_=Li(function(n,i,o){return n+(o?" ":"")+i.toUpperCase()}),nu=Qd("toUpperCase");function Kf(n,i,o){return n=at(n),i=o?r:i,i===r?cv(n)?yv(n):tv(n):n.match(i)||[]}var Qf=Ue(function(n,i){try{return vn(n,r,i)}catch(o){return Js(o)?o:new Ae(o)}}),V_=gr(function(n,i){return xn(i,function(o){o=tr(o),fr(n,o,js(n[o],n))}),n});function z_(n){var i=n==null?0:n.length,o=Se();return n=i?_t(n,function(c){if(typeof c[1]!="function")throw new Pn(u);return[o(c[0]),c[1]]}):[],Ue(function(c){for(var h=-1;++hme)return[];var o=Z,c=jt(n,Z);i=Se(i),n-=Z;for(var h=fs(c,i);++o0||i<0)?new He(o):(n<0?o=o.takeRight(-n):n&&(o=o.drop(n)),i!==r&&(i=Re(i),o=i<0?o.dropRight(-i):o.take(i-n)),o)},He.prototype.takeRightWhile=function(n){return this.reverse().takeWhile(n).reverse()},He.prototype.toArray=function(){return this.take(Z)},Xn(He.prototype,function(n,i){var o=/^(?:filter|find|map|reject)|While$/.test(i),c=/^(?:head|last)$/.test(i),h=m[c?"take"+(i=="last"?"Right":""):i],p=c||/^find/.test(i);!h||(m.prototype[i]=function(){var w=this.__wrapped__,k=c?[1]:arguments,x=w instanceof He,U=k[0],V=x||Ee(w),Y=function(Ye){var Qe=h.apply(m,Lr([Ye],k));return c&&ne?Qe[0]:Qe};V&&o&&typeof U=="function"&&U.length!=1&&(x=V=!1);var ne=this.__chain__,ve=!!this.__actions__.length,ke=p&&!ne,Le=x&&!ve;if(!p&&V){w=Le?w:new He(this);var Ce=n.apply(w,k);return Ce.__actions__.push({func:Vl,args:[Y],thisArg:r}),new An(Ce,ne)}return ke&&Le?n.apply(this,k):(Ce=this.thru(Y),ke?c?Ce.value()[0]:Ce.value():Ce)})}),xn(["pop","push","shift","sort","splice","unshift"],function(n){var i=gl[n],o=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",c=/^(?:pop|shift)$/.test(n);m.prototype[n]=function(){var h=arguments;if(c&&!this.__chain__){var p=this.value();return i.apply(Ee(p)?p:[],h)}return this[o](function(w){return i.apply(Ee(w)?w:[],h)})}}),Xn(He.prototype,function(n,i){var o=m[i];if(o){var c=o.name+"";ot.call($i,c)||($i[c]=[]),$i[c].push({name:i,func:o})}}),$i[Rl(r,F).name]=[{name:"wrapper",func:r}],He.prototype.clone=Fv,He.prototype.reverse=Uv,He.prototype.value=Vv,m.prototype.at=py,m.prototype.chain=yy,m.prototype.commit=_y,m.prototype.next=by,m.prototype.plant=Sy,m.prototype.reverse=ky,m.prototype.toJSON=m.prototype.valueOf=m.prototype.value=Cy,m.prototype.first=m.prototype.head,da&&(m.prototype[da]=wy),m},Ai=_v();ni?((ni.exports=Ai)._=Ai,is._=Ai):Ut._=Ai}).call(Ma)})(zu,zu.exports);var JD=zu.exports;const XD=sn({name:"ProductCard",props:["product","is-stall"],data:function(){return{}},methods:{},created(){}}),eq={class:"row no-wrap items-center"},tq={class:"col text-subtitle2 ellipsis-2-lines"},nq={key:0},rq={class:"text-h6"},iq={key:1},aq={class:"text-h6"},lq={class:"q-ml-md text-caption text-green-8 text-weight-bolder q-mt-md"},oq={key:0,class:"text-subtitle1"},sq=["textContent"],uq={key:1,class:"text-subtitle1"},cq={class:"text-caption text-grey ellipsis-2-lines",style:{"min-height":"40px"}},dq={key:0},fq={class:"text-caption text-weight-bolder"},hq={class:"q-ml-auto"};function gq(e,t,r,a,l,s){return R(),oe(Jt,{class:"card--product"},{default:b(()=>[y(nc,{src:e.product.images&&e.product.images.length>0&&e.product.images[0]?e.product.images[0]:e.$q.config.staticPath+"/images/placeholder.png",alt:"Product Image",loading:"lazy","spinner-color":"white",fit:"contain",height:"300px"},null,8,["src"]),y(Ne,{class:"q-pb-xs q-pt-md"},{default:b(()=>[y(ye,{round:"",disabled:e.product.quantity<1,color:"primary",rounded:"",icon:"shopping_cart",size:"lg",style:{position:"absolute",top:"0",right:"0",transform:"translate(-50%, -50%)"},onClick:t[0]||(t[0]=u=>e.$emit("add-to-cart",e.product))},{default:b(()=>[y(Yr,null,{default:b(()=>[Te(" Add to cart ")]),_:1})]),_:1},8,["disabled"]),S("div",eq,[S("div",tq,ge(e.product.name),1)])]),_:1}),y(Ne,{class:"q-py-sm"},{default:b(()=>[S("div",null,[e.product.currency=="sat"?(R(),re("span",nq,[S("span",rq,ge(e.product.price)+" sats",1),y(Yr,null,{default:b(()=>[Te(" BTC "+ge((e.product.price/1e8).toFixed(8)),1)]),_:1})])):(R(),re("span",iq,[S("span",aq,ge(e.product.formatedPrice),1)])),S("span",lq,ge(e.product.quantity)+" left",1)]),e.product.categories?(R(),re("div",oq,[y(tc,{items:e.product.categories||[],"virtual-scroll-horizontal":""},{default:b(({item:u,index:d})=>[(R(),oe(Ha,{key:d,dense:""},{default:b(()=>[S("span",{textContent:ge(u)},null,8,sq)]),_:2},1024))]),_:1},8,["items"])])):(R(),re("div",uq," \xA0 ")),S("div",cq,[e.product.description?(R(),re("p",dq,ge(e.product.description),1)):$e("",!0)])]),_:1}),y(ut),y(yi,null,{default:b(()=>[S("div",fq,ge(e.product.stallName),1)]),_:1}),y(ut),y(yi,null,{default:b(()=>[S("div",hq,[e.isStall?$e("",!0):(R(),oe(ye,{key:0,flat:"",class:"text-weight-bold text-capitalize q-ml-auto float-left",dense:"",color:"primary",onClick:t[1]||(t[1]=u=>e.$emit("change-page","stall",{stall:e.product.stall_id}))},{default:b(()=>[Te(" Visit Stall ")]),_:1})),y(ye,{flat:"",class:"text-weight-bold text-capitalize q-ml-auto",dense:"",color:"primary",onClick:t[2]||(t[2]=u=>e.$emit("change-page","stall",{stall:e.product.stall_id,product:e.product.id}))},{default:b(()=>[Te(" View details ")]),_:1})])]),_:1})]),_:1})}var Sm=Tn(XD,[["render",gq]]);const mq=sn({name:"CustomerMarket",components:{ProductCard:Sm},props:["filtered-products","search-text","filter-categories"],data:function(){return{search:null,partialProducts:[],productsPerPage:12,startIndex:0,lastProductIndex:0,showProducts:!0,debounceRefreshProducts:null}},watch:{searchText:function(){this.debounceRefreshProducts()},filteredProducts:function(){this.debounceRefreshProducts()},filterCategories:function(){this.debounceRefreshProducts()}},methods:{refreshProducts:function(){this.showProducts=!1,this.partialProducts=[],this.startIndex=0,this.lastProductIndex=Math.min(this.filteredProducts.length,this.productsPerPage),this.partialProducts.push(...this.filteredProducts.slice(0,this.lastProductIndex)),setTimeout(()=>{this.showProducts=!0},0)},addToCart(e){this.$emit("add-to-cart",e)},changePageM(e,t){this.$emit("change-page",e,t)},onLoad(e,t){setTimeout(()=>{if(this.startIndex>=this.filteredProducts.length){t();return}this.startIndex=this.lastProductIndex,this.lastProductIndex=Math.min(this.filteredProducts.length,this.lastProductIndex+this.productsPerPage),this.partialProducts.push(...this.filteredProducts.slice(this.startIndex,this.lastProductIndex)),t()},100)}},created(){this.debounceRefreshProducts=JD.debounce(this.refreshProducts,100),this.lastProductIndex=Math.min(this.filteredProducts.length,24),this.partialProducts.push(...this.filteredProducts.slice(0,this.lastProductIndex))}}),vq={class:"row q-col-gutter-md"},pq={class:"row justify-center q-my-md"};function yq(e,t,r,a,l,s){const u=Jr("product-card");return R(),re("div",null,[e.showProducts?(R(),oe(ZD,{key:0,onLoad:e.onLoad,offset:250},Gh({default:b(()=>[S("div",vq,[(R(!0),re(Lt,null,Yt(e.partialProducts,(d,f)=>(R(),re("div",{class:"col-xs-12 col-sm-6 col-md-4 col-lg-3",key:f},[y(u,{product:d,onChangePage:e.changePageM,onAddToCart:e.addToCart},null,8,["product","onChangePage","onAddToCart"])]))),128))])]),_:2},[e.lastProductIndex[S("div",pq,[y(Au,{color:"primary",size:"40px"})])]),key:"0"}:void 0]),1032,["onLoad"])):$e("",!0)])}var _q=Tn(mq,[["render",yq]]),bq=Je({name:"QSlideTransition",props:{appear:Boolean,duration:{type:Number,default:300}},emits:["show","hide"],setup(e,{slots:t,emit:r}){let a=!1,l,s,u=null,d=null,f,g;function v(){l&&l(),l=null,a=!1,u!==null&&(clearTimeout(u),u=null),d!==null&&(clearTimeout(d),d=null),s!==void 0&&s.removeEventListener("transitionend",f),f=null}function T($,L,F){L!==void 0&&($.style.height=`${L}px`),$.style.transition=`height ${e.duration}ms cubic-bezier(.25, .8, .50, 1)`,a=!0,l=F}function M($,L){$.style.overflowY=null,$.style.height=null,$.style.transition=null,v(),L!==g&&r(L)}function _($,L){let F=0;s=$,a===!0?(v(),F=$.offsetHeight===$.scrollHeight?0:void 0):(g="hide",$.style.overflowY="hidden"),T($,F,L),u=setTimeout(()=>{u=null,$.style.height=`${$.scrollHeight}px`,f=W=>{d=null,(Object(W)!==W||W.target===$)&&M($,"show")},$.addEventListener("transitionend",f),d=setTimeout(f,e.duration*1.1)},100)}function P($,L){let F;s=$,a===!0?v():(g="show",$.style.overflowY="hidden",F=$.scrollHeight),T($,F,L),u=setTimeout(()=>{u=null,$.style.height=0,f=W=>{d=null,(Object(W)!==W||W.target===$)&&M($,"hide")},$.addEventListener("transitionend",f),d=setTimeout(f,e.duration*1.1)},100)}return Ht(()=>{a===!0&&v()}),()=>E(Ya,{css:!1,appear:e.appear,onEnter:_,onLeave:P},t.default)}});const hi=ew({}),wq=Object.keys(Do);var Sq=Je({name:"QExpansionItem",props:{...Do,...Wu,...ir,icon:String,label:String,labelLines:[Number,String],caption:String,captionLines:[Number,String],dense:Boolean,toggleAriaLabel:String,expandIcon:String,expandedIcon:String,expandIconClass:[Array,String,Object],duration:Number,headerInsetLevel:Number,contentInsetLevel:Number,expandSeparator:Boolean,defaultOpened:Boolean,hideExpandIcon:Boolean,expandIconToggle:Boolean,switchToggleSide:Boolean,denseToggle:Boolean,group:String,popup:Boolean,headerStyle:[Array,String,Object],headerClass:[Array,String,Object]},emits:[...Hu,"click","afterShow","afterHide"],setup(e,{slots:t,emit:r}){const{proxy:{$q:a}}=Dt(),l=ar(e,a),s=se(e.modelValue!==null?e.modelValue:e.defaultOpened),u=se(null),d=so(),{show:f,hide:g,toggle:v}=Gu({showing:s});let T,M;const _=I(()=>`q-expansion-item q-item-type q-expansion-item--${s.value===!0?"expanded":"collapsed"} q-expansion-item--${e.popup===!0?"popup":"standard"}`),P=I(()=>{if(e.contentInsetLevel===void 0)return null;const K=a.lang.rtl===!0?"Right":"Left";return{["padding"+K]:e.contentInsetLevel*56+"px"}}),$=I(()=>e.disable!==!0&&(e.href!==void 0||e.to!==void 0&&e.to!==null&&e.to!=="")),L=I(()=>{const K={};return wq.forEach(me=>{K[me]=e[me]}),K}),F=I(()=>$.value===!0||e.expandIconToggle!==!0),W=I(()=>e.expandedIcon!==void 0&&s.value===!0?e.expandedIcon:e.expandIcon||a.iconSet.expansionItem[e.denseToggle===!0?"denseIcon":"icon"]),D=I(()=>e.disable!==!0&&($.value===!0||e.expandIconToggle===!0)),A=I(()=>({expanded:s.value===!0,detailsId:e.targetUid,toggle:v,show:f,hide:g})),N=I(()=>{const K=e.toggleAriaLabel!==void 0?e.toggleAriaLabel:a.lang.label[s.value===!0?"collapse":"expand"](e.label);return{role:"button","aria-expanded":s.value===!0?"true":"false","aria-controls":d,"aria-label":K}});ze(()=>e.group,K=>{M!==void 0&&M(),K!==void 0&&Pe()});function J(K){$.value!==!0&&v(K),r("click",K)}function z(K){K.keyCode===13&&H(K,!0)}function H(K,me){me!==!0&&u.value!==null&&u.value.focus(),v(K),Ft(K)}function pe(){r("afterShow")}function _e(){r("afterHide")}function Pe(){T===void 0&&(T=so()),s.value===!0&&(hi[e.group]=T);const K=ze(s,rt=>{rt===!0?hi[e.group]=T:hi[e.group]===T&&delete hi[e.group]}),me=ze(()=>hi[e.group],(rt,X)=>{X===T&&rt!==void 0&&rt!==T&&g()});M=()=>{K(),me(),hi[e.group]===T&&delete hi[e.group],M=void 0}}function lt(){const K={class:[`q-focusable relative-position cursor-pointer${e.denseToggle===!0&&e.switchToggleSide===!0?" items-end":""}`,e.expandIconClass],side:e.switchToggleSide!==!0,avatar:e.switchToggleSide},me=[E(Wt,{class:"q-expansion-item__toggle-icon"+(e.expandedIcon===void 0&&s.value===!0?" q-expansion-item__toggle-icon--rotated":""),name:W.value})];return D.value===!0&&(Object.assign(K,{tabindex:0,...N.value,onClick:H,onKeyup:z}),me.unshift(E("div",{ref:u,class:"q-expansion-item__toggle-focus q-icon q-focus-helper q-focus-helper--rounded",tabindex:-1}))),E(Ie,K,()=>me)}function te(){let K;return t.header!==void 0?K=[].concat(t.header(A.value)):(K=[E(Ie,()=>[E(Ge,{lines:e.labelLines},()=>e.label||""),e.caption?E(Ge,{lines:e.captionLines,caption:!0},()=>e.caption):null])],e.icon&&K[e.switchToggleSide===!0?"push":"unshift"](E(Ie,{side:e.switchToggleSide===!0,avatar:e.switchToggleSide!==!0},()=>E(Wt,{name:e.icon})))),e.disable!==!0&&e.hideExpandIcon!==!0&&K[e.switchToggleSide===!0?"unshift":"push"](lt()),K}function xe(){const K={ref:"item",style:e.headerStyle,class:e.headerClass,dark:l.value,disable:e.disable,dense:e.dense,insetLevel:e.headerInsetLevel};return F.value===!0&&(K.clickable=!0,K.onClick=J,Object.assign(K,$.value===!0?L.value:N.value)),E(zt,K,te)}function Be(){return Hn(E("div",{key:"e-content",class:"q-expansion-item__content relative-position",style:P.value,id:d},Mt(t.default)),[[tw,s.value]])}function j(){const K=[xe(),E(bq,{duration:e.duration,onShow:pe,onHide:_e},Be)];return e.expandSeparator===!0&&K.push(E(ut,{class:"q-expansion-item__border q-expansion-item__border--top absolute-top",dark:l.value}),E(ut,{class:"q-expansion-item__border q-expansion-item__border--bottom absolute-bottom",dark:l.value})),K}return e.group!==void 0&&Pe(),Ht(()=>{M!==void 0&&M()}),()=>E("div",{class:_.value},[E("div",{class:"q-expansion-item__container relative-position"},j())])}});const kq=sn({name:"CustomerOrders",props:["orders","products","stalls","profiles"],components:{UserProfile:Ka},data:function(){return{}},computed:{merchantOrders:function(){return Object.keys(this.orders).map(e=>({pubkey:e,orders:this.orders[e].map(this.enrichOrder)}))}},methods:{enrichOrder:function(e){var r;const t=this.stallForOrder(e);return{...e,stallName:(t==null?void 0:t.name)||"Stall",shippingZone:((r=t==null?void 0:t.shipping)==null?void 0:r.find(a=>a.id===e.shipping_id))||{id:e.shipping_id,name:e.shipping_id},invoice:this.invoiceForOrder(e),products:this.getProductsForOrder(e)}},stallForOrder:function(e){var t;try{const r=e.items&&((t=e.items[0])==null?void 0:t.product_id);if(!r)return;const a=this.products.find(s=>s.id===r);if(!a)return;const l=this.stalls.find(s=>s.id===a.stall_id);return l||void 0}catch(r){console.log(r)}},invoiceForOrder:function(e){var t;try{const r=(t=e==null?void 0:e.payment_options)==null?void 0:t.find(a=>a.type==="ln");return r!=null&&r.link?decode(r.link):void 0}catch(r){console.warn(r)}},getProductsForOrder:function(e){var t;return(t=e==null?void 0:e.items)!=null&&t.length?e.items.map(r=>({...this.products.find(l=>l.id===r.product_id)||{id:r.product_id,name:r.product_id},orderedQuantity:r.quantity})):[]},showInvoice:function(e){var r;if(e.paid)return;const t=(r=e==null?void 0:e.payment_options)==null?void 0:r.find(a=>a.type==="ln").link;!t||this.$emit("show-invoice",t)},formatCurrency:function(e,t){return formatCurrency(e,t)},fromNow:function(e){return e?ae(e*1e3).fromNow():""}},created(){}}),Cq=S("strong",null,"No Orders",-1),Tq=["textContent"],Mq=["textContent"],Dq={class:"text-caption text-grey ellipsis-2-lines"},qq={key:0},xq=["textContent"],Pq=["textContent"],Aq=["textContent"],Eq={class:"text-caption text-grey ellipsis-2-lines"},Iq=["textContent"],Rq=["textContent"],Oq=S("strong",null,"Order ID: ",-1),Lq=["textContent"],Nq=S("strong",null,"Products",-1),Bq=["src"],Fq=["src"],Uq={class:"text-caption text-grey ellipsis-2-lines"},Vq=S("strong",null,"Shipping Zone: ",-1),zq=["textContent"],Wq=S("strong",null,"Message: ",-1),Yq=["textContent"],Hq=S("strong",null,"Invoice: ",-1),Gq=["textContent"];function Kq(e,t,r,a,l,s){var d;const u=Jr("user-profile");return R(),re("div",null,[(d=e.merchantOrders)!=null&&d.length?$e("",!0):(R(),oe(Jt,{key:0,bordered:"",class:"q-mb-md"},{default:b(()=>[y(Ne,null,{default:b(()=>[Cq]),_:1})]),_:1})),(R(!0),re(Lt,null,Yt(e.merchantOrders,f=>(R(),re("div",{key:f.id},[y(Jt,{bordered:"",class:"q-mb-md"},{default:b(()=>[y(zt,null,{default:b(()=>[y(u,{pubkey:f.pubkey,profiles:e.profiles},null,8,["pubkey","profiles"])]),_:2},1024),y(ut),y(Ne,{class:"col-12"},{default:b(()=>[y(kr,null,{default:b(()=>[(R(!0),re(Lt,null,Yt(f.orders,g=>(R(),re("div",{key:g.id,class:"q-mb-md"},[y(Sq,{dense:"","expand-separator":""},{header:b(()=>[y(Ie,{class:"q-mt-sm"},{default:b(()=>[y(Ge,null,{default:b(()=>{var v,T;return[S("strong",null,[S("span",{textContent:ge(g.stallName)},null,8,Tq)]),(T=(v=g.invoice)==null?void 0:v.human_readable_part)!=null&&T.amount?(R(),oe(Cn,{key:0,onClick:M=>e.showInvoice(g),color:"orange",class:"q-ml-lg gt-sm"},{default:b(()=>{var M,_;return[S("span",{textContent:ge(e.formatCurrency(((_=(M=g.invoice)==null?void 0:M.human_readable_part)==null?void 0:_.amount)/1e3,"sat"))},null,8,Mq)]}),_:2},1032,["onClick"])):$e("",!0)]}),_:2},1024),y(Ge,null,{default:b(()=>[S("div",Dq,[g.createdAt?(R(),re("p",qq,[S("span",{textContent:ge(e.fromNow(g.createdAt))},null,8,xq)])):$e("",!0)])]),_:2},1024)]),_:2},1024),y(Ie,{side:""},{default:b(()=>[y(Ge,null,{default:b(()=>[y(Cn,{color:g.paid?"green":"grey"},{default:b(()=>[S("span",{textContent:ge(g.paid?"Paid":"Not Paid")},null,8,Pq)]),_:2},1032,["color"]),y(Cn,{color:g.shipped?"green":"grey",class:"q-ml-md"},{default:b(()=>[S("span",{textContent:ge(g.shipped?"Shipped":"Not Shipped")},null,8,Aq)]),_:2},1032,["color"])]),_:2},1024),y(Ge,null,{default:b(()=>{var v,T;return[S("div",Eq,[S("p",null,[S("span",{textContent:ge((v=g.items)==null?void 0:v.length)},null,8,Iq),S("span",{textContent:ge(((T=g.items)==null?void 0:T.length)===1?"product":"products")},null,8,Rq)])])]}),_:2},1024)]),_:2},1024)]),default:b(()=>[y(ut),y(Ne,{class:"col-12"},{default:b(()=>[y(Ie,null,{default:b(()=>[y(Ge,null,{default:b(()=>[Oq,S("span",{class:"ellipsis-2-lines text-wrap",textContent:ge(g.id)},null,8,Lq)]),_:2},1024)]),_:2},1024)]),_:2},1024),y(ut),y(Ne,{horizontal:""},{default:b(()=>[y(Ne,{class:"col-7"},{default:b(()=>[y(Ie,{class:"q-mt-sm"},{default:b(()=>[y(Ge,null,{default:b(()=>[Nq]),_:1})]),_:1}),(R(!0),re(Lt,null,Yt(g.products,v=>(R(),oe(zt,{key:v.id},{default:b(()=>[y(Ie,{avatar:""},{default:b(()=>[y(jr,null,{default:b(()=>[v.images&&v.images[0]||v.image?(R(),re("img",{key:0,src:v.images[0]||v.image},null,8,Bq)):(R(),re("img",{key:1,src:e.$q.config.staticPath+"/images/placeholder.png"},null,8,Fq))]),_:2},1024)]),_:2},1024),y(Ie,{class:"q-mt-sm"},{default:b(()=>[y(Ge),y(Ge,null,{default:b(()=>[S("strong",null,ge(v.orderedQuantity)+" x "+ge(v.name),1)]),_:2},1024),y(Ge,null,{default:b(()=>[S("div",Uq,[S("p",null,ge(v.description),1)])]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:2},1024),y(ut,{vertical:""}),y(Ne,null,{default:b(()=>[y(Ie,{class:"q-mt-md q-ml-sm"},{default:b(()=>[y(Ge,null,{default:b(()=>{var v;return[Vq,S("span",{textContent:ge(((v=g.shippingZone)==null?void 0:v.name)||"")},null,8,zq)]}),_:2},1024)]),_:2},1024),g.message?(R(),oe(Ie,{key:0,class:"q-mt-md q-ml-sm"},{default:b(()=>[y(Ge,null,{default:b(()=>[Wq,S("span",{textContent:ge(g.message)},null,8,Yq)]),_:2},1024)]),_:2},1024)):$e("",!0),y(Ie,{class:"q-mt-md q-ml-sm"},{default:b(()=>[y(Ge,null,{default:b(()=>{var v,T;return[Hq,(T=(v=g.invoice)==null?void 0:v.human_readable_part)!=null&&T.amount?(R(),oe(Cn,{key:0,onClick:M=>e.showInvoice(g),color:"orange",class:"cursor-pointer"},{default:b(()=>{var M,_;return[S("span",{textContent:ge(e.formatCurrency(((_=(M=g.invoice)==null?void 0:M.human_readable_part)==null?void 0:_.amount)/1e3,"sat"))},null,8,Gq)]}),_:2},1032,["onClick"])):$e("",!0)]}),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:2},1024),y(ut,{class:"q-mb-xl"})]),_:2},1024),y(ut)]))),128))]),_:2},1024)]),_:2},1024)]),_:2},1024)]))),128))])}var Qq=Tn(kq,[["render",Kq]]),jq=Je({name:"QCarouselSlide",props:{...bg,imgSrc:String},setup(e,{slots:t}){const r=I(()=>e.imgSrc?{backgroundImage:`url("${e.imgSrc}")`}:{});return()=>E("div",{class:"q-carousel__slide",style:r.value},Mt(t.default))}});let Pa=0;const Zq={fullscreen:Boolean,noRouteFullscreenExit:Boolean},Jq=["update:fullscreen","fullscreen"];function Xq(){const e=Dt(),{props:t,emit:r,proxy:a}=e;let l,s,u;const d=se(!1);nw(e)===!0&&ze(()=>a.$route.fullPath,()=>{t.noRouteFullscreenExit!==!0&&v()}),ze(()=>t.fullscreen,T=>{d.value!==T&&f()}),ze(d,T=>{r("update:fullscreen",T),r("fullscreen",T)});function f(){d.value===!0?v():g()}function g(){d.value!==!0&&(d.value=!0,u=a.$el.parentNode,u.replaceChild(s,a.$el),document.body.appendChild(a.$el),Pa++,Pa===1&&document.body.classList.add("q-body--fullscreen-mixin"),l={handler:v},nh.add(l))}function v(){d.value===!0&&(l!==void 0&&(nh.remove(l),l=void 0),u.replaceChild(a.$el,s),d.value=!1,Pa=Math.max(0,Pa-1),Pa===0&&(document.body.classList.remove("q-body--fullscreen-mixin"),a.$el.scrollIntoView!==void 0&&setTimeout(()=>{a.$el.scrollIntoView()})))}return Zu(()=>{s=document.createElement("span")}),Xr(()=>{t.fullscreen===!0&&g()}),Ht(v),Object.assign(a,{toggleFullscreen:f,setFullscreen:g,exitFullscreen:v}),{inFullscreen:d,toggleFullscreen:f}}const ex=["top","right","bottom","left"],tx=["regular","flat","outline","push","unelevated"];var nx=Je({name:"QCarousel",props:{...ir,...wg,...Zq,transitionPrev:{type:String,default:"fade"},transitionNext:{type:String,default:"fade"},height:String,padding:Boolean,controlColor:String,controlTextColor:String,controlType:{type:String,validator:e=>tx.includes(e),default:"flat"},autoplay:[Number,Boolean],arrows:Boolean,prevIcon:String,nextIcon:String,navigation:Boolean,navigationPosition:{type:String,validator:e=>ex.includes(e)},navigationIcon:String,navigationActiveIcon:String,thumbnails:Boolean},emits:[...Jq,...Sg],setup(e,{slots:t}){const{proxy:{$q:r}}=Dt(),a=ar(e,r);let l=null,s;const{updatePanelsList:u,getPanelContent:d,panelDirectives:f,goToPanel:g,previousPanel:v,nextPanel:T,getEnabledPanels:M,panelIndex:_}=kg(),{inFullscreen:P}=Xq(),$=I(()=>P.value!==!0&&e.height!==void 0?{height:e.height}:{}),L=I(()=>e.vertical===!0?"vertical":"horizontal"),F=I(()=>`q-carousel q-panel-parent q-carousel--with${e.padding===!0?"":"out"}-padding`+(P.value===!0?" fullscreen":"")+(a.value===!0?" q-carousel--dark q-dark":"")+(e.arrows===!0?` q-carousel--arrows-${L.value}`:"")+(e.navigation===!0?` q-carousel--navigation-${N.value}`:"")),W=I(()=>{const _e=[e.prevIcon||r.iconSet.carousel[e.vertical===!0?"up":"left"],e.nextIcon||r.iconSet.carousel[e.vertical===!0?"down":"right"]];return e.vertical===!1&&r.lang.rtl===!0?_e.reverse():_e}),D=I(()=>e.navigationIcon||r.iconSet.carousel.navigationIcon),A=I(()=>e.navigationActiveIcon||D.value),N=I(()=>e.navigationPosition||(e.vertical===!0?"right":"bottom")),J=I(()=>({color:e.controlColor,textColor:e.controlTextColor,round:!0,[e.controlType]:!0,dense:!0}));ze(()=>e.modelValue,()=>{e.autoplay&&z()}),ze(()=>e.autoplay,_e=>{_e?z():l!==null&&(clearTimeout(l),l=null)});function z(){const _e=rw(e.autoplay)===!0?Math.abs(e.autoplay):5e3;l!==null&&clearTimeout(l),l=setTimeout(()=>{l=null,_e>=0?T():v()},_e)}Xr(()=>{e.autoplay&&z()}),Ht(()=>{l!==null&&clearTimeout(l)});function H(_e,Pe){return E("div",{class:`q-carousel__control q-carousel__navigation no-wrap absolute flex q-carousel__navigation--${_e} q-carousel__navigation--${N.value}`+(e.controlColor!==void 0?` text-${e.controlColor}`:"")},[E("div",{class:"q-carousel__navigation-inner flex flex-center no-wrap"},M().map(Pe))])}function pe(){const _e=[];if(e.navigation===!0){const Pe=t["navigation-icon"]!==void 0?t["navigation-icon"]:te=>E(ye,{key:"nav"+te.name,class:`q-carousel__navigation-icon q-carousel__navigation-icon--${te.active===!0?"":"in"}active`,...te.btnProps,onClick:te.onClick}),lt=s-1;_e.push(H("buttons",(te,xe)=>{const Be=te.props.name,j=_.value===xe;return Pe({index:xe,maxIndex:lt,name:Be,active:j,btnProps:{icon:j===!0?A.value:D.value,size:"sm",...J.value},onClick:()=>{g(Be)}})}))}else if(e.thumbnails===!0){const Pe=e.controlColor!==void 0?` text-${e.controlColor}`:"";_e.push(H("thumbnails",lt=>{const te=lt.props;return E("img",{key:"tmb#"+te.name,class:`q-carousel__thumbnail q-carousel__thumbnail--${te.name===e.modelValue?"":"in"}active`+Pe,src:te.imgSrc||te["img-src"],onClick:()=>{g(te.name)}})}))}return e.arrows===!0&&_.value>=0&&((e.infinite===!0||_.value>0)&&_e.push(E("div",{key:"prev",class:`q-carousel__control q-carousel__arrow q-carousel__prev-arrow q-carousel__prev-arrow--${L.value} absolute flex flex-center`},[E(ye,{icon:W.value[0],...J.value,onClick:v})])),(e.infinite===!0||_.value(s=u(t),E("div",{class:F.value,style:$.value},[Ku("div",{class:"q-carousel__slides-container"},d(),"sl-cont",e.swipeable,()=>f.value)].concat(pe())))}});const rx=sn({name:"ProductDetail",props:["product","add-to-cart"],data:function(){return{slide:1}},computed:{},methods:{},created(){}}),ix={class:"row"},ax={class:"col-lg-5 col-md-5 col-sm-12 col-xs-12 q-mt-sm"},lx={key:0,class:"q-pr-md"},ox={key:1,class:"q-pr-md"},sx={class:"col-lg-7 col-md-7 col-sm-12 col-xs-12 q-mt-sm"},ux={class:"row"},cx={class:"text-subtitle1 q-mt-sm q-pt-xs"},dx={key:0,class:"text-subtitle1"},fx={class:"q-mt-sm text-weight-bold"},hx={key:0},gx={class:"text-h6"},mx={class:"q-ml-sm text-grey-6"},vx={key:1},px={class:"text-h6"},yx={class:"q-ml-md text-caption text-green-8 text-weight-bolder q-mt-md"},_x={class:"q-mt-md"};function bx(e,t,r,a,l,s){return R(),re("div",ix,[S("div",ax,[e.product.images&&e.product.images[0]?(R(),re("div",lx,[y(nx,{swipeable:"",animated:"",modelValue:e.slide,"onUpdate:modelValue":t[0]||(t[0]=u=>e.slide=u),thumbnails:"",infinite:"",arrows:"","transition-prev":"slide-right","transition-next":"slide-left","navigation-icon":"radio_button_unchecked","control-type":"regular","control-color":"secondary","control-text-color":"white"},{default:b(()=>[(R(!0),re(Lt,null,Yt(e.product.images,(u,d)=>(R(),oe(jq,{name:d+1,key:d,"img-src":u},null,8,["name","img-src"]))),128))]),_:1},8,["modelValue"])])):(R(),re("div",ox,[y(nc,{src:e.$q.config.staticPath+"/images/placeholder.png",ratio:16/9},null,8,["src"])]))]),S("div",sx,[y(Jt,null,{default:b(()=>[y(Ne,null,{default:b(()=>[S("div",ux,[S("div",{class:iw(["col-12",e.$q.platform.is.desktop?"":"q-px-md"])},[S("div",cx,ge(e.product.name),1),e.product.categories?(R(),re("div",dx,[(R(!0),re(Lt,null,Yt(e.product.categories,(u,d)=>(R(),oe(Ha,{key:d,dense:""},{default:b(()=>[Te(ge(u),1)]),_:2},1024))),128))])):$e("",!0),S("div",fx,ge(e.product.description),1),S("div",null,[e.product.currency=="sat"?(R(),re("span",hx,[S("span",gx,ge(e.product.price)+" sats",1),S("span",mx,"BTC "+ge((e.product.price/1e8).toFixed(8)),1)])):(R(),re("span",vx,[S("span",px,ge(e.product.formatedPrice),1)])),S("span",yx,ge(e.product.quantity>0?`In - stock. ${e.product.quantity} left.`:"Out of stock."),1)]),S("div",_x,[y(ye,{class:"q-mt-md",color:"primary",rounded:"",icon:"shopping_cart",label:"Add to cart",onClick:t[1]||(t[1]=u=>e.$emit("add-to-cart",e.product))})])],2)])]),_:1})]),_:1})])])}var wx=Tn(rx,[["render",bx]]);const Sx=sn({name:"CustomerStall",components:{ProductCard:Sm,ProductDetail:wx},props:["stall","products","product-detail"],data:function(){return{}},computed:{product(){if(this.productDetail)return this.products.find(e=>e.id==this.productDetail)}},methods:{changePageS(e,t){var r;e==="stall"&&(t==null?void 0:t.product)&&((r=document.getElementById("product-focus-area"))==null||r.scrollIntoView()),this.$emit("change-page",e,t)},addToCart(e){this.$emit("add-to-cart",e)}}}),kx=S("div",{id:"product-focus-area"},null,-1),Cx={key:0,class:"row"},Tx={class:"col-12 auto-width"},Mx={class:"col-12 q-my-lg"},Dx={class:"row q-col-gutter-md"};function qx(e,t,r,a,l,s){const u=Jr("product-detail"),d=Jr("product-card");return R(),re("div",null,[kx,e.productDetail&&e.product?(R(),re("div",Cx,[S("div",Tx,[y(u,{product:e.product,onAddToCart:e.addToCart},null,8,["product","onAddToCart"])]),S("div",Mx,[y(ut)])])):$e("",!0),S("div",Dx,[(R(!0),re(Lt,null,Yt(e.products,(f,g)=>(R(),re("div",{class:"col-xs-12 col-sm-6 col-md-4 col-lg-3",key:g},[y(d,{product:f,onChangePage:e.changePageS,onAddToCart:e.addToCart,"is-stall":!0},null,8,["product","onChangePage","onAddToCart"])]))),128))])])}var xx=Tn(Sx,[["render",qx]]);const Px=sn({name:"CustomerStallList",props:["stalls"],data:function(){return{showStalls:!0}},watch:{stalls(){this.showProducts=!1,setTimeout(()=>{this.showProducts=!0},0)}},computed:{},methods:{},created(){}}),Ax={key:0,class:"row q-col-gutter-md"},Ex={class:"q-pa-md q-gutter-sm",style:{height:"80px"}},Ix=["src"],$x={class:"row no-wrap items-center"},Rx={class:"col text-subtitle2 ellipsis-2-lines"},Ox={class:"text-caption text-green-8 text-weight-bolder q-mt-md"},Lx=["textContent"],Nx=["textContent"],Bx={key:0,class:"text-subtitle1"},Fx=["textContent"],Ux={key:1,class:"text-subtitle1"},Vx={class:"text-caption text-grey ellipsis-2-lines",style:{"min-height":"40px"}},zx={class:"q-ml-auto"};function Wx(e,t,r,a,l,s){return e.showStalls?(R(),re("div",Ax,[(R(!0),re(Lt,null,Yt(e.stalls,u=>(R(),re("div",{key:u.id,class:"col-xs-12 col-sm-6 col-md-4 col-lg-3"},[y(Jt,{class:"card--product"},{default:b(()=>[y(Ne,{class:"q-pb-xs q-pt-md"},{default:b(()=>[S("div",Ex,[(R(!0),re(Lt,null,Yt(u.images,(d,f)=>(R(),oe(jr,{key:f,size:"40px",class:"overlapping",style:aw(`left: ${f*25}px; border: 2px solid white; position: absolute`)},{default:b(()=>[S("img",{src:d},null,8,Ix)]),_:2},1032,["style"]))),128))])]),_:2},1024),y(Ne,{class:"q-pb-xs q-pt-md"},{default:b(()=>[S("div",$x,[S("div",Rx,ge(u.name),1)])]),_:2},1024),y(ut),y(Ne,{class:"q-pl-sm"},{default:b(()=>[S("div",null,[S("span",Ox,[S("span",{textContent:ge(u.productCount)},null,8,Lx),Te(" products")]),S("span",{textContent:ge(u.currency),class:"float-right"},null,8,Nx)])]),_:2},1024),y(Ne,{class:"q-pl-sm gt-sm"},{default:b(()=>[u.categories?(R(),re("div",Bx,[y(tc,{items:u.categories||[],"virtual-scroll-horizontal":""},{default:b(({item:d,index:f})=>[(R(),oe(Ha,{key:f,dense:""},{default:b(()=>[S("span",{textContent:ge(d)},null,8,Fx)]),_:2},1024))]),_:2},1032,["items"])])):(R(),re("div",Ux," \xA0 ")),S("div",Vx,[S("p",null,ge(u.description||""),1)])]),_:2},1024),y(ut),y(yi,null,{default:b(()=>[S("div",zx,[y(ye,{flat:"",class:"text-weight-bold text-capitalize q-ml-auto float-left",dense:"",color:"primary",onClick:d=>e.$emit("change-page","stall",{stall:u.id})},{default:b(()=>[Te(" Visit Stall ")]),_:2},1032,["onClick"])])]),_:2},1024)]),_:2},1024)]))),128))])):$e("",!0)}var Yx=Tn(Px,[["render",Wx]]);const Hx=sn({name:"ProductFilter",props:["filter","currencies","categories","merchants","profiles","stalls"],data:function(){return{merchantProfiles:[],filterData:{currency:null,priceFrom:0,priceTo:null,categories:[],merchants:[],stalls:[]}}},watch:{categories(e,t){this.filterData.categories=(e||[]).filter(r=>r.selected).map(r=>r.category)}},methods:{clear:function(){this.filterData={currency:null,priceFrom:0,priceTo:null,categories:[],merchants:[],stalls:[]},this.$emit("filter-update",this.filterData)},clearPrice(){this.filterData.currency=null,this.filterData.priceFrom=0,this.filterData.priceTo=null},clearMerchants(){this.filterData.merchants=[]},clearCategories(){this.filterData.categories=[]},clearStalls(){this.filterData.stalls=[]},search:function(){const e={...this.filterData,merchants:this.filterData.merchants.map(t=>t.value),stalls:this.filterData.stalls.map(t=>t.value)};this.$emit("filter-update",e)},mapMerchantProfile(e){const t=this.profiles.find(r=>r.pubkey===e);return t?{label:t.name+` (${e.substring(0,10)}...${e.substring(e.length-10)})`,value:e}:{label:e,value:e}}},created:async function(){console.log("### this.filter",this.filter),this.filterData={...this.filterData,...JSON.parse(JSON.stringify(this.filter||{}))},this.filterData.categories=[...new Set((this.filterData.categories||[]).concat((this.categories||[]).filter(e=>e.selected).map(e=>e.category)))],this.filterData.merchants=(this.filterData.merchants||[]).map(this.mapMerchantProfile),this.filterData.stalls=(this.filterData.stalls||[]).map(e=>{const t=this.stalls.find(r=>r.id===e)||{label:e,value:e};return{label:t.name,value:t.id}}),this.merchantProfiles=this.merchants.map(this.mapMerchantProfile)}}),Gx={class:"row q-mt-md q-ml-md q-pr-md"},Kx={class:"col-md-3 col-sm-12 col-xs-12 q-pt-sm"},Qx={class:"col-md-3 col-sm-12 col-xs-12 q-pt-sm q-pl-md"},jx={class:"col-md-3 col-sm-12 col-xs-12 q-pt-sm q-pl-lg"},Zx={class:"col-md-3 col-sm-12 col-xs-12"},Jx={class:"row q-mt-md q-ml-md q-pr-md"},Xx={class:"col-9"},eP={class:"col-3"},tP={class:"row q-mt-md q-ml-md q-pr-md"},nP={class:"col-9"},rP={class:"col-3"},iP={class:"row q-mt-md q-ml-md q-pr-md"},aP={class:"col-9"},lP={class:"col-3"};function oP(e,t,r,a,l,s){return R(),oe(Jt,null,{default:b(()=>[y(Ne,null,{default:b(()=>[S("div",Gx,[S("div",Kx,[y(Aa,{options:[...e.currencies].sort(),modelValue:e.filterData.currency,"onUpdate:modelValue":t[0]||(t[0]=u=>e.filterData.currency=u),filled:"",hint:"Only this Currency",label:"Currency"},null,8,["options","modelValue"])]),S("div",Qx,[y(It,{modelValue:e.filterData.priceFrom,"onUpdate:modelValue":t[1]||(t[1]=u=>e.filterData.priceFrom=u),type:"number",label:"Price From",hint:"Price Starting At"},null,8,["modelValue"])]),S("div",jx,[y(It,{modelValue:e.filterData.priceTo,"onUpdate:modelValue":t[2]||(t[2]=u=>e.filterData.priceTo=u),type:"number",label:"Price To",hint:"Maximum Price"},null,8,["modelValue"])]),S("div",Zx,[y(ye,{onClick:t[3]||(t[3]=u=>e.clearPrice()),flat:"",color:"grey",class:"float-right q-mt-sm"},{default:b(()=>[Te(" Clear")]),_:1})])])]),_:1}),y(Ne,null,{default:b(()=>[S("div",Jx,[S("div",Xx,[y(Aa,{options:[...e.categories.map(u=>u.category).sort()],modelValue:e.filterData.categories,"onUpdate:modelValue":t[4]||(t[4]=u=>e.filterData.categories=u),filled:"",multiple:"","use-chips":"","stack-label":"",hint:"Any of these Categories",label:"Categories"},null,8,["options","modelValue"])]),S("div",eP,[y(ye,{onClick:t[5]||(t[5]=u=>e.clearCategories()),flat:"",color:"grey",class:"float-right q-mt-sm"},{default:b(()=>[Te(" Clear")]),_:1})])]),S("div",tP,[S("div",nP,[y(Aa,{options:e.merchantProfiles,modelValue:e.filterData.merchants,"onUpdate:modelValue":t[6]||(t[6]=u=>e.filterData.merchants=u),filled:"",multiple:"","use-chips":"","stack-label":"",hint:"Only these Merchant",label:"Merchants"},null,8,["options","modelValue"])]),S("div",rP,[y(ye,{onClick:t[7]||(t[7]=u=>e.clearMerchants()),flat:"",color:"grey",class:"float-right q-mt-sm"},{default:b(()=>[Te(" Clear")]),_:1})])]),S("div",iP,[S("div",aP,[y(Aa,{options:e.stalls.map(u=>({label:u.name,value:u.id})),modelValue:e.filterData.stalls,"onUpdate:modelValue":t[8]||(t[8]=u=>e.filterData.stalls=u),filled:"",multiple:"","use-chips":"","stack-label":"",hint:"Only these Stalls",label:"Stalls"},null,8,["options","modelValue"])]),S("div",lP,[y(ye,{onClick:t[9]||(t[9]=u=>e.clearStalls()),flat:"",color:"grey",class:"float-right q-mt-sm"},{default:b(()=>[Te(" Clear")]),_:1})])])]),_:1}),y(ut),y(yi,{align:"right"},{default:b(()=>[y(ye,{onClick:t[10]||(t[10]=u=>e.clear()),flat:"",color:"grey"},{default:b(()=>[Te(" Clear All Filters")]),_:1}),y(ye,{onClick:t[11]||(t[11]=u=>e.search()),flat:"",icon:"search",color:"primary",class:"q-mr-md"},{default:b(()=>[Te(" Search ")]),_:1})]),_:1})]),_:1})}var sP=Tn(Hx,[["render",oP]]);const uP={class:"row q-mb-md"},cP={class:"col-lg-1 col-md-1 gt-sm"},dP=["src"],fP={class:"col-lg-7 col-md-5 col-12 auto-width"},hP=S("div",{id:"search-text"},null,-1),gP={class:"col-lg-4 col-md-6 col-12"},mP={class:"float-right"},vP=["textContent"],pP=["textContent"],yP={key:0,class:"gt-sm"},_P=["textContent","onClick"],bP=["textContent"],wP=S("div",{class:"text-h6"}," There are no relays configured at this moment. ",-1),SP=S("div",{class:"text-subtitle2"}," Start by creating or importing a market. ",-1),kP={key:2,class:"row q-mb-sm"},CP={class:"col-12 text-center"},TP={key:0,class:"absolute-bottom text-subtitle1 text-center"},MP=["textContent"],DP={class:"row q-mb-sm"},qP={class:"col-md-10 col-sm-7 auto-width"},xP=["textContent"],PP=S("strong",null,"All markets",-1),AP=["textContent"],EP=["textContent"],IP={class:"col-md-2 col-sm-5"},$P={key:3,class:"row q-mb-sm"},RP={class:"col-12 text-center"},OP={key:12},LP=S("strong",{class:"text-h4"},"Welcome to the Nostr Market!",-1),NP=S("strong",{class:"text-h5 q-mt-lg"},"In order to start you can:",-1),BP={class:"text-h6"},FP={class:"text-h6"},UP={class:"text-h6"},VP=S("code",null,"naddr",-1),zP={key:13},WP=S("div",{class:"text-h6"},"Account Setup",-1),YP=S("p",null,"Enter your Nostr private key or generate a new one.",-1),HP={class:"text-center q-mb-lg"},GP={key:0,class:"q-my-lg"},KP=["textContent"],QP=["href"],jP={key:0,ratio:1},ZP={key:1},JP={class:"row q-mt-lg"},XP=sn({name:"MarketPage",components:{MarketConfig:Pg},data:function(){return{account:null,accountMetadata:null,accountDialog:{show:!1,data:{watchOnly:!1,key:null}},relaysData:{},markets:[],shoppingCarts:[],checkoutCart:null,checkoutStall:null,activePage:"market",activeOrderId:null,dmSubscriptions:{},allMarketsSelected:!1,qrCodeDialog:{data:{payment_request:null,message:null},dismissMsg:null,show:!1},groupByStall:!1,relays:new Set,stalls:[],products:[],orders:{},profiles:[],bannerImage:null,logoImage:null,isLoading:!1,showFilterDetails:!1,searchText:null,filterData:{categories:[],merchants:[],stalls:[],currency:null,priceFrom:null,priceTo:null},dmEvents:null,activeMarket:null,activeStall:null,activeProduct:null,pool:null,config:{opts:null},defaultBanner:this.$q.config.staticPath+"images/nostr-cover.png",defaultLogo:this.$q.config.staticPath+"images/nostr-avatar.png",defaultMarketNaddr:"naddr1qqjr2e34v3jrzd3e95ensdfn956rywps94snwcmr95crvepexc6kxcfcxqmnvqg5waehxw309aex2mrp0yhxgctdw4eju6t0qyv8wumn8ghj7un9d3shjtnndehhyapwwdhkx6tpdsq36amnwvaz7tmwdaehgu3dwp6kytnhv4kxcmmjv3jhytnwv46qzxthwden5te0dehhxarj9eax2cn9v3jk2tnrd3hh2eqprfmhxue69uhhyetvv9ujummjv9hxwetsd9kxctnyv4mqzrthwden5te0dehhxtnvdakqz9rhwden5te0wfjkccte9ehx7um5wghxyecpzpmhxue69uhkummnw3ezuamfdejsz9thwden5te0v4jx2m3wdehhxarj9ekxzmnyqgstle9w09rt8y7xdlqs33v23vqvdtqx6j6j2wa4984g9n77tppx2tqrqsqqqa2ruusd5z",readNotes:{merchants:!1,marketUi:!1}}},watch:{config(e,t){var r,a,l,s;(a=(r=e==null?void 0:e.opts)==null?void 0:r.ui)!=null&&a.banner?(this.bannerImage=null,setTimeout(()=>{var u,d;this.bannerImage=this.sanitizeImageSrc((d=(u=e==null?void 0:e.opts)==null?void 0:u.ui)==null?void 0:d.banner,this.defaultBanner)})):this.bannerImage=this.defaultBanner,(s=(l=e==null?void 0:e.opts)==null?void 0:l.ui)!=null&&s.picture?(this.logoImage=null,setTimeout(()=>{var u,d;this.logoImage=this.sanitizeImageSrc((d=(u=e==null?void 0:e.opts)==null?void 0:u.ui)==null?void 0:d.picture,this.defaultLogo)})):this.logoImage=this.defaultLogo},searchText(e,t){if(!!e&&e.toLowerCase().startsWith("naddr"))try{const{type:r,data:a}=NostrTools.nip19.decode(e);if(r!=="naddr"||a.kind!==30019)return;this.$q.dialog(confirm("Do you want to import this market profile?")).onOk(async()=>{this.searchText="",await this.addMarket(e)})}catch{}}},computed:{selectedMarketsMerchants(){return[...new Set(this.markets.filter(e=>e.selected).map(e=>e.opts.merchants).flat())]},filteredProducts(){const e=g=>{var v;return!((v=this.filterData.merchants)!=null&&v.length)||this.filterData.merchants.includes(g)},t=g=>this.selectedMarketsMerchants.includes(g),r=g=>{var v;return!((v=this.filterData.stalls)!=null&&v.length)||this.filterData.stalls.includes(g)},a=g=>!this.filterData.currency||this.filterData.currency.toLowerCase()===g.toLowerCase(),l=g=>!this.filterData.priceFrom||g>=this.filterData.priceFrom,s=g=>!this.filterData.priceTo||g<=this.filterData.priceTo,u=g=>!this.activeStall||g==this.activeStall;let d=this.products.filter(g=>this.hasCategory(g.categories)&&u(g.stall_id)&&e(g.pubkey)&&t(g.pubkey)&&r(g.stall_id)&&a(g.currency)&&l(g.price)&&s(g.price));if(!this.searchText||this.searchText.length<2)return d;const f=this.searchText.toLowerCase();return d.filter(g=>g.name.toLowerCase().includes(f)||g.description&&g.description.toLowerCase().includes(f)||g.categories&&g.categories.toString().toLowerCase().includes(f))},filterCount(){let e=0;return this.filterData.currency&&e++,this.filterData.priceFrom&&e++,this.filterData.priceTo&&e++,this.filterData.categories&&(e+=this.filterData.categories.length),this.filterData.merchants&&(e+=this.filterData.merchants.length),this.filterData.stalls&&(e+=this.filterData.stalls.length),e},filterStalls(){const e=this.stalls.map(r=>({...r,categories:this.allStallCatgories(r.id),images:this.allStallImages(r.id).slice(0,8),productCount:this.products.filter(a=>a.stall_id===r.id).length})).filter(r=>this.hasCategory(r.categories));if(!this.searchText||this.searchText.length<2)return e;const t=this.searchText.toLowerCase();return this.stalls.filter(r=>r.name.toLowerCase().includes(t)||r.description&&r.description.toLowerCase().includes(t)||r.categories&&r.categories.toString().toLowerCase().includes(t))},marketsName(){var t,r;if(this.activeMarket)return((t=this.activeMarket.opts)==null?void 0:t.name)||"Market";const e=this.markets.filter(a=>a.selected);return e.length===0?"No Market":e.length===1?((r=e[0].opts)==null?void 0:r.name)||"Market":e.length+" Markets"},stallName(){var e;return((e=this.stalls.find(t=>t.id==this.activeStall))==null?void 0:e.name)||"Stall"},productName(){var e;return((e=this.products.find(t=>t.id==this.activeProduct))==null?void 0:e.name)||"Product"},isValidAccountKey(){return isValidKey(this.accountDialog.data.key)},allCartsItemCount(){return this.shoppingCarts.map(e=>e.products).flat().reduce((e,t)=>e+t.orderedQuantity,0)},allCategories(){const t=this.products.map(r=>r.categories).flat().filter(r=>!!r).map(r=>r.toLowerCase()).reduce((r,a)=>(r[a]=(r[a]||0)+1,r),{});return Object.keys(t).map(r=>({category:r,count:t[r],selected:this.filterData.categories.indexOf(r)!==-1})).sort((r,a)=>a.count-r.count)},allCurrencies(){const e=this.products.map(t=>t.currency.toUpperCase());return[...new Set(e)]},allMerchants(){return[...new Set(this.markets.map(e=>e.opts.merchants).flat())]},allRelays(){return[...new Set(this.markets.map(e=>e.relays).flat())]},processedEventIds(){const e=this.stalls.map(r=>r.eventId),t=this.products.map(r=>r.eventId);return e.concat(t)},activeMarketRelaysData(){return this.activeMarket?Object.values(this.relaysData).filter(e=>e&&this.activeMarket.relays.includes(e.relayUrl)):[]},dmPeers(){this.dmEvents;const e="nostrmarket.dm.";return this.$q.localStorage.getAllKeys().filter(r=>r.startsWith(e)).map(r=>r.substring(e.length))}},async created(){this.bannerImage=this.defaultBanner,this.logoImage=this.defaultLogo,this._restoreFromStorage();const e=new URLSearchParams(window.location.search);await this.addMarket(e.get("naddr")),await this._handleQueryParams(e),this.isLoading=!1,this._loadRelaysData(),this._startRelaysHealtCheck()},methods:{async _handleQueryParams(e){const t=e.get("merchant");console.log("### merchantPubkey",t);const r=e.get("stall"),a=e.get("product");r&&(this.setActivePage("customer-stall"),a&&(this.activeProduct=a),this.activeStall=r),t&&(isValidKey(t)?this.allMerchants.includes(t)?this.$q.notify({message:"Request (URL) merchant already exists!",type:"positive"}):this.$q.dialog(confirm("We found a merchant pubkey in your request. Do you want to add it to the merchants list?")).onOk(async()=>{this.createMarket(!1,[t])}):this.$q.notify({message:"Invalid merchant public key!",icon:"warning"}))},_applyUiConfigs(e={}){const{name:t,about:r,ui:a}=e;this.$q.localStorage.set("nostrmarket.marketplaceConfig",{name:t,about:r,ui:a}),a!=null&&a.theme&&document.body.setAttribute("data-theme",a.theme),this.$q.dark.set(!!(a!=null&&a.darkMode))},handleFilterData(e){console.log("### handleFilterData",e),this.filterData=e,this.setActivePage("market")},async updateUiConfig(e={opts:{}}){var l;const{name:t,about:r,ui:a}=e.opts;this.config={...this.config,opts:{...this.config.opts,name:t,about:r,ui:a}},this._applyUiConfigs((l=this.config)==null?void 0:l.opts)},generateKeyPair(){this.accountDialog.data.key=NostrTools.generatePrivateKey(),this.accountDialog.data.watchOnly=!1},openAccountDialog(){this.accountDialog.show=!0},async createAccount(){if(isValidKey(this.accountDialog.data.key,"nsec")){let{key:e,watchOnly:t}=this.accountDialog.data;if(e.startsWith("n")){let{type:l,data:s}=NostrTools.nip19.decode(e);e=s}const r=t?null:e,a=t?e:NostrTools.getPublicKey(e);this.$q.localStorage.set("nostrmarket.account",{privkey:r,pubkey:a,nsec:NostrTools.nip19.nsecEncode(e),npub:NostrTools.nip19.npubEncode(a),useExtension:!1}),this.accountDialog.data={watchOnly:!1,key:null},this.accountDialog.show=!1,this.account=this.$q.localStorage.getItem("nostrmarket.account"),await this._requeryAllRelays()}this.accountDialog.show=!1},logout(){window.localStorage.removeItem("nostrmarket.account"),this._clearNonAccountData(),window.location.href=window.location.origin+window.location.pathname,this.account=null,this.accountMetadata=null},clearAllData(){this.$q.dialog(confirm("This will remove all information about merchants, products, relays and others. You will NOT be logged out. Do you want to proceed?")).onOk(async()=>{this._clearNonAccountData(),window.location.href=window.location.origin+window.location.pathname})},_clearNonAccountData(){this.$q.localStorage.getAllKeys().filter(e=>e!=="nostrmarket.account").forEach(e=>window.localStorage.removeItem(e)),this.orders=[],this.config={opts:null},this.shoppingCarts=[],this.checkoutCart=null},_startRelaysHealtCheck(){setInterval(()=>{Object.keys(this.relaysData).forEach(e=>{this.relaysData[e].relay.status===WebSocket.CLOSED&&this._connectToRelay(e)})},30*1e3)},async _toRelayKey(e){return"relay_"+await hash(e)},async _loadRelaysData(){for(const e of this.markets)for(const t of e.relays)await this._loadRelayData(t,e.opts.merchants);Object.keys(this.relaysData).forEach(this._connectToRelay)},async _loadRelayData(e,t){const r=await this._toRelayKey(e);this.relaysData[r]=this.relaysData[r]||{relayUrl:e,connected:!1,error:null,merchants:[],lastEventAt:this.getLastEventDateForRelay(e)};const a=this.relaysData[r];a.merchants=[...new Set(a.merchants.concat(t))]},getLastEventDateForRelay(e){const t=(this.$q.localStorage.getItem("nostrmarket.relays")||[]).find(r=>r.relayUrl===e);return console.log("### getLastEventForRelay",e,t),(t==null?void 0:t.lastEventAt)||0},async _connectToRelay(e){const t=this.relaysData[e];try{console.log(`Trying to connect to relay ${t.relayUrl}`),t.relay=NostrTools.relayInit(t.relayUrl),t.relay.on("connect",()=>{t.connected=!0,t.error=null,console.log(`Connected to relay ${t.relayUrl}`),this._queryRelay(e)}),t.relay.on("error",r=>{console.warn(`Error by relay ${t.relayUrl}`),t.connected=!1,t.error=r}),await t.relay.connect()}catch(r){t.connected=!1,t.error=`${r}`,console.warn(`Failed to connect to ${t.relayUrl}`)}},async _requeryAllRelays(){Object.keys(this.relaysData).forEach(async e=>{await this._requeryRelay(e)})},async _requeryRelay(e){var r;const t=this.relaysData[e];t.connected&&((r=t.sub)==null||r.unsub(),this._queryRelay(e))},_buildRelayFilters(e){var a;const t=e.merchants,r=[{kinds:[0,5,30017,30018],authors:t,since:e.lastEventAt+1}];if((a=this.account)!=null&&a.pubkey){const l=this._noDmEvents()?0:e.lastEventAt+1;r.push({kinds:[4],"#p":[this.account.pubkey],since:l},{kinds:[4],authors:[this.account.pubkey],since:l})}return r},async _queryRelay(e){const t=this.relaysData[e],r=this._buildRelayFilters(t),a=await t.relay.list(r);console.log("### _queryRelay.filters",t.relayUrl,r),console.log("### _queryRelay.events",t.relayUrl,a),a!=null&&a.length&&await this._processEvents(a,t),t.sub=t.relay.sub(r),t.sub.on("event",l=>{this._processEvents([l],t)},{id:"masterSub"})},async _publishEventToRelays(e,t){let r=0;for(const a of t)await this._publishEventToRelay(e,a)&&r++;return r},async _publishEventToRelay(e,t){try{const r=await this._toRelayKey(t),a=this.relaysData[r];return a!=null&&a.connected&&await a.relay.publish(e),!0}catch(r){return console.warn(r),!1}},_findRelaysForMerchant(e){const t=this.markets.filter(r=>r.opts.merchants.includes(e)).map(r=>r.relays).flat();return[...new Set(t)]},_processEvents(e,t){if(!(e!=null&&e.length))return;console.log("### _processEvents",t.relayUrl,e);const r=e.sort((a,l)=>l.created_at-a.created_at)[0].created_at;t.lastEventAt=Math.max(r,t.lastEventAt),e=e.filter(a=>!this.processedEventIds.includes(a.id)).map(a=>({...a,relayUrl:t.relayUrl})).map(eventToObj),e.filter(a=>a.kind===0).forEach(this._processProfileEvents),e.filter(a=>a.kind===4).forEach(this._processDmEvents),e.filter(a=>a.kind===5).forEach(this._processDeleteEvents),e.filter(a=>a.kind===30017).forEach(this._processStallEvents),e.filter(a=>a.kind===30018).forEach(this._processProductEvents),this._persistStallsAndProducts(),this._persistRelaysData()},_processProfileEvents(e){try{this.profiles=this.profiles.filter(t=>t.pubkey!==e.pubkey),this.profiles.push({pubkey:e.pubkey,...e.content}),this.$q.localStorage.set("nostrmarket.profiles",this.profiles)}catch(t){console.warn(t)}},_processStallEvents(e){this._processStall({...e.content,id:e.d,pubkey:e.pubkey,createdAt:e.created_at,eventId:e.id,relayUrls:[e.relayUrl]})},_processStall(e){const t=this.stalls.findIndex(a=>a.id===e.id&&a.pubkey===e.pubkey);if(t===-1){this.stalls.push(e);return}this.stalls[t].createdAta.pubkey===e.pubkey&&a.stall_id===e.id).forEach(a=>a.stallName=e.name))},_processProductEvents(e){const t={...e.content},r=this.stalls.find(a=>a.id==t.stall_id);!r||(t.currency!="sat"&&(t.formatedPrice=this.getAmountFormated(t.price,t.currency)),this._processProduct({...t,stallName:r.name,images:t.images||[t.image],pubkey:e.pubkey,id:e.d,categories:e.t,eventId:e.id,createdAt:e.created_at,relayUrls:[e.relayUrl]}))},_processProduct(e){const t=this.products.findIndex(a=>a.id===e.id&&a.pubkey===e.pubkey);if(t===-1){this.products.push(e);return}const r=this.products[t];r.relayUrls=[...new Set(e.relayUrls.concat(r.relayUrls))],r.createdAts==="p"&&u&&u!=="")[1],r=e.pubkey===this.account.pubkey;if(t!==this.account.pubkey&&!r){console.warn("Unexpected DM. Dropped!");return}const a=r?t:e.pubkey;e.content=await NostrTools.nip04.decrypt(this.account.privkey,a,e.content),this._persistDMEvent(e,a),isJson(e.content)&&await this._handleStructuredDm(e,a)},async _processDeleteEvents(e){const t=(e.tags||[]).filter(s=>s[0]==="e").map(s=>s[1]),r=this.stalls.filter(s=>s.pubkey===e.pubkey&&t.includes(s.eventId)).map(s=>s.id),a=s=>s.pubkey===e.pubkey&&(t.includes(s.eventId)||r.includes(s.stall_id));this.products=this.products.filter(s=>!a(s));const l=s=>s.pubkey===e.pubkey&&t.includes(s.eventId);this.stalls=this.stalls.filter(s=>!l(s))},async createMarket(e,t){var r;try{this.setActivePage("loading");const a={d:crypto.randomUUID(),pubkey:((r=this.account)==null?void 0:r.pubkey)||"",relays:[...defaultRelays],selected:!0,opts:{name:"New Market",merchants:t||[],ui:{}}};this.markets.unshift(a),this.$q.localStorage.set("nostrmarket.markets",this.markets);for(const l of a.relays)this._handleNewRelay(l,a);e===!0&&this.showMarketConfig(0)}catch(a){console.warn(a)}finally{this.setActivePage("market-config")}},async addMarket(e){if(!!e)try{this.setActivePage("loading");const{type:t,data:r}=NostrTools.nip19.decode(e);if(t!=="naddr"||r.kind!==30019)return;const a={d:r.identifier,pubkey:r.pubkey,relays:r.relays,selected:!0},s=await new NostrTools.SimplePool().get(a.relays,{kinds:[30019],limit:1,authors:[a.pubkey],"#d":[a.d]});if(!s)return;isJson(s.content)&&(a.opts=JSON.parse(s.content),this.$q.dialog(confirm(`Do you want to use the look and feel of the '${a.opts.name}' market?`)).onOk(async()=>{this.config={...this.config,opts:a.opts},this._applyUiConfigs(a==null?void 0:a.opts)})),this.markets=this.markets.filter(u=>u.d!==a.d||u.pubkey!==a.pubkey),this.markets.unshift(a),this.$q.localStorage.set("nostrmarket.markets",this.markets);for(const u of a.relays)await this._handleNewRelay(u,a)}catch(t){console.warn(t)}finally{this.setActivePage("market")}},updateMarket(e){var t,r;try{this.isLoading=!0;const{d:a,pubkey:l}=e,s=this.markets.find(v=>v.d===a&&v.pubkey===l)||{},u=(t=e.opts)==null?void 0:t.merchants.filter(v=>{var T;return!((T=s.opts)!=null&&T.merchants.includes(v))}),d=(r=s.opts)==null?void 0:r.merchants.filter(v=>{var T;return!((T=e.opts)!=null&&T.merchants.includes(v))}),f=e.relays.filter(v=>!s.relays.includes(v)),g=s.relays.filter(v=>!e.relays.includes(v));this.markets=this.markets.filter(v=>v.d!==a||v.pubkey!==l),this.markets.unshift(e),this.$q.localStorage.set("nostrmarket.markets",this.markets),d==null||d.forEach(this._handleRemoveMerchant),u==null||u.forEach(v=>this._handleNewMerchant(e,v)),console.log("### newRelays",f),console.log("### removedRelays",g),f==null||f.forEach(v=>this._handleNewRelay(v,e)),g==null||g.forEach(this._handleRemovedRelay),this._persistStallsAndProducts(),this._persistRelaysData()}catch(a){console.warn(a)}finally{this.isLoading=!1}},deleteMarket(e){var t,r;try{this.isLoading=!0;const{d:a,pubkey:l}=e;this.markets=this.markets.filter(s=>s.d!==a||s.pubkey!==l),this.$q.localStorage.set("nostrmarket.markets",this.markets),this.activeMarket&&this.activeMarket.d===a&&this.activeMarket.pubkey===l&&(this.activeMarket=null,this.navigateTo("market"),this.updateUiConfig(this.markets[0])),(t=e.opts.merchants)==null||t.forEach(this._handleRemoveMerchant),(r=e.relays)==null||r.forEach(this._handleRemovedRelay),this._persistStallsAndProducts(),this._persistRelaysData()}catch(a){console.warn(a)}finally{this.isLoading=!1}},toggleMarket(){this.allMarketsSelected=!this.markets.find(e=>!e.selected),this.$q.localStorage.set("nostrmarket.markets",this.markets)},toggleAllMarkets(){this.markets.forEach(e=>e.selected=this.allMarketsSelected),this.$q.localStorage.set("nostrmarket.markets",this.markets)},showMarketConfig(e){this.activeMarket=this.markets[e],this.transitToPage("market-config")},async publishNaddr(e){var l,s;if(!((l=this.account)!=null&&l.privkey)){this.openAccountDialog(),this.$q.notify({message:"Login Required!",icon:"warning"});return}console.log("### marketData",e);const t=(s=e.d)!=null?s:crypto.randomUUID(),r={...await NostrTools.getBlankEvent(),kind:30019,content:JSON.stringify(e.opts),created_at:Math.floor(Date.now()/1e3),tags:[["d",t]],pubkey:this.account.pubkey};r.id=NostrTools.getEventHash(r);try{r.sig=await NostrTools.signEvent(r,this.account.privkey);const u=await this._publishEventToRelays(r,e.relays);this.$q.notify({type:u?"positive":"warning",message:u?`The market profile has been published tp (${u} relays)!`:"The market profile could not be published"})}catch(u){console.error(u),this.$q.notify({message:"Cannot publish market profile",caption:`Error: ${u}`,color:"negative"});return}const a=NostrTools.nip19.naddrEncode({pubkey:r.pubkey,kind:30019,identifier:t,relays:e.relays});this.copyText(a)},_handleNewMerchant(e,t){Object.keys(this.relaysData).forEach(async r=>{const a=this.relaysData[r];if(!e.relays.includes(a.relayUrl)||a.merchants.includes(t))return;const l=await a.relay.list([{kinds:[0,30017,30018],authors:[t]}]);await this._processEvents(l,a),a.merchants.push(t),await this._requeryRelay(r)})},async _handleNewRelay(e,t){const r=await this._toRelayKey(e);if(this.relaysData[r]){const a=this.relaysData[r],l=await a.relay.list([{kinds:[0,30017,30018],authors:t.opts.merchants}]);await this._processEvents(l,a),a.merchants=[...new Set(a.merchants.concat(t.opts.merchants))],await this._requeryRelay(r)}else await this._loadRelayData(e,t.opts.merchants),await this._connectToRelay(r)},_handleRemoveMerchant(e){this.markets.find(r=>r.opts.merchants.find(a=>a===e))||(this.products=this.products.filter(r=>r.pubkey!==e),this.stalls=this.stalls.filter(r=>r.pubkey!==e),this._removeSubscriptionsForMerchant(e))},_removeSubscriptionsForMerchant(e){Object.keys(this.relaysData).forEach(async t=>{const r=this.relaysData[t];!r.merchants.includes(e)||(r.merchants=r.merchants.filter(a=>a!==e),await this._requeryRelay(t))})},async _handleRemovedRelay(e){if(!this.markets.find(r=>r.relays.find(a=>a===e))){const r=await this._toRelayKey(e);delete this.relaysData[r],this._persistRelaysData()}},addProductToCart(e){let t=this.shoppingCarts.find(a=>a.id===e.stall_id);t||(t={id:e.stall_id,products:[]},this.shoppingCarts.push(t)),t.merchant=e.pubkey;let r=t.products.find(a=>a.id===e.id);r||(r={...e,orderedQuantity:0},t.products.push(r)),r.orderedQuantity=Math.min(r.quantity,e.orderedQuantity||r.orderedQuantity+1),this.$q.localStorage.set("nostrmarket.shoppingCarts",this.shoppingCarts),this.$q.notify({type:"positive",message:"Product added to cart!"})},removeProductFromCart(e){const t=this.shoppingCarts.find(r=>r.id===e.stallId);t&&(t.products=t.products.filter(r=>r.id!==e.productId),t.products.length||(this.shoppingCarts=this.shoppingCarts.filter(r=>r.id!==e.stallId)),this.$q.localStorage.set("nostrmarket.shoppingCarts",this.shoppingCarts))},removeCart(e){this.shoppingCarts=this.shoppingCarts.filter(t=>t.id!==e),this.$q.localStorage.set("nostrmarket.shoppingCarts",this.shoppingCarts)},checkoutStallCart(e){this.checkoutCart=e,this.checkoutStall=this.stalls.find(t=>t.id===e.id),this.setActivePage("shopping-cart-checkout")},handleDmChatSelected(e){this.dmEvents=this.$q.localStorage.getItem(`nostrmarket.dm.${e}`)||{}},async sendDirectMessage(e){var t;if(!((t=this.account)!=null&&t.pubkey)){this.$q.notify({type:"warning",message:"Cannot send message. No user logged in!"});return}try{const r={...await NostrTools.getBlankEvent(),kind:4,created_at:Math.floor(Date.now()/1e3),tags:[["p",e.to]],pubkey:this.account.pubkey};r.content=await NostrTools.nip04.encrypt(this.account.privkey,e.to,e.message),r.id=NostrTools.getEventHash(r),r.sig=await NostrTools.signEvent(r,this.account.privkey),await this._sendDmEvent(r),r.content=e.message,this._persistDMEvent(r,e.to)}catch{this.$q.notify({type:"warning",message:"Failed to send message!"})}},async _sendDmEvent(e){const t=e.tags.filter(a=>a[0]==="p").map(a=>a[1]);let r=this._findRelaysForMerchant(t[0]);r!=null&&r.length||(r=[...defaultRelays]),await this._publishEventToRelays(e,r)},_noDmEvents(){return this.$q.localStorage.getAllKeys().filter(t=>t.startsWith("nostrmarket.dm")).length===0},async placeOrder({event:e,order:t,cartId:r}){var a;if(!((a=this.account)!=null&&a.privkey)){this.openAccountDialog();return}try{this.activeOrderId=t.id,e.content=await NostrTools.nip04.encrypt(this.account.privkey,this.checkoutStall.pubkey,JSON.stringify(t)),e.id=NostrTools.getEventHash(e),e.sig=await NostrTools.signEvent(e,this.account.privkey),await this._sendOrderEvent(e),this._persistOrderUpdate(this.checkoutStall.pubkey,e.created_at,t),this.removeCart(r),this.setActivePage("shopping-cart-list")}catch(l){console.warn(l),this.$q.notify({type:"warning",message:"Failed to place order!"})}},async _sendOrderEvent(e){const t=e.tags.filter(l=>l[0]==="p").map(l=>l[1]),r=this._findRelaysForMerchant(t[0]),a=await this._publishEventToRelays(e,r);this.$q.notify({type:a?"positive":"warning",message:a?`The order has been placed (${a} relays)!`:"Order could not be placed"}),this.qrCodeDialog={data:{payment_request:null,message:null},dismissMsg:null,show:!!a}},_handlePaymentRequest(e){var r;if(e.id&&e.id!==this.activeOrderId)return;if(!((r=e.payment_options)!=null&&r.length)){this.qrCodeDialog.data.message=e.message||"Unexpected error";return}const t=e.payment_options.find(a=>a.type=="ln").link;!t||(this.qrCodeDialog.data.payment_request=t,this.qrCodeDialog.dismissMsg=this.$q.notify({timeout:1e4,message:"Waiting for payment..."}))},_handleOrderStatusUpdate(e){if(e.id&&e.id!==this.activeOrderId)return;this.qrCodeDialog.dismissMsg&&this.qrCodeDialog.dismissMsg(),this.qrCodeDialog.show=!1;const t=e.shipped?"Order shipped":e.paid?"Order paid":"Order notification";this.$q.notify({type:"positive",message:t,caption:e.message||""})},async _handleStructuredDm(e,t){try{const r=JSON.parse(e.content);[0,1,2].indexOf(r.type)!==-1&&this._persistOrderUpdate(t,e.created_at,r),r.type===1?this._handlePaymentRequest(r):r.type===2&&this._handleOrderStatusUpdate(r)}catch(r){console.warn("Unable to handle incomming DM",r)}},_restoreFromStorage(){this.markets=this.$q.localStorage.getItem("nostrmarket.markets")||[],this.allMarketsSelected=!this.markets.find(l=>!l.selected),this.shoppingCarts=this.$q.localStorage.getItem("nostrmarket.shoppingCarts")||[],this.profiles=this.$q.localStorage.getItem("nostrmarket.profiles")||[],this.account=this.$q.localStorage.getItem("nostrmarket.account")||null,this.stalls=this.$q.localStorage.getItem("nostrmarket.stalls")||[],this.products=this.$q.localStorage.getItem("nostrmarket.products")||[];const e=this.$q.localStorage.getItem("nostrmarket.marketplaceConfig")||{ui:{darkMode:!1}};this.config={...this.config,opts:{...this.config.opts,...e}},this._applyUiConfigs(this.config.opts);const t="nostrmarket.orders.";this.$q.localStorage.getAllKeys().filter(l=>l.startsWith(t)).forEach(l=>{const s=l.substring(t.length);this.orders[s]=this.$q.localStorage.getItem(l)});const a=this.$q.localStorage.getItem("nostrmarket.readNotes")||{};this.readNotes={...this.readNotes,...a}},_persistStallsAndProducts(){this.$q.localStorage.set("nostrmarket.stalls",this.stalls),this.$q.localStorage.set("nostrmarket.products",this.products)},_persistRelaysData(){this.$q.localStorage.set("nostrmarket.relays",Object.values(this.relaysData).filter(e=>!!e).map(e=>({lastEventAt:e.lastEventAt,relayUrl:e.relayUrl})))},_persistDMEvent(e,t){var l;const r=this.$q.localStorage.getItem(`nostrmarket.dm.${t}`)||{events:[],lastCreatedAt:0};r.events.find(s=>s.id===e.id)||(r.events.push(e),r.events.sort((s,u)=>s.created_at-u.created_at),r.lastCreatedAt=r.events[r.events.length-1].created_at,r.peerPubkey=t,this.$q.localStorage.set(`nostrmarket.dm.${t}`,r),((l=this.dmEvents)==null?void 0:l.peerPubkey)===t?this.dmEvents=this.$q.localStorage.getItem(`nostrmarket.dm.${t}`)||{}:this.dmEvents={...this.dmEvents})},_persistOrderUpdate(e,t,r){let a=this.$q.localStorage.getItem(`nostrmarket.orders.${e}`)||[];const l=a.findIndex(u=>u.id===r.id);if(l===-1){a.unshift({...r,eventCreatedAt:t,createdAt:t}),this.orders[e]=a,this.orders={...this.orders},this.$q.localStorage.set(`nostrmarket.orders.${e}`,a);return}let s=a[l];r.type===0?(s.createdAt=t,s={...s,...r,message:s.message||r.message}):s=s.eventCreatedAtf.id==r))==null?void 0:d.pubkey);s.searchParams.set("merchant",u),e==="stall"||e==="product"?r&&(this.activeStall=r,this.setActivePage("customer-stall"),s.searchParams.set("stall",r),this.activeProduct=a,a?s.searchParams.set("product",a):s.searchParams.delete("product")):(this.activeMarket=null,this.activeStall=null,this.activeProduct=null,s.searchParams.delete("merchant"),s.searchParams.delete("stall"),s.searchParams.delete("product"),this.setActivePage(e)),window.history.pushState({},"",s)},copyUrl:function(){this.copyText(window.location)},copyText:function(e){var t=this.$q.notify;qS(e).then(function(){t({message:"Copied to clipboard!",position:"bottom"})})},getAmountFormated(e,t="USD"){return formatCurrency(e,t)},setActivePage(e="market"){this.activePage=e},transitToPage(e){this.activePage="loading",setTimeout(()=>this.setActivePage(e),100)},showInvoiceQr(e){!e||(this.qrCodeDialog={data:{payment_request:e},dismissMsg:null,show:!0})},toggleCategoryFilter(e){const t=this.filterData.categories.indexOf(e);t===-1?this.filterData.categories.push(e):this.filterData.categories.splice(t,1)},hasCategory(e=[]){var t;if(!((t=this.filterData.categories)!=null&&t.length))return!0;for(const r of e)if(this.filterData.categories.indexOf(r.toLowerCase())!==-1)return!0;return!1},allStallCatgories(e){const t=this.products.filter(r=>r.stall_id===e).map(r=>r.categories).flat().filter(r=>!!r);return Array.from(new Set(t))},allStallImages(e){const t=this.products.filter(r=>r.stall_id===e).map(r=>r.images&&r.images[0]).filter(r=>!!r);return Array.from(new Set(t))},sanitizeImageSrc(e,t){try{if(e)return new URL(e),e}catch{}return t},markNoteAsRead(e){this.readNotes[e]=!0,this.$q.localStorage.set("nostrmarket.readNotes",this.readNotes)},focusOnElement(e){var t;(t=document.getElementById(e))==null||t.scrollIntoView(),this.showFilterDetails=!0}}}),nA=Object.assign(XP,{setup(e){return window.$q=$w(),(t,r)=>(R(),re(Lt,null,[y(Aw,{class:"q-pa-sm"},{default:b(()=>{var a,l,s,u,d;return[S("div",uP,[S("div",cP,[y(jr,{onClick:r[0]||(r[0]=f=>t.navigateTo("market")),rounded:"",size:"64px",class:"q-ma-none q-pa-none gt-sm cursor-pointer"},{default:b(()=>[t.logoImage?(R(),re("img",{key:0,src:t.logoImage},null,8,dP)):$e("",!0)]),_:1})]),S("div",fP,[hP,y(It,{class:"rounded-pill",style:{width:"100%"},rounded:"",outlined:"",clearable:"",modelValue:t.searchText,"onUpdate:modelValue":r[1]||(r[1]=f=>t.searchText=f),modelModifiers:{trim:!0},label:"Filter products, load market profile..."},Gh({append:b(()=>[t.searchText?$e("",!0):(R(),oe(Wt,{key:0,name:"search"}))]),_:2},[t.showFilterDetails?{name:"label",fn:b(()=>[Te(" Filter or paste a "),y(Cn,{class:"q-px-sm text-subtitle1",color:"secondary"},{default:b(()=>[Te("naddr")]),_:1}),Te(" here ")]),key:"0"}:void 0]),1032,["modelValue"])]),S("div",gP,[S("div",mP,[y(ye,{color:"gray",icon:"travel_explore",flat:"",size:"lg",onClick:r[2]||(r[2]=f=>t.navigateTo("product-filter"))},{default:b(()=>[y(Yr,null,{default:b(()=>[Te("Search for products on Nostr")]),_:1}),t.filterCount?(R(),oe(Cn,{key:0,color:"secondary",floating:""},{default:b(()=>[S("span",{textContent:ge(t.filterCount)},null,8,vP)]),_:1})):$e("",!0)]),_:1}),y(ye,{onClick:r[3]||(r[3]=f=>t.navigateTo("user-config")),color:"gray",icon:t.account?"perm_identity":"person_add",flat:"",size:"lg"},{default:b(()=>[y(Yr,null,{default:b(()=>[Te("User Config")]),_:1})]),_:1},8,["icon"]),y(ye,{onClick:r[4]||(r[4]=f=>t.navigateTo("user-chat")),color:"gray",icon:"chat",flat:"",size:"lg"},{default:b(()=>[y(Yr,null,{default:b(()=>[Te("Chat")]),_:1})]),_:1}),y(ye,{onClick:r[5]||(r[5]=f=>t.navigateTo("customer-orders")),color:"gray",icon:"receipt_long",flat:"",size:"lg"},{default:b(()=>[y(Yr,null,{default:b(()=>[Te("Orders")]),_:1})]),_:1}),y(ye,{color:"gray",icon:"shopping_cart",dense:"",round:"",flat:"",size:"lg",onClick:r[6]||(r[6]=f=>t.navigateTo("shopping-cart-list"))},{default:b(()=>[y(Yr,null,{default:b(()=>[Te("Shopping Cart")]),_:1}),t.allCartsItemCount?(R(),oe(Cn,{key:0,color:"secondary",floating:""},{default:b(()=>[S("span",{textContent:ge(t.allCartsItemCount)},null,8,pP)]),_:1})):$e("",!0)]),_:1})])])]),(a=t.products)!=null&&a.length?(R(),re("div",yP,[y(tc,{items:t.allCategories,"virtual-scroll-horizontal":""},{default:b(({item:f,index:g})=>[(R(),oe(Ha,{key:g,color:f.selected?"grey":"",class:"cursor-pointer q-mb-md"},{default:b(()=>[S("span",{textContent:ge(f.category),onClick:v=>t.toggleCategoryFilter(f.category)},null,8,_P),y(Cn,{onClick:v=>t.toggleCategoryFilter(f.category),rounded:"",class:"q-ml-sm",color:"secondary"},{default:b(()=>[S("span",{textContent:ge(f.count)},null,8,bP)]),_:2},1032,["onClick"])]),_:2},1032,["color"]))]),_:1},8,["items"])])):$e("",!0),t.markets.length?$e("",!0):(R(),oe(Jt,{key:1,class:"q-mb-sm"},{default:b(()=>[y(Ne,{class:"bg-secondary text-white"},{default:b(()=>[wP,SP]),_:1})]),_:1})),t.isLoading?(R(),re("div",kP,[S("div",CP,[y(Au,{color:"primary",size:"xl"})])])):$e("",!0),y(Tw,{class:"row q-pa-none q-mb-lg gt-sm shadow-2"},{default:b(()=>[t.bannerImage?(R(),oe(nc,{key:0,src:t.bannerImage,onClick:r[7]||(r[7]=f=>t.navigateTo("market")),class:"rounded-borders cursor-pointer",style:{width:"100%",height:"250px"},cover:""},{default:b(()=>{var f,g;return[(g=(f=t.config)==null?void 0:f.opts)!=null&&g.about?(R(),re("div",TP,[S("span",{textContent:ge(t.config.opts.about)},null,8,MP)])):$e("",!0)]}),_:1},8,["src"])):$e("",!0)]),_:1}),S("div",DP,[S("div",qP,[y(Pw,{class:"cursor q-mt-sm q-mr-sm"},{default:b(()=>[y(_r,null,{default:b(()=>[y(ye,{onClick:r[8]||(r[8]=f=>t.navigateTo("market")),icon:"home",flat:"",class:"q-pa-none"},{default:b(()=>[S("span",{textContent:ge(t.marketsName),class:"q-ml-sm"},null,8,xP)]),_:1}),y(rg,{flat:"",class:"q-pl-xs"},{default:b(()=>[y(kr,null,{default:b(()=>[Hn((R(),oe(zt,null,{default:b(()=>[y(Ie,{side:"",top:""},{default:b(()=>[y(ro,{modelValue:t.allMarketsSelected,"onUpdate:modelValue":r[9]||(r[9]=f=>t.allMarketsSelected=f),onClick:t.toggleAllMarkets},null,8,["modelValue","onClick"])]),_:1}),y(Ie,null,{default:b(()=>[y(Ge,null,{default:b(()=>[PP]),_:1}),y(Ge,{caption:""},{default:b(()=>[Te("Aggregate all markets into one view")]),_:1})]),_:1}),y(Ie,{side:"",top:""},{default:b(()=>[Hn((R(),oe(ye,{onClick:r[10]||(r[10]=f=>t.createMarket(!0)),color:"green",outline:""},{default:b(()=>[Te("New")]),_:1})),[[Hi]])]),_:1})]),_:1})),[[Qu]]),y(ut),(R(!0),re(Lt,null,Yt(t.markets,(f,g)=>(R(),oe(zt,{key:g},{default:b(()=>[y(Ie,{side:"",top:""},{default:b(()=>[y(ro,{modelValue:f.selected,"onUpdate:modelValue":v=>f.selected=v,onClick:r[11]||(r[11]=v=>t.toggleMarket())},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),y(Ie,null,{default:b(()=>[y(Ge,null,{default:b(()=>{var v;return[S("span",{textContent:ge(((v=f.opts)==null?void 0:v.name)||"Market")},null,8,AP)]}),_:2},1024),y(Ge,{caption:""},{default:b(()=>{var v;return[S("span",{textContent:ge((v=f.opts)==null?void 0:v.about),class:"ellipsis-2-lines text-wrap"},null,8,EP)]}),_:2},1024)]),_:2},1024),y(Ie,{side:"",top:""},{default:b(()=>[Hn(y(ye,{color:"secondary",flat:"",icon:"settings",onClick:v=>t.showMarketConfig(g)},null,8,["onClick"]),[[Hi]])]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})]),_:1}),t.activePage==="customer-stall"?(R(),oe(_r,{key:0,label:t.stallName,onClick:r[12]||(r[12]=f=>t.navigateTo("stall",{stall:t.activeStall})),icon:"storefront",class:"cursor-pointer"},null,8,["label"])):$e("",!0),t.activePage==="customer-stall"&&t.activeProduct?(R(),oe(_r,{key:1,label:t.productName,class:"cursor-pointer",icon:"widgets"},null,8,["label"])):$e("",!0),t.activePage==="shopping-cart-list"?(R(),oe(_r,{key:2,label:"Shoping Cart",icon:"shopping_cart"})):$e("",!0),t.activePage==="customer-orders"?(R(),oe(_r,{key:3,label:"Orders",icon:"receipt_long"})):$e("",!0),t.activePage==="market-config"?(R(),oe(_r,{key:4,label:"Settings",icon:"settings"})):$e("",!0),t.activePage==="product-filter"?(R(),oe(_r,{key:5,label:"Filter",icon:"travel_explore"})):$e("",!0),t.activePage==="user-config"?(R(),oe(_r,{key:6,label:"User Config",icon:"perm_identity"})):$e("",!0),t.activePage==="user-chat"?(R(),oe(_r,{key:7,label:"User Chat",icon:"chat"})):$e("",!0)]),_:1})]),S("div",IP,[t.activePage==="customer-stall"?(R(),oe(ye,{key:0,flat:"",color:"grey",icon:"content_copy",onClick:r[13]||(r[13]=f=>t.copyUrl()),class:"float-right"})):t.activePage==="market"&&((l=t.stalls)==null?void 0:l.length)?(R(),oe(ro,{key:1,modelValue:t.groupByStall,"onUpdate:modelValue":r[14]||(r[14]=f=>t.groupByStall=f),class:"q-pl-md q-mt-sm float-right",size:"xs",val:"xs",label:"Group by stalls"},null,8,["modelValue"])):$e("",!0)])]),y(ut,{class:"q-mt-sm q-mb-md"}),t.activePage==="loading"?(R(),re("div",$P,[S("div",RP,[y(Au,{color:"primary",size:"xl"})])])):$e("",!0),t.activePage==="product-filter"?(R(),oe(sP,{key:4,filter:t.filterData,categories:t.allCategories,currencies:t.allCurrencies,merchants:t.allMerchants,stalls:t.stalls,profiles:t.profiles,onFilterUpdate:t.handleFilterData,class:"q-mb-md"},null,8,["filter","categories","currencies","merchants","stalls","profiles","onFilterUpdate"])):t.activeMarket&&t.activePage==="market-config"?(R(),oe(Pg,{key:5,market:t.activeMarket,profiles:t.profiles,"relays-data":t.activeMarketRelaysData,"read-notes":t.readNotes,onApplyUi:t.updateUiConfig,onMarketUpdate:t.updateMarket,onDeleteMarket:t.deleteMarket,onPublishNaddr:t.publishNaddr,onNoteRead:t.markNoteAsRead},null,8,["market","profiles","relays-data","read-notes","onApplyUi","onMarketUpdate","onDeleteMarket","onPublishNaddr","onNoteRead"])):t.activePage==="user-config"?(R(),oe(Nk,{key:6,account:t.account,onLogin:r[15]||(r[15]=f=>t.accountDialog.show=!0),onLogout:t.logout,onClearAllData:t.clearAllData,onCopyText:t.copyText},null,8,["account","onLogout","onClearAllData","onCopyText"])):t.activePage==="user-chat"?(R(),oe(oD,{key:7,"account-pubkey":(s=t.account)==null?void 0:s.pubkey,"peer-pubkeys":t.dmPeers,profiles:t.profiles,events:t.dmEvents,onChatSelected:t.handleDmChatSelected,onSendDm:t.sendDirectMessage},null,8,["account-pubkey","peer-pubkeys","profiles","events","onChatSelected","onSendDm"])):t.activePage==="shopping-cart-list"?(R(),oe(mD,{key:8,carts:t.shoppingCarts,profiles:t.profiles,onAddToCart:t.addProductToCart,onRemoveFromCart:t.removeProductFromCart,onRemoveCart:t.removeCart,onCheckoutCart:t.checkoutStallCart},null,8,["carts","profiles","onAddToCart","onRemoveFromCart","onRemoveCart","onCheckoutCart"])):t.activePage==="shopping-cart-checkout"?(R(),oe(jD,{key:9,cart:t.checkoutCart,stall:t.checkoutStall,"customer-pubkey":(u=t.account)==null?void 0:u.pubkey,profiles:t.profiles,onLoginRequired:t.openAccountDialog,onPlaceOrder:t.placeOrder,onChangePage:t.navigateTo},null,8,["cart","stall","customer-pubkey","profiles","onLoginRequired","onPlaceOrder","onChangePage"])):t.activePage==="customer-orders"?(R(),oe(Qq,{key:10,orders:t.orders,products:t.products,stalls:t.stalls,profiles:t.profiles,onShowInvoice:t.showInvoiceQr},null,8,["orders","products","stalls","profiles","onShowInvoice"])):t.activePage==="customer-stall"?(R(),oe(xx,{key:11,stall:t.stalls.find(f=>f.id==t.activeStall),products:t.filteredProducts,"product-detail":t.activeProduct,onChangePage:t.navigateTo,onAddToCart:t.addProductToCart},null,8,["stall","products","product-detail","onChangePage","onAddToCart"])):(d=t.markets)!=null&&d.length?(R(),re("div",zP,[t.groupByStall?(R(),oe(Yx,{key:0,stalls:t.filterStalls,onChangePage:t.navigateTo},null,8,["stalls","onChangePage"])):(R(),oe(_q,{key:1,"filtered-products":t.filteredProducts,"search-text":t.searchText,"filter-categories":t.filterData.categories,onChangePage:t.navigateTo,onAddToCart:t.addProductToCart},null,8,["filtered-products","search-text","filter-categories","onChangePage","onAddToCart"]))])):(R(),re("div",OP,[y(kr,{class:"q-mt-md",bordered:""},{default:b(()=>[y(zt,null,{default:b(()=>[y(Ie,{class:"q-mt-sm q-ml-lg"},{default:b(()=>[y(Ge,null,{default:b(()=>[LP]),_:1}),y(ut,{class:"q-mb-xl q-mt-md"}),y(Ge,null,{default:b(()=>[NP]),_:1})]),_:1})]),_:1}),y(zt,null,{default:b(()=>[y(Ie,{class:"q-mt-sm q-ml-lg"},{default:b(()=>[y(Ge,null,{default:b(()=>[S("ul",null,[S("li",null,[S("span",BP,[y(ye,{onClick:r[16]||(r[16]=f=>t.addMarket(t.defaultMarketNaddr)),size:"xl",flat:"",color:"secondary",class:"q-mb-xs"},{default:b(()=>[Te("Import")]),_:1}),Te(" a list of popular merchants, or ")])]),S("li",null,[S("span",FP,[y(ye,{onClick:r[17]||(r[17]=f=>t.createMarket(!0)),flat:"",size:"xl",color:"secondary",class:"q-mb-xs"},{default:b(()=>[Te("Add a merchant")]),_:1}),Te(" using its public key, or ")])]),S("li",null,[S("span",UP,[y(ye,{onClick:r[18]||(r[18]=f=>t.focusOnElement("search-text")),flat:"",size:"xl",color:"secondary",class:"q-mb-xs"},{default:b(()=>[Te("Add a market profile")]),_:1}),Te(" using a shareable "),VP,Te(" identifier ")]),y(It,{class:"rounded-pill",style:{width:"100%"},rounded:"",outlined:"",clearable:"",modelValue:t.searchText,"onUpdate:modelValue":r[19]||(r[19]=f=>t.searchText=f),modelModifiers:{trim:!0},label:"Load market profile (naddr)..."},null,8,["modelValue"])])])]),_:1})]),_:1}),y(Ie,{side:""})]),_:1})]),_:1})]))]}),_:1}),y(co,{modelValue:t.accountDialog.show,"onUpdate:modelValue":r[22]||(r[22]=a=>t.accountDialog.show=a),position:"top"},{default:b(()=>[y(Jt,null,{default:b(()=>[y(Ne,{class:"row"},{default:b(()=>[WP,y(Iw)]),_:1}),y(Ne,null,{default:b(()=>[YP]),_:1}),y(Ne,{class:"q-pt-none"},{default:b(()=>[y(It,{dense:"",label:"Nsec/Hex",modelValue:t.accountDialog.data.key,"onUpdate:modelValue":r[20]||(r[20]=a=>t.accountDialog.data.key=a),autofocus:"",onKeyup:qu(t.createAccount,["enter"]),error:t.accountDialog.data.key&&!t.isValidAccountKey,hint:"Enter you private key"},null,8,["modelValue","onKeyup","error"])]),_:1}),y(yi,{align:"right",class:"text-primary"},{default:b(()=>[t.isValidAccountKey?(R(),oe(ye,{key:0,label:"Login",color:"primary",onClick:r[21]||(r[21]=()=>t.createAccount())})):(R(),oe(ye,{key:1,flat:"",label:"Generate",onClick:t.generateKeyPair},null,8,["onClick"])),Hn((R(),oe(ye,{flat:"",color:"grey",class:"q-ml-auto"},{default:b(()=>[Te("Close")]),_:1})),[[Hi]])]),_:1})]),_:1})]),_:1},8,["modelValue"]),y(co,{modelValue:t.qrCodeDialog.show,"onUpdate:modelValue":r[24]||(r[24]=a=>t.qrCodeDialog.show=a),position:"top"},{default:b(()=>[y(Jt,{class:"q-pa-md q-pt-xl"},{default:b(()=>{var a;return[S("div",HP,[t.qrCodeDialog.data.message?(R(),re("div",GP,[S("strong",null,[S("span",{textContent:ge(t.qrCodeDialog.data.message)},null,8,KP)])])):(R(),re("a",{key:1,href:"lightning:"+((a=t.qrCodeDialog.data)==null?void 0:a.payment_request)},[t.qrCodeDialog.data.payment_request?(R(),re("div",jP,[y(lw(MS),{value:t.qrCodeDialog.data.payment_request,options:{width:340},class:"rounded-borders"},null,8,["value"])])):(R(),re("div",ZP,[y(Ih,{color:"primary",size:"2.55em"})]))],8,QP))]),S("div",JP,[t.qrCodeDialog.data.payment_request?(R(),oe(ye,{key:0,outline:"",color:"grey",onClick:r[23]||(r[23]=l=>t.copyText(t.qrCodeDialog.data.payment_request))},{default:b(()=>[Te("Copy invoice")]),_:1})):$e("",!0),Hn((R(),oe(ye,{flat:"",color:"grey",class:"q-ml-auto"},{default:b(()=>[Te("Close")]),_:1})),[[Hi]])])]}),_:1})]),_:1},8,["modelValue"])],64))}});export{nA as default}; +` + : `; +`) + + Y + + `return __p +}`); + var Le = Qf(function () { + return nt(p, ve + "return " + Y).apply(r, w); + }); + if (((Le.source = Y), Js(Le))) throw Le; + return Le; + } + function $_(n) { + return at(n).toLowerCase(); + } + function R_(n) { + return at(n).toUpperCase(); + } + function O_(n, i, o) { + if (((n = at(n)), n && (o || i === r))) return rd(n); + if (!n || !(i = yn(i))) return n; + var c = Un(n), + h = Un(i), + p = id(c, h), + w = ad(c, h) + 1; + return zr(c, p, w).join(""); + } + function L_(n, i, o) { + if (((n = at(n)), n && (o || i === r))) return n.slice(0, od(n) + 1); + if (!n || !(i = yn(i))) return n; + var c = Un(n), + h = ad(c, Un(i)) + 1; + return zr(c, 0, h).join(""); + } + function N_(n, i, o) { + if (((n = at(n)), n && (o || i === r))) return n.replace(ua, ""); + if (!n || !(i = yn(i))) return n; + var c = Un(n), + h = id(c, Un(i)); + return zr(c, h).join(""); + } + function B_(n, i) { + var o = _e, + c = Pe; + if (Ct(i)) { + var h = "separator" in i ? i.separator : h; + (o = "length" in i ? Re(i.length) : o), + (c = "omission" in i ? yn(i.omission) : c); + } + n = at(n); + var p = n.length; + if (xi(n)) { + var w = Un(n); + p = w.length; + } + if (o >= p) return n; + var k = o - Pi(c); + if (k < 1) return c; + var x = w ? zr(w, 0, k).join("") : n.slice(0, k); + if (h === r) return x + c; + if ((w && (k += x.length - k), Xs(h))) { + if (n.slice(k).search(h)) { + var U, + V = x; + for ( + h.global || (h = ms(h.source, at(Ti.exec(h)) + "g")), + h.lastIndex = 0; + (U = h.exec(V)); + + ) + var Y = U.index; + x = x.slice(0, Y === r ? k : Y); + } + } else if (n.indexOf(yn(h), k) != k) { + var ne = x.lastIndexOf(h); + ne > -1 && (x = x.slice(0, ne)); + } + return x + c; + } + function F_(n) { + return (n = at(n)), n && il.test(n) ? n.replace(nl, mv) : n; + } + var U_ = Li(function (n, i, o) { + return n + (o ? " " : "") + i.toUpperCase(); + }), + nu = Qd("toUpperCase"); + function Kf(n, i, o) { + return ( + (n = at(n)), + (i = o ? r : i), + i === r ? (cv(n) ? yv(n) : tv(n)) : n.match(i) || [] + ); + } + var Qf = Ue(function (n, i) { + try { + return vn(n, r, i); + } catch (o) { + return Js(o) ? o : new Ae(o); + } + }), + V_ = gr(function (n, i) { + return ( + xn(i, function (o) { + (o = tr(o)), fr(n, o, js(n[o], n)); + }), + n + ); + }); + function z_(n) { + var i = n == null ? 0 : n.length, + o = Se(); + return ( + (n = i + ? _t(n, function (c) { + if (typeof c[1] != "function") throw new Pn(u); + return [o(c[0]), c[1]]; + }) + : []), + Ue(function (c) { + for (var h = -1; ++h < i; ) { + var p = n[h]; + if (vn(p[0], this, c)) return vn(p[1], this, c); + } + }) + ); + } + function W_(n) { + return mp(En(n, T)); + } + function ru(n) { + return function () { + return n; + }; + } + function Y_(n, i) { + return n == null || n !== n ? i : n; + } + var H_ = Zd(), + G_ = Zd(!0); + function gn(n) { + return n; + } + function iu(n) { + return Dd(typeof n == "function" ? n : En(n, T)); + } + function K_(n) { + return xd(En(n, T)); + } + function Q_(n, i) { + return Pd(n, En(i, T)); + } + var j_ = Ue(function (n, i) { + return function (o) { + return ya(o, n, i); + }; + }), + Z_ = Ue(function (n, i) { + return function (o) { + return ya(n, o, i); + }; + }); + function au(n, i, o) { + var c = Bt(i), + h = Pl(i, c); + o == null && + !(Ct(i) && (h.length || !c.length)) && + ((o = i), (i = n), (n = this), (h = Pl(i, Bt(i)))); + var p = !(Ct(o) && "chain" in o) || !!o.chain, + w = vr(n); + return ( + xn(h, function (k) { + var x = i[k]; + (n[k] = x), + w && + (n.prototype[k] = function () { + var U = this.__chain__; + if (p || U) { + var V = n(this.__wrapped__), + Y = (V.__actions__ = dn(this.__actions__)); + return ( + Y.push({ func: x, args: arguments, thisArg: n }), + (V.__chain__ = U), + V + ); + } + return x.apply(n, Lr([this.value()], arguments)); + }); + }), + n + ); + } + function J_() { + return Ut._ === this && (Ut._ = Cv), this; + } + function lu() {} + function X_(n) { + return ( + (n = Re(n)), + Ue(function (i) { + return Ad(i, n); + }) + ); + } + var eb = Ls(_t), + tb = Ls(Jc), + nb = Ls(ss); + function jf(n) { + return Ws(n) ? us(tr(n)) : Ep(n); + } + function rb(n) { + return function (i) { + return n == null ? r : oi(n, i); + }; + } + var ib = Xd(), + ab = Xd(!0); + function ou() { + return []; + } + function su() { + return !1; + } + function lb() { + return {}; + } + function ob() { + return ""; + } + function sb() { + return !0; + } + function ub(n, i) { + if (((n = Re(n)), n < 1 || n > me)) return []; + var o = Z, + c = jt(n, Z); + (i = Se(i)), (n -= Z); + for (var h = fs(c, i); ++o < n; ) i(o); + return h; + } + function cb(n) { + return Ee(n) ? _t(n, tr) : _n(n) ? [n] : dn(vf(at(n))); + } + function db(n) { + var i = ++Sv; + return at(n) + i; + } + var fb = Ol(function (n, i) { + return n + i; + }, 0), + hb = Ns("ceil"), + gb = Ol(function (n, i) { + return n / i; + }, 1), + mb = Ns("floor"); + function vb(n) { + return n && n.length ? xl(n, gn, ks) : r; + } + function pb(n, i) { + return n && n.length ? xl(n, Se(i, 2), ks) : r; + } + function yb(n) { + return td(n, gn); + } + function _b(n, i) { + return td(n, Se(i, 2)); + } + function bb(n) { + return n && n.length ? xl(n, gn, Ds) : r; + } + function wb(n, i) { + return n && n.length ? xl(n, Se(i, 2), Ds) : r; + } + var Sb = Ol(function (n, i) { + return n * i; + }, 1), + kb = Ns("round"), + Cb = Ol(function (n, i) { + return n - i; + }, 0); + function Tb(n) { + return n && n.length ? ds(n, gn) : 0; + } + function Mb(n, i) { + return n && n.length ? ds(n, Se(i, 2)) : 0; + } + return ( + (m.after = Ky), + (m.ary = Df), + (m.assign = R1), + (m.assignIn = Uf), + (m.assignInWith = Ql), + (m.assignWith = O1), + (m.at = L1), + (m.before = qf), + (m.bind = js), + (m.bindAll = V_), + (m.bindKey = xf), + (m.castArray = l1), + (m.chain = Cf), + (m.chunk = m0), + (m.compact = v0), + (m.concat = p0), + (m.cond = z_), + (m.conforms = W_), + (m.constant = ru), + (m.countBy = Ty), + (m.create = N1), + (m.curry = Pf), + (m.curryRight = Af), + (m.debounce = Ef), + (m.defaults = B1), + (m.defaultsDeep = F1), + (m.defer = Qy), + (m.delay = jy), + (m.difference = y0), + (m.differenceBy = _0), + (m.differenceWith = b0), + (m.drop = w0), + (m.dropRight = S0), + (m.dropRightWhile = k0), + (m.dropWhile = C0), + (m.fill = T0), + (m.filter = Dy), + (m.flatMap = Py), + (m.flatMapDeep = Ay), + (m.flatMapDepth = Ey), + (m.flatten = bf), + (m.flattenDeep = M0), + (m.flattenDepth = D0), + (m.flip = Zy), + (m.flow = H_), + (m.flowRight = G_), + (m.fromPairs = q0), + (m.functions = G1), + (m.functionsIn = K1), + (m.groupBy = Iy), + (m.initial = P0), + (m.intersection = A0), + (m.intersectionBy = E0), + (m.intersectionWith = I0), + (m.invert = j1), + (m.invertBy = Z1), + (m.invokeMap = Ry), + (m.iteratee = iu), + (m.keyBy = Oy), + (m.keys = Bt), + (m.keysIn = hn), + (m.map = zl), + (m.mapKeys = X1), + (m.mapValues = e_), + (m.matches = K_), + (m.matchesProperty = Q_), + (m.memoize = Yl), + (m.merge = t_), + (m.mergeWith = Vf), + (m.method = j_), + (m.methodOf = Z_), + (m.mixin = au), + (m.negate = Hl), + (m.nthArg = X_), + (m.omit = n_), + (m.omitBy = r_), + (m.once = Jy), + (m.orderBy = Ly), + (m.over = eb), + (m.overArgs = Xy), + (m.overEvery = tb), + (m.overSome = nb), + (m.partial = Zs), + (m.partialRight = If), + (m.partition = Ny), + (m.pick = i_), + (m.pickBy = zf), + (m.property = jf), + (m.propertyOf = rb), + (m.pull = L0), + (m.pullAll = Sf), + (m.pullAllBy = N0), + (m.pullAllWith = B0), + (m.pullAt = F0), + (m.range = ib), + (m.rangeRight = ab), + (m.rearg = e1), + (m.reject = Uy), + (m.remove = U0), + (m.rest = t1), + (m.reverse = Ks), + (m.sampleSize = zy), + (m.set = l_), + (m.setWith = o_), + (m.shuffle = Wy), + (m.slice = V0), + (m.sortBy = Gy), + (m.sortedUniq = Q0), + (m.sortedUniqBy = j0), + (m.split = P_), + (m.spread = n1), + (m.tail = Z0), + (m.take = J0), + (m.takeRight = X0), + (m.takeRightWhile = ey), + (m.takeWhile = ty), + (m.tap = vy), + (m.throttle = r1), + (m.thru = Vl), + (m.toArray = Nf), + (m.toPairs = Wf), + (m.toPairsIn = Yf), + (m.toPath = cb), + (m.toPlainObject = Ff), + (m.transform = s_), + (m.unary = i1), + (m.union = ny), + (m.unionBy = ry), + (m.unionWith = iy), + (m.uniq = ay), + (m.uniqBy = ly), + (m.uniqWith = oy), + (m.unset = u_), + (m.unzip = Qs), + (m.unzipWith = kf), + (m.update = c_), + (m.updateWith = d_), + (m.values = Fi), + (m.valuesIn = f_), + (m.without = sy), + (m.words = Kf), + (m.wrap = a1), + (m.xor = uy), + (m.xorBy = cy), + (m.xorWith = dy), + (m.zip = fy), + (m.zipObject = hy), + (m.zipObjectDeep = gy), + (m.zipWith = my), + (m.entries = Wf), + (m.entriesIn = Yf), + (m.extend = Uf), + (m.extendWith = Ql), + au(m, m), + (m.add = fb), + (m.attempt = Qf), + (m.camelCase = v_), + (m.capitalize = Hf), + (m.ceil = hb), + (m.clamp = h_), + (m.clone = o1), + (m.cloneDeep = u1), + (m.cloneDeepWith = c1), + (m.cloneWith = s1), + (m.conformsTo = d1), + (m.deburr = Gf), + (m.defaultTo = Y_), + (m.divide = gb), + (m.endsWith = p_), + (m.eq = zn), + (m.escape = y_), + (m.escapeRegExp = __), + (m.every = My), + (m.find = qy), + (m.findIndex = yf), + (m.findKey = U1), + (m.findLast = xy), + (m.findLastIndex = _f), + (m.findLastKey = V1), + (m.floor = mb), + (m.forEach = Tf), + (m.forEachRight = Mf), + (m.forIn = z1), + (m.forInRight = W1), + (m.forOwn = Y1), + (m.forOwnRight = H1), + (m.get = eu), + (m.gt = f1), + (m.gte = h1), + (m.has = Q1), + (m.hasIn = tu), + (m.head = wf), + (m.identity = gn), + (m.includes = $y), + (m.indexOf = x0), + (m.inRange = g_), + (m.invoke = J1), + (m.isArguments = ci), + (m.isArray = Ee), + (m.isArrayBuffer = g1), + (m.isArrayLike = fn), + (m.isArrayLikeObject = Pt), + (m.isBoolean = m1), + (m.isBuffer = Wr), + (m.isDate = v1), + (m.isElement = p1), + (m.isEmpty = y1), + (m.isEqual = _1), + (m.isEqualWith = b1), + (m.isError = Js), + (m.isFinite = w1), + (m.isFunction = vr), + (m.isInteger = $f), + (m.isLength = Gl), + (m.isMap = Rf), + (m.isMatch = S1), + (m.isMatchWith = k1), + (m.isNaN = C1), + (m.isNative = T1), + (m.isNil = D1), + (m.isNull = M1), + (m.isNumber = Of), + (m.isObject = Ct), + (m.isObjectLike = Tt), + (m.isPlainObject = Ca), + (m.isRegExp = Xs), + (m.isSafeInteger = q1), + (m.isSet = Lf), + (m.isString = Kl), + (m.isSymbol = _n), + (m.isTypedArray = Bi), + (m.isUndefined = x1), + (m.isWeakMap = P1), + (m.isWeakSet = A1), + (m.join = $0), + (m.kebabCase = b_), + (m.last = $n), + (m.lastIndexOf = R0), + (m.lowerCase = w_), + (m.lowerFirst = S_), + (m.lt = E1), + (m.lte = I1), + (m.max = vb), + (m.maxBy = pb), + (m.mean = yb), + (m.meanBy = _b), + (m.min = bb), + (m.minBy = wb), + (m.stubArray = ou), + (m.stubFalse = su), + (m.stubObject = lb), + (m.stubString = ob), + (m.stubTrue = sb), + (m.multiply = Sb), + (m.nth = O0), + (m.noConflict = J_), + (m.noop = lu), + (m.now = Wl), + (m.pad = k_), + (m.padEnd = C_), + (m.padStart = T_), + (m.parseInt = M_), + (m.random = m_), + (m.reduce = By), + (m.reduceRight = Fy), + (m.repeat = D_), + (m.replace = q_), + (m.result = a_), + (m.round = kb), + (m.runInContext = q), + (m.sample = Vy), + (m.size = Yy), + (m.snakeCase = x_), + (m.some = Hy), + (m.sortedIndex = z0), + (m.sortedIndexBy = W0), + (m.sortedIndexOf = Y0), + (m.sortedLastIndex = H0), + (m.sortedLastIndexBy = G0), + (m.sortedLastIndexOf = K0), + (m.startCase = A_), + (m.startsWith = E_), + (m.subtract = Cb), + (m.sum = Tb), + (m.sumBy = Mb), + (m.template = I_), + (m.times = ub), + (m.toFinite = pr), + (m.toInteger = Re), + (m.toLength = Bf), + (m.toLower = $_), + (m.toNumber = Rn), + (m.toSafeInteger = $1), + (m.toString = at), + (m.toUpper = R_), + (m.trim = O_), + (m.trimEnd = L_), + (m.trimStart = N_), + (m.truncate = B_), + (m.unescape = F_), + (m.uniqueId = db), + (m.upperCase = U_), + (m.upperFirst = nu), + (m.each = Tf), + (m.eachRight = Mf), + (m.first = wf), + au( + m, + (function () { + var n = {}; + return ( + Xn(m, function (i, o) { + ot.call(m.prototype, o) || (n[o] = i); + }), + n + ); + })(), + { chain: !1 } + ), + (m.VERSION = a), + xn( + [ + "bind", + "bindKey", + "curry", + "curryRight", + "partial", + "partialRight", + ], + function (n) { + m[n].placeholder = m; + } + ), + xn(["drop", "take"], function (n, i) { + (He.prototype[n] = function (o) { + o = o === r ? 1 : Rt(Re(o), 0); + var c = this.__filtered__ && !i ? new He(this) : this.clone(); + return ( + c.__filtered__ + ? (c.__takeCount__ = jt(o, c.__takeCount__)) + : c.__views__.push({ + size: jt(o, Z), + type: n + (c.__dir__ < 0 ? "Right" : ""), + }), + c + ); + }), + (He.prototype[n + "Right"] = function (o) { + return this.reverse()[n](o).reverse(); + }); + }), + xn(["filter", "map", "takeWhile"], function (n, i) { + var o = i + 1, + c = o == xe || o == j; + He.prototype[n] = function (h) { + var p = this.clone(); + return ( + p.__iteratees__.push({ iteratee: Se(h, 3), type: o }), + (p.__filtered__ = p.__filtered__ || c), + p + ); + }; + }), + xn(["head", "last"], function (n, i) { + var o = "take" + (i ? "Right" : ""); + He.prototype[n] = function () { + return this[o](1).value()[0]; + }; + }), + xn(["initial", "tail"], function (n, i) { + var o = "drop" + (i ? "" : "Right"); + He.prototype[n] = function () { + return this.__filtered__ ? new He(this) : this[o](1); + }; + }), + (He.prototype.compact = function () { + return this.filter(gn); + }), + (He.prototype.find = function (n) { + return this.filter(n).head(); + }), + (He.prototype.findLast = function (n) { + return this.reverse().find(n); + }), + (He.prototype.invokeMap = Ue(function (n, i) { + return typeof n == "function" + ? new He(this) + : this.map(function (o) { + return ya(o, n, i); + }); + })), + (He.prototype.reject = function (n) { + return this.filter(Hl(Se(n))); + }), + (He.prototype.slice = function (n, i) { + n = Re(n); + var o = this; + return o.__filtered__ && (n > 0 || i < 0) + ? new He(o) + : (n < 0 ? (o = o.takeRight(-n)) : n && (o = o.drop(n)), + i !== r && + ((i = Re(i)), (o = i < 0 ? o.dropRight(-i) : o.take(i - n))), + o); + }), + (He.prototype.takeRightWhile = function (n) { + return this.reverse().takeWhile(n).reverse(); + }), + (He.prototype.toArray = function () { + return this.take(Z); + }), + Xn(He.prototype, function (n, i) { + var o = /^(?:filter|find|map|reject)|While$/.test(i), + c = /^(?:head|last)$/.test(i), + h = m[c ? "take" + (i == "last" ? "Right" : "") : i], + p = c || /^find/.test(i); + !h || + (m.prototype[i] = function () { + var w = this.__wrapped__, + k = c ? [1] : arguments, + x = w instanceof He, + U = k[0], + V = x || Ee(w), + Y = function (Ye) { + var Qe = h.apply(m, Lr([Ye], k)); + return c && ne ? Qe[0] : Qe; + }; + V && + o && + typeof U == "function" && + U.length != 1 && + (x = V = !1); + var ne = this.__chain__, + ve = !!this.__actions__.length, + ke = p && !ne, + Le = x && !ve; + if (!p && V) { + w = Le ? w : new He(this); + var Ce = n.apply(w, k); + return ( + Ce.__actions__.push({ func: Vl, args: [Y], thisArg: r }), + new An(Ce, ne) + ); + } + return ke && Le + ? n.apply(this, k) + : ((Ce = this.thru(Y)), + ke ? (c ? Ce.value()[0] : Ce.value()) : Ce); + }); + }), + xn( + ["pop", "push", "shift", "sort", "splice", "unshift"], + function (n) { + var i = gl[n], + o = /^(?:push|sort|unshift)$/.test(n) ? "tap" : "thru", + c = /^(?:pop|shift)$/.test(n); + m.prototype[n] = function () { + var h = arguments; + if (c && !this.__chain__) { + var p = this.value(); + return i.apply(Ee(p) ? p : [], h); + } + return this[o](function (w) { + return i.apply(Ee(w) ? w : [], h); + }); + }; + } + ), + Xn(He.prototype, function (n, i) { + var o = m[i]; + if (o) { + var c = o.name + ""; + ot.call($i, c) || ($i[c] = []), $i[c].push({ name: i, func: o }); + } + }), + ($i[Rl(r, F).name] = [{ name: "wrapper", func: r }]), + (He.prototype.clone = Fv), + (He.prototype.reverse = Uv), + (He.prototype.value = Vv), + (m.prototype.at = py), + (m.prototype.chain = yy), + (m.prototype.commit = _y), + (m.prototype.next = by), + (m.prototype.plant = Sy), + (m.prototype.reverse = ky), + (m.prototype.toJSON = m.prototype.valueOf = m.prototype.value = Cy), + (m.prototype.first = m.prototype.head), + da && (m.prototype[da] = wy), + m + ); + }, + Ai = _v(); + ni ? (((ni.exports = Ai)._ = Ai), (is._ = Ai)) : (Ut._ = Ai); + }).call(Ma); +})(zu, zu.exports); +var JD = zu.exports; +const XD = sn({ + name: "ProductCard", + props: ["product", "is-stall"], + data: function () { + return {}; + }, + methods: {}, + created() {}, + }), + eq = { class: "row no-wrap items-center" }, + tq = { class: "col text-subtitle2 ellipsis-2-lines" }, + nq = { key: 0 }, + rq = { class: "text-h6" }, + iq = { key: 1 }, + aq = { class: "text-h6" }, + lq = { + class: "q-ml-md text-caption text-green-8 text-weight-bolder q-mt-md", + }, + oq = { key: 0, class: "text-subtitle1" }, + sq = ["textContent"], + uq = { key: 1, class: "text-subtitle1" }, + cq = { + class: "text-caption text-grey ellipsis-2-lines", + style: { "min-height": "40px" }, + }, + dq = { key: 0 }, + fq = { class: "text-caption text-weight-bolder" }, + hq = { class: "q-ml-auto" }; +function gq(e, t, r, a, l, s) { + return ( + R(), + oe( + Jt, + { class: "card--product" }, + { + default: b(() => [ + y( + nc, + { + src: + e.product.images && + e.product.images.length > 0 && + e.product.images[0] + ? e.product.images[0] + : e.$q.config.staticPath + "/images/placeholder.png", + alt: "Product Image", + loading: "lazy", + "spinner-color": "white", + fit: "contain", + height: "300px", + }, + null, + 8, + ["src"] + ), + y( + Ne, + { class: "q-pb-xs q-pt-md" }, + { + default: b(() => [ + y( + ye, + { + round: "", + disabled: e.product.quantity < 1, + color: "primary", + rounded: "", + icon: "shopping_cart", + size: "lg", + style: { + position: "absolute", + top: "0", + right: "0", + transform: "translate(-50%, -50%)", + }, + onClick: + t[0] || (t[0] = (u) => e.$emit("add-to-cart", e.product)), + }, + { + default: b(() => [ + y(Yr, null, { + default: b(() => [Te(" Add to cart ")]), + _: 1, + }), + ]), + _: 1, + }, + 8, + ["disabled"] + ), + S("div", eq, [S("div", tq, ge(e.product.name), 1)]), + ]), + _: 1, + } + ), + y( + Ne, + { class: "q-py-sm" }, + { + default: b(() => [ + S("div", null, [ + e.product.currency == "sat" + ? (R(), + re("span", nq, [ + S("span", rq, ge(e.product.price) + " sats", 1), + y(Yr, null, { + default: b(() => [ + Te( + " BTC " + ge((e.product.price / 1e8).toFixed(8)), + 1 + ), + ]), + _: 1, + }), + ])) + : (R(), + re("span", iq, [ + S("span", aq, ge(e.product.formatedPrice), 1), + ])), + S("span", lq, ge(e.product.quantity) + " left", 1), + ]), + e.product.categories + ? (R(), + re("div", oq, [ + y( + tc, + { + items: e.product.categories || [], + "virtual-scroll-horizontal": "", + }, + { + default: b(({ item: u, index: d }) => [ + (R(), + oe( + Ha, + { key: d, dense: "" }, + { + default: b(() => [ + S( + "span", + { textContent: ge(u) }, + null, + 8, + sq + ), + ]), + _: 2, + }, + 1024 + )), + ]), + _: 1, + }, + 8, + ["items"] + ), + ])) + : (R(), re("div", uq, " \xA0 ")), + S("div", cq, [ + e.product.description + ? (R(), re("p", dq, ge(e.product.description), 1)) + : $e("", !0), + ]), + ]), + _: 1, + } + ), + y(ut), + y(yi, null, { + default: b(() => [S("div", fq, ge(e.product.stallName), 1)]), + _: 1, + }), + y(ut), + y(yi, null, { + default: b(() => [ + S("div", hq, [ + e.isStall + ? $e("", !0) + : (R(), + oe( + ye, + { + key: 0, + flat: "", + class: + "text-weight-bold text-capitalize q-ml-auto float-left", + dense: "", + color: "primary", + onClick: + t[1] || + (t[1] = (u) => + e.$emit("change-page", "stall", { + stall: e.product.stall_id, + })), + }, + { default: b(() => [Te(" Visit Stall ")]), _: 1 } + )), + y( + ye, + { + flat: "", + class: "text-weight-bold text-capitalize q-ml-auto", + dense: "", + color: "primary", + onClick: + t[2] || + (t[2] = (u) => + e.$emit("change-page", "stall", { + stall: e.product.stall_id, + product: e.product.id, + })), + }, + { default: b(() => [Te(" View details ")]), _: 1 } + ), + ]), + ]), + _: 1, + }), + ]), + _: 1, + } + ) + ); +} +var Sm = Tn(XD, [["render", gq]]); +const mq = sn({ + name: "CustomerMarket", + components: { ProductCard: Sm }, + props: ["filtered-products", "search-text", "filter-categories"], + data: function () { + return { + search: null, + partialProducts: [], + productsPerPage: 12, + startIndex: 0, + lastProductIndex: 0, + showProducts: !0, + debounceRefreshProducts: null, + }; + }, + watch: { + searchText: function () { + this.debounceRefreshProducts(); + }, + filteredProducts: function () { + this.debounceRefreshProducts(); + }, + filterCategories: function () { + this.debounceRefreshProducts(); + }, + }, + methods: { + refreshProducts: function () { + (this.showProducts = !1), + (this.partialProducts = []), + (this.startIndex = 0), + (this.lastProductIndex = Math.min( + this.filteredProducts.length, + this.productsPerPage + )), + this.partialProducts.push( + ...this.filteredProducts.slice(0, this.lastProductIndex) + ), + setTimeout(() => { + this.showProducts = !0; + }, 0); + }, + addToCart(e) { + this.$emit("add-to-cart", e); + }, + changePageM(e, t) { + this.$emit("change-page", e, t); + }, + onLoad(e, t) { + setTimeout(() => { + if (this.startIndex >= this.filteredProducts.length) { + t(); + return; + } + (this.startIndex = this.lastProductIndex), + (this.lastProductIndex = Math.min( + this.filteredProducts.length, + this.lastProductIndex + this.productsPerPage + )), + this.partialProducts.push( + ...this.filteredProducts.slice( + this.startIndex, + this.lastProductIndex + ) + ), + t(); + }, 100); + }, + }, + created() { + (this.debounceRefreshProducts = JD.debounce(this.refreshProducts, 100)), + (this.lastProductIndex = Math.min(this.filteredProducts.length, 24)), + this.partialProducts.push( + ...this.filteredProducts.slice(0, this.lastProductIndex) + ); + }, + }), + vq = { class: "row q-col-gutter-md" }, + pq = { class: "row justify-center q-my-md" }; +function yq(e, t, r, a, l, s) { + const u = Jr("product-card"); + return ( + R(), + re("div", null, [ + e.showProducts + ? (R(), + oe( + ZD, + { key: 0, onLoad: e.onLoad, offset: 250 }, + Gh( + { + default: b(() => [ + S("div", vq, [ + (R(!0), + re( + Lt, + null, + Yt( + e.partialProducts, + (d, f) => ( + R(), + re( + "div", + { + class: "col-xs-12 col-sm-6 col-md-4 col-lg-3", + key: f, + }, + [ + y( + u, + { + product: d, + onChangePage: e.changePageM, + onAddToCart: e.addToCart, + }, + null, + 8, + ["product", "onChangePage", "onAddToCart"] + ), + ] + ) + ) + ), + 128 + )), + ]), + ]), + _: 2, + }, + [ + e.lastProductIndex < e.filteredProducts.length + ? { + name: "loading", + fn: b(() => [ + S("div", pq, [ + y(Au, { color: "primary", size: "40px" }), + ]), + ]), + key: "0", + } + : void 0, + ] + ), + 1032, + ["onLoad"] + )) + : $e("", !0), + ]) + ); +} +var _q = Tn(mq, [["render", yq]]), + bq = Je({ + name: "QSlideTransition", + props: { appear: Boolean, duration: { type: Number, default: 300 } }, + emits: ["show", "hide"], + setup(e, { slots: t, emit: r }) { + let a = !1, + l, + s, + u = null, + d = null, + f, + g; + function v() { + l && l(), + (l = null), + (a = !1), + u !== null && (clearTimeout(u), (u = null)), + d !== null && (clearTimeout(d), (d = null)), + s !== void 0 && s.removeEventListener("transitionend", f), + (f = null); + } + function T($, L, F) { + L !== void 0 && ($.style.height = `${L}px`), + ($.style.transition = `height ${e.duration}ms cubic-bezier(.25, .8, .50, 1)`), + (a = !0), + (l = F); + } + function M($, L) { + ($.style.overflowY = null), + ($.style.height = null), + ($.style.transition = null), + v(), + L !== g && r(L); + } + function _($, L) { + let F = 0; + (s = $), + a === !0 + ? (v(), (F = $.offsetHeight === $.scrollHeight ? 0 : void 0)) + : ((g = "hide"), ($.style.overflowY = "hidden")), + T($, F, L), + (u = setTimeout(() => { + (u = null), + ($.style.height = `${$.scrollHeight}px`), + (f = (W) => { + (d = null), (Object(W) !== W || W.target === $) && M($, "show"); + }), + $.addEventListener("transitionend", f), + (d = setTimeout(f, e.duration * 1.1)); + }, 100)); + } + function P($, L) { + let F; + (s = $), + a === !0 + ? v() + : ((g = "show"), + ($.style.overflowY = "hidden"), + (F = $.scrollHeight)), + T($, F, L), + (u = setTimeout(() => { + (u = null), + ($.style.height = 0), + (f = (W) => { + (d = null), (Object(W) !== W || W.target === $) && M($, "hide"); + }), + $.addEventListener("transitionend", f), + (d = setTimeout(f, e.duration * 1.1)); + }, 100)); + } + return ( + Ht(() => { + a === !0 && v(); + }), + () => + E( + Ya, + { css: !1, appear: e.appear, onEnter: _, onLeave: P }, + t.default + ) + ); + }, + }); +const hi = ew({}), + wq = Object.keys(Do); +var Sq = Je({ + name: "QExpansionItem", + props: { + ...Do, + ...Wu, + ...ir, + icon: String, + label: String, + labelLines: [Number, String], + caption: String, + captionLines: [Number, String], + dense: Boolean, + toggleAriaLabel: String, + expandIcon: String, + expandedIcon: String, + expandIconClass: [Array, String, Object], + duration: Number, + headerInsetLevel: Number, + contentInsetLevel: Number, + expandSeparator: Boolean, + defaultOpened: Boolean, + hideExpandIcon: Boolean, + expandIconToggle: Boolean, + switchToggleSide: Boolean, + denseToggle: Boolean, + group: String, + popup: Boolean, + headerStyle: [Array, String, Object], + headerClass: [Array, String, Object], + }, + emits: [...Hu, "click", "afterShow", "afterHide"], + setup(e, { slots: t, emit: r }) { + const { + proxy: { $q: a }, + } = Dt(), + l = ar(e, a), + s = se(e.modelValue !== null ? e.modelValue : e.defaultOpened), + u = se(null), + d = so(), + { show: f, hide: g, toggle: v } = Gu({ showing: s }); + let T, M; + const _ = I( + () => + `q-expansion-item q-item-type q-expansion-item--${ + s.value === !0 ? "expanded" : "collapsed" + } q-expansion-item--${e.popup === !0 ? "popup" : "standard"}` + ), + P = I(() => { + if (e.contentInsetLevel === void 0) return null; + const K = a.lang.rtl === !0 ? "Right" : "Left"; + return { ["padding" + K]: e.contentInsetLevel * 56 + "px" }; + }), + $ = I( + () => + e.disable !== !0 && + (e.href !== void 0 || + (e.to !== void 0 && e.to !== null && e.to !== "")) + ), + L = I(() => { + const K = {}; + return ( + wq.forEach((me) => { + K[me] = e[me]; + }), + K + ); + }), + F = I(() => $.value === !0 || e.expandIconToggle !== !0), + W = I(() => + e.expandedIcon !== void 0 && s.value === !0 + ? e.expandedIcon + : e.expandIcon || + a.iconSet.expansionItem[e.denseToggle === !0 ? "denseIcon" : "icon"] + ), + D = I( + () => e.disable !== !0 && ($.value === !0 || e.expandIconToggle === !0) + ), + A = I(() => ({ + expanded: s.value === !0, + detailsId: e.targetUid, + toggle: v, + show: f, + hide: g, + })), + N = I(() => { + const K = + e.toggleAriaLabel !== void 0 + ? e.toggleAriaLabel + : a.lang.label[s.value === !0 ? "collapse" : "expand"](e.label); + return { + role: "button", + "aria-expanded": s.value === !0 ? "true" : "false", + "aria-controls": d, + "aria-label": K, + }; + }); + ze( + () => e.group, + (K) => { + M !== void 0 && M(), K !== void 0 && Pe(); + } + ); + function J(K) { + $.value !== !0 && v(K), r("click", K); + } + function z(K) { + K.keyCode === 13 && H(K, !0); + } + function H(K, me) { + me !== !0 && u.value !== null && u.value.focus(), v(K), Ft(K); + } + function pe() { + r("afterShow"); + } + function _e() { + r("afterHide"); + } + function Pe() { + T === void 0 && (T = so()), s.value === !0 && (hi[e.group] = T); + const K = ze(s, (rt) => { + rt === !0 + ? (hi[e.group] = T) + : hi[e.group] === T && delete hi[e.group]; + }), + me = ze( + () => hi[e.group], + (rt, X) => { + X === T && rt !== void 0 && rt !== T && g(); + } + ); + M = () => { + K(), me(), hi[e.group] === T && delete hi[e.group], (M = void 0); + }; + } + function lt() { + const K = { + class: [ + `q-focusable relative-position cursor-pointer${ + e.denseToggle === !0 && e.switchToggleSide === !0 + ? " items-end" + : "" + }`, + e.expandIconClass, + ], + side: e.switchToggleSide !== !0, + avatar: e.switchToggleSide, + }, + me = [ + E(Wt, { + class: + "q-expansion-item__toggle-icon" + + (e.expandedIcon === void 0 && s.value === !0 + ? " q-expansion-item__toggle-icon--rotated" + : ""), + name: W.value, + }), + ]; + return ( + D.value === !0 && + (Object.assign(K, { + tabindex: 0, + ...N.value, + onClick: H, + onKeyup: z, + }), + me.unshift( + E("div", { + ref: u, + class: + "q-expansion-item__toggle-focus q-icon q-focus-helper q-focus-helper--rounded", + tabindex: -1, + }) + )), + E(Ie, K, () => me) + ); + } + function te() { + let K; + return ( + t.header !== void 0 + ? (K = [].concat(t.header(A.value))) + : ((K = [ + E(Ie, () => [ + E(Ge, { lines: e.labelLines }, () => e.label || ""), + e.caption + ? E( + Ge, + { lines: e.captionLines, caption: !0 }, + () => e.caption + ) + : null, + ]), + ]), + e.icon && + K[e.switchToggleSide === !0 ? "push" : "unshift"]( + E( + Ie, + { + side: e.switchToggleSide === !0, + avatar: e.switchToggleSide !== !0, + }, + () => E(Wt, { name: e.icon }) + ) + )), + e.disable !== !0 && + e.hideExpandIcon !== !0 && + K[e.switchToggleSide === !0 ? "unshift" : "push"](lt()), + K + ); + } + function xe() { + const K = { + ref: "item", + style: e.headerStyle, + class: e.headerClass, + dark: l.value, + disable: e.disable, + dense: e.dense, + insetLevel: e.headerInsetLevel, + }; + return ( + F.value === !0 && + ((K.clickable = !0), + (K.onClick = J), + Object.assign(K, $.value === !0 ? L.value : N.value)), + E(zt, K, te) + ); + } + function Be() { + return Hn( + E( + "div", + { + key: "e-content", + class: "q-expansion-item__content relative-position", + style: P.value, + id: d, + }, + Mt(t.default) + ), + [[tw, s.value]] + ); + } + function j() { + const K = [ + xe(), + E(bq, { duration: e.duration, onShow: pe, onHide: _e }, Be), + ]; + return ( + e.expandSeparator === !0 && + K.push( + E(ut, { + class: + "q-expansion-item__border q-expansion-item__border--top absolute-top", + dark: l.value, + }), + E(ut, { + class: + "q-expansion-item__border q-expansion-item__border--bottom absolute-bottom", + dark: l.value, + }) + ), + K + ); + } + return ( + e.group !== void 0 && Pe(), + Ht(() => { + M !== void 0 && M(); + }), + () => + E("div", { class: _.value }, [ + E( + "div", + { class: "q-expansion-item__container relative-position" }, + j() + ), + ]) + ); + }, +}); +const kq = sn({ + name: "CustomerOrders", + props: ["orders", "products", "stalls", "profiles"], + components: { UserProfile: Ka }, + data: function () { + return {}; + }, + computed: { + merchantOrders: function () { + return Object.keys(this.orders).map((e) => ({ + pubkey: e, + orders: this.orders[e].map(this.enrichOrder), + })); + }, + }, + methods: { + enrichOrder: function (e) { + var r; + const t = this.stallForOrder(e); + return { + ...e, + stallName: (t == null ? void 0 : t.name) || "Stall", + shippingZone: ((r = t == null ? void 0 : t.shipping) == null + ? void 0 + : r.find((a) => a.id === e.shipping_id)) || { + id: e.shipping_id, + name: e.shipping_id, + }, + invoice: this.invoiceForOrder(e), + products: this.getProductsForOrder(e), + }; + }, + stallForOrder: function (e) { + var t; + try { + const r = + e.items && ((t = e.items[0]) == null ? void 0 : t.product_id); + if (!r) return; + const a = this.products.find((s) => s.id === r); + if (!a) return; + const l = this.stalls.find((s) => s.id === a.stall_id); + return l || void 0; + } catch (r) { + console.log(r); + } + }, + invoiceForOrder: function (e) { + var t; + try { + const r = + (t = e == null ? void 0 : e.payment_options) == null + ? void 0 + : t.find((a) => a.type === "ln"); + return r != null && r.link ? decode(r.link) : void 0; + } catch (r) { + console.warn(r); + } + }, + getProductsForOrder: function (e) { + var t; + return (t = e == null ? void 0 : e.items) != null && t.length + ? e.items.map((r) => ({ + ...(this.products.find((l) => l.id === r.product_id) || { + id: r.product_id, + name: r.product_id, + }), + orderedQuantity: r.quantity, + })) + : []; + }, + showInvoice: function (e) { + var r; + if (e.paid) return; + const t = + (r = e == null ? void 0 : e.payment_options) == null + ? void 0 + : r.find((a) => a.type === "ln").link; + !t || this.$emit("show-invoice", t); + }, + formatCurrency: function (e, t) { + return formatCurrency(e, t); + }, + fromNow: function (e) { + return e ? ae(e * 1e3).fromNow() : ""; + }, + }, + created() {}, + }), + Cq = S("strong", null, "No Orders", -1), + Tq = ["textContent"], + Mq = ["textContent"], + Dq = { class: "text-caption text-grey ellipsis-2-lines" }, + qq = { key: 0 }, + xq = ["textContent"], + Pq = ["textContent"], + Aq = ["textContent"], + Eq = { class: "text-caption text-grey ellipsis-2-lines" }, + Iq = ["textContent"], + Rq = ["textContent"], + Oq = S("strong", null, "Order ID: ", -1), + Lq = ["textContent"], + Nq = S("strong", null, "Products", -1), + Bq = ["src"], + Fq = ["src"], + Uq = { class: "text-caption text-grey ellipsis-2-lines" }, + Vq = S("strong", null, "Shipping Zone: ", -1), + zq = ["textContent"], + Wq = S("strong", null, "Message: ", -1), + Yq = ["textContent"], + Hq = S("strong", null, "Invoice: ", -1), + Gq = ["textContent"]; +function Kq(e, t, r, a, l, s) { + var d; + const u = Jr("user-profile"); + return ( + R(), + re("div", null, [ + (d = e.merchantOrders) != null && d.length + ? $e("", !0) + : (R(), + oe( + Jt, + { key: 0, bordered: "", class: "q-mb-md" }, + { + default: b(() => [y(Ne, null, { default: b(() => [Cq]), _: 1 })]), + _: 1, + } + )), + (R(!0), + re( + Lt, + null, + Yt( + e.merchantOrders, + (f) => ( + R(), + re("div", { key: f.id }, [ + y( + Jt, + { bordered: "", class: "q-mb-md" }, + { + default: b(() => [ + y( + zt, + null, + { + default: b(() => [ + y( + u, + { pubkey: f.pubkey, profiles: e.profiles }, + null, + 8, + ["pubkey", "profiles"] + ), + ]), + _: 2, + }, + 1024 + ), + y(ut), + y( + Ne, + { class: "col-12" }, + { + default: b(() => [ + y( + kr, + null, + { + default: b(() => [ + (R(!0), + re( + Lt, + null, + Yt( + f.orders, + (g) => ( + R(), + re( + "div", + { key: g.id, class: "q-mb-md" }, + [ + y( + Sq, + { + dense: "", + "expand-separator": "", + }, + { + header: b(() => [ + y( + Ie, + { class: "q-mt-sm" }, + { + default: b(() => [ + y( + Ge, + null, + { + default: b(() => { + var v, T; + return [ + S( + "strong", + null, + [ + S( + "span", + { + textContent: + ge( + g.stallName + ), + }, + null, + 8, + Tq + ), + ] + ), + (T = + (v = + g.invoice) == + null + ? void 0 + : v.human_readable_part) != + null && T.amount + ? (R(), + oe( + Cn, + { + key: 0, + onClick: ( + M + ) => + e.showInvoice( + g + ), + color: + "orange", + class: + "q-ml-lg gt-sm", + }, + { + default: + b( + () => { + var M, + _; + return [ + S( + "span", + { + textContent: + ge( + e.formatCurrency( + ((_ = + (M = + g.invoice) == + null + ? void 0 + : M.human_readable_part) == + null + ? void 0 + : _.amount) / + 1e3, + "sat" + ) + ), + }, + null, + 8, + Mq + ), + ]; + } + ), + _: 2, + }, + 1032, + ["onClick"] + )) + : $e("", !0), + ]; + }), + _: 2, + }, + 1024 + ), + y( + Ge, + null, + { + default: b(() => [ + S("div", Dq, [ + g.createdAt + ? (R(), + re("p", qq, [ + S( + "span", + { + textContent: + ge( + e.fromNow( + g.createdAt + ) + ), + }, + null, + 8, + xq + ), + ])) + : $e("", !0), + ]), + ]), + _: 2, + }, + 1024 + ), + ]), + _: 2, + }, + 1024 + ), + y( + Ie, + { side: "" }, + { + default: b(() => [ + y( + Ge, + null, + { + default: b(() => [ + y( + Cn, + { + color: g.paid + ? "green" + : "grey", + }, + { + default: b( + () => [ + S( + "span", + { + textContent: + ge( + g.paid + ? "Paid" + : "Not Paid" + ), + }, + null, + 8, + Pq + ), + ] + ), + _: 2, + }, + 1032, + ["color"] + ), + y( + Cn, + { + color: g.shipped + ? "green" + : "grey", + class: + "q-ml-md", + }, + { + default: b( + () => [ + S( + "span", + { + textContent: + ge( + g.shipped + ? "Shipped" + : "Not Shipped" + ), + }, + null, + 8, + Aq + ), + ] + ), + _: 2, + }, + 1032, + ["color"] + ), + ]), + _: 2, + }, + 1024 + ), + y( + Ge, + null, + { + default: b(() => { + var v, T; + return [ + S("div", Eq, [ + S("p", null, [ + S( + "span", + { + textContent: + ge( + (v = + g.items) == + null + ? void 0 + : v.length + ), + }, + null, + 8, + Iq + ), + S( + "span", + { + textContent: + ge( + ((T = + g.items) == + null + ? void 0 + : T.length) === + 1 + ? "product" + : "products" + ), + }, + null, + 8, + Rq + ), + ]), + ]), + ]; + }), + _: 2, + }, + 1024 + ), + ]), + _: 2, + }, + 1024 + ), + ]), + default: b(() => [ + y(ut), + y( + Ne, + { class: "col-12" }, + { + default: b(() => [ + y( + Ie, + null, + { + default: b(() => [ + y( + Ge, + null, + { + default: b( + () => [ + Oq, + S( + "span", + { + class: + "ellipsis-2-lines text-wrap", + textContent: + ge( + g.id + ), + }, + null, + 8, + Lq + ), + ] + ), + _: 2, + }, + 1024 + ), + ]), + _: 2, + }, + 1024 + ), + ]), + _: 2, + }, + 1024 + ), + y(ut), + y( + Ne, + { horizontal: "" }, + { + default: b(() => [ + y( + Ne, + { class: "col-7" }, + { + default: b(() => [ + y( + Ie, + { + class: + "q-mt-sm", + }, + { + default: b( + () => [ + y( + Ge, + null, + { + default: + b( + () => [ + Nq, + ] + ), + _: 1, + } + ), + ] + ), + _: 1, + } + ), + (R(!0), + re( + Lt, + null, + Yt( + g.products, + (v) => ( + R(), + oe( + zt, + { + key: v.id, + }, + { + default: + b( + () => [ + y( + Ie, + { + avatar: + "", + }, + { + default: + b( + () => [ + y( + jr, + null, + { + default: + b( + () => [ + (v.images && + v + .images[0]) || + v.image + ? (R(), + re( + "img", + { + key: 0, + src: + v + .images[0] || + v.image, + }, + null, + 8, + Bq + )) + : (R(), + re( + "img", + { + key: 1, + src: + e + .$q + .config + .staticPath + + "/images/placeholder.png", + }, + null, + 8, + Fq + )), + ] + ), + _: 2, + }, + 1024 + ), + ] + ), + _: 2, + }, + 1024 + ), + y( + Ie, + { + class: + "q-mt-sm", + }, + { + default: + b( + () => [ + y( + Ge + ), + y( + Ge, + null, + { + default: + b( + () => [ + S( + "strong", + null, + ge( + v.orderedQuantity + ) + + " x " + + ge( + v.name + ), + 1 + ), + ] + ), + _: 2, + }, + 1024 + ), + y( + Ge, + null, + { + default: + b( + () => [ + S( + "div", + Uq, + [ + S( + "p", + null, + ge( + v.description + ), + 1 + ), + ] + ), + ] + ), + _: 2, + }, + 1024 + ), + ] + ), + _: 2, + }, + 1024 + ), + ] + ), + _: 2, + }, + 1024 + ) + ) + ), + 128 + )), + ]), + _: 2, + }, + 1024 + ), + y(ut, { vertical: "" }), + y( + Ne, + null, + { + default: b(() => [ + y( + Ie, + { + class: + "q-mt-md q-ml-sm", + }, + { + default: b( + () => [ + y( + Ge, + null, + { + default: + b( + () => { + var v; + return [ + Vq, + S( + "span", + { + textContent: + ge( + ((v = + g.shippingZone) == + null + ? void 0 + : v.name) || + "" + ), + }, + null, + 8, + zq + ), + ]; + } + ), + _: 2, + }, + 1024 + ), + ] + ), + _: 2, + }, + 1024 + ), + g.message + ? (R(), + oe( + Ie, + { + key: 0, + class: + "q-mt-md q-ml-sm", + }, + { + default: b( + () => [ + y( + Ge, + null, + { + default: + b( + () => [ + Wq, + S( + "span", + { + textContent: + ge( + g.message + ), + }, + null, + 8, + Yq + ), + ] + ), + _: 2, + }, + 1024 + ), + ] + ), + _: 2, + }, + 1024 + )) + : $e("", !0), + y( + Ie, + { + class: + "q-mt-md q-ml-sm", + }, + { + default: b( + () => [ + y( + Ge, + null, + { + default: + b( + () => { + var v, + T; + return [ + Hq, + (T = + (v = + g.invoice) == + null + ? void 0 + : v.human_readable_part) != + null && + T.amount + ? (R(), + oe( + Cn, + { + key: 0, + onClick: + ( + M + ) => + e.showInvoice( + g + ), + color: + "orange", + class: + "cursor-pointer", + }, + { + default: + b( + () => { + var M, + _; + return [ + S( + "span", + { + textContent: + ge( + e.formatCurrency( + ((_ = + (M = + g.invoice) == + null + ? void 0 + : M.human_readable_part) == + null + ? void 0 + : _.amount) / + 1e3, + "sat" + ) + ), + }, + null, + 8, + Gq + ), + ]; + } + ), + _: 2, + }, + 1032, + [ + "onClick", + ] + )) + : $e( + "", + !0 + ), + ]; + } + ), + _: 2, + }, + 1024 + ), + ] + ), + _: 2, + }, + 1024 + ), + ]), + _: 2, + }, + 1024 + ), + ]), + _: 2, + }, + 1024 + ), + y(ut, { class: "q-mb-xl" }), + ]), + _: 2, + }, + 1024 + ), + y(ut), + ] + ) + ) + ), + 128 + )), + ]), + _: 2, + }, + 1024 + ), + ]), + _: 2, + }, + 1024 + ), + ]), + _: 2, + }, + 1024 + ), + ]) + ) + ), + 128 + )), + ]) + ); +} +var Qq = Tn(kq, [["render", Kq]]), + jq = Je({ + name: "QCarouselSlide", + props: { ...bg, imgSrc: String }, + setup(e, { slots: t }) { + const r = I(() => + e.imgSrc ? { backgroundImage: `url("${e.imgSrc}")` } : {} + ); + return () => + E("div", { class: "q-carousel__slide", style: r.value }, Mt(t.default)); + }, + }); +let Pa = 0; +const Zq = { fullscreen: Boolean, noRouteFullscreenExit: Boolean }, + Jq = ["update:fullscreen", "fullscreen"]; +function Xq() { + const e = Dt(), + { props: t, emit: r, proxy: a } = e; + let l, s, u; + const d = se(!1); + nw(e) === !0 && + ze( + () => a.$route.fullPath, + () => { + t.noRouteFullscreenExit !== !0 && v(); + } + ), + ze( + () => t.fullscreen, + (T) => { + d.value !== T && f(); + } + ), + ze(d, (T) => { + r("update:fullscreen", T), r("fullscreen", T); + }); + function f() { + d.value === !0 ? v() : g(); + } + function g() { + d.value !== !0 && + ((d.value = !0), + (u = a.$el.parentNode), + u.replaceChild(s, a.$el), + document.body.appendChild(a.$el), + Pa++, + Pa === 1 && document.body.classList.add("q-body--fullscreen-mixin"), + (l = { handler: v }), + nh.add(l)); + } + function v() { + d.value === !0 && + (l !== void 0 && (nh.remove(l), (l = void 0)), + u.replaceChild(a.$el, s), + (d.value = !1), + (Pa = Math.max(0, Pa - 1)), + Pa === 0 && + (document.body.classList.remove("q-body--fullscreen-mixin"), + a.$el.scrollIntoView !== void 0 && + setTimeout(() => { + a.$el.scrollIntoView(); + }))); + } + return ( + Zu(() => { + s = document.createElement("span"); + }), + Xr(() => { + t.fullscreen === !0 && g(); + }), + Ht(v), + Object.assign(a, { + toggleFullscreen: f, + setFullscreen: g, + exitFullscreen: v, + }), + { inFullscreen: d, toggleFullscreen: f } + ); +} +const ex = ["top", "right", "bottom", "left"], + tx = ["regular", "flat", "outline", "push", "unelevated"]; +var nx = Je({ + name: "QCarousel", + props: { + ...ir, + ...wg, + ...Zq, + transitionPrev: { type: String, default: "fade" }, + transitionNext: { type: String, default: "fade" }, + height: String, + padding: Boolean, + controlColor: String, + controlTextColor: String, + controlType: { + type: String, + validator: (e) => tx.includes(e), + default: "flat", + }, + autoplay: [Number, Boolean], + arrows: Boolean, + prevIcon: String, + nextIcon: String, + navigation: Boolean, + navigationPosition: { type: String, validator: (e) => ex.includes(e) }, + navigationIcon: String, + navigationActiveIcon: String, + thumbnails: Boolean, + }, + emits: [...Jq, ...Sg], + setup(e, { slots: t }) { + const { + proxy: { $q: r }, + } = Dt(), + a = ar(e, r); + let l = null, + s; + const { + updatePanelsList: u, + getPanelContent: d, + panelDirectives: f, + goToPanel: g, + previousPanel: v, + nextPanel: T, + getEnabledPanels: M, + panelIndex: _, + } = kg(), + { inFullscreen: P } = Xq(), + $ = I(() => + P.value !== !0 && e.height !== void 0 ? { height: e.height } : {} + ), + L = I(() => (e.vertical === !0 ? "vertical" : "horizontal")), + F = I( + () => + `q-carousel q-panel-parent q-carousel--with${ + e.padding === !0 ? "" : "out" + }-padding` + + (P.value === !0 ? " fullscreen" : "") + + (a.value === !0 ? " q-carousel--dark q-dark" : "") + + (e.arrows === !0 ? ` q-carousel--arrows-${L.value}` : "") + + (e.navigation === !0 ? ` q-carousel--navigation-${N.value}` : "") + ), + W = I(() => { + const _e = [ + e.prevIcon || r.iconSet.carousel[e.vertical === !0 ? "up" : "left"], + e.nextIcon || + r.iconSet.carousel[e.vertical === !0 ? "down" : "right"], + ]; + return e.vertical === !1 && r.lang.rtl === !0 ? _e.reverse() : _e; + }), + D = I(() => e.navigationIcon || r.iconSet.carousel.navigationIcon), + A = I(() => e.navigationActiveIcon || D.value), + N = I( + () => e.navigationPosition || (e.vertical === !0 ? "right" : "bottom") + ), + J = I(() => ({ + color: e.controlColor, + textColor: e.controlTextColor, + round: !0, + [e.controlType]: !0, + dense: !0, + })); + ze( + () => e.modelValue, + () => { + e.autoplay && z(); + } + ), + ze( + () => e.autoplay, + (_e) => { + _e ? z() : l !== null && (clearTimeout(l), (l = null)); + } + ); + function z() { + const _e = rw(e.autoplay) === !0 ? Math.abs(e.autoplay) : 5e3; + l !== null && clearTimeout(l), + (l = setTimeout(() => { + (l = null), _e >= 0 ? T() : v(); + }, _e)); + } + Xr(() => { + e.autoplay && z(); + }), + Ht(() => { + l !== null && clearTimeout(l); + }); + function H(_e, Pe) { + return E( + "div", + { + class: + `q-carousel__control q-carousel__navigation no-wrap absolute flex q-carousel__navigation--${_e} q-carousel__navigation--${N.value}` + + (e.controlColor !== void 0 ? ` text-${e.controlColor}` : ""), + }, + [ + E( + "div", + { class: "q-carousel__navigation-inner flex flex-center no-wrap" }, + M().map(Pe) + ), + ] + ); + } + function pe() { + const _e = []; + if (e.navigation === !0) { + const Pe = + t["navigation-icon"] !== void 0 + ? t["navigation-icon"] + : (te) => + E(ye, { + key: "nav" + te.name, + class: `q-carousel__navigation-icon q-carousel__navigation-icon--${ + te.active === !0 ? "" : "in" + }active`, + ...te.btnProps, + onClick: te.onClick, + }), + lt = s - 1; + _e.push( + H("buttons", (te, xe) => { + const Be = te.props.name, + j = _.value === xe; + return Pe({ + index: xe, + maxIndex: lt, + name: Be, + active: j, + btnProps: { + icon: j === !0 ? A.value : D.value, + size: "sm", + ...J.value, + }, + onClick: () => { + g(Be); + }, + }); + }) + ); + } else if (e.thumbnails === !0) { + const Pe = e.controlColor !== void 0 ? ` text-${e.controlColor}` : ""; + _e.push( + H("thumbnails", (lt) => { + const te = lt.props; + return E("img", { + key: "tmb#" + te.name, + class: + `q-carousel__thumbnail q-carousel__thumbnail--${ + te.name === e.modelValue ? "" : "in" + }active` + Pe, + src: te.imgSrc || te["img-src"], + onClick: () => { + g(te.name); + }, + }); + }) + ); + } + return ( + e.arrows === !0 && + _.value >= 0 && + ((e.infinite === !0 || _.value > 0) && + _e.push( + E( + "div", + { + key: "prev", + class: `q-carousel__control q-carousel__arrow q-carousel__prev-arrow q-carousel__prev-arrow--${L.value} absolute flex flex-center`, + }, + [E(ye, { icon: W.value[0], ...J.value, onClick: v })] + ) + ), + (e.infinite === !0 || _.value < s - 1) && + _e.push( + E( + "div", + { + key: "next", + class: `q-carousel__control q-carousel__arrow q-carousel__next-arrow q-carousel__next-arrow--${L.value} absolute flex flex-center`, + }, + [E(ye, { icon: W.value[1], ...J.value, onClick: T })] + ) + )), + _i(t.control, _e) + ); + } + return () => ( + (s = u(t)), + E( + "div", + { class: F.value, style: $.value }, + [ + Ku( + "div", + { class: "q-carousel__slides-container" }, + d(), + "sl-cont", + e.swipeable, + () => f.value + ), + ].concat(pe()) + ) + ); + }, +}); +const rx = sn({ + name: "ProductDetail", + props: ["product", "add-to-cart"], + data: function () { + return { slide: 1 }; + }, + computed: {}, + methods: {}, + created() {}, + }), + ix = { class: "row" }, + ax = { class: "col-lg-5 col-md-5 col-sm-12 col-xs-12 q-mt-sm" }, + lx = { key: 0, class: "q-pr-md" }, + ox = { key: 1, class: "q-pr-md" }, + sx = { class: "col-lg-7 col-md-7 col-sm-12 col-xs-12 q-mt-sm" }, + ux = { class: "row" }, + cx = { class: "text-subtitle1 q-mt-sm q-pt-xs" }, + dx = { key: 0, class: "text-subtitle1" }, + fx = { class: "q-mt-sm text-weight-bold" }, + hx = { key: 0 }, + gx = { class: "text-h6" }, + mx = { class: "q-ml-sm text-grey-6" }, + vx = { key: 1 }, + px = { class: "text-h6" }, + yx = { + class: "q-ml-md text-caption text-green-8 text-weight-bolder q-mt-md", + }, + _x = { class: "q-mt-md" }; +function bx(e, t, r, a, l, s) { + return ( + R(), + re("div", ix, [ + S("div", ax, [ + e.product.images && e.product.images[0] + ? (R(), + re("div", lx, [ + y( + nx, + { + swipeable: "", + animated: "", + modelValue: e.slide, + "onUpdate:modelValue": t[0] || (t[0] = (u) => (e.slide = u)), + thumbnails: "", + infinite: "", + arrows: "", + "transition-prev": "slide-right", + "transition-next": "slide-left", + "navigation-icon": "radio_button_unchecked", + "control-type": "regular", + "control-color": "secondary", + "control-text-color": "white", + }, + { + default: b(() => [ + (R(!0), + re( + Lt, + null, + Yt( + e.product.images, + (u, d) => ( + R(), + oe( + jq, + { name: d + 1, key: d, "img-src": u }, + null, + 8, + ["name", "img-src"] + ) + ) + ), + 128 + )), + ]), + _: 1, + }, + 8, + ["modelValue"] + ), + ])) + : (R(), + re("div", ox, [ + y( + nc, + { + src: e.$q.config.staticPath + "/images/placeholder.png", + ratio: 16 / 9, + }, + null, + 8, + ["src"] + ), + ])), + ]), + S("div", sx, [ + y(Jt, null, { + default: b(() => [ + y(Ne, null, { + default: b(() => [ + S("div", ux, [ + S( + "div", + { + class: iw([ + "col-12", + e.$q.platform.is.desktop ? "" : "q-px-md", + ]), + }, + [ + S("div", cx, ge(e.product.name), 1), + e.product.categories + ? (R(), + re("div", dx, [ + (R(!0), + re( + Lt, + null, + Yt( + e.product.categories, + (u, d) => ( + R(), + oe( + Ha, + { key: d, dense: "" }, + { default: b(() => [Te(ge(u), 1)]), _: 2 }, + 1024 + ) + ) + ), + 128 + )), + ])) + : $e("", !0), + S("div", fx, ge(e.product.description), 1), + S("div", null, [ + e.product.currency == "sat" + ? (R(), + re("span", hx, [ + S("span", gx, ge(e.product.price) + " sats", 1), + S( + "span", + mx, + "BTC " + ge((e.product.price / 1e8).toFixed(8)), + 1 + ), + ])) + : (R(), + re("span", vx, [ + S("span", px, ge(e.product.formatedPrice), 1), + ])), + S( + "span", + yx, + ge( + e.product.quantity > 0 + ? `In + stock. ${e.product.quantity} left.` + : "Out of stock." + ), + 1 + ), + ]), + S("div", _x, [ + y(ye, { + class: "q-mt-md", + color: "primary", + rounded: "", + icon: "shopping_cart", + label: "Add to cart", + onClick: + t[1] || + (t[1] = (u) => e.$emit("add-to-cart", e.product)), + }), + ]), + ], + 2 + ), + ]), + ]), + _: 1, + }), + ]), + _: 1, + }), + ]), + ]) + ); +} +var wx = Tn(rx, [["render", bx]]); +const Sx = sn({ + name: "CustomerStall", + components: { ProductCard: Sm, ProductDetail: wx }, + props: ["stall", "products", "product-detail"], + data: function () { + return {}; + }, + computed: { + product() { + if (this.productDetail) + return this.products.find((e) => e.id == this.productDetail); + }, + }, + methods: { + changePageS(e, t) { + var r; + e === "stall" && + (t == null ? void 0 : t.product) && + ((r = document.getElementById("product-focus-area")) == null || + r.scrollIntoView()), + this.$emit("change-page", e, t); + }, + addToCart(e) { + this.$emit("add-to-cart", e); + }, + }, + }), + kx = S("div", { id: "product-focus-area" }, null, -1), + Cx = { key: 0, class: "row" }, + Tx = { class: "col-12 auto-width" }, + Mx = { class: "col-12 q-my-lg" }, + Dx = { class: "row q-col-gutter-md" }; +function qx(e, t, r, a, l, s) { + const u = Jr("product-detail"), + d = Jr("product-card"); + return ( + R(), + re("div", null, [ + kx, + e.productDetail && e.product + ? (R(), + re("div", Cx, [ + S("div", Tx, [ + y(u, { product: e.product, onAddToCart: e.addToCart }, null, 8, [ + "product", + "onAddToCart", + ]), + ]), + S("div", Mx, [y(ut)]), + ])) + : $e("", !0), + S("div", Dx, [ + (R(!0), + re( + Lt, + null, + Yt( + e.products, + (f, g) => ( + R(), + re( + "div", + { class: "col-xs-12 col-sm-6 col-md-4 col-lg-3", key: g }, + [ + y( + d, + { + product: f, + onChangePage: e.changePageS, + onAddToCart: e.addToCart, + "is-stall": !0, + }, + null, + 8, + ["product", "onChangePage", "onAddToCart"] + ), + ] + ) + ) + ), + 128 + )), + ]), + ]) + ); +} +var xx = Tn(Sx, [["render", qx]]); +const Px = sn({ + name: "CustomerStallList", + props: ["stalls"], + data: function () { + return { showStalls: !0 }; + }, + watch: { + stalls() { + (this.showProducts = !1), + setTimeout(() => { + this.showProducts = !0; + }, 0); + }, + }, + computed: {}, + methods: {}, + created() {}, + }), + Ax = { key: 0, class: "row q-col-gutter-md" }, + Ex = { class: "q-pa-md q-gutter-sm", style: { height: "80px" } }, + Ix = ["src"], + $x = { class: "row no-wrap items-center" }, + Rx = { class: "col text-subtitle2 ellipsis-2-lines" }, + Ox = { class: "text-caption text-green-8 text-weight-bolder q-mt-md" }, + Lx = ["textContent"], + Nx = ["textContent"], + Bx = { key: 0, class: "text-subtitle1" }, + Fx = ["textContent"], + Ux = { key: 1, class: "text-subtitle1" }, + Vx = { + class: "text-caption text-grey ellipsis-2-lines", + style: { "min-height": "40px" }, + }, + zx = { class: "q-ml-auto" }; +function Wx(e, t, r, a, l, s) { + return e.showStalls + ? (R(), + re("div", Ax, [ + (R(!0), + re( + Lt, + null, + Yt( + e.stalls, + (u) => ( + R(), + re( + "div", + { key: u.id, class: "col-xs-12 col-sm-6 col-md-4 col-lg-3" }, + [ + y( + Jt, + { class: "card--product" }, + { + default: b(() => [ + y( + Ne, + { class: "q-pb-xs q-pt-md" }, + { + default: b(() => [ + S("div", Ex, [ + (R(!0), + re( + Lt, + null, + Yt( + u.images, + (d, f) => ( + R(), + oe( + jr, + { + key: f, + size: "40px", + class: "overlapping", + style: aw( + `left: ${ + f * 25 + }px; border: 2px solid white; position: absolute` + ), + }, + { + default: b(() => [ + S("img", { src: d }, null, 8, Ix), + ]), + _: 2, + }, + 1032, + ["style"] + ) + ) + ), + 128 + )), + ]), + ]), + _: 2, + }, + 1024 + ), + y( + Ne, + { class: "q-pb-xs q-pt-md" }, + { + default: b(() => [ + S("div", $x, [S("div", Rx, ge(u.name), 1)]), + ]), + _: 2, + }, + 1024 + ), + y(ut), + y( + Ne, + { class: "q-pl-sm" }, + { + default: b(() => [ + S("div", null, [ + S("span", Ox, [ + S( + "span", + { textContent: ge(u.productCount) }, + null, + 8, + Lx + ), + Te(" products"), + ]), + S( + "span", + { + textContent: ge(u.currency), + class: "float-right", + }, + null, + 8, + Nx + ), + ]), + ]), + _: 2, + }, + 1024 + ), + y( + Ne, + { class: "q-pl-sm gt-sm" }, + { + default: b(() => [ + u.categories + ? (R(), + re("div", Bx, [ + y( + tc, + { + items: u.categories || [], + "virtual-scroll-horizontal": "", + }, + { + default: b(({ item: d, index: f }) => [ + (R(), + oe( + Ha, + { key: f, dense: "" }, + { + default: b(() => [ + S( + "span", + { textContent: ge(d) }, + null, + 8, + Fx + ), + ]), + _: 2, + }, + 1024 + )), + ]), + _: 2, + }, + 1032, + ["items"] + ), + ])) + : (R(), re("div", Ux, " \xA0 ")), + S("div", Vx, [ + S("p", null, ge(u.description || ""), 1), + ]), + ]), + _: 2, + }, + 1024 + ), + y(ut), + y( + yi, + null, + { + default: b(() => [ + S("div", zx, [ + y( + ye, + { + flat: "", + class: + "text-weight-bold text-capitalize q-ml-auto float-left", + dense: "", + color: "primary", + onClick: (d) => + e.$emit("change-page", "stall", { + stall: u.id, + }), + }, + { + default: b(() => [Te(" Visit Stall ")]), + _: 2, + }, + 1032, + ["onClick"] + ), + ]), + ]), + _: 2, + }, + 1024 + ), + ]), + _: 2, + }, + 1024 + ), + ] + ) + ) + ), + 128 + )), + ])) + : $e("", !0); +} +var Yx = Tn(Px, [["render", Wx]]); +const Hx = sn({ + name: "ProductFilter", + props: [ + "filter", + "currencies", + "categories", + "merchants", + "profiles", + "stalls", + ], + data: function () { + return { + merchantProfiles: [], + filterData: { + currency: null, + priceFrom: 0, + priceTo: null, + categories: [], + merchants: [], + stalls: [], + }, + }; + }, + watch: { + categories(e, t) { + this.filterData.categories = (e || []) + .filter((r) => r.selected) + .map((r) => r.category); + }, + }, + methods: { + clear: function () { + (this.filterData = { + currency: null, + priceFrom: 0, + priceTo: null, + categories: [], + merchants: [], + stalls: [], + }), + this.$emit("filter-update", this.filterData); + }, + clearPrice() { + (this.filterData.currency = null), + (this.filterData.priceFrom = 0), + (this.filterData.priceTo = null); + }, + clearMerchants() { + this.filterData.merchants = []; + }, + clearCategories() { + this.filterData.categories = []; + }, + clearStalls() { + this.filterData.stalls = []; + }, + search: function () { + const e = { + ...this.filterData, + merchants: this.filterData.merchants.map((t) => t.value), + stalls: this.filterData.stalls.map((t) => t.value), + }; + this.$emit("filter-update", e); + }, + mapMerchantProfile(e) { + const t = this.profiles.find((r) => r.pubkey === e); + return t + ? { + label: + t.name + + ` (${e.substring(0, 10)}...${e.substring(e.length - 10)})`, + value: e, + } + : { label: e, value: e }; + }, + }, + created: async function () { + console.log("### this.filter", this.filter), + (this.filterData = { + ...this.filterData, + ...JSON.parse(JSON.stringify(this.filter || {})), + }), + (this.filterData.categories = [ + ...new Set( + (this.filterData.categories || []).concat( + (this.categories || []) + .filter((e) => e.selected) + .map((e) => e.category) + ) + ), + ]), + (this.filterData.merchants = (this.filterData.merchants || []).map( + this.mapMerchantProfile + )), + (this.filterData.stalls = (this.filterData.stalls || []).map((e) => { + const t = this.stalls.find((r) => r.id === e) || { + label: e, + value: e, + }; + return { label: t.name, value: t.id }; + })), + (this.merchantProfiles = this.merchants.map(this.mapMerchantProfile)); + }, + }), + Gx = { class: "row q-mt-md q-ml-md q-pr-md" }, + Kx = { class: "col-md-3 col-sm-12 col-xs-12 q-pt-sm" }, + Qx = { class: "col-md-3 col-sm-12 col-xs-12 q-pt-sm q-pl-md" }, + jx = { class: "col-md-3 col-sm-12 col-xs-12 q-pt-sm q-pl-lg" }, + Zx = { class: "col-md-3 col-sm-12 col-xs-12" }, + Jx = { class: "row q-mt-md q-ml-md q-pr-md" }, + Xx = { class: "col-9" }, + eP = { class: "col-3" }, + tP = { class: "row q-mt-md q-ml-md q-pr-md" }, + nP = { class: "col-9" }, + rP = { class: "col-3" }, + iP = { class: "row q-mt-md q-ml-md q-pr-md" }, + aP = { class: "col-9" }, + lP = { class: "col-3" }; +function oP(e, t, r, a, l, s) { + return ( + R(), + oe(Jt, null, { + default: b(() => [ + y(Ne, null, { + default: b(() => [ + S("div", Gx, [ + S("div", Kx, [ + y( + Aa, + { + options: [...e.currencies].sort(), + modelValue: e.filterData.currency, + "onUpdate:modelValue": + t[0] || (t[0] = (u) => (e.filterData.currency = u)), + filled: "", + hint: "Only this Currency", + label: "Currency", + }, + null, + 8, + ["options", "modelValue"] + ), + ]), + S("div", Qx, [ + y( + It, + { + modelValue: e.filterData.priceFrom, + "onUpdate:modelValue": + t[1] || (t[1] = (u) => (e.filterData.priceFrom = u)), + type: "number", + label: "Price From", + hint: "Price Starting At", + }, + null, + 8, + ["modelValue"] + ), + ]), + S("div", jx, [ + y( + It, + { + modelValue: e.filterData.priceTo, + "onUpdate:modelValue": + t[2] || (t[2] = (u) => (e.filterData.priceTo = u)), + type: "number", + label: "Price To", + hint: "Maximum Price", + }, + null, + 8, + ["modelValue"] + ), + ]), + S("div", Zx, [ + y( + ye, + { + onClick: t[3] || (t[3] = (u) => e.clearPrice()), + flat: "", + color: "grey", + class: "float-right q-mt-sm", + }, + { default: b(() => [Te(" Clear")]), _: 1 } + ), + ]), + ]), + ]), + _: 1, + }), + y(Ne, null, { + default: b(() => [ + S("div", Jx, [ + S("div", Xx, [ + y( + Aa, + { + options: [...e.categories.map((u) => u.category).sort()], + modelValue: e.filterData.categories, + "onUpdate:modelValue": + t[4] || (t[4] = (u) => (e.filterData.categories = u)), + filled: "", + multiple: "", + "use-chips": "", + "stack-label": "", + hint: "Any of these Categories", + label: "Categories", + }, + null, + 8, + ["options", "modelValue"] + ), + ]), + S("div", eP, [ + y( + ye, + { + onClick: t[5] || (t[5] = (u) => e.clearCategories()), + flat: "", + color: "grey", + class: "float-right q-mt-sm", + }, + { default: b(() => [Te(" Clear")]), _: 1 } + ), + ]), + ]), + S("div", tP, [ + S("div", nP, [ + y( + Aa, + { + options: e.merchantProfiles, + modelValue: e.filterData.merchants, + "onUpdate:modelValue": + t[6] || (t[6] = (u) => (e.filterData.merchants = u)), + filled: "", + multiple: "", + "use-chips": "", + "stack-label": "", + hint: "Only these Merchant", + label: "Merchants", + }, + null, + 8, + ["options", "modelValue"] + ), + ]), + S("div", rP, [ + y( + ye, + { + onClick: t[7] || (t[7] = (u) => e.clearMerchants()), + flat: "", + color: "grey", + class: "float-right q-mt-sm", + }, + { default: b(() => [Te(" Clear")]), _: 1 } + ), + ]), + ]), + S("div", iP, [ + S("div", aP, [ + y( + Aa, + { + options: e.stalls.map((u) => ({ + label: u.name, + value: u.id, + })), + modelValue: e.filterData.stalls, + "onUpdate:modelValue": + t[8] || (t[8] = (u) => (e.filterData.stalls = u)), + filled: "", + multiple: "", + "use-chips": "", + "stack-label": "", + hint: "Only these Stalls", + label: "Stalls", + }, + null, + 8, + ["options", "modelValue"] + ), + ]), + S("div", lP, [ + y( + ye, + { + onClick: t[9] || (t[9] = (u) => e.clearStalls()), + flat: "", + color: "grey", + class: "float-right q-mt-sm", + }, + { default: b(() => [Te(" Clear")]), _: 1 } + ), + ]), + ]), + ]), + _: 1, + }), + y(ut), + y( + yi, + { align: "right" }, + { + default: b(() => [ + y( + ye, + { + onClick: t[10] || (t[10] = (u) => e.clear()), + flat: "", + color: "grey", + }, + { default: b(() => [Te(" Clear All Filters")]), _: 1 } + ), + y( + ye, + { + onClick: t[11] || (t[11] = (u) => e.search()), + flat: "", + icon: "search", + color: "primary", + class: "q-mr-md", + }, + { default: b(() => [Te(" Search ")]), _: 1 } + ), + ]), + _: 1, + } + ), + ]), + _: 1, + }) + ); +} +var sP = Tn(Hx, [["render", oP]]); +const uP = { class: "row q-mb-md" }, + cP = { class: "col-lg-1 col-md-1 gt-sm" }, + dP = ["src"], + fP = { class: "col-lg-7 col-md-5 col-12 auto-width" }, + hP = S("div", { id: "search-text" }, null, -1), + gP = { class: "col-lg-4 col-md-6 col-12" }, + mP = { class: "float-right" }, + vP = ["textContent"], + pP = ["textContent"], + yP = { key: 0, class: "gt-sm" }, + _P = ["textContent", "onClick"], + bP = ["textContent"], + wP = S( + "div", + { class: "text-h6" }, + " There are no relays configured at this moment. ", + -1 + ), + SP = S( + "div", + { class: "text-subtitle2" }, + " Start by creating or importing a market. ", + -1 + ), + kP = { key: 2, class: "row q-mb-sm" }, + CP = { class: "col-12 text-center" }, + TP = { key: 0, class: "absolute-bottom text-subtitle1 text-center" }, + MP = ["textContent"], + DP = { class: "row q-mb-sm" }, + qP = { class: "col-md-10 col-sm-7 auto-width" }, + xP = ["textContent"], + PP = S("strong", null, "All markets", -1), + AP = ["textContent"], + EP = ["textContent"], + IP = { class: "col-md-2 col-sm-5" }, + $P = { key: 3, class: "row q-mb-sm" }, + RP = { class: "col-12 text-center" }, + OP = { key: 12 }, + LP = S("strong", { class: "text-h4" }, "Welcome to the Nostr Market!", -1), + NP = S( + "strong", + { class: "text-h5 q-mt-lg" }, + "In order to start you can:", + -1 + ), + BP = { class: "text-h6" }, + FP = { class: "text-h6" }, + UP = { class: "text-h6" }, + VP = S("code", null, "naddr", -1), + zP = { key: 13 }, + WP = S("div", { class: "text-h6" }, "Account Setup", -1), + YP = S("p", null, "Enter your Nostr private key or generate a new one.", -1), + HP = { class: "text-center q-mb-lg" }, + GP = { key: 0, class: "q-my-lg" }, + KP = ["textContent"], + QP = ["href"], + jP = { key: 0, ratio: 1 }, + ZP = { key: 1 }, + JP = { class: "row q-mt-lg" }, + XP = sn({ + name: "MarketPage", + components: { MarketConfig: Pg }, + data: function () { + return { + account: null, + accountMetadata: null, + accountDialog: { show: !1, data: { watchOnly: !1, key: null } }, + relaysData: {}, + markets: [], + shoppingCarts: [], + checkoutCart: null, + checkoutStall: null, + activePage: "market", + activeOrderId: null, + dmSubscriptions: {}, + allMarketsSelected: !1, + qrCodeDialog: { + data: { payment_request: null, message: null }, + dismissMsg: null, + show: !1, + }, + groupByStall: !1, + relays: new Set(), + stalls: [], + products: [], + orders: {}, + profiles: [], + bannerImage: null, + logoImage: null, + isLoading: !1, + showFilterDetails: !1, + searchText: null, + filterData: { + categories: [], + merchants: [], + stalls: [], + currency: null, + priceFrom: null, + priceTo: null, + }, + dmEvents: null, + activeMarket: null, + activeStall: null, + activeProduct: null, + pool: null, + config: { opts: null }, + defaultBanner: this.$q.config.staticPath + "images/nostr-cover.png", + defaultLogo: this.$q.config.staticPath + "images/nostr-avatar.png", + defaultMarketNaddr: + "naddr1qqjr2e34v3jrzd3e95ensdfn956rywps94snwcmr95crvepexc6kxcfcxqmnvqg5waehxw309aex2mrp0yhxgctdw4eju6t0qyv8wumn8ghj7un9d3shjtnndehhyapwwdhkx6tpdsq36amnwvaz7tmwdaehgu3dwp6kytnhv4kxcmmjv3jhytnwv46qzxthwden5te0dehhxarj9eax2cn9v3jk2tnrd3hh2eqprfmhxue69uhhyetvv9ujummjv9hxwetsd9kxctnyv4mqzrthwden5te0dehhxtnvdakqz9rhwden5te0wfjkccte9ehx7um5wghxyecpzpmhxue69uhkummnw3ezuamfdejsz9thwden5te0v4jx2m3wdehhxarj9ekxzmnyqgstle9w09rt8y7xdlqs33v23vqvdtqx6j6j2wa4984g9n77tppx2tqrqsqqqa2ruusd5z", + readNotes: { merchants: !1, marketUi: !1 }, + }; + }, + watch: { + config(e, t) { + var r, a, l, s; + (a = (r = e == null ? void 0 : e.opts) == null ? void 0 : r.ui) != + null && a.banner + ? ((this.bannerImage = null), + setTimeout(() => { + var u, d; + this.bannerImage = this.sanitizeImageSrc( + (d = + (u = e == null ? void 0 : e.opts) == null ? void 0 : u.ui) == + null + ? void 0 + : d.banner, + this.defaultBanner + ); + })) + : (this.bannerImage = this.defaultBanner), + (s = (l = e == null ? void 0 : e.opts) == null ? void 0 : l.ui) != + null && s.picture + ? ((this.logoImage = null), + setTimeout(() => { + var u, d; + this.logoImage = this.sanitizeImageSrc( + (d = + (u = e == null ? void 0 : e.opts) == null + ? void 0 + : u.ui) == null + ? void 0 + : d.picture, + this.defaultLogo + ); + })) + : (this.logoImage = this.defaultLogo); + }, + searchText(e, t) { + if (!!e && e.toLowerCase().startsWith("naddr")) + try { + const { type: r, data: a } = NostrTools.nip19.decode(e); + if (r !== "naddr" || a.kind !== 30019) return; + this.$q + .dialog(confirm("Do you want to import this market profile?")) + .onOk(async () => { + (this.searchText = ""), await this.addMarket(e); + }); + } catch {} + }, + }, + computed: { + selectedMarketsMerchants() { + return [ + ...new Set( + this.markets + .filter((e) => e.selected) + .map((e) => e.opts.merchants) + .flat() + ), + ]; + }, + filteredProducts() { + const e = (g) => { + var v; + return ( + !((v = this.filterData.merchants) != null && v.length) || + this.filterData.merchants.includes(g) + ); + }, + t = (g) => this.selectedMarketsMerchants.includes(g), + r = (g) => { + var v; + return ( + !((v = this.filterData.stalls) != null && v.length) || + this.filterData.stalls.includes(g) + ); + }, + a = (g) => + !this.filterData.currency || + this.filterData.currency.toLowerCase() === g.toLowerCase(), + l = (g) => + !this.filterData.priceFrom || g >= this.filterData.priceFrom, + s = (g) => !this.filterData.priceTo || g <= this.filterData.priceTo, + u = (g) => !this.activeStall || g == this.activeStall; + let d = this.products.filter( + (g) => + this.hasCategory(g.categories) && + u(g.stall_id) && + e(g.pubkey) && + t(g.pubkey) && + r(g.stall_id) && + a(g.currency) && + l(g.price) && + s(g.price) + ); + if (!this.searchText || this.searchText.length < 2) return d; + const f = this.searchText.toLowerCase(); + return d.filter( + (g) => + g.name.toLowerCase().includes(f) || + (g.description && g.description.toLowerCase().includes(f)) || + (g.categories && g.categories.toString().toLowerCase().includes(f)) + ); + }, + filterCount() { + let e = 0; + return ( + this.filterData.currency && e++, + this.filterData.priceFrom && e++, + this.filterData.priceTo && e++, + this.filterData.categories && + (e += this.filterData.categories.length), + this.filterData.merchants && (e += this.filterData.merchants.length), + this.filterData.stalls && (e += this.filterData.stalls.length), + e + ); + }, + filterStalls() { + const e = this.stalls + .map((r) => ({ + ...r, + categories: this.allStallCatgories(r.id), + images: this.allStallImages(r.id).slice(0, 8), + productCount: this.products.filter((a) => a.stall_id === r.id) + .length, + })) + .filter((r) => this.hasCategory(r.categories)); + if (!this.searchText || this.searchText.length < 2) return e; + const t = this.searchText.toLowerCase(); + return this.stalls.filter( + (r) => + r.name.toLowerCase().includes(t) || + (r.description && r.description.toLowerCase().includes(t)) || + (r.categories && r.categories.toString().toLowerCase().includes(t)) + ); + }, + marketsName() { + var t, r; + if (this.activeMarket) + return ( + ((t = this.activeMarket.opts) == null ? void 0 : t.name) || "Market" + ); + const e = this.markets.filter((a) => a.selected); + return e.length === 0 + ? "No Market" + : e.length === 1 + ? ((r = e[0].opts) == null ? void 0 : r.name) || "Market" + : e.length + " Markets"; + }, + stallName() { + var e; + return ( + ((e = this.stalls.find((t) => t.id == this.activeStall)) == null + ? void 0 + : e.name) || "Stall" + ); + }, + productName() { + var e; + return ( + ((e = this.products.find((t) => t.id == this.activeProduct)) == null + ? void 0 + : e.name) || "Product" + ); + }, + isValidAccountKey() { + return isValidKey(this.accountDialog.data.key); + }, + allCartsItemCount() { + return this.shoppingCarts + .map((e) => e.products) + .flat() + .reduce((e, t) => e + t.orderedQuantity, 0); + }, + allCategories() { + const t = this.products + .map((r) => r.categories) + .flat() + .filter((r) => !!r) + .map((r) => r.toLowerCase()) + .reduce((r, a) => ((r[a] = (r[a] || 0) + 1), r), {}); + return Object.keys(t) + .map((r) => ({ + category: r, + count: t[r], + selected: this.filterData.categories.indexOf(r) !== -1, + })) + .sort((r, a) => a.count - r.count); + }, + allCurrencies() { + const e = this.products.map((t) => t.currency.toUpperCase()); + return [...new Set(e)]; + }, + allMerchants() { + return [...new Set(this.markets.map((e) => e.opts.merchants).flat())]; + }, + allRelays() { + return [...new Set(this.markets.map((e) => e.relays).flat())]; + }, + processedEventIds() { + const e = this.stalls.map((r) => r.eventId), + t = this.products.map((r) => r.eventId); + return e.concat(t); + }, + activeMarketRelaysData() { + return this.activeMarket + ? Object.values(this.relaysData).filter( + (e) => e && this.activeMarket.relays.includes(e.relayUrl) + ) + : []; + }, + dmPeers() { + this.dmEvents; + const e = "nostrmarket.dm."; + return this.$q.localStorage + .getAllKeys() + .filter((r) => r.startsWith(e)) + .map((r) => r.substring(e.length)); + }, + }, + async created() { + (this.bannerImage = this.defaultBanner), + (this.logoImage = this.defaultLogo), + this._restoreFromStorage(); + const e = new URLSearchParams(window.location.search); + await this.addMarket(e.get("naddr")), + await this._handleQueryParams(e), + (this.isLoading = !1), + this._loadRelaysData(), + this._startRelaysHealtCheck(); + }, + methods: { + async _handleQueryParams(e) { + const t = e.get("merchant"); + console.log("### merchantPubkey", t); + const r = e.get("stall"), + a = e.get("product"); + r && + (this.setActivePage("customer-stall"), + a && (this.activeProduct = a), + (this.activeStall = r)), + t && + (isValidKey(t) + ? this.allMerchants.includes(t) + ? this.$q.notify({ + message: "Request (URL) merchant already exists!", + type: "positive", + }) + : this.$q + .dialog( + confirm( + "We found a merchant pubkey in your request. Do you want to add it to the merchants list?" + ) + ) + .onOk(async () => { + this.createMarket(!1, [t]); + }) + : this.$q.notify({ + message: "Invalid merchant public key!", + icon: "warning", + })); + }, + _applyUiConfigs(e = {}) { + const { name: t, about: r, ui: a } = e; + this.$q.localStorage.set("nostrmarket.marketplaceConfig", { + name: t, + about: r, + ui: a, + }), + a != null && + a.theme && + document.body.setAttribute("data-theme", a.theme), + this.$q.dark.set(!!(a != null && a.darkMode)); + }, + handleFilterData(e) { + console.log("### handleFilterData", e), + (this.filterData = e), + this.setActivePage("market"); + }, + async updateUiConfig(e = { opts: {} }) { + var l; + const { name: t, about: r, ui: a } = e.opts; + (this.config = { + ...this.config, + opts: { ...this.config.opts, name: t, about: r, ui: a }, + }), + this._applyUiConfigs((l = this.config) == null ? void 0 : l.opts); + }, + generateKeyPair() { + (this.accountDialog.data.key = NostrTools.generatePrivateKey()), + (this.accountDialog.data.watchOnly = !1); + }, + openAccountDialog() { + this.accountDialog.show = !0; + }, + async createAccount() { + if (isValidKey(this.accountDialog.data.key, "nsec")) { + let { key: e, watchOnly: t } = this.accountDialog.data; + if (e.startsWith("n")) { + let { type: l, data: s } = NostrTools.nip19.decode(e); + e = s; + } + const r = t ? null : e, + a = t ? e : NostrTools.getPublicKey(e); + this.$q.localStorage.set("nostrmarket.account", { + privkey: r, + pubkey: a, + nsec: NostrTools.nip19.nsecEncode(e), + npub: NostrTools.nip19.npubEncode(a), + useExtension: !1, + }), + (this.accountDialog.data = { watchOnly: !1, key: null }), + (this.accountDialog.show = !1), + (this.account = this.$q.localStorage.getItem( + "nostrmarket.account" + )), + await this._requeryAllRelays(); + } + this.accountDialog.show = !1; + }, + logout() { + window.localStorage.removeItem("nostrmarket.account"), + this._clearNonAccountData(), + (window.location.href = + window.location.origin + window.location.pathname), + (this.account = null), + (this.accountMetadata = null); + }, + clearAllData() { + this.$q + .dialog( + confirm( + "This will remove all information about merchants, products, relays and others. You will NOT be logged out. Do you want to proceed?" + ) + ) + .onOk(async () => { + this._clearNonAccountData(), + (window.location.href = + window.location.origin + window.location.pathname); + }); + }, + _clearNonAccountData() { + this.$q.localStorage + .getAllKeys() + .filter((e) => e !== "nostrmarket.account") + .forEach((e) => window.localStorage.removeItem(e)), + (this.orders = []), + (this.config = { opts: null }), + (this.shoppingCarts = []), + (this.checkoutCart = null); + }, + _startRelaysHealtCheck() { + setInterval(() => { + Object.keys(this.relaysData).forEach((e) => { + this.relaysData[e].relay.status === WebSocket.CLOSED && + this._connectToRelay(e); + }); + }, 30 * 1e3); + }, + async _toRelayKey(e) { + return "relay_" + (await hash(e)); + }, + async _loadRelaysData() { + for (const e of this.markets) + for (const t of e.relays) + await this._loadRelayData(t, e.opts.merchants); + Object.keys(this.relaysData).forEach(this._connectToRelay); + }, + async _loadRelayData(e, t) { + const r = await this._toRelayKey(e); + this.relaysData[r] = this.relaysData[r] || { + relayUrl: e, + connected: !1, + error: null, + merchants: [], + lastEventAt: this.getLastEventDateForRelay(e), + }; + const a = this.relaysData[r]; + a.merchants = [...new Set(a.merchants.concat(t))]; + }, + getLastEventDateForRelay(e) { + const t = ( + this.$q.localStorage.getItem("nostrmarket.relays") || [] + ).find((r) => r.relayUrl === e); + return ( + console.log("### getLastEventForRelay", e, t), + (t == null ? void 0 : t.lastEventAt) || 0 + ); + }, + async _connectToRelay(e) { + const t = this.relaysData[e]; + try { + console.log(`Trying to connect to relay ${t.relayUrl}`), + (t.relay = NostrTools.relayInit(t.relayUrl)), + t.relay.on("connect", () => { + (t.connected = !0), + (t.error = null), + console.log(`Connected to relay ${t.relayUrl}`), + this._queryRelay(e); + }), + t.relay.on("error", (r) => { + console.warn(`Error by relay ${t.relayUrl}`), + (t.connected = !1), + (t.error = r); + }), + await t.relay.connect(); + } catch (r) { + (t.connected = !1), + (t.error = `${r}`), + console.warn(`Failed to connect to ${t.relayUrl}`); + } + }, + async _requeryAllRelays() { + Object.keys(this.relaysData).forEach(async (e) => { + await this._requeryRelay(e); + }); + }, + async _requeryRelay(e) { + var r; + const t = this.relaysData[e]; + t.connected && ((r = t.sub) == null || r.unsub(), this._queryRelay(e)); + }, + _buildRelayFilters(e) { + var a; + const t = e.merchants, + r = [ + { + kinds: [0, 5, 30017, 30018], + authors: t, + since: e.lastEventAt + 1, + }, + ]; + if ((a = this.account) != null && a.pubkey) { + const l = this._noDmEvents() ? 0 : e.lastEventAt + 1; + r.push( + { kinds: [4], "#p": [this.account.pubkey], since: l }, + { kinds: [4], authors: [this.account.pubkey], since: l } + ); + } + return r; + }, + async _queryRelay(e) { + const t = this.relaysData[e], + r = this._buildRelayFilters(t), + a = await t.relay.list(r); + console.log("### _queryRelay.filters", t.relayUrl, r), + console.log("### _queryRelay.events", t.relayUrl, a), + a != null && a.length && (await this._processEvents(a, t)), + (t.sub = t.relay.sub(r)), + t.sub.on( + "event", + (l) => { + this._processEvents([l], t); + }, + { id: "masterSub" } + ); + }, + async _publishEventToRelays(e, t) { + let r = 0; + for (const a of t) (await this._publishEventToRelay(e, a)) && r++; + return r; + }, + async _publishEventToRelay(e, t) { + try { + const r = await this._toRelayKey(t), + a = this.relaysData[r]; + return a != null && a.connected && (await a.relay.publish(e)), !0; + } catch (r) { + return console.warn(r), !1; + } + }, + _findRelaysForMerchant(e) { + const t = this.markets + .filter((r) => r.opts.merchants.includes(e)) + .map((r) => r.relays) + .flat(); + return [...new Set(t)]; + }, + _processEvents(e, t) { + if (!(e != null && e.length)) return; + console.log("### _processEvents", t.relayUrl, e); + const r = e.sort((a, l) => l.created_at - a.created_at)[0].created_at; + (t.lastEventAt = Math.max(r, t.lastEventAt)), + (e = e + .filter((a) => !this.processedEventIds.includes(a.id)) + .map((a) => ({ ...a, relayUrl: t.relayUrl })) + .map(eventToObj)), + e.filter((a) => a.kind === 0).forEach(this._processProfileEvents), + e.filter((a) => a.kind === 4).forEach(this._processDmEvents), + e.filter((a) => a.kind === 5).forEach(this._processDeleteEvents), + e.filter((a) => a.kind === 30017).forEach(this._processStallEvents), + e.filter((a) => a.kind === 30018).forEach(this._processProductEvents), + this._persistStallsAndProducts(), + this._persistRelaysData(); + }, + _processProfileEvents(e) { + try { + (this.profiles = this.profiles.filter((t) => t.pubkey !== e.pubkey)), + this.profiles.push({ pubkey: e.pubkey, ...e.content }), + this.$q.localStorage.set("nostrmarket.profiles", this.profiles); + } catch (t) { + console.warn(t); + } + }, + _processStallEvents(e) { + this._processStall({ + ...e.content, + id: e.d, + pubkey: e.pubkey, + createdAt: e.created_at, + eventId: e.id, + relayUrls: [e.relayUrl], + }); + }, + _processStall(e) { + const t = this.stalls.findIndex( + (a) => a.id === e.id && a.pubkey === e.pubkey + ); + if (t === -1) { + this.stalls.push(e); + return; + } + this.stalls[t].createdAt < e.createdAt && + (this.stalls.splice(t, 1, e), + this.products + .filter((a) => a.pubkey === e.pubkey && a.stall_id === e.id) + .forEach((a) => (a.stallName = e.name))); + }, + _processProductEvents(e) { + const t = { ...e.content }, + r = this.stalls.find((a) => a.id == t.stall_id); + !r || + (t.currency != "sat" && + (t.formatedPrice = this.getAmountFormated(t.price, t.currency)), + this._processProduct({ + ...t, + stallName: r.name, + images: t.images || [t.image], + pubkey: e.pubkey, + id: e.d, + categories: e.t, + eventId: e.id, + createdAt: e.created_at, + relayUrls: [e.relayUrl], + })); + }, + _processProduct(e) { + const t = this.products.findIndex( + (a) => a.id === e.id && a.pubkey === e.pubkey + ); + if (t === -1) { + this.products.push(e); + return; + } + const r = this.products[t]; + (r.relayUrls = [...new Set(e.relayUrls.concat(r.relayUrls))]), + r.createdAt < e.createdAt && this.products.splice(t, 1, e); + }, + async _processDmEvents(e) { + var l; + if (!((l = this.account) != null && l.pubkey)) return; + const t = e.tags.find(([s, u]) => s === "p" && u && u !== "")[1], + r = e.pubkey === this.account.pubkey; + if (t !== this.account.pubkey && !r) { + console.warn("Unexpected DM. Dropped!"); + return; + } + const a = r ? t : e.pubkey; + (e.content = await NostrTools.nip04.decrypt( + this.account.privkey, + a, + e.content + )), + this._persistDMEvent(e, a), + isJson(e.content) && (await this._handleStructuredDm(e, a)); + }, + async _processDeleteEvents(e) { + const t = (e.tags || []).filter((s) => s[0] === "e").map((s) => s[1]), + r = this.stalls + .filter((s) => s.pubkey === e.pubkey && t.includes(s.eventId)) + .map((s) => s.id), + a = (s) => + s.pubkey === e.pubkey && + (t.includes(s.eventId) || r.includes(s.stall_id)); + this.products = this.products.filter((s) => !a(s)); + const l = (s) => s.pubkey === e.pubkey && t.includes(s.eventId); + this.stalls = this.stalls.filter((s) => !l(s)); + }, + async createMarket(e, t) { + var r; + try { + this.setActivePage("loading"); + const a = { + d: crypto.randomUUID(), + pubkey: ((r = this.account) == null ? void 0 : r.pubkey) || "", + relays: [...defaultRelays], + selected: !0, + opts: { name: "New Market", merchants: t || [], ui: {} }, + }; + this.markets.unshift(a), + this.$q.localStorage.set("nostrmarket.markets", this.markets); + for (const l of a.relays) this._handleNewRelay(l, a); + e === !0 && this.showMarketConfig(0); + } catch (a) { + console.warn(a); + } finally { + this.setActivePage("market-config"); + } + }, + async addMarket(e) { + if (!!e) + try { + this.setActivePage("loading"); + const { type: t, data: r } = NostrTools.nip19.decode(e); + if (t !== "naddr" || r.kind !== 30019) return; + const a = { + d: r.identifier, + pubkey: r.pubkey, + relays: r.relays, + selected: !0, + }, + s = await new NostrTools.SimplePool().get(a.relays, { + kinds: [30019], + limit: 1, + authors: [a.pubkey], + "#d": [a.d], + }); + if (!s) return; + isJson(s.content) && + ((a.opts = JSON.parse(s.content)), + this.$q + .dialog( + confirm( + `Do you want to use the look and feel of the '${a.opts.name}' market?` + ) + ) + .onOk(async () => { + (this.config = { ...this.config, opts: a.opts }), + this._applyUiConfigs(a == null ? void 0 : a.opts); + })), + (this.markets = this.markets.filter( + (u) => u.d !== a.d || u.pubkey !== a.pubkey + )), + this.markets.unshift(a), + this.$q.localStorage.set("nostrmarket.markets", this.markets); + for (const u of a.relays) await this._handleNewRelay(u, a); + } catch (t) { + console.warn(t); + } finally { + this.setActivePage("market"); + } + }, + updateMarket(e) { + var t, r; + try { + this.isLoading = !0; + const { d: a, pubkey: l } = e, + s = this.markets.find((v) => v.d === a && v.pubkey === l) || {}, + u = + (t = e.opts) == null + ? void 0 + : t.merchants.filter((v) => { + var T; + return !((T = s.opts) != null && T.merchants.includes(v)); + }), + d = + (r = s.opts) == null + ? void 0 + : r.merchants.filter((v) => { + var T; + return !((T = e.opts) != null && T.merchants.includes(v)); + }), + f = e.relays.filter((v) => !s.relays.includes(v)), + g = s.relays.filter((v) => !e.relays.includes(v)); + (this.markets = this.markets.filter( + (v) => v.d !== a || v.pubkey !== l + )), + this.markets.unshift(e), + this.$q.localStorage.set("nostrmarket.markets", this.markets), + d == null || d.forEach(this._handleRemoveMerchant), + u == null || u.forEach((v) => this._handleNewMerchant(e, v)), + console.log("### newRelays", f), + console.log("### removedRelays", g), + f == null || f.forEach((v) => this._handleNewRelay(v, e)), + g == null || g.forEach(this._handleRemovedRelay), + this._persistStallsAndProducts(), + this._persistRelaysData(); + } catch (a) { + console.warn(a); + } finally { + this.isLoading = !1; + } + }, + deleteMarket(e) { + var t, r; + try { + this.isLoading = !0; + const { d: a, pubkey: l } = e; + (this.markets = this.markets.filter( + (s) => s.d !== a || s.pubkey !== l + )), + this.$q.localStorage.set("nostrmarket.markets", this.markets), + this.activeMarket && + this.activeMarket.d === a && + this.activeMarket.pubkey === l && + ((this.activeMarket = null), + this.navigateTo("market"), + this.updateUiConfig(this.markets[0])), + (t = e.opts.merchants) == null || + t.forEach(this._handleRemoveMerchant), + (r = e.relays) == null || r.forEach(this._handleRemovedRelay), + this._persistStallsAndProducts(), + this._persistRelaysData(); + } catch (a) { + console.warn(a); + } finally { + this.isLoading = !1; + } + }, + toggleMarket() { + (this.allMarketsSelected = !this.markets.find((e) => !e.selected)), + this.$q.localStorage.set("nostrmarket.markets", this.markets); + }, + toggleAllMarkets() { + this.markets.forEach((e) => (e.selected = this.allMarketsSelected)), + this.$q.localStorage.set("nostrmarket.markets", this.markets); + }, + showMarketConfig(e) { + (this.activeMarket = this.markets[e]), + this.transitToPage("market-config"); + }, + async publishNaddr(e) { + var l, s; + if (!((l = this.account) != null && l.privkey)) { + this.openAccountDialog(), + this.$q.notify({ message: "Login Required!", icon: "warning" }); + return; + } + console.log("### marketData", e); + const t = (s = e.d) != null ? s : crypto.randomUUID(), + r = { + ...(await NostrTools.getBlankEvent()), + kind: 30019, + content: JSON.stringify(e.opts), + created_at: Math.floor(Date.now() / 1e3), + tags: [["d", t]], + pubkey: this.account.pubkey, + }; + r.id = NostrTools.getEventHash(r); + try { + r.sig = await NostrTools.signEvent(r, this.account.privkey); + const u = await this._publishEventToRelays(r, e.relays); + this.$q.notify({ + type: u ? "positive" : "warning", + message: u + ? `The market profile has been published tp (${u} relays)!` + : "The market profile could not be published", + }); + } catch (u) { + console.error(u), + this.$q.notify({ + message: "Cannot publish market profile", + caption: `Error: ${u}`, + color: "negative", + }); + return; + } + const a = NostrTools.nip19.naddrEncode({ + pubkey: r.pubkey, + kind: 30019, + identifier: t, + relays: e.relays, + }); + this.copyText(a); + }, + _handleNewMerchant(e, t) { + Object.keys(this.relaysData).forEach(async (r) => { + const a = this.relaysData[r]; + if (!e.relays.includes(a.relayUrl) || a.merchants.includes(t)) return; + const l = await a.relay.list([ + { kinds: [0, 30017, 30018], authors: [t] }, + ]); + await this._processEvents(l, a), + a.merchants.push(t), + await this._requeryRelay(r); + }); + }, + async _handleNewRelay(e, t) { + const r = await this._toRelayKey(e); + if (this.relaysData[r]) { + const a = this.relaysData[r], + l = await a.relay.list([ + { kinds: [0, 30017, 30018], authors: t.opts.merchants }, + ]); + await this._processEvents(l, a), + (a.merchants = [...new Set(a.merchants.concat(t.opts.merchants))]), + await this._requeryRelay(r); + } else + await this._loadRelayData(e, t.opts.merchants), + await this._connectToRelay(r); + }, + _handleRemoveMerchant(e) { + this.markets.find((r) => r.opts.merchants.find((a) => a === e)) || + ((this.products = this.products.filter((r) => r.pubkey !== e)), + (this.stalls = this.stalls.filter((r) => r.pubkey !== e)), + this._removeSubscriptionsForMerchant(e)); + }, + _removeSubscriptionsForMerchant(e) { + Object.keys(this.relaysData).forEach(async (t) => { + const r = this.relaysData[t]; + !r.merchants.includes(e) || + ((r.merchants = r.merchants.filter((a) => a !== e)), + await this._requeryRelay(t)); + }); + }, + async _handleRemovedRelay(e) { + if (!this.markets.find((r) => r.relays.find((a) => a === e))) { + const r = await this._toRelayKey(e); + delete this.relaysData[r], this._persistRelaysData(); + } + }, + addProductToCart(e) { + let t = this.shoppingCarts.find((a) => a.id === e.stall_id); + t || + ((t = { id: e.stall_id, products: [] }), this.shoppingCarts.push(t)), + (t.merchant = e.pubkey); + let r = t.products.find((a) => a.id === e.id); + r || ((r = { ...e, orderedQuantity: 0 }), t.products.push(r)), + (r.orderedQuantity = Math.min( + r.quantity, + e.orderedQuantity || r.orderedQuantity + 1 + )), + this.$q.localStorage.set( + "nostrmarket.shoppingCarts", + this.shoppingCarts + ), + this.$q.notify({ + type: "positive", + message: "Product added to cart!", + }); + }, + removeProductFromCart(e) { + const t = this.shoppingCarts.find((r) => r.id === e.stallId); + t && + ((t.products = t.products.filter((r) => r.id !== e.productId)), + t.products.length || + (this.shoppingCarts = this.shoppingCarts.filter( + (r) => r.id !== e.stallId + )), + this.$q.localStorage.set( + "nostrmarket.shoppingCarts", + this.shoppingCarts + )); + }, + removeCart(e) { + (this.shoppingCarts = this.shoppingCarts.filter((t) => t.id !== e)), + this.$q.localStorage.set( + "nostrmarket.shoppingCarts", + this.shoppingCarts + ); + }, + checkoutStallCart(e) { + (this.checkoutCart = e), + (this.checkoutStall = this.stalls.find((t) => t.id === e.id)), + this.setActivePage("shopping-cart-checkout"); + }, + handleDmChatSelected(e) { + this.dmEvents = + this.$q.localStorage.getItem(`nostrmarket.dm.${e}`) || {}; + }, + async sendDirectMessage(e) { + var t; + if (!((t = this.account) != null && t.pubkey)) { + this.$q.notify({ + type: "warning", + message: "Cannot send message. No user logged in!", + }); + return; + } + try { + const r = { + ...(await NostrTools.getBlankEvent()), + kind: 4, + created_at: Math.floor(Date.now() / 1e3), + tags: [["p", e.to]], + pubkey: this.account.pubkey, + }; + (r.content = await NostrTools.nip04.encrypt( + this.account.privkey, + e.to, + e.message + )), + (r.id = NostrTools.getEventHash(r)), + (r.sig = await NostrTools.signEvent(r, this.account.privkey)), + await this._sendDmEvent(r), + (r.content = e.message), + this._persistDMEvent(r, e.to); + } catch { + this.$q.notify({ + type: "warning", + message: "Failed to send message!", + }); + } + }, + async _sendDmEvent(e) { + const t = e.tags.filter((a) => a[0] === "p").map((a) => a[1]); + let r = this._findRelaysForMerchant(t[0]); + (r != null && r.length) || (r = [...defaultRelays]), + await this._publishEventToRelays(e, r); + }, + _noDmEvents() { + return ( + this.$q.localStorage + .getAllKeys() + .filter((t) => t.startsWith("nostrmarket.dm")).length === 0 + ); + }, + async placeOrder({ event: e, order: t, cartId: r }) { + var a; + if (!((a = this.account) != null && a.privkey)) { + this.openAccountDialog(); + return; + } + try { + (this.activeOrderId = t.id), + (e.content = await NostrTools.nip04.encrypt( + this.account.privkey, + this.checkoutStall.pubkey, + JSON.stringify(t) + )), + (e.id = NostrTools.getEventHash(e)), + (e.sig = await NostrTools.signEvent(e, this.account.privkey)), + await this._sendOrderEvent(e), + this._persistOrderUpdate( + this.checkoutStall.pubkey, + e.created_at, + t + ), + this.removeCart(r), + this.setActivePage("shopping-cart-list"); + } catch (l) { + console.warn(l), + this.$q.notify({ + type: "warning", + message: "Failed to place order!", + }); + } + }, + async _sendOrderEvent(e) { + const t = e.tags.filter((l) => l[0] === "p").map((l) => l[1]), + r = this._findRelaysForMerchant(t[0]), + a = await this._publishEventToRelays(e, r); + this.$q.notify({ + type: a ? "positive" : "warning", + message: a + ? `The order has been placed (${a} relays)!` + : "Order could not be placed", + }), + (this.qrCodeDialog = { + data: { payment_request: null, message: null }, + dismissMsg: null, + show: !!a, + }); + }, + _handlePaymentRequest(e) { + var r; + if (e.id && e.id !== this.activeOrderId) return; + if (!((r = e.payment_options) != null && r.length)) { + this.qrCodeDialog.data.message = e.message || "Unexpected error"; + return; + } + const t = e.payment_options.find((a) => a.type == "ln").link; + !t || + ((this.qrCodeDialog.data.payment_request = t), + (this.qrCodeDialog.dismissMsg = this.$q.notify({ + timeout: 1e4, + message: "Waiting for payment...", + }))); + }, + _handleOrderStatusUpdate(e) { + if (e.id && e.id !== this.activeOrderId) return; + this.qrCodeDialog.dismissMsg && this.qrCodeDialog.dismissMsg(), + (this.qrCodeDialog.show = !1); + const t = e.shipped + ? "Order shipped" + : e.paid + ? "Order paid" + : "Order notification"; + this.$q.notify({ + type: "positive", + message: t, + caption: e.message || "", + }); + }, + async _handleStructuredDm(e, t) { + try { + const r = JSON.parse(e.content); + [0, 1, 2].indexOf(r.type) !== -1 && + this._persistOrderUpdate(t, e.created_at, r), + r.type === 1 + ? this._handlePaymentRequest(r) + : r.type === 2 && this._handleOrderStatusUpdate(r); + } catch (r) { + console.warn("Unable to handle incomming DM", r); + } + }, + _restoreFromStorage() { + (this.markets = + this.$q.localStorage.getItem("nostrmarket.markets") || []), + (this.allMarketsSelected = !this.markets.find((l) => !l.selected)), + (this.shoppingCarts = + this.$q.localStorage.getItem("nostrmarket.shoppingCarts") || []), + (this.profiles = + this.$q.localStorage.getItem("nostrmarket.profiles") || []), + (this.account = + this.$q.localStorage.getItem("nostrmarket.account") || null), + (this.stalls = + this.$q.localStorage.getItem("nostrmarket.stalls") || []), + (this.products = + this.$q.localStorage.getItem("nostrmarket.products") || []); + const e = this.$q.localStorage.getItem( + "nostrmarket.marketplaceConfig" + ) || { ui: { darkMode: !1 } }; + (this.config = { ...this.config, opts: { ...this.config.opts, ...e } }), + this._applyUiConfigs(this.config.opts); + const t = "nostrmarket.orders."; + this.$q.localStorage + .getAllKeys() + .filter((l) => l.startsWith(t)) + .forEach((l) => { + const s = l.substring(t.length); + this.orders[s] = this.$q.localStorage.getItem(l); + }); + const a = this.$q.localStorage.getItem("nostrmarket.readNotes") || {}; + this.readNotes = { ...this.readNotes, ...a }; + }, + _persistStallsAndProducts() { + this.$q.localStorage.set("nostrmarket.stalls", this.stalls), + this.$q.localStorage.set("nostrmarket.products", this.products); + }, + _persistRelaysData() { + this.$q.localStorage.set( + "nostrmarket.relays", + Object.values(this.relaysData) + .filter((e) => !!e) + .map((e) => ({ lastEventAt: e.lastEventAt, relayUrl: e.relayUrl })) + ); + }, + _persistDMEvent(e, t) { + var l; + const r = this.$q.localStorage.getItem(`nostrmarket.dm.${t}`) || { + events: [], + lastCreatedAt: 0, + }; + r.events.find((s) => s.id === e.id) || + (r.events.push(e), + r.events.sort((s, u) => s.created_at - u.created_at), + (r.lastCreatedAt = r.events[r.events.length - 1].created_at), + (r.peerPubkey = t), + this.$q.localStorage.set(`nostrmarket.dm.${t}`, r), + ((l = this.dmEvents) == null ? void 0 : l.peerPubkey) === t + ? (this.dmEvents = + this.$q.localStorage.getItem(`nostrmarket.dm.${t}`) || {}) + : (this.dmEvents = { ...this.dmEvents })); + }, + _persistOrderUpdate(e, t, r) { + let a = this.$q.localStorage.getItem(`nostrmarket.orders.${e}`) || []; + const l = a.findIndex((u) => u.id === r.id); + if (l === -1) { + a.unshift({ ...r, eventCreatedAt: t, createdAt: t }), + (this.orders[e] = a), + (this.orders = { ...this.orders }), + this.$q.localStorage.set(`nostrmarket.orders.${e}`, a); + return; + } + let s = a[l]; + r.type === 0 + ? ((s.createdAt = t), + (s = { ...s, ...r, message: s.message || r.message })) + : (s = s.eventCreatedAt < t ? { ...s, ...r } : { ...r, ...s }), + a.splice(l, 1, s), + (this.orders[e] = a), + (this.orders = { ...this.orders }), + this.$q.localStorage.set(`nostrmarket.orders.${e}`, a); + }, + navigateTo(e, t = { stall: null, product: null, pubkey: null }) { + var d; + console.log("### navigateTo", e, t); + const { stall: r, product: a, pubkey: l } = t, + s = new URL(window.location), + u = + l || + ((d = this.stalls.find((f) => f.id == r)) == null + ? void 0 + : d.pubkey); + s.searchParams.set("merchant", u), + e === "stall" || e === "product" + ? r && + ((this.activeStall = r), + this.setActivePage("customer-stall"), + s.searchParams.set("stall", r), + (this.activeProduct = a), + a + ? s.searchParams.set("product", a) + : s.searchParams.delete("product")) + : ((this.activeMarket = null), + (this.activeStall = null), + (this.activeProduct = null), + s.searchParams.delete("merchant"), + s.searchParams.delete("stall"), + s.searchParams.delete("product"), + this.setActivePage(e)), + window.history.pushState({}, "", s); + }, + copyUrl: function () { + this.copyText(window.location); + }, + copyText: function (e) { + var t = this.$q.notify; + qS(e).then(function () { + t({ message: "Copied to clipboard!", position: "bottom" }); + }); + }, + getAmountFormated(e, t = "USD") { + return formatCurrency(e, t); + }, + setActivePage(e = "market") { + this.activePage = e; + }, + transitToPage(e) { + (this.activePage = "loading"), + setTimeout(() => this.setActivePage(e), 100); + }, + showInvoiceQr(e) { + !e || + (this.qrCodeDialog = { + data: { payment_request: e }, + dismissMsg: null, + show: !0, + }); + }, + toggleCategoryFilter(e) { + const t = this.filterData.categories.indexOf(e); + t === -1 + ? this.filterData.categories.push(e) + : this.filterData.categories.splice(t, 1); + }, + hasCategory(e = []) { + var t; + if (!((t = this.filterData.categories) != null && t.length)) return !0; + for (const r of e) + if (this.filterData.categories.indexOf(r.toLowerCase()) !== -1) + return !0; + return !1; + }, + allStallCatgories(e) { + const t = this.products + .filter((r) => r.stall_id === e) + .map((r) => r.categories) + .flat() + .filter((r) => !!r); + return Array.from(new Set(t)); + }, + allStallImages(e) { + const t = this.products + .filter((r) => r.stall_id === e) + .map((r) => r.images && r.images[0]) + .filter((r) => !!r); + return Array.from(new Set(t)); + }, + sanitizeImageSrc(e, t) { + try { + if (e) return new URL(e), e; + } catch {} + return t; + }, + markNoteAsRead(e) { + (this.readNotes[e] = !0), + this.$q.localStorage.set("nostrmarket.readNotes", this.readNotes); + }, + focusOnElement(e) { + var t; + (t = document.getElementById(e)) == null || t.scrollIntoView(), + (this.showFilterDetails = !0); + }, + }, + }), + nA = Object.assign(XP, { + setup(e) { + return ( + (window.$q = $w()), + (t, r) => ( + R(), + re( + Lt, + null, + [ + y( + Aw, + { class: "q-pa-sm" }, + { + default: b(() => { + var a, l, s, u, d; + return [ + S("div", uP, [ + S("div", cP, [ + y( + jr, + { + onClick: + r[0] || (r[0] = (f) => t.navigateTo("market")), + rounded: "", + size: "64px", + class: "q-ma-none q-pa-none gt-sm cursor-pointer", + }, + { + default: b(() => [ + t.logoImage + ? (R(), + re( + "img", + { key: 0, src: t.logoImage }, + null, + 8, + dP + )) + : $e("", !0), + ]), + _: 1, + } + ), + ]), + S("div", fP, [ + hP, + y( + It, + { + class: "rounded-pill", + style: { width: "100%" }, + rounded: "", + outlined: "", + clearable: "", + modelValue: t.searchText, + "onUpdate:modelValue": + r[1] || (r[1] = (f) => (t.searchText = f)), + modelModifiers: { trim: !0 }, + label: "Filter products, load market profile...", + }, + Gh( + { + append: b(() => [ + t.searchText + ? $e("", !0) + : (R(), oe(Wt, { key: 0, name: "search" })), + ]), + _: 2, + }, + [ + t.showFilterDetails + ? { + name: "label", + fn: b(() => [ + Te(" Filter or paste a "), + y( + Cn, + { + class: "q-px-sm text-subtitle1", + color: "secondary", + }, + { + default: b(() => [Te("naddr")]), + _: 1, + } + ), + Te(" here "), + ]), + key: "0", + } + : void 0, + ] + ), + 1032, + ["modelValue"] + ), + ]), + S("div", gP, [ + S("div", mP, [ + y( + ye, + { + color: "gray", + icon: "travel_explore", + flat: "", + size: "lg", + onClick: + r[2] || + (r[2] = (f) => + t.navigateTo("product-filter")), + }, + { + default: b(() => [ + y(Yr, null, { + default: b(() => [ + Te("Search for products on Nostr"), + ]), + _: 1, + }), + t.filterCount + ? (R(), + oe( + Cn, + { + key: 0, + color: "secondary", + floating: "", + }, + { + default: b(() => [ + S( + "span", + { + textContent: ge(t.filterCount), + }, + null, + 8, + vP + ), + ]), + _: 1, + } + )) + : $e("", !0), + ]), + _: 1, + } + ), + y( + ye, + { + onClick: + r[3] || + (r[3] = (f) => t.navigateTo("user-config")), + color: "gray", + icon: t.account + ? "perm_identity" + : "person_add", + flat: "", + size: "lg", + }, + { + default: b(() => [ + y(Yr, null, { + default: b(() => [Te("User Config")]), + _: 1, + }), + ]), + _: 1, + }, + 8, + ["icon"] + ), + y( + ye, + { + onClick: + r[4] || + (r[4] = (f) => t.navigateTo("user-chat")), + color: "gray", + icon: "chat", + flat: "", + size: "lg", + }, + { + default: b(() => [ + y(Yr, null, { + default: b(() => [Te("Chat")]), + _: 1, + }), + ]), + _: 1, + } + ), + y( + ye, + { + onClick: + r[5] || + (r[5] = (f) => + t.navigateTo("customer-orders")), + color: "gray", + icon: "receipt_long", + flat: "", + size: "lg", + }, + { + default: b(() => [ + y(Yr, null, { + default: b(() => [Te("Orders")]), + _: 1, + }), + ]), + _: 1, + } + ), + y( + ye, + { + color: "gray", + icon: "shopping_cart", + dense: "", + round: "", + flat: "", + size: "lg", + onClick: + r[6] || + (r[6] = (f) => + t.navigateTo("shopping-cart-list")), + }, + { + default: b(() => [ + y(Yr, null, { + default: b(() => [Te("Shopping Cart")]), + _: 1, + }), + t.allCartsItemCount + ? (R(), + oe( + Cn, + { + key: 0, + color: "secondary", + floating: "", + }, + { + default: b(() => [ + S( + "span", + { + textContent: ge( + t.allCartsItemCount + ), + }, + null, + 8, + pP + ), + ]), + _: 1, + } + )) + : $e("", !0), + ]), + _: 1, + } + ), + ]), + ]), + ]), + (a = t.products) != null && a.length + ? (R(), + re("div", yP, [ + y( + tc, + { + items: t.allCategories, + "virtual-scroll-horizontal": "", + }, + { + default: b(({ item: f, index: g }) => [ + (R(), + oe( + Ha, + { + key: g, + color: f.selected ? "grey" : "", + class: "cursor-pointer q-mb-md", + }, + { + default: b(() => [ + S( + "span", + { + textContent: ge(f.category), + onClick: (v) => + t.toggleCategoryFilter( + f.category + ), + }, + null, + 8, + _P + ), + y( + Cn, + { + onClick: (v) => + t.toggleCategoryFilter( + f.category + ), + rounded: "", + class: "q-ml-sm", + color: "secondary", + }, + { + default: b(() => [ + S( + "span", + { textContent: ge(f.count) }, + null, + 8, + bP + ), + ]), + _: 2, + }, + 1032, + ["onClick"] + ), + ]), + _: 2, + }, + 1032, + ["color"] + )), + ]), + _: 1, + }, + 8, + ["items"] + ), + ])) + : $e("", !0), + t.markets.length + ? $e("", !0) + : (R(), + oe( + Jt, + { key: 1, class: "q-mb-sm" }, + { + default: b(() => [ + y( + Ne, + { class: "bg-secondary text-white" }, + { default: b(() => [wP, SP]), _: 1 } + ), + ]), + _: 1, + } + )), + t.isLoading + ? (R(), + re("div", kP, [ + S("div", CP, [ + y(Au, { color: "primary", size: "xl" }), + ]), + ])) + : $e("", !0), + y( + Tw, + { class: "row q-pa-none q-mb-lg gt-sm shadow-2" }, + { + default: b(() => [ + t.bannerImage + ? (R(), + oe( + nc, + { + key: 0, + src: t.bannerImage, + onClick: + r[7] || + (r[7] = (f) => t.navigateTo("market")), + class: "rounded-borders cursor-pointer", + style: { width: "100%", height: "250px" }, + cover: "", + }, + { + default: b(() => { + var f, g; + return [ + (g = + (f = t.config) == null + ? void 0 + : f.opts) != null && g.about + ? (R(), + re("div", TP, [ + S( + "span", + { + textContent: ge( + t.config.opts.about + ), + }, + null, + 8, + MP + ), + ])) + : $e("", !0), + ]; + }), + _: 1, + }, + 8, + ["src"] + )) + : $e("", !0), + ]), + _: 1, + } + ), + S("div", DP, [ + S("div", qP, [ + y( + Pw, + { class: "cursor q-mt-sm q-mr-sm" }, + { + default: b(() => [ + y(_r, null, { + default: b(() => [ + y( + ye, + { + onClick: + r[8] || + (r[8] = (f) => + t.navigateTo("market")), + icon: "home", + flat: "", + class: "q-pa-none", + }, + { + default: b(() => [ + S( + "span", + { + textContent: ge(t.marketsName), + class: "q-ml-sm", + }, + null, + 8, + xP + ), + ]), + _: 1, + } + ), + y( + rg, + { flat: "", class: "q-pl-xs" }, + { + default: b(() => [ + y(kr, null, { + default: b(() => [ + Hn( + (R(), + oe(zt, null, { + default: b(() => [ + y( + Ie, + { side: "", top: "" }, + { + default: b(() => [ + y( + ro, + { + modelValue: + t.allMarketsSelected, + "onUpdate:modelValue": + r[9] || + (r[9] = (f) => + (t.allMarketsSelected = + f)), + onClick: + t.toggleAllMarkets, + }, + null, + 8, + [ + "modelValue", + "onClick", + ] + ), + ]), + _: 1, + } + ), + y(Ie, null, { + default: b(() => [ + y(Ge, null, { + default: b(() => [ + PP, + ]), + _: 1, + }), + y( + Ge, + { caption: "" }, + { + default: b(() => [ + Te( + "Aggregate all markets into one view" + ), + ]), + _: 1, + } + ), + ]), + _: 1, + }), + y( + Ie, + { side: "", top: "" }, + { + default: b(() => [ + Hn( + (R(), + oe( + ye, + { + onClick: + r[10] || + (r[10] = ( + f + ) => + t.createMarket( + !0 + )), + color: "green", + outline: "", + }, + { + default: b( + () => [ + Te("New"), + ] + ), + _: 1, + } + )), + [[Hi]] + ), + ]), + _: 1, + } + ), + ]), + _: 1, + })), + [[Qu]] + ), + y(ut), + (R(!0), + re( + Lt, + null, + Yt( + t.markets, + (f, g) => ( + R(), + oe( + zt, + { key: g }, + { + default: b(() => [ + y( + Ie, + { + side: "", + top: "", + }, + { + default: b(() => [ + y( + ro, + { + modelValue: + f.selected, + "onUpdate:modelValue": + (v) => + (f.selected = + v), + onClick: + r[11] || + (r[11] = ( + v + ) => + t.toggleMarket()), + }, + null, + 8, + [ + "modelValue", + "onUpdate:modelValue", + ] + ), + ]), + _: 2, + }, + 1024 + ), + y( + Ie, + null, + { + default: b(() => [ + y( + Ge, + null, + { + default: b( + () => { + var v; + return [ + S( + "span", + { + textContent: + ge( + ((v = + f.opts) == + null + ? void 0 + : v.name) || + "Market" + ), + }, + null, + 8, + AP + ), + ]; + } + ), + _: 2, + }, + 1024 + ), + y( + Ge, + { + caption: "", + }, + { + default: b( + () => { + var v; + return [ + S( + "span", + { + textContent: + ge( + (v = + f.opts) == + null + ? void 0 + : v.about + ), + class: + "ellipsis-2-lines text-wrap", + }, + null, + 8, + EP + ), + ]; + } + ), + _: 2, + }, + 1024 + ), + ]), + _: 2, + }, + 1024 + ), + y( + Ie, + { + side: "", + top: "", + }, + { + default: b(() => [ + Hn( + y( + ye, + { + color: + "secondary", + flat: "", + icon: "settings", + onClick: ( + v + ) => + t.showMarketConfig( + g + ), + }, + null, + 8, + ["onClick"] + ), + [[Hi]] + ), + ]), + _: 2, + }, + 1024 + ), + ]), + _: 2, + }, + 1024 + ) + ) + ), + 128 + )), + ]), + _: 1, + }), + ]), + _: 1, + } + ), + ]), + _: 1, + }), + t.activePage === "customer-stall" + ? (R(), + oe( + _r, + { + key: 0, + label: t.stallName, + onClick: + r[12] || + (r[12] = (f) => + t.navigateTo("stall", { + stall: t.activeStall, + })), + icon: "storefront", + class: "cursor-pointer", + }, + null, + 8, + ["label"] + )) + : $e("", !0), + t.activePage === "customer-stall" && + t.activeProduct + ? (R(), + oe( + _r, + { + key: 1, + label: t.productName, + class: "cursor-pointer", + icon: "widgets", + }, + null, + 8, + ["label"] + )) + : $e("", !0), + t.activePage === "shopping-cart-list" + ? (R(), + oe(_r, { + key: 2, + label: "Shoping Cart", + icon: "shopping_cart", + })) + : $e("", !0), + t.activePage === "customer-orders" + ? (R(), + oe(_r, { + key: 3, + label: "Orders", + icon: "receipt_long", + })) + : $e("", !0), + t.activePage === "market-config" + ? (R(), + oe(_r, { + key: 4, + label: "Settings", + icon: "settings", + })) + : $e("", !0), + t.activePage === "product-filter" + ? (R(), + oe(_r, { + key: 5, + label: "Filter", + icon: "travel_explore", + })) + : $e("", !0), + t.activePage === "user-config" + ? (R(), + oe(_r, { + key: 6, + label: "User Config", + icon: "perm_identity", + })) + : $e("", !0), + t.activePage === "user-chat" + ? (R(), + oe(_r, { + key: 7, + label: "User Chat", + icon: "chat", + })) + : $e("", !0), + ]), + _: 1, + } + ), + ]), + S("div", IP, [ + t.activePage === "customer-stall" + ? (R(), + oe(ye, { + key: 0, + flat: "", + color: "grey", + icon: "content_copy", + onClick: r[13] || (r[13] = (f) => t.copyUrl()), + class: "float-right", + })) + : t.activePage === "market" && + ((l = t.stalls) == null ? void 0 : l.length) + ? (R(), + oe( + ro, + { + key: 1, + modelValue: t.groupByStall, + "onUpdate:modelValue": + r[14] || + (r[14] = (f) => (t.groupByStall = f)), + class: "q-pl-md q-mt-sm float-right", + size: "xs", + val: "xs", + label: "Group by stalls", + }, + null, + 8, + ["modelValue"] + )) + : $e("", !0), + ]), + ]), + y(ut, { class: "q-mt-sm q-mb-md" }), + t.activePage === "loading" + ? (R(), + re("div", $P, [ + S("div", RP, [ + y(Au, { color: "primary", size: "xl" }), + ]), + ])) + : $e("", !0), + t.activePage === "product-filter" + ? (R(), + oe( + sP, + { + key: 4, + filter: t.filterData, + categories: t.allCategories, + currencies: t.allCurrencies, + merchants: t.allMerchants, + stalls: t.stalls, + profiles: t.profiles, + onFilterUpdate: t.handleFilterData, + class: "q-mb-md", + }, + null, + 8, + [ + "filter", + "categories", + "currencies", + "merchants", + "stalls", + "profiles", + "onFilterUpdate", + ] + )) + : t.activeMarket && t.activePage === "market-config" + ? (R(), + oe( + Pg, + { + key: 5, + market: t.activeMarket, + profiles: t.profiles, + "relays-data": t.activeMarketRelaysData, + "read-notes": t.readNotes, + onApplyUi: t.updateUiConfig, + onMarketUpdate: t.updateMarket, + onDeleteMarket: t.deleteMarket, + onPublishNaddr: t.publishNaddr, + onNoteRead: t.markNoteAsRead, + }, + null, + 8, + [ + "market", + "profiles", + "relays-data", + "read-notes", + "onApplyUi", + "onMarketUpdate", + "onDeleteMarket", + "onPublishNaddr", + "onNoteRead", + ] + )) + : t.activePage === "user-config" + ? (R(), + oe( + Nk, + { + key: 6, + account: t.account, + onLogin: + r[15] || + (r[15] = (f) => (t.accountDialog.show = !0)), + onLogout: t.logout, + onClearAllData: t.clearAllData, + onCopyText: t.copyText, + }, + null, + 8, + [ + "account", + "onLogout", + "onClearAllData", + "onCopyText", + ] + )) + : t.activePage === "user-chat" + ? (R(), + oe( + oD, + { + key: 7, + "account-pubkey": + (s = t.account) == null ? void 0 : s.pubkey, + "peer-pubkeys": t.dmPeers, + profiles: t.profiles, + events: t.dmEvents, + onChatSelected: t.handleDmChatSelected, + onSendDm: t.sendDirectMessage, + }, + null, + 8, + [ + "account-pubkey", + "peer-pubkeys", + "profiles", + "events", + "onChatSelected", + "onSendDm", + ] + )) + : t.activePage === "shopping-cart-list" + ? (R(), + oe( + mD, + { + key: 8, + carts: t.shoppingCarts, + profiles: t.profiles, + onAddToCart: t.addProductToCart, + onRemoveFromCart: t.removeProductFromCart, + onRemoveCart: t.removeCart, + onCheckoutCart: t.checkoutStallCart, + }, + null, + 8, + [ + "carts", + "profiles", + "onAddToCart", + "onRemoveFromCart", + "onRemoveCart", + "onCheckoutCart", + ] + )) + : t.activePage === "shopping-cart-checkout" + ? (R(), + oe( + jD, + { + key: 9, + cart: t.checkoutCart, + stall: t.checkoutStall, + "customer-pubkey": + (u = t.account) == null ? void 0 : u.pubkey, + profiles: t.profiles, + onLoginRequired: t.openAccountDialog, + onPlaceOrder: t.placeOrder, + onChangePage: t.navigateTo, + }, + null, + 8, + [ + "cart", + "stall", + "customer-pubkey", + "profiles", + "onLoginRequired", + "onPlaceOrder", + "onChangePage", + ] + )) + : t.activePage === "customer-orders" + ? (R(), + oe( + Qq, + { + key: 10, + orders: t.orders, + products: t.products, + stalls: t.stalls, + profiles: t.profiles, + onShowInvoice: t.showInvoiceQr, + }, + null, + 8, + [ + "orders", + "products", + "stalls", + "profiles", + "onShowInvoice", + ] + )) + : t.activePage === "customer-stall" + ? (R(), + oe( + xx, + { + key: 11, + stall: t.stalls.find( + (f) => f.id == t.activeStall + ), + products: t.filteredProducts, + "product-detail": t.activeProduct, + onChangePage: t.navigateTo, + onAddToCart: t.addProductToCart, + }, + null, + 8, + [ + "stall", + "products", + "product-detail", + "onChangePage", + "onAddToCart", + ] + )) + : (d = t.markets) != null && d.length + ? (R(), + re("div", zP, [ + t.groupByStall + ? (R(), + oe( + Yx, + { + key: 0, + stalls: t.filterStalls, + onChangePage: t.navigateTo, + }, + null, + 8, + ["stalls", "onChangePage"] + )) + : (R(), + oe( + _q, + { + key: 1, + "filtered-products": t.filteredProducts, + "search-text": t.searchText, + "filter-categories": + t.filterData.categories, + onChangePage: t.navigateTo, + onAddToCart: t.addProductToCart, + }, + null, + 8, + [ + "filtered-products", + "search-text", + "filter-categories", + "onChangePage", + "onAddToCart", + ] + )), + ])) + : (R(), + re("div", OP, [ + y( + kr, + { class: "q-mt-md", bordered: "" }, + { + default: b(() => [ + y(zt, null, { + default: b(() => [ + y( + Ie, + { class: "q-mt-sm q-ml-lg" }, + { + default: b(() => [ + y(Ge, null, { + default: b(() => [LP]), + _: 1, + }), + y(ut, { class: "q-mb-xl q-mt-md" }), + y(Ge, null, { + default: b(() => [NP]), + _: 1, + }), + ]), + _: 1, + } + ), + ]), + _: 1, + }), + y(zt, null, { + default: b(() => [ + y( + Ie, + { class: "q-mt-sm q-ml-lg" }, + { + default: b(() => [ + y(Ge, null, { + default: b(() => [ + S("ul", null, [ + S("li", null, [ + S("span", BP, [ + y( + ye, + { + onClick: + r[16] || + (r[16] = (f) => + t.addMarket( + t.defaultMarketNaddr + )), + size: "xl", + flat: "", + color: "secondary", + class: "q-mb-xs", + }, + { + default: b(() => [ + Te("Import"), + ]), + _: 1, + } + ), + Te( + " a list of popular merchants, or " + ), + ]), + ]), + S("li", null, [ + S("span", FP, [ + y( + ye, + { + onClick: + r[17] || + (r[17] = (f) => + t.createMarket( + !0 + )), + flat: "", + size: "xl", + color: "secondary", + class: "q-mb-xs", + }, + { + default: b(() => [ + Te( + "Add a merchant" + ), + ]), + _: 1, + } + ), + Te( + " using its public key, or " + ), + ]), + ]), + S("li", null, [ + S("span", UP, [ + y( + ye, + { + onClick: + r[18] || + (r[18] = (f) => + t.focusOnElement( + "search-text" + )), + flat: "", + size: "xl", + color: "secondary", + class: "q-mb-xs", + }, + { + default: b(() => [ + Te( + "Add a market profile" + ), + ]), + _: 1, + } + ), + Te(" using a shareable "), + VP, + Te(" identifier "), + ]), + y( + It, + { + class: "rounded-pill", + style: { + width: "100%", + }, + rounded: "", + outlined: "", + clearable: "", + modelValue: + t.searchText, + "onUpdate:modelValue": + r[19] || + (r[19] = (f) => + (t.searchText = f)), + modelModifiers: { + trim: !0, + }, + label: + "Load market profile (naddr)...", + }, + null, + 8, + ["modelValue"] + ), + ]), + ]), + ]), + _: 1, + }), + ]), + _: 1, + } + ), + y(Ie, { side: "" }), + ]), + _: 1, + }), + ]), + _: 1, + } + ), + ])), + ]; + }), + _: 1, + } + ), + y( + co, + { + modelValue: t.accountDialog.show, + "onUpdate:modelValue": + r[22] || (r[22] = (a) => (t.accountDialog.show = a)), + position: "top", + }, + { + default: b(() => [ + y(Jt, null, { + default: b(() => [ + y( + Ne, + { class: "row" }, + { default: b(() => [WP, y(Iw)]), _: 1 } + ), + y(Ne, null, { default: b(() => [YP]), _: 1 }), + y( + Ne, + { class: "q-pt-none" }, + { + default: b(() => [ + y( + It, + { + dense: "", + label: "Nsec/Hex", + modelValue: t.accountDialog.data.key, + "onUpdate:modelValue": + r[20] || + (r[20] = (a) => + (t.accountDialog.data.key = a)), + autofocus: "", + onKeyup: qu(t.createAccount, ["enter"]), + error: + t.accountDialog.data.key && + !t.isValidAccountKey, + hint: "Enter you private key", + }, + null, + 8, + ["modelValue", "onKeyup", "error"] + ), + ]), + _: 1, + } + ), + y( + yi, + { align: "right", class: "text-primary" }, + { + default: b(() => [ + t.isValidAccountKey + ? (R(), + oe(ye, { + key: 0, + label: "Login", + color: "primary", + onClick: + r[21] || + (r[21] = () => t.createAccount()), + })) + : (R(), + oe( + ye, + { + key: 1, + flat: "", + label: "Generate", + onClick: t.generateKeyPair, + }, + null, + 8, + ["onClick"] + )), + Hn( + (R(), + oe( + ye, + { + flat: "", + color: "grey", + class: "q-ml-auto", + }, + { default: b(() => [Te("Close")]), _: 1 } + )), + [[Hi]] + ), + ]), + _: 1, + } + ), + ]), + _: 1, + }), + ]), + _: 1, + }, + 8, + ["modelValue"] + ), + y( + co, + { + modelValue: t.qrCodeDialog.show, + "onUpdate:modelValue": + r[24] || (r[24] = (a) => (t.qrCodeDialog.show = a)), + position: "top", + }, + { + default: b(() => [ + y( + Jt, + { class: "q-pa-md q-pt-xl" }, + { + default: b(() => { + var a; + return [ + S("div", HP, [ + t.qrCodeDialog.data.message + ? (R(), + re("div", GP, [ + S("strong", null, [ + S( + "span", + { + textContent: ge( + t.qrCodeDialog.data.message + ), + }, + null, + 8, + KP + ), + ]), + ])) + : (R(), + re( + "a", + { + key: 1, + href: + "lightning:" + + ((a = t.qrCodeDialog.data) == null + ? void 0 + : a.payment_request), + }, + [ + t.qrCodeDialog.data.payment_request + ? (R(), + re("div", jP, [ + y( + lw(MS), + { + value: + t.qrCodeDialog.data + .payment_request, + options: { width: 340 }, + class: "rounded-borders", + }, + null, + 8, + ["value"] + ), + ])) + : (R(), + re("div", ZP, [ + y(Ih, { + color: "primary", + size: "2.55em", + }), + ])), + ], + 8, + QP + )), + ]), + S("div", JP, [ + t.qrCodeDialog.data.payment_request + ? (R(), + oe( + ye, + { + key: 0, + outline: "", + color: "grey", + onClick: + r[23] || + (r[23] = (l) => + t.copyText( + t.qrCodeDialog.data.payment_request + )), + }, + { + default: b(() => [Te("Copy invoice")]), + _: 1, + } + )) + : $e("", !0), + Hn( + (R(), + oe( + ye, + { + flat: "", + color: "grey", + class: "q-ml-auto", + }, + { default: b(() => [Te("Close")]), _: 1 } + )), + [[Hi]] + ), + ]), + ]; + }), + _: 1, + } + ), + ]), + _: 1, + }, + 8, + ["modelValue"] + ), + ], + 64 + ) + ) + ); + }, + }); +export { nA as default }; diff --git a/market/assets/QResizeObserver.b8a0e5fe.js b/market/assets/QResizeObserver.b8a0e5fe.js index 9e56851..661a978 100644 --- a/market/assets/QResizeObserver.b8a0e5fe.js +++ b/market/assets/QResizeObserver.b8a0e5fe.js @@ -1 +1,538 @@ -import{P as _,K as F,L as m,M as S,N as Y,O as h,Q as b,R as P,S as y,T as w,U as C,V as B,c as k,w as M,o as g,k as z,W as j,t as N,X as T,Y as Q,Z as V,r as $,z as H,n as L,p as U}from"./index.d0f96b53.js";const q={left:!0,right:!0,up:!0,down:!0,horizontal:!0,vertical:!0},I=Object.keys(q);q.all=!0;function R(o){const t={};for(const i of I)o[i]===!0&&(t[i]=!0);return Object.keys(t).length===0?q:(t.horizontal===!0?t.left=t.right=!0:t.left===!0&&t.right===!0&&(t.horizontal=!0),t.vertical===!0?t.up=t.down=!0:t.up===!0&&t.down===!0&&(t.vertical=!0),t.horizontal===!0&&t.vertical===!0&&(t.all=!0),t)}const K=["INPUT","TEXTAREA"];function x(o,t){return t.event===void 0&&o.target!==void 0&&o.target.draggable!==!0&&typeof t.handler=="function"&&K.includes(o.target.nodeName.toUpperCase())===!1&&(o.qClonedBy===void 0||o.qClonedBy.indexOf(t.uid)===-1)}function W(){if(window.getSelection!==void 0){const o=window.getSelection();o.empty!==void 0?o.empty():o.removeAllRanges!==void 0&&(o.removeAllRanges(),_.is.mobile!==!0&&o.addRange(document.createRange()))}else document.selection!==void 0&&document.selection.empty()}function E(o,t,i){const u=w(o);let e,n=u.left-t.event.x,s=u.top-t.event.y,a=Math.abs(n),l=Math.abs(s);const r=t.direction;r.horizontal===!0&&r.vertical!==!0?e=n<0?"left":"right":r.horizontal!==!0&&r.vertical===!0?e=s<0?"up":"down":r.up===!0&&s<0?(e="up",a>l&&(r.left===!0&&n<0?e="left":r.right===!0&&n>0&&(e="right"))):r.down===!0&&s>0?(e="down",a>l&&(r.left===!0&&n<0?e="left":r.right===!0&&n>0&&(e="right"))):r.left===!0&&n<0?(e="left",a0&&(e="down"))):r.right===!0&&n>0&&(e="right",a0&&(e="down")));let f=!1;if(e===void 0&&i===!1){if(t.event.isFirst===!0||t.event.lastDir===void 0)return{};e=t.event.lastDir,f=!0,e==="left"||e==="right"?(u.left-=n,a=0,n=0):(u.top-=s,l=0,s=0)}return{synthetic:f,payload:{evt:o,touch:t.event.mouse!==!0,mouse:t.event.mouse===!0,position:u,direction:e,isFirst:t.event.isFirst,isFinal:i===!0,duration:Date.now()-t.event.time,distance:{x:a,y:l},offset:{x:n,y:s},delta:{x:u.left-t.event.lastX,y:u.top-t.event.lastY}}}}let Z=0;var te=F({name:"touch-pan",beforeMount(o,{value:t,modifiers:i}){if(i.mouse!==!0&&m.has.touch!==!0)return;function u(n,s){i.mouse===!0&&s===!0?B(n):(i.stop===!0&&y(n),i.prevent===!0&&P(n))}const e={uid:"qvtp_"+Z++,handler:t,modifiers:i,direction:R(i),noop:S,mouseStart(n){x(n,e)&&Y(n)&&(h(e,"temp",[[document,"mousemove","move","notPassiveCapture"],[document,"mouseup","end","passiveCapture"]]),e.start(n,!0))},touchStart(n){if(x(n,e)){const s=n.target;h(e,"temp",[[s,"touchmove","move","notPassiveCapture"],[s,"touchcancel","end","passiveCapture"],[s,"touchend","end","passiveCapture"]]),e.start(n)}},start(n,s){if(m.is.firefox===!0&&b(o,!0),e.lastEvt=n,s===!0||i.stop===!0){if(e.direction.all!==!0&&(s!==!0||e.modifiers.mouseAllDir!==!0&&e.modifiers.mousealldir!==!0)){const r=n.type.indexOf("mouse")>-1?new MouseEvent(n.type,n):new TouchEvent(n.type,n);n.defaultPrevented===!0&&P(r),n.cancelBubble===!0&&y(r),Object.assign(r,{qKeyEvent:n.qKeyEvent,qClickOutside:n.qClickOutside,qAnchorHandled:n.qAnchorHandled,qClonedBy:n.qClonedBy===void 0?[e.uid]:n.qClonedBy.concat(e.uid)}),e.initialEvent={target:n.target,event:r}}y(n)}const{left:a,top:l}=w(n);e.event={x:a,y:l,time:Date.now(),mouse:s===!0,detected:!1,isFirst:!0,isFinal:!1,lastX:a,lastY:l}},move(n){if(e.event===void 0)return;const s=w(n),a=s.left-e.event.x,l=s.top-e.event.y;if(a===0&&l===0)return;e.lastEvt=n;const r=e.event.mouse===!0,f=()=>{u(n,r);let c;i.preserveCursor!==!0&&i.preservecursor!==!0&&(c=document.documentElement.style.cursor||"",document.documentElement.style.cursor="grabbing"),r===!0&&document.body.classList.add("no-pointer-events--children"),document.body.classList.add("non-selectable"),W(),e.styleCleanup=p=>{if(e.styleCleanup=void 0,c!==void 0&&(document.documentElement.style.cursor=c),document.body.classList.remove("non-selectable"),r===!0){const O=()=>{document.body.classList.remove("no-pointer-events--children")};p!==void 0?setTimeout(()=>{O(),p()},50):O()}else p!==void 0&&p()}};if(e.event.detected===!0){e.event.isFirst!==!0&&u(n,e.event.mouse);const{payload:c,synthetic:p}=E(n,e,!1);c!==void 0&&(e.handler(c)===!1?e.end(n):(e.styleCleanup===void 0&&e.event.isFirst===!0&&f(),e.event.lastX=c.position.left,e.event.lastY=c.position.top,e.event.lastDir=p===!0?void 0:c.direction,e.event.isFirst=!1));return}if(e.direction.all===!0||r===!0&&(e.modifiers.mouseAllDir===!0||e.modifiers.mousealldir===!0)){f(),e.event.detected=!0,e.move(n);return}const d=Math.abs(a),v=Math.abs(l);d!==v&&(e.direction.horizontal===!0&&d>v||e.direction.vertical===!0&&d0||e.direction.left===!0&&d>v&&a<0||e.direction.right===!0&&d>v&&a>0?(e.event.detected=!0,e.move(n)):e.end(n,!0))},end(n,s){if(e.event!==void 0){if(C(e,"temp"),m.is.firefox===!0&&b(o,!1),s===!0)e.styleCleanup!==void 0&&e.styleCleanup(),e.event.detected!==!0&&e.initialEvent!==void 0&&e.initialEvent.target.dispatchEvent(e.initialEvent.event);else if(e.event.detected===!0){e.event.isFirst===!0&&e.handler(E(n===void 0?e.lastEvt:n,e).payload);const{payload:a}=E(n===void 0?e.lastEvt:n,e,!0),l=()=>{e.handler(a)};e.styleCleanup!==void 0?e.styleCleanup(l):l()}e.event=void 0,e.initialEvent=void 0,e.lastEvt=void 0}}};if(o.__qtouchpan=e,i.mouse===!0){const n=i.mouseCapture===!0||i.mousecapture===!0?"Capture":"";h(e,"main",[[o,"mousedown","mouseStart",`passive${n}`]])}m.has.touch===!0&&h(e,"main",[[o,"touchstart","touchStart",`passive${i.capture===!0?"Capture":""}`],[o,"touchmove","noop","notPassiveCapture"]])},updated(o,t){const i=o.__qtouchpan;i!==void 0&&(t.oldValue!==t.value&&(typeof value!="function"&&i.end(),i.handler=t.value),i.direction=R(t.modifiers))},beforeUnmount(o){const t=o.__qtouchpan;t!==void 0&&(t.event!==void 0&&t.end(),C(t,"main"),C(t,"temp"),m.is.firefox===!0&&b(o,!1),t.styleCleanup!==void 0&&t.styleCleanup(),delete o.__qtouchpan)}});function ne(o,t,i){return i<=t?t:Math.min(i,Math.max(t,o))}function ie(o,t,i){if(i<=t)return t;const u=i-t+1;let e=t+(o-t)%u;return eG.includes(o),default:"vertical"},debounce:[String,Number],scrollTarget:{default:void 0}},emits:["scroll"],setup(o,{emit:t}){const i={position:{top:0,left:0},direction:"down",directionChanged:!1,delta:{top:0,left:0},inflectionPoint:{top:0,left:0}};let u=null,e,n;M(()=>o.scrollTarget,()=>{l(),a()});function s(){u!==null&&u();const d=Math.max(0,Q(e)),v=V(e),c={top:d-i.position.top,left:v-i.position.left};if(o.axis==="vertical"&&c.top===0||o.axis==="horizontal"&&c.left===0)return;const p=Math.abs(c.top)>=Math.abs(c.left)?c.top<0?"up":"down":c.left<0?"left":"right";i.position={top:d,left:v},i.directionChanged=i.direction!==p,i.delta=c,i.directionChanged===!0&&(i.direction=p,i.inflectionPoint=i.position),t("scroll",{...i})}function a(){e=j(n,o.scrollTarget),e.addEventListener("scroll",r,A),r(!0)}function l(){e!==void 0&&(e.removeEventListener("scroll",r,A),e=void 0)}function r(d){if(d===!0||o.debounce===0||o.debounce==="0")s();else if(u===null){const[v,c]=o.debounce?[setTimeout(s,o.debounce),clearTimeout]:[requestAnimationFrame(s),cancelAnimationFrame];u=()=>{c(v),u=null}}}const{proxy:f}=N();return M(()=>f.$q.lang.rtl,s),g(()=>{n=f.$el.parentNode,a()}),z(()=>{u!==null&&u(),l()}),Object.assign(f,{trigger:r,getPosition:()=>i}),S}});function J(){const o=$(!H.value);return o.value===!1&&g(()=>{o.value=!0}),o}const X=typeof ResizeObserver!="undefined",D=X===!0?{}:{style:"display:block;position:absolute;top:0;left:0;right:0;bottom:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1;",url:"about:blank"};var re=k({name:"QResizeObserver",props:{debounce:{type:[String,Number],default:100}},emits:["resize"],setup(o,{emit:t}){let i=null,u,e={width:-1,height:-1};function n(l){l===!0||o.debounce===0||o.debounce==="0"?s():i===null&&(i=setTimeout(s,o.debounce))}function s(){if(i!==null&&(clearTimeout(i),i=null),u){const{offsetWidth:l,offsetHeight:r}=u;(l!==e.width||r!==e.height)&&(e={width:l,height:r},t("resize",e))}}const{proxy:a}=N();if(X===!0){let l;const r=f=>{u=a.$el.parentNode,u?(l=new ResizeObserver(n),l.observe(u),s()):f!==!0&&L(()=>{r(!0)})};return g(()=>{r()}),z(()=>{i!==null&&clearTimeout(i),l!==void 0&&(l.disconnect!==void 0?l.disconnect():u&&l.unobserve(u))}),S}else{let f=function(){i!==null&&(clearTimeout(i),i=null),r!==void 0&&(r.removeEventListener!==void 0&&r.removeEventListener("resize",n,T.passive),r=void 0)},d=function(){f(),u&&u.contentDocument&&(r=u.contentDocument.defaultView,r.addEventListener("resize",n,T.passive),s())};const l=J();let r;return g(()=>{L(()=>{u=a.$el,u&&d()})}),z(f),a.trigger=n,()=>{if(l.value===!0)return U("object",{style:D.style,tabindex:-1,type:"text/html",data:D.url,"aria-hidden":"true",onLoad:d})}}}});export{oe as Q,te as T,re as a,ne as b,W as c,R as g,ie as n,x as s}; +import { + P as _, + K as F, + L as m, + M as S, + N as Y, + O as h, + Q as b, + R as P, + S as y, + T as w, + U as C, + V as B, + c as k, + w as M, + o as g, + k as z, + W as j, + t as N, + X as T, + Y as Q, + Z as V, + r as $, + z as H, + n as L, + p as U, +} from "./index.d0f96b53.js"; +const q = { + left: !0, + right: !0, + up: !0, + down: !0, + horizontal: !0, + vertical: !0, + }, + I = Object.keys(q); +q.all = !0; +function R(o) { + const t = {}; + for (const i of I) o[i] === !0 && (t[i] = !0); + return Object.keys(t).length === 0 + ? q + : (t.horizontal === !0 + ? (t.left = t.right = !0) + : t.left === !0 && t.right === !0 && (t.horizontal = !0), + t.vertical === !0 + ? (t.up = t.down = !0) + : t.up === !0 && t.down === !0 && (t.vertical = !0), + t.horizontal === !0 && t.vertical === !0 && (t.all = !0), + t); +} +const K = ["INPUT", "TEXTAREA"]; +function x(o, t) { + return ( + t.event === void 0 && + o.target !== void 0 && + o.target.draggable !== !0 && + typeof t.handler == "function" && + K.includes(o.target.nodeName.toUpperCase()) === !1 && + (o.qClonedBy === void 0 || o.qClonedBy.indexOf(t.uid) === -1) + ); +} +function W() { + if (window.getSelection !== void 0) { + const o = window.getSelection(); + o.empty !== void 0 + ? o.empty() + : o.removeAllRanges !== void 0 && + (o.removeAllRanges(), + _.is.mobile !== !0 && o.addRange(document.createRange())); + } else document.selection !== void 0 && document.selection.empty(); +} +function E(o, t, i) { + const u = w(o); + let e, + n = u.left - t.event.x, + s = u.top - t.event.y, + a = Math.abs(n), + l = Math.abs(s); + const r = t.direction; + r.horizontal === !0 && r.vertical !== !0 + ? (e = n < 0 ? "left" : "right") + : r.horizontal !== !0 && r.vertical === !0 + ? (e = s < 0 ? "up" : "down") + : r.up === !0 && s < 0 + ? ((e = "up"), + a > l && + (r.left === !0 && n < 0 + ? (e = "left") + : r.right === !0 && n > 0 && (e = "right"))) + : r.down === !0 && s > 0 + ? ((e = "down"), + a > l && + (r.left === !0 && n < 0 + ? (e = "left") + : r.right === !0 && n > 0 && (e = "right"))) + : r.left === !0 && n < 0 + ? ((e = "left"), + a < l && + (r.up === !0 && s < 0 + ? (e = "up") + : r.down === !0 && s > 0 && (e = "down"))) + : r.right === !0 && + n > 0 && + ((e = "right"), + a < l && + (r.up === !0 && s < 0 + ? (e = "up") + : r.down === !0 && s > 0 && (e = "down"))); + let f = !1; + if (e === void 0 && i === !1) { + if (t.event.isFirst === !0 || t.event.lastDir === void 0) return {}; + (e = t.event.lastDir), + (f = !0), + e === "left" || e === "right" + ? ((u.left -= n), (a = 0), (n = 0)) + : ((u.top -= s), (l = 0), (s = 0)); + } + return { + synthetic: f, + payload: { + evt: o, + touch: t.event.mouse !== !0, + mouse: t.event.mouse === !0, + position: u, + direction: e, + isFirst: t.event.isFirst, + isFinal: i === !0, + duration: Date.now() - t.event.time, + distance: { x: a, y: l }, + offset: { x: n, y: s }, + delta: { x: u.left - t.event.lastX, y: u.top - t.event.lastY }, + }, + }; +} +let Z = 0; +var te = F({ + name: "touch-pan", + beforeMount(o, { value: t, modifiers: i }) { + if (i.mouse !== !0 && m.has.touch !== !0) return; + function u(n, s) { + i.mouse === !0 && s === !0 + ? B(n) + : (i.stop === !0 && y(n), i.prevent === !0 && P(n)); + } + const e = { + uid: "qvtp_" + Z++, + handler: t, + modifiers: i, + direction: R(i), + noop: S, + mouseStart(n) { + x(n, e) && + Y(n) && + (h(e, "temp", [ + [document, "mousemove", "move", "notPassiveCapture"], + [document, "mouseup", "end", "passiveCapture"], + ]), + e.start(n, !0)); + }, + touchStart(n) { + if (x(n, e)) { + const s = n.target; + h(e, "temp", [ + [s, "touchmove", "move", "notPassiveCapture"], + [s, "touchcancel", "end", "passiveCapture"], + [s, "touchend", "end", "passiveCapture"], + ]), + e.start(n); + } + }, + start(n, s) { + if ( + (m.is.firefox === !0 && b(o, !0), + (e.lastEvt = n), + s === !0 || i.stop === !0) + ) { + if ( + e.direction.all !== !0 && + (s !== !0 || + (e.modifiers.mouseAllDir !== !0 && + e.modifiers.mousealldir !== !0)) + ) { + const r = + n.type.indexOf("mouse") > -1 + ? new MouseEvent(n.type, n) + : new TouchEvent(n.type, n); + n.defaultPrevented === !0 && P(r), + n.cancelBubble === !0 && y(r), + Object.assign(r, { + qKeyEvent: n.qKeyEvent, + qClickOutside: n.qClickOutside, + qAnchorHandled: n.qAnchorHandled, + qClonedBy: + n.qClonedBy === void 0 ? [e.uid] : n.qClonedBy.concat(e.uid), + }), + (e.initialEvent = { target: n.target, event: r }); + } + y(n); + } + const { left: a, top: l } = w(n); + e.event = { + x: a, + y: l, + time: Date.now(), + mouse: s === !0, + detected: !1, + isFirst: !0, + isFinal: !1, + lastX: a, + lastY: l, + }; + }, + move(n) { + if (e.event === void 0) return; + const s = w(n), + a = s.left - e.event.x, + l = s.top - e.event.y; + if (a === 0 && l === 0) return; + e.lastEvt = n; + const r = e.event.mouse === !0, + f = () => { + u(n, r); + let c; + i.preserveCursor !== !0 && + i.preservecursor !== !0 && + ((c = document.documentElement.style.cursor || ""), + (document.documentElement.style.cursor = "grabbing")), + r === !0 && + document.body.classList.add("no-pointer-events--children"), + document.body.classList.add("non-selectable"), + W(), + (e.styleCleanup = (p) => { + if ( + ((e.styleCleanup = void 0), + c !== void 0 && (document.documentElement.style.cursor = c), + document.body.classList.remove("non-selectable"), + r === !0) + ) { + const O = () => { + document.body.classList.remove( + "no-pointer-events--children" + ); + }; + p !== void 0 + ? setTimeout(() => { + O(), p(); + }, 50) + : O(); + } else p !== void 0 && p(); + }); + }; + if (e.event.detected === !0) { + e.event.isFirst !== !0 && u(n, e.event.mouse); + const { payload: c, synthetic: p } = E(n, e, !1); + c !== void 0 && + (e.handler(c) === !1 + ? e.end(n) + : (e.styleCleanup === void 0 && e.event.isFirst === !0 && f(), + (e.event.lastX = c.position.left), + (e.event.lastY = c.position.top), + (e.event.lastDir = p === !0 ? void 0 : c.direction), + (e.event.isFirst = !1))); + return; + } + if ( + e.direction.all === !0 || + (r === !0 && + (e.modifiers.mouseAllDir === !0 || e.modifiers.mousealldir === !0)) + ) { + f(), (e.event.detected = !0), e.move(n); + return; + } + const d = Math.abs(a), + v = Math.abs(l); + d !== v && + ((e.direction.horizontal === !0 && d > v) || + (e.direction.vertical === !0 && d < v) || + (e.direction.up === !0 && d < v && l < 0) || + (e.direction.down === !0 && d < v && l > 0) || + (e.direction.left === !0 && d > v && a < 0) || + (e.direction.right === !0 && d > v && a > 0) + ? ((e.event.detected = !0), e.move(n)) + : e.end(n, !0)); + }, + end(n, s) { + if (e.event !== void 0) { + if ((C(e, "temp"), m.is.firefox === !0 && b(o, !1), s === !0)) + e.styleCleanup !== void 0 && e.styleCleanup(), + e.event.detected !== !0 && + e.initialEvent !== void 0 && + e.initialEvent.target.dispatchEvent(e.initialEvent.event); + else if (e.event.detected === !0) { + e.event.isFirst === !0 && + e.handler(E(n === void 0 ? e.lastEvt : n, e).payload); + const { payload: a } = E(n === void 0 ? e.lastEvt : n, e, !0), + l = () => { + e.handler(a); + }; + e.styleCleanup !== void 0 ? e.styleCleanup(l) : l(); + } + (e.event = void 0), (e.initialEvent = void 0), (e.lastEvt = void 0); + } + }, + }; + if (((o.__qtouchpan = e), i.mouse === !0)) { + const n = i.mouseCapture === !0 || i.mousecapture === !0 ? "Capture" : ""; + h(e, "main", [[o, "mousedown", "mouseStart", `passive${n}`]]); + } + m.has.touch === !0 && + h(e, "main", [ + [ + o, + "touchstart", + "touchStart", + `passive${i.capture === !0 ? "Capture" : ""}`, + ], + [o, "touchmove", "noop", "notPassiveCapture"], + ]); + }, + updated(o, t) { + const i = o.__qtouchpan; + i !== void 0 && + (t.oldValue !== t.value && + (typeof value != "function" && i.end(), (i.handler = t.value)), + (i.direction = R(t.modifiers))); + }, + beforeUnmount(o) { + const t = o.__qtouchpan; + t !== void 0 && + (t.event !== void 0 && t.end(), + C(t, "main"), + C(t, "temp"), + m.is.firefox === !0 && b(o, !1), + t.styleCleanup !== void 0 && t.styleCleanup(), + delete o.__qtouchpan); + }, +}); +function ne(o, t, i) { + return i <= t ? t : Math.min(i, Math.max(t, o)); +} +function ie(o, t, i) { + if (i <= t) return t; + const u = i - t + 1; + let e = t + ((o - t) % u); + return e < t && (e = u + e), e === 0 ? 0 : e; +} +const { passive: A } = T, + G = ["both", "horizontal", "vertical"]; +var oe = k({ + name: "QScrollObserver", + props: { + axis: { + type: String, + validator: (o) => G.includes(o), + default: "vertical", + }, + debounce: [String, Number], + scrollTarget: { default: void 0 }, + }, + emits: ["scroll"], + setup(o, { emit: t }) { + const i = { + position: { top: 0, left: 0 }, + direction: "down", + directionChanged: !1, + delta: { top: 0, left: 0 }, + inflectionPoint: { top: 0, left: 0 }, + }; + let u = null, + e, + n; + M( + () => o.scrollTarget, + () => { + l(), a(); + } + ); + function s() { + u !== null && u(); + const d = Math.max(0, Q(e)), + v = V(e), + c = { top: d - i.position.top, left: v - i.position.left }; + if ( + (o.axis === "vertical" && c.top === 0) || + (o.axis === "horizontal" && c.left === 0) + ) + return; + const p = + Math.abs(c.top) >= Math.abs(c.left) + ? c.top < 0 + ? "up" + : "down" + : c.left < 0 + ? "left" + : "right"; + (i.position = { top: d, left: v }), + (i.directionChanged = i.direction !== p), + (i.delta = c), + i.directionChanged === !0 && + ((i.direction = p), (i.inflectionPoint = i.position)), + t("scroll", { ...i }); + } + function a() { + (e = j(n, o.scrollTarget)), e.addEventListener("scroll", r, A), r(!0); + } + function l() { + e !== void 0 && (e.removeEventListener("scroll", r, A), (e = void 0)); + } + function r(d) { + if (d === !0 || o.debounce === 0 || o.debounce === "0") s(); + else if (u === null) { + const [v, c] = o.debounce + ? [setTimeout(s, o.debounce), clearTimeout] + : [requestAnimationFrame(s), cancelAnimationFrame]; + u = () => { + c(v), (u = null); + }; + } + } + const { proxy: f } = N(); + return ( + M(() => f.$q.lang.rtl, s), + g(() => { + (n = f.$el.parentNode), a(); + }), + z(() => { + u !== null && u(), l(); + }), + Object.assign(f, { trigger: r, getPosition: () => i }), + S + ); + }, +}); +function J() { + const o = $(!H.value); + return ( + o.value === !1 && + g(() => { + o.value = !0; + }), + o + ); +} +const X = typeof ResizeObserver != "undefined", + D = + X === !0 + ? {} + : { + style: + "display:block;position:absolute;top:0;left:0;right:0;bottom:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1;", + url: "about:blank", + }; +var re = k({ + name: "QResizeObserver", + props: { debounce: { type: [String, Number], default: 100 } }, + emits: ["resize"], + setup(o, { emit: t }) { + let i = null, + u, + e = { width: -1, height: -1 }; + function n(l) { + l === !0 || o.debounce === 0 || o.debounce === "0" + ? s() + : i === null && (i = setTimeout(s, o.debounce)); + } + function s() { + if ((i !== null && (clearTimeout(i), (i = null)), u)) { + const { offsetWidth: l, offsetHeight: r } = u; + (l !== e.width || r !== e.height) && + ((e = { width: l, height: r }), t("resize", e)); + } + } + const { proxy: a } = N(); + if (X === !0) { + let l; + const r = (f) => { + (u = a.$el.parentNode), + u + ? ((l = new ResizeObserver(n)), l.observe(u), s()) + : f !== !0 && + L(() => { + r(!0); + }); + }; + return ( + g(() => { + r(); + }), + z(() => { + i !== null && clearTimeout(i), + l !== void 0 && + (l.disconnect !== void 0 ? l.disconnect() : u && l.unobserve(u)); + }), + S + ); + } else { + let f = function () { + i !== null && (clearTimeout(i), (i = null)), + r !== void 0 && + (r.removeEventListener !== void 0 && + r.removeEventListener("resize", n, T.passive), + (r = void 0)); + }, + d = function () { + f(), + u && + u.contentDocument && + ((r = u.contentDocument.defaultView), + r.addEventListener("resize", n, T.passive), + s()); + }; + const l = J(); + let r; + return ( + g(() => { + L(() => { + (u = a.$el), u && d(); + }); + }), + z(f), + (a.trigger = n), + () => { + if (l.value === !0) + return U("object", { + style: D.style, + tabindex: -1, + type: "text/html", + data: D.url, + "aria-hidden": "true", + onLoad: d, + }); + } + ); + } + }, +}); +export { oe as Q, te as T, re as a, ne as b, W as c, R as g, ie as n, x as s }; diff --git a/market/assets/index.d0f96b53.js b/market/assets/index.d0f96b53.js index ab53db4..9dec15d 100644 --- a/market/assets/index.d0f96b53.js +++ b/market/assets/index.d0f96b53.js @@ -1,5 +1,11523 @@ -function Vr(e,t){const n=Object.create(null),o=e.split(",");for(let r=0;r!!n[r.toLowerCase()]:r=>!!n[r]}const ve={},nn=[],nt=()=>{},iu=()=>!1,su=/^on[^a-z]/,To=e=>su.test(e),Dr=e=>e.startsWith("onUpdate:"),Ce=Object.assign,Hr=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},lu=Object.prototype.hasOwnProperty,ce=(e,t)=>lu.call(e,t),te=Array.isArray,on=e=>Qn(e)==="[object Map]",Gs=e=>Qn(e)==="[object Set]",au=e=>Qn(e)==="[object RegExp]",le=e=>typeof e=="function",xe=e=>typeof e=="string",zr=e=>typeof e=="symbol",ye=e=>e!==null&&typeof e=="object",el=e=>ye(e)&&le(e.then)&&le(e.catch),tl=Object.prototype.toString,Qn=e=>tl.call(e),uu=e=>Qn(e).slice(8,-1),nl=e=>Qn(e)==="[object Object]",Kr=e=>xe(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,co=Vr(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),qo=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},cu=/-(\w)/g,ct=qo(e=>e.replace(cu,(t,n)=>n?n.toUpperCase():"")),fu=/\B([A-Z])/g,Kt=qo(e=>e.replace(fu,"-$1").toLowerCase()),Ao=qo(e=>e.charAt(0).toUpperCase()+e.slice(1)),Ko=qo(e=>e?`on${Ao(e)}`:""),Fn=(e,t)=>!Object.is(e,t),qn=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},du=e=>{const t=parseFloat(e);return isNaN(t)?e:t},hu=e=>{const t=xe(e)?Number(e):NaN;return isNaN(t)?e:t};let _i;const mr=()=>_i||(_i=typeof globalThis!="undefined"?globalThis:typeof self!="undefined"?self:typeof window!="undefined"?window:typeof global!="undefined"?global:{});function Ur(e){if(te(e)){const t={};for(let n=0;n{if(n){const o=n.split(mu);o.length>1&&(t[o[0].trim()]=o[1].trim())}}),t}function Wr(e){let t="";if(xe(e))t=e;else if(te(e))for(let n=0;nxe(e)?e:e==null?"":te(e)||ye(e)&&(e.toString===tl||!le(e.toString))?JSON.stringify(e,rl,2):String(e),rl=(e,t)=>t&&t.__v_isRef?rl(e,t.value):on(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[o,r])=>(n[`${o} =>`]=r,n),{})}:Gs(t)?{[`Set(${t.size})`]:[...t.values()]}:ye(t)&&!te(t)&&!nl(t)?String(t):t;let Ye;class _u{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=Ye,!t&&Ye&&(this.index=(Ye.scopes||(Ye.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=Ye;try{return Ye=this,t()}finally{Ye=n}}}on(){Ye=this}off(){Ye=this.parent}stop(t){if(this._active){let n,o;for(n=0,o=this.effects.length;n{const t=new Set(e);return t.w=0,t.n=0,t},il=e=>(e.w&Tt)>0,sl=e=>(e.n&Tt)>0,Cu=({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{(u==="length"||u>=a)&&l.push(c)})}else switch(n!==void 0&&l.push(s.get(n)),t){case"add":te(e)?Kr(n)&&l.push(s.get("length")):(l.push(s.get(jt)),on(e)&&l.push(s.get(br)));break;case"delete":te(e)||(l.push(s.get(jt)),on(e)&&l.push(s.get(br)));break;case"set":on(e)&&l.push(s.get(jt));break}if(l.length===1)l[0]&&yr(l[0]);else{const a=[];for(const c of l)c&&a.push(...c);yr(Qr(a))}}function yr(e,t){const n=te(e)?e:[...e];for(const o of n)o.computed&&xi(o);for(const o of n)o.computed||xi(o)}function xi(e,t){(e!==Ge||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}const Eu=Vr("__proto__,__v_isRef,__isVue"),ul=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(zr)),Su=Zr(),Ru=Zr(!1,!0),Pu=Zr(!0),Ci=Tu();function Tu(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const o=ie(this);for(let i=0,s=this.length;i{e[t]=function(...n){gn();const o=ie(this)[t].apply(this,n);return mn(),o}}),e}function qu(e){const t=ie(this);return Ie(t,"has",e),t.hasOwnProperty(e)}function Zr(e=!1,t=!1){return function(o,r,i){if(r==="__v_isReactive")return!e;if(r==="__v_isReadonly")return e;if(r==="__v_isShallow")return t;if(r==="__v_raw"&&i===(e?t?Uu:gl:t?hl:dl).get(o))return o;const s=te(o);if(!e){if(s&&ce(Ci,r))return Reflect.get(Ci,r,i);if(r==="hasOwnProperty")return qu}const l=Reflect.get(o,r,i);return(zr(r)?ul.has(r):Eu(r))||(e||Ie(o,"get",r),t)?l:Oe(l)?s&&Kr(r)?l:l.value:ye(l)?e?pl(l):pn(l):l}}const Au=cl(),Mu=cl(!0);function cl(e=!1){return function(n,o,r,i){let s=n[o];if(ln(s)&&Oe(s)&&!Oe(r))return!1;if(!e&&(!yo(r)&&!ln(r)&&(s=ie(s),r=ie(r)),!te(n)&&Oe(s)&&!Oe(r)))return s.value=r,!0;const l=te(n)&&Kr(o)?Number(o)e,Mo=e=>Reflect.getPrototypeOf(e);function Jn(e,t,n=!1,o=!1){e=e.__v_raw;const r=ie(e),i=ie(t);n||(t!==i&&Ie(r,"get",t),Ie(r,"get",i));const{has:s}=Mo(r),l=o?Jr:n?ei:In;if(s.call(r,t))return l(e.get(t));if(s.call(r,i))return l(e.get(i));e!==r&&e.get(t)}function Xn(e,t=!1){const n=this.__v_raw,o=ie(n),r=ie(e);return t||(e!==r&&Ie(o,"has",e),Ie(o,"has",r)),e===r?n.has(e):n.has(e)||n.has(r)}function Gn(e,t=!1){return e=e.__v_raw,!t&&Ie(ie(e),"iterate",jt),Reflect.get(e,"size",e)}function ki(e){e=ie(e);const t=ie(this);return Mo(t).has.call(t,e)||(t.add(e),gt(t,"add",e,e)),this}function Ei(e,t){t=ie(t);const n=ie(this),{has:o,get:r}=Mo(n);let i=o.call(n,e);i||(e=ie(e),i=o.call(n,e));const s=r.call(n,e);return n.set(e,t),i?Fn(t,s)&>(n,"set",e,t):gt(n,"add",e,t),this}function Si(e){const t=ie(this),{has:n,get:o}=Mo(t);let r=n.call(t,e);r||(e=ie(e),r=n.call(t,e)),o&&o.call(t,e);const i=t.delete(e);return r&>(t,"delete",e,void 0),i}function Ri(){const e=ie(this),t=e.size!==0,n=e.clear();return t&>(e,"clear",void 0,void 0),n}function eo(e,t){return function(o,r){const i=this,s=i.__v_raw,l=ie(s),a=t?Jr:e?ei:In;return!e&&Ie(l,"iterate",jt),s.forEach((c,u)=>o.call(r,a(c),a(u),i))}}function to(e,t,n){return function(...o){const r=this.__v_raw,i=ie(r),s=on(i),l=e==="entries"||e===Symbol.iterator&&s,a=e==="keys"&&s,c=r[e](...o),u=n?Jr:t?ei:In;return!t&&Ie(i,"iterate",a?br:jt),{next(){const{value:d,done:f}=c.next();return f?{value:d,done:f}:{value:l?[u(d[0]),u(d[1])]:u(d),done:f}},[Symbol.iterator](){return this}}}}function bt(e){return function(...t){return e==="delete"?!1:this}}function Iu(){const e={get(i){return Jn(this,i)},get size(){return Gn(this)},has:Xn,add:ki,set:Ei,delete:Si,clear:Ri,forEach:eo(!1,!1)},t={get(i){return Jn(this,i,!1,!0)},get size(){return Gn(this)},has:Xn,add:ki,set:Ei,delete:Si,clear:Ri,forEach:eo(!1,!0)},n={get(i){return Jn(this,i,!0)},get size(){return Gn(this,!0)},has(i){return Xn.call(this,i,!0)},add:bt("add"),set:bt("set"),delete:bt("delete"),clear:bt("clear"),forEach:eo(!0,!1)},o={get(i){return Jn(this,i,!0,!0)},get size(){return Gn(this,!0)},has(i){return Xn.call(this,i,!0)},add:bt("add"),set:bt("set"),delete:bt("delete"),clear:bt("clear"),forEach:eo(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(i=>{e[i]=to(i,!1,!1),n[i]=to(i,!0,!1),t[i]=to(i,!1,!0),o[i]=to(i,!0,!0)}),[e,n,t,o]}const[Nu,ju,Vu,Du]=Iu();function Xr(e,t){const n=t?e?Du:Vu:e?ju:Nu;return(o,r,i)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?o:Reflect.get(ce(n,r)&&r in o?n:o,r,i)}const Hu={get:Xr(!1,!1)},zu={get:Xr(!1,!0)},Ku={get:Xr(!0,!1)},dl=new WeakMap,hl=new WeakMap,gl=new WeakMap,Uu=new WeakMap;function Wu(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Qu(e){return e.__v_skip||!Object.isExtensible(e)?0:Wu(uu(e))}function pn(e){return ln(e)?e:Gr(e,!1,fl,Hu,dl)}function ml(e){return Gr(e,!1,Fu,zu,hl)}function pl(e){return Gr(e,!0,Bu,Ku,gl)}function Gr(e,t,n,o,r){if(!ye(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=r.get(e);if(i)return i;const s=Qu(e);if(s===0)return e;const l=new Proxy(e,s===2?o:n);return r.set(e,l),l}function rn(e){return ln(e)?rn(e.__v_raw):!!(e&&e.__v_isReactive)}function ln(e){return!!(e&&e.__v_isReadonly)}function yo(e){return!!(e&&e.__v_isShallow)}function vl(e){return rn(e)||ln(e)}function ie(e){const t=e&&e.__v_raw;return t?ie(t):e}function vn(e){return bo(e,"__v_skip",!0),e}const In=e=>ye(e)?pn(e):e,ei=e=>ye(e)?pl(e):e;function bl(e){St&&Ge&&(e=ie(e),al(e.dep||(e.dep=Qr())))}function yl(e,t){e=ie(e);const n=e.dep;n&&yr(n)}function Oe(e){return!!(e&&e.__v_isRef===!0)}function he(e){return _l(e,!1)}function Yu(e){return _l(e,!0)}function _l(e,t){return Oe(e)?e:new Zu(e,t)}class Zu{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:ie(t),this._value=n?t:In(t)}get value(){return bl(this),this._value}set value(t){const n=this.__v_isShallow||yo(t)||ln(t);t=n?t:ie(t),Fn(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:In(t),yl(this))}}function Vt(e){return Oe(e)?e.value:e}const Ju={get:(e,t,n)=>Vt(Reflect.get(e,t,n)),set:(e,t,n,o)=>{const r=e[t];return Oe(r)&&!Oe(n)?(r.value=n,!0):Reflect.set(e,t,n,o)}};function wl(e){return rn(e)?e:new Proxy(e,Ju)}class Xu{constructor(t,n,o,r){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this._dirty=!0,this.effect=new Yr(t,()=>{this._dirty||(this._dirty=!0,yl(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=o}get value(){const t=ie(this);return bl(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}function Gu(e,t,n=!1){let o,r;const i=le(e);return i?(o=e,r=nt):(o=e.get,r=e.set),new Xu(o,r,i||!r,n)}function Rt(e,t,n,o){let r;try{r=o?e(...o):e()}catch(i){Oo(i,t,n)}return r}function Ue(e,t,n,o){if(le(e)){const i=Rt(e,t,n,o);return i&&el(i)&&i.catch(s=>{Oo(s,t,n)}),i}const r=[];for(let i=0;i>>1;jn(Me[o])lt&&Me.splice(t,1)}function oc(e){te(e)?sn.push(...e):(!ht||!ht.includes(e,e.allowRecurse?Lt+1:Lt))&&sn.push(e),Cl()}function Pi(e,t=Nn?lt+1:0){for(;tjn(n)-jn(o)),Lt=0;Lte.id==null?1/0:e.id,rc=(e,t)=>{const n=jn(e)-jn(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function El(e){_r=!1,Nn=!0,Me.sort(rc);const t=nt;try{for(lt=0;ltxe(p)?p.trim():p)),d&&(r=n.map(du))}let l,a=o[l=Ko(t)]||o[l=Ko(ct(t))];!a&&i&&(a=o[l=Ko(Kt(t))]),a&&Ue(a,e,6,r);const c=o[l+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Ue(c,e,6,r)}}function Sl(e,t,n=!1){const o=t.emitsCache,r=o.get(e);if(r!==void 0)return r;const i=e.emits;let s={},l=!1;if(!le(e)){const a=c=>{const u=Sl(c,t,!0);u&&(l=!0,Ce(s,u))};!n&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}return!i&&!l?(ye(e)&&o.set(e,null),null):(te(i)?i.forEach(a=>s[a]=null):Ce(s,i),ye(e)&&o.set(e,s),s)}function $o(e,t){return!e||!To(t)?!1:(t=t.slice(2).replace(/Once$/,""),ce(e,t[0].toLowerCase()+t.slice(1))||ce(e,Kt(t))||ce(e,t))}let Ve=null,Rl=null;function _o(e){const t=Ve;return Ve=e,Rl=e&&e.type.__scopeId||null,t}function sc(e,t=Ve,n){if(!t||e._n)return e;const o=(...r)=>{o._d&&Vi(-1);const i=_o(t);let s;try{s=e(...r)}finally{_o(i),o._d&&Vi(1)}return s};return o._n=!0,o._c=!0,o._d=!0,o}function Uo(e){const{type:t,vnode:n,proxy:o,withProxy:r,props:i,propsOptions:[s],slots:l,attrs:a,emit:c,render:u,renderCache:d,data:f,setupState:p,ctx:y,inheritAttrs:T}=e;let q,M;const m=_o(e);try{if(n.shapeFlag&4){const w=r||o;q=st(u.call(w,w,d,i,p,f,y)),M=a}else{const w=t;q=st(w.length>1?w(i,{attrs:a,slots:l,emit:c}):w(i,null)),M=t.props?a:lc(a)}}catch(w){$n.length=0,Oo(w,e,1),q=Fe(ot)}let _=q;if(M&&T!==!1){const w=Object.keys(M),{shapeFlag:F}=_;w.length&&F&7&&(s&&w.some(Dr)&&(M=ac(M,s)),_=mt(_,M))}return n.dirs&&(_=mt(_),_.dirs=_.dirs?_.dirs.concat(n.dirs):n.dirs),n.transition&&(_.transition=n.transition),q=_,_o(m),q}const lc=e=>{let t;for(const n in e)(n==="class"||n==="style"||To(n))&&((t||(t={}))[n]=e[n]);return t},ac=(e,t)=>{const n={};for(const o in e)(!Dr(o)||!(o.slice(9)in t))&&(n[o]=e[o]);return n};function uc(e,t,n){const{props:o,children:r,component:i}=e,{props:s,children:l,patchFlag:a}=t,c=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&a>=0){if(a&1024)return!0;if(a&16)return o?Ti(o,s,c):!!s;if(a&8){const u=t.dynamicProps;for(let d=0;de.__isSuspense;function fc(e,t){t&&t.pendingBranch?te(e)?t.effects.push(...e):t.effects.push(e):oc(e)}const no={};function be(e,t,n){return Tl(e,t,n)}function Tl(e,t,{immediate:n,deep:o,flush:r,onTrack:i,onTrigger:s}=ve){var l;const a=xu()===((l=Pe)==null?void 0:l.scope)?Pe:null;let c,u=!1,d=!1;if(Oe(e)?(c=()=>e.value,u=yo(e)):rn(e)?(c=()=>e,o=!0):te(e)?(d=!0,u=e.some(w=>rn(w)||yo(w)),c=()=>e.map(w=>{if(Oe(w))return w.value;if(rn(w))return Ft(w);if(le(w))return Rt(w,a,2)})):le(e)?t?c=()=>Rt(e,a,2):c=()=>{if(!(a&&a.isUnmounted))return f&&f(),Ue(e,a,3,[p])}:c=nt,t&&o){const w=c;c=()=>Ft(w())}let f,p=w=>{f=m.onStop=()=>{Rt(w,a,4)}},y;if(Hn)if(p=nt,t?n&&Ue(t,a,3,[c(),d?[]:void 0,p]):c(),r==="sync"){const w=sf();y=w.__watcherHandles||(w.__watcherHandles=[])}else return nt;let T=d?new Array(e.length).fill(no):no;const q=()=>{if(!!m.active)if(t){const w=m.run();(o||u||(d?w.some((F,j)=>Fn(F,T[j])):Fn(w,T)))&&(f&&f(),Ue(t,a,3,[w,T===no?void 0:d&&T[0]===no?[]:T,p]),T=w)}else m.run()};q.allowRecurse=!!t;let M;r==="sync"?M=q:r==="post"?M=()=>qe(q,a&&a.suspense):(q.pre=!0,a&&(q.id=a.uid),M=()=>ni(q));const m=new Yr(c,M);t?n?q():T=m.run():r==="post"?qe(m.run.bind(m),a&&a.suspense):m.run();const _=()=>{m.stop(),a&&a.scope&&Hr(a.scope.effects,m)};return y&&y.push(_),_}function dc(e,t,n){const o=this.proxy,r=xe(e)?e.includes(".")?ql(o,e):()=>o[e]:e.bind(o,o);let i;le(t)?i=t:(i=t.handler,n=t);const s=Pe;un(this);const l=Tl(r,i.bind(o),n);return s?un(s):Dt(),l}function ql(e,t){const n=t.split(".");return()=>{let o=e;for(let r=0;r{Ft(n,t)});else if(nl(e))for(const n in e)Ft(e[n],t);return e}function Al(e,t){const n=Ve;if(n===null)return e;const o=Vo(n)||n.proxy,r=e.dirs||(e.dirs=[]);for(let i=0;i{e.isMounted=!0}),We(()=>{e.isUnmounting=!0}),e}const De=[Function,Array],Ol={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:De,onEnter:De,onAfterEnter:De,onEnterCancelled:De,onBeforeLeave:De,onLeave:De,onAfterLeave:De,onLeaveCancelled:De,onBeforeAppear:De,onAppear:De,onAfterAppear:De,onAppearCancelled:De},hc={name:"BaseTransition",props:Ol,setup(e,{slots:t}){const n=ke(),o=Ml();let r;return()=>{const i=t.default&&oi(t.default(),!0);if(!i||!i.length)return;let s=i[0];if(i.length>1){for(const T of i)if(T.type!==ot){s=T;break}}const l=ie(e),{mode:a}=l;if(o.isLeaving)return Wo(s);const c=qi(s);if(!c)return Wo(s);const u=Vn(c,l,o,n);an(c,u);const d=n.subTree,f=d&&qi(d);let p=!1;const{getTransitionKey:y}=c.type;if(y){const T=y();r===void 0?r=T:T!==r&&(r=T,p=!0)}if(f&&f.type!==ot&&(!kt(c,f)||p)){const T=Vn(f,l,o,n);if(an(f,T),a==="out-in")return o.isLeaving=!0,T.afterLeave=()=>{o.isLeaving=!1,n.update.active!==!1&&n.update()},Wo(s);a==="in-out"&&c.type!==ot&&(T.delayLeave=(q,M,m)=>{const _=$l(o,f);_[String(f.key)]=f,q._leaveCb=()=>{M(),q._leaveCb=void 0,delete u.delayedLeave},u.delayedLeave=m})}return s}}},gc=hc;function $l(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 Vn(e,t,n,o){const{appear:r,mode:i,persisted:s=!1,onBeforeEnter:l,onEnter:a,onAfterEnter:c,onEnterCancelled:u,onBeforeLeave:d,onLeave:f,onAfterLeave:p,onLeaveCancelled:y,onBeforeAppear:T,onAppear:q,onAfterAppear:M,onAppearCancelled:m}=t,_=String(e.key),w=$l(n,e),F=(N,C)=>{N&&Ue(N,o,9,C)},j=(N,C)=>{const x=C[1];F(N,C),te(N)?N.every($=>$.length<=1)&&x():N.length<=1&&x()},V={mode:i,persisted:s,beforeEnter(N){let C=l;if(!n.isMounted)if(r)C=T||l;else return;N._leaveCb&&N._leaveCb(!0);const x=w[_];x&&kt(e,x)&&x.el._leaveCb&&x.el._leaveCb(),F(C,[N])},enter(N){let C=a,x=c,$=u;if(!n.isMounted)if(r)C=q||a,x=M||c,$=m||u;else return;let v=!1;const H=N._enterCb=k=>{v||(v=!0,k?F($,[N]):F(x,[N]),V.delayedLeave&&V.delayedLeave(),N._enterCb=void 0)};C?j(C,[N,H]):H()},leave(N,C){const x=String(e.key);if(N._enterCb&&N._enterCb(!0),n.isUnmounting)return C();F(d,[N]);let $=!1;const v=N._leaveCb=H=>{$||($=!0,C(),H?F(y,[N]):F(p,[N]),N._leaveCb=void 0,w[x]===e&&delete w[x])};w[x]=e,f?j(f,[N,v]):v()},clone(N){return Vn(N,t,n,o)}};return V}function Wo(e){if(Bo(e))return e=mt(e),e.children=null,e}function qi(e){return Bo(e)?e.children?e.children[0]:void 0:e}function an(e,t){e.shapeFlag&6&&e.component?an(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function oi(e,t=!1,n){let o=[],r=0;for(let i=0;i1)for(let i=0;iCe({name:e.name},t,{setup:e}))():e}const An=e=>!!e.type.__asyncLoader,Bo=e=>e.type.__isKeepAlive,mc={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){const n=ke(),o=n.ctx;if(!o.renderer)return()=>{const m=t.default&&t.default();return m&&m.length===1?m[0]:m};const r=new Map,i=new Set;let s=null;const l=n.suspense,{renderer:{p:a,m:c,um:u,o:{createElement:d}}}=o,f=d("div");o.activate=(m,_,w,F,j)=>{const V=m.component;c(m,_,w,0,l),a(V.vnode,m,_,w,V,l,F,m.slotScopeIds,j),qe(()=>{V.isDeactivated=!1,V.a&&qn(V.a);const N=m.props&&m.props.onVnodeMounted;N&&ze(N,V.parent,m)},l)},o.deactivate=m=>{const _=m.component;c(m,f,null,1,l),qe(()=>{_.da&&qn(_.da);const w=m.props&&m.props.onVnodeUnmounted;w&&ze(w,_.parent,m),_.isDeactivated=!0},l)};function p(m){Qo(m),u(m,n,l,!0)}function y(m){r.forEach((_,w)=>{const F=Rr(_.type);F&&(!m||!m(F))&&T(w)})}function T(m){const _=r.get(m);!s||!kt(_,s)?p(_):s&&Qo(s),r.delete(m),i.delete(m)}be(()=>[e.include,e.exclude],([m,_])=>{m&&y(w=>Rn(m,w)),_&&y(w=>!Rn(_,w))},{flush:"post",deep:!0});let q=null;const M=()=>{q!=null&&r.set(q,Yo(n.subTree))};return Ut(M),ri(M),We(()=>{r.forEach(m=>{const{subTree:_,suspense:w}=n,F=Yo(_);if(m.type===F.type&&m.key===F.key){Qo(F);const j=F.component.da;j&&qe(j,w);return}p(m)})}),()=>{if(q=null,!t.default)return null;const m=t.default(),_=m[0];if(m.length>1)return s=null,m;if(!Co(_)||!(_.shapeFlag&4)&&!(_.shapeFlag&128))return s=null,_;let w=Yo(_);const F=w.type,j=Rr(An(w)?w.type.__asyncResolved||{}:F),{include:V,exclude:N,max:C}=e;if(V&&(!j||!Rn(V,j))||N&&j&&Rn(N,j))return s=w,_;const x=w.key==null?F:w.key,$=r.get(x);return w.el&&(w=mt(w),_.shapeFlag&128&&(_.ssContent=w)),q=x,$?(w.el=$.el,w.component=$.component,w.transition&&an(w,w.transition),w.shapeFlag|=512,i.delete(x),i.add(x)):(i.add(x),C&&i.size>parseInt(C,10)&&T(i.values().next().value)),w.shapeFlag|=256,s=w,Pl(_.type)?_:w}}},_m=mc;function Rn(e,t){return te(e)?e.some(n=>Rn(n,t)):xe(e)?e.split(",").includes(t):au(e)?e.test(t):!1}function Ll(e,t){Bl(e,"a",t)}function Fo(e,t){Bl(e,"da",t)}function Bl(e,t,n=Pe){const o=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(Io(t,o,n),n){let r=n.parent;for(;r&&r.parent;)Bo(r.parent.vnode)&&pc(o,t,n,r),r=r.parent}}function pc(e,t,n,o){const r=Io(t,e,o,!0);ii(()=>{Hr(o[t],r)},n)}function Qo(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function Yo(e){return e.shapeFlag&128?e.ssContent:e}function Io(e,t,n=Pe,o=!1){if(n){const r=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...s)=>{if(n.isUnmounted)return;gn(),un(n);const l=Ue(t,n,e,s);return Dt(),mn(),l});return o?r.unshift(i):r.push(i),i}}const vt=e=>(t,n=Pe)=>(!Hn||e==="sp")&&Io(e,(...o)=>t(...o),n),vc=vt("bm"),Ut=vt("m"),Fl=vt("bu"),ri=vt("u"),We=vt("bum"),ii=vt("um"),bc=vt("sp"),yc=vt("rtg"),_c=vt("rtc");function wc(e,t=Pe){Io("ec",e,t)}const Il="components";function xc(e,t){return kc(Il,e,!0,t)||e}const Cc=Symbol.for("v-ndc");function kc(e,t,n=!0,o=!1){const r=Ve||Pe;if(r){const i=r.type;if(e===Il){const l=Rr(i,!1);if(l&&(l===t||l===ct(t)||l===Ao(ct(t))))return i}const s=Ai(r[e]||i[e],t)||Ai(r.appContext[e],t);return!s&&o?i:s}}function Ai(e,t){return e&&(e[t]||e[ct(t)]||e[Ao(ct(t))])}function wm(e,t,n,o){let r;const i=n&&n[o];if(te(e)||xe(e)){r=new Array(e.length);for(let s=0,l=e.length;st(s,l,void 0,i&&i[l]));else{const s=Object.keys(e);r=new Array(s.length);for(let l=0,a=s.length;l{const i=o.fn(...r);return i&&(i.key=o.key),i}:o.fn)}return e}const wr=e=>e?Xl(e)?Vo(e)||e.proxy:wr(e.parent):null,Mn=Ce(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=>wr(e.parent),$root:e=>wr(e.root),$emit:e=>e.emit,$options:e=>si(e),$forceUpdate:e=>e.f||(e.f=()=>ni(e.update)),$nextTick:e=>e.n||(e.n=je.bind(e.proxy)),$watch:e=>dc.bind(e)}),Zo=(e,t)=>e!==ve&&!e.__isScriptSetup&&ce(e,t),Ec={get({_:e},t){const{ctx:n,setupState:o,data:r,props:i,accessCache:s,type:l,appContext:a}=e;let c;if(t[0]!=="$"){const p=s[t];if(p!==void 0)switch(p){case 1:return o[t];case 2:return r[t];case 4:return n[t];case 3:return i[t]}else{if(Zo(o,t))return s[t]=1,o[t];if(r!==ve&&ce(r,t))return s[t]=2,r[t];if((c=e.propsOptions[0])&&ce(c,t))return s[t]=3,i[t];if(n!==ve&&ce(n,t))return s[t]=4,n[t];xr&&(s[t]=0)}}const u=Mn[t];let d,f;if(u)return t==="$attrs"&&Ie(e,"get",t),u(e);if((d=l.__cssModules)&&(d=d[t]))return d;if(n!==ve&&ce(n,t))return s[t]=4,n[t];if(f=a.config.globalProperties,ce(f,t))return f[t]},set({_:e},t,n){const{data:o,setupState:r,ctx:i}=e;return Zo(r,t)?(r[t]=n,!0):o!==ve&&ce(o,t)?(o[t]=n,!0):ce(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:o,appContext:r,propsOptions:i}},s){let l;return!!n[s]||e!==ve&&ce(e,s)||Zo(t,s)||(l=i[0])&&ce(l,s)||ce(o,s)||ce(Mn,s)||ce(r.config.globalProperties,s)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:ce(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Mi(e){return te(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let xr=!0;function Sc(e){const t=si(e),n=e.proxy,o=e.ctx;xr=!1,t.beforeCreate&&Oi(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:s,watch:l,provide:a,inject:c,created:u,beforeMount:d,mounted:f,beforeUpdate:p,updated:y,activated:T,deactivated:q,beforeDestroy:M,beforeUnmount:m,destroyed:_,unmounted:w,render:F,renderTracked:j,renderTriggered:V,errorCaptured:N,serverPrefetch:C,expose:x,inheritAttrs:$,components:v,directives:H,filters:k}=t;if(c&&Rc(c,o,null),s)for(const A in s){const W=s[A];le(W)&&(o[A]=W.bind(n))}if(r){const A=r.call(n,n);ye(A)&&(e.data=pn(A))}if(xr=!0,i)for(const A in i){const W=i[A],_e=le(W)?W.bind(n,n):le(W.get)?W.get.bind(n,n):nt,se=!le(W)&&le(W.set)?W.set.bind(n):nt,fe=R({get:_e,set:se});Object.defineProperty(o,A,{enumerable:!0,configurable:!0,get:()=>fe.value,set:L=>fe.value=L})}if(l)for(const A in l)Nl(l[A],o,n,A);if(a){const A=le(a)?a.call(n):a;Reflect.ownKeys(A).forEach(W=>{fo(W,A[W])})}u&&Oi(u,e,"c");function Y(A,W){te(W)?W.forEach(_e=>A(_e.bind(n))):W&&A(W.bind(n))}if(Y(vc,d),Y(Ut,f),Y(Fl,p),Y(ri,y),Y(Ll,T),Y(Fo,q),Y(wc,N),Y(_c,j),Y(yc,V),Y(We,m),Y(ii,w),Y(bc,C),te(x))if(x.length){const A=e.exposed||(e.exposed={});x.forEach(W=>{Object.defineProperty(A,W,{get:()=>n[W],set:_e=>n[W]=_e})})}else e.exposed||(e.exposed={});F&&e.render===nt&&(e.render=F),$!=null&&(e.inheritAttrs=$),v&&(e.components=v),H&&(e.directives=H)}function Rc(e,t,n=nt){te(e)&&(e=Cr(e));for(const o in e){const r=e[o];let i;ye(r)?"default"in r?i=ut(r.from||o,r.default,!0):i=ut(r.from||o):i=ut(r),Oe(i)?Object.defineProperty(t,o,{enumerable:!0,configurable:!0,get:()=>i.value,set:s=>i.value=s}):t[o]=i}}function Oi(e,t,n){Ue(te(e)?e.map(o=>o.bind(t.proxy)):e.bind(t.proxy),t,n)}function Nl(e,t,n,o){const r=o.includes(".")?ql(n,o):()=>n[o];if(xe(e)){const i=t[e];le(i)&&be(r,i)}else if(le(e))be(r,e.bind(n));else if(ye(e))if(te(e))e.forEach(i=>Nl(i,t,n,o));else{const i=le(e.handler)?e.handler.bind(n):t[e.handler];le(i)&&be(r,i,e)}}function si(e){const t=e.type,{mixins:n,extends:o}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:s}}=e.appContext,l=i.get(t);let a;return l?a=l:!r.length&&!n&&!o?a=t:(a={},r.length&&r.forEach(c=>wo(a,c,s,!0)),wo(a,t,s)),ye(t)&&i.set(t,a),a}function wo(e,t,n,o=!1){const{mixins:r,extends:i}=t;i&&wo(e,i,n,!0),r&&r.forEach(s=>wo(e,s,n,!0));for(const s in t)if(!(o&&s==="expose")){const l=Pc[s]||n&&n[s];e[s]=l?l(e[s],t[s]):t[s]}return e}const Pc={data:$i,props:Li,emits:Li,methods:Pn,computed:Pn,beforeCreate:Le,created:Le,beforeMount:Le,mounted:Le,beforeUpdate:Le,updated:Le,beforeDestroy:Le,beforeUnmount:Le,destroyed:Le,unmounted:Le,activated:Le,deactivated:Le,errorCaptured:Le,serverPrefetch:Le,components:Pn,directives:Pn,watch:qc,provide:$i,inject:Tc};function $i(e,t){return t?e?function(){return Ce(le(e)?e.call(this,this):e,le(t)?t.call(this,this):t)}:t:e}function Tc(e,t){return Pn(Cr(e),Cr(t))}function Cr(e){if(te(e)){const t={};for(let n=0;n1)return n&&le(t)?t.call(o&&o.proxy):t}}function Oc(e,t,n,o=!1){const r={},i={};bo(i,jo,1),e.propsDefaults=Object.create(null),Vl(e,t,r,i);for(const s in e.propsOptions[0])s in r||(r[s]=void 0);n?e.props=o?r:ml(r):e.type.props?e.props=r:e.props=i,e.attrs=i}function $c(e,t,n,o){const{props:r,attrs:i,vnode:{patchFlag:s}}=e,l=ie(r),[a]=e.propsOptions;let c=!1;if((o||s>0)&&!(s&16)){if(s&8){const u=e.vnode.dynamicProps;for(let d=0;d{a=!0;const[f,p]=Dl(d,t,!0);Ce(s,f),p&&l.push(...p)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!i&&!a)return ye(e)&&o.set(e,nn),nn;if(te(i))for(let u=0;u-1,p[1]=T<0||y-1||ce(p,"default"))&&l.push(d)}}}const c=[s,l];return ye(e)&&o.set(e,c),c}function Bi(e){return e[0]!=="$"}function Fi(e){const t=e&&e.toString().match(/^\s*(function|class) (\w+)/);return t?t[2]:e===null?"null":""}function Ii(e,t){return Fi(e)===Fi(t)}function Ni(e,t){return te(t)?t.findIndex(n=>Ii(n,e)):le(t)&&Ii(t,e)?0:-1}const Hl=e=>e[0]==="_"||e==="$stable",li=e=>te(e)?e.map(st):[st(e)],Lc=(e,t,n)=>{if(t._n)return t;const o=sc((...r)=>li(t(...r)),n);return o._c=!1,o},zl=(e,t,n)=>{const o=e._ctx;for(const r in e){if(Hl(r))continue;const i=e[r];if(le(i))t[r]=Lc(r,i,o);else if(i!=null){const s=li(i);t[r]=()=>s}}},Kl=(e,t)=>{const n=li(t);e.slots.default=()=>n},Bc=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=ie(t),bo(t,"_",n)):zl(t,e.slots={})}else e.slots={},t&&Kl(e,t);bo(e.slots,jo,1)},Fc=(e,t,n)=>{const{vnode:o,slots:r}=e;let i=!0,s=ve;if(o.shapeFlag&32){const l=t._;l?n&&l===1?i=!1:(Ce(r,t),!n&&l===1&&delete r._):(i=!t.$stable,zl(t,r)),s=t}else t&&(Kl(e,t),s={default:1});if(i)for(const l in r)!Hl(l)&&!(l in s)&&delete r[l]};function Er(e,t,n,o,r=!1){if(te(e)){e.forEach((f,p)=>Er(f,t&&(te(t)?t[p]:t),n,o,r));return}if(An(o)&&!r)return;const i=o.shapeFlag&4?Vo(o.component)||o.component.proxy:o.el,s=r?null:i,{i:l,r:a}=e,c=t&&t.r,u=l.refs===ve?l.refs={}:l.refs,d=l.setupState;if(c!=null&&c!==a&&(xe(c)?(u[c]=null,ce(d,c)&&(d[c]=null)):Oe(c)&&(c.value=null)),le(a))Rt(a,l,12,[s,u]);else{const f=xe(a),p=Oe(a);if(f||p){const y=()=>{if(e.f){const T=f?ce(d,a)?d[a]:u[a]:a.value;r?te(T)&&Hr(T,i):te(T)?T.includes(i)||T.push(i):f?(u[a]=[i],ce(d,a)&&(d[a]=u[a])):(a.value=[i],e.k&&(u[e.k]=a.value))}else f?(u[a]=s,ce(d,a)&&(d[a]=s)):p&&(a.value=s,e.k&&(u[e.k]=s))};s?(y.id=-1,qe(y,n)):y()}}}const qe=fc;function Ic(e){return Nc(e)}function Nc(e,t){const n=mr();n.__VUE__=!0;const{insert:o,remove:r,patchProp:i,createElement:s,createText:l,createComment:a,setText:c,setElementText:u,parentNode:d,nextSibling:f,setScopeId:p=nt,insertStaticContent:y}=e,T=(h,g,b,P=null,O=null,B=null,U=!1,D=null,K=!!g.dynamicChildren)=>{if(h===g)return;h&&!kt(h,g)&&(P=S(h),L(h,O,B,!0),h=null),g.patchFlag===-2&&(K=!1,g.dynamicChildren=null);const{type:I,ref:G,shapeFlag:J}=g;switch(I){case No:q(h,g,b,P);break;case ot:M(h,g,b,P);break;case Jo:h==null&&m(g,b,P,U);break;case Xe:v(h,g,b,P,O,B,U,D,K);break;default:J&1?F(h,g,b,P,O,B,U,D,K):J&6?H(h,g,b,P,O,B,U,D,K):(J&64||J&128)&&I.process(h,g,b,P,O,B,U,D,K,z)}G!=null&&O&&Er(G,h&&h.ref,B,g||h,!g)},q=(h,g,b,P)=>{if(h==null)o(g.el=l(g.children),b,P);else{const O=g.el=h.el;g.children!==h.children&&c(O,g.children)}},M=(h,g,b,P)=>{h==null?o(g.el=a(g.children||""),b,P):g.el=h.el},m=(h,g,b,P)=>{[h.el,h.anchor]=y(h.children,g,b,P,h.el,h.anchor)},_=({el:h,anchor:g},b,P)=>{let O;for(;h&&h!==g;)O=f(h),o(h,b,P),h=O;o(g,b,P)},w=({el:h,anchor:g})=>{let b;for(;h&&h!==g;)b=f(h),r(h),h=b;r(g)},F=(h,g,b,P,O,B,U,D,K)=>{U=U||g.type==="svg",h==null?j(g,b,P,O,B,U,D,K):C(h,g,O,B,U,D,K)},j=(h,g,b,P,O,B,U,D)=>{let K,I;const{type:G,props:J,shapeFlag:ee,transition:re,dirs:ae}=h;if(K=h.el=s(h.type,B,J&&J.is,J),ee&8?u(K,h.children):ee&16&&N(h.children,K,null,P,O,B&&G!=="foreignObject",U,D),ae&&At(h,null,P,"created"),V(K,h,h.scopeId,U,P),J){for(const me in J)me!=="value"&&!co(me)&&i(K,me,null,J[me],B,h.children,P,O,ne);"value"in J&&i(K,"value",null,J.value),(I=J.onVnodeBeforeMount)&&ze(I,P,h)}ae&&At(h,null,P,"beforeMount");const pe=(!O||O&&!O.pendingBranch)&&re&&!re.persisted;pe&&re.beforeEnter(K),o(K,g,b),((I=J&&J.onVnodeMounted)||pe||ae)&&qe(()=>{I&&ze(I,P,h),pe&&re.enter(K),ae&&At(h,null,P,"mounted")},O)},V=(h,g,b,P,O)=>{if(b&&p(h,b),P)for(let B=0;B{for(let I=K;I{const D=g.el=h.el;let{patchFlag:K,dynamicChildren:I,dirs:G}=g;K|=h.patchFlag&16;const J=h.props||ve,ee=g.props||ve;let re;b&&Mt(b,!1),(re=ee.onVnodeBeforeUpdate)&&ze(re,b,g,h),G&&At(g,h,b,"beforeUpdate"),b&&Mt(b,!0);const ae=O&&g.type!=="foreignObject";if(I?x(h.dynamicChildren,I,D,b,P,ae,B):U||W(h,g,D,null,b,P,ae,B,!1),K>0){if(K&16)$(D,g,J,ee,b,P,O);else if(K&2&&J.class!==ee.class&&i(D,"class",null,ee.class,O),K&4&&i(D,"style",J.style,ee.style,O),K&8){const pe=g.dynamicProps;for(let me=0;me{re&&ze(re,b,g,h),G&&At(g,h,b,"updated")},P)},x=(h,g,b,P,O,B,U)=>{for(let D=0;D{if(b!==P){if(b!==ve)for(const D in b)!co(D)&&!(D in P)&&i(h,D,b[D],null,U,g.children,O,B,ne);for(const D in P){if(co(D))continue;const K=P[D],I=b[D];K!==I&&D!=="value"&&i(h,D,I,K,U,g.children,O,B,ne)}"value"in P&&i(h,"value",b.value,P.value)}},v=(h,g,b,P,O,B,U,D,K)=>{const I=g.el=h?h.el:l(""),G=g.anchor=h?h.anchor:l("");let{patchFlag:J,dynamicChildren:ee,slotScopeIds:re}=g;re&&(D=D?D.concat(re):re),h==null?(o(I,b,P),o(G,b,P),N(g.children,b,G,O,B,U,D,K)):J>0&&J&64&&ee&&h.dynamicChildren?(x(h.dynamicChildren,ee,b,O,B,U,D),(g.key!=null||O&&g===O.subTree)&&ai(h,g,!0)):W(h,g,b,G,O,B,U,D,K)},H=(h,g,b,P,O,B,U,D,K)=>{g.slotScopeIds=D,h==null?g.shapeFlag&512?O.ctx.activate(g,b,P,U,K):k(g,b,P,O,B,U,K):Z(h,g,K)},k=(h,g,b,P,O,B,U)=>{const D=h.component=Xc(h,P,O);if(Bo(h)&&(D.ctx.renderer=z),Gc(D),D.asyncDep){if(O&&O.registerDep(D,Y),!h.el){const K=D.subTree=Fe(ot);M(null,K,g,b)}return}Y(D,h,g,b,O,B,U)},Z=(h,g,b)=>{const P=g.component=h.component;if(uc(h,g,b))if(P.asyncDep&&!P.asyncResolved){A(P,g,b);return}else P.next=g,nc(P.update),P.update();else g.el=h.el,P.vnode=g},Y=(h,g,b,P,O,B,U)=>{const D=()=>{if(h.isMounted){let{next:G,bu:J,u:ee,parent:re,vnode:ae}=h,pe=G,me;Mt(h,!1),G?(G.el=ae.el,A(h,G,U)):G=ae,J&&qn(J),(me=G.props&&G.props.onVnodeBeforeUpdate)&&ze(me,re,G,ae),Mt(h,!0);const Ee=Uo(h),Qe=h.subTree;h.subTree=Ee,T(Qe,Ee,d(Qe.el),S(Qe),h,O,B),G.el=Ee.el,pe===null&&cc(h,Ee.el),ee&&qe(ee,O),(me=G.props&&G.props.onVnodeUpdated)&&qe(()=>ze(me,re,G,ae),O)}else{let G;const{el:J,props:ee}=g,{bm:re,m:ae,parent:pe}=h,me=An(g);if(Mt(h,!1),re&&qn(re),!me&&(G=ee&&ee.onVnodeBeforeMount)&&ze(G,pe,g),Mt(h,!0),J&&de){const Ee=()=>{h.subTree=Uo(h),de(J,h.subTree,h,O,null)};me?g.type.__asyncLoader().then(()=>!h.isUnmounted&&Ee()):Ee()}else{const Ee=h.subTree=Uo(h);T(null,Ee,b,P,h,O,B),g.el=Ee.el}if(ae&&qe(ae,O),!me&&(G=ee&&ee.onVnodeMounted)){const Ee=g;qe(()=>ze(G,pe,Ee),O)}(g.shapeFlag&256||pe&&An(pe.vnode)&&pe.vnode.shapeFlag&256)&&h.a&&qe(h.a,O),h.isMounted=!0,g=b=P=null}},K=h.effect=new Yr(D,()=>ni(I),h.scope),I=h.update=()=>K.run();I.id=h.uid,Mt(h,!0),I()},A=(h,g,b)=>{g.component=h;const P=h.vnode.props;h.vnode=g,h.next=null,$c(h,g.props,P,b),Fc(h,g.children,b),gn(),Pi(),mn()},W=(h,g,b,P,O,B,U,D,K=!1)=>{const I=h&&h.children,G=h?h.shapeFlag:0,J=g.children,{patchFlag:ee,shapeFlag:re}=g;if(ee>0){if(ee&128){se(I,J,b,P,O,B,U,D,K);return}else if(ee&256){_e(I,J,b,P,O,B,U,D,K);return}}re&8?(G&16&&ne(I,O,B),J!==I&&u(b,J)):G&16?re&16?se(I,J,b,P,O,B,U,D,K):ne(I,O,B,!0):(G&8&&u(b,""),re&16&&N(J,b,P,O,B,U,D,K))},_e=(h,g,b,P,O,B,U,D,K)=>{h=h||nn,g=g||nn;const I=h.length,G=g.length,J=Math.min(I,G);let ee;for(ee=0;eeG?ne(h,O,B,!0,!1,J):N(g,b,P,O,B,U,D,K,J)},se=(h,g,b,P,O,B,U,D,K)=>{let I=0;const G=g.length;let J=h.length-1,ee=G-1;for(;I<=J&&I<=ee;){const re=h[I],ae=g[I]=K?xt(g[I]):st(g[I]);if(kt(re,ae))T(re,ae,b,null,O,B,U,D,K);else break;I++}for(;I<=J&&I<=ee;){const re=h[J],ae=g[ee]=K?xt(g[ee]):st(g[ee]);if(kt(re,ae))T(re,ae,b,null,O,B,U,D,K);else break;J--,ee--}if(I>J){if(I<=ee){const re=ee+1,ae=reee)for(;I<=J;)L(h[I],O,B,!0),I++;else{const re=I,ae=I,pe=new Map;for(I=ae;I<=ee;I++){const Ne=g[I]=K?xt(g[I]):st(g[I]);Ne.key!=null&&pe.set(Ne.key,I)}let me,Ee=0;const Qe=ee-ae+1;let Yt=!1,vi=0;const yn=new Array(Qe);for(I=0;I=Qe){L(Ne,O,B,!0);continue}let it;if(Ne.key!=null)it=pe.get(Ne.key);else for(me=ae;me<=ee;me++)if(yn[me-ae]===0&&kt(Ne,g[me])){it=me;break}it===void 0?L(Ne,O,B,!0):(yn[it-ae]=I+1,it>=vi?vi=it:Yt=!0,T(Ne,g[it],b,null,O,B,U,D,K),Ee++)}const bi=Yt?jc(yn):nn;for(me=bi.length-1,I=Qe-1;I>=0;I--){const Ne=ae+I,it=g[Ne],yi=Ne+1{const{el:B,type:U,transition:D,children:K,shapeFlag:I}=h;if(I&6){fe(h.component.subTree,g,b,P);return}if(I&128){h.suspense.move(g,b,P);return}if(I&64){U.move(h,g,b,z);return}if(U===Xe){o(B,g,b);for(let J=0;JD.enter(B),O);else{const{leave:J,delayLeave:ee,afterLeave:re}=D,ae=()=>o(B,g,b),pe=()=>{J(B,()=>{ae(),re&&re()})};ee?ee(B,ae,pe):pe()}else o(B,g,b)},L=(h,g,b,P=!1,O=!1)=>{const{type:B,props:U,ref:D,children:K,dynamicChildren:I,shapeFlag:G,patchFlag:J,dirs:ee}=h;if(D!=null&&Er(D,null,b,h,!0),G&256){g.ctx.deactivate(h);return}const re=G&1&&ee,ae=!An(h);let pe;if(ae&&(pe=U&&U.onVnodeBeforeUnmount)&&ze(pe,g,h),G&6)oe(h.component,b,P);else{if(G&128){h.suspense.unmount(b,P);return}re&&At(h,null,g,"beforeUnmount"),G&64?h.type.remove(h,g,b,O,z,P):I&&(B!==Xe||J>0&&J&64)?ne(I,g,b,!1,!0):(B===Xe&&J&384||!O&&G&16)&&ne(K,g,b),P&&ue(h)}(ae&&(pe=U&&U.onVnodeUnmounted)||re)&&qe(()=>{pe&&ze(pe,g,h),re&&At(h,null,g,"unmounted")},b)},ue=h=>{const{type:g,el:b,anchor:P,transition:O}=h;if(g===Xe){Re(b,P);return}if(g===Jo){w(h);return}const B=()=>{r(b),O&&!O.persisted&&O.afterLeave&&O.afterLeave()};if(h.shapeFlag&1&&O&&!O.persisted){const{leave:U,delayLeave:D}=O,K=()=>U(b,B);D?D(h.el,B,K):K()}else B()},Re=(h,g)=>{let b;for(;h!==g;)b=f(h),r(h),h=b;r(g)},oe=(h,g,b)=>{const{bum:P,scope:O,update:B,subTree:U,um:D}=h;P&&qn(P),O.stop(),B&&(B.active=!1,L(U,h,g,b)),D&&qe(D,g),qe(()=>{h.isUnmounted=!0},g),g&&g.pendingBranch&&!g.isUnmounted&&h.asyncDep&&!h.asyncResolved&&h.suspenseId===g.pendingId&&(g.deps--,g.deps===0&&g.resolve())},ne=(h,g,b,P=!1,O=!1,B=0)=>{for(let U=B;Uh.shapeFlag&6?S(h.component.subTree):h.shapeFlag&128?h.suspense.next():f(h.anchor||h.el),Q=(h,g,b)=>{h==null?g._vnode&&L(g._vnode,null,null,!0):T(g._vnode||null,h,g,null,null,null,b),Pi(),kl(),g._vnode=h},z={p:T,um:L,m:fe,r:ue,mt:k,mc:N,pc:W,pbc:x,n:S,o:e};let X,de;return t&&([X,de]=t(z)),{render:Q,hydrate:X,createApp:Mc(Q,X)}}function Mt({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function ai(e,t,n=!1){const o=e.children,r=t.children;if(te(o)&&te(r))for(let i=0;i>1,e[n[l]]0&&(t[o]=n[i-1]),n[i]=o)}}for(i=n.length,s=n[i-1];i-- >0;)n[i]=s,s=t[s];return n}const Vc=e=>e.__isTeleport,On=e=>e&&(e.disabled||e.disabled===""),ji=e=>typeof SVGElement!="undefined"&&e instanceof SVGElement,Sr=(e,t)=>{const n=e&&e.to;return xe(n)?t?t(n):null:n},Dc={__isTeleport:!0,process(e,t,n,o,r,i,s,l,a,c){const{mc:u,pc:d,pbc:f,o:{insert:p,querySelector:y,createText:T,createComment:q}}=c,M=On(t.props);let{shapeFlag:m,children:_,dynamicChildren:w}=t;if(e==null){const F=t.el=T(""),j=t.anchor=T("");p(F,n,o),p(j,n,o);const V=t.target=Sr(t.props,y),N=t.targetAnchor=T("");V&&(p(N,V),s=s||ji(V));const C=(x,$)=>{m&16&&u(_,x,$,r,i,s,l,a)};M?C(n,j):V&&C(V,N)}else{t.el=e.el;const F=t.anchor=e.anchor,j=t.target=e.target,V=t.targetAnchor=e.targetAnchor,N=On(e.props),C=N?n:j,x=N?F:V;if(s=s||ji(j),w?(f(e.dynamicChildren,w,C,r,i,s,l),ai(e,t,!0)):a||d(e,t,C,x,r,i,s,l,!1),M)N||oo(t,n,F,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const $=t.target=Sr(t.props,y);$&&oo(t,$,null,c,0)}else N&&oo(t,j,V,c,1)}Ul(t)},remove(e,t,n,o,{um:r,o:{remove:i}},s){const{shapeFlag:l,children:a,anchor:c,targetAnchor:u,target:d,props:f}=e;if(d&&i(u),(s||!On(f))&&(i(c),l&16))for(let p=0;p0?et||nn:null,Kc(),Dn>0&&et&&et.push(e),e}function Cm(e,t,n,o,r,i){return Ql(Jl(e,t,n,o,r,i,!0))}function Yl(e,t,n,o,r){return Ql(Fe(e,t,n,o,r,!0))}function Co(e){return e?e.__v_isVNode===!0:!1}function kt(e,t){return e.type===t.type&&e.key===t.key}const jo="__vInternal",Zl=({key:e})=>e!=null?e:null,ho=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?xe(e)||Oe(e)||le(e)?{i:Ve,r:e,k:t,f:!!n}:e:null);function Jl(e,t=null,n=null,o=0,r=null,i=e===Xe?0:1,s=!1,l=!1){const a={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Zl(t),ref:t&&ho(t),scopeId:Rl,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:Ve};return l?(ui(a,n),i&128&&e.normalize(a)):n&&(a.shapeFlag|=xe(n)?8:16),Dn>0&&!s&&et&&(a.patchFlag>0||i&6)&&a.patchFlag!==32&&et.push(a),a}const Fe=Uc;function Uc(e,t=null,n=null,o=0,r=null,i=!1){if((!e||e===Cc)&&(e=ot),Co(e)){const l=mt(e,t,!0);return n&&ui(l,n),Dn>0&&!i&&et&&(l.shapeFlag&6?et[et.indexOf(e)]=l:et.push(l)),l.patchFlag|=-2,l}if(of(e)&&(e=e.__vccOpts),t){t=Wc(t);let{class:l,style:a}=t;l&&!xe(l)&&(t.class=Wr(l)),ye(a)&&(vl(a)&&!te(a)&&(a=Ce({},a)),t.style=Ur(a))}const s=xe(e)?1:Pl(e)?128:Vc(e)?64:ye(e)?4:le(e)?2:0;return Jl(e,t,n,o,r,s,i,!0)}function Wc(e){return e?vl(e)||jo in e?Ce({},e):e:null}function mt(e,t,n=!1){const{props:o,ref:r,patchFlag:i,children:s}=e,l=t?Yc(o||{},t):o;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&Zl(l),ref:t&&t.ref?n&&r?te(r)?r.concat(ho(t)):[r,ho(t)]:ho(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:s,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Xe?i===-1?16:i|16: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&&mt(e.ssContent),ssFallback:e.ssFallback&&mt(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function Qc(e=" ",t=0){return Fe(No,null,e,t)}function km(e="",t=!1){return t?(Wl(),Yl(ot,null,e)):Fe(ot,null,e)}function st(e){return e==null||typeof e=="boolean"?Fe(ot):te(e)?Fe(Xe,null,e.slice()):typeof e=="object"?xt(e):Fe(No,null,String(e))}function xt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:mt(e)}function ui(e,t){let n=0;const{shapeFlag:o}=e;if(t==null)t=null;else if(te(t))n=16;else if(typeof t=="object")if(o&65){const r=t.default;r&&(r._c&&(r._d=!1),ui(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!(jo in t)?t._ctx=Ve:r===3&&Ve&&(Ve.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else le(t)?(t={default:t,_ctx:Ve},n=32):(t=String(t),o&64?(n=16,t=[Qc(t)]):n=8);e.children=t,e.shapeFlag|=n}function Yc(...e){const t={};for(let n=0;nPe||Ve;let ci,Zt,Di="__VUE_INSTANCE_SETTERS__";(Zt=mr()[Di])||(Zt=mr()[Di]=[]),Zt.push(e=>Pe=e),ci=e=>{Zt.length>1?Zt.forEach(t=>t(e)):Zt[0](e)};const un=e=>{ci(e),e.scope.on()},Dt=()=>{Pe&&Pe.scope.off(),ci(null)};function Xl(e){return e.vnode.shapeFlag&4}let Hn=!1;function Gc(e,t=!1){Hn=t;const{props:n,children:o}=e.vnode,r=Xl(e);Oc(e,n,r,t),Bc(e,o);const i=r?ef(e,t):void 0;return Hn=!1,i}function ef(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=vn(new Proxy(e.ctx,Ec));const{setup:o}=n;if(o){const r=e.setupContext=o.length>1?nf(e):null;un(e),gn();const i=Rt(o,e,0,[e.props,r]);if(mn(),Dt(),el(i)){if(i.then(Dt,Dt),t)return i.then(s=>{Hi(e,s,t)}).catch(s=>{Oo(s,e,0)});e.asyncDep=i}else Hi(e,i,t)}else Gl(e,t)}function Hi(e,t,n){le(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ye(t)&&(e.setupState=wl(t)),Gl(e,n)}let zi;function Gl(e,t,n){const o=e.type;if(!e.render){if(!t&&zi&&!o.render){const r=o.template||si(e).template;if(r){const{isCustomElement:i,compilerOptions:s}=e.appContext.config,{delimiters:l,compilerOptions:a}=o,c=Ce(Ce({isCustomElement:i,delimiters:l},s),a);o.render=zi(r,c)}}e.render=o.render||nt}un(e),gn(),Sc(e),mn(),Dt()}function tf(e){return e.attrsProxy||(e.attrsProxy=new Proxy(e.attrs,{get(t,n){return Ie(e,"get","$attrs"),t[n]}}))}function nf(e){const t=n=>{e.exposed=n||{}};return{get attrs(){return tf(e)},slots:e.slots,emit:e.emit,expose:t}}function Vo(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(wl(vn(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Mn)return Mn[n](e)},has(t,n){return n in t||n in Mn}}))}function Rr(e,t=!0){return le(e)?e.displayName||e.name:e.name||t&&e.__name}function of(e){return le(e)&&"__vccOpts"in e}const R=(e,t)=>Gu(e,t,Hn);function E(e,t,n){const o=arguments.length;return o===2?ye(t)&&!te(t)?Co(t)?Fe(e,null,[t]):Fe(e,t):Fe(e,null,t):(o>3?n=Array.prototype.slice.call(arguments,2):o===3&&Co(n)&&(n=[n]),Fe(e,t,n))}const rf=Symbol.for("v-scx"),sf=()=>ut(rf),lf="3.3.4",af="http://www.w3.org/2000/svg",Bt=typeof document!="undefined"?document:null,Ki=Bt&&Bt.createElement("template"),uf={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?Bt.createElementNS(af,e):Bt.createElement(e,n?{is:n}:void 0);return e==="select"&&o&&o.multiple!=null&&r.setAttribute("multiple",o.multiple),r},createText:e=>Bt.createTextNode(e),createComment:e=>Bt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Bt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,o,r,i){const s=n?n.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===i||!(r=r.nextSibling)););else{Ki.innerHTML=o?`${e}`:e;const l=Ki.content;if(o){const a=l.firstChild;for(;a.firstChild;)l.appendChild(a.firstChild);l.removeChild(a)}t.insertBefore(l,n)}return[s?s.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}};function cf(e,t,n){const o=e._vtc;o&&(t=(t?[t,...o]:[...o]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}function ff(e,t,n){const o=e.style,r=xe(n);if(n&&!r){if(t&&!xe(t))for(const i in t)n[i]==null&&Pr(o,i,"");for(const i in n)Pr(o,i,n[i])}else{const i=o.display;r?t!==n&&(o.cssText=n):t&&e.removeAttribute("style"),"_vod"in e&&(o.display=i)}}const Ui=/\s*!important$/;function Pr(e,t,n){if(te(n))n.forEach(o=>Pr(e,t,o));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const o=df(e,t);Ui.test(n)?e.setProperty(Kt(o),n.replace(Ui,""),"important"):e[o]=n}}const Wi=["Webkit","Moz","ms"],Xo={};function df(e,t){const n=Xo[t];if(n)return n;let o=ct(t);if(o!=="filter"&&o in e)return Xo[t]=o;o=Ao(o);for(let r=0;rGo||(yf.then(()=>Go=0),Go=Date.now());function wf(e,t){const n=o=>{if(!o._vts)o._vts=Date.now();else if(o._vts<=n.attached)return;Ue(xf(o,n.value),t,5,[o])};return n.value=e,n.attached=_f(),n}function xf(e,t){if(te(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(o=>r=>!r._stopped&&o&&o(r))}else return t}const Zi=/^on[a-z]/,Cf=(e,t,n,o,r=!1,i,s,l,a)=>{t==="class"?cf(e,o,r):t==="style"?ff(e,n,o):To(t)?Dr(t)||vf(e,t,n,o,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):kf(e,t,o,r))?gf(e,t,o,i,s,l,a):(t==="true-value"?e._trueValue=o:t==="false-value"&&(e._falseValue=o),hf(e,t,o,r))};function kf(e,t,n,o){return o?!!(t==="innerHTML"||t==="textContent"||t in e&&Zi.test(t)&&le(n)):t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA"||Zi.test(t)&&xe(n)?!1:t in e}const yt="transition",_n="animation",cn=(e,{slots:t})=>E(gc,ta(e),t);cn.displayName="Transition";const ea={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},Ef=cn.props=Ce({},Ol,ea),Ot=(e,t=[])=>{te(e)?e.forEach(n=>n(...t)):e&&e(...t)},Ji=e=>e?te(e)?e.some(t=>t.length>1):e.length>1:!1;function ta(e){const t={};for(const v in e)v in ea||(t[v]=e[v]);if(e.css===!1)return t;const{name:n="v",type:o,duration:r,enterFromClass:i=`${n}-enter-from`,enterActiveClass:s=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:a=i,appearActiveClass:c=s,appearToClass:u=l,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:f=`${n}-leave-active`,leaveToClass:p=`${n}-leave-to`}=e,y=Sf(r),T=y&&y[0],q=y&&y[1],{onBeforeEnter:M,onEnter:m,onEnterCancelled:_,onLeave:w,onLeaveCancelled:F,onBeforeAppear:j=M,onAppear:V=m,onAppearCancelled:N=_}=t,C=(v,H,k)=>{wt(v,H?u:l),wt(v,H?c:s),k&&k()},x=(v,H)=>{v._isLeaving=!1,wt(v,d),wt(v,p),wt(v,f),H&&H()},$=v=>(H,k)=>{const Z=v?V:m,Y=()=>C(H,v,k);Ot(Z,[H,Y]),Xi(()=>{wt(H,v?a:i),dt(H,v?u:l),Ji(Z)||Gi(H,o,T,Y)})};return Ce(t,{onBeforeEnter(v){Ot(M,[v]),dt(v,i),dt(v,s)},onBeforeAppear(v){Ot(j,[v]),dt(v,a),dt(v,c)},onEnter:$(!1),onAppear:$(!0),onLeave(v,H){v._isLeaving=!0;const k=()=>x(v,H);dt(v,d),oa(),dt(v,f),Xi(()=>{!v._isLeaving||(wt(v,d),dt(v,p),Ji(w)||Gi(v,o,q,k))}),Ot(w,[v,k])},onEnterCancelled(v){C(v,!1),Ot(_,[v])},onAppearCancelled(v){C(v,!0),Ot(N,[v])},onLeaveCancelled(v){x(v),Ot(F,[v])}})}function Sf(e){if(e==null)return null;if(ye(e))return[er(e.enter),er(e.leave)];{const t=er(e);return[t,t]}}function er(e){return hu(e)}function dt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e._vtc||(e._vtc=new Set)).add(t)}function wt(e,t){t.split(/\s+/).forEach(o=>o&&e.classList.remove(o));const{_vtc:n}=e;n&&(n.delete(t),n.size||(e._vtc=void 0))}function Xi(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Rf=0;function Gi(e,t,n,o){const r=e._endId=++Rf,i=()=>{r===e._endId&&o()};if(n)return setTimeout(i,n);const{type:s,timeout:l,propCount:a}=na(e,t);if(!s)return o();const c=s+"end";let u=0;const d=()=>{e.removeEventListener(c,f),i()},f=p=>{p.target===e&&++u>=a&&d()};setTimeout(()=>{u(n[y]||"").split(", "),r=o(`${yt}Delay`),i=o(`${yt}Duration`),s=es(r,i),l=o(`${_n}Delay`),a=o(`${_n}Duration`),c=es(l,a);let u=null,d=0,f=0;t===yt?s>0&&(u=yt,d=s,f=i.length):t===_n?c>0&&(u=_n,d=c,f=a.length):(d=Math.max(s,c),u=d>0?s>c?yt:_n:null,f=u?u===yt?i.length:a.length:0);const p=u===yt&&/\b(transform|all)(,|$)/.test(o(`${yt}Property`).toString());return{type:u,timeout:d,propCount:f,hasTransform:p}}function es(e,t){for(;e.lengthts(n)+ts(e[o])))}function ts(e){return Number(e.slice(0,-1).replace(",","."))*1e3}function oa(){return document.body.offsetHeight}const ra=new WeakMap,ia=new WeakMap,sa={name:"TransitionGroup",props:Ce({},Ef,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=ke(),o=Ml();let r,i;return ri(()=>{if(!r.length)return;const s=e.moveClass||`${e.name||"v"}-move`;if(!Of(r[0].el,n.vnode.el,s))return;r.forEach(qf),r.forEach(Af);const l=r.filter(Mf);oa(),l.forEach(a=>{const c=a.el,u=c.style;dt(c,s),u.transform=u.webkitTransform=u.transitionDuration="";const d=c._moveCb=f=>{f&&f.target!==c||(!f||/transform$/.test(f.propertyName))&&(c.removeEventListener("transitionend",d),c._moveCb=null,wt(c,s))};c.addEventListener("transitionend",d)})}),()=>{const s=ie(e),l=ta(s);let a=s.tag||Xe;r=i,i=t.default?oi(t.default()):[];for(let c=0;cdelete e.mode;sa.props;const Tf=sa;function qf(e){const t=e.el;t._moveCb&&t._moveCb(),t._enterCb&&t._enterCb()}function Af(e){ia.set(e,e.el.getBoundingClientRect())}function Mf(e){const t=ra.get(e),n=ia.get(e),o=t.left-n.left,r=t.top-n.top;if(o||r){const i=e.el.style;return i.transform=i.webkitTransform=`translate(${o}px,${r}px)`,i.transitionDuration="0s",e}}function Of(e,t,n){const o=e.cloneNode();e._vtc&&e._vtc.forEach(s=>{s.split(/\s+/).forEach(l=>l&&o.classList.remove(l))}),n.split(/\s+/).forEach(s=>s&&o.classList.add(s)),o.style.display="none";const r=t.nodeType===1?t:t.parentNode;r.appendChild(o);const{hasTransform:i}=na(o);return r.removeChild(o),i}const $f={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},Em=(e,t)=>n=>{if(!("key"in n))return;const o=Kt(n.key);if(t.some(r=>r===o||$f[r]===o))return e(n)},Sm={beforeMount(e,{value:t},{transition:n}){e._vod=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):wn(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),wn(e,!0),o.enter(e)):o.leave(e,()=>{wn(e,!1)}):wn(e,t))},beforeUnmount(e,{value:t}){wn(e,t)}};function wn(e,t){e.style.display=t?e._vod:"none"}const Lf=Ce({patchProp:Cf},uf);let ns;function Bf(){return ns||(ns=Ic(Lf))}const la=(...e)=>{const t=Bf().createApp(...e),{mount:n}=t;return t.mount=o=>{const r=Ff(o);if(!r)return;const i=t._component;!le(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.innerHTML="";const s=n(r,!1,r instanceof SVGElement);return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),s},t};function Ff(e){return xe(e)?document.querySelector(e):e}function bn(e,t,n,o){return Object.defineProperty(e,t,{get:n,set:o,enumerable:!0}),e}const qt=he(!1);let Do;function If(e,t){const n=/(edg|edge|edga|edgios)\/([\w.]+)/.exec(e)||/(opr)[\/]([\w.]+)/.exec(e)||/(vivaldi)[\/]([\w.]+)/.exec(e)||/(chrome|crios)[\/]([\w.]+)/.exec(e)||/(version)(applewebkit)[\/]([\w.]+).*(safari)[\/]([\w.]+)/.exec(e)||/(webkit)[\/]([\w.]+).*(version)[\/]([\w.]+).*(safari)[\/]([\w.]+)/.exec(e)||/(firefox|fxios)[\/]([\w.]+)/.exec(e)||/(webkit)[\/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[\/]([\w.]+)/.exec(e)||[];return{browser:n[5]||n[3]||n[1]||"",version:n[2]||n[4]||"0",versionNumber:n[4]||n[2]||"0",platform:t[0]||""}}function Nf(e){return/(ipad)/.exec(e)||/(ipod)/.exec(e)||/(windows phone)/.exec(e)||/(iphone)/.exec(e)||/(kindle)/.exec(e)||/(silk)/.exec(e)||/(android)/.exec(e)||/(win)/.exec(e)||/(mac)/.exec(e)||/(linux)/.exec(e)||/(cros)/.exec(e)||/(playbook)/.exec(e)||/(bb)/.exec(e)||/(blackberry)/.exec(e)||[]}const aa="ontouchstart"in window||window.navigator.maxTouchPoints>0;function jf(e){Do={is:{...e}},delete e.mac,delete e.desktop;const t=Math.min(window.innerHeight,window.innerWidth)>414?"ipad":"iphone";Object.assign(e,{mobile:!0,ios:!0,platform:t,[t]:!0})}function Vf(e){const t=e.toLowerCase(),n=Nf(t),o=If(t,n),r={};o.browser&&(r[o.browser]=!0,r.version=o.version,r.versionNumber=parseInt(o.versionNumber,10)),o.platform&&(r[o.platform]=!0);const i=r.android||r.ios||r.bb||r.blackberry||r.ipad||r.iphone||r.ipod||r.kindle||r.playbook||r.silk||r["windows phone"];return i===!0||t.indexOf("mobile")>-1?(r.mobile=!0,r.edga||r.edgios?(r.edge=!0,o.browser="edge"):r.crios?(r.chrome=!0,o.browser="chrome"):r.fxios&&(r.firefox=!0,o.browser="firefox")):r.desktop=!0,(r.ipod||r.ipad||r.iphone)&&(r.ios=!0),r["windows phone"]&&(r.winphone=!0,delete r["windows phone"]),(r.chrome||r.opr||r.safari||r.vivaldi||r.mobile===!0&&r.ios!==!0&&i!==!0)&&(r.webkit=!0),r.edg&&(o.browser="edgechromium",r.edgeChromium=!0),(r.safari&&r.blackberry||r.bb)&&(o.browser="blackberry",r.blackberry=!0),r.safari&&r.playbook&&(o.browser="playbook",r.playbook=!0),r.opr&&(o.browser="opera",r.opera=!0),r.safari&&r.android&&(o.browser="android",r.android=!0),r.safari&&r.kindle&&(o.browser="kindle",r.kindle=!0),r.safari&&r.silk&&(o.browser="silk",r.silk=!0),r.vivaldi&&(o.browser="vivaldi",r.vivaldi=!0),r.name=o.browser,r.platform=o.platform,t.indexOf("electron")>-1?r.electron=!0:document.location.href.indexOf("-extension://")>-1?r.bex=!0:(window.Capacitor!==void 0?(r.capacitor=!0,r.nativeMobile=!0,r.nativeMobileWrapper="capacitor"):(window._cordovaNative!==void 0||window.cordova!==void 0)&&(r.cordova=!0,r.nativeMobile=!0,r.nativeMobileWrapper="cordova"),aa===!0&&r.mac===!0&&(r.desktop===!0&&r.safari===!0||r.nativeMobile===!0&&r.android!==!0&&r.ios!==!0&&r.ipad!==!0)&&jf(r)),r}const os=navigator.userAgent||navigator.vendor||window.opera,Df={has:{touch:!1,webStorage:!1},within:{iframe:!1}},we={userAgent:os,is:Vf(os),has:{touch:aa},within:{iframe:window.self!==window.top}},Tr={install(e){const{$q:t}=e;qt.value===!0?(e.onSSRHydrated.push(()=>{Object.assign(t.platform,we),qt.value=!1,Do=void 0}),t.platform=pn(this)):t.platform=this}};{let e;bn(we.has,"webStorage",()=>{if(e!==void 0)return e;try{if(window.localStorage)return e=!0,!0}catch{}return e=!1,!1}),we.is.ios===!0&&window.navigator.vendor.toLowerCase().indexOf("apple"),qt.value===!0?Object.assign(Tr,we,Do,Df):Object.assign(Tr,we)}var Ho=(e,t)=>{const n=pn(e);for(const o in e)bn(t,o,()=>n[o],r=>{n[o]=r});return t};const Be={hasPassive:!1,passiveCapture:!0,notPassiveCapture:!0};try{const e=Object.defineProperty({},"passive",{get(){Object.assign(Be,{hasPassive:!0,passive:{passive:!0},notPassive:{passive:!1},passiveCapture:{passive:!0,capture:!0},notPassiveCapture:{passive:!1,capture:!0}})}});window.addEventListener("qtest",null,e),window.removeEventListener("qtest",null,e)}catch{}function Pt(){}function Rm(e){return e.button===0}function Hf(e){return e.touches&&e.touches[0]?e=e.touches[0]:e.changedTouches&&e.changedTouches[0]?e=e.changedTouches[0]:e.targetTouches&&e.targetTouches[0]&&(e=e.targetTouches[0]),{top:e.clientY,left:e.clientX}}function zf(e){if(e.path)return e.path;if(e.composedPath)return e.composedPath();const t=[];let n=e.target;for(;n;){if(t.push(n),n.tagName==="HTML")return t.push(document),t.push(window),t;n=n.parentElement}}function ko(e){e.stopPropagation()}function Et(e){e.cancelable!==!1&&e.preventDefault()}function Ke(e){e.cancelable!==!1&&e.preventDefault(),e.stopPropagation()}function Pm(e,t){if(e===void 0||t===!0&&e.__dragPrevented===!0)return;const n=t===!0?o=>{o.__dragPrevented=!0,o.addEventListener("dragstart",Et,Be.notPassiveCapture)}:o=>{delete o.__dragPrevented,o.removeEventListener("dragstart",Et,Be.notPassiveCapture)};e.querySelectorAll("a, img").forEach(n)}function Kf(e,t,n){const o=`__q_${t}_evt`;e[o]=e[o]!==void 0?e[o].concat(n):n,n.forEach(r=>{r[0].addEventListener(r[1],e[r[2]],Be[r[3]])})}function Uf(e,t){const n=`__q_${t}_evt`;e[n]!==void 0&&(e[n].forEach(o=>{o[0].removeEventListener(o[1],e[o[2]],Be[o[3]])}),e[n]=void 0)}function ua(e,t=250,n){let o=null;function r(){const i=arguments,s=()=>{o=null,n!==!0&&e.apply(this,i)};o!==null?clearTimeout(o):n===!0&&e.apply(this,i),o=setTimeout(s,t)}return r.cancel=()=>{o!==null&&clearTimeout(o)},r}const tr=["sm","md","lg","xl"],{passive:rs}=Be;var Wf=Ho({width:0,height:0,name:"xs",sizes:{sm:600,md:1024,lg:1440,xl:1920},lt:{sm:!0,md:!0,lg:!0,xl:!0},gt:{xs:!1,sm:!1,md:!1,lg:!1},xs:!0,sm:!1,md:!1,lg:!1,xl:!1},{setSizes:Pt,setDebounce:Pt,install({$q:e,onSSRHydrated:t}){if(e.screen=this,this.__installed===!0){e.config.screen!==void 0&&(e.config.screen.bodyClasses===!1?document.body.classList.remove(`screen--${this.name}`):this.__update(!0));return}const{visualViewport:n}=window,o=n||window,r=document.scrollingElement||document.documentElement,i=n===void 0||we.is.mobile===!0?()=>[Math.max(window.innerWidth,r.clientWidth),Math.max(window.innerHeight,r.clientHeight)]:()=>[n.width*n.scale+window.innerWidth-r.clientWidth,n.height*n.scale+window.innerHeight-r.clientHeight],s=e.config.screen!==void 0&&e.config.screen.bodyClasses===!0;this.__update=d=>{const[f,p]=i();if(p!==this.height&&(this.height=p),f!==this.width)this.width=f;else if(d!==!0)return;let y=this.sizes;this.gt.xs=f>=y.sm,this.gt.sm=f>=y.md,this.gt.md=f>=y.lg,this.gt.lg=f>=y.xl,this.lt.sm=f{tr.forEach(f=>{d[f]!==void 0&&(a[f]=d[f])})},this.setDebounce=d=>{c=d};const u=()=>{const d=getComputedStyle(document.body);d.getPropertyValue("--q-size-sm")&&tr.forEach(f=>{this.sizes[f]=parseInt(d.getPropertyValue(`--q-size-${f}`),10)}),this.setSizes=f=>{tr.forEach(p=>{f[p]&&(this.sizes[p]=f[p])}),this.__update(!0)},this.setDebounce=f=>{l!==void 0&&o.removeEventListener("resize",l,rs),l=f>0?ua(this.__update,f):this.__update,o.addEventListener("resize",l,rs)},this.setDebounce(c),Object.keys(a).length!==0?(this.setSizes(a),a=void 0):this.__update(),s===!0&&this.name==="xs"&&document.body.classList.add("screen--xs")};qt.value===!0?t.push(u):u()}});const Ae=Ho({isActive:!1,mode:!1},{__media:void 0,set(e){Ae.mode=e,e==="auto"?(Ae.__media===void 0&&(Ae.__media=window.matchMedia("(prefers-color-scheme: dark)"),Ae.__updateMedia=()=>{Ae.set("auto")},Ae.__media.addListener(Ae.__updateMedia)),e=Ae.__media.matches):Ae.__media!==void 0&&(Ae.__media.removeListener(Ae.__updateMedia),Ae.__media=void 0),Ae.isActive=e===!0,document.body.classList.remove(`body--${e===!0?"light":"dark"}`),document.body.classList.add(`body--${e===!0?"dark":"light"}`)},toggle(){Ae.set(Ae.isActive===!1)},install({$q:e,onSSRHydrated:t,ssrContext:n}){const{dark:o}=e.config;if(e.dark=this,this.__installed===!0&&o===void 0)return;this.isActive=o===!0;const r=o!==void 0?o:!1;if(qt.value===!0){const i=l=>{this.__fromSSR=l},s=this.set;this.set=i,i(r),t.push(()=>{this.set=s,this.set(this.__fromSSR)})}else this.set(r)}}),ca=()=>!0;function Qf(e){return typeof e=="string"&&e!==""&&e!=="/"&&e!=="#/"}function Yf(e){return e.startsWith("#")===!0&&(e=e.substring(1)),e.startsWith("/")===!1&&(e="/"+e),e.endsWith("/")===!0&&(e=e.substring(0,e.length-1)),"#"+e}function Zf(e){if(e.backButtonExit===!1)return()=>!1;if(e.backButtonExit==="*")return ca;const t=["#/"];return Array.isArray(e.backButtonExit)===!0&&t.push(...e.backButtonExit.filter(Qf).map(Yf)),()=>t.includes(window.location.hash)}var qr={__history:[],add:Pt,remove:Pt,install({$q:e}){if(this.__installed===!0)return;const{cordova:t,capacitor:n}=we.is;if(t!==!0&&n!==!0)return;const o=e.config[t===!0?"cordova":"capacitor"];if(o!==void 0&&o.backButton===!1||n===!0&&(window.Capacitor===void 0||window.Capacitor.Plugins.App===void 0))return;this.add=s=>{s.condition===void 0&&(s.condition=ca),this.__history.push(s)},this.remove=s=>{const l=this.__history.indexOf(s);l>=0&&this.__history.splice(l,1)};const r=Zf(Object.assign({backButtonExit:!0},o)),i=()=>{if(this.__history.length){const s=this.__history[this.__history.length-1];s.condition()===!0&&(this.__history.pop(),s.handler())}else r()===!0?navigator.app.exitApp():window.history.back()};t===!0?document.addEventListener("deviceready",()=>{document.addEventListener("backbutton",i,!1)}):window.Capacitor.Plugins.App.addListener("backButton",i)}},is={isoName:"en-US",nativeName:"English (US)",label:{clear:"Clear",ok:"OK",cancel:"Cancel",close:"Close",set:"Set",select:"Select",reset:"Reset",remove:"Remove",update:"Update",create:"Create",search:"Search",filter:"Filter",refresh:"Refresh",expand:e=>e?`Expand "${e}"`:"Expand",collapse:e=>e?`Collapse "${e}"`:"Collapse"},date:{days:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),daysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),firstDayOfWeek:0,format24h:!1,pluralDay:"days"},table:{noData:"No data available",noResults:"No matching records found",loading:"Loading...",selectedRecords:e=>e===1?"1 record selected.":(e===0?"No":e)+" records selected.",recordsPerPage:"Records per page:",allRows:"All",pagination:(e,t,n)=>e+"-"+t+" of "+n,columns:"Columns"},editor:{url:"URL",bold:"Bold",italic:"Italic",strikethrough:"Strikethrough",underline:"Underline",unorderedList:"Unordered List",orderedList:"Ordered List",subscript:"Subscript",superscript:"Superscript",hyperlink:"Hyperlink",toggleFullscreen:"Toggle Fullscreen",quote:"Quote",left:"Left align",center:"Center align",right:"Right align",justify:"Justify align",print:"Print",outdent:"Decrease indentation",indent:"Increase indentation",removeFormat:"Remove formatting",formatting:"Formatting",fontSize:"Font Size",align:"Align",hr:"Insert Horizontal Rule",undo:"Undo",redo:"Redo",heading1:"Heading 1",heading2:"Heading 2",heading3:"Heading 3",heading4:"Heading 4",heading5:"Heading 5",heading6:"Heading 6",paragraph:"Paragraph",code:"Code",size1:"Very small",size2:"A bit small",size3:"Normal",size4:"Medium-large",size5:"Big",size6:"Very big",size7:"Maximum",defaultFont:"Default Font",viewSource:"View Source"},tree:{noNodes:"No nodes available",noResults:"No matching nodes found"}};function ss(){const e=Array.isArray(navigator.languages)===!0&&navigator.languages.length!==0?navigator.languages[0]:navigator.language;if(typeof e=="string")return e.split(/[-_]/).map((t,n)=>n===0?t.toLowerCase():n>1||t.length<4?t.toUpperCase():t[0].toUpperCase()+t.slice(1).toLowerCase()).join("-")}const Ze=Ho({__langPack:{}},{getLocale:ss,set(e=is,t){const n={...e,rtl:e.rtl===!0,getLocale:ss};{if(n.set=Ze.set,Ze.__langConfig===void 0||Ze.__langConfig.noHtmlAttrs!==!0){const o=document.documentElement;o.setAttribute("dir",n.rtl===!0?"rtl":"ltr"),o.setAttribute("lang",n.isoName)}Object.assign(Ze.__langPack,n),Ze.props=n,Ze.isoName=n.isoName,Ze.nativeName=n.nativeName}},install({$q:e,lang:t,ssrContext:n}){e.lang=Ze.__langPack,Ze.__langConfig=e.config.lang,this.__installed===!0?t!==void 0&&this.set(t):this.set(t||is)}});function Jf(e,t,n=document.body){if(typeof e!="string")throw new TypeError("Expected a string as propName");if(typeof t!="string")throw new TypeError("Expected a string as value");if(!(n instanceof Element))throw new TypeError("Expected a DOM element");n.style.setProperty(`--q-${e}`,t)}let fa=!1;function Xf(e){fa=e.isComposing===!0}function da(e){return fa===!0||e!==Object(e)||e.isComposing===!0||e.qKeyEvent===!0}function zn(e,t){return da(e)===!0?!1:[].concat(t).includes(e.keyCode)}function ha(e){if(e.ios===!0)return"ios";if(e.android===!0)return"android"}function Gf({is:e,has:t,within:n},o){const r=[e.desktop===!0?"desktop":"mobile",`${t.touch===!1?"no-":""}touch`];if(e.mobile===!0){const i=ha(e);i!==void 0&&r.push("platform-"+i)}if(e.nativeMobile===!0){const i=e.nativeMobileWrapper;r.push(i),r.push("native-mobile"),e.ios===!0&&(o[i]===void 0||o[i].iosStatusBarPadding!==!1)&&r.push("q-ios-padding")}else e.electron===!0?r.push("electron"):e.bex===!0&&r.push("bex");return n.iframe===!0&&r.push("within-iframe"),r}function ed(){const{is:e}=we,t=document.body.className,n=new Set(t.replace(/ {2}/g," ").split(" "));if(Do!==void 0)n.delete("desktop"),n.add("platform-ios"),n.add("mobile");else if(e.nativeMobile!==!0&&e.electron!==!0&&e.bex!==!0){if(e.desktop===!0)n.delete("mobile"),n.delete("platform-ios"),n.delete("platform-android"),n.add("desktop");else if(e.mobile===!0){n.delete("desktop"),n.add("mobile");const r=ha(e);r!==void 0?(n.add(`platform-${r}`),n.delete(`platform-${r==="ios"?"android":"ios"}`)):(n.delete("platform-ios"),n.delete("platform-android"))}}we.has.touch===!0&&(n.delete("no-touch"),n.add("touch")),we.within.iframe===!0&&n.add("within-iframe");const o=Array.from(n).join(" ");t!==o&&(document.body.className=o)}function td(e){for(const t in e)Jf(t,e[t])}var nd={install(e){if(this.__installed!==!0){if(qt.value===!0)ed();else{const{$q:t}=e;t.config.brand!==void 0&&td(t.config.brand);const n=Gf(we,t.config);document.body.classList.add.apply(document.body.classList,n)}we.is.ios===!0&&document.body.addEventListener("touchstart",Pt),window.addEventListener("keydown",Xf,!0)}}},od={name:"material-icons",type:{positive:"check_circle",negative:"warning",info:"info",warning:"priority_high"},arrow:{up:"arrow_upward",right:"arrow_forward",down:"arrow_downward",left:"arrow_back",dropdown:"arrow_drop_down"},chevron:{left:"chevron_left",right:"chevron_right"},colorPicker:{spectrum:"gradient",tune:"tune",palette:"style"},pullToRefresh:{icon:"refresh"},carousel:{left:"chevron_left",right:"chevron_right",up:"keyboard_arrow_up",down:"keyboard_arrow_down",navigationIcon:"lens"},chip:{remove:"cancel",selected:"check"},datetime:{arrowLeft:"chevron_left",arrowRight:"chevron_right",now:"access_time",today:"today"},editor:{bold:"format_bold",italic:"format_italic",strikethrough:"strikethrough_s",underline:"format_underlined",unorderedList:"format_list_bulleted",orderedList:"format_list_numbered",subscript:"vertical_align_bottom",superscript:"vertical_align_top",hyperlink:"link",toggleFullscreen:"fullscreen",quote:"format_quote",left:"format_align_left",center:"format_align_center",right:"format_align_right",justify:"format_align_justify",print:"print",outdent:"format_indent_decrease",indent:"format_indent_increase",removeFormat:"format_clear",formatting:"text_format",fontSize:"format_size",align:"format_align_left",hr:"remove",undo:"undo",redo:"redo",heading:"format_size",code:"code",size:"format_size",font:"font_download",viewSource:"code"},expansionItem:{icon:"keyboard_arrow_down",denseIcon:"arrow_drop_down"},fab:{icon:"add",activeIcon:"close"},field:{clear:"cancel",error:"error"},pagination:{first:"first_page",prev:"keyboard_arrow_left",next:"keyboard_arrow_right",last:"last_page"},rating:{icon:"grade"},stepper:{done:"check",active:"edit",error:"warning"},tabs:{left:"chevron_left",right:"chevron_right",up:"keyboard_arrow_up",down:"keyboard_arrow_down"},table:{arrowUp:"arrow_upward",warning:"warning",firstPage:"first_page",prevPage:"chevron_left",nextPage:"chevron_right",lastPage:"last_page"},tree:{icon:"play_arrow"},uploader:{done:"done",clear:"clear",add:"add_box",upload:"cloud_upload",removeQueue:"clear_all",removeUploaded:"done_all"}};const Eo=Ho({iconMapFn:null,__icons:{}},{set(e,t){const n={...e,rtl:e.rtl===!0};n.set=Eo.set,Object.assign(Eo.__icons,n)},install({$q:e,iconSet:t,ssrContext:n}){e.config.iconMapFn!==void 0&&(this.iconMapFn=e.config.iconMapFn),e.iconSet=this.__icons,bn(e,"iconMapFn",()=>this.iconMapFn,o=>{this.iconMapFn=o}),this.__installed===!0?t!==void 0&&this.set(t):this.set(t||od)}}),rd="_q_",Tm="_q_l_",qm="_q_pc_",id="_q_fo_",Am="_q_tabs_",Mm=()=>{},So={};let ga=!1;function sd(){ga=!0}function nr(e,t){if(e===t)return!0;if(e!==null&&t!==null&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return!1;let n,o;if(e.constructor===Array){if(n=e.length,n!==t.length)return!1;for(o=n;o--!==0;)if(nr(e[o],t[o])!==!0)return!1;return!0}if(e.constructor===Map){if(e.size!==t.size)return!1;let i=e.entries();for(o=i.next();o.done!==!0;){if(t.has(o.value[0])!==!0)return!1;o=i.next()}for(i=e.entries(),o=i.next();o.done!==!0;){if(nr(o.value[1],t.get(o.value[0]))!==!0)return!1;o=i.next()}return!0}if(e.constructor===Set){if(e.size!==t.size)return!1;const i=e.entries();for(o=i.next();o.done!==!0;){if(t.has(o.value[0])!==!0)return!1;o=i.next()}return!0}if(e.buffer!=null&&e.buffer.constructor===ArrayBuffer){if(n=e.length,n!==t.length)return!1;for(o=n;o--!==0;)if(e[o]!==t[o])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===t.toString();const r=Object.keys(e).filter(i=>e[i]!==void 0);if(n=r.length,n!==Object.keys(t).filter(i=>t[i]!==void 0).length)return!1;for(o=n;o--!==0;){const i=r[o];if(nr(e[i],t[i])!==!0)return!1}return!0}return e!==e&&t!==t}function at(e){return e!==null&&typeof e=="object"&&Array.isArray(e)!==!0}function ld(e){return Object.prototype.toString.call(e)==="[object Date]"}function ad(e){return Object.prototype.toString.call(e)==="[object RegExp]"}function Om(e){return typeof e=="number"&&isFinite(e)}const ls=[Tr,nd,Ae,Wf,qr,Ze,Eo];function ma(e,t){const n=la(e);n.config.globalProperties=t.config.globalProperties;const{reload:o,...r}=t._context;return Object.assign(n._context,r),n}function as(e,t){t.forEach(n=>{n.install(e),n.__installed=!0})}function ud(e,t,n){e.config.globalProperties.$q=n.$q,e.provide(rd,n.$q),as(n,ls),t.components!==void 0&&Object.values(t.components).forEach(o=>{at(o)===!0&&o.name!==void 0&&e.component(o.name,o)}),t.directives!==void 0&&Object.values(t.directives).forEach(o=>{at(o)===!0&&o.name!==void 0&&e.directive(o.name,o)}),t.plugins!==void 0&&as(n,Object.values(t.plugins).filter(o=>typeof o.install=="function"&&ls.includes(o)===!1)),qt.value===!0&&(n.$q.onSSRHydrated=()=>{n.onSSRHydrated.forEach(o=>{o()}),n.$q.onSSRHydrated=()=>{}})}var cd=function(e,t={}){const n={version:"2.12.4"};ga===!1?(t.config!==void 0&&Object.assign(So,t.config),n.config={...So},sd()):n.config=t.config||{},ud(e,t,{parentApp:e,$q:n,lang:t.lang,iconSet:t.iconSet,onSSRHydrated:[]})},fd={version:"2.12.4",install:cd,lang:Ze,iconSet:Eo},dd=(e,t)=>{const n=e.__vccOpts||e;for(const[o,r]of t)n[o]=r;return n};const hd=Lo({name:"App"});function gd(e,t,n,o,r,i){const s=xc("router-view");return Wl(),Yl(s)}var md=dd(hd,[["render",gd]]);/*! - * vue-router v4.2.4 - * (c) 2023 Eduardo San Martin Morote - * @license MIT - */const en=typeof window!="undefined";function pd(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const ge=Object.assign;function or(e,t){const n={};for(const o in t){const r=t[o];n[o]=rt(r)?r.map(e):e(r)}return n}const Ln=()=>{},rt=Array.isArray,vd=/\/$/,bd=e=>e.replace(vd,"");function rr(e,t,n="/"){let o,r={},i="",s="";const l=t.indexOf("#");let a=t.indexOf("?");return l=0&&(a=-1),a>-1&&(o=t.slice(0,a),i=t.slice(a+1,l>-1?l:t.length),r=e(i)),l>-1&&(o=o||t.slice(0,l),s=t.slice(l,t.length)),o=xd(o!=null?o:t,n),{fullPath:o+(i&&"?")+i+s,path:o,query:r,hash:s}}function yd(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function us(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function _d(e,t,n){const o=t.matched.length-1,r=n.matched.length-1;return o>-1&&o===r&&fn(t.matched[o],n.matched[r])&&pa(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function fn(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function pa(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!wd(e[n],t[n]))return!1;return!0}function wd(e,t){return rt(e)?cs(e,t):rt(t)?cs(t,e):e===t}function cs(e,t){return rt(t)?e.length===t.length&&e.every((n,o)=>n===t[o]):e.length===1&&e[0]===t}function xd(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=n.length-1,s,l;for(s=0;s1&&i--;else break;return n.slice(0,i).join("/")+"/"+o.slice(s-(s===o.length?1:0)).join("/")}var Kn;(function(e){e.pop="pop",e.push="push"})(Kn||(Kn={}));var Bn;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Bn||(Bn={}));function Cd(e){if(!e)if(en){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),bd(e)}const kd=/^[^#]+#/;function Ed(e,t){return e.replace(kd,"#")+t}function Sd(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 zo=()=>({left:window.pageXOffset,top:window.pageYOffset});function Rd(e){let t;if("el"in e){const n=e.el,o=typeof n=="string"&&n.startsWith("#"),r=typeof n=="string"?o?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!r)return;t=Sd(r,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.pageXOffset,t.top!=null?t.top:window.pageYOffset)}function fs(e,t){return(history.state?history.state.position-t:-1)+e}const Ar=new Map;function Pd(e,t){Ar.set(e,t)}function Td(e){const t=Ar.get(e);return Ar.delete(e),t}let qd=()=>location.protocol+"//"+location.host;function va(e,t){const{pathname:n,search:o,hash:r}=t,i=e.indexOf("#");if(i>-1){let l=r.includes(e.slice(i))?e.slice(i).length:1,a=r.slice(l);return a[0]!=="/"&&(a="/"+a),us(a,"")}return us(n,e)+o+r}function Ad(e,t,n,o){let r=[],i=[],s=null;const l=({state:f})=>{const p=va(e,location),y=n.value,T=t.value;let q=0;if(f){if(n.value=p,t.value=f,s&&s===y){s=null;return}q=T?f.position-T.position:0}else o(p);r.forEach(M=>{M(n.value,y,{delta:q,type:Kn.pop,direction:q?q>0?Bn.forward:Bn.back:Bn.unknown})})};function a(){s=n.value}function c(f){r.push(f);const p=()=>{const y=r.indexOf(f);y>-1&&r.splice(y,1)};return i.push(p),p}function u(){const{history:f}=window;!f.state||f.replaceState(ge({},f.state,{scroll:zo()}),"")}function d(){for(const f of i)f();i=[],window.removeEventListener("popstate",l),window.removeEventListener("beforeunload",u)}return window.addEventListener("popstate",l),window.addEventListener("beforeunload",u,{passive:!0}),{pauseListeners:a,listen:c,destroy:d}}function ds(e,t,n,o=!1,r=!1){return{back:e,current:t,forward:n,replaced:o,position:window.history.length,scroll:r?zo():null}}function Md(e){const{history:t,location:n}=window,o={value:va(e,n)},r={value:t.state};r.value||i(o.value,{back:null,current:o.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function i(a,c,u){const d=e.indexOf("#"),f=d>-1?(n.host&&document.querySelector("base")?e:e.slice(d))+a:qd()+e+a;try{t[u?"replaceState":"pushState"](c,"",f),r.value=c}catch(p){console.error(p),n[u?"replace":"assign"](f)}}function s(a,c){const u=ge({},t.state,ds(r.value.back,a,r.value.forward,!0),c,{position:r.value.position});i(a,u,!0),o.value=a}function l(a,c){const u=ge({},r.value,t.state,{forward:a,scroll:zo()});i(u.current,u,!0);const d=ge({},ds(o.value,a,null),{position:u.position+1},c);i(a,d,!1),o.value=a}return{location:o,state:r,push:l,replace:s}}function Od(e){e=Cd(e);const t=Md(e),n=Ad(e,t.state,t.location,t.replace);function o(i,s=!0){s||n.pauseListeners(),history.go(i)}const r=ge({location:"",base:e,go:o,createHref:Ed.bind(null,e)},t,n);return Object.defineProperty(r,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(r,"state",{enumerable:!0,get:()=>t.state.value}),r}function $d(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),Od(e)}function Ld(e){return typeof e=="string"||e&&typeof e=="object"}function ba(e){return typeof e=="string"||typeof e=="symbol"}const _t={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},ya=Symbol("");var hs;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(hs||(hs={}));function dn(e,t){return ge(new Error,{type:e,[ya]:!0},t)}function ft(e,t){return e instanceof Error&&ya in e&&(t==null||!!(e.type&t))}const gs="[^/]+?",Bd={sensitive:!1,strict:!1,start:!0,end:!0},Fd=/[.+*?^${}()[\]/\\]/g;function Id(e,t){const n=ge({},Bd,t),o=[];let r=n.start?"^":"";const i=[];for(const c of e){const u=c.length?[]:[90];n.strict&&!c.length&&(r+="/");for(let d=0;dt.length?t.length===1&&t[0]===40+40?1:-1:0}function jd(e,t){let n=0;const o=e.score,r=t.score;for(;n0&&t[t.length-1]<0}const Vd={type:0,value:""},Dd=/[a-zA-Z0-9_]/;function Hd(e){if(!e)return[[]];if(e==="/")return[[Vd]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(p){throw new Error(`ERR (${n})/"${c}": ${p}`)}let n=0,o=n;const r=[];let i;function s(){i&&r.push(i),i=[]}let l=0,a,c="",u="";function d(){!c||(n===0?i.push({type:0,value:c}):n===1||n===2||n===3?(i.length>1&&(a==="*"||a==="+")&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),i.push({type:1,value:c,regexp:u,repeatable:a==="*"||a==="+",optional:a==="*"||a==="?"})):t("Invalid state to consume buffer"),c="")}function f(){c+=a}for(;l{s(m)}:Ln}function s(u){if(ba(u)){const d=o.get(u);d&&(o.delete(u),n.splice(n.indexOf(d),1),d.children.forEach(s),d.alias.forEach(s))}else{const d=n.indexOf(u);d>-1&&(n.splice(d,1),u.record.name&&o.delete(u.record.name),u.children.forEach(s),u.alias.forEach(s))}}function l(){return n}function a(u){let d=0;for(;d=0&&(u.record.path!==n[d].record.path||!_a(u,n[d]));)d++;n.splice(d,0,u),u.record.name&&!vs(u)&&o.set(u.record.name,u)}function c(u,d){let f,p={},y,T;if("name"in u&&u.name){if(f=o.get(u.name),!f)throw dn(1,{location:u});T=f.record.name,p=ge(ps(d.params,f.keys.filter(m=>!m.optional).map(m=>m.name)),u.params&&ps(u.params,f.keys.map(m=>m.name))),y=f.stringify(p)}else if("path"in u)y=u.path,f=n.find(m=>m.re.test(y)),f&&(p=f.parse(y),T=f.record.name);else{if(f=d.name?o.get(d.name):n.find(m=>m.re.test(d.path)),!f)throw dn(1,{location:u,currentLocation:d});T=f.record.name,p=ge({},d.params,u.params),y=f.stringify(p)}const q=[];let M=f;for(;M;)q.unshift(M.record),M=M.parent;return{name:T,path:y,params:p,matched:q,meta:Qd(q)}}return e.forEach(u=>i(u)),{addRoute:i,resolve:c,removeRoute:s,getRoutes:l,getRecordMatcher:r}}function ps(e,t){const n={};for(const o of t)o in e&&(n[o]=e[o]);return n}function Ud(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:Wd(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 Wd(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const o in e.components)t[o]=typeof n=="object"?n[o]:n;return t}function vs(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Qd(e){return e.reduce((t,n)=>ge(t,n.meta),{})}function bs(e,t){const n={};for(const o in e)n[o]=o in t?t[o]:e[o];return n}function _a(e,t){return t.children.some(n=>n===e||_a(e,n))}const wa=/#/g,Yd=/&/g,Zd=/\//g,Jd=/=/g,Xd=/\?/g,xa=/\+/g,Gd=/%5B/g,eh=/%5D/g,Ca=/%5E/g,th=/%60/g,ka=/%7B/g,nh=/%7C/g,Ea=/%7D/g,oh=/%20/g;function fi(e){return encodeURI(""+e).replace(nh,"|").replace(Gd,"[").replace(eh,"]")}function rh(e){return fi(e).replace(ka,"{").replace(Ea,"}").replace(Ca,"^")}function Mr(e){return fi(e).replace(xa,"%2B").replace(oh,"+").replace(wa,"%23").replace(Yd,"%26").replace(th,"`").replace(ka,"{").replace(Ea,"}").replace(Ca,"^")}function ih(e){return Mr(e).replace(Jd,"%3D")}function sh(e){return fi(e).replace(wa,"%23").replace(Xd,"%3F")}function lh(e){return e==null?"":sh(e).replace(Zd,"%2F")}function Ro(e){try{return decodeURIComponent(""+e)}catch{}return""+e}function ah(e){const t={};if(e===""||e==="?")return t;const o=(e[0]==="?"?e.slice(1):e).split("&");for(let r=0;ri&&Mr(i)):[o&&Mr(o)]).forEach(i=>{i!==void 0&&(t+=(t.length?"&":"")+n,i!=null&&(t+="="+i))})}return t}function uh(e){const t={};for(const n in e){const o=e[n];o!==void 0&&(t[n]=rt(o)?o.map(r=>r==null?null:""+r):o==null?o:""+o)}return t}const ch=Symbol(""),_s=Symbol(""),di=Symbol(""),Sa=Symbol(""),Or=Symbol("");function xn(){let e=[];function t(o){return e.push(o),()=>{const r=e.indexOf(o);r>-1&&e.splice(r,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Ct(e,t,n,o,r){const i=o&&(o.enterCallbacks[r]=o.enterCallbacks[r]||[]);return()=>new Promise((s,l)=>{const a=d=>{d===!1?l(dn(4,{from:n,to:t})):d instanceof Error?l(d):Ld(d)?l(dn(2,{from:t,to:d})):(i&&o.enterCallbacks[r]===i&&typeof d=="function"&&i.push(d),s())},c=e.call(o&&o.instances[r],t,n,a);let u=Promise.resolve(c);e.length<3&&(u=u.then(a)),u.catch(d=>l(d))})}function ir(e,t,n,o){const r=[];for(const i of e)for(const s in i.components){let l=i.components[s];if(!(t!=="beforeRouteEnter"&&!i.instances[s]))if(fh(l)){const c=(l.__vccOpts||l)[t];c&&r.push(Ct(c,n,o,i,s))}else{let a=l();r.push(()=>a.then(c=>{if(!c)return Promise.reject(new Error(`Couldn't resolve component "${s}" at "${i.path}"`));const u=pd(c)?c.default:c;i.components[s]=u;const f=(u.__vccOpts||u)[t];return f&&Ct(f,n,o,i,s)()}))}}return r}function fh(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function ws(e){const t=ut(di),n=ut(Sa),o=R(()=>t.resolve(Vt(e.to))),r=R(()=>{const{matched:a}=o.value,{length:c}=a,u=a[c-1],d=n.matched;if(!u||!d.length)return-1;const f=d.findIndex(fn.bind(null,u));if(f>-1)return f;const p=xs(a[c-2]);return c>1&&xs(u)===p&&d[d.length-1].path!==p?d.findIndex(fn.bind(null,a[c-2])):f}),i=R(()=>r.value>-1&&mh(n.params,o.value.params)),s=R(()=>r.value>-1&&r.value===n.matched.length-1&&pa(n.params,o.value.params));function l(a={}){return gh(a)?t[Vt(e.replace)?"replace":"push"](Vt(e.to)).catch(Ln):Promise.resolve()}return{route:o,href:R(()=>o.value.href),isActive:i,isExactActive:s,navigate:l}}const dh=Lo({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:ws,setup(e,{slots:t}){const n=pn(ws(e)),{options:o}=ut(di),r=R(()=>({[Cs(e.activeClass,o.linkActiveClass,"router-link-active")]:n.isActive,[Cs(e.exactActiveClass,o.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const i=t.default&&t.default(n);return e.custom?i:E("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:r.value},i)}}}),hh=dh;function gh(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){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 mh(e,t){for(const n in t){const o=t[n],r=e[n];if(typeof o=="string"){if(o!==r)return!1}else if(!rt(r)||r.length!==o.length||o.some((i,s)=>i!==r[s]))return!1}return!0}function xs(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Cs=(e,t,n)=>e!=null?e:t!=null?t:n,ph=Lo({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const o=ut(Or),r=R(()=>e.route||o.value),i=ut(_s,0),s=R(()=>{let c=Vt(i);const{matched:u}=r.value;let d;for(;(d=u[c])&&!d.components;)c++;return c}),l=R(()=>r.value.matched[s.value]);fo(_s,R(()=>s.value+1)),fo(ch,l),fo(Or,r);const a=he();return be(()=>[a.value,l.value,e.name],([c,u,d],[f,p,y])=>{u&&(u.instances[d]=c,p&&p!==u&&c&&c===f&&(u.leaveGuards.size||(u.leaveGuards=p.leaveGuards),u.updateGuards.size||(u.updateGuards=p.updateGuards))),c&&u&&(!p||!fn(u,p)||!f)&&(u.enterCallbacks[d]||[]).forEach(T=>T(c))},{flush:"post"}),()=>{const c=r.value,u=e.name,d=l.value,f=d&&d.components[u];if(!f)return ks(n.default,{Component:f,route:c});const p=d.props[u],y=p?p===!0?c.params:typeof p=="function"?p(c):p:null,q=E(f,ge({},y,t,{onVnodeUnmounted:M=>{M.component.isUnmounted&&(d.instances[u]=null)},ref:a}));return ks(n.default,{Component:q,route:c})||q}}});function ks(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const vh=ph;function bh(e){const t=Kd(e.routes,e),n=e.parseQuery||ah,o=e.stringifyQuery||ys,r=e.history,i=xn(),s=xn(),l=xn(),a=Yu(_t);let c=_t;en&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=or.bind(null,S=>""+S),d=or.bind(null,lh),f=or.bind(null,Ro);function p(S,Q){let z,X;return ba(S)?(z=t.getRecordMatcher(S),X=Q):X=S,t.addRoute(X,z)}function y(S){const Q=t.getRecordMatcher(S);Q&&t.removeRoute(Q)}function T(){return t.getRoutes().map(S=>S.record)}function q(S){return!!t.getRecordMatcher(S)}function M(S,Q){if(Q=ge({},Q||a.value),typeof S=="string"){const b=rr(n,S,Q.path),P=t.resolve({path:b.path},Q),O=r.createHref(b.fullPath);return ge(b,P,{params:f(P.params),hash:Ro(b.hash),redirectedFrom:void 0,href:O})}let z;if("path"in S)z=ge({},S,{path:rr(n,S.path,Q.path).path});else{const b=ge({},S.params);for(const P in b)b[P]==null&&delete b[P];z=ge({},S,{params:d(b)}),Q.params=d(Q.params)}const X=t.resolve(z,Q),de=S.hash||"";X.params=u(f(X.params));const h=yd(o,ge({},S,{hash:rh(de),path:X.path})),g=r.createHref(h);return ge({fullPath:h,hash:de,query:o===ys?uh(S.query):S.query||{}},X,{redirectedFrom:void 0,href:g})}function m(S){return typeof S=="string"?rr(n,S,a.value.path):ge({},S)}function _(S,Q){if(c!==S)return dn(8,{from:Q,to:S})}function w(S){return V(S)}function F(S){return w(ge(m(S),{replace:!0}))}function j(S){const Q=S.matched[S.matched.length-1];if(Q&&Q.redirect){const{redirect:z}=Q;let X=typeof z=="function"?z(S):z;return typeof X=="string"&&(X=X.includes("?")||X.includes("#")?X=m(X):{path:X},X.params={}),ge({query:S.query,hash:S.hash,params:"path"in X?{}:S.params},X)}}function V(S,Q){const z=c=M(S),X=a.value,de=S.state,h=S.force,g=S.replace===!0,b=j(z);if(b)return V(ge(m(b),{state:typeof b=="object"?ge({},de,b.state):de,force:h,replace:g}),Q||z);const P=z;P.redirectedFrom=Q;let O;return!h&&_d(o,X,z)&&(O=dn(16,{to:P,from:X}),fe(X,X,!0,!1)),(O?Promise.resolve(O):x(P,X)).catch(B=>ft(B)?ft(B,2)?B:se(B):W(B,P,X)).then(B=>{if(B){if(ft(B,2))return V(ge({replace:g},m(B.to),{state:typeof B.to=="object"?ge({},de,B.to.state):de,force:h}),Q||P)}else B=v(P,X,!0,g,de);return $(P,X,B),B})}function N(S,Q){const z=_(S,Q);return z?Promise.reject(z):Promise.resolve()}function C(S){const Q=Re.values().next().value;return Q&&typeof Q.runWithContext=="function"?Q.runWithContext(S):S()}function x(S,Q){let z;const[X,de,h]=yh(S,Q);z=ir(X.reverse(),"beforeRouteLeave",S,Q);for(const b of X)b.leaveGuards.forEach(P=>{z.push(Ct(P,S,Q))});const g=N.bind(null,S,Q);return z.push(g),ne(z).then(()=>{z=[];for(const b of i.list())z.push(Ct(b,S,Q));return z.push(g),ne(z)}).then(()=>{z=ir(de,"beforeRouteUpdate",S,Q);for(const b of de)b.updateGuards.forEach(P=>{z.push(Ct(P,S,Q))});return z.push(g),ne(z)}).then(()=>{z=[];for(const b of h)if(b.beforeEnter)if(rt(b.beforeEnter))for(const P of b.beforeEnter)z.push(Ct(P,S,Q));else z.push(Ct(b.beforeEnter,S,Q));return z.push(g),ne(z)}).then(()=>(S.matched.forEach(b=>b.enterCallbacks={}),z=ir(h,"beforeRouteEnter",S,Q),z.push(g),ne(z))).then(()=>{z=[];for(const b of s.list())z.push(Ct(b,S,Q));return z.push(g),ne(z)}).catch(b=>ft(b,8)?b:Promise.reject(b))}function $(S,Q,z){l.list().forEach(X=>C(()=>X(S,Q,z)))}function v(S,Q,z,X,de){const h=_(S,Q);if(h)return h;const g=Q===_t,b=en?history.state:{};z&&(X||g?r.replace(S.fullPath,ge({scroll:g&&b&&b.scroll},de)):r.push(S.fullPath,de)),a.value=S,fe(S,Q,z,g),se()}let H;function k(){H||(H=r.listen((S,Q,z)=>{if(!oe.listening)return;const X=M(S),de=j(X);if(de){V(ge(de,{replace:!0}),X).catch(Ln);return}c=X;const h=a.value;en&&Pd(fs(h.fullPath,z.delta),zo()),x(X,h).catch(g=>ft(g,12)?g:ft(g,2)?(V(g.to,X).then(b=>{ft(b,20)&&!z.delta&&z.type===Kn.pop&&r.go(-1,!1)}).catch(Ln),Promise.reject()):(z.delta&&r.go(-z.delta,!1),W(g,X,h))).then(g=>{g=g||v(X,h,!1),g&&(z.delta&&!ft(g,8)?r.go(-z.delta,!1):z.type===Kn.pop&&ft(g,20)&&r.go(-1,!1)),$(X,h,g)}).catch(Ln)}))}let Z=xn(),Y=xn(),A;function W(S,Q,z){se(S);const X=Y.list();return X.length?X.forEach(de=>de(S,Q,z)):console.error(S),Promise.reject(S)}function _e(){return A&&a.value!==_t?Promise.resolve():new Promise((S,Q)=>{Z.add([S,Q])})}function se(S){return A||(A=!S,k(),Z.list().forEach(([Q,z])=>S?z(S):Q()),Z.reset()),S}function fe(S,Q,z,X){const{scrollBehavior:de}=e;if(!en||!de)return Promise.resolve();const h=!z&&Td(fs(S.fullPath,0))||(X||!z)&&history.state&&history.state.scroll||null;return je().then(()=>de(S,Q,h)).then(g=>g&&Rd(g)).catch(g=>W(g,S,Q))}const L=S=>r.go(S);let ue;const Re=new Set,oe={currentRoute:a,listening:!0,addRoute:p,removeRoute:y,hasRoute:q,getRoutes:T,resolve:M,options:e,push:w,replace:F,go:L,back:()=>L(-1),forward:()=>L(1),beforeEach:i.add,beforeResolve:s.add,afterEach:l.add,onError:Y.add,isReady:_e,install(S){const Q=this;S.component("RouterLink",hh),S.component("RouterView",vh),S.config.globalProperties.$router=Q,Object.defineProperty(S.config.globalProperties,"$route",{enumerable:!0,get:()=>Vt(a)}),en&&!ue&&a.value===_t&&(ue=!0,w(r.location).catch(de=>{}));const z={};for(const de in _t)Object.defineProperty(z,de,{get:()=>a.value[de],enumerable:!0});S.provide(di,Q),S.provide(Sa,ml(z)),S.provide(Or,a);const X=S.unmount;Re.add(S),S.unmount=function(){Re.delete(S),Re.size<1&&(c=_t,H&&H(),H=null,a.value=_t,ue=!1,A=!1),X()}}};function ne(S){return S.reduce((Q,z)=>Q.then(()=>C(z)),Promise.resolve())}return oe}function yh(e,t){const n=[],o=[],r=[],i=Math.max(t.matched.length,e.matched.length);for(let s=0;sfn(c,l))?o.push(l):n.push(l));const a=e.matched[s];a&&(t.matched.find(c=>fn(c,a))||r.push(a))}return[n,o,r]}const _h=function(){const t=document.createElement("link").relList;return t&&t.supports&&t.supports("modulepreload")?"modulepreload":"preload"}(),Es={},wh="/",sr=function(t,n){return!n||n.length===0?t():Promise.all(n.map(o=>{if(o=`${wh}${o}`,o in Es)return;Es[o]=!0;const r=o.endsWith(".css"),i=r?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${o}"]${i}`))return;const s=document.createElement("link");if(s.rel=r?"stylesheet":_h,r||(s.as="script",s.crossOrigin=""),s.href=o,document.head.appendChild(s),r)return new Promise((l,a)=>{s.addEventListener("load",l),s.addEventListener("error",()=>a(new Error(`Unable to preload CSS for ${o}`)))})})).then(()=>t())},xh=[{path:"/",component:()=>sr(()=>import("./MainLayout.295f5fc5.js"),["assets/MainLayout.295f5fc5.js","assets/QResizeObserver.b8a0e5fe.js"]),children:[{path:"",component:()=>sr(()=>import("./MarketPage.b7a84b02.js"),["assets/MarketPage.b7a84b02.js","assets/QResizeObserver.b8a0e5fe.js"])}]},{path:"/:catchAll(.*)*",component:()=>sr(()=>import("./ErrorNotFound.4fc67341.js"),[])}];var lr=function(){return bh({scrollBehavior:()=>({left:0,top:0}),routes:xh,history:$d("/")})};async function Ch(e,t){const n=e(md);n.use(fd,t);const o=vn(typeof lr=="function"?await lr({}):lr);return{app:n,router:o}}const $r={xs:18,sm:24,md:32,lg:38,xl:46},Yn={size:String};function Zn(e,t=$r){return R(()=>e.size!==void 0?{fontSize:e.size in t?`${t[e.size]}px`:e.size}:null)}const $e=e=>vn(Lo(e)),kh=e=>vn(e);function tt(e,t){return e!==void 0&&e()||t}function $m(e,t){if(e!==void 0){const n=e();if(n!=null)return n.slice()}return t}function It(e,t){return e!==void 0?t.concat(e()):t}function Eh(e,t){return e===void 0?t:t!==void 0?t.concat(e()):e()}function Lm(e,t,n,o,r,i){t.key=o+r;const s=E(e,t,n);return r===!0?Al(s,i()):s}const Ss="0 0 24 24",Rs=e=>e,ar=e=>`ionicons ${e}`,Ra={"mdi-":e=>`mdi ${e}`,"icon-":Rs,"bt-":e=>`bt ${e}`,"eva-":e=>`eva ${e}`,"ion-md":ar,"ion-ios":ar,"ion-logo":ar,"iconfont ":Rs,"ti-":e=>`themify-icon ${e}`,"bi-":e=>`bootstrap-icons ${e}`},Pa={o_:"-outlined",r_:"-round",s_:"-sharp"},Ta={sym_o_:"-outlined",sym_r_:"-rounded",sym_s_:"-sharp"},Sh=new RegExp("^("+Object.keys(Ra).join("|")+")"),Rh=new RegExp("^("+Object.keys(Pa).join("|")+")"),Ps=new RegExp("^("+Object.keys(Ta).join("|")+")"),Ph=/^[Mm]\s?[-+]?\.?\d/,Th=/^img:/,qh=/^svguse:/,Ah=/^ion-/,Mh=/^(fa-(sharp|solid|regular|light|brands|duotone|thin)|[lf]a[srlbdk]?) /;var pt=$e({name:"QIcon",props:{...Yn,tag:{type:String,default:"i"},name:String,color:String,left:Boolean,right:Boolean},setup(e,{slots:t}){const{proxy:{$q:n}}=ke(),o=Zn(e),r=R(()=>"q-icon"+(e.left===!0?" on-left":"")+(e.right===!0?" on-right":"")+(e.color!==void 0?` text-${e.color}`:"")),i=R(()=>{let s,l=e.name;if(l==="none"||!l)return{none:!0};if(n.iconMapFn!==null){const u=n.iconMapFn(l);if(u!==void 0)if(u.icon!==void 0){if(l=u.icon,l==="none"||!l)return{none:!0}}else return{cls:u.cls,content:u.content!==void 0?u.content:" "}}if(Ph.test(l)===!0){const[u,d=Ss]=l.split("|");return{svg:!0,viewBox:d,nodes:u.split("&&").map(f=>{const[p,y,T]=f.split("@@");return E("path",{style:y,d:p,transform:T})})}}if(Th.test(l)===!0)return{img:!0,src:l.substring(4)};if(qh.test(l)===!0){const[u,d=Ss]=l.split("|");return{svguse:!0,src:u.substring(7),viewBox:d}}let a=" ";const c=l.match(Sh);if(c!==null)s=Ra[c[1]](l);else if(Mh.test(l)===!0)s=l;else if(Ah.test(l)===!0)s=`ionicons ion-${n.platform.is.ios===!0?"ios":"md"}${l.substring(3)}`;else if(Ps.test(l)===!0){s="notranslate material-symbols";const u=l.match(Ps);u!==null&&(l=l.substring(6),s+=Ta[u[1]]),a=l}else{s="notranslate material-icons";const u=l.match(Rh);u!==null&&(l=l.substring(2),s+=Pa[u[1]]),a=l}return{cls:s,content:a}});return()=>{const s={class:r.value,style:o.value,"aria-hidden":"true",role:"presentation"};return i.value.none===!0?E(e.tag,s,tt(t.default)):i.value.img===!0?E("span",s,It(t.default,[E("img",{src:i.value.src})])):i.value.svg===!0?E("span",s,It(t.default,[E("svg",{viewBox:i.value.viewBox||"0 0 24 24"},i.value.nodes)])):i.value.svguse===!0?E("span",s,It(t.default,[E("svg",{viewBox:i.value.viewBox},[E("use",{"xlink:href":i.value.src})])])):(i.value.cls!==void 0&&(s.class+=" "+i.value.cls),E(e.tag,s,It(t.default,[i.value.content])))}}}),Oh=$e({name:"QAvatar",props:{...Yn,fontSize:String,color:String,textColor:String,icon:String,square:Boolean,rounded:Boolean},setup(e,{slots:t}){const n=Zn(e),o=R(()=>"q-avatar"+(e.color?` bg-${e.color}`:"")+(e.textColor?` text-${e.textColor} q-chip--colored`:"")+(e.square===!0?" q-avatar--square":e.rounded===!0?" rounded-borders":"")),r=R(()=>e.fontSize?{fontSize:e.fontSize}:null);return()=>{const i=e.icon!==void 0?[E(pt,{name:e.icon})]:void 0;return E("div",{class:o.value,style:n.value},[E("div",{class:"q-avatar__content row flex-center overflow-hidden",style:r.value},Eh(t.default,i))])}}});const $h={size:{type:[Number,String],default:"1em"},color:String};function Lh(e){return{cSize:R(()=>e.size in $r?`${$r[e.size]}px`:e.size),classes:R(()=>"q-spinner"+(e.color?` text-${e.color}`:""))}}var Un=$e({name:"QSpinner",props:{...$h,thickness:{type:Number,default:5}},setup(e){const{cSize:t,classes:n}=Lh(e);return()=>E("svg",{class:n.value+" q-spinner-mat",width:t.value,height:t.value,viewBox:"25 25 50 50"},[E("circle",{class:"path",cx:"50",cy:"50",r:"20",fill:"none",stroke:"currentColor","stroke-width":e.thickness,"stroke-miterlimit":"10"})])}});function Bm(e){return e===window?window.innerHeight:e.getBoundingClientRect().height}function Lr(e,t){const n=e.style;for(const o in t)n[o]=t[o]}function Bh(e){if(e==null)return;if(typeof e=="string")try{return document.querySelector(e)||void 0}catch{return}const t=Vt(e);if(t)return t.$el||t}function Fh(e,t){if(e==null||e.contains(t)===!0)return!0;for(let n=e.nextElementSibling;n!==null;n=n.nextElementSibling)if(n.contains(t))return!0;return!1}function Ih(e,t=250){let n=!1,o;return function(){return n===!1&&(n=!0,setTimeout(()=>{n=!1},t),o=e.apply(this,arguments)),o}}function Ts(e,t,n,o){n.modifiers.stop===!0&&ko(e);const r=n.modifiers.color;let i=n.modifiers.center;i=i===!0||o===!0;const s=document.createElement("span"),l=document.createElement("span"),a=Hf(e),{left:c,top:u,width:d,height:f}=t.getBoundingClientRect(),p=Math.sqrt(d*d+f*f),y=p/2,T=`${(d-p)/2}px`,q=i?T:`${a.left-c-y}px`,M=`${(f-p)/2}px`,m=i?M:`${a.top-u-y}px`;l.className="q-ripple__inner",Lr(l,{height:`${p}px`,width:`${p}px`,transform:`translate3d(${q},${m},0) scale3d(.2,.2,1)`,opacity:0}),s.className=`q-ripple${r?" text-"+r:""}`,s.setAttribute("dir","ltr"),s.appendChild(l),t.appendChild(s);const _=()=>{s.remove(),clearTimeout(w)};n.abort.push(_);let w=setTimeout(()=>{l.classList.add("q-ripple__inner--enter"),l.style.transform=`translate3d(${T},${M},0) scale3d(1,1,1)`,l.style.opacity=.2,w=setTimeout(()=>{l.classList.remove("q-ripple__inner--enter"),l.classList.add("q-ripple__inner--leave"),l.style.opacity=0,w=setTimeout(()=>{s.remove(),n.abort.splice(n.abort.indexOf(_),1)},275)},250)},50)}function qs(e,{modifiers:t,value:n,arg:o}){const r=Object.assign({},e.cfg.ripple,t,n);e.modifiers={early:r.early===!0,stop:r.stop===!0,center:r.center===!0,color:r.color||o,keyCodes:[].concat(r.keyCodes||13)}}var Nh=kh({name:"ripple",beforeMount(e,t){const n=t.instance.$.appContext.config.globalProperties.$q.config||{};if(n.ripple===!1)return;const o={cfg:n,enabled:t.value!==!1,modifiers:{},abort:[],start(r){o.enabled===!0&&r.qSkipRipple!==!0&&r.type===(o.modifiers.early===!0?"pointerdown":"click")&&Ts(r,e,o,r.qKeyEvent===!0)},keystart:Ih(r=>{o.enabled===!0&&r.qSkipRipple!==!0&&zn(r,o.modifiers.keyCodes)===!0&&r.type===`key${o.modifiers.early===!0?"down":"up"}`&&Ts(r,e,o,!0)},300)};qs(o,t),e.__qripple=o,Kf(o,"main",[[e,"pointerdown","start","passive"],[e,"click","start","passive"],[e,"keydown","keystart","passive"],[e,"keyup","keystart","passive"]])},updated(e,t){if(t.oldValue!==t.value){const n=e.__qripple;n!==void 0&&(n.enabled=t.value!==!1,n.enabled===!0&&Object(t.value)===t.value&&qs(n,t))}},beforeUnmount(e){const t=e.__qripple;t!==void 0&&(t.abort.forEach(n=>{n()}),Uf(t,"main"),delete e._qripple)}});const qa={left:"start",center:"center",right:"end",between:"between",around:"around",evenly:"evenly",stretch:"stretch"},jh=Object.keys(qa),Aa={align:{type:String,validator:e=>jh.includes(e)}};function Ma(e){return R(()=>{const t=e.align===void 0?e.vertical===!0?"stretch":"left":e.align;return`${e.vertical===!0?"items":"justify"}-${qa[t]}`})}function go(e){if(Object(e.$parent)===e.$parent)return e.$parent;let{parent:t}=e.$;for(;Object(t)===t;){if(Object(t.proxy)===t.proxy)return t.proxy;t=t.parent}}function Oa(e,t){typeof t.type=="symbol"?Array.isArray(t.children)===!0&&t.children.forEach(n=>{Oa(e,n)}):e.add(t)}function Fm(e){const t=new Set;return e.forEach(n=>{Oa(t,n)}),Array.from(t)}function $a(e){return e.appContext.config.globalProperties.$router!==void 0}function La(e){return e.isUnmounted===!0||e.isDeactivated===!0}function As(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}function Ms(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Vh(e,t){for(const n in t){const o=t[n],r=e[n];if(typeof o=="string"){if(o!==r)return!1}else if(Array.isArray(r)===!1||r.length!==o.length||o.some((i,s)=>i!==r[s]))return!1}return!0}function Os(e,t){return Array.isArray(t)===!0?e.length===t.length&&e.every((n,o)=>n===t[o]):e.length===1&&e[0]===t}function Dh(e,t){return Array.isArray(e)===!0?Os(e,t):Array.isArray(t)===!0?Os(t,e):e===t}function Hh(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(Dh(e[n],t[n])===!1)return!1;return!0}const zh={to:[String,Object],replace:Boolean,exact:Boolean,activeClass:{type:String,default:"q-router-link--active"},exactActiveClass:{type:String,default:"q-router-link--exact-active"},href:String,target:String,disable:Boolean};function Kh({fallbackTag:e,useDisableForRouterLinkProps:t=!0}={}){const n=ke(),{props:o,proxy:r,emit:i}=n,s=$a(n),l=R(()=>o.disable!==!0&&o.href!==void 0),a=R(t===!0?()=>s===!0&&o.disable!==!0&&l.value!==!0&&o.to!==void 0&&o.to!==null&&o.to!=="":()=>s===!0&&l.value!==!0&&o.to!==void 0&&o.to!==null&&o.to!==""),c=R(()=>a.value===!0?m(o.to):null),u=R(()=>c.value!==null),d=R(()=>l.value===!0||u.value===!0),f=R(()=>o.type==="a"||d.value===!0?"a":o.tag||e||"div"),p=R(()=>l.value===!0?{href:o.href,target:o.target}:u.value===!0?{href:c.value.href,target:o.target}:{}),y=R(()=>{if(u.value===!1)return-1;const{matched:F}=c.value,{length:j}=F,V=F[j-1];if(V===void 0)return-1;const N=r.$route.matched;if(N.length===0)return-1;const C=N.findIndex(Ms.bind(null,V));if(C>-1)return C;const x=As(F[j-2]);return j>1&&As(V)===x&&N[N.length-1].path!==x?N.findIndex(Ms.bind(null,F[j-2])):C}),T=R(()=>u.value===!0&&y.value!==-1&&Vh(r.$route.params,c.value.params)),q=R(()=>T.value===!0&&y.value===r.$route.matched.length-1&&Hh(r.$route.params,c.value.params)),M=R(()=>u.value===!0?q.value===!0?` ${o.exactActiveClass} ${o.activeClass}`:o.exact===!0?"":T.value===!0?` ${o.activeClass}`:"":"");function m(F){try{return r.$router.resolve(F)}catch{}return null}function _(F,{returnRouterError:j,to:V=o.to,replace:N=o.replace}={}){if(o.disable===!0)return F.preventDefault(),Promise.resolve(!1);if(F.metaKey||F.altKey||F.ctrlKey||F.shiftKey||F.button!==void 0&&F.button!==0||o.target==="_blank")return Promise.resolve(!1);F.preventDefault();const C=r.$router[N===!0?"replace":"push"](V);return j===!0?C:C.then(()=>{}).catch(()=>{})}function w(F){if(u.value===!0){const j=V=>_(F,V);i("click",F,j),F.defaultPrevented!==!0&&j()}else i("click",F)}return{hasRouterLink:u,hasHrefLink:l,hasLink:d,linkTag:f,resolvedLink:c,linkIsActive:T,linkIsExactActive:q,linkClass:M,linkAttrs:p,getLink:m,navigateToRouterLink:_,navigateOnClick:w}}const $s={none:0,xs:4,sm:8,md:16,lg:24,xl:32},Uh={xs:8,sm:10,md:14,lg:20,xl:24},Wh=["button","submit","reset"],Qh=/[^\s]\/[^\s]/,Yh=["flat","outline","push","unelevated"],Ba=(e,t)=>e.flat===!0?"flat":e.outline===!0?"outline":e.push===!0?"push":e.unelevated===!0?"unelevated":t,Im=e=>{const t=Ba(e);return t!==void 0?{[t]:!0}:{}},Zh={...Yn,...zh,type:{type:String,default:"button"},label:[Number,String],icon:String,iconRight:String,...Yh.reduce((e,t)=>(e[t]=Boolean)&&e,{}),square:Boolean,round:Boolean,rounded:Boolean,glossy:Boolean,size:String,fab:Boolean,fabMini:Boolean,padding:String,color:String,textColor:String,noCaps:Boolean,noWrap:Boolean,dense:Boolean,tabindex:[Number,String],ripple:{type:[Boolean,Object],default:!0},align:{...Aa.align,default:"center"},stack:Boolean,stretch:Boolean,loading:{type:Boolean,default:null},disable:Boolean};function Jh(e){const t=Zn(e,Uh),n=Ma(e),{hasRouterLink:o,hasLink:r,linkTag:i,linkAttrs:s,navigateOnClick:l}=Kh({fallbackTag:"button"}),a=R(()=>{const q=e.fab===!1&&e.fabMini===!1?t.value:{};return e.padding!==void 0?Object.assign({},q,{padding:e.padding.split(/\s+/).map(M=>M in $s?$s[M]+"px":M).join(" "),minWidth:"0",minHeight:"0"}):q}),c=R(()=>e.rounded===!0||e.fab===!0||e.fabMini===!0),u=R(()=>e.disable!==!0&&e.loading!==!0),d=R(()=>u.value===!0?e.tabindex||0:-1),f=R(()=>Ba(e,"standard")),p=R(()=>{const q={tabindex:d.value};return r.value===!0?Object.assign(q,s.value):Wh.includes(e.type)===!0&&(q.type=e.type),i.value==="a"?(e.disable===!0?q["aria-disabled"]="true":q.href===void 0&&(q.role="button"),o.value!==!0&&Qh.test(e.type)===!0&&(q.type=e.type)):e.disable===!0&&(q.disabled="",q["aria-disabled"]="true"),e.loading===!0&&e.percentage!==void 0&&Object.assign(q,{role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":e.percentage}),q}),y=R(()=>{let q;e.color!==void 0?e.flat===!0||e.outline===!0?q=`text-${e.textColor||e.color}`:q=`bg-${e.color} text-${e.textColor||"white"}`:e.textColor&&(q=`text-${e.textColor}`);const M=e.round===!0?"round":`rectangle${c.value===!0?" q-btn--rounded":e.square===!0?" q-btn--square":""}`;return`q-btn--${f.value} q-btn--${M}`+(q!==void 0?" "+q:"")+(u.value===!0?" q-btn--actionable q-focusable q-hoverable":e.disable===!0?" disabled":"")+(e.fab===!0?" q-btn--fab":e.fabMini===!0?" q-btn--fab-mini":"")+(e.noCaps===!0?" q-btn--no-uppercase":"")+(e.dense===!0?" q-btn--dense":"")+(e.stretch===!0?" no-border-radius self-stretch":"")+(e.glossy===!0?" glossy":"")+(e.square?" q-btn--square":"")}),T=R(()=>n.value+(e.stack===!0?" column":" row")+(e.noWrap===!0?" no-wrap text-no-wrap":"")+(e.loading===!0?" q-btn__content--hidden":""));return{classes:y,style:a,innerClasses:T,attributes:p,hasLink:r,linkTag:i,navigateOnClick:l,isActionable:u}}const{passiveCapture:He}=Be;let Jt=null,Xt=null,Gt=null;var Br=$e({name:"QBtn",props:{...Zh,percentage:Number,darkPercentage:Boolean,onTouchstart:[Function,Array]},emits:["click","keydown","mousedown","keyup"],setup(e,{slots:t,emit:n}){const{proxy:o}=ke(),{classes:r,style:i,innerClasses:s,attributes:l,hasLink:a,linkTag:c,navigateOnClick:u,isActionable:d}=Jh(e),f=he(null),p=he(null);let y=null,T,q=null;const M=R(()=>e.label!==void 0&&e.label!==null&&e.label!==""),m=R(()=>e.disable===!0||e.ripple===!1?!1:{keyCodes:a.value===!0?[13,32]:[13],...e.ripple===!0?{}:e.ripple}),_=R(()=>({center:e.round})),w=R(()=>{const k=Math.max(0,Math.min(100,e.percentage));return k>0?{transition:"transform 0.6s",transform:`translateX(${k-100}%)`}:{}}),F=R(()=>{if(e.loading===!0)return{onMousedown:H,onTouchstart:H,onClick:H,onKeydown:H,onKeyup:H};if(d.value===!0){const k={onClick:V,onKeydown:N,onMousedown:x};if(o.$q.platform.has.touch===!0){const Z=e.onTouchstart!==void 0?"":"Passive";k[`onTouchstart${Z}`]=C}return k}return{onClick:Ke}}),j=R(()=>({ref:f,class:"q-btn q-btn-item non-selectable no-outline "+r.value,style:i.value,...l.value,...F.value}));function V(k){if(f.value!==null){if(k!==void 0){if(k.defaultPrevented===!0)return;const Z=document.activeElement;if(e.type==="submit"&&Z!==document.body&&f.value.contains(Z)===!1&&Z.contains(f.value)===!1){f.value.focus();const Y=()=>{document.removeEventListener("keydown",Ke,!0),document.removeEventListener("keyup",Y,He),f.value!==null&&f.value.removeEventListener("blur",Y,He)};document.addEventListener("keydown",Ke,!0),document.addEventListener("keyup",Y,He),f.value.addEventListener("blur",Y,He)}}u(k)}}function N(k){f.value!==null&&(n("keydown",k),zn(k,[13,32])===!0&&Xt!==f.value&&(Xt!==null&&v(),k.defaultPrevented!==!0&&(f.value.focus(),Xt=f.value,f.value.classList.add("q-btn--active"),document.addEventListener("keyup",$,!0),f.value.addEventListener("blur",$,He)),Ke(k)))}function C(k){f.value!==null&&(n("touchstart",k),k.defaultPrevented!==!0&&(Jt!==f.value&&(Jt!==null&&v(),Jt=f.value,y=k.target,y.addEventListener("touchcancel",$,He),y.addEventListener("touchend",$,He)),T=!0,q!==null&&clearTimeout(q),q=setTimeout(()=>{q=null,T=!1},200)))}function x(k){f.value!==null&&(k.qSkipRipple=T===!0,n("mousedown",k),k.defaultPrevented!==!0&&Gt!==f.value&&(Gt!==null&&v(),Gt=f.value,f.value.classList.add("q-btn--active"),document.addEventListener("mouseup",$,He)))}function $(k){if(f.value!==null&&!(k!==void 0&&k.type==="blur"&&document.activeElement===f.value)){if(k!==void 0&&k.type==="keyup"){if(Xt===f.value&&zn(k,[13,32])===!0){const Z=new MouseEvent("click",k);Z.qKeyEvent=!0,k.defaultPrevented===!0&&Et(Z),k.cancelBubble===!0&&ko(Z),f.value.dispatchEvent(Z),Ke(k),k.qKeyEvent=!0}n("keyup",k)}v()}}function v(k){const Z=p.value;k!==!0&&(Jt===f.value||Gt===f.value)&&Z!==null&&Z!==document.activeElement&&(Z.setAttribute("tabindex",-1),Z.focus()),Jt===f.value&&(y!==null&&(y.removeEventListener("touchcancel",$,He),y.removeEventListener("touchend",$,He)),Jt=y=null),Gt===f.value&&(document.removeEventListener("mouseup",$,He),Gt=null),Xt===f.value&&(document.removeEventListener("keyup",$,!0),f.value!==null&&f.value.removeEventListener("blur",$,He),Xt=null),f.value!==null&&f.value.classList.remove("q-btn--active")}function H(k){Ke(k),k.qSkipRipple=!0}return We(()=>{v(!0)}),Object.assign(o,{click:V}),()=>{let k=[];e.icon!==void 0&&k.push(E(pt,{name:e.icon,left:e.stack===!1&&M.value===!0,role:"img","aria-hidden":"true"})),M.value===!0&&k.push(E("span",{class:"block"},[e.label])),k=It(t.default,k),e.iconRight!==void 0&&e.round===!1&&k.push(E(pt,{name:e.iconRight,right:e.stack===!1&&M.value===!0,role:"img","aria-hidden":"true"}));const Z=[E("span",{class:"q-focus-helper",ref:p})];return e.loading===!0&&e.percentage!==void 0&&Z.push(E("span",{class:"q-btn__progress absolute-full overflow-hidden"+(e.darkPercentage===!0?" q-btn__progress--dark":"")},[E("span",{class:"q-btn__progress-indicator fit block",style:w.value})])),Z.push(E("span",{class:"q-btn__content text-center col items-center q-anchor--skip "+s.value},k)),e.loading!==null&&Z.push(E(cn,{name:"q-transition--fade"},()=>e.loading===!0?[E("span",{key:"loading",class:"absolute-full flex flex-center"},t.loading!==void 0?t.loading():[E(Un)])]:null)),Al(E(c.value,j.value,Z),[[Nh,m.value,void 0,_.value]])}}});let Xh=1,Gh=document.body;function hi(e,t){const n=document.createElement("div");if(n.id=t!==void 0?`q-portal--${t}--${Xh++}`:e,So.globalNodes!==void 0){const o=So.globalNodes.class;o!==void 0&&(n.className=o)}return Gh.appendChild(n),n}function Fa(e){e.remove()}let eg=0;const mo={},po={},Je={},Ia={},tg=/^\s*$/,Na=[],gi=["top-left","top-right","bottom-left","bottom-right","top","bottom","left","right","center"],ng=["top-left","top-right","bottom-left","bottom-right"],tn={positive:{icon:e=>e.iconSet.type.positive,color:"positive"},negative:{icon:e=>e.iconSet.type.negative,color:"negative"},warning:{icon:e=>e.iconSet.type.warning,color:"warning",textColor:"dark"},info:{icon:e=>e.iconSet.type.info,color:"info"},ongoing:{group:!1,timeout:0,spinner:!0,color:"grey-8"}};function ja(e,t,n){if(!e)return Cn("parameter required");let o;const r={textColor:"white"};if(e.ignoreDefaults!==!0&&Object.assign(r,mo),at(e)===!1&&(r.type&&Object.assign(r,tn[r.type]),e={message:e}),Object.assign(r,tn[e.type||r.type],e),typeof r.icon=="function"&&(r.icon=r.icon(t)),r.spinner?(r.spinner===!0&&(r.spinner=Un),r.spinner=vn(r.spinner)):r.spinner=!1,r.meta={hasMedia:Boolean(r.spinner!==!1||r.icon||r.avatar),hasText:Ls(r.message)||Ls(r.caption)},r.position){if(gi.includes(r.position)===!1)return Cn("wrong position",e)}else r.position="bottom";if(r.timeout===void 0)r.timeout=5e3;else{const a=parseInt(r.timeout,10);if(isNaN(a)||a<0)return Cn("wrong timeout",e);r.timeout=a}r.timeout===0?r.progress=!1:r.progress===!0&&(r.meta.progressClass="q-notification__progress"+(r.progressClass?` ${r.progressClass}`:""),r.meta.progressStyle={animationDuration:`${r.timeout+1e3}ms`});const i=(Array.isArray(e.actions)===!0?e.actions:[]).concat(e.ignoreDefaults!==!0&&Array.isArray(mo.actions)===!0?mo.actions:[]).concat(tn[e.type]!==void 0&&Array.isArray(tn[e.type].actions)===!0?tn[e.type].actions:[]),{closeBtn:s}=r;if(s&&i.push({label:typeof s=="string"?s:t.lang.label.close}),r.actions=i.map(({handler:a,noDismiss:c,...u})=>({flat:!0,...u,onClick:typeof a=="function"?()=>{a(),c!==!0&&l()}:()=>{l()}})),r.multiLine===void 0&&(r.multiLine=r.actions.length>1),Object.assign(r.meta,{class:`q-notification row items-stretch q-notification--${r.multiLine===!0?"multi-line":"standard"}`+(r.color!==void 0?` bg-${r.color}`:"")+(r.textColor!==void 0?` text-${r.textColor}`:"")+(r.classes!==void 0?` ${r.classes}`:""),wrapperClass:"q-notification__wrapper col relative-position border-radius-inherit "+(r.multiLine===!0?"column no-wrap justify-center":"row items-center"),contentClass:"q-notification__content row items-center"+(r.multiLine===!0?"":" col"),leftClass:r.meta.hasText===!0?"additional":"single",attrs:{role:"alert",...r.attrs}}),r.group===!1?(r.group=void 0,r.meta.group=void 0):((r.group===void 0||r.group===!0)&&(r.group=[r.message,r.caption,r.multiline].concat(r.actions.map(a=>`${a.label}*${a.icon}`)).join("|")),r.meta.group=r.group+"|"+r.position),r.actions.length===0?r.actions=void 0:r.meta.actionsClass="q-notification__actions row items-center "+(r.multiLine===!0?"justify-end":"col-auto")+(r.meta.hasMedia===!0?" q-notification__actions--with-media":""),n!==void 0){n.notif.meta.timer&&(clearTimeout(n.notif.meta.timer),n.notif.meta.timer=void 0),r.meta.uid=n.notif.meta.uid;const a=Je[r.position].value.indexOf(n.notif);Je[r.position].value[a]=r}else{const a=po[r.meta.group];if(a===void 0){if(r.meta.uid=eg++,r.meta.badge=1,["left","right","center"].indexOf(r.position)!==-1)Je[r.position].value.splice(Math.floor(Je[r.position].value.length/2),0,r);else{const c=r.position.indexOf("top")>-1?"unshift":"push";Je[r.position].value[c](r)}r.group!==void 0&&(po[r.meta.group]=r)}else{if(a.meta.timer&&(clearTimeout(a.meta.timer),a.meta.timer=void 0),r.badgePosition!==void 0){if(ng.includes(r.badgePosition)===!1)return Cn("wrong badgePosition",e)}else r.badgePosition=`top-${r.position.indexOf("left")>-1?"right":"left"}`;r.meta.uid=a.meta.uid,r.meta.badge=a.meta.badge+1,r.meta.badgeClass=`q-notification__badge q-notification__badge--${r.badgePosition}`+(r.badgeColor!==void 0?` bg-${r.badgeColor}`:"")+(r.badgeTextColor!==void 0?` text-${r.badgeTextColor}`:"")+(r.badgeClass?` ${r.badgeClass}`:"");const c=Je[r.position].value.indexOf(a);Je[r.position].value[c]=po[r.meta.group]=r}}const l=()=>{og(r),o=void 0};if(r.timeout>0&&(r.meta.timer=setTimeout(()=>{r.meta.timer=void 0,l()},r.timeout+1e3)),r.group!==void 0)return a=>{a!==void 0?Cn("trying to update a grouped one which is forbidden",e):l()};if(o={dismiss:l,config:e,notif:r},n!==void 0){Object.assign(n,o);return}return a=>{if(o!==void 0)if(a===void 0)o.dismiss();else{const c=Object.assign({},o.config,a,{group:!1,position:r.position});ja(c,t,o)}}}function og(e){e.meta.timer&&(clearTimeout(e.meta.timer),e.meta.timer=void 0);const t=Je[e.position].value.indexOf(e);if(t!==-1){e.group!==void 0&&delete po[e.meta.group];const n=Na[""+e.meta.uid];if(n){const{width:o,height:r}=getComputedStyle(n);n.style.left=`${n.offsetLeft}px`,n.style.width=o,n.style.height=r}Je[e.position].value.splice(t,1),typeof e.onDismiss=="function"&&e.onDismiss()}}function Ls(e){return e!=null&&tg.test(e)!==!0}function Cn(e,t){return console.error(`Notify: ${e}`,t),!1}function rg(){return $e({name:"QNotifications",devtools:{hide:!0},setup(){return()=>E("div",{class:"q-notifications"},gi.map(e=>E(Tf,{key:e,class:Ia[e],tag:"div",name:`q-notification--${e}`},()=>Je[e].value.map(t=>{const n=t.meta,o=[];if(n.hasMedia===!0&&(t.spinner!==!1?o.push(E(t.spinner,{class:"q-notification__spinner q-notification__spinner--"+n.leftClass,color:t.spinnerColor,size:t.spinnerSize})):t.icon?o.push(E(pt,{class:"q-notification__icon q-notification__icon--"+n.leftClass,name:t.icon,color:t.iconColor,size:t.iconSize,role:"img"})):t.avatar&&o.push(E(Oh,{class:"q-notification__avatar q-notification__avatar--"+n.leftClass},()=>E("img",{src:t.avatar,"aria-hidden":"true"})))),n.hasText===!0){let i;const s={class:"q-notification__message col"};if(t.html===!0)s.innerHTML=t.caption?`
${t.message}
${t.caption}
`:t.message;else{const l=[t.message];i=t.caption?[E("div",l),E("div",{class:"q-notification__caption"},[t.caption])]:l}o.push(E("div",s,i))}const r=[E("div",{class:n.contentClass},o)];return t.progress===!0&&r.push(E("div",{key:`${n.uid}|p|${n.badge}`,class:n.progressClass,style:n.progressStyle})),t.actions!==void 0&&r.push(E("div",{class:n.actionsClass},t.actions.map(i=>E(Br,i)))),n.badge>1&&r.push(E("div",{key:`${n.uid}|${n.badge}`,class:t.meta.badgeClass,style:t.badgeStyle},[n.badge])),E("div",{ref:i=>{Na[""+n.uid]=i},key:n.uid,class:n.class,...n.attrs},[E("div",{class:n.wrapperClass},r)])}))))}})}var ig={setDefaults(e){at(e)===!0&&Object.assign(mo,e)},registerType(e,t){at(t)===!0&&(tn[e]=t)},install({$q:e,parentApp:t}){if(e.notify=this.create=n=>ja(n,e),e.notify.setDefaults=this.setDefaults,e.notify.registerType=this.registerType,e.config.notify!==void 0&&this.setDefaults(e.config.notify),this.__installed!==!0){gi.forEach(o=>{Je[o]=he([]);const r=["left","center","right"].includes(o)===!0?"center":o.indexOf("top")>-1?"top":"bottom",i=o.indexOf("left")>-1?"start":o.indexOf("right")>-1?"end":"center",s=["left","right"].includes(o)?`items-${o==="left"?"start":"end"} justify-center`:o==="center"?"flex-center":`items-${i}`;Ia[o]=`q-notifications__list q-notifications__list--${r} fixed column no-wrap ${s}`});const n=hi("q-notify");ma(rg(),t).mount(n)}}};function sg(e){return ld(e)===!0?"__q_date|"+e.toUTCString():ad(e)===!0?"__q_expr|"+e.source:typeof e=="number"?"__q_numb|"+e:typeof e=="boolean"?"__q_bool|"+(e?"1":"0"):typeof e=="string"?"__q_strn|"+e:typeof e=="function"?"__q_strn|"+e.toString():e===Object(e)?"__q_objt|"+JSON.stringify(e):e}function lg(e){if(e.length<9)return e;const n=e.substring(0,8),o=e.substring(9);switch(n){case"__q_date":return new Date(o);case"__q_expr":return new RegExp(o);case"__q_numb":return Number(o);case"__q_bool":return Boolean(o==="1");case"__q_strn":return""+o;case"__q_objt":return JSON.parse(o);default:return e}}function ag(){const e=()=>null;return{has:()=>!1,getLength:()=>0,getItem:e,getIndex:e,getKey:e,getAll:()=>{},getAllKeys:()=>[],set:Pt,remove:Pt,clear:Pt,isEmpty:()=>!0}}function ug(e){const t=window[e+"Storage"],n=o=>{const r=t.getItem(o);return r?lg(r):null};return{has:o=>t.getItem(o)!==null,getLength:()=>t.length,getItem:n,getIndex:o=>oo{let o;const r={},i=t.length;for(let s=0;s{const o=[],r=t.length;for(let i=0;i{t.setItem(o,sg(r))},remove:o=>{t.removeItem(o)},clear:()=>{t.clear()},isEmpty:()=>t.length===0}}const Va=we.has.webStorage===!1?ag():ug("local"),Da={install({$q:e}){e.localStorage=Va}};Object.assign(Da,Va);function cg(e,t,n){let o;function r(){o!==void 0&&(qr.remove(o),o=void 0)}return We(()=>{e.value===!0&&r()}),{removeFromHistory:r,addToHistory(){o={condition:()=>n.value===!0,handler:t},qr.add(o)}}}function fg(){let e=null;const t=ke();function n(){e!==null&&(clearTimeout(e),e=null)}return Fo(n),We(n),{removeTimeout:n,registerTimeout(o,r){n(),La(t)===!1&&(e=setTimeout(o,r))}}}function dg(){let e;const t=ke();function n(){e=void 0}return Fo(n),We(n),{removeTick:n,registerTick(o){e=o,je(()=>{e===o&&(La(t)===!1&&e(),e=void 0)})}}}const hg={modelValue:{type:Boolean,default:null},"onUpdate:modelValue":[Function,Array]},gg=["beforeShow","show","beforeHide","hide"];function mg({showing:e,canShow:t,hideOnRouteChange:n,handleShow:o,handleHide:r,processOnMount:i}){const s=ke(),{props:l,emit:a,proxy:c}=s;let u;function d(m){e.value===!0?y(m):f(m)}function f(m){if(l.disable===!0||m!==void 0&&m.qAnchorHandled===!0||t!==void 0&&t(m)!==!0)return;const _=l["onUpdate:modelValue"]!==void 0;_===!0&&(a("update:modelValue",!0),u=m,je(()=>{u===m&&(u=void 0)})),(l.modelValue===null||_===!1)&&p(m)}function p(m){e.value!==!0&&(e.value=!0,a("beforeShow",m),o!==void 0?o(m):a("show",m))}function y(m){if(l.disable===!0)return;const _=l["onUpdate:modelValue"]!==void 0;_===!0&&(a("update:modelValue",!1),u=m,je(()=>{u===m&&(u=void 0)})),(l.modelValue===null||_===!1)&&T(m)}function T(m){e.value!==!1&&(e.value=!1,a("beforeHide",m),r!==void 0?r(m):a("hide",m))}function q(m){l.disable===!0&&m===!0?l["onUpdate:modelValue"]!==void 0&&a("update:modelValue",!1):m===!0!==e.value&&(m===!0?p:T)(u)}be(()=>l.modelValue,q),n!==void 0&&$a(s)===!0&&be(()=>c.$route.fullPath,()=>{n.value===!0&&e.value===!0&&y()}),i===!0&&Ut(()=>{q(l.modelValue)});const M={show:f,hide:y,toggle:d};return Object.assign(c,M),M}const pg={transitionShow:{type:String,default:"fade"},transitionHide:{type:String,default:"fade"},transitionDuration:{type:[String,Number],default:300}};function vg(e,t=()=>{},n=()=>{}){return{transitionProps:R(()=>{const o=`q-transition--${e.transitionShow||t()}`,r=`q-transition--${e.transitionHide||n()}`;return{appear:!0,enterFromClass:`${o}-enter-from`,enterActiveClass:`${o}-enter-active`,enterToClass:`${o}-enter-to`,leaveFromClass:`${r}-leave-from`,leaveActiveClass:`${r}-leave-active`,leaveToClass:`${r}-leave-to`}}),transitionStyle:R(()=>`--q-transition-duration: ${e.transitionDuration}ms`)}}let Nt=[],Wn=[];function Ha(e){Wn=Wn.filter(t=>t!==e)}function bg(e){Ha(e),Wn.push(e)}function Bs(e){Ha(e),Wn.length===0&&Nt.length!==0&&(Nt[Nt.length-1](),Nt=[])}function mi(e){Wn.length===0?e():Nt.push(e)}function yg(e){Nt=Nt.filter(t=>t!==e)}const vo=[];function Nm(e){return vo.find(t=>t.contentEl!==null&&t.contentEl.contains(e))}function _g(e,t){do{if(e.$options.name==="QMenu"){if(e.hide(t),e.$props.separateClosePopup===!0)return go(e)}else if(e.__qPortal===!0){const n=go(e);return n!==void 0&&n.$options.name==="QPopupProxy"?(e.hide(t),n):e}e=go(e)}while(e!=null)}function jm(e,t,n){for(;n!==0&&e!==void 0&&e!==null;){if(e.__qPortal===!0){if(n--,e.$options.name==="QMenu"){e=_g(e,t);continue}e.hide(t)}e=go(e)}}function wg(e){for(e=e.parent;e!=null;){if(e.type.name==="QGlobalDialog")return!0;if(e.type.name==="QDialog"||e.type.name==="QMenu")return!1;e=e.parent}return!1}function xg(e,t,n,o){const r=he(!1),i=he(!1);let s=null;const l={},a=o==="dialog"&&wg(e);function c(d){if(d===!0){Bs(l),i.value=!0;return}i.value=!1,r.value===!1&&(a===!1&&s===null&&(s=hi(!1,o)),r.value=!0,vo.push(e.proxy),bg(l))}function u(d){if(i.value=!1,d!==!0)return;Bs(l),r.value=!1;const f=vo.indexOf(e.proxy);f!==-1&&vo.splice(f,1),s!==null&&(Fa(s),s=null)}return ii(()=>{u(!0)}),e.proxy.__qPortal=!0,bn(e.proxy,"contentEl",()=>t.value),{showPortal:c,hidePortal:u,portalIsActive:r,portalIsAccessible:i,renderPortal:()=>a===!0?n():r.value===!0?[E(zc,{to:s},n())]:void 0}}const Cg=[null,document,document.body,document.scrollingElement,document.documentElement];function Vm(e,t){let n=Bh(t);if(n===void 0){if(e==null)return window;n=e.closest(".scroll,.scroll-y,.overflow-auto")}return Cg.includes(n)?window:n}function Dm(e){return(e===window?document.body:e).scrollHeight}function za(e){return e===window?window.pageYOffset||window.scrollY||document.body.scrollTop||0:e.scrollTop}function Ka(e){return e===window?window.pageXOffset||window.scrollX||document.body.scrollLeft||0:e.scrollLeft}function Ua(e,t,n=0){const o=arguments[3]===void 0?performance.now():arguments[3],r=za(e);if(n<=0){r!==t&&Fr(e,t);return}requestAnimationFrame(i=>{const s=i-o,l=r+(t-r)/Math.max(s,n)*s;Fr(e,l),l!==t&&Ua(e,t,n-s,i)})}function Wa(e,t,n=0){const o=arguments[3]===void 0?performance.now():arguments[3],r=Ka(e);if(n<=0){r!==t&&Ir(e,t);return}requestAnimationFrame(i=>{const s=i-o,l=r+(t-r)/Math.max(s,n)*s;Ir(e,l),l!==t&&Wa(e,t,n-s,i)})}function Fr(e,t){if(e===window){window.scrollTo(window.pageXOffset||window.scrollX||document.body.scrollLeft||0,t);return}e.scrollTop=t}function Ir(e,t){if(e===window){window.scrollTo(t,window.pageYOffset||window.scrollY||document.body.scrollTop||0);return}e.scrollLeft=t}function Hm(e,t,n){if(n){Ua(e,t,n);return}Fr(e,t)}function zm(e,t,n){if(n){Wa(e,t,n);return}Ir(e,t)}let ro;function Km(){if(ro!==void 0)return ro;const e=document.createElement("p"),t=document.createElement("div");Lr(e,{width:"100%",height:"200px"}),Lr(t,{position:"absolute",top:"0px",left:"0px",visibility:"hidden",width:"200px",height:"150px",overflow:"hidden"}),t.appendChild(e),document.body.appendChild(t);const n=e.offsetWidth;t.style.overflow="scroll";let o=e.offsetWidth;return n===o&&(o=t.clientWidth),t.remove(),ro=n-o,ro}function kg(e,t=!0){return!e||e.nodeType!==Node.ELEMENT_NODE?!1:t?e.scrollHeight>e.clientHeight&&(e.classList.contains("scroll")||e.classList.contains("overflow-auto")||["auto","scroll"].includes(window.getComputedStyle(e)["overflow-y"])):e.scrollWidth>e.clientWidth&&(e.classList.contains("scroll")||e.classList.contains("overflow-auto")||["auto","scroll"].includes(window.getComputedStyle(e)["overflow-x"]))}let kn=0,ur,cr,Tn,fr=!1,Fs,Is,Ns,$t=null;function Eg(e){Sg(e)&&Ke(e)}function Sg(e){if(e.target===document.body||e.target.classList.contains("q-layout__backdrop"))return!0;const t=zf(e),n=e.shiftKey&&!e.deltaX,o=!n&&Math.abs(e.deltaX)<=Math.abs(e.deltaY),r=n||o?e.deltaY:e.deltaX;for(let i=0;i0&&s.scrollTop+s.clientHeight===s.scrollHeight:r<0&&s.scrollLeft===0?!0:r>0&&s.scrollLeft+s.clientWidth===s.scrollWidth}return!0}function js(e){e.target===document&&(document.scrollingElement.scrollTop=document.scrollingElement.scrollTop)}function io(e){fr!==!0&&(fr=!0,requestAnimationFrame(()=>{fr=!1;const{height:t}=e.target,{clientHeight:n,scrollTop:o}=document.scrollingElement;(Tn===void 0||t!==window.innerHeight)&&(Tn=n-t,document.scrollingElement.scrollTop=o),o>Tn&&(document.scrollingElement.scrollTop-=Math.ceil((o-Tn)/8))}))}function Vs(e){const t=document.body,n=window.visualViewport!==void 0;if(e==="add"){const{overflowY:o,overflowX:r}=window.getComputedStyle(t);ur=Ka(window),cr=za(window),Fs=t.style.left,Is=t.style.top,Ns=window.location.href,t.style.left=`-${ur}px`,t.style.top=`-${cr}px`,r!=="hidden"&&(r==="scroll"||t.scrollWidth>window.innerWidth)&&t.classList.add("q-body--force-scrollbar-x"),o!=="hidden"&&(o==="scroll"||t.scrollHeight>window.innerHeight)&&t.classList.add("q-body--force-scrollbar-y"),t.classList.add("q-body--prevent-scroll"),document.qScrollPrevented=!0,we.is.ios===!0&&(n===!0?(window.scrollTo(0,0),window.visualViewport.addEventListener("resize",io,Be.passiveCapture),window.visualViewport.addEventListener("scroll",io,Be.passiveCapture),window.scrollTo(0,0)):window.addEventListener("scroll",js,Be.passiveCapture))}we.is.desktop===!0&&we.is.mac===!0&&window[`${e}EventListener`]("wheel",Eg,Be.notPassive),e==="remove"&&(we.is.ios===!0&&(n===!0?(window.visualViewport.removeEventListener("resize",io,Be.passiveCapture),window.visualViewport.removeEventListener("scroll",io,Be.passiveCapture)):window.removeEventListener("scroll",js,Be.passiveCapture)),t.classList.remove("q-body--prevent-scroll"),t.classList.remove("q-body--force-scrollbar-x"),t.classList.remove("q-body--force-scrollbar-y"),document.qScrollPrevented=!1,t.style.left=Fs,t.style.top=Is,window.location.href===Ns&&window.scrollTo(ur,cr),Tn=void 0)}function Rg(e){let t="add";if(e===!0){if(kn++,$t!==null){clearTimeout($t),$t=null;return}if(kn>1)return}else{if(kn===0||(kn--,kn>0))return;if(t="remove",we.is.ios===!0&&we.is.nativeMobile===!0){$t!==null&&clearTimeout($t),$t=setTimeout(()=>{Vs(t),$t=null},100);return}}Vs(t)}function Pg(){let e;return{preventBodyScroll(t){t!==e&&(e!==void 0||t===!0)&&(e=t,Rg(t))}}}const Ht=[];let hn;function Tg(e){hn=e.keyCode===27}function qg(){hn===!0&&(hn=!1)}function Ag(e){hn===!0&&(hn=!1,zn(e,27)===!0&&Ht[Ht.length-1](e))}function Qa(e){window[e]("keydown",Tg),window[e]("blur",qg),window[e]("keyup",Ag),hn=!1}function Mg(e){we.is.desktop===!0&&(Ht.push(e),Ht.length===1&&Qa("addEventListener"))}function Ds(e){const t=Ht.indexOf(e);t>-1&&(Ht.splice(t,1),Ht.length===0&&Qa("removeEventListener"))}const zt=[];function Ya(e){zt[zt.length-1](e)}function Og(e){we.is.desktop===!0&&(zt.push(e),zt.length===1&&document.body.addEventListener("focusin",Ya))}function Hs(e){const t=zt.indexOf(e);t>-1&&(zt.splice(t,1),zt.length===0&&document.body.removeEventListener("focusin",Ya))}let so=0;const $g={standard:"fixed-full flex-center",top:"fixed-top justify-center",bottom:"fixed-bottom justify-center",right:"fixed-right items-center",left:"fixed-left items-center"},zs={standard:["scale","scale"],top:["slide-down","slide-up"],bottom:["slide-up","slide-down"],right:["slide-left","slide-right"],left:["slide-right","slide-left"]};var Lg=$e({name:"QDialog",inheritAttrs:!1,props:{...hg,...pg,transitionShow:String,transitionHide:String,persistent:Boolean,autoClose:Boolean,allowFocusOutside:Boolean,noEscDismiss:Boolean,noBackdropDismiss:Boolean,noRouteDismiss:Boolean,noRefocus:Boolean,noFocus:Boolean,noShake:Boolean,seamless:Boolean,maximized:Boolean,fullWidth:Boolean,fullHeight:Boolean,square:Boolean,position:{type:String,default:"standard",validator:e=>e==="standard"||["top","bottom","left","right"].includes(e)}},emits:[...gg,"shake","click","escapeKey"],setup(e,{slots:t,emit:n,attrs:o}){const r=ke(),i=he(null),s=he(!1),l=he(!1);let a=null,c=null,u,d;const f=R(()=>e.persistent!==!0&&e.noRouteDismiss!==!0&&e.seamless!==!0),{preventBodyScroll:p}=Pg(),{registerTimeout:y}=fg(),{registerTick:T,removeTick:q}=dg(),{transitionProps:M,transitionStyle:m}=vg(e,()=>zs[e.position][0],()=>zs[e.position][1]),{showPortal:_,hidePortal:w,portalIsAccessible:F,renderPortal:j}=xg(r,i,Re,"dialog"),{hide:V}=mg({showing:s,hideOnRouteChange:f,handleShow:k,handleHide:Z,processOnMount:!0}),{addToHistory:N,removeFromHistory:C}=cg(s,V,f),x=R(()=>`q-dialog__inner flex no-pointer-events q-dialog__inner--${e.maximized===!0?"maximized":"minimized"} q-dialog__inner--${e.position} ${$g[e.position]}`+(l.value===!0?" q-dialog__inner--animating":"")+(e.fullWidth===!0?" q-dialog__inner--fullwidth":"")+(e.fullHeight===!0?" q-dialog__inner--fullheight":"")+(e.square===!0?" q-dialog__inner--square":"")),$=R(()=>s.value===!0&&e.seamless!==!0),v=R(()=>e.autoClose===!0?{onClick:fe}:{}),H=R(()=>[`q-dialog fullscreen no-pointer-events q-dialog--${$.value===!0?"modal":"seamless"}`,o.class]);be(()=>e.maximized,oe=>{s.value===!0&&se(oe)}),be($,oe=>{p(oe),oe===!0?(Og(ue),Mg(W)):(Hs(ue),Ds(W))});function k(oe){N(),c=e.noRefocus===!1&&document.activeElement!==null?document.activeElement:null,se(e.maximized),_(),l.value=!0,e.noFocus!==!0?(document.activeElement!==null&&document.activeElement.blur(),T(Y)):q(),y(()=>{if(r.proxy.$q.platform.is.ios===!0){if(e.seamless!==!0&&document.activeElement){const{top:ne,bottom:S}=document.activeElement.getBoundingClientRect(),{innerHeight:Q}=window,z=window.visualViewport!==void 0?window.visualViewport.height:Q;ne>0&&S>z/2&&(document.scrollingElement.scrollTop=Math.min(document.scrollingElement.scrollHeight-z,S>=Q?1/0:Math.ceil(document.scrollingElement.scrollTop+S-z/2))),document.activeElement.scrollIntoView()}d=!0,i.value.click(),d=!1}_(!0),l.value=!1,n("show",oe)},e.transitionDuration)}function Z(oe){q(),C(),_e(!0),l.value=!0,w(),c!==null&&(((oe&&oe.type.indexOf("key")===0?c.closest('[tabindex]:not([tabindex^="-"])'):void 0)||c).focus(),c=null),y(()=>{w(!0),l.value=!1,n("hide",oe)},e.transitionDuration)}function Y(oe){mi(()=>{let ne=i.value;ne===null||ne.contains(document.activeElement)===!0||(ne=(oe!==""?ne.querySelector(oe):null)||ne.querySelector("[autofocus][tabindex], [data-autofocus][tabindex]")||ne.querySelector("[autofocus] [tabindex], [data-autofocus] [tabindex]")||ne.querySelector("[autofocus], [data-autofocus]")||ne,ne.focus({preventScroll:!0}))})}function A(oe){oe&&typeof oe.focus=="function"?oe.focus({preventScroll:!0}):Y(),n("shake");const ne=i.value;ne!==null&&(ne.classList.remove("q-animate--scale"),ne.classList.add("q-animate--scale"),a!==null&&clearTimeout(a),a=setTimeout(()=>{a=null,i.value!==null&&(ne.classList.remove("q-animate--scale"),Y())},170))}function W(){e.seamless!==!0&&(e.persistent===!0||e.noEscDismiss===!0?e.maximized!==!0&&e.noShake!==!0&&A():(n("escapeKey"),V()))}function _e(oe){a!==null&&(clearTimeout(a),a=null),(oe===!0||s.value===!0)&&(se(!1),e.seamless!==!0&&(p(!1),Hs(ue),Ds(W))),oe!==!0&&(c=null)}function se(oe){oe===!0?u!==!0&&(so<1&&document.body.classList.add("q-body--dialog"),so++,u=!0):u===!0&&(so<2&&document.body.classList.remove("q-body--dialog"),so--,u=!1)}function fe(oe){d!==!0&&(V(oe),n("click",oe))}function L(oe){e.persistent!==!0&&e.noBackdropDismiss!==!0?V(oe):e.noShake!==!0&&A()}function ue(oe){e.allowFocusOutside!==!0&&F.value===!0&&Fh(i.value,oe.target)!==!0&&Y('[tabindex]:not([tabindex="-1"])')}Object.assign(r.proxy,{focus:Y,shake:A,__updateRefocusTarget(oe){c=oe||null}}),We(_e);function Re(){return E("div",{role:"dialog","aria-modal":$.value===!0?"true":"false",...o,class:H.value},[E(cn,{name:"q-transition--fade",appear:!0},()=>$.value===!0?E("div",{class:"q-dialog__backdrop fixed-full",style:m.value,"aria-hidden":"true",tabindex:-1,onClick:L}):null),E(cn,M.value,()=>s.value===!0?E("div",{ref:i,class:x.value,style:m.value,tabindex:-1,...v.value},tt(t.default)):null)])}return j}});const Wt={dark:{type:Boolean,default:null}};function Qt(e,t){return R(()=>e.dark===null?t.dark.isActive:e.dark)}var Bg=$e({name:"QCard",props:{...Wt,tag:{type:String,default:"div"},square:Boolean,flat:Boolean,bordered:Boolean},setup(e,{slots:t}){const{proxy:{$q:n}}=ke(),o=Qt(e,n),r=R(()=>"q-card"+(o.value===!0?" q-card--dark q-dark":"")+(e.bordered===!0?" q-card--bordered":"")+(e.square===!0?" q-card--square no-border-radius":"")+(e.flat===!0?" q-card--flat no-shadow":""));return()=>E(e.tag,{class:r.value},tt(t.default))}}),En=$e({name:"QCardSection",props:{tag:{type:String,default:"div"},horizontal:Boolean},setup(e,{slots:t}){const n=R(()=>`q-card__section q-card__section--${e.horizontal===!0?"horiz row no-wrap":"vert"}`);return()=>E(e.tag,{class:n.value},tt(t.default))}}),Fg=$e({name:"QCardActions",props:{...Aa,vertical:Boolean},setup(e,{slots:t}){const n=Ma(e),o=R(()=>`q-card__actions ${n.value} q-card__actions--${e.vertical===!0?"vert column":"horiz row"}`);return()=>E("div",{class:o.value},tt(t.default))}});const Ig={true:"inset",item:"item-inset","item-thumbnail":"item-thumbnail-inset"},dr={xs:2,sm:4,md:8,lg:16,xl:24};var Ks=$e({name:"QSeparator",props:{...Wt,spaced:[Boolean,String],inset:[Boolean,String],vertical:Boolean,color:String,size:String},setup(e){const t=ke(),n=Qt(e,t.proxy.$q),o=R(()=>e.vertical===!0?"vertical":"horizontal"),r=R(()=>` q-separator--${o.value}`),i=R(()=>e.inset!==!1?`${r.value}-${Ig[e.inset]}`:""),s=R(()=>`q-separator${r.value}${i.value}`+(e.color!==void 0?` bg-${e.color}`:"")+(n.value===!0?" q-separator--dark":"")),l=R(()=>{const a={};if(e.size!==void 0&&(a[e.vertical===!0?"width":"height"]=e.size),e.spaced!==!1){const c=e.spaced===!0?`${dr.md}px`:e.spaced in dr?`${dr[e.spaced]}px`:e.spaced,u=e.vertical===!0?["Left","Right"]:["Top","Bottom"];a[`margin${u[0]}`]=a[`margin${u[1]}`]=c}return a});return()=>E("hr",{class:s.value,style:l.value,"aria-orientation":o.value})}});function Ng({validate:e,resetValidation:t,requiresQForm:n}){const o=ut(id,!1);if(o!==!1){const{props:r,proxy:i}=ke();Object.assign(i,{validate:e,resetValidation:t}),be(()=>r.disable,s=>{s===!0?(typeof t=="function"&&t(),o.unbindComponent(i)):o.bindComponent(i)}),Ut(()=>{r.disable!==!0&&o.bindComponent(i)}),We(()=>{r.disable!==!0&&o.unbindComponent(i)})}else n===!0&&console.error("Parent QForm not found on useFormChild()!")}const Us=/^#[0-9a-fA-F]{3}([0-9a-fA-F]{3})?$/,Ws=/^#[0-9a-fA-F]{4}([0-9a-fA-F]{4})?$/,Qs=/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/,lo=/^rgb\(((0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5]),){2}(0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5])\)$/,ao=/^rgba\(((0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5]),){2}(0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5]),(0|0\.[0-9]+[1-9]|0\.[1-9]+|1)\)$/,hr={date:e=>/^-?[\d]+\/[0-1]\d\/[0-3]\d$/.test(e),time:e=>/^([0-1]?\d|2[0-3]):[0-5]\d$/.test(e),fulltime:e=>/^([0-1]?\d|2[0-3]):[0-5]\d:[0-5]\d$/.test(e),timeOrFulltime:e=>/^([0-1]?\d|2[0-3]):[0-5]\d(:[0-5]\d)?$/.test(e),email:e=>/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(e),hexColor:e=>Us.test(e),hexaColor:e=>Ws.test(e),hexOrHexaColor:e=>Qs.test(e),rgbColor:e=>lo.test(e),rgbaColor:e=>ao.test(e),rgbOrRgbaColor:e=>lo.test(e)||ao.test(e),hexOrRgbColor:e=>Us.test(e)||lo.test(e),hexaOrRgbaColor:e=>Ws.test(e)||ao.test(e),anyColor:e=>Qs.test(e)||lo.test(e)||ao.test(e)},jg=[!0,!1,"ondemand"],Vg={modelValue:{},error:{type:Boolean,default:null},errorMessage:String,noErrorIcon:Boolean,rules:Array,reactiveRules:Boolean,lazyRules:{type:[Boolean,String],validator:e=>jg.includes(e)}};function Dg(e,t){const{props:n,proxy:o}=ke(),r=he(!1),i=he(null),s=he(null);Ng({validate:y,resetValidation:p});let l=0,a;const c=R(()=>n.rules!==void 0&&n.rules!==null&&n.rules.length!==0),u=R(()=>n.disable!==!0&&c.value===!0),d=R(()=>n.error===!0||r.value===!0),f=R(()=>typeof n.errorMessage=="string"&&n.errorMessage.length!==0?n.errorMessage:i.value);be(()=>n.modelValue,()=>{T()}),be(()=>n.reactiveRules,M=>{M===!0?a===void 0&&(a=be(()=>n.rules,()=>{T(!0)})):a!==void 0&&(a(),a=void 0)},{immediate:!0}),be(e,M=>{M===!0?s.value===null&&(s.value=!1):s.value===!1&&(s.value=!0,u.value===!0&&n.lazyRules!=="ondemand"&&t.value===!1&&q())});function p(){l++,t.value=!1,s.value=null,r.value=!1,i.value=null,q.cancel()}function y(M=n.modelValue){if(u.value!==!0)return!0;const m=++l,_=t.value!==!0?()=>{s.value=!0}:()=>{},w=(j,V)=>{j===!0&&_(),r.value=j,i.value=V||null,t.value=!1},F=[];for(let j=0;j{if(j===void 0||Array.isArray(j)===!1||j.length===0)return m===l&&w(!1),!0;const V=j.find(N=>N===!1||typeof N=="string");return m===l&&w(V!==void 0,V),V===void 0},j=>(m===l&&(console.error(j),w(!0)),!1)))}function T(M){u.value===!0&&n.lazyRules!=="ondemand"&&(s.value===!0||n.lazyRules!==!0&&M!==!0)&&q()}const q=ua(y,0);return We(()=>{a!==void 0&&a(),q.cancel()}),Object.assign(o,{resetValidation:p,validate:y}),bn(o,"hasError",()=>d.value),{isDirtyModel:s,hasRules:c,hasError:d,errorMessage:f,validate:y,resetValidation:p}}const Ys=/^on[A-Z]/;function Hg(e,t){const n={listeners:he({}),attributes:he({})};function o(){const r={},i={};for(const s in e)s!=="class"&&s!=="style"&&Ys.test(s)===!1&&(r[s]=e[s]);for(const s in t.props)Ys.test(s)===!0&&(i[s]=t.props[s]);n.attributes.value=r,n.listeners.value=i}return Fl(o),o(),n}let gr,uo=0;const Te=new Array(256);for(let e=0;e<256;e++)Te[e]=(e+256).toString(16).substring(1);const zg=(()=>{const e=typeof crypto!="undefined"?crypto:typeof window!="undefined"?window.crypto||window.msCrypto:void 0;if(e!==void 0){if(e.randomBytes!==void 0)return e.randomBytes;if(e.getRandomValues!==void 0)return t=>{const n=new Uint8Array(t);return e.getRandomValues(n),n}}return t=>{const n=[];for(let o=t;o>0;o--)n.push(Math.floor(Math.random()*256));return n}})(),Zs=4096;function Kg(){(gr===void 0||uo+16>Zs)&&(uo=0,gr=zg(Zs));const e=Array.prototype.slice.call(gr,uo,uo+=16);return e[6]=e[6]&15|64,e[8]=e[8]&63|128,Te[e[0]]+Te[e[1]]+Te[e[2]]+Te[e[3]]+"-"+Te[e[4]]+Te[e[5]]+"-"+Te[e[6]]+Te[e[7]]+"-"+Te[e[8]]+Te[e[9]]+"-"+Te[e[10]]+Te[e[11]]+Te[e[12]]+Te[e[13]]+Te[e[14]]+Te[e[15]]}function Nr(e){return e===void 0?`f_${Kg()}`:e}function jr(e){return e!=null&&(""+e).length!==0}const Ug={...Wt,...Vg,label:String,stackLabel:Boolean,hint:String,hideHint:Boolean,prefix:String,suffix:String,labelColor:String,color:String,bgColor:String,filled:Boolean,outlined:Boolean,borderless:Boolean,standout:[Boolean,String],square:Boolean,loading:Boolean,labelSlot:Boolean,bottomSlots:Boolean,hideBottomSpace:Boolean,rounded:Boolean,dense:Boolean,itemAligned:Boolean,counter:Boolean,clearable:Boolean,clearIcon:String,disable:Boolean,readonly:Boolean,autofocus:Boolean,for:String,maxlength:[Number,String]},Wg=["update:modelValue","clear","focus","blur","popupShow","popupHide"];function Qg(){const{props:e,attrs:t,proxy:n,vnode:o}=ke();return{isDark:Qt(e,n.$q),editable:R(()=>e.disable!==!0&&e.readonly!==!0),innerLoading:he(!1),focused:he(!1),hasPopupOpen:!1,splitAttrs:Hg(t,o),targetUid:he(Nr(e.for)),rootRef:he(null),targetRef:he(null),controlRef:he(null)}}function Yg(e){const{props:t,emit:n,slots:o,attrs:r,proxy:i}=ke(),{$q:s}=i;let l=null;e.hasValue===void 0&&(e.hasValue=R(()=>jr(t.modelValue))),e.emitValue===void 0&&(e.emitValue=A=>{n("update:modelValue",A)}),e.controlEvents===void 0&&(e.controlEvents={onFocusin:C,onFocusout:x}),Object.assign(e,{clearValue:$,onControlFocusin:C,onControlFocusout:x,focus:V}),e.computedCounter===void 0&&(e.computedCounter=R(()=>{if(t.counter!==!1){const A=typeof t.modelValue=="string"||typeof t.modelValue=="number"?(""+t.modelValue).length:Array.isArray(t.modelValue)===!0?t.modelValue.length:0,W=t.maxlength!==void 0?t.maxlength:t.maxValues;return A+(W!==void 0?" / "+W:"")}}));const{isDirtyModel:a,hasRules:c,hasError:u,errorMessage:d,resetValidation:f}=Dg(e.focused,e.innerLoading),p=e.floatingLabel!==void 0?R(()=>t.stackLabel===!0||e.focused.value===!0||e.floatingLabel.value===!0):R(()=>t.stackLabel===!0||e.focused.value===!0||e.hasValue.value===!0),y=R(()=>t.bottomSlots===!0||t.hint!==void 0||c.value===!0||t.counter===!0||t.error!==null),T=R(()=>t.filled===!0?"filled":t.outlined===!0?"outlined":t.borderless===!0?"borderless":t.standout?"standout":"standard"),q=R(()=>`q-field row no-wrap items-start q-field--${T.value}`+(e.fieldClass!==void 0?` ${e.fieldClass.value}`:"")+(t.rounded===!0?" q-field--rounded":"")+(t.square===!0?" q-field--square":"")+(p.value===!0?" q-field--float":"")+(m.value===!0?" q-field--labeled":"")+(t.dense===!0?" q-field--dense":"")+(t.itemAligned===!0?" q-field--item-aligned q-item-type":"")+(e.isDark.value===!0?" q-field--dark":"")+(e.getControl===void 0?" q-field--auto-height":"")+(e.focused.value===!0?" q-field--focused":"")+(u.value===!0?" q-field--error":"")+(u.value===!0||e.focused.value===!0?" q-field--highlighted":"")+(t.hideBottomSpace!==!0&&y.value===!0?" q-field--with-bottom":"")+(t.disable===!0?" q-field--disabled":t.readonly===!0?" q-field--readonly":"")),M=R(()=>"q-field__control relative-position row no-wrap"+(t.bgColor!==void 0?` bg-${t.bgColor}`:"")+(u.value===!0?" text-negative":typeof t.standout=="string"&&t.standout.length!==0&&e.focused.value===!0?` ${t.standout}`:t.color!==void 0?` text-${t.color}`:"")),m=R(()=>t.labelSlot===!0||t.label!==void 0),_=R(()=>"q-field__label no-pointer-events absolute ellipsis"+(t.labelColor!==void 0&&u.value!==!0?` text-${t.labelColor}`:"")),w=R(()=>({id:e.targetUid.value,editable:e.editable.value,focused:e.focused.value,floatingLabel:p.value,modelValue:t.modelValue,emitValue:e.emitValue})),F=R(()=>{const A={for:e.targetUid.value};return t.disable===!0?A["aria-disabled"]="true":t.readonly===!0&&(A["aria-readonly"]="true"),A});be(()=>t.for,A=>{e.targetUid.value=Nr(A)});function j(){const A=document.activeElement;let W=e.targetRef!==void 0&&e.targetRef.value;W&&(A===null||A.id!==e.targetUid.value)&&(W.hasAttribute("tabindex")===!0||(W=W.querySelector("[tabindex]")),W&&W!==A&&W.focus({preventScroll:!0}))}function V(){mi(j)}function N(){yg(j);const A=document.activeElement;A!==null&&e.rootRef.value.contains(A)&&A.blur()}function C(A){l!==null&&(clearTimeout(l),l=null),e.editable.value===!0&&e.focused.value===!1&&(e.focused.value=!0,n("focus",A))}function x(A,W){l!==null&&clearTimeout(l),l=setTimeout(()=>{l=null,!(document.hasFocus()===!0&&(e.hasPopupOpen===!0||e.controlRef===void 0||e.controlRef.value===null||e.controlRef.value.contains(document.activeElement)!==!1))&&(e.focused.value===!0&&(e.focused.value=!1,n("blur",A)),W!==void 0&&W())})}function $(A){Ke(A),s.platform.is.mobile!==!0?(e.targetRef!==void 0&&e.targetRef.value||e.rootRef.value).focus():e.rootRef.value.contains(document.activeElement)===!0&&document.activeElement.blur(),t.type==="file"&&(e.inputRef.value.value=null),n("update:modelValue",null),n("clear",t.modelValue),je(()=>{f(),s.platform.is.mobile!==!0&&(a.value=!1)})}function v(){const A=[];return o.prepend!==void 0&&A.push(E("div",{class:"q-field__prepend q-field__marginal row no-wrap items-center",key:"prepend",onClick:Et},o.prepend())),A.push(E("div",{class:"q-field__control-container col relative-position row no-wrap q-anchor--skip"},H())),u.value===!0&&t.noErrorIcon===!1&&A.push(Z("error",[E(pt,{name:s.iconSet.field.error,color:"negative"})])),t.loading===!0||e.innerLoading.value===!0?A.push(Z("inner-loading-append",o.loading!==void 0?o.loading():[E(Un,{color:t.color})])):t.clearable===!0&&e.hasValue.value===!0&&e.editable.value===!0&&A.push(Z("inner-clearable-append",[E(pt,{class:"q-field__focusable-action",tag:"button",name:t.clearIcon||s.iconSet.field.clear,tabindex:0,type:"button","aria-hidden":null,role:null,onClick:$})])),o.append!==void 0&&A.push(E("div",{class:"q-field__append q-field__marginal row no-wrap items-center",key:"append",onClick:Et},o.append())),e.getInnerAppend!==void 0&&A.push(Z("inner-append",e.getInnerAppend())),e.getControlChild!==void 0&&A.push(e.getControlChild()),A}function H(){const A=[];return t.prefix!==void 0&&t.prefix!==null&&A.push(E("div",{class:"q-field__prefix no-pointer-events row items-center"},t.prefix)),e.getShadowControl!==void 0&&e.hasShadow.value===!0&&A.push(e.getShadowControl()),e.getControl!==void 0?A.push(e.getControl()):o.rawControl!==void 0?A.push(o.rawControl()):o.control!==void 0&&A.push(E("div",{ref:e.targetRef,class:"q-field__native row",tabindex:-1,...e.splitAttrs.attributes.value,"data-autofocus":t.autofocus===!0||void 0},o.control(w.value))),m.value===!0&&A.push(E("div",{class:_.value},tt(o.label,t.label))),t.suffix!==void 0&&t.suffix!==null&&A.push(E("div",{class:"q-field__suffix no-pointer-events row items-center"},t.suffix)),A.concat(tt(o.default))}function k(){let A,W;u.value===!0?d.value!==null?(A=[E("div",{role:"alert"},d.value)],W=`q--slot-error-${d.value}`):(A=tt(o.error),W="q--slot-error"):(t.hideHint!==!0||e.focused.value===!0)&&(t.hint!==void 0?(A=[E("div",t.hint)],W=`q--slot-hint-${t.hint}`):(A=tt(o.hint),W="q--slot-hint"));const _e=t.counter===!0||o.counter!==void 0;if(t.hideBottomSpace===!0&&_e===!1&&A===void 0)return;const se=E("div",{key:W,class:"q-field__messages col"},A);return E("div",{class:"q-field__bottom row items-start q-field__bottom--"+(t.hideBottomSpace!==!0?"animated":"stale"),onClick:Et},[t.hideBottomSpace===!0?se:E(cn,{name:"q-transition--field-message"},()=>se),_e===!0?E("div",{class:"q-field__counter"},o.counter!==void 0?o.counter():e.computedCounter.value):null])}function Z(A,W){return W===null?null:E("div",{key:A,class:"q-field__append q-field__marginal row no-wrap items-center q-anchor--skip"},W)}let Y=!1;return Fo(()=>{Y=!0}),Ll(()=>{Y===!0&&t.autofocus===!0&&i.focus()}),Ut(()=>{qt.value===!0&&t.for===void 0&&(e.targetUid.value=Nr()),t.autofocus===!0&&i.focus()}),We(()=>{l!==null&&clearTimeout(l)}),Object.assign(i,{focus:V,blur:N}),function(){const W=e.getControl===void 0&&o.control===void 0?{...e.splitAttrs.attributes.value,"data-autofocus":t.autofocus===!0||void 0,...F.value}:F.value;return E("label",{ref:e.rootRef,class:[q.value,r.class],style:r.style,...W},[o.before!==void 0?E("div",{class:"q-field__before q-field__marginal row no-wrap items-center",onClick:Et},o.before()):null,E("div",{class:"q-field__inner relative-position col self-stretch"},[E("div",{ref:e.controlRef,class:M.value,tabindex:-1,...e.controlEvents},v()),y.value===!0?k():null]),o.after!==void 0?E("div",{class:"q-field__after q-field__marginal row no-wrap items-center",onClick:Et},o.after()):null])}}const Js={date:"####/##/##",datetime:"####/##/## ##:##",time:"##:##",fulltime:"##:##:##",phone:"(###) ### - ####",card:"#### #### #### ####"},Po={"#":{pattern:"[\\d]",negate:"[^\\d]"},S:{pattern:"[a-zA-Z]",negate:"[^a-zA-Z]"},N:{pattern:"[0-9a-zA-Z]",negate:"[^0-9a-zA-Z]"},A:{pattern:"[a-zA-Z]",negate:"[^a-zA-Z]",transform:e=>e.toLocaleUpperCase()},a:{pattern:"[a-zA-Z]",negate:"[^a-zA-Z]",transform:e=>e.toLocaleLowerCase()},X:{pattern:"[0-9a-zA-Z]",negate:"[^0-9a-zA-Z]",transform:e=>e.toLocaleUpperCase()},x:{pattern:"[0-9a-zA-Z]",negate:"[^0-9a-zA-Z]",transform:e=>e.toLocaleLowerCase()}},Za=Object.keys(Po);Za.forEach(e=>{Po[e].regex=new RegExp(Po[e].pattern)});const Zg=new RegExp("\\\\([^.*+?^${}()|([\\]])|([.*+?^${}()|[\\]])|(["+Za.join("")+"])|(.)","g"),Xs=/[.*+?^${}()|[\]\\]/g,Se=String.fromCharCode(1),Jg={mask:String,reverseFillMask:Boolean,fillMask:[Boolean,String],unmaskedValue:Boolean};function Xg(e,t,n,o){let r,i,s,l,a,c;const u=he(null),d=he(p());function f(){return e.autogrow===!0||["textarea","text","search","url","tel","password"].includes(e.type)}be(()=>e.type+e.autogrow,T),be(()=>e.mask,C=>{if(C!==void 0)q(d.value,!0);else{const x=V(d.value);T(),e.modelValue!==x&&t("update:modelValue",x)}}),be(()=>e.fillMask+e.reverseFillMask,()=>{u.value===!0&&q(d.value,!0)}),be(()=>e.unmaskedValue,()=>{u.value===!0&&q(d.value)});function p(){if(T(),u.value===!0){const C=F(V(e.modelValue));return e.fillMask!==!1?N(C):C}return e.modelValue}function y(C){if(C-1){for(let H=C-$.length;H>0;H--)x+=Se;$=$.slice(0,v)+x+$.slice(v)}return $}function T(){if(u.value=e.mask!==void 0&&e.mask.length!==0&&f(),u.value===!1){l=void 0,r="",i="";return}const C=Js[e.mask]===void 0?e.mask:Js[e.mask],x=typeof e.fillMask=="string"&&e.fillMask.length!==0?e.fillMask.slice(0,1):"_",$=x.replace(Xs,"\\$&"),v=[],H=[],k=[];let Z=e.reverseFillMask===!0,Y="",A="";C.replace(Zg,(fe,L,ue,Re,oe)=>{if(Re!==void 0){const ne=Po[Re];k.push(ne),A=ne.negate,Z===!0&&(H.push("(?:"+A+"+)?("+ne.pattern+"+)?(?:"+A+"+)?("+ne.pattern+"+)?"),Z=!1),H.push("(?:"+A+"+)?("+ne.pattern+")?")}else if(ue!==void 0)Y="\\"+(ue==="\\"?"":ue),k.push(ue),v.push("([^"+Y+"]+)?"+Y+"?");else{const ne=L!==void 0?L:oe;Y=ne==="\\"?"\\\\\\\\":ne.replace(Xs,"\\\\$&"),k.push(ne),v.push("([^"+Y+"]+)?"+Y+"?")}});const W=new RegExp("^"+v.join("")+"("+(Y===""?".":"[^"+Y+"]")+"+)?"+(Y===""?"":"["+Y+"]*")+"$"),_e=H.length-1,se=H.map((fe,L)=>L===0&&e.reverseFillMask===!0?new RegExp("^"+$+"*"+fe):L===_e?new RegExp("^"+fe+"("+(A===""?".":A)+"+)?"+(e.reverseFillMask===!0?"$":$+"*")):new RegExp("^"+fe));s=k,l=fe=>{const L=W.exec(e.reverseFillMask===!0?fe:fe.slice(0,k.length+1));L!==null&&(fe=L.slice(1).join(""));const ue=[],Re=se.length;for(let oe=0,ne=fe;oetypeof fe=="string"?fe:Se).join(""),i=r.split(Se).join(x)}function q(C,x,$){const v=o.value,H=v.selectionEnd,k=v.value.length-H,Z=V(C);x===!0&&T();const Y=F(Z),A=e.fillMask!==!1?N(Y):Y,W=d.value!==A;v.value!==A&&(v.value=A),W===!0&&(d.value=A),document.activeElement===v&&je(()=>{if(A===i){const se=e.reverseFillMask===!0?i.length:0;v.setSelectionRange(se,se,"forward");return}if($==="insertFromPaste"&&e.reverseFillMask!==!0){const se=v.selectionEnd;let fe=H-1;for(let L=a;L<=fe&&L-1){const se=e.reverseFillMask===!0?H===0?A.length>Y.length?1:0:Math.max(0,A.length-(A===i?0:Math.min(Y.length,k)+1))+1:H;v.setSelectionRange(se,se,"forward");return}if(e.reverseFillMask===!0)if(W===!0){const se=Math.max(0,A.length-(A===i?0:Math.min(Y.length,k+1)));se===1&&H===1?v.setSelectionRange(se,se,"forward"):m.rightReverse(v,se)}else{const se=A.length-k;v.setSelectionRange(se,se,"backward")}else if(W===!0){const se=Math.max(0,r.indexOf(Se),Math.min(Y.length,H)-1);m.right(v,se)}else{const se=H-1;m.right(v,se)}});const _e=e.unmaskedValue===!0?V(A):A;String(e.modelValue)!==_e&&n(_e,!0)}function M(C,x,$){const v=F(V(C.value));x=Math.max(0,r.indexOf(Se),Math.min(v.length,x)),a=x,C.setSelectionRange(x,$,"forward")}const m={left(C,x){const $=r.slice(x-1).indexOf(Se)===-1;let v=Math.max(0,x-1);for(;v>=0;v--)if(r[v]===Se){x=v,$===!0&&x++;break}if(v<0&&r[x]!==void 0&&r[x]!==Se)return m.right(C,0);x>=0&&C.setSelectionRange(x,x,"backward")},right(C,x){const $=C.value.length;let v=Math.min($,x+1);for(;v<=$;v++)if(r[v]===Se){x=v;break}else r[v-1]===Se&&(x=v);if(v>$&&r[x-1]!==void 0&&r[x-1]!==Se)return m.left(C,$);C.setSelectionRange(x,x,"forward")},leftReverse(C,x){const $=y(C.value.length);let v=Math.max(0,x-1);for(;v>=0;v--)if($[v-1]===Se){x=v;break}else if($[v]===Se&&(x=v,v===0))break;if(v<0&&$[x]!==void 0&&$[x]!==Se)return m.rightReverse(C,0);x>=0&&C.setSelectionRange(x,x,"backward")},rightReverse(C,x){const $=C.value.length,v=y($),H=v.slice(0,x+1).indexOf(Se)===-1;let k=Math.min($,x+1);for(;k<=$;k++)if(v[k-1]===Se){x=k,x>0&&H===!0&&x--;break}if(k>$&&v[x-1]!==void 0&&v[x-1]!==Se)return m.leftReverse(C,$);C.setSelectionRange(x,x,"forward")}};function _(C){t("click",C),c=void 0}function w(C){if(t("keydown",C),da(C)===!0||C.altKey===!0)return;const x=o.value,$=x.selectionStart,v=x.selectionEnd;if(C.shiftKey||(c=void 0),C.keyCode===37||C.keyCode===39){C.shiftKey&&c===void 0&&(c=x.selectionDirection==="forward"?$:v);const H=m[(C.keyCode===39?"right":"left")+(e.reverseFillMask===!0?"Reverse":"")];if(C.preventDefault(),H(x,c===$?v:$),C.shiftKey){const k=x.selectionStart;x.setSelectionRange(Math.min(c,k),Math.max(c,k),"forward")}}else C.keyCode===8&&e.reverseFillMask!==!0&&$===v?(m.left(x,$),x.setSelectionRange(x.selectionStart,v,"backward")):C.keyCode===46&&e.reverseFillMask===!0&&$===v&&(m.rightReverse(x,v),x.setSelectionRange($,x.selectionEnd,"forward"))}function F(C){if(C==null||C==="")return"";if(e.reverseFillMask===!0)return j(C);const x=s;let $=0,v="";for(let H=0;H=0&&v>-1;k--){const Z=x[k];let Y=C[v];if(typeof Z=="string")H=Z+H,Y===Z&&v--;else if(Y!==void 0&&Z.regex.test(Y))do H=(Z.transform!==void 0?Z.transform(Y):Y)+H,v--,Y=C[v];while($===k&&Y!==void 0&&Z.regex.test(Y));else return H}return H}function V(C){return typeof C!="string"||l===void 0?typeof C=="number"?l(""+C):C:l(C)}function N(C){return i.length-C.length<=0?C:e.reverseFillMask===!0&&C.length!==0?i.slice(0,-C.length)+C:C+i.slice(C.length)}return{innerValue:d,hasMask:u,moveCursorForPaste:M,updateMaskValue:q,onMaskedKeydown:w,onMaskedClick:_}}const pi={name:String};function Ja(e={}){return(t,n,o)=>{t[n](E("input",{class:"hidden"+(o||""),...e.value}))}}function Gg(e){return R(()=>e.name||e.for)}function em(e,t){function n(){const o=e.modelValue;try{const r="DataTransfer"in window?new DataTransfer:"ClipboardEvent"in window?new ClipboardEvent("").clipboardData:void 0;return Object(o)===o&&("length"in o?Array.from(o):[o]).forEach(i=>{r.items.add(i)}),{files:r.files}}catch{return{files:void 0}}}return R(t===!0?()=>{if(e.type==="file")return n()}:n)}const tm=/[\u3000-\u303f\u3040-\u309f\u30a0-\u30ff\uff00-\uff9f\u4e00-\u9faf\u3400-\u4dbf]/,nm=/[\u4e00-\u9fff\u3400-\u4dbf\u{20000}-\u{2a6df}\u{2a700}-\u{2b73f}\u{2b740}-\u{2b81f}\u{2b820}-\u{2ceaf}\uf900-\ufaff\u3300-\u33ff\ufe30-\ufe4f\uf900-\ufaff\u{2f800}-\u{2fa1f}]/u,om=/[\u3131-\u314e\u314f-\u3163\uac00-\ud7a3]/,rm=/[a-z0-9_ -]$/i;function im(e){return function(n){if(n.type==="compositionend"||n.type==="change"){if(n.target.qComposing!==!0)return;n.target.qComposing=!1,e(n)}else n.type==="compositionupdate"&&n.target.qComposing!==!0&&typeof n.data=="string"&&(we.is.firefox===!0?rm.test(n.data)===!1:tm.test(n.data)===!0||nm.test(n.data)===!0||om.test(n.data)===!0)===!0&&(n.target.qComposing=!0)}}var sm=$e({name:"QInput",inheritAttrs:!1,props:{...Ug,...Jg,...pi,modelValue:{required:!1},shadowText:String,type:{type:String,default:"text"},debounce:[String,Number],autogrow:Boolean,inputClass:[Array,String,Object],inputStyle:[Array,String,Object]},emits:[...Wg,"paste","change","keydown","click","animationend"],setup(e,{emit:t,attrs:n}){const{proxy:o}=ke(),{$q:r}=o,i={};let s=NaN,l,a,c=null,u;const d=he(null),f=Gg(e),{innerValue:p,hasMask:y,moveCursorForPaste:T,updateMaskValue:q,onMaskedKeydown:M,onMaskedClick:m}=Xg(e,t,Y,d),_=em(e,!0),w=R(()=>jr(p.value)),F=im(k),j=Qg(),V=R(()=>e.type==="textarea"||e.autogrow===!0),N=R(()=>V.value===!0||["text","search","url","tel","password"].includes(e.type)),C=R(()=>{const L={...j.splitAttrs.listeners.value,onInput:k,onPaste:H,onChange:W,onBlur:_e,onFocus:ko};return L.onCompositionstart=L.onCompositionupdate=L.onCompositionend=F,y.value===!0&&(L.onKeydown=M,L.onClick=m),e.autogrow===!0&&(L.onAnimationend=Z),L}),x=R(()=>{const L={tabindex:0,"data-autofocus":e.autofocus===!0||void 0,rows:e.type==="textarea"?6:void 0,"aria-label":e.label,name:f.value,...j.splitAttrs.attributes.value,id:j.targetUid.value,maxlength:e.maxlength,disabled:e.disable===!0,readonly:e.readonly===!0};return V.value===!1&&(L.type=e.type),e.autogrow===!0&&(L.rows=1),L});be(()=>e.type,()=>{d.value&&(d.value.value=e.modelValue)}),be(()=>e.modelValue,L=>{if(y.value===!0){if(a===!0&&(a=!1,String(L)===s))return;q(L)}else p.value!==L&&(p.value=L,e.type==="number"&&i.hasOwnProperty("value")===!0&&(l===!0?l=!1:delete i.value));e.autogrow===!0&&je(A)}),be(()=>e.autogrow,L=>{L===!0?je(A):d.value!==null&&n.rows>0&&(d.value.style.height="auto")}),be(()=>e.dense,()=>{e.autogrow===!0&&je(A)});function $(){mi(()=>{const L=document.activeElement;d.value!==null&&d.value!==L&&(L===null||L.id!==j.targetUid.value)&&d.value.focus({preventScroll:!0})})}function v(){d.value!==null&&d.value.select()}function H(L){if(y.value===!0&&e.reverseFillMask!==!0){const ue=L.target;T(ue,ue.selectionStart,ue.selectionEnd)}t("paste",L)}function k(L){if(!L||!L.target)return;if(e.type==="file"){t("update:modelValue",L.target.files);return}const ue=L.target.value;if(L.target.qComposing===!0){i.value=ue;return}if(y.value===!0)q(ue,!1,L.inputType);else if(Y(ue),N.value===!0&&L.target===document.activeElement){const{selectionStart:Re,selectionEnd:oe}=L.target;Re!==void 0&&oe!==void 0&&je(()=>{L.target===document.activeElement&&ue.indexOf(L.target.value)===0&&L.target.setSelectionRange(Re,oe)})}e.autogrow===!0&&A()}function Z(L){t("animationend",L),A()}function Y(L,ue){u=()=>{c=null,e.type!=="number"&&i.hasOwnProperty("value")===!0&&delete i.value,e.modelValue!==L&&s!==L&&(s=L,ue===!0&&(a=!0),t("update:modelValue",L),je(()=>{s===L&&(s=NaN)})),u=void 0},e.type==="number"&&(l=!0,i.value=L),e.debounce!==void 0?(c!==null&&clearTimeout(c),i.value=L,c=setTimeout(u,e.debounce)):u()}function A(){requestAnimationFrame(()=>{const L=d.value;if(L!==null){const ue=L.parentNode.style,{scrollTop:Re}=L,{overflowY:oe,maxHeight:ne}=r.platform.is.firefox===!0?{}:window.getComputedStyle(L),S=oe!==void 0&&oe!=="scroll";S===!0&&(L.style.overflowY="hidden"),ue.marginBottom=L.scrollHeight-1+"px",L.style.height="1px",L.style.height=L.scrollHeight+"px",S===!0&&(L.style.overflowY=parseInt(ne,10){d.value!==null&&(d.value.value=p.value!==void 0?p.value:"")})}function se(){return i.hasOwnProperty("value")===!0?i.value:p.value!==void 0?p.value:""}We(()=>{_e()}),Ut(()=>{e.autogrow===!0&&A()}),Object.assign(j,{innerValue:p,fieldClass:R(()=>`q-${V.value===!0?"textarea":"input"}`+(e.autogrow===!0?" q-textarea--autogrow":"")),hasShadow:R(()=>e.type!=="file"&&typeof e.shadowText=="string"&&e.shadowText.length!==0),inputRef:d,emitValue:Y,hasValue:w,floatingLabel:R(()=>w.value===!0&&(e.type!=="number"||isNaN(p.value)===!1)||jr(e.displayValue)),getControl:()=>E(V.value===!0?"textarea":"input",{ref:d,class:["q-field__native q-placeholder",e.inputClass],style:e.inputStyle,...x.value,...C.value,...e.type!=="file"?{value:se()}:_.value}),getShadowControl:()=>E("div",{class:"q-field__native q-field__shadow absolute-bottom no-pointer-events"+(V.value===!0?"":" text-no-wrap")},[E("span",{class:"invisible"},se()),E("span",e.shadowText)])});const fe=Yg(j);return Object.assign(o,{focus:$,select:v,getNativeElement:()=>d.value}),bn(o,"nativeEl",()=>d.value),fe}});function Xa(e,t){const n=he(null),o=R(()=>e.disable===!0?null:E("span",{ref:n,class:"no-outline",tabindex:-1}));function r(i){const s=t.value;i!==void 0&&i.type.indexOf("key")===0?s!==null&&document.activeElement!==s&&s.contains(document.activeElement)===!0&&s.focus():n.value!==null&&(i===void 0||s!==null&&s.contains(i.target)===!0)&&n.value.focus()}return{refocusTargetEl:o,refocusTarget:r}}var Ga={xs:30,sm:35,md:40,lg:50,xl:60};const lm=E("svg",{key:"svg",class:"q-radio__bg absolute non-selectable",viewBox:"0 0 24 24"},[E("path",{d:"M12,22a10,10 0 0 1 -10,-10a10,10 0 0 1 10,-10a10,10 0 0 1 10,10a10,10 0 0 1 -10,10m0,-22a12,12 0 0 0 -12,12a12,12 0 0 0 12,12a12,12 0 0 0 12,-12a12,12 0 0 0 -12,-12"}),E("path",{class:"q-radio__check",d:"M12,6a6,6 0 0 0 -6,6a6,6 0 0 0 6,6a6,6 0 0 0 6,-6a6,6 0 0 0 -6,-6"})]);var am=$e({name:"QRadio",props:{...Wt,...Yn,...pi,modelValue:{required:!0},val:{required:!0},label:String,leftLabel:Boolean,checkedIcon:String,uncheckedIcon:String,color:String,keepColor:Boolean,dense:Boolean,disable:Boolean,tabindex:[String,Number]},emits:["update:modelValue"],setup(e,{slots:t,emit:n}){const{proxy:o}=ke(),r=Qt(e,o.$q),i=Zn(e,Ga),s=he(null),{refocusTargetEl:l,refocusTarget:a}=Xa(e,s),c=R(()=>ie(e.modelValue)===ie(e.val)),u=R(()=>"q-radio cursor-pointer no-outline row inline no-wrap items-center"+(e.disable===!0?" disabled":"")+(r.value===!0?" q-radio--dark":"")+(e.dense===!0?" q-radio--dense":"")+(e.leftLabel===!0?" reverse":"")),d=R(()=>{const _=e.color!==void 0&&(e.keepColor===!0||c.value===!0)?` text-${e.color}`:"";return`q-radio__inner relative-position q-radio__inner--${c.value===!0?"truthy":"falsy"}${_}`}),f=R(()=>(c.value===!0?e.checkedIcon:e.uncheckedIcon)||null),p=R(()=>e.disable===!0?-1:e.tabindex||0),y=R(()=>{const _={type:"radio"};return e.name!==void 0&&Object.assign(_,{".checked":c.value===!0,"^checked":c.value===!0?"checked":void 0,name:e.name,value:e.val}),_}),T=Ja(y);function q(_){_!==void 0&&(Ke(_),a(_)),e.disable!==!0&&c.value!==!0&&n("update:modelValue",e.val,_)}function M(_){(_.keyCode===13||_.keyCode===32)&&Ke(_)}function m(_){(_.keyCode===13||_.keyCode===32)&&q(_)}return Object.assign(o,{set:q}),()=>{const _=f.value!==null?[E("div",{key:"icon",class:"q-radio__icon-container absolute-full flex flex-center no-wrap"},[E(pt,{class:"q-radio__icon",name:f.value})])]:[lm];e.disable!==!0&&T(_,"unshift"," q-radio__native q-ma-none q-pa-none");const w=[E("div",{class:d.value,style:i.value,"aria-hidden":"true"},_)];l.value!==null&&w.push(l.value);const F=e.label!==void 0?It(t.default,[e.label]):tt(t.default);return F!==void 0&&w.push(E("div",{class:"q-radio__label q-anchor--skip"},F)),E("div",{ref:s,class:u.value,tabindex:p.value,role:"radio","aria-label":e.label,"aria-checked":c.value===!0?"true":"false","aria-disabled":e.disable===!0?"true":void 0,onClick:q,onKeydown:M,onKeyup:m},w)}}});const eu={...Wt,...Yn,...pi,modelValue:{required:!0,default:null},val:{},trueValue:{default:!0},falseValue:{default:!1},indeterminateValue:{default:null},checkedIcon:String,uncheckedIcon:String,indeterminateIcon:String,toggleOrder:{type:String,validator:e=>e==="tf"||e==="ft"},toggleIndeterminate:Boolean,label:String,leftLabel:Boolean,color:String,keepColor:Boolean,dense:Boolean,disable:Boolean,tabindex:[String,Number]},tu=["update:modelValue"];function nu(e,t){const{props:n,slots:o,emit:r,proxy:i}=ke(),{$q:s}=i,l=Qt(n,s),a=he(null),{refocusTargetEl:c,refocusTarget:u}=Xa(n,a),d=Zn(n,Ga),f=R(()=>n.val!==void 0&&Array.isArray(n.modelValue)),p=R(()=>{const v=ie(n.val);return f.value===!0?n.modelValue.findIndex(H=>ie(H)===v):-1}),y=R(()=>f.value===!0?p.value>-1:ie(n.modelValue)===ie(n.trueValue)),T=R(()=>f.value===!0?p.value===-1:ie(n.modelValue)===ie(n.falseValue)),q=R(()=>y.value===!1&&T.value===!1),M=R(()=>n.disable===!0?-1:n.tabindex||0),m=R(()=>`q-${e} cursor-pointer no-outline row inline no-wrap items-center`+(n.disable===!0?" disabled":"")+(l.value===!0?` q-${e}--dark`:"")+(n.dense===!0?` q-${e}--dense`:"")+(n.leftLabel===!0?" reverse":"")),_=R(()=>{const v=y.value===!0?"truthy":T.value===!0?"falsy":"indet",H=n.color!==void 0&&(n.keepColor===!0||(e==="toggle"?y.value===!0:T.value!==!0))?` text-${n.color}`:"";return`q-${e}__inner relative-position non-selectable q-${e}__inner--${v}${H}`}),w=R(()=>{const v={type:"checkbox"};return n.name!==void 0&&Object.assign(v,{".checked":y.value,"^checked":y.value===!0?"checked":void 0,name:n.name,value:f.value===!0?n.val:n.trueValue}),v}),F=Ja(w),j=R(()=>{const v={tabindex:M.value,role:e==="toggle"?"switch":"checkbox","aria-label":n.label,"aria-checked":q.value===!0?"mixed":y.value===!0?"true":"false"};return n.disable===!0&&(v["aria-disabled"]="true"),v});function V(v){v!==void 0&&(Ke(v),u(v)),n.disable!==!0&&r("update:modelValue",N(),v)}function N(){if(f.value===!0){if(y.value===!0){const v=n.modelValue.slice();return v.splice(p.value,1),v}return n.modelValue.concat([n.val])}if(y.value===!0){if(n.toggleOrder!=="ft"||n.toggleIndeterminate===!1)return n.falseValue}else if(T.value===!0){if(n.toggleOrder==="ft"||n.toggleIndeterminate===!1)return n.trueValue}else return n.toggleOrder!=="ft"?n.trueValue:n.falseValue;return n.indeterminateValue}function C(v){(v.keyCode===13||v.keyCode===32)&&Ke(v)}function x(v){(v.keyCode===13||v.keyCode===32)&&V(v)}const $=t(y,q);return Object.assign(i,{toggle:V}),()=>{const v=$();n.disable!==!0&&F(v,"unshift",` q-${e}__native absolute q-ma-none q-pa-none`);const H=[E("div",{class:_.value,style:d.value,"aria-hidden":"true"},v)];c.value!==null&&H.push(c.value);const k=n.label!==void 0?It(o.default,[n.label]):tt(o.default);return k!==void 0&&H.push(E("div",{class:`q-${e}__label q-anchor--skip`},k)),E("div",{ref:a,class:m.value,...j.value,onClick:V,onKeydown:C,onKeyup:x},H)}}const um=E("div",{key:"svg",class:"q-checkbox__bg absolute"},[E("svg",{class:"q-checkbox__svg fit absolute-full",viewBox:"0 0 24 24"},[E("path",{class:"q-checkbox__truthy",fill:"none",d:"M1.73,12.91 8.1,19.28 22.79,4.59"}),E("path",{class:"q-checkbox__indet",d:"M4,14H20V10H4"})])]);var cm=$e({name:"QCheckbox",props:eu,emits:tu,setup(e){function t(n,o){const r=R(()=>(n.value===!0?e.checkedIcon:o.value===!0?e.indeterminateIcon:e.uncheckedIcon)||null);return()=>r.value!==null?[E("div",{key:"icon",class:"q-checkbox__icon-container absolute-full flex flex-center no-wrap"},[E(pt,{class:"q-checkbox__icon",name:r.value})])]:[um]}return nu("checkbox",t)}}),fm=$e({name:"QToggle",props:{...eu,icon:String,iconColor:String},emits:tu,setup(e){function t(n,o){const r=R(()=>(n.value===!0?e.checkedIcon:o.value===!0?e.indeterminateIcon:e.uncheckedIcon)||e.icon),i=R(()=>n.value===!0?e.iconColor:null);return()=>[E("div",{class:"q-toggle__track"}),E("div",{class:"q-toggle__thumb absolute flex flex-center no-wrap"},r.value!==void 0?[E(pt,{name:r.value,color:i.value})]:void 0)]}return nu("toggle",t)}});const ou={radio:am,checkbox:cm,toggle:fm},dm=Object.keys(ou);var hm=$e({name:"QOptionGroup",props:{...Wt,modelValue:{required:!0},options:{type:Array,validator:e=>e.every(t=>"value"in t&&"label"in t)},name:String,type:{default:"radio",validator:e=>dm.includes(e)},color:String,keepColor:Boolean,dense:Boolean,size:String,leftLabel:Boolean,inline:Boolean,disable:Boolean},emits:["update:modelValue"],setup(e,{emit:t,slots:n}){const{proxy:{$q:o}}=ke(),r=Array.isArray(e.modelValue);e.type==="radio"?r===!0&&console.error("q-option-group: model should not be array"):r===!1&&console.error("q-option-group: model should be array in your case");const i=Qt(e,o),s=R(()=>ou[e.type]),l=R(()=>"q-option-group q-gutter-x-sm"+(e.inline===!0?" q-option-group--inline":"")),a=R(()=>{const u={role:"group"};return e.type==="radio"&&(u.role="radiogroup",e.disable===!0&&(u["aria-disabled"]="true")),u});function c(u){t("update:modelValue",u)}return()=>E("div",{class:l.value,...a.value},e.options.map((u,d)=>{const f=n["label-"+d]!==void 0?()=>n["label-"+d](u):n.label!==void 0?()=>n.label(u):void 0;return E("div",[E(s.value,{modelValue:e.modelValue,val:u.value,name:u.name===void 0?e.name:u.name,disable:e.disable||u.disable,label:f===void 0?u.label:null,leftLabel:u.leftLabel===void 0?e.leftLabel:u.leftLabel,color:u.color===void 0?e.color:u.color,checkedIcon:u.checkedIcon,uncheckedIcon:u.uncheckedIcon,dark:u.dark||i.value,size:u.size===void 0?e.size:u.size,dense:e.dense,keepColor:u.keepColor===void 0?e.keepColor:u.keepColor,"onUpdate:modelValue":c},f)])}))}}),gm=$e({name:"DialogPlugin",props:{...Wt,title:String,message:String,prompt:Object,options:Object,progress:[Boolean,Object],html:Boolean,ok:{type:[String,Object,Boolean],default:!0},cancel:[String,Object,Boolean],focus:{type:String,default:"ok",validator:e=>["ok","cancel","none"].includes(e)},stackButtons:Boolean,color:String,cardClass:[String,Array,Object],cardStyle:[String,Array,Object]},emits:["ok","hide"],setup(e,{emit:t}){const{proxy:n}=ke(),{$q:o}=n,r=Qt(e,o),i=he(null),s=he(e.prompt!==void 0?e.prompt.model:e.options!==void 0?e.options.model:void 0),l=R(()=>"q-dialog-plugin"+(r.value===!0?" q-dialog-plugin--dark q-dark":"")+(e.progress!==!1?" q-dialog-plugin--progress":"")),a=R(()=>e.color||(r.value===!0?"amber":"primary")),c=R(()=>e.progress===!1?null:at(e.progress)===!0?{component:e.progress.spinner||Un,props:{color:e.progress.color||a.value}}:{component:Un,props:{color:a.value}}),u=R(()=>e.prompt!==void 0||e.options!==void 0),d=R(()=>{if(u.value!==!0)return{};const{model:k,isValid:Z,items:Y,...A}=e.prompt!==void 0?e.prompt:e.options;return A}),f=R(()=>at(e.ok)===!0||e.ok===!0?o.lang.label.ok:e.ok),p=R(()=>at(e.cancel)===!0||e.cancel===!0?o.lang.label.cancel:e.cancel),y=R(()=>e.prompt!==void 0?e.prompt.isValid!==void 0&&e.prompt.isValid(s.value)!==!0:e.options!==void 0?e.options.isValid!==void 0&&e.options.isValid(s.value)!==!0:!1),T=R(()=>({color:a.value,label:f.value,ripple:!1,disable:y.value,...at(e.ok)===!0?e.ok:{flat:!0},"data-autofocus":e.focus==="ok"&&u.value!==!0||void 0,onClick:_})),q=R(()=>({color:a.value,label:p.value,ripple:!1,...at(e.cancel)===!0?e.cancel:{flat:!0},"data-autofocus":e.focus==="cancel"&&u.value!==!0||void 0,onClick:w}));be(()=>e.prompt&&e.prompt.model,j),be(()=>e.options&&e.options.model,j);function M(){i.value.show()}function m(){i.value.hide()}function _(){t("ok",ie(s.value)),m()}function w(){m()}function F(){t("hide")}function j(k){s.value=k}function V(k){y.value!==!0&&e.prompt.type!=="textarea"&&zn(k,13)===!0&&_()}function N(k,Z){return e.html===!0?E(En,{class:k,innerHTML:Z}):E(En,{class:k},()=>Z)}function C(){return[E(sm,{color:a.value,dense:!0,autofocus:!0,dark:r.value,...d.value,modelValue:s.value,"onUpdate:modelValue":j,onKeyup:V})]}function x(){return[E(hm,{color:a.value,options:e.options.items,dark:r.value,...d.value,modelValue:s.value,"onUpdate:modelValue":j})]}function $(){const k=[];return e.cancel&&k.push(E(Br,q.value)),e.ok&&k.push(E(Br,T.value)),E(Fg,{class:e.stackButtons===!0?"items-end":"",vertical:e.stackButtons,align:"right"},()=>k)}function v(){const k=[];return e.title&&k.push(N("q-dialog__title",e.title)),e.progress!==!1&&k.push(E(En,{class:"q-dialog__progress"},()=>E(c.value.component,c.value.props))),e.message&&k.push(N("q-dialog__message",e.message)),e.prompt!==void 0?k.push(E(En,{class:"scroll q-dialog-plugin__form"},C)):e.options!==void 0&&k.push(E(Ks,{dark:r.value}),E(En,{class:"scroll q-dialog-plugin__form"},x),E(Ks,{dark:r.value})),(e.ok||e.cancel)&&k.push($()),k}function H(){return[E(Bg,{class:[l.value,e.cardClass],style:e.cardStyle,dark:r.value},v)]}return Object.assign(n,{show:M,hide:m}),()=>E(Lg,{ref:i,onHide:F},H)}});function ru(e,t){for(const n in t)n!=="spinner"&&Object(t[n])===t[n]?(e[n]=Object(e[n])!==e[n]?{}:{...e[n]},ru(e[n],t[n])):e[n]=t[n]}function mm(e,t,n){return o=>{let r,i;const s=t===!0&&o.component!==void 0;if(s===!0){const{component:m,componentProps:_}=o;r=typeof m=="string"?n.component(m):m,i=_||{}}else{const{class:m,style:_,...w}=o;r=e,i=w,m!==void 0&&(w.cardClass=m),_!==void 0&&(w.cardStyle=_)}let l,a=!1;const c=he(null),u=hi(!1,"dialog"),d=m=>{if(c.value!==null&&c.value[m]!==void 0){c.value[m]();return}const _=l.$.subTree;if(_&&_.component){if(_.component.proxy&&_.component.proxy[m]){_.component.proxy[m]();return}if(_.component.subTree&&_.component.subTree.component&&_.component.subTree.component.proxy&&_.component.subTree.component.proxy[m]){_.component.subTree.component.proxy[m]();return}}console.error("[Quasar] Incorrectly defined Dialog component")},f=[],p=[],y={onOk(m){return f.push(m),y},onCancel(m){return p.push(m),y},onDismiss(m){return f.push(m),p.push(m),y},hide(){return d("hide"),y},update(m){if(l!==null){if(s===!0)Object.assign(i,m);else{const{class:_,style:w,...F}=m;_!==void 0&&(F.cardClass=_),w!==void 0&&(F.cardStyle=w),ru(i,F)}l.$forceUpdate()}return y}},T=m=>{a=!0,f.forEach(_=>{_(m)})},q=()=>{M.unmount(u),Fa(u),M=null,l=null,a!==!0&&p.forEach(m=>{m()})};let M=ma({name:"QGlobalDialog",setup:()=>()=>E(r,{...i,ref:c,onOk:T,onHide:q,onVnodeMounted(...m){typeof i.onVnodeMounted=="function"&&i.onVnodeMounted(...m),je(()=>d("show"))}})},n);return l=M.mount(u),y}}var pm={install({$q:e,parentApp:t}){e.dialog=mm(gm,!0,t),this.__installed!==!0&&(this.create=e.dialog)}},vm={config:{staticPath:""},plugins:{Notify:ig,LocalStorage:Da,Dialog:pm}};async function bm({app:e,router:t}){e.use(t),e.mount("#q-app")}Ch(la,vm).then(bm);export{zn as $,Km as A,pn as B,ii as C,It as D,Lo as E,xc as F,Wl as G,Yl as H,sc as I,Fe as J,kh as K,we as L,Pt as M,Rm as N,Kf as O,Tr as P,Pm as Q,Et as R,ko as S,Hf as T,Uf as U,Ke as V,Vm as W,Be as X,za as Y,Ka as Z,dd as _,Wt as a,cm as a$,vo as a0,pg as a1,dg as a2,vg as a3,xg as a4,cn as a5,Yn as a6,Zn as a7,pt as a8,Eh as a9,jm as aA,rd as aB,Am as aC,da as aD,nr as aE,Ug as aF,Wg as aG,Yg as aH,Qg as aI,pi as aJ,Gg as aK,jr as aL,Fl as aM,ri as aN,im as aO,Lg as aP,_m as aQ,Cm as aR,Oh as aS,Jl as aT,ym as aU,Qc as aV,Xe as aW,En as aX,Ks as aY,km as aZ,sm as a_,Nh as aa,ua as ab,vc as ac,Fo as ad,Ll as ae,$h as af,Lh as ag,Un as ah,zh as ai,Kh as aj,$m as ak,Og as al,Hs as am,Ds as an,_g as ao,Mg as ap,mi as aq,Fh as ar,Zh as as,Kg as at,Im as au,Br as av,Aa as aw,Ma as ax,Fm as ay,Nm as az,gg as b,Em as b0,wm as b1,Bg as b2,zm as b3,Hm as b4,La as b5,id as b6,Fg as b7,hm as b8,Dm as b9,Bm as ba,xm as bb,ml as bc,Sm as bd,$a as be,qr as bf,Om as bg,Wr as bh,Ur as bi,Vt as bj,$e as c,Qt as d,fg as e,Mm as f,R as g,mg as h,ut as i,cg as j,We as k,Tm as l,Al as m,je as n,Ut as o,E as p,Lm as q,he as r,tt as s,ke as t,hg as u,Pg as v,be as w,fo as x,qm as y,qt as z}; +function Vr(e, t) { + const n = Object.create(null), + o = e.split(","); + for (let r = 0; r < o.length; r++) n[o[r]] = !0; + return t ? (r) => !!n[r.toLowerCase()] : (r) => !!n[r]; +} +const ve = {}, + nn = [], + nt = () => {}, + iu = () => !1, + su = /^on[^a-z]/, + To = (e) => su.test(e), + Dr = (e) => e.startsWith("onUpdate:"), + Ce = Object.assign, + Hr = (e, t) => { + const n = e.indexOf(t); + n > -1 && e.splice(n, 1); + }, + lu = Object.prototype.hasOwnProperty, + ce = (e, t) => lu.call(e, t), + te = Array.isArray, + on = (e) => Qn(e) === "[object Map]", + Gs = (e) => Qn(e) === "[object Set]", + au = (e) => Qn(e) === "[object RegExp]", + le = (e) => typeof e == "function", + xe = (e) => typeof e == "string", + zr = (e) => typeof e == "symbol", + ye = (e) => e !== null && typeof e == "object", + el = (e) => ye(e) && le(e.then) && le(e.catch), + tl = Object.prototype.toString, + Qn = (e) => tl.call(e), + uu = (e) => Qn(e).slice(8, -1), + nl = (e) => Qn(e) === "[object Object]", + Kr = (e) => + xe(e) && e !== "NaN" && e[0] !== "-" && "" + parseInt(e, 10) === e, + co = Vr( + ",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted" + ), + qo = (e) => { + const t = Object.create(null); + return (n) => t[n] || (t[n] = e(n)); + }, + cu = /-(\w)/g, + ct = qo((e) => e.replace(cu, (t, n) => (n ? n.toUpperCase() : ""))), + fu = /\B([A-Z])/g, + Kt = qo((e) => e.replace(fu, "-$1").toLowerCase()), + Ao = qo((e) => e.charAt(0).toUpperCase() + e.slice(1)), + Ko = qo((e) => (e ? `on${Ao(e)}` : "")), + Fn = (e, t) => !Object.is(e, t), + qn = (e, t) => { + for (let n = 0; n < e.length; n++) e[n](t); + }, + bo = (e, t, n) => { + Object.defineProperty(e, t, { configurable: !0, enumerable: !1, value: n }); + }, + du = (e) => { + const t = parseFloat(e); + return isNaN(t) ? e : t; + }, + hu = (e) => { + const t = xe(e) ? Number(e) : NaN; + return isNaN(t) ? e : t; + }; +let _i; +const mr = () => + _i || + (_i = + typeof globalThis != "undefined" + ? globalThis + : typeof self != "undefined" + ? self + : typeof window != "undefined" + ? window + : typeof global != "undefined" + ? global + : {}); +function Ur(e) { + if (te(e)) { + const t = {}; + for (let n = 0; n < e.length; n++) { + const o = e[n], + r = xe(o) ? vu(o) : Ur(o); + if (r) for (const i in r) t[i] = r[i]; + } + return t; + } else { + if (xe(e)) return e; + if (ye(e)) return e; + } +} +const gu = /;(?![^(]*\))/g, + mu = /:([^]+)/, + pu = /\/\*[^]*?\*\//g; +function vu(e) { + const t = {}; + return ( + e + .replace(pu, "") + .split(gu) + .forEach((n) => { + if (n) { + const o = n.split(mu); + o.length > 1 && (t[o[0].trim()] = o[1].trim()); + } + }), + t + ); +} +function Wr(e) { + let t = ""; + if (xe(e)) t = e; + else if (te(e)) + for (let n = 0; n < e.length; n++) { + const o = Wr(e[n]); + o && (t += o + " "); + } + else if (ye(e)) for (const n in e) e[n] && (t += n + " "); + return t.trim(); +} +const bu = + "itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly", + yu = Vr(bu); +function ol(e) { + return !!e || e === ""; +} +const ym = (e) => + xe(e) + ? e + : e == null + ? "" + : te(e) || (ye(e) && (e.toString === tl || !le(e.toString))) + ? JSON.stringify(e, rl, 2) + : String(e), + rl = (e, t) => + t && t.__v_isRef + ? rl(e, t.value) + : on(t) + ? { + [`Map(${t.size})`]: [...t.entries()].reduce( + (n, [o, r]) => ((n[`${o} =>`] = r), n), + {} + ), + } + : Gs(t) + ? { [`Set(${t.size})`]: [...t.values()] } + : ye(t) && !te(t) && !nl(t) + ? String(t) + : t; +let Ye; +class _u { + constructor(t = !1) { + (this.detached = t), + (this._active = !0), + (this.effects = []), + (this.cleanups = []), + (this.parent = Ye), + !t && Ye && (this.index = (Ye.scopes || (Ye.scopes = [])).push(this) - 1); + } + get active() { + return this._active; + } + run(t) { + if (this._active) { + const n = Ye; + try { + return (Ye = this), t(); + } finally { + Ye = n; + } + } + } + on() { + Ye = this; + } + off() { + Ye = this.parent; + } + stop(t) { + if (this._active) { + let n, o; + for (n = 0, o = this.effects.length; n < o; n++) this.effects[n].stop(); + for (n = 0, o = this.cleanups.length; n < o; n++) this.cleanups[n](); + if (this.scopes) + for (n = 0, o = this.scopes.length; n < o; n++) this.scopes[n].stop(!0); + if (!this.detached && this.parent && !t) { + const r = this.parent.scopes.pop(); + r && + r !== this && + ((this.parent.scopes[this.index] = r), (r.index = this.index)); + } + (this.parent = void 0), (this._active = !1); + } + } +} +function wu(e, t = Ye) { + t && t.active && t.effects.push(e); +} +function xu() { + return Ye; +} +const Qr = (e) => { + const t = new Set(e); + return (t.w = 0), (t.n = 0), t; + }, + il = (e) => (e.w & Tt) > 0, + sl = (e) => (e.n & Tt) > 0, + Cu = ({ deps: e }) => { + if (e.length) for (let t = 0; t < e.length; t++) e[t].w |= Tt; + }, + ku = (e) => { + const { deps: t } = e; + if (t.length) { + let n = 0; + for (let o = 0; o < t.length; o++) { + const r = t[o]; + il(r) && !sl(r) ? r.delete(e) : (t[n++] = r), + (r.w &= ~Tt), + (r.n &= ~Tt); + } + t.length = n; + } + }, + pr = new WeakMap(); +let Sn = 0, + Tt = 1; +const vr = 30; +let Ge; +const jt = Symbol(""), + br = Symbol(""); +class Yr { + constructor(t, n = null, o) { + (this.fn = t), + (this.scheduler = n), + (this.active = !0), + (this.deps = []), + (this.parent = void 0), + wu(this, o); + } + run() { + if (!this.active) return this.fn(); + let t = Ge, + n = St; + for (; t; ) { + if (t === this) return; + t = t.parent; + } + try { + return ( + (this.parent = Ge), + (Ge = this), + (St = !0), + (Tt = 1 << ++Sn), + Sn <= vr ? Cu(this) : wi(this), + this.fn() + ); + } finally { + Sn <= vr && ku(this), + (Tt = 1 << --Sn), + (Ge = this.parent), + (St = n), + (this.parent = void 0), + this.deferStop && this.stop(); + } + } + stop() { + Ge === this + ? (this.deferStop = !0) + : this.active && + (wi(this), this.onStop && this.onStop(), (this.active = !1)); + } +} +function wi(e) { + const { deps: t } = e; + if (t.length) { + for (let n = 0; n < t.length; n++) t[n].delete(e); + t.length = 0; + } +} +let St = !0; +const ll = []; +function gn() { + ll.push(St), (St = !1); +} +function mn() { + const e = ll.pop(); + St = e === void 0 ? !0 : e; +} +function Ie(e, t, n) { + if (St && Ge) { + let o = pr.get(e); + o || pr.set(e, (o = new Map())); + let r = o.get(n); + r || o.set(n, (r = Qr())), al(r); + } +} +function al(e, t) { + let n = !1; + Sn <= vr ? sl(e) || ((e.n |= Tt), (n = !il(e))) : (n = !e.has(Ge)), + n && (e.add(Ge), Ge.deps.push(e)); +} +function gt(e, t, n, o, r, i) { + const s = pr.get(e); + if (!s) return; + let l = []; + if (t === "clear") l = [...s.values()]; + else if (n === "length" && te(e)) { + const a = Number(o); + s.forEach((c, u) => { + (u === "length" || u >= a) && l.push(c); + }); + } else + switch ((n !== void 0 && l.push(s.get(n)), t)) { + case "add": + te(e) + ? Kr(n) && l.push(s.get("length")) + : (l.push(s.get(jt)), on(e) && l.push(s.get(br))); + break; + case "delete": + te(e) || (l.push(s.get(jt)), on(e) && l.push(s.get(br))); + break; + case "set": + on(e) && l.push(s.get(jt)); + break; + } + if (l.length === 1) l[0] && yr(l[0]); + else { + const a = []; + for (const c of l) c && a.push(...c); + yr(Qr(a)); + } +} +function yr(e, t) { + const n = te(e) ? e : [...e]; + for (const o of n) o.computed && xi(o); + for (const o of n) o.computed || xi(o); +} +function xi(e, t) { + (e !== Ge || e.allowRecurse) && (e.scheduler ? e.scheduler() : e.run()); +} +const Eu = Vr("__proto__,__v_isRef,__isVue"), + ul = new Set( + Object.getOwnPropertyNames(Symbol) + .filter((e) => e !== "arguments" && e !== "caller") + .map((e) => Symbol[e]) + .filter(zr) + ), + Su = Zr(), + Ru = Zr(!1, !0), + Pu = Zr(!0), + Ci = Tu(); +function Tu() { + const e = {}; + return ( + ["includes", "indexOf", "lastIndexOf"].forEach((t) => { + e[t] = function (...n) { + const o = ie(this); + for (let i = 0, s = this.length; i < s; i++) Ie(o, "get", i + ""); + const r = o[t](...n); + return r === -1 || r === !1 ? o[t](...n.map(ie)) : r; + }; + }), + ["push", "pop", "shift", "unshift", "splice"].forEach((t) => { + e[t] = function (...n) { + gn(); + const o = ie(this)[t].apply(this, n); + return mn(), o; + }; + }), + e + ); +} +function qu(e) { + const t = ie(this); + return Ie(t, "has", e), t.hasOwnProperty(e); +} +function Zr(e = !1, t = !1) { + return function (o, r, i) { + if (r === "__v_isReactive") return !e; + if (r === "__v_isReadonly") return e; + if (r === "__v_isShallow") return t; + if (r === "__v_raw" && i === (e ? (t ? Uu : gl) : t ? hl : dl).get(o)) + return o; + const s = te(o); + if (!e) { + if (s && ce(Ci, r)) return Reflect.get(Ci, r, i); + if (r === "hasOwnProperty") return qu; + } + const l = Reflect.get(o, r, i); + return (zr(r) ? ul.has(r) : Eu(r)) || (e || Ie(o, "get", r), t) + ? l + : Oe(l) + ? s && Kr(r) + ? l + : l.value + : ye(l) + ? e + ? pl(l) + : pn(l) + : l; + }; +} +const Au = cl(), + Mu = cl(!0); +function cl(e = !1) { + return function (n, o, r, i) { + let s = n[o]; + if (ln(s) && Oe(s) && !Oe(r)) return !1; + if ( + !e && + (!yo(r) && !ln(r) && ((s = ie(s)), (r = ie(r))), + !te(n) && Oe(s) && !Oe(r)) + ) + return (s.value = r), !0; + const l = te(n) && Kr(o) ? Number(o) < n.length : ce(n, o), + a = Reflect.set(n, o, r, i); + return ( + n === ie(i) && (l ? Fn(r, s) && gt(n, "set", o, r) : gt(n, "add", o, r)), + a + ); + }; +} +function Ou(e, t) { + const n = ce(e, t); + e[t]; + const o = Reflect.deleteProperty(e, t); + return o && n && gt(e, "delete", t, void 0), o; +} +function $u(e, t) { + const n = Reflect.has(e, t); + return (!zr(t) || !ul.has(t)) && Ie(e, "has", t), n; +} +function Lu(e) { + return Ie(e, "iterate", te(e) ? "length" : jt), Reflect.ownKeys(e); +} +const fl = { get: Su, set: Au, deleteProperty: Ou, has: $u, ownKeys: Lu }, + Bu = { + get: Pu, + set(e, t) { + return !0; + }, + deleteProperty(e, t) { + return !0; + }, + }, + Fu = Ce({}, fl, { get: Ru, set: Mu }), + Jr = (e) => e, + Mo = (e) => Reflect.getPrototypeOf(e); +function Jn(e, t, n = !1, o = !1) { + e = e.__v_raw; + const r = ie(e), + i = ie(t); + n || (t !== i && Ie(r, "get", t), Ie(r, "get", i)); + const { has: s } = Mo(r), + l = o ? Jr : n ? ei : In; + if (s.call(r, t)) return l(e.get(t)); + if (s.call(r, i)) return l(e.get(i)); + e !== r && e.get(t); +} +function Xn(e, t = !1) { + const n = this.__v_raw, + o = ie(n), + r = ie(e); + return ( + t || (e !== r && Ie(o, "has", e), Ie(o, "has", r)), + e === r ? n.has(e) : n.has(e) || n.has(r) + ); +} +function Gn(e, t = !1) { + return ( + (e = e.__v_raw), !t && Ie(ie(e), "iterate", jt), Reflect.get(e, "size", e) + ); +} +function ki(e) { + e = ie(e); + const t = ie(this); + return Mo(t).has.call(t, e) || (t.add(e), gt(t, "add", e, e)), this; +} +function Ei(e, t) { + t = ie(t); + const n = ie(this), + { has: o, get: r } = Mo(n); + let i = o.call(n, e); + i || ((e = ie(e)), (i = o.call(n, e))); + const s = r.call(n, e); + return ( + n.set(e, t), i ? Fn(t, s) && gt(n, "set", e, t) : gt(n, "add", e, t), this + ); +} +function Si(e) { + const t = ie(this), + { has: n, get: o } = Mo(t); + let r = n.call(t, e); + r || ((e = ie(e)), (r = n.call(t, e))), o && o.call(t, e); + const i = t.delete(e); + return r && gt(t, "delete", e, void 0), i; +} +function Ri() { + const e = ie(this), + t = e.size !== 0, + n = e.clear(); + return t && gt(e, "clear", void 0, void 0), n; +} +function eo(e, t) { + return function (o, r) { + const i = this, + s = i.__v_raw, + l = ie(s), + a = t ? Jr : e ? ei : In; + return ( + !e && Ie(l, "iterate", jt), s.forEach((c, u) => o.call(r, a(c), a(u), i)) + ); + }; +} +function to(e, t, n) { + return function (...o) { + const r = this.__v_raw, + i = ie(r), + s = on(i), + l = e === "entries" || (e === Symbol.iterator && s), + a = e === "keys" && s, + c = r[e](...o), + u = n ? Jr : t ? ei : In; + return ( + !t && Ie(i, "iterate", a ? br : jt), + { + next() { + const { value: d, done: f } = c.next(); + return f + ? { value: d, done: f } + : { value: l ? [u(d[0]), u(d[1])] : u(d), done: f }; + }, + [Symbol.iterator]() { + return this; + }, + } + ); + }; +} +function bt(e) { + return function (...t) { + return e === "delete" ? !1 : this; + }; +} +function Iu() { + const e = { + get(i) { + return Jn(this, i); + }, + get size() { + return Gn(this); + }, + has: Xn, + add: ki, + set: Ei, + delete: Si, + clear: Ri, + forEach: eo(!1, !1), + }, + t = { + get(i) { + return Jn(this, i, !1, !0); + }, + get size() { + return Gn(this); + }, + has: Xn, + add: ki, + set: Ei, + delete: Si, + clear: Ri, + forEach: eo(!1, !0), + }, + n = { + get(i) { + return Jn(this, i, !0); + }, + get size() { + return Gn(this, !0); + }, + has(i) { + return Xn.call(this, i, !0); + }, + add: bt("add"), + set: bt("set"), + delete: bt("delete"), + clear: bt("clear"), + forEach: eo(!0, !1), + }, + o = { + get(i) { + return Jn(this, i, !0, !0); + }, + get size() { + return Gn(this, !0); + }, + has(i) { + return Xn.call(this, i, !0); + }, + add: bt("add"), + set: bt("set"), + delete: bt("delete"), + clear: bt("clear"), + forEach: eo(!0, !0), + }; + return ( + ["keys", "values", "entries", Symbol.iterator].forEach((i) => { + (e[i] = to(i, !1, !1)), + (n[i] = to(i, !0, !1)), + (t[i] = to(i, !1, !0)), + (o[i] = to(i, !0, !0)); + }), + [e, n, t, o] + ); +} +const [Nu, ju, Vu, Du] = Iu(); +function Xr(e, t) { + const n = t ? (e ? Du : Vu) : e ? ju : Nu; + return (o, r, i) => + r === "__v_isReactive" + ? !e + : r === "__v_isReadonly" + ? e + : r === "__v_raw" + ? o + : Reflect.get(ce(n, r) && r in o ? n : o, r, i); +} +const Hu = { get: Xr(!1, !1) }, + zu = { get: Xr(!1, !0) }, + Ku = { get: Xr(!0, !1) }, + dl = new WeakMap(), + hl = new WeakMap(), + gl = new WeakMap(), + Uu = new WeakMap(); +function Wu(e) { + switch (e) { + case "Object": + case "Array": + return 1; + case "Map": + case "Set": + case "WeakMap": + case "WeakSet": + return 2; + default: + return 0; + } +} +function Qu(e) { + return e.__v_skip || !Object.isExtensible(e) ? 0 : Wu(uu(e)); +} +function pn(e) { + return ln(e) ? e : Gr(e, !1, fl, Hu, dl); +} +function ml(e) { + return Gr(e, !1, Fu, zu, hl); +} +function pl(e) { + return Gr(e, !0, Bu, Ku, gl); +} +function Gr(e, t, n, o, r) { + if (!ye(e) || (e.__v_raw && !(t && e.__v_isReactive))) return e; + const i = r.get(e); + if (i) return i; + const s = Qu(e); + if (s === 0) return e; + const l = new Proxy(e, s === 2 ? o : n); + return r.set(e, l), l; +} +function rn(e) { + return ln(e) ? rn(e.__v_raw) : !!(e && e.__v_isReactive); +} +function ln(e) { + return !!(e && e.__v_isReadonly); +} +function yo(e) { + return !!(e && e.__v_isShallow); +} +function vl(e) { + return rn(e) || ln(e); +} +function ie(e) { + const t = e && e.__v_raw; + return t ? ie(t) : e; +} +function vn(e) { + return bo(e, "__v_skip", !0), e; +} +const In = (e) => (ye(e) ? pn(e) : e), + ei = (e) => (ye(e) ? pl(e) : e); +function bl(e) { + St && Ge && ((e = ie(e)), al(e.dep || (e.dep = Qr()))); +} +function yl(e, t) { + e = ie(e); + const n = e.dep; + n && yr(n); +} +function Oe(e) { + return !!(e && e.__v_isRef === !0); +} +function he(e) { + return _l(e, !1); +} +function Yu(e) { + return _l(e, !0); +} +function _l(e, t) { + return Oe(e) ? e : new Zu(e, t); +} +class Zu { + constructor(t, n) { + (this.__v_isShallow = n), + (this.dep = void 0), + (this.__v_isRef = !0), + (this._rawValue = n ? t : ie(t)), + (this._value = n ? t : In(t)); + } + get value() { + return bl(this), this._value; + } + set value(t) { + const n = this.__v_isShallow || yo(t) || ln(t); + (t = n ? t : ie(t)), + Fn(t, this._rawValue) && + ((this._rawValue = t), (this._value = n ? t : In(t)), yl(this)); + } +} +function Vt(e) { + return Oe(e) ? e.value : e; +} +const Ju = { + get: (e, t, n) => Vt(Reflect.get(e, t, n)), + set: (e, t, n, o) => { + const r = e[t]; + return Oe(r) && !Oe(n) ? ((r.value = n), !0) : Reflect.set(e, t, n, o); + }, +}; +function wl(e) { + return rn(e) ? e : new Proxy(e, Ju); +} +class Xu { + constructor(t, n, o, r) { + (this._setter = n), + (this.dep = void 0), + (this.__v_isRef = !0), + (this.__v_isReadonly = !1), + (this._dirty = !0), + (this.effect = new Yr(t, () => { + this._dirty || ((this._dirty = !0), yl(this)); + })), + (this.effect.computed = this), + (this.effect.active = this._cacheable = !r), + (this.__v_isReadonly = o); + } + get value() { + const t = ie(this); + return ( + bl(t), + (t._dirty || !t._cacheable) && + ((t._dirty = !1), (t._value = t.effect.run())), + t._value + ); + } + set value(t) { + this._setter(t); + } +} +function Gu(e, t, n = !1) { + let o, r; + const i = le(e); + return ( + i ? ((o = e), (r = nt)) : ((o = e.get), (r = e.set)), + new Xu(o, r, i || !r, n) + ); +} +function Rt(e, t, n, o) { + let r; + try { + r = o ? e(...o) : e(); + } catch (i) { + Oo(i, t, n); + } + return r; +} +function Ue(e, t, n, o) { + if (le(e)) { + const i = Rt(e, t, n, o); + return ( + i && + el(i) && + i.catch((s) => { + Oo(s, t, n); + }), + i + ); + } + const r = []; + for (let i = 0; i < e.length; i++) r.push(Ue(e[i], t, n, o)); + return r; +} +function Oo(e, t, n, o = !0) { + const r = t ? t.vnode : null; + if (t) { + let i = t.parent; + const s = t.proxy, + l = n; + for (; i; ) { + const c = i.ec; + if (c) { + for (let u = 0; u < c.length; u++) if (c[u](e, s, l) === !1) return; + } + i = i.parent; + } + const a = t.appContext.config.errorHandler; + if (a) { + Rt(a, null, 10, [e, s, l]); + return; + } + } + ec(e, n, r, o); +} +function ec(e, t, n, o = !0) { + console.error(e); +} +let Nn = !1, + _r = !1; +const Me = []; +let lt = 0; +const sn = []; +let ht = null, + Lt = 0; +const xl = Promise.resolve(); +let ti = null; +function je(e) { + const t = ti || xl; + return e ? t.then(this ? e.bind(this) : e) : t; +} +function tc(e) { + let t = lt + 1, + n = Me.length; + for (; t < n; ) { + const o = (t + n) >>> 1; + jn(Me[o]) < e ? (t = o + 1) : (n = o); + } + return t; +} +function ni(e) { + (!Me.length || !Me.includes(e, Nn && e.allowRecurse ? lt + 1 : lt)) && + (e.id == null ? Me.push(e) : Me.splice(tc(e.id), 0, e), Cl()); +} +function Cl() { + !Nn && !_r && ((_r = !0), (ti = xl.then(El))); +} +function nc(e) { + const t = Me.indexOf(e); + t > lt && Me.splice(t, 1); +} +function oc(e) { + te(e) + ? sn.push(...e) + : (!ht || !ht.includes(e, e.allowRecurse ? Lt + 1 : Lt)) && sn.push(e), + Cl(); +} +function Pi(e, t = Nn ? lt + 1 : 0) { + for (; t < Me.length; t++) { + const n = Me[t]; + n && n.pre && (Me.splice(t, 1), t--, n()); + } +} +function kl(e) { + if (sn.length) { + const t = [...new Set(sn)]; + if (((sn.length = 0), ht)) { + ht.push(...t); + return; + } + for (ht = t, ht.sort((n, o) => jn(n) - jn(o)), Lt = 0; Lt < ht.length; Lt++) + ht[Lt](); + (ht = null), (Lt = 0); + } +} +const jn = (e) => (e.id == null ? 1 / 0 : e.id), + rc = (e, t) => { + const n = jn(e) - jn(t); + if (n === 0) { + if (e.pre && !t.pre) return -1; + if (t.pre && !e.pre) return 1; + } + return n; + }; +function El(e) { + (_r = !1), (Nn = !0), Me.sort(rc); + const t = nt; + try { + for (lt = 0; lt < Me.length; lt++) { + const n = Me[lt]; + n && n.active !== !1 && Rt(n, null, 14); + } + } finally { + (lt = 0), + (Me.length = 0), + kl(), + (Nn = !1), + (ti = null), + (Me.length || sn.length) && El(); + } +} +function ic(e, t, ...n) { + if (e.isUnmounted) return; + const o = e.vnode.props || ve; + let r = n; + const i = t.startsWith("update:"), + s = i && t.slice(7); + if (s && s in o) { + const u = `${s === "modelValue" ? "model" : s}Modifiers`, + { number: d, trim: f } = o[u] || ve; + f && (r = n.map((p) => (xe(p) ? p.trim() : p))), d && (r = n.map(du)); + } + let l, + a = o[(l = Ko(t))] || o[(l = Ko(ct(t)))]; + !a && i && (a = o[(l = Ko(Kt(t)))]), a && Ue(a, e, 6, r); + const c = o[l + "Once"]; + if (c) { + if (!e.emitted) e.emitted = {}; + else if (e.emitted[l]) return; + (e.emitted[l] = !0), Ue(c, e, 6, r); + } +} +function Sl(e, t, n = !1) { + const o = t.emitsCache, + r = o.get(e); + if (r !== void 0) return r; + const i = e.emits; + let s = {}, + l = !1; + if (!le(e)) { + const a = (c) => { + const u = Sl(c, t, !0); + u && ((l = !0), Ce(s, u)); + }; + !n && t.mixins.length && t.mixins.forEach(a), + e.extends && a(e.extends), + e.mixins && e.mixins.forEach(a); + } + return !i && !l + ? (ye(e) && o.set(e, null), null) + : (te(i) ? i.forEach((a) => (s[a] = null)) : Ce(s, i), + ye(e) && o.set(e, s), + s); +} +function $o(e, t) { + return !e || !To(t) + ? !1 + : ((t = t.slice(2).replace(/Once$/, "")), + ce(e, t[0].toLowerCase() + t.slice(1)) || ce(e, Kt(t)) || ce(e, t)); +} +let Ve = null, + Rl = null; +function _o(e) { + const t = Ve; + return (Ve = e), (Rl = (e && e.type.__scopeId) || null), t; +} +function sc(e, t = Ve, n) { + if (!t || e._n) return e; + const o = (...r) => { + o._d && Vi(-1); + const i = _o(t); + let s; + try { + s = e(...r); + } finally { + _o(i), o._d && Vi(1); + } + return s; + }; + return (o._n = !0), (o._c = !0), (o._d = !0), o; +} +function Uo(e) { + const { + type: t, + vnode: n, + proxy: o, + withProxy: r, + props: i, + propsOptions: [s], + slots: l, + attrs: a, + emit: c, + render: u, + renderCache: d, + data: f, + setupState: p, + ctx: y, + inheritAttrs: T, + } = e; + let q, M; + const m = _o(e); + try { + if (n.shapeFlag & 4) { + const w = r || o; + (q = st(u.call(w, w, d, i, p, f, y))), (M = a); + } else { + const w = t; + (q = st( + w.length > 1 ? w(i, { attrs: a, slots: l, emit: c }) : w(i, null) + )), + (M = t.props ? a : lc(a)); + } + } catch (w) { + ($n.length = 0), Oo(w, e, 1), (q = Fe(ot)); + } + let _ = q; + if (M && T !== !1) { + const w = Object.keys(M), + { shapeFlag: F } = _; + w.length && F & 7 && (s && w.some(Dr) && (M = ac(M, s)), (_ = mt(_, M))); + } + return ( + n.dirs && ((_ = mt(_)), (_.dirs = _.dirs ? _.dirs.concat(n.dirs) : n.dirs)), + n.transition && (_.transition = n.transition), + (q = _), + _o(m), + q + ); +} +const lc = (e) => { + let t; + for (const n in e) + (n === "class" || n === "style" || To(n)) && ((t || (t = {}))[n] = e[n]); + return t; + }, + ac = (e, t) => { + const n = {}; + for (const o in e) (!Dr(o) || !(o.slice(9) in t)) && (n[o] = e[o]); + return n; + }; +function uc(e, t, n) { + const { props: o, children: r, component: i } = e, + { props: s, children: l, patchFlag: a } = t, + c = i.emitsOptions; + if (t.dirs || t.transition) return !0; + if (n && a >= 0) { + if (a & 1024) return !0; + if (a & 16) return o ? Ti(o, s, c) : !!s; + if (a & 8) { + const u = t.dynamicProps; + for (let d = 0; d < u.length; d++) { + const f = u[d]; + if (s[f] !== o[f] && !$o(c, f)) return !0; + } + } + } else + return (r || l) && (!l || !l.$stable) + ? !0 + : o === s + ? !1 + : o + ? s + ? Ti(o, s, c) + : !0 + : !!s; + return !1; +} +function Ti(e, t, n) { + const o = Object.keys(t); + if (o.length !== Object.keys(e).length) return !0; + for (let r = 0; r < o.length; r++) { + const i = o[r]; + if (t[i] !== e[i] && !$o(n, i)) return !0; + } + return !1; +} +function cc({ vnode: e, parent: t }, n) { + for (; t && t.subTree === e; ) ((e = t.vnode).el = n), (t = t.parent); +} +const Pl = (e) => e.__isSuspense; +function fc(e, t) { + t && t.pendingBranch + ? te(e) + ? t.effects.push(...e) + : t.effects.push(e) + : oc(e); +} +const no = {}; +function be(e, t, n) { + return Tl(e, t, n); +} +function Tl( + e, + t, + { immediate: n, deep: o, flush: r, onTrack: i, onTrigger: s } = ve +) { + var l; + const a = xu() === ((l = Pe) == null ? void 0 : l.scope) ? Pe : null; + let c, + u = !1, + d = !1; + if ( + (Oe(e) + ? ((c = () => e.value), (u = yo(e))) + : rn(e) + ? ((c = () => e), (o = !0)) + : te(e) + ? ((d = !0), + (u = e.some((w) => rn(w) || yo(w))), + (c = () => + e.map((w) => { + if (Oe(w)) return w.value; + if (rn(w)) return Ft(w); + if (le(w)) return Rt(w, a, 2); + }))) + : le(e) + ? t + ? (c = () => Rt(e, a, 2)) + : (c = () => { + if (!(a && a.isUnmounted)) return f && f(), Ue(e, a, 3, [p]); + }) + : (c = nt), + t && o) + ) { + const w = c; + c = () => Ft(w()); + } + let f, + p = (w) => { + f = m.onStop = () => { + Rt(w, a, 4); + }; + }, + y; + if (Hn) + if ( + ((p = nt), + t ? n && Ue(t, a, 3, [c(), d ? [] : void 0, p]) : c(), + r === "sync") + ) { + const w = sf(); + y = w.__watcherHandles || (w.__watcherHandles = []); + } else return nt; + let T = d ? new Array(e.length).fill(no) : no; + const q = () => { + if (!!m.active) + if (t) { + const w = m.run(); + (o || u || (d ? w.some((F, j) => Fn(F, T[j])) : Fn(w, T))) && + (f && f(), + Ue(t, a, 3, [w, T === no ? void 0 : d && T[0] === no ? [] : T, p]), + (T = w)); + } else m.run(); + }; + q.allowRecurse = !!t; + let M; + r === "sync" + ? (M = q) + : r === "post" + ? (M = () => qe(q, a && a.suspense)) + : ((q.pre = !0), a && (q.id = a.uid), (M = () => ni(q))); + const m = new Yr(c, M); + t + ? n + ? q() + : (T = m.run()) + : r === "post" + ? qe(m.run.bind(m), a && a.suspense) + : m.run(); + const _ = () => { + m.stop(), a && a.scope && Hr(a.scope.effects, m); + }; + return y && y.push(_), _; +} +function dc(e, t, n) { + const o = this.proxy, + r = xe(e) ? (e.includes(".") ? ql(o, e) : () => o[e]) : e.bind(o, o); + let i; + le(t) ? (i = t) : ((i = t.handler), (n = t)); + const s = Pe; + un(this); + const l = Tl(r, i.bind(o), n); + return s ? un(s) : Dt(), l; +} +function ql(e, t) { + const n = t.split("."); + return () => { + let o = e; + for (let r = 0; r < n.length && o; r++) o = o[n[r]]; + return o; + }; +} +function Ft(e, t) { + if (!ye(e) || e.__v_skip || ((t = t || new Set()), t.has(e))) return e; + if ((t.add(e), Oe(e))) Ft(e.value, t); + else if (te(e)) for (let n = 0; n < e.length; n++) Ft(e[n], t); + else if (Gs(e) || on(e)) + e.forEach((n) => { + Ft(n, t); + }); + else if (nl(e)) for (const n in e) Ft(e[n], t); + return e; +} +function Al(e, t) { + const n = Ve; + if (n === null) return e; + const o = Vo(n) || n.proxy, + r = e.dirs || (e.dirs = []); + for (let i = 0; i < t.length; i++) { + let [s, l, a, c = ve] = t[i]; + s && + (le(s) && (s = { mounted: s, updated: s }), + s.deep && Ft(l), + r.push({ + dir: s, + instance: o, + value: l, + oldValue: void 0, + arg: a, + modifiers: c, + })); + } + return e; +} +function At(e, t, n, o) { + const r = e.dirs, + i = t && t.dirs; + for (let s = 0; s < r.length; s++) { + const l = r[s]; + i && (l.oldValue = i[s].value); + let a = l.dir[o]; + a && (gn(), Ue(a, n, 8, [e.el, l, e, t]), mn()); + } +} +function Ml() { + const e = { + isMounted: !1, + isLeaving: !1, + isUnmounting: !1, + leavingVNodes: new Map(), + }; + return ( + Ut(() => { + e.isMounted = !0; + }), + We(() => { + e.isUnmounting = !0; + }), + e + ); +} +const De = [Function, Array], + Ol = { + mode: String, + appear: Boolean, + persisted: Boolean, + onBeforeEnter: De, + onEnter: De, + onAfterEnter: De, + onEnterCancelled: De, + onBeforeLeave: De, + onLeave: De, + onAfterLeave: De, + onLeaveCancelled: De, + onBeforeAppear: De, + onAppear: De, + onAfterAppear: De, + onAppearCancelled: De, + }, + hc = { + name: "BaseTransition", + props: Ol, + setup(e, { slots: t }) { + const n = ke(), + o = Ml(); + let r; + return () => { + const i = t.default && oi(t.default(), !0); + if (!i || !i.length) return; + let s = i[0]; + if (i.length > 1) { + for (const T of i) + if (T.type !== ot) { + s = T; + break; + } + } + const l = ie(e), + { mode: a } = l; + if (o.isLeaving) return Wo(s); + const c = qi(s); + if (!c) return Wo(s); + const u = Vn(c, l, o, n); + an(c, u); + const d = n.subTree, + f = d && qi(d); + let p = !1; + const { getTransitionKey: y } = c.type; + if (y) { + const T = y(); + r === void 0 ? (r = T) : T !== r && ((r = T), (p = !0)); + } + if (f && f.type !== ot && (!kt(c, f) || p)) { + const T = Vn(f, l, o, n); + if ((an(f, T), a === "out-in")) + return ( + (o.isLeaving = !0), + (T.afterLeave = () => { + (o.isLeaving = !1), n.update.active !== !1 && n.update(); + }), + Wo(s) + ); + a === "in-out" && + c.type !== ot && + (T.delayLeave = (q, M, m) => { + const _ = $l(o, f); + (_[String(f.key)] = f), + (q._leaveCb = () => { + M(), (q._leaveCb = void 0), delete u.delayedLeave; + }), + (u.delayedLeave = m); + }); + } + return s; + }; + }, + }, + gc = hc; +function $l(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 Vn(e, t, n, o) { + const { + appear: r, + mode: i, + persisted: s = !1, + onBeforeEnter: l, + onEnter: a, + onAfterEnter: c, + onEnterCancelled: u, + onBeforeLeave: d, + onLeave: f, + onAfterLeave: p, + onLeaveCancelled: y, + onBeforeAppear: T, + onAppear: q, + onAfterAppear: M, + onAppearCancelled: m, + } = t, + _ = String(e.key), + w = $l(n, e), + F = (N, C) => { + N && Ue(N, o, 9, C); + }, + j = (N, C) => { + const x = C[1]; + F(N, C), + te(N) ? N.every(($) => $.length <= 1) && x() : N.length <= 1 && x(); + }, + V = { + mode: i, + persisted: s, + beforeEnter(N) { + let C = l; + if (!n.isMounted) + if (r) C = T || l; + else return; + N._leaveCb && N._leaveCb(!0); + const x = w[_]; + x && kt(e, x) && x.el._leaveCb && x.el._leaveCb(), F(C, [N]); + }, + enter(N) { + let C = a, + x = c, + $ = u; + if (!n.isMounted) + if (r) (C = q || a), (x = M || c), ($ = m || u); + else return; + let v = !1; + const H = (N._enterCb = (k) => { + v || + ((v = !0), + k ? F($, [N]) : F(x, [N]), + V.delayedLeave && V.delayedLeave(), + (N._enterCb = void 0)); + }); + C ? j(C, [N, H]) : H(); + }, + leave(N, C) { + const x = String(e.key); + if ((N._enterCb && N._enterCb(!0), n.isUnmounting)) return C(); + F(d, [N]); + let $ = !1; + const v = (N._leaveCb = (H) => { + $ || + (($ = !0), + C(), + H ? F(y, [N]) : F(p, [N]), + (N._leaveCb = void 0), + w[x] === e && delete w[x]); + }); + (w[x] = e), f ? j(f, [N, v]) : v(); + }, + clone(N) { + return Vn(N, t, n, o); + }, + }; + return V; +} +function Wo(e) { + if (Bo(e)) return (e = mt(e)), (e.children = null), e; +} +function qi(e) { + return Bo(e) ? (e.children ? e.children[0] : void 0) : e; +} +function an(e, t) { + e.shapeFlag & 6 && e.component + ? an(e.component.subTree, t) + : e.shapeFlag & 128 + ? ((e.ssContent.transition = t.clone(e.ssContent)), + (e.ssFallback.transition = t.clone(e.ssFallback))) + : (e.transition = t); +} +function oi(e, t = !1, n) { + let o = [], + r = 0; + for (let i = 0; i < e.length; i++) { + let s = e[i]; + const l = n == null ? s.key : String(n) + String(s.key != null ? s.key : i); + s.type === Xe + ? (s.patchFlag & 128 && r++, (o = o.concat(oi(s.children, t, l)))) + : (t || s.type !== ot) && o.push(l != null ? mt(s, { key: l }) : s); + } + if (r > 1) for (let i = 0; i < o.length; i++) o[i].patchFlag = -2; + return o; +} +function Lo(e, t) { + return le(e) ? (() => Ce({ name: e.name }, t, { setup: e }))() : e; +} +const An = (e) => !!e.type.__asyncLoader, + Bo = (e) => e.type.__isKeepAlive, + mc = { + name: "KeepAlive", + __isKeepAlive: !0, + props: { + include: [String, RegExp, Array], + exclude: [String, RegExp, Array], + max: [String, Number], + }, + setup(e, { slots: t }) { + const n = ke(), + o = n.ctx; + if (!o.renderer) + return () => { + const m = t.default && t.default(); + return m && m.length === 1 ? m[0] : m; + }; + const r = new Map(), + i = new Set(); + let s = null; + const l = n.suspense, + { + renderer: { + p: a, + m: c, + um: u, + o: { createElement: d }, + }, + } = o, + f = d("div"); + (o.activate = (m, _, w, F, j) => { + const V = m.component; + c(m, _, w, 0, l), + a(V.vnode, m, _, w, V, l, F, m.slotScopeIds, j), + qe(() => { + (V.isDeactivated = !1), V.a && qn(V.a); + const N = m.props && m.props.onVnodeMounted; + N && ze(N, V.parent, m); + }, l); + }), + (o.deactivate = (m) => { + const _ = m.component; + c(m, f, null, 1, l), + qe(() => { + _.da && qn(_.da); + const w = m.props && m.props.onVnodeUnmounted; + w && ze(w, _.parent, m), (_.isDeactivated = !0); + }, l); + }); + function p(m) { + Qo(m), u(m, n, l, !0); + } + function y(m) { + r.forEach((_, w) => { + const F = Rr(_.type); + F && (!m || !m(F)) && T(w); + }); + } + function T(m) { + const _ = r.get(m); + !s || !kt(_, s) ? p(_) : s && Qo(s), r.delete(m), i.delete(m); + } + be( + () => [e.include, e.exclude], + ([m, _]) => { + m && y((w) => Rn(m, w)), _ && y((w) => !Rn(_, w)); + }, + { flush: "post", deep: !0 } + ); + let q = null; + const M = () => { + q != null && r.set(q, Yo(n.subTree)); + }; + return ( + Ut(M), + ri(M), + We(() => { + r.forEach((m) => { + const { subTree: _, suspense: w } = n, + F = Yo(_); + if (m.type === F.type && m.key === F.key) { + Qo(F); + const j = F.component.da; + j && qe(j, w); + return; + } + p(m); + }); + }), + () => { + if (((q = null), !t.default)) return null; + const m = t.default(), + _ = m[0]; + if (m.length > 1) return (s = null), m; + if (!Co(_) || (!(_.shapeFlag & 4) && !(_.shapeFlag & 128))) + return (s = null), _; + let w = Yo(_); + const F = w.type, + j = Rr(An(w) ? w.type.__asyncResolved || {} : F), + { include: V, exclude: N, max: C } = e; + if ((V && (!j || !Rn(V, j))) || (N && j && Rn(N, j))) + return (s = w), _; + const x = w.key == null ? F : w.key, + $ = r.get(x); + return ( + w.el && ((w = mt(w)), _.shapeFlag & 128 && (_.ssContent = w)), + (q = x), + $ + ? ((w.el = $.el), + (w.component = $.component), + w.transition && an(w, w.transition), + (w.shapeFlag |= 512), + i.delete(x), + i.add(x)) + : (i.add(x), + C && i.size > parseInt(C, 10) && T(i.values().next().value)), + (w.shapeFlag |= 256), + (s = w), + Pl(_.type) ? _ : w + ); + } + ); + }, + }, + _m = mc; +function Rn(e, t) { + return te(e) + ? e.some((n) => Rn(n, t)) + : xe(e) + ? e.split(",").includes(t) + : au(e) + ? e.test(t) + : !1; +} +function Ll(e, t) { + Bl(e, "a", t); +} +function Fo(e, t) { + Bl(e, "da", t); +} +function Bl(e, t, n = Pe) { + const o = + e.__wdc || + (e.__wdc = () => { + let r = n; + for (; r; ) { + if (r.isDeactivated) return; + r = r.parent; + } + return e(); + }); + if ((Io(t, o, n), n)) { + let r = n.parent; + for (; r && r.parent; ) + Bo(r.parent.vnode) && pc(o, t, n, r), (r = r.parent); + } +} +function pc(e, t, n, o) { + const r = Io(t, e, o, !0); + ii(() => { + Hr(o[t], r); + }, n); +} +function Qo(e) { + (e.shapeFlag &= -257), (e.shapeFlag &= -513); +} +function Yo(e) { + return e.shapeFlag & 128 ? e.ssContent : e; +} +function Io(e, t, n = Pe, o = !1) { + if (n) { + const r = n[e] || (n[e] = []), + i = + t.__weh || + (t.__weh = (...s) => { + if (n.isUnmounted) return; + gn(), un(n); + const l = Ue(t, n, e, s); + return Dt(), mn(), l; + }); + return o ? r.unshift(i) : r.push(i), i; + } +} +const vt = + (e) => + (t, n = Pe) => + (!Hn || e === "sp") && Io(e, (...o) => t(...o), n), + vc = vt("bm"), + Ut = vt("m"), + Fl = vt("bu"), + ri = vt("u"), + We = vt("bum"), + ii = vt("um"), + bc = vt("sp"), + yc = vt("rtg"), + _c = vt("rtc"); +function wc(e, t = Pe) { + Io("ec", e, t); +} +const Il = "components"; +function xc(e, t) { + return kc(Il, e, !0, t) || e; +} +const Cc = Symbol.for("v-ndc"); +function kc(e, t, n = !0, o = !1) { + const r = Ve || Pe; + if (r) { + const i = r.type; + if (e === Il) { + const l = Rr(i, !1); + if (l && (l === t || l === ct(t) || l === Ao(ct(t)))) return i; + } + const s = Ai(r[e] || i[e], t) || Ai(r.appContext[e], t); + return !s && o ? i : s; + } +} +function Ai(e, t) { + return e && (e[t] || e[ct(t)] || e[Ao(ct(t))]); +} +function wm(e, t, n, o) { + let r; + const i = n && n[o]; + if (te(e) || xe(e)) { + r = new Array(e.length); + for (let s = 0, l = e.length; s < l; s++) + r[s] = t(e[s], s, void 0, i && i[s]); + } else if (typeof e == "number") { + r = new Array(e); + for (let s = 0; s < e; s++) r[s] = t(s + 1, s, void 0, i && i[s]); + } else if (ye(e)) + if (e[Symbol.iterator]) + r = Array.from(e, (s, l) => t(s, l, void 0, i && i[l])); + else { + const s = Object.keys(e); + r = new Array(s.length); + for (let l = 0, a = s.length; l < a; l++) { + const c = s[l]; + r[l] = t(e[c], c, l, i && i[l]); + } + } + else r = []; + return n && (n[o] = r), r; +} +function xm(e, t) { + for (let n = 0; n < t.length; n++) { + const o = t[n]; + if (te(o)) for (let r = 0; r < o.length; r++) e[o[r].name] = o[r].fn; + else + o && + (e[o.name] = o.key + ? (...r) => { + const i = o.fn(...r); + return i && (i.key = o.key), i; + } + : o.fn); + } + return e; +} +const wr = (e) => (e ? (Xl(e) ? Vo(e) || e.proxy : wr(e.parent)) : null), + Mn = Ce(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) => wr(e.parent), + $root: (e) => wr(e.root), + $emit: (e) => e.emit, + $options: (e) => si(e), + $forceUpdate: (e) => e.f || (e.f = () => ni(e.update)), + $nextTick: (e) => e.n || (e.n = je.bind(e.proxy)), + $watch: (e) => dc.bind(e), + }), + Zo = (e, t) => e !== ve && !e.__isScriptSetup && ce(e, t), + Ec = { + get({ _: e }, t) { + const { + ctx: n, + setupState: o, + data: r, + props: i, + accessCache: s, + type: l, + appContext: a, + } = e; + let c; + if (t[0] !== "$") { + const p = s[t]; + if (p !== void 0) + switch (p) { + case 1: + return o[t]; + case 2: + return r[t]; + case 4: + return n[t]; + case 3: + return i[t]; + } + else { + if (Zo(o, t)) return (s[t] = 1), o[t]; + if (r !== ve && ce(r, t)) return (s[t] = 2), r[t]; + if ((c = e.propsOptions[0]) && ce(c, t)) return (s[t] = 3), i[t]; + if (n !== ve && ce(n, t)) return (s[t] = 4), n[t]; + xr && (s[t] = 0); + } + } + const u = Mn[t]; + let d, f; + if (u) return t === "$attrs" && Ie(e, "get", t), u(e); + if ((d = l.__cssModules) && (d = d[t])) return d; + if (n !== ve && ce(n, t)) return (s[t] = 4), n[t]; + if (((f = a.config.globalProperties), ce(f, t))) return f[t]; + }, + set({ _: e }, t, n) { + const { data: o, setupState: r, ctx: i } = e; + return Zo(r, t) + ? ((r[t] = n), !0) + : o !== ve && ce(o, t) + ? ((o[t] = n), !0) + : ce(e.props, t) || (t[0] === "$" && t.slice(1) in e) + ? !1 + : ((i[t] = n), !0); + }, + has( + { + _: { + data: e, + setupState: t, + accessCache: n, + ctx: o, + appContext: r, + propsOptions: i, + }, + }, + s + ) { + let l; + return ( + !!n[s] || + (e !== ve && ce(e, s)) || + Zo(t, s) || + ((l = i[0]) && ce(l, s)) || + ce(o, s) || + ce(Mn, s) || + ce(r.config.globalProperties, s) + ); + }, + defineProperty(e, t, n) { + return ( + n.get != null + ? (e._.accessCache[t] = 0) + : ce(n, "value") && this.set(e, t, n.value, null), + Reflect.defineProperty(e, t, n) + ); + }, + }; +function Mi(e) { + return te(e) ? e.reduce((t, n) => ((t[n] = null), t), {}) : e; +} +let xr = !0; +function Sc(e) { + const t = si(e), + n = e.proxy, + o = e.ctx; + (xr = !1), t.beforeCreate && Oi(t.beforeCreate, e, "bc"); + const { + data: r, + computed: i, + methods: s, + watch: l, + provide: a, + inject: c, + created: u, + beforeMount: d, + mounted: f, + beforeUpdate: p, + updated: y, + activated: T, + deactivated: q, + beforeDestroy: M, + beforeUnmount: m, + destroyed: _, + unmounted: w, + render: F, + renderTracked: j, + renderTriggered: V, + errorCaptured: N, + serverPrefetch: C, + expose: x, + inheritAttrs: $, + components: v, + directives: H, + filters: k, + } = t; + if ((c && Rc(c, o, null), s)) + for (const A in s) { + const W = s[A]; + le(W) && (o[A] = W.bind(n)); + } + if (r) { + const A = r.call(n, n); + ye(A) && (e.data = pn(A)); + } + if (((xr = !0), i)) + for (const A in i) { + const W = i[A], + _e = le(W) ? W.bind(n, n) : le(W.get) ? W.get.bind(n, n) : nt, + se = !le(W) && le(W.set) ? W.set.bind(n) : nt, + fe = R({ get: _e, set: se }); + Object.defineProperty(o, A, { + enumerable: !0, + configurable: !0, + get: () => fe.value, + set: (L) => (fe.value = L), + }); + } + if (l) for (const A in l) Nl(l[A], o, n, A); + if (a) { + const A = le(a) ? a.call(n) : a; + Reflect.ownKeys(A).forEach((W) => { + fo(W, A[W]); + }); + } + u && Oi(u, e, "c"); + function Y(A, W) { + te(W) ? W.forEach((_e) => A(_e.bind(n))) : W && A(W.bind(n)); + } + if ( + (Y(vc, d), + Y(Ut, f), + Y(Fl, p), + Y(ri, y), + Y(Ll, T), + Y(Fo, q), + Y(wc, N), + Y(_c, j), + Y(yc, V), + Y(We, m), + Y(ii, w), + Y(bc, C), + te(x)) + ) + if (x.length) { + const A = e.exposed || (e.exposed = {}); + x.forEach((W) => { + Object.defineProperty(A, W, { + get: () => n[W], + set: (_e) => (n[W] = _e), + }); + }); + } else e.exposed || (e.exposed = {}); + F && e.render === nt && (e.render = F), + $ != null && (e.inheritAttrs = $), + v && (e.components = v), + H && (e.directives = H); +} +function Rc(e, t, n = nt) { + te(e) && (e = Cr(e)); + for (const o in e) { + const r = e[o]; + let i; + ye(r) + ? "default" in r + ? (i = ut(r.from || o, r.default, !0)) + : (i = ut(r.from || o)) + : (i = ut(r)), + Oe(i) + ? Object.defineProperty(t, o, { + enumerable: !0, + configurable: !0, + get: () => i.value, + set: (s) => (i.value = s), + }) + : (t[o] = i); + } +} +function Oi(e, t, n) { + Ue(te(e) ? e.map((o) => o.bind(t.proxy)) : e.bind(t.proxy), t, n); +} +function Nl(e, t, n, o) { + const r = o.includes(".") ? ql(n, o) : () => n[o]; + if (xe(e)) { + const i = t[e]; + le(i) && be(r, i); + } else if (le(e)) be(r, e.bind(n)); + else if (ye(e)) + if (te(e)) e.forEach((i) => Nl(i, t, n, o)); + else { + const i = le(e.handler) ? e.handler.bind(n) : t[e.handler]; + le(i) && be(r, i, e); + } +} +function si(e) { + const t = e.type, + { mixins: n, extends: o } = t, + { + mixins: r, + optionsCache: i, + config: { optionMergeStrategies: s }, + } = e.appContext, + l = i.get(t); + let a; + return ( + l + ? (a = l) + : !r.length && !n && !o + ? (a = t) + : ((a = {}), r.length && r.forEach((c) => wo(a, c, s, !0)), wo(a, t, s)), + ye(t) && i.set(t, a), + a + ); +} +function wo(e, t, n, o = !1) { + const { mixins: r, extends: i } = t; + i && wo(e, i, n, !0), r && r.forEach((s) => wo(e, s, n, !0)); + for (const s in t) + if (!(o && s === "expose")) { + const l = Pc[s] || (n && n[s]); + e[s] = l ? l(e[s], t[s]) : t[s]; + } + return e; +} +const Pc = { + data: $i, + props: Li, + emits: Li, + methods: Pn, + computed: Pn, + beforeCreate: Le, + created: Le, + beforeMount: Le, + mounted: Le, + beforeUpdate: Le, + updated: Le, + beforeDestroy: Le, + beforeUnmount: Le, + destroyed: Le, + unmounted: Le, + activated: Le, + deactivated: Le, + errorCaptured: Le, + serverPrefetch: Le, + components: Pn, + directives: Pn, + watch: qc, + provide: $i, + inject: Tc, +}; +function $i(e, t) { + return t + ? e + ? function () { + return Ce( + le(e) ? e.call(this, this) : e, + le(t) ? t.call(this, this) : t + ); + } + : t + : e; +} +function Tc(e, t) { + return Pn(Cr(e), Cr(t)); +} +function Cr(e) { + if (te(e)) { + const t = {}; + for (let n = 0; n < e.length; n++) t[e[n]] = e[n]; + return t; + } + return e; +} +function Le(e, t) { + return e ? [...new Set([].concat(e, t))] : t; +} +function Pn(e, t) { + return e ? Ce(Object.create(null), e, t) : t; +} +function Li(e, t) { + return e + ? te(e) && te(t) + ? [...new Set([...e, ...t])] + : Ce(Object.create(null), Mi(e), Mi(t != null ? t : {})) + : t; +} +function qc(e, t) { + if (!e) return t; + if (!t) return e; + const n = Ce(Object.create(null), e); + for (const o in t) n[o] = Le(e[o], t[o]); + return n; +} +function jl() { + return { + app: null, + config: { + isNativeTag: iu, + performance: !1, + globalProperties: {}, + optionMergeStrategies: {}, + errorHandler: void 0, + warnHandler: void 0, + compilerOptions: {}, + }, + mixins: [], + components: {}, + directives: {}, + provides: Object.create(null), + optionsCache: new WeakMap(), + propsCache: new WeakMap(), + emitsCache: new WeakMap(), + }; +} +let Ac = 0; +function Mc(e, t) { + return function (o, r = null) { + le(o) || (o = Ce({}, o)), r != null && !ye(r) && (r = null); + const i = jl(), + s = new Set(); + let l = !1; + const a = (i.app = { + _uid: Ac++, + _component: o, + _props: r, + _container: null, + _context: i, + _instance: null, + version: lf, + get config() { + return i.config; + }, + set config(c) {}, + use(c, ...u) { + return ( + s.has(c) || + (c && le(c.install) + ? (s.add(c), c.install(a, ...u)) + : le(c) && (s.add(c), c(a, ...u))), + a + ); + }, + mixin(c) { + return i.mixins.includes(c) || i.mixins.push(c), a; + }, + component(c, u) { + return u ? ((i.components[c] = u), a) : i.components[c]; + }, + directive(c, u) { + return u ? ((i.directives[c] = u), a) : i.directives[c]; + }, + mount(c, u, d) { + if (!l) { + const f = Fe(o, r); + return ( + (f.appContext = i), + u && t ? t(f, c) : e(f, c, d), + (l = !0), + (a._container = c), + (c.__vue_app__ = a), + Vo(f.component) || f.component.proxy + ); + } + }, + unmount() { + l && (e(null, a._container), delete a._container.__vue_app__); + }, + provide(c, u) { + return (i.provides[c] = u), a; + }, + runWithContext(c) { + xo = a; + try { + return c(); + } finally { + xo = null; + } + }, + }); + return a; + }; +} +let xo = null; +function fo(e, t) { + if (Pe) { + let n = Pe.provides; + const o = Pe.parent && Pe.parent.provides; + o === n && (n = Pe.provides = Object.create(o)), (n[e] = t); + } +} +function ut(e, t, n = !1) { + const o = Pe || Ve; + if (o || xo) { + const r = o + ? o.parent == null + ? o.vnode.appContext && o.vnode.appContext.provides + : o.parent.provides + : xo._context.provides; + if (r && e in r) return r[e]; + if (arguments.length > 1) return n && le(t) ? t.call(o && o.proxy) : t; + } +} +function Oc(e, t, n, o = !1) { + const r = {}, + i = {}; + bo(i, jo, 1), (e.propsDefaults = Object.create(null)), Vl(e, t, r, i); + for (const s in e.propsOptions[0]) s in r || (r[s] = void 0); + n ? (e.props = o ? r : ml(r)) : e.type.props ? (e.props = r) : (e.props = i), + (e.attrs = i); +} +function $c(e, t, n, o) { + const { + props: r, + attrs: i, + vnode: { patchFlag: s }, + } = e, + l = ie(r), + [a] = e.propsOptions; + let c = !1; + if ((o || s > 0) && !(s & 16)) { + if (s & 8) { + const u = e.vnode.dynamicProps; + for (let d = 0; d < u.length; d++) { + let f = u[d]; + if ($o(e.emitsOptions, f)) continue; + const p = t[f]; + if (a) + if (ce(i, f)) p !== i[f] && ((i[f] = p), (c = !0)); + else { + const y = ct(f); + r[y] = kr(a, l, y, p, e, !1); + } + else p !== i[f] && ((i[f] = p), (c = !0)); + } + } + } else { + Vl(e, t, r, i) && (c = !0); + let u; + for (const d in l) + (!t || (!ce(t, d) && ((u = Kt(d)) === d || !ce(t, u)))) && + (a + ? n && + (n[d] !== void 0 || n[u] !== void 0) && + (r[d] = kr(a, l, d, void 0, e, !0)) + : delete r[d]); + if (i !== l) + for (const d in i) (!t || (!ce(t, d) && !0)) && (delete i[d], (c = !0)); + } + c && gt(e, "set", "$attrs"); +} +function Vl(e, t, n, o) { + const [r, i] = e.propsOptions; + let s = !1, + l; + if (t) + for (let a in t) { + if (co(a)) continue; + const c = t[a]; + let u; + r && ce(r, (u = ct(a))) + ? !i || !i.includes(u) + ? (n[u] = c) + : ((l || (l = {}))[u] = c) + : $o(e.emitsOptions, a) || + ((!(a in o) || c !== o[a]) && ((o[a] = c), (s = !0))); + } + if (i) { + const a = ie(n), + c = l || ve; + for (let u = 0; u < i.length; u++) { + const d = i[u]; + n[d] = kr(r, a, d, c[d], e, !ce(c, d)); + } + } + return s; +} +function kr(e, t, n, o, r, i) { + const s = e[n]; + if (s != null) { + const l = ce(s, "default"); + if (l && o === void 0) { + const a = s.default; + if (s.type !== Function && !s.skipFactory && le(a)) { + const { propsDefaults: c } = r; + n in c ? (o = c[n]) : (un(r), (o = c[n] = a.call(null, t)), Dt()); + } else o = a; + } + s[0] && + (i && !l ? (o = !1) : s[1] && (o === "" || o === Kt(n)) && (o = !0)); + } + return o; +} +function Dl(e, t, n = !1) { + const o = t.propsCache, + r = o.get(e); + if (r) return r; + const i = e.props, + s = {}, + l = []; + let a = !1; + if (!le(e)) { + const u = (d) => { + a = !0; + const [f, p] = Dl(d, t, !0); + Ce(s, f), p && l.push(...p); + }; + !n && t.mixins.length && t.mixins.forEach(u), + e.extends && u(e.extends), + e.mixins && e.mixins.forEach(u); + } + if (!i && !a) return ye(e) && o.set(e, nn), nn; + if (te(i)) + for (let u = 0; u < i.length; u++) { + const d = ct(i[u]); + Bi(d) && (s[d] = ve); + } + else if (i) + for (const u in i) { + const d = ct(u); + if (Bi(d)) { + const f = i[u], + p = (s[d] = te(f) || le(f) ? { type: f } : Ce({}, f)); + if (p) { + const y = Ni(Boolean, p.type), + T = Ni(String, p.type); + (p[0] = y > -1), + (p[1] = T < 0 || y < T), + (y > -1 || ce(p, "default")) && l.push(d); + } + } + } + const c = [s, l]; + return ye(e) && o.set(e, c), c; +} +function Bi(e) { + return e[0] !== "$"; +} +function Fi(e) { + const t = e && e.toString().match(/^\s*(function|class) (\w+)/); + return t ? t[2] : e === null ? "null" : ""; +} +function Ii(e, t) { + return Fi(e) === Fi(t); +} +function Ni(e, t) { + return te(t) ? t.findIndex((n) => Ii(n, e)) : le(t) && Ii(t, e) ? 0 : -1; +} +const Hl = (e) => e[0] === "_" || e === "$stable", + li = (e) => (te(e) ? e.map(st) : [st(e)]), + Lc = (e, t, n) => { + if (t._n) return t; + const o = sc((...r) => li(t(...r)), n); + return (o._c = !1), o; + }, + zl = (e, t, n) => { + const o = e._ctx; + for (const r in e) { + if (Hl(r)) continue; + const i = e[r]; + if (le(i)) t[r] = Lc(r, i, o); + else if (i != null) { + const s = li(i); + t[r] = () => s; + } + } + }, + Kl = (e, t) => { + const n = li(t); + e.slots.default = () => n; + }, + Bc = (e, t) => { + if (e.vnode.shapeFlag & 32) { + const n = t._; + n ? ((e.slots = ie(t)), bo(t, "_", n)) : zl(t, (e.slots = {})); + } else (e.slots = {}), t && Kl(e, t); + bo(e.slots, jo, 1); + }, + Fc = (e, t, n) => { + const { vnode: o, slots: r } = e; + let i = !0, + s = ve; + if (o.shapeFlag & 32) { + const l = t._; + l + ? n && l === 1 + ? (i = !1) + : (Ce(r, t), !n && l === 1 && delete r._) + : ((i = !t.$stable), zl(t, r)), + (s = t); + } else t && (Kl(e, t), (s = { default: 1 })); + if (i) for (const l in r) !Hl(l) && !(l in s) && delete r[l]; + }; +function Er(e, t, n, o, r = !1) { + if (te(e)) { + e.forEach((f, p) => Er(f, t && (te(t) ? t[p] : t), n, o, r)); + return; + } + if (An(o) && !r) return; + const i = o.shapeFlag & 4 ? Vo(o.component) || o.component.proxy : o.el, + s = r ? null : i, + { i: l, r: a } = e, + c = t && t.r, + u = l.refs === ve ? (l.refs = {}) : l.refs, + d = l.setupState; + if ( + (c != null && + c !== a && + (xe(c) + ? ((u[c] = null), ce(d, c) && (d[c] = null)) + : Oe(c) && (c.value = null)), + le(a)) + ) + Rt(a, l, 12, [s, u]); + else { + const f = xe(a), + p = Oe(a); + if (f || p) { + const y = () => { + if (e.f) { + const T = f ? (ce(d, a) ? d[a] : u[a]) : a.value; + r + ? te(T) && Hr(T, i) + : te(T) + ? T.includes(i) || T.push(i) + : f + ? ((u[a] = [i]), ce(d, a) && (d[a] = u[a])) + : ((a.value = [i]), e.k && (u[e.k] = a.value)); + } else + f + ? ((u[a] = s), ce(d, a) && (d[a] = s)) + : p && ((a.value = s), e.k && (u[e.k] = s)); + }; + s ? ((y.id = -1), qe(y, n)) : y(); + } + } +} +const qe = fc; +function Ic(e) { + return Nc(e); +} +function Nc(e, t) { + const n = mr(); + n.__VUE__ = !0; + const { + insert: o, + remove: r, + patchProp: i, + createElement: s, + createText: l, + createComment: a, + setText: c, + setElementText: u, + parentNode: d, + nextSibling: f, + setScopeId: p = nt, + insertStaticContent: y, + } = e, + T = ( + h, + g, + b, + P = null, + O = null, + B = null, + U = !1, + D = null, + K = !!g.dynamicChildren + ) => { + if (h === g) return; + h && !kt(h, g) && ((P = S(h)), L(h, O, B, !0), (h = null)), + g.patchFlag === -2 && ((K = !1), (g.dynamicChildren = null)); + const { type: I, ref: G, shapeFlag: J } = g; + switch (I) { + case No: + q(h, g, b, P); + break; + case ot: + M(h, g, b, P); + break; + case Jo: + h == null && m(g, b, P, U); + break; + case Xe: + v(h, g, b, P, O, B, U, D, K); + break; + default: + J & 1 + ? F(h, g, b, P, O, B, U, D, K) + : J & 6 + ? H(h, g, b, P, O, B, U, D, K) + : (J & 64 || J & 128) && I.process(h, g, b, P, O, B, U, D, K, z); + } + G != null && O && Er(G, h && h.ref, B, g || h, !g); + }, + q = (h, g, b, P) => { + if (h == null) o((g.el = l(g.children)), b, P); + else { + const O = (g.el = h.el); + g.children !== h.children && c(O, g.children); + } + }, + M = (h, g, b, P) => { + h == null ? o((g.el = a(g.children || "")), b, P) : (g.el = h.el); + }, + m = (h, g, b, P) => { + [h.el, h.anchor] = y(h.children, g, b, P, h.el, h.anchor); + }, + _ = ({ el: h, anchor: g }, b, P) => { + let O; + for (; h && h !== g; ) (O = f(h)), o(h, b, P), (h = O); + o(g, b, P); + }, + w = ({ el: h, anchor: g }) => { + let b; + for (; h && h !== g; ) (b = f(h)), r(h), (h = b); + r(g); + }, + F = (h, g, b, P, O, B, U, D, K) => { + (U = U || g.type === "svg"), + h == null ? j(g, b, P, O, B, U, D, K) : C(h, g, O, B, U, D, K); + }, + j = (h, g, b, P, O, B, U, D) => { + let K, I; + const { type: G, props: J, shapeFlag: ee, transition: re, dirs: ae } = h; + if ( + ((K = h.el = s(h.type, B, J && J.is, J)), + ee & 8 + ? u(K, h.children) + : ee & 16 && + N(h.children, K, null, P, O, B && G !== "foreignObject", U, D), + ae && At(h, null, P, "created"), + V(K, h, h.scopeId, U, P), + J) + ) { + for (const me in J) + me !== "value" && + !co(me) && + i(K, me, null, J[me], B, h.children, P, O, ne); + "value" in J && i(K, "value", null, J.value), + (I = J.onVnodeBeforeMount) && ze(I, P, h); + } + ae && At(h, null, P, "beforeMount"); + const pe = (!O || (O && !O.pendingBranch)) && re && !re.persisted; + pe && re.beforeEnter(K), + o(K, g, b), + ((I = J && J.onVnodeMounted) || pe || ae) && + qe(() => { + I && ze(I, P, h), + pe && re.enter(K), + ae && At(h, null, P, "mounted"); + }, O); + }, + V = (h, g, b, P, O) => { + if ((b && p(h, b), P)) for (let B = 0; B < P.length; B++) p(h, P[B]); + if (O) { + let B = O.subTree; + if (g === B) { + const U = O.vnode; + V(h, U, U.scopeId, U.slotScopeIds, O.parent); + } + } + }, + N = (h, g, b, P, O, B, U, D, K = 0) => { + for (let I = K; I < h.length; I++) { + const G = (h[I] = D ? xt(h[I]) : st(h[I])); + T(null, G, g, b, P, O, B, U, D); + } + }, + C = (h, g, b, P, O, B, U) => { + const D = (g.el = h.el); + let { patchFlag: K, dynamicChildren: I, dirs: G } = g; + K |= h.patchFlag & 16; + const J = h.props || ve, + ee = g.props || ve; + let re; + b && Mt(b, !1), + (re = ee.onVnodeBeforeUpdate) && ze(re, b, g, h), + G && At(g, h, b, "beforeUpdate"), + b && Mt(b, !0); + const ae = O && g.type !== "foreignObject"; + if ( + (I + ? x(h.dynamicChildren, I, D, b, P, ae, B) + : U || W(h, g, D, null, b, P, ae, B, !1), + K > 0) + ) { + if (K & 16) $(D, g, J, ee, b, P, O); + else if ( + (K & 2 && J.class !== ee.class && i(D, "class", null, ee.class, O), + K & 4 && i(D, "style", J.style, ee.style, O), + K & 8) + ) { + const pe = g.dynamicProps; + for (let me = 0; me < pe.length; me++) { + const Ee = pe[me], + Qe = J[Ee], + Yt = ee[Ee]; + (Yt !== Qe || Ee === "value") && + i(D, Ee, Qe, Yt, O, h.children, b, P, ne); + } + } + K & 1 && h.children !== g.children && u(D, g.children); + } else !U && I == null && $(D, g, J, ee, b, P, O); + ((re = ee.onVnodeUpdated) || G) && + qe(() => { + re && ze(re, b, g, h), G && At(g, h, b, "updated"); + }, P); + }, + x = (h, g, b, P, O, B, U) => { + for (let D = 0; D < g.length; D++) { + const K = h[D], + I = g[D], + G = + K.el && (K.type === Xe || !kt(K, I) || K.shapeFlag & 70) + ? d(K.el) + : b; + T(K, I, G, null, P, O, B, U, !0); + } + }, + $ = (h, g, b, P, O, B, U) => { + if (b !== P) { + if (b !== ve) + for (const D in b) + !co(D) && !(D in P) && i(h, D, b[D], null, U, g.children, O, B, ne); + for (const D in P) { + if (co(D)) continue; + const K = P[D], + I = b[D]; + K !== I && D !== "value" && i(h, D, I, K, U, g.children, O, B, ne); + } + "value" in P && i(h, "value", b.value, P.value); + } + }, + v = (h, g, b, P, O, B, U, D, K) => { + const I = (g.el = h ? h.el : l("")), + G = (g.anchor = h ? h.anchor : l("")); + let { patchFlag: J, dynamicChildren: ee, slotScopeIds: re } = g; + re && (D = D ? D.concat(re) : re), + h == null + ? (o(I, b, P), o(G, b, P), N(g.children, b, G, O, B, U, D, K)) + : J > 0 && J & 64 && ee && h.dynamicChildren + ? (x(h.dynamicChildren, ee, b, O, B, U, D), + (g.key != null || (O && g === O.subTree)) && ai(h, g, !0)) + : W(h, g, b, G, O, B, U, D, K); + }, + H = (h, g, b, P, O, B, U, D, K) => { + (g.slotScopeIds = D), + h == null + ? g.shapeFlag & 512 + ? O.ctx.activate(g, b, P, U, K) + : k(g, b, P, O, B, U, K) + : Z(h, g, K); + }, + k = (h, g, b, P, O, B, U) => { + const D = (h.component = Xc(h, P, O)); + if ((Bo(h) && (D.ctx.renderer = z), Gc(D), D.asyncDep)) { + if ((O && O.registerDep(D, Y), !h.el)) { + const K = (D.subTree = Fe(ot)); + M(null, K, g, b); + } + return; + } + Y(D, h, g, b, O, B, U); + }, + Z = (h, g, b) => { + const P = (g.component = h.component); + if (uc(h, g, b)) + if (P.asyncDep && !P.asyncResolved) { + A(P, g, b); + return; + } else (P.next = g), nc(P.update), P.update(); + else (g.el = h.el), (P.vnode = g); + }, + Y = (h, g, b, P, O, B, U) => { + const D = () => { + if (h.isMounted) { + let { next: G, bu: J, u: ee, parent: re, vnode: ae } = h, + pe = G, + me; + Mt(h, !1), + G ? ((G.el = ae.el), A(h, G, U)) : (G = ae), + J && qn(J), + (me = G.props && G.props.onVnodeBeforeUpdate) && + ze(me, re, G, ae), + Mt(h, !0); + const Ee = Uo(h), + Qe = h.subTree; + (h.subTree = Ee), + T(Qe, Ee, d(Qe.el), S(Qe), h, O, B), + (G.el = Ee.el), + pe === null && cc(h, Ee.el), + ee && qe(ee, O), + (me = G.props && G.props.onVnodeUpdated) && + qe(() => ze(me, re, G, ae), O); + } else { + let G; + const { el: J, props: ee } = g, + { bm: re, m: ae, parent: pe } = h, + me = An(g); + if ( + (Mt(h, !1), + re && qn(re), + !me && (G = ee && ee.onVnodeBeforeMount) && ze(G, pe, g), + Mt(h, !0), + J && de) + ) { + const Ee = () => { + (h.subTree = Uo(h)), de(J, h.subTree, h, O, null); + }; + me + ? g.type.__asyncLoader().then(() => !h.isUnmounted && Ee()) + : Ee(); + } else { + const Ee = (h.subTree = Uo(h)); + T(null, Ee, b, P, h, O, B), (g.el = Ee.el); + } + if ((ae && qe(ae, O), !me && (G = ee && ee.onVnodeMounted))) { + const Ee = g; + qe(() => ze(G, pe, Ee), O); + } + (g.shapeFlag & 256 || + (pe && An(pe.vnode) && pe.vnode.shapeFlag & 256)) && + h.a && + qe(h.a, O), + (h.isMounted = !0), + (g = b = P = null); + } + }, + K = (h.effect = new Yr(D, () => ni(I), h.scope)), + I = (h.update = () => K.run()); + (I.id = h.uid), Mt(h, !0), I(); + }, + A = (h, g, b) => { + g.component = h; + const P = h.vnode.props; + (h.vnode = g), + (h.next = null), + $c(h, g.props, P, b), + Fc(h, g.children, b), + gn(), + Pi(), + mn(); + }, + W = (h, g, b, P, O, B, U, D, K = !1) => { + const I = h && h.children, + G = h ? h.shapeFlag : 0, + J = g.children, + { patchFlag: ee, shapeFlag: re } = g; + if (ee > 0) { + if (ee & 128) { + se(I, J, b, P, O, B, U, D, K); + return; + } else if (ee & 256) { + _e(I, J, b, P, O, B, U, D, K); + return; + } + } + re & 8 + ? (G & 16 && ne(I, O, B), J !== I && u(b, J)) + : G & 16 + ? re & 16 + ? se(I, J, b, P, O, B, U, D, K) + : ne(I, O, B, !0) + : (G & 8 && u(b, ""), re & 16 && N(J, b, P, O, B, U, D, K)); + }, + _e = (h, g, b, P, O, B, U, D, K) => { + (h = h || nn), (g = g || nn); + const I = h.length, + G = g.length, + J = Math.min(I, G); + let ee; + for (ee = 0; ee < J; ee++) { + const re = (g[ee] = K ? xt(g[ee]) : st(g[ee])); + T(h[ee], re, b, null, O, B, U, D, K); + } + I > G ? ne(h, O, B, !0, !1, J) : N(g, b, P, O, B, U, D, K, J); + }, + se = (h, g, b, P, O, B, U, D, K) => { + let I = 0; + const G = g.length; + let J = h.length - 1, + ee = G - 1; + for (; I <= J && I <= ee; ) { + const re = h[I], + ae = (g[I] = K ? xt(g[I]) : st(g[I])); + if (kt(re, ae)) T(re, ae, b, null, O, B, U, D, K); + else break; + I++; + } + for (; I <= J && I <= ee; ) { + const re = h[J], + ae = (g[ee] = K ? xt(g[ee]) : st(g[ee])); + if (kt(re, ae)) T(re, ae, b, null, O, B, U, D, K); + else break; + J--, ee--; + } + if (I > J) { + if (I <= ee) { + const re = ee + 1, + ae = re < G ? g[re].el : P; + for (; I <= ee; ) + T(null, (g[I] = K ? xt(g[I]) : st(g[I])), b, ae, O, B, U, D, K), + I++; + } + } else if (I > ee) for (; I <= J; ) L(h[I], O, B, !0), I++; + else { + const re = I, + ae = I, + pe = new Map(); + for (I = ae; I <= ee; I++) { + const Ne = (g[I] = K ? xt(g[I]) : st(g[I])); + Ne.key != null && pe.set(Ne.key, I); + } + let me, + Ee = 0; + const Qe = ee - ae + 1; + let Yt = !1, + vi = 0; + const yn = new Array(Qe); + for (I = 0; I < Qe; I++) yn[I] = 0; + for (I = re; I <= J; I++) { + const Ne = h[I]; + if (Ee >= Qe) { + L(Ne, O, B, !0); + continue; + } + let it; + if (Ne.key != null) it = pe.get(Ne.key); + else + for (me = ae; me <= ee; me++) + if (yn[me - ae] === 0 && kt(Ne, g[me])) { + it = me; + break; + } + it === void 0 + ? L(Ne, O, B, !0) + : ((yn[it - ae] = I + 1), + it >= vi ? (vi = it) : (Yt = !0), + T(Ne, g[it], b, null, O, B, U, D, K), + Ee++); + } + const bi = Yt ? jc(yn) : nn; + for (me = bi.length - 1, I = Qe - 1; I >= 0; I--) { + const Ne = ae + I, + it = g[Ne], + yi = Ne + 1 < G ? g[Ne + 1].el : P; + yn[I] === 0 + ? T(null, it, b, yi, O, B, U, D, K) + : Yt && (me < 0 || I !== bi[me] ? fe(it, b, yi, 2) : me--); + } + } + }, + fe = (h, g, b, P, O = null) => { + const { el: B, type: U, transition: D, children: K, shapeFlag: I } = h; + if (I & 6) { + fe(h.component.subTree, g, b, P); + return; + } + if (I & 128) { + h.suspense.move(g, b, P); + return; + } + if (I & 64) { + U.move(h, g, b, z); + return; + } + if (U === Xe) { + o(B, g, b); + for (let J = 0; J < K.length; J++) fe(K[J], g, b, P); + o(h.anchor, g, b); + return; + } + if (U === Jo) { + _(h, g, b); + return; + } + if (P !== 2 && I & 1 && D) + if (P === 0) D.beforeEnter(B), o(B, g, b), qe(() => D.enter(B), O); + else { + const { leave: J, delayLeave: ee, afterLeave: re } = D, + ae = () => o(B, g, b), + pe = () => { + J(B, () => { + ae(), re && re(); + }); + }; + ee ? ee(B, ae, pe) : pe(); + } + else o(B, g, b); + }, + L = (h, g, b, P = !1, O = !1) => { + const { + type: B, + props: U, + ref: D, + children: K, + dynamicChildren: I, + shapeFlag: G, + patchFlag: J, + dirs: ee, + } = h; + if ((D != null && Er(D, null, b, h, !0), G & 256)) { + g.ctx.deactivate(h); + return; + } + const re = G & 1 && ee, + ae = !An(h); + let pe; + if ((ae && (pe = U && U.onVnodeBeforeUnmount) && ze(pe, g, h), G & 6)) + oe(h.component, b, P); + else { + if (G & 128) { + h.suspense.unmount(b, P); + return; + } + re && At(h, null, g, "beforeUnmount"), + G & 64 + ? h.type.remove(h, g, b, O, z, P) + : I && (B !== Xe || (J > 0 && J & 64)) + ? ne(I, g, b, !1, !0) + : ((B === Xe && J & 384) || (!O && G & 16)) && ne(K, g, b), + P && ue(h); + } + ((ae && (pe = U && U.onVnodeUnmounted)) || re) && + qe(() => { + pe && ze(pe, g, h), re && At(h, null, g, "unmounted"); + }, b); + }, + ue = (h) => { + const { type: g, el: b, anchor: P, transition: O } = h; + if (g === Xe) { + Re(b, P); + return; + } + if (g === Jo) { + w(h); + return; + } + const B = () => { + r(b), O && !O.persisted && O.afterLeave && O.afterLeave(); + }; + if (h.shapeFlag & 1 && O && !O.persisted) { + const { leave: U, delayLeave: D } = O, + K = () => U(b, B); + D ? D(h.el, B, K) : K(); + } else B(); + }, + Re = (h, g) => { + let b; + for (; h !== g; ) (b = f(h)), r(h), (h = b); + r(g); + }, + oe = (h, g, b) => { + const { bum: P, scope: O, update: B, subTree: U, um: D } = h; + P && qn(P), + O.stop(), + B && ((B.active = !1), L(U, h, g, b)), + D && qe(D, g), + qe(() => { + h.isUnmounted = !0; + }, g), + g && + g.pendingBranch && + !g.isUnmounted && + h.asyncDep && + !h.asyncResolved && + h.suspenseId === g.pendingId && + (g.deps--, g.deps === 0 && g.resolve()); + }, + ne = (h, g, b, P = !1, O = !1, B = 0) => { + for (let U = B; U < h.length; U++) L(h[U], g, b, P, O); + }, + S = (h) => + h.shapeFlag & 6 + ? S(h.component.subTree) + : h.shapeFlag & 128 + ? h.suspense.next() + : f(h.anchor || h.el), + Q = (h, g, b) => { + h == null + ? g._vnode && L(g._vnode, null, null, !0) + : T(g._vnode || null, h, g, null, null, null, b), + Pi(), + kl(), + (g._vnode = h); + }, + z = { p: T, um: L, m: fe, r: ue, mt: k, mc: N, pc: W, pbc: x, n: S, o: e }; + let X, de; + return t && ([X, de] = t(z)), { render: Q, hydrate: X, createApp: Mc(Q, X) }; +} +function Mt({ effect: e, update: t }, n) { + e.allowRecurse = t.allowRecurse = n; +} +function ai(e, t, n = !1) { + const o = e.children, + r = t.children; + if (te(o) && te(r)) + for (let i = 0; i < o.length; i++) { + const s = o[i]; + let l = r[i]; + l.shapeFlag & 1 && + !l.dynamicChildren && + ((l.patchFlag <= 0 || l.patchFlag === 32) && + ((l = r[i] = xt(r[i])), (l.el = s.el)), + n || ai(s, l)), + l.type === No && (l.el = s.el); + } +} +function jc(e) { + const t = e.slice(), + n = [0]; + let o, r, i, s, l; + const a = e.length; + for (o = 0; o < a; o++) { + const c = e[o]; + if (c !== 0) { + if (((r = n[n.length - 1]), e[r] < c)) { + (t[o] = r), n.push(o); + continue; + } + for (i = 0, s = n.length - 1; i < s; ) + (l = (i + s) >> 1), e[n[l]] < c ? (i = l + 1) : (s = l); + c < e[n[i]] && (i > 0 && (t[o] = n[i - 1]), (n[i] = o)); + } + } + for (i = n.length, s = n[i - 1]; i-- > 0; ) (n[i] = s), (s = t[s]); + return n; +} +const Vc = (e) => e.__isTeleport, + On = (e) => e && (e.disabled || e.disabled === ""), + ji = (e) => typeof SVGElement != "undefined" && e instanceof SVGElement, + Sr = (e, t) => { + const n = e && e.to; + return xe(n) ? (t ? t(n) : null) : n; + }, + Dc = { + __isTeleport: !0, + process(e, t, n, o, r, i, s, l, a, c) { + const { + mc: u, + pc: d, + pbc: f, + o: { insert: p, querySelector: y, createText: T, createComment: q }, + } = c, + M = On(t.props); + let { shapeFlag: m, children: _, dynamicChildren: w } = t; + if (e == null) { + const F = (t.el = T("")), + j = (t.anchor = T("")); + p(F, n, o), p(j, n, o); + const V = (t.target = Sr(t.props, y)), + N = (t.targetAnchor = T("")); + V && (p(N, V), (s = s || ji(V))); + const C = (x, $) => { + m & 16 && u(_, x, $, r, i, s, l, a); + }; + M ? C(n, j) : V && C(V, N); + } else { + t.el = e.el; + const F = (t.anchor = e.anchor), + j = (t.target = e.target), + V = (t.targetAnchor = e.targetAnchor), + N = On(e.props), + C = N ? n : j, + x = N ? F : V; + if ( + ((s = s || ji(j)), + w + ? (f(e.dynamicChildren, w, C, r, i, s, l), ai(e, t, !0)) + : a || d(e, t, C, x, r, i, s, l, !1), + M) + ) + N || oo(t, n, F, c, 1); + else if ((t.props && t.props.to) !== (e.props && e.props.to)) { + const $ = (t.target = Sr(t.props, y)); + $ && oo(t, $, null, c, 0); + } else N && oo(t, j, V, c, 1); + } + Ul(t); + }, + remove(e, t, n, o, { um: r, o: { remove: i } }, s) { + const { + shapeFlag: l, + children: a, + anchor: c, + targetAnchor: u, + target: d, + props: f, + } = e; + if ((d && i(u), (s || !On(f)) && (i(c), l & 16))) + for (let p = 0; p < a.length; p++) { + const y = a[p]; + r(y, t, n, !0, !!y.dynamicChildren); + } + }, + move: oo, + hydrate: Hc, + }; +function oo(e, t, n, { o: { insert: o }, m: r }, i = 2) { + i === 0 && o(e.targetAnchor, t, n); + const { el: s, anchor: l, shapeFlag: a, children: c, props: u } = e, + d = i === 2; + if ((d && o(s, t, n), (!d || On(u)) && a & 16)) + for (let f = 0; f < c.length; f++) r(c[f], t, n, 2); + d && o(l, t, n); +} +function Hc( + e, + t, + n, + o, + r, + i, + { o: { nextSibling: s, parentNode: l, querySelector: a } }, + c +) { + const u = (t.target = Sr(t.props, a)); + if (u) { + const d = u._lpa || u.firstChild; + if (t.shapeFlag & 16) + if (On(t.props)) + (t.anchor = c(s(e), t, l(e), n, o, r, i)), (t.targetAnchor = d); + else { + t.anchor = s(e); + let f = d; + for (; f; ) + if ( + ((f = s(f)), f && f.nodeType === 8 && f.data === "teleport anchor") + ) { + (t.targetAnchor = f), + (u._lpa = t.targetAnchor && s(t.targetAnchor)); + break; + } + c(d, t, u, n, o, r, i); + } + Ul(t); + } + return t.anchor && s(t.anchor); +} +const zc = Dc; +function Ul(e) { + const t = e.ctx; + if (t && t.ut) { + let n = e.children[0].el; + for (; n !== e.targetAnchor; ) + n.nodeType === 1 && n.setAttribute("data-v-owner", t.uid), + (n = n.nextSibling); + t.ut(); + } +} +const Xe = Symbol.for("v-fgt"), + No = Symbol.for("v-txt"), + ot = Symbol.for("v-cmt"), + Jo = Symbol.for("v-stc"), + $n = []; +let et = null; +function Wl(e = !1) { + $n.push((et = e ? null : [])); +} +function Kc() { + $n.pop(), (et = $n[$n.length - 1] || null); +} +let Dn = 1; +function Vi(e) { + Dn += e; +} +function Ql(e) { + return ( + (e.dynamicChildren = Dn > 0 ? et || nn : null), + Kc(), + Dn > 0 && et && et.push(e), + e + ); +} +function Cm(e, t, n, o, r, i) { + return Ql(Jl(e, t, n, o, r, i, !0)); +} +function Yl(e, t, n, o, r) { + return Ql(Fe(e, t, n, o, r, !0)); +} +function Co(e) { + return e ? e.__v_isVNode === !0 : !1; +} +function kt(e, t) { + return e.type === t.type && e.key === t.key; +} +const jo = "__vInternal", + Zl = ({ key: e }) => (e != null ? e : null), + ho = ({ ref: e, ref_key: t, ref_for: n }) => ( + typeof e == "number" && (e = "" + e), + e != null + ? xe(e) || Oe(e) || le(e) + ? { i: Ve, r: e, k: t, f: !!n } + : e + : null + ); +function Jl( + e, + t = null, + n = null, + o = 0, + r = null, + i = e === Xe ? 0 : 1, + s = !1, + l = !1 +) { + const a = { + __v_isVNode: !0, + __v_skip: !0, + type: e, + props: t, + key: t && Zl(t), + ref: t && ho(t), + scopeId: Rl, + 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: Ve, + }; + return ( + l + ? (ui(a, n), i & 128 && e.normalize(a)) + : n && (a.shapeFlag |= xe(n) ? 8 : 16), + Dn > 0 && + !s && + et && + (a.patchFlag > 0 || i & 6) && + a.patchFlag !== 32 && + et.push(a), + a + ); +} +const Fe = Uc; +function Uc(e, t = null, n = null, o = 0, r = null, i = !1) { + if (((!e || e === Cc) && (e = ot), Co(e))) { + const l = mt(e, t, !0); + return ( + n && ui(l, n), + Dn > 0 && + !i && + et && + (l.shapeFlag & 6 ? (et[et.indexOf(e)] = l) : et.push(l)), + (l.patchFlag |= -2), + l + ); + } + if ((of(e) && (e = e.__vccOpts), t)) { + t = Wc(t); + let { class: l, style: a } = t; + l && !xe(l) && (t.class = Wr(l)), + ye(a) && (vl(a) && !te(a) && (a = Ce({}, a)), (t.style = Ur(a))); + } + const s = xe(e) ? 1 : Pl(e) ? 128 : Vc(e) ? 64 : ye(e) ? 4 : le(e) ? 2 : 0; + return Jl(e, t, n, o, r, s, i, !0); +} +function Wc(e) { + return e ? (vl(e) || jo in e ? Ce({}, e) : e) : null; +} +function mt(e, t, n = !1) { + const { props: o, ref: r, patchFlag: i, children: s } = e, + l = t ? Yc(o || {}, t) : o; + return { + __v_isVNode: !0, + __v_skip: !0, + type: e.type, + props: l, + key: l && Zl(l), + ref: + t && t.ref + ? n && r + ? te(r) + ? r.concat(ho(t)) + : [r, ho(t)] + : ho(t) + : r, + scopeId: e.scopeId, + slotScopeIds: e.slotScopeIds, + children: s, + target: e.target, + targetAnchor: e.targetAnchor, + staticCount: e.staticCount, + shapeFlag: e.shapeFlag, + patchFlag: t && e.type !== Xe ? (i === -1 ? 16 : i | 16) : 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 && mt(e.ssContent), + ssFallback: e.ssFallback && mt(e.ssFallback), + el: e.el, + anchor: e.anchor, + ctx: e.ctx, + ce: e.ce, + }; +} +function Qc(e = " ", t = 0) { + return Fe(No, null, e, t); +} +function km(e = "", t = !1) { + return t ? (Wl(), Yl(ot, null, e)) : Fe(ot, null, e); +} +function st(e) { + return e == null || typeof e == "boolean" + ? Fe(ot) + : te(e) + ? Fe(Xe, null, e.slice()) + : typeof e == "object" + ? xt(e) + : Fe(No, null, String(e)); +} +function xt(e) { + return (e.el === null && e.patchFlag !== -1) || e.memo ? e : mt(e); +} +function ui(e, t) { + let n = 0; + const { shapeFlag: o } = e; + if (t == null) t = null; + else if (te(t)) n = 16; + else if (typeof t == "object") + if (o & 65) { + const r = t.default; + r && (r._c && (r._d = !1), ui(e, r()), r._c && (r._d = !0)); + return; + } else { + n = 32; + const r = t._; + !r && !(jo in t) + ? (t._ctx = Ve) + : r === 3 && + Ve && + (Ve.slots._ === 1 ? (t._ = 1) : ((t._ = 2), (e.patchFlag |= 1024))); + } + else + le(t) + ? ((t = { default: t, _ctx: Ve }), (n = 32)) + : ((t = String(t)), o & 64 ? ((n = 16), (t = [Qc(t)])) : (n = 8)); + (e.children = t), (e.shapeFlag |= n); +} +function Yc(...e) { + const t = {}; + for (let n = 0; n < e.length; n++) { + const o = e[n]; + for (const r in o) + if (r === "class") + t.class !== o.class && (t.class = Wr([t.class, o.class])); + else if (r === "style") t.style = Ur([t.style, o.style]); + else if (To(r)) { + const i = t[r], + s = o[r]; + s && + i !== s && + !(te(i) && i.includes(s)) && + (t[r] = i ? [].concat(i, s) : s); + } else r !== "" && (t[r] = o[r]); + } + return t; +} +function ze(e, t, n, o = null) { + Ue(e, t, 7, [n, o]); +} +const Zc = jl(); +let Jc = 0; +function Xc(e, t, n) { + const o = e.type, + r = (t ? t.appContext : e.appContext) || Zc, + i = { + uid: Jc++, + vnode: e, + type: o, + parent: t, + appContext: r, + root: null, + next: null, + subTree: null, + effect: null, + update: null, + scope: new _u(!0), + render: null, + proxy: null, + exposed: null, + exposeProxy: null, + withProxy: null, + provides: t ? t.provides : Object.create(r.provides), + accessCache: null, + renderCache: [], + components: null, + directives: null, + propsOptions: Dl(o, r), + emitsOptions: Sl(o, r), + emit: null, + emitted: null, + propsDefaults: ve, + inheritAttrs: o.inheritAttrs, + ctx: ve, + data: ve, + props: ve, + attrs: ve, + slots: ve, + refs: ve, + setupState: ve, + setupContext: null, + attrsProxy: null, + slotsProxy: null, + suspense: n, + suspenseId: n ? n.pendingId : 0, + asyncDep: null, + asyncResolved: !1, + isMounted: !1, + isUnmounted: !1, + isDeactivated: !1, + bc: null, + c: null, + bm: null, + m: null, + bu: null, + u: null, + um: null, + bum: null, + da: null, + a: null, + rtg: null, + rtc: null, + ec: null, + sp: null, + }; + return ( + (i.ctx = { _: i }), + (i.root = t ? t.root : i), + (i.emit = ic.bind(null, i)), + e.ce && e.ce(i), + i + ); +} +let Pe = null; +const ke = () => Pe || Ve; +let ci, + Zt, + Di = "__VUE_INSTANCE_SETTERS__"; +(Zt = mr()[Di]) || (Zt = mr()[Di] = []), + Zt.push((e) => (Pe = e)), + (ci = (e) => { + Zt.length > 1 ? Zt.forEach((t) => t(e)) : Zt[0](e); + }); +const un = (e) => { + ci(e), e.scope.on(); + }, + Dt = () => { + Pe && Pe.scope.off(), ci(null); + }; +function Xl(e) { + return e.vnode.shapeFlag & 4; +} +let Hn = !1; +function Gc(e, t = !1) { + Hn = t; + const { props: n, children: o } = e.vnode, + r = Xl(e); + Oc(e, n, r, t), Bc(e, o); + const i = r ? ef(e, t) : void 0; + return (Hn = !1), i; +} +function ef(e, t) { + const n = e.type; + (e.accessCache = Object.create(null)), (e.proxy = vn(new Proxy(e.ctx, Ec))); + const { setup: o } = n; + if (o) { + const r = (e.setupContext = o.length > 1 ? nf(e) : null); + un(e), gn(); + const i = Rt(o, e, 0, [e.props, r]); + if ((mn(), Dt(), el(i))) { + if ((i.then(Dt, Dt), t)) + return i + .then((s) => { + Hi(e, s, t); + }) + .catch((s) => { + Oo(s, e, 0); + }); + e.asyncDep = i; + } else Hi(e, i, t); + } else Gl(e, t); +} +function Hi(e, t, n) { + le(t) + ? e.type.__ssrInlineRender + ? (e.ssrRender = t) + : (e.render = t) + : ye(t) && (e.setupState = wl(t)), + Gl(e, n); +} +let zi; +function Gl(e, t, n) { + const o = e.type; + if (!e.render) { + if (!t && zi && !o.render) { + const r = o.template || si(e).template; + if (r) { + const { isCustomElement: i, compilerOptions: s } = e.appContext.config, + { delimiters: l, compilerOptions: a } = o, + c = Ce(Ce({ isCustomElement: i, delimiters: l }, s), a); + o.render = zi(r, c); + } + } + e.render = o.render || nt; + } + un(e), gn(), Sc(e), mn(), Dt(); +} +function tf(e) { + return ( + e.attrsProxy || + (e.attrsProxy = new Proxy(e.attrs, { + get(t, n) { + return Ie(e, "get", "$attrs"), t[n]; + }, + })) + ); +} +function nf(e) { + const t = (n) => { + e.exposed = n || {}; + }; + return { + get attrs() { + return tf(e); + }, + slots: e.slots, + emit: e.emit, + expose: t, + }; +} +function Vo(e) { + if (e.exposed) + return ( + e.exposeProxy || + (e.exposeProxy = new Proxy(wl(vn(e.exposed)), { + get(t, n) { + if (n in t) return t[n]; + if (n in Mn) return Mn[n](e); + }, + has(t, n) { + return n in t || n in Mn; + }, + })) + ); +} +function Rr(e, t = !0) { + return le(e) ? e.displayName || e.name : e.name || (t && e.__name); +} +function of(e) { + return le(e) && "__vccOpts" in e; +} +const R = (e, t) => Gu(e, t, Hn); +function E(e, t, n) { + const o = arguments.length; + return o === 2 + ? ye(t) && !te(t) + ? Co(t) + ? Fe(e, null, [t]) + : Fe(e, t) + : Fe(e, null, t) + : (o > 3 + ? (n = Array.prototype.slice.call(arguments, 2)) + : o === 3 && Co(n) && (n = [n]), + Fe(e, t, n)); +} +const rf = Symbol.for("v-scx"), + sf = () => ut(rf), + lf = "3.3.4", + af = "http://www.w3.org/2000/svg", + Bt = typeof document != "undefined" ? document : null, + Ki = Bt && Bt.createElement("template"), + uf = { + 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 + ? Bt.createElementNS(af, e) + : Bt.createElement(e, n ? { is: n } : void 0); + return ( + e === "select" && + o && + o.multiple != null && + r.setAttribute("multiple", o.multiple), + r + ); + }, + createText: (e) => Bt.createTextNode(e), + createComment: (e) => Bt.createComment(e), + setText: (e, t) => { + e.nodeValue = t; + }, + setElementText: (e, t) => { + e.textContent = t; + }, + parentNode: (e) => e.parentNode, + nextSibling: (e) => e.nextSibling, + querySelector: (e) => Bt.querySelector(e), + setScopeId(e, t) { + e.setAttribute(t, ""); + }, + insertStaticContent(e, t, n, o, r, i) { + const s = n ? n.previousSibling : t.lastChild; + if (r && (r === i || r.nextSibling)) + for ( + ; + t.insertBefore(r.cloneNode(!0), n), + !(r === i || !(r = r.nextSibling)); + + ); + else { + Ki.innerHTML = o ? `${e}` : e; + const l = Ki.content; + if (o) { + const a = l.firstChild; + for (; a.firstChild; ) l.appendChild(a.firstChild); + l.removeChild(a); + } + t.insertBefore(l, n); + } + return [ + s ? s.nextSibling : t.firstChild, + n ? n.previousSibling : t.lastChild, + ]; + }, + }; +function cf(e, t, n) { + const o = e._vtc; + o && (t = (t ? [t, ...o] : [...o]).join(" ")), + t == null + ? e.removeAttribute("class") + : n + ? e.setAttribute("class", t) + : (e.className = t); +} +function ff(e, t, n) { + const o = e.style, + r = xe(n); + if (n && !r) { + if (t && !xe(t)) for (const i in t) n[i] == null && Pr(o, i, ""); + for (const i in n) Pr(o, i, n[i]); + } else { + const i = o.display; + r ? t !== n && (o.cssText = n) : t && e.removeAttribute("style"), + "_vod" in e && (o.display = i); + } +} +const Ui = /\s*!important$/; +function Pr(e, t, n) { + if (te(n)) n.forEach((o) => Pr(e, t, o)); + else if ((n == null && (n = ""), t.startsWith("--"))) e.setProperty(t, n); + else { + const o = df(e, t); + Ui.test(n) + ? e.setProperty(Kt(o), n.replace(Ui, ""), "important") + : (e[o] = n); + } +} +const Wi = ["Webkit", "Moz", "ms"], + Xo = {}; +function df(e, t) { + const n = Xo[t]; + if (n) return n; + let o = ct(t); + if (o !== "filter" && o in e) return (Xo[t] = o); + o = Ao(o); + for (let r = 0; r < Wi.length; r++) { + const i = Wi[r] + o; + if (i in e) return (Xo[t] = i); + } + return t; +} +const Qi = "http://www.w3.org/1999/xlink"; +function hf(e, t, n, o, r) { + if (o && t.startsWith("xlink:")) + n == null + ? e.removeAttributeNS(Qi, t.slice(6, t.length)) + : e.setAttributeNS(Qi, t, n); + else { + const i = yu(t); + n == null || (i && !ol(n)) + ? e.removeAttribute(t) + : e.setAttribute(t, i ? "" : n); + } +} +function gf(e, t, n, o, r, i, s) { + if (t === "innerHTML" || t === "textContent") { + o && s(o, r, i), (e[t] = n == null ? "" : n); + return; + } + const l = e.tagName; + if (t === "value" && l !== "PROGRESS" && !l.includes("-")) { + e._value = n; + const c = l === "OPTION" ? e.getAttribute("value") : e.value, + u = n == null ? "" : n; + c !== u && (e.value = u), n == null && e.removeAttribute(t); + return; + } + let a = !1; + if (n === "" || n == null) { + const c = typeof e[t]; + c === "boolean" + ? (n = ol(n)) + : n == null && c === "string" + ? ((n = ""), (a = !0)) + : c === "number" && ((n = 0), (a = !0)); + } + try { + e[t] = n; + } catch {} + a && e.removeAttribute(t); +} +function mf(e, t, n, o) { + e.addEventListener(t, n, o); +} +function pf(e, t, n, o) { + e.removeEventListener(t, n, o); +} +function vf(e, t, n, o, r = null) { + const i = e._vei || (e._vei = {}), + s = i[t]; + if (o && s) s.value = o; + else { + const [l, a] = bf(t); + if (o) { + const c = (i[t] = wf(o, r)); + mf(e, l, c, a); + } else s && (pf(e, l, s, a), (i[t] = void 0)); + } +} +const Yi = /(?:Once|Passive|Capture)$/; +function bf(e) { + let t; + if (Yi.test(e)) { + t = {}; + let o; + for (; (o = e.match(Yi)); ) + (e = e.slice(0, e.length - o[0].length)), (t[o[0].toLowerCase()] = !0); + } + return [e[2] === ":" ? e.slice(3) : Kt(e.slice(2)), t]; +} +let Go = 0; +const yf = Promise.resolve(), + _f = () => Go || (yf.then(() => (Go = 0)), (Go = Date.now())); +function wf(e, t) { + const n = (o) => { + if (!o._vts) o._vts = Date.now(); + else if (o._vts <= n.attached) return; + Ue(xf(o, n.value), t, 5, [o]); + }; + return (n.value = e), (n.attached = _f()), n; +} +function xf(e, t) { + if (te(t)) { + const n = e.stopImmediatePropagation; + return ( + (e.stopImmediatePropagation = () => { + n.call(e), (e._stopped = !0); + }), + t.map((o) => (r) => !r._stopped && o && o(r)) + ); + } else return t; +} +const Zi = /^on[a-z]/, + Cf = (e, t, n, o, r = !1, i, s, l, a) => { + t === "class" + ? cf(e, o, r) + : t === "style" + ? ff(e, n, o) + : To(t) + ? Dr(t) || vf(e, t, n, o, s) + : ( + t[0] === "." + ? ((t = t.slice(1)), !0) + : t[0] === "^" + ? ((t = t.slice(1)), !1) + : kf(e, t, o, r) + ) + ? gf(e, t, o, i, s, l, a) + : (t === "true-value" + ? (e._trueValue = o) + : t === "false-value" && (e._falseValue = o), + hf(e, t, o, r)); + }; +function kf(e, t, n, o) { + return o + ? !!( + t === "innerHTML" || + t === "textContent" || + (t in e && Zi.test(t) && le(n)) + ) + : t === "spellcheck" || + t === "draggable" || + t === "translate" || + t === "form" || + (t === "list" && e.tagName === "INPUT") || + (t === "type" && e.tagName === "TEXTAREA") || + (Zi.test(t) && xe(n)) + ? !1 + : t in e; +} +const yt = "transition", + _n = "animation", + cn = (e, { slots: t }) => E(gc, ta(e), t); +cn.displayName = "Transition"; +const ea = { + 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, + }, + Ef = (cn.props = Ce({}, Ol, ea)), + Ot = (e, t = []) => { + te(e) ? e.forEach((n) => n(...t)) : e && e(...t); + }, + Ji = (e) => (e ? (te(e) ? e.some((t) => t.length > 1) : e.length > 1) : !1); +function ta(e) { + const t = {}; + for (const v in e) v in ea || (t[v] = e[v]); + if (e.css === !1) return t; + const { + name: n = "v", + type: o, + duration: r, + enterFromClass: i = `${n}-enter-from`, + enterActiveClass: s = `${n}-enter-active`, + enterToClass: l = `${n}-enter-to`, + appearFromClass: a = i, + appearActiveClass: c = s, + appearToClass: u = l, + leaveFromClass: d = `${n}-leave-from`, + leaveActiveClass: f = `${n}-leave-active`, + leaveToClass: p = `${n}-leave-to`, + } = e, + y = Sf(r), + T = y && y[0], + q = y && y[1], + { + onBeforeEnter: M, + onEnter: m, + onEnterCancelled: _, + onLeave: w, + onLeaveCancelled: F, + onBeforeAppear: j = M, + onAppear: V = m, + onAppearCancelled: N = _, + } = t, + C = (v, H, k) => { + wt(v, H ? u : l), wt(v, H ? c : s), k && k(); + }, + x = (v, H) => { + (v._isLeaving = !1), wt(v, d), wt(v, p), wt(v, f), H && H(); + }, + $ = (v) => (H, k) => { + const Z = v ? V : m, + Y = () => C(H, v, k); + Ot(Z, [H, Y]), + Xi(() => { + wt(H, v ? a : i), dt(H, v ? u : l), Ji(Z) || Gi(H, o, T, Y); + }); + }; + return Ce(t, { + onBeforeEnter(v) { + Ot(M, [v]), dt(v, i), dt(v, s); + }, + onBeforeAppear(v) { + Ot(j, [v]), dt(v, a), dt(v, c); + }, + onEnter: $(!1), + onAppear: $(!0), + onLeave(v, H) { + v._isLeaving = !0; + const k = () => x(v, H); + dt(v, d), + oa(), + dt(v, f), + Xi(() => { + !v._isLeaving || (wt(v, d), dt(v, p), Ji(w) || Gi(v, o, q, k)); + }), + Ot(w, [v, k]); + }, + onEnterCancelled(v) { + C(v, !1), Ot(_, [v]); + }, + onAppearCancelled(v) { + C(v, !0), Ot(N, [v]); + }, + onLeaveCancelled(v) { + x(v), Ot(F, [v]); + }, + }); +} +function Sf(e) { + if (e == null) return null; + if (ye(e)) return [er(e.enter), er(e.leave)]; + { + const t = er(e); + return [t, t]; + } +} +function er(e) { + return hu(e); +} +function dt(e, t) { + t.split(/\s+/).forEach((n) => n && e.classList.add(n)), + (e._vtc || (e._vtc = new Set())).add(t); +} +function wt(e, t) { + t.split(/\s+/).forEach((o) => o && e.classList.remove(o)); + const { _vtc: n } = e; + n && (n.delete(t), n.size || (e._vtc = void 0)); +} +function Xi(e) { + requestAnimationFrame(() => { + requestAnimationFrame(e); + }); +} +let Rf = 0; +function Gi(e, t, n, o) { + const r = (e._endId = ++Rf), + i = () => { + r === e._endId && o(); + }; + if (n) return setTimeout(i, n); + const { type: s, timeout: l, propCount: a } = na(e, t); + if (!s) return o(); + const c = s + "end"; + let u = 0; + const d = () => { + e.removeEventListener(c, f), i(); + }, + f = (p) => { + p.target === e && ++u >= a && d(); + }; + setTimeout(() => { + u < a && d(); + }, l + 1), + e.addEventListener(c, f); +} +function na(e, t) { + const n = window.getComputedStyle(e), + o = (y) => (n[y] || "").split(", "), + r = o(`${yt}Delay`), + i = o(`${yt}Duration`), + s = es(r, i), + l = o(`${_n}Delay`), + a = o(`${_n}Duration`), + c = es(l, a); + let u = null, + d = 0, + f = 0; + t === yt + ? s > 0 && ((u = yt), (d = s), (f = i.length)) + : t === _n + ? c > 0 && ((u = _n), (d = c), (f = a.length)) + : ((d = Math.max(s, c)), + (u = d > 0 ? (s > c ? yt : _n) : null), + (f = u ? (u === yt ? i.length : a.length) : 0)); + const p = + u === yt && /\b(transform|all)(,|$)/.test(o(`${yt}Property`).toString()); + return { type: u, timeout: d, propCount: f, hasTransform: p }; +} +function es(e, t) { + for (; e.length < t.length; ) e = e.concat(e); + return Math.max(...t.map((n, o) => ts(n) + ts(e[o]))); +} +function ts(e) { + return Number(e.slice(0, -1).replace(",", ".")) * 1e3; +} +function oa() { + return document.body.offsetHeight; +} +const ra = new WeakMap(), + ia = new WeakMap(), + sa = { + name: "TransitionGroup", + props: Ce({}, Ef, { tag: String, moveClass: String }), + setup(e, { slots: t }) { + const n = ke(), + o = Ml(); + let r, i; + return ( + ri(() => { + if (!r.length) return; + const s = e.moveClass || `${e.name || "v"}-move`; + if (!Of(r[0].el, n.vnode.el, s)) return; + r.forEach(qf), r.forEach(Af); + const l = r.filter(Mf); + oa(), + l.forEach((a) => { + const c = a.el, + u = c.style; + dt(c, s), + (u.transform = u.webkitTransform = u.transitionDuration = ""); + const d = (c._moveCb = (f) => { + (f && f.target !== c) || + ((!f || /transform$/.test(f.propertyName)) && + (c.removeEventListener("transitionend", d), + (c._moveCb = null), + wt(c, s))); + }); + c.addEventListener("transitionend", d); + }); + }), + () => { + const s = ie(e), + l = ta(s); + let a = s.tag || Xe; + (r = i), (i = t.default ? oi(t.default()) : []); + for (let c = 0; c < i.length; c++) { + const u = i[c]; + u.key != null && an(u, Vn(u, l, o, n)); + } + if (r) + for (let c = 0; c < r.length; c++) { + const u = r[c]; + an(u, Vn(u, l, o, n)), ra.set(u, u.el.getBoundingClientRect()); + } + return Fe(a, null, i); + } + ); + }, + }, + Pf = (e) => delete e.mode; +sa.props; +const Tf = sa; +function qf(e) { + const t = e.el; + t._moveCb && t._moveCb(), t._enterCb && t._enterCb(); +} +function Af(e) { + ia.set(e, e.el.getBoundingClientRect()); +} +function Mf(e) { + const t = ra.get(e), + n = ia.get(e), + o = t.left - n.left, + r = t.top - n.top; + if (o || r) { + const i = e.el.style; + return ( + (i.transform = i.webkitTransform = `translate(${o}px,${r}px)`), + (i.transitionDuration = "0s"), + e + ); + } +} +function Of(e, t, n) { + const o = e.cloneNode(); + e._vtc && + e._vtc.forEach((s) => { + s.split(/\s+/).forEach((l) => l && o.classList.remove(l)); + }), + n.split(/\s+/).forEach((s) => s && o.classList.add(s)), + (o.style.display = "none"); + const r = t.nodeType === 1 ? t : t.parentNode; + r.appendChild(o); + const { hasTransform: i } = na(o); + return r.removeChild(o), i; +} +const $f = { + esc: "escape", + space: " ", + up: "arrow-up", + left: "arrow-left", + right: "arrow-right", + down: "arrow-down", + delete: "backspace", + }, + Em = (e, t) => (n) => { + if (!("key" in n)) return; + const o = Kt(n.key); + if (t.some((r) => r === o || $f[r] === o)) return e(n); + }, + Sm = { + beforeMount(e, { value: t }, { transition: n }) { + (e._vod = e.style.display === "none" ? "" : e.style.display), + n && t ? n.beforeEnter(e) : wn(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), wn(e, !0), o.enter(e)) + : o.leave(e, () => { + wn(e, !1); + }) + : wn(e, t)); + }, + beforeUnmount(e, { value: t }) { + wn(e, t); + }, + }; +function wn(e, t) { + e.style.display = t ? e._vod : "none"; +} +const Lf = Ce({ patchProp: Cf }, uf); +let ns; +function Bf() { + return ns || (ns = Ic(Lf)); +} +const la = (...e) => { + const t = Bf().createApp(...e), + { mount: n } = t; + return ( + (t.mount = (o) => { + const r = Ff(o); + if (!r) return; + const i = t._component; + !le(i) && !i.render && !i.template && (i.template = r.innerHTML), + (r.innerHTML = ""); + const s = n(r, !1, r instanceof SVGElement); + return ( + r instanceof Element && + (r.removeAttribute("v-cloak"), r.setAttribute("data-v-app", "")), + s + ); + }), + t + ); +}; +function Ff(e) { + return xe(e) ? document.querySelector(e) : e; +} +function bn(e, t, n, o) { + return Object.defineProperty(e, t, { get: n, set: o, enumerable: !0 }), e; +} +const qt = he(!1); +let Do; +function If(e, t) { + const n = + /(edg|edge|edga|edgios)\/([\w.]+)/.exec(e) || + /(opr)[\/]([\w.]+)/.exec(e) || + /(vivaldi)[\/]([\w.]+)/.exec(e) || + /(chrome|crios)[\/]([\w.]+)/.exec(e) || + /(version)(applewebkit)[\/]([\w.]+).*(safari)[\/]([\w.]+)/.exec(e) || + /(webkit)[\/]([\w.]+).*(version)[\/]([\w.]+).*(safari)[\/]([\w.]+)/.exec( + e + ) || + /(firefox|fxios)[\/]([\w.]+)/.exec(e) || + /(webkit)[\/]([\w.]+)/.exec(e) || + /(opera)(?:.*version|)[\/]([\w.]+)/.exec(e) || + []; + return { + browser: n[5] || n[3] || n[1] || "", + version: n[2] || n[4] || "0", + versionNumber: n[4] || n[2] || "0", + platform: t[0] || "", + }; +} +function Nf(e) { + return ( + /(ipad)/.exec(e) || + /(ipod)/.exec(e) || + /(windows phone)/.exec(e) || + /(iphone)/.exec(e) || + /(kindle)/.exec(e) || + /(silk)/.exec(e) || + /(android)/.exec(e) || + /(win)/.exec(e) || + /(mac)/.exec(e) || + /(linux)/.exec(e) || + /(cros)/.exec(e) || + /(playbook)/.exec(e) || + /(bb)/.exec(e) || + /(blackberry)/.exec(e) || + [] + ); +} +const aa = "ontouchstart" in window || window.navigator.maxTouchPoints > 0; +function jf(e) { + (Do = { is: { ...e } }), delete e.mac, delete e.desktop; + const t = + Math.min(window.innerHeight, window.innerWidth) > 414 ? "ipad" : "iphone"; + Object.assign(e, { mobile: !0, ios: !0, platform: t, [t]: !0 }); +} +function Vf(e) { + const t = e.toLowerCase(), + n = Nf(t), + o = If(t, n), + r = {}; + o.browser && + ((r[o.browser] = !0), + (r.version = o.version), + (r.versionNumber = parseInt(o.versionNumber, 10))), + o.platform && (r[o.platform] = !0); + const i = + r.android || + r.ios || + r.bb || + r.blackberry || + r.ipad || + r.iphone || + r.ipod || + r.kindle || + r.playbook || + r.silk || + r["windows phone"]; + return ( + i === !0 || t.indexOf("mobile") > -1 + ? ((r.mobile = !0), + r.edga || r.edgios + ? ((r.edge = !0), (o.browser = "edge")) + : r.crios + ? ((r.chrome = !0), (o.browser = "chrome")) + : r.fxios && ((r.firefox = !0), (o.browser = "firefox"))) + : (r.desktop = !0), + (r.ipod || r.ipad || r.iphone) && (r.ios = !0), + r["windows phone"] && ((r.winphone = !0), delete r["windows phone"]), + (r.chrome || + r.opr || + r.safari || + r.vivaldi || + (r.mobile === !0 && r.ios !== !0 && i !== !0)) && + (r.webkit = !0), + r.edg && ((o.browser = "edgechromium"), (r.edgeChromium = !0)), + ((r.safari && r.blackberry) || r.bb) && + ((o.browser = "blackberry"), (r.blackberry = !0)), + r.safari && r.playbook && ((o.browser = "playbook"), (r.playbook = !0)), + r.opr && ((o.browser = "opera"), (r.opera = !0)), + r.safari && r.android && ((o.browser = "android"), (r.android = !0)), + r.safari && r.kindle && ((o.browser = "kindle"), (r.kindle = !0)), + r.safari && r.silk && ((o.browser = "silk"), (r.silk = !0)), + r.vivaldi && ((o.browser = "vivaldi"), (r.vivaldi = !0)), + (r.name = o.browser), + (r.platform = o.platform), + t.indexOf("electron") > -1 + ? (r.electron = !0) + : document.location.href.indexOf("-extension://") > -1 + ? (r.bex = !0) + : (window.Capacitor !== void 0 + ? ((r.capacitor = !0), + (r.nativeMobile = !0), + (r.nativeMobileWrapper = "capacitor")) + : (window._cordovaNative !== void 0 || window.cordova !== void 0) && + ((r.cordova = !0), + (r.nativeMobile = !0), + (r.nativeMobileWrapper = "cordova")), + aa === !0 && + r.mac === !0 && + ((r.desktop === !0 && r.safari === !0) || + (r.nativeMobile === !0 && + r.android !== !0 && + r.ios !== !0 && + r.ipad !== !0)) && + jf(r)), + r + ); +} +const os = navigator.userAgent || navigator.vendor || window.opera, + Df = { has: { touch: !1, webStorage: !1 }, within: { iframe: !1 } }, + we = { + userAgent: os, + is: Vf(os), + has: { touch: aa }, + within: { iframe: window.self !== window.top }, + }, + Tr = { + install(e) { + const { $q: t } = e; + qt.value === !0 + ? (e.onSSRHydrated.push(() => { + Object.assign(t.platform, we), (qt.value = !1), (Do = void 0); + }), + (t.platform = pn(this))) + : (t.platform = this); + }, + }; +{ + let e; + bn(we.has, "webStorage", () => { + if (e !== void 0) return e; + try { + if (window.localStorage) return (e = !0), !0; + } catch {} + return (e = !1), !1; + }), + we.is.ios === !0 && window.navigator.vendor.toLowerCase().indexOf("apple"), + qt.value === !0 ? Object.assign(Tr, we, Do, Df) : Object.assign(Tr, we); +} +var Ho = (e, t) => { + const n = pn(e); + for (const o in e) + bn( + t, + o, + () => n[o], + (r) => { + n[o] = r; + } + ); + return t; +}; +const Be = { hasPassive: !1, passiveCapture: !0, notPassiveCapture: !0 }; +try { + const e = Object.defineProperty({}, "passive", { + get() { + Object.assign(Be, { + hasPassive: !0, + passive: { passive: !0 }, + notPassive: { passive: !1 }, + passiveCapture: { passive: !0, capture: !0 }, + notPassiveCapture: { passive: !1, capture: !0 }, + }); + }, + }); + window.addEventListener("qtest", null, e), + window.removeEventListener("qtest", null, e); +} catch {} +function Pt() {} +function Rm(e) { + return e.button === 0; +} +function Hf(e) { + return ( + e.touches && e.touches[0] + ? (e = e.touches[0]) + : e.changedTouches && e.changedTouches[0] + ? (e = e.changedTouches[0]) + : e.targetTouches && e.targetTouches[0] && (e = e.targetTouches[0]), + { top: e.clientY, left: e.clientX } + ); +} +function zf(e) { + if (e.path) return e.path; + if (e.composedPath) return e.composedPath(); + const t = []; + let n = e.target; + for (; n; ) { + if ((t.push(n), n.tagName === "HTML")) + return t.push(document), t.push(window), t; + n = n.parentElement; + } +} +function ko(e) { + e.stopPropagation(); +} +function Et(e) { + e.cancelable !== !1 && e.preventDefault(); +} +function Ke(e) { + e.cancelable !== !1 && e.preventDefault(), e.stopPropagation(); +} +function Pm(e, t) { + if (e === void 0 || (t === !0 && e.__dragPrevented === !0)) return; + const n = + t === !0 + ? (o) => { + (o.__dragPrevented = !0), + o.addEventListener("dragstart", Et, Be.notPassiveCapture); + } + : (o) => { + delete o.__dragPrevented, + o.removeEventListener("dragstart", Et, Be.notPassiveCapture); + }; + e.querySelectorAll("a, img").forEach(n); +} +function Kf(e, t, n) { + const o = `__q_${t}_evt`; + (e[o] = e[o] !== void 0 ? e[o].concat(n) : n), + n.forEach((r) => { + r[0].addEventListener(r[1], e[r[2]], Be[r[3]]); + }); +} +function Uf(e, t) { + const n = `__q_${t}_evt`; + e[n] !== void 0 && + (e[n].forEach((o) => { + o[0].removeEventListener(o[1], e[o[2]], Be[o[3]]); + }), + (e[n] = void 0)); +} +function ua(e, t = 250, n) { + let o = null; + function r() { + const i = arguments, + s = () => { + (o = null), n !== !0 && e.apply(this, i); + }; + o !== null ? clearTimeout(o) : n === !0 && e.apply(this, i), + (o = setTimeout(s, t)); + } + return ( + (r.cancel = () => { + o !== null && clearTimeout(o); + }), + r + ); +} +const tr = ["sm", "md", "lg", "xl"], + { passive: rs } = Be; +var Wf = Ho( + { + width: 0, + height: 0, + name: "xs", + sizes: { sm: 600, md: 1024, lg: 1440, xl: 1920 }, + lt: { sm: !0, md: !0, lg: !0, xl: !0 }, + gt: { xs: !1, sm: !1, md: !1, lg: !1 }, + xs: !0, + sm: !1, + md: !1, + lg: !1, + xl: !1, + }, + { + setSizes: Pt, + setDebounce: Pt, + install({ $q: e, onSSRHydrated: t }) { + if (((e.screen = this), this.__installed === !0)) { + e.config.screen !== void 0 && + (e.config.screen.bodyClasses === !1 + ? document.body.classList.remove(`screen--${this.name}`) + : this.__update(!0)); + return; + } + const { visualViewport: n } = window, + o = n || window, + r = document.scrollingElement || document.documentElement, + i = + n === void 0 || we.is.mobile === !0 + ? () => [ + Math.max(window.innerWidth, r.clientWidth), + Math.max(window.innerHeight, r.clientHeight), + ] + : () => [ + n.width * n.scale + window.innerWidth - r.clientWidth, + n.height * n.scale + window.innerHeight - r.clientHeight, + ], + s = e.config.screen !== void 0 && e.config.screen.bodyClasses === !0; + this.__update = (d) => { + const [f, p] = i(); + if ((p !== this.height && (this.height = p), f !== this.width)) + this.width = f; + else if (d !== !0) return; + let y = this.sizes; + (this.gt.xs = f >= y.sm), + (this.gt.sm = f >= y.md), + (this.gt.md = f >= y.lg), + (this.gt.lg = f >= y.xl), + (this.lt.sm = f < y.sm), + (this.lt.md = f < y.md), + (this.lt.lg = f < y.lg), + (this.lt.xl = f < y.xl), + (this.xs = this.lt.sm), + (this.sm = this.gt.xs === !0 && this.lt.md === !0), + (this.md = this.gt.sm === !0 && this.lt.lg === !0), + (this.lg = this.gt.md === !0 && this.lt.xl === !0), + (this.xl = this.gt.lg), + (y = + (this.xs === !0 && "xs") || + (this.sm === !0 && "sm") || + (this.md === !0 && "md") || + (this.lg === !0 && "lg") || + "xl"), + y !== this.name && + (s === !0 && + (document.body.classList.remove(`screen--${this.name}`), + document.body.classList.add(`screen--${y}`)), + (this.name = y)); + }; + let l, + a = {}, + c = 16; + (this.setSizes = (d) => { + tr.forEach((f) => { + d[f] !== void 0 && (a[f] = d[f]); + }); + }), + (this.setDebounce = (d) => { + c = d; + }); + const u = () => { + const d = getComputedStyle(document.body); + d.getPropertyValue("--q-size-sm") && + tr.forEach((f) => { + this.sizes[f] = parseInt(d.getPropertyValue(`--q-size-${f}`), 10); + }), + (this.setSizes = (f) => { + tr.forEach((p) => { + f[p] && (this.sizes[p] = f[p]); + }), + this.__update(!0); + }), + (this.setDebounce = (f) => { + l !== void 0 && o.removeEventListener("resize", l, rs), + (l = f > 0 ? ua(this.__update, f) : this.__update), + o.addEventListener("resize", l, rs); + }), + this.setDebounce(c), + Object.keys(a).length !== 0 + ? (this.setSizes(a), (a = void 0)) + : this.__update(), + s === !0 && + this.name === "xs" && + document.body.classList.add("screen--xs"); + }; + qt.value === !0 ? t.push(u) : u(); + }, + } +); +const Ae = Ho( + { isActive: !1, mode: !1 }, + { + __media: void 0, + set(e) { + (Ae.mode = e), + e === "auto" + ? (Ae.__media === void 0 && + ((Ae.__media = window.matchMedia( + "(prefers-color-scheme: dark)" + )), + (Ae.__updateMedia = () => { + Ae.set("auto"); + }), + Ae.__media.addListener(Ae.__updateMedia)), + (e = Ae.__media.matches)) + : Ae.__media !== void 0 && + (Ae.__media.removeListener(Ae.__updateMedia), + (Ae.__media = void 0)), + (Ae.isActive = e === !0), + document.body.classList.remove( + `body--${e === !0 ? "light" : "dark"}` + ), + document.body.classList.add(`body--${e === !0 ? "dark" : "light"}`); + }, + toggle() { + Ae.set(Ae.isActive === !1); + }, + install({ $q: e, onSSRHydrated: t, ssrContext: n }) { + const { dark: o } = e.config; + if (((e.dark = this), this.__installed === !0 && o === void 0)) return; + this.isActive = o === !0; + const r = o !== void 0 ? o : !1; + if (qt.value === !0) { + const i = (l) => { + this.__fromSSR = l; + }, + s = this.set; + (this.set = i), + i(r), + t.push(() => { + (this.set = s), this.set(this.__fromSSR); + }); + } else this.set(r); + }, + } + ), + ca = () => !0; +function Qf(e) { + return typeof e == "string" && e !== "" && e !== "/" && e !== "#/"; +} +function Yf(e) { + return ( + e.startsWith("#") === !0 && (e = e.substring(1)), + e.startsWith("/") === !1 && (e = "/" + e), + e.endsWith("/") === !0 && (e = e.substring(0, e.length - 1)), + "#" + e + ); +} +function Zf(e) { + if (e.backButtonExit === !1) return () => !1; + if (e.backButtonExit === "*") return ca; + const t = ["#/"]; + return ( + Array.isArray(e.backButtonExit) === !0 && + t.push(...e.backButtonExit.filter(Qf).map(Yf)), + () => t.includes(window.location.hash) + ); +} +var qr = { + __history: [], + add: Pt, + remove: Pt, + install({ $q: e }) { + if (this.__installed === !0) return; + const { cordova: t, capacitor: n } = we.is; + if (t !== !0 && n !== !0) return; + const o = e.config[t === !0 ? "cordova" : "capacitor"]; + if ( + (o !== void 0 && o.backButton === !1) || + (n === !0 && + (window.Capacitor === void 0 || + window.Capacitor.Plugins.App === void 0)) + ) + return; + (this.add = (s) => { + s.condition === void 0 && (s.condition = ca), this.__history.push(s); + }), + (this.remove = (s) => { + const l = this.__history.indexOf(s); + l >= 0 && this.__history.splice(l, 1); + }); + const r = Zf(Object.assign({ backButtonExit: !0 }, o)), + i = () => { + if (this.__history.length) { + const s = this.__history[this.__history.length - 1]; + s.condition() === !0 && (this.__history.pop(), s.handler()); + } else r() === !0 ? navigator.app.exitApp() : window.history.back(); + }; + t === !0 + ? document.addEventListener("deviceready", () => { + document.addEventListener("backbutton", i, !1); + }) + : window.Capacitor.Plugins.App.addListener("backButton", i); + }, + }, + is = { + isoName: "en-US", + nativeName: "English (US)", + label: { + clear: "Clear", + ok: "OK", + cancel: "Cancel", + close: "Close", + set: "Set", + select: "Select", + reset: "Reset", + remove: "Remove", + update: "Update", + create: "Create", + search: "Search", + filter: "Filter", + refresh: "Refresh", + expand: (e) => (e ? `Expand "${e}"` : "Expand"), + collapse: (e) => (e ? `Collapse "${e}"` : "Collapse"), + }, + date: { + days: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split( + "_" + ), + daysShort: "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"), + months: + "January_February_March_April_May_June_July_August_September_October_November_December".split( + "_" + ), + monthsShort: "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"), + firstDayOfWeek: 0, + format24h: !1, + pluralDay: "days", + }, + table: { + noData: "No data available", + noResults: "No matching records found", + loading: "Loading...", + selectedRecords: (e) => + e === 1 + ? "1 record selected." + : (e === 0 ? "No" : e) + " records selected.", + recordsPerPage: "Records per page:", + allRows: "All", + pagination: (e, t, n) => e + "-" + t + " of " + n, + columns: "Columns", + }, + editor: { + url: "URL", + bold: "Bold", + italic: "Italic", + strikethrough: "Strikethrough", + underline: "Underline", + unorderedList: "Unordered List", + orderedList: "Ordered List", + subscript: "Subscript", + superscript: "Superscript", + hyperlink: "Hyperlink", + toggleFullscreen: "Toggle Fullscreen", + quote: "Quote", + left: "Left align", + center: "Center align", + right: "Right align", + justify: "Justify align", + print: "Print", + outdent: "Decrease indentation", + indent: "Increase indentation", + removeFormat: "Remove formatting", + formatting: "Formatting", + fontSize: "Font Size", + align: "Align", + hr: "Insert Horizontal Rule", + undo: "Undo", + redo: "Redo", + heading1: "Heading 1", + heading2: "Heading 2", + heading3: "Heading 3", + heading4: "Heading 4", + heading5: "Heading 5", + heading6: "Heading 6", + paragraph: "Paragraph", + code: "Code", + size1: "Very small", + size2: "A bit small", + size3: "Normal", + size4: "Medium-large", + size5: "Big", + size6: "Very big", + size7: "Maximum", + defaultFont: "Default Font", + viewSource: "View Source", + }, + tree: { + noNodes: "No nodes available", + noResults: "No matching nodes found", + }, + }; +function ss() { + const e = + Array.isArray(navigator.languages) === !0 && + navigator.languages.length !== 0 + ? navigator.languages[0] + : navigator.language; + if (typeof e == "string") + return e + .split(/[-_]/) + .map((t, n) => + n === 0 + ? t.toLowerCase() + : n > 1 || t.length < 4 + ? t.toUpperCase() + : t[0].toUpperCase() + t.slice(1).toLowerCase() + ) + .join("-"); +} +const Ze = Ho( + { __langPack: {} }, + { + getLocale: ss, + set(e = is, t) { + const n = { ...e, rtl: e.rtl === !0, getLocale: ss }; + { + if ( + ((n.set = Ze.set), + Ze.__langConfig === void 0 || Ze.__langConfig.noHtmlAttrs !== !0) + ) { + const o = document.documentElement; + o.setAttribute("dir", n.rtl === !0 ? "rtl" : "ltr"), + o.setAttribute("lang", n.isoName); + } + Object.assign(Ze.__langPack, n), + (Ze.props = n), + (Ze.isoName = n.isoName), + (Ze.nativeName = n.nativeName); + } + }, + install({ $q: e, lang: t, ssrContext: n }) { + (e.lang = Ze.__langPack), + (Ze.__langConfig = e.config.lang), + this.__installed === !0 + ? t !== void 0 && this.set(t) + : this.set(t || is); + }, + } +); +function Jf(e, t, n = document.body) { + if (typeof e != "string") + throw new TypeError("Expected a string as propName"); + if (typeof t != "string") throw new TypeError("Expected a string as value"); + if (!(n instanceof Element)) throw new TypeError("Expected a DOM element"); + n.style.setProperty(`--q-${e}`, t); +} +let fa = !1; +function Xf(e) { + fa = e.isComposing === !0; +} +function da(e) { + return ( + fa === !0 || e !== Object(e) || e.isComposing === !0 || e.qKeyEvent === !0 + ); +} +function zn(e, t) { + return da(e) === !0 ? !1 : [].concat(t).includes(e.keyCode); +} +function ha(e) { + if (e.ios === !0) return "ios"; + if (e.android === !0) return "android"; +} +function Gf({ is: e, has: t, within: n }, o) { + const r = [ + e.desktop === !0 ? "desktop" : "mobile", + `${t.touch === !1 ? "no-" : ""}touch`, + ]; + if (e.mobile === !0) { + const i = ha(e); + i !== void 0 && r.push("platform-" + i); + } + if (e.nativeMobile === !0) { + const i = e.nativeMobileWrapper; + r.push(i), + r.push("native-mobile"), + e.ios === !0 && + (o[i] === void 0 || o[i].iosStatusBarPadding !== !1) && + r.push("q-ios-padding"); + } else e.electron === !0 ? r.push("electron") : e.bex === !0 && r.push("bex"); + return n.iframe === !0 && r.push("within-iframe"), r; +} +function ed() { + const { is: e } = we, + t = document.body.className, + n = new Set(t.replace(/ {2}/g, " ").split(" ")); + if (Do !== void 0) + n.delete("desktop"), n.add("platform-ios"), n.add("mobile"); + else if (e.nativeMobile !== !0 && e.electron !== !0 && e.bex !== !0) { + if (e.desktop === !0) + n.delete("mobile"), + n.delete("platform-ios"), + n.delete("platform-android"), + n.add("desktop"); + else if (e.mobile === !0) { + n.delete("desktop"), n.add("mobile"); + const r = ha(e); + r !== void 0 + ? (n.add(`platform-${r}`), + n.delete(`platform-${r === "ios" ? "android" : "ios"}`)) + : (n.delete("platform-ios"), n.delete("platform-android")); + } + } + we.has.touch === !0 && (n.delete("no-touch"), n.add("touch")), + we.within.iframe === !0 && n.add("within-iframe"); + const o = Array.from(n).join(" "); + t !== o && (document.body.className = o); +} +function td(e) { + for (const t in e) Jf(t, e[t]); +} +var nd = { + install(e) { + if (this.__installed !== !0) { + if (qt.value === !0) ed(); + else { + const { $q: t } = e; + t.config.brand !== void 0 && td(t.config.brand); + const n = Gf(we, t.config); + document.body.classList.add.apply(document.body.classList, n); + } + we.is.ios === !0 && document.body.addEventListener("touchstart", Pt), + window.addEventListener("keydown", Xf, !0); + } + }, + }, + od = { + name: "material-icons", + type: { + positive: "check_circle", + negative: "warning", + info: "info", + warning: "priority_high", + }, + arrow: { + up: "arrow_upward", + right: "arrow_forward", + down: "arrow_downward", + left: "arrow_back", + dropdown: "arrow_drop_down", + }, + chevron: { left: "chevron_left", right: "chevron_right" }, + colorPicker: { spectrum: "gradient", tune: "tune", palette: "style" }, + pullToRefresh: { icon: "refresh" }, + carousel: { + left: "chevron_left", + right: "chevron_right", + up: "keyboard_arrow_up", + down: "keyboard_arrow_down", + navigationIcon: "lens", + }, + chip: { remove: "cancel", selected: "check" }, + datetime: { + arrowLeft: "chevron_left", + arrowRight: "chevron_right", + now: "access_time", + today: "today", + }, + editor: { + bold: "format_bold", + italic: "format_italic", + strikethrough: "strikethrough_s", + underline: "format_underlined", + unorderedList: "format_list_bulleted", + orderedList: "format_list_numbered", + subscript: "vertical_align_bottom", + superscript: "vertical_align_top", + hyperlink: "link", + toggleFullscreen: "fullscreen", + quote: "format_quote", + left: "format_align_left", + center: "format_align_center", + right: "format_align_right", + justify: "format_align_justify", + print: "print", + outdent: "format_indent_decrease", + indent: "format_indent_increase", + removeFormat: "format_clear", + formatting: "text_format", + fontSize: "format_size", + align: "format_align_left", + hr: "remove", + undo: "undo", + redo: "redo", + heading: "format_size", + code: "code", + size: "format_size", + font: "font_download", + viewSource: "code", + }, + expansionItem: { + icon: "keyboard_arrow_down", + denseIcon: "arrow_drop_down", + }, + fab: { icon: "add", activeIcon: "close" }, + field: { clear: "cancel", error: "error" }, + pagination: { + first: "first_page", + prev: "keyboard_arrow_left", + next: "keyboard_arrow_right", + last: "last_page", + }, + rating: { icon: "grade" }, + stepper: { done: "check", active: "edit", error: "warning" }, + tabs: { + left: "chevron_left", + right: "chevron_right", + up: "keyboard_arrow_up", + down: "keyboard_arrow_down", + }, + table: { + arrowUp: "arrow_upward", + warning: "warning", + firstPage: "first_page", + prevPage: "chevron_left", + nextPage: "chevron_right", + lastPage: "last_page", + }, + tree: { icon: "play_arrow" }, + uploader: { + done: "done", + clear: "clear", + add: "add_box", + upload: "cloud_upload", + removeQueue: "clear_all", + removeUploaded: "done_all", + }, + }; +const Eo = Ho( + { iconMapFn: null, __icons: {} }, + { + set(e, t) { + const n = { ...e, rtl: e.rtl === !0 }; + (n.set = Eo.set), Object.assign(Eo.__icons, n); + }, + install({ $q: e, iconSet: t, ssrContext: n }) { + e.config.iconMapFn !== void 0 && (this.iconMapFn = e.config.iconMapFn), + (e.iconSet = this.__icons), + bn( + e, + "iconMapFn", + () => this.iconMapFn, + (o) => { + this.iconMapFn = o; + } + ), + this.__installed === !0 + ? t !== void 0 && this.set(t) + : this.set(t || od); + }, + } + ), + rd = "_q_", + Tm = "_q_l_", + qm = "_q_pc_", + id = "_q_fo_", + Am = "_q_tabs_", + Mm = () => {}, + So = {}; +let ga = !1; +function sd() { + ga = !0; +} +function nr(e, t) { + if (e === t) return !0; + if ( + e !== null && + t !== null && + typeof e == "object" && + typeof t == "object" + ) { + if (e.constructor !== t.constructor) return !1; + let n, o; + if (e.constructor === Array) { + if (((n = e.length), n !== t.length)) return !1; + for (o = n; o-- !== 0; ) if (nr(e[o], t[o]) !== !0) return !1; + return !0; + } + if (e.constructor === Map) { + if (e.size !== t.size) return !1; + let i = e.entries(); + for (o = i.next(); o.done !== !0; ) { + if (t.has(o.value[0]) !== !0) return !1; + o = i.next(); + } + for (i = e.entries(), o = i.next(); o.done !== !0; ) { + if (nr(o.value[1], t.get(o.value[0])) !== !0) return !1; + o = i.next(); + } + return !0; + } + if (e.constructor === Set) { + if (e.size !== t.size) return !1; + const i = e.entries(); + for (o = i.next(); o.done !== !0; ) { + if (t.has(o.value[0]) !== !0) return !1; + o = i.next(); + } + return !0; + } + if (e.buffer != null && e.buffer.constructor === ArrayBuffer) { + if (((n = e.length), n !== t.length)) return !1; + for (o = n; o-- !== 0; ) if (e[o] !== t[o]) return !1; + return !0; + } + if (e.constructor === RegExp) + return e.source === t.source && e.flags === t.flags; + if (e.valueOf !== Object.prototype.valueOf) + return e.valueOf() === t.valueOf(); + if (e.toString !== Object.prototype.toString) + return e.toString() === t.toString(); + const r = Object.keys(e).filter((i) => e[i] !== void 0); + if ( + ((n = r.length), + n !== Object.keys(t).filter((i) => t[i] !== void 0).length) + ) + return !1; + for (o = n; o-- !== 0; ) { + const i = r[o]; + if (nr(e[i], t[i]) !== !0) return !1; + } + return !0; + } + return e !== e && t !== t; +} +function at(e) { + return e !== null && typeof e == "object" && Array.isArray(e) !== !0; +} +function ld(e) { + return Object.prototype.toString.call(e) === "[object Date]"; +} +function ad(e) { + return Object.prototype.toString.call(e) === "[object RegExp]"; +} +function Om(e) { + return typeof e == "number" && isFinite(e); +} +const ls = [Tr, nd, Ae, Wf, qr, Ze, Eo]; +function ma(e, t) { + const n = la(e); + n.config.globalProperties = t.config.globalProperties; + const { reload: o, ...r } = t._context; + return Object.assign(n._context, r), n; +} +function as(e, t) { + t.forEach((n) => { + n.install(e), (n.__installed = !0); + }); +} +function ud(e, t, n) { + (e.config.globalProperties.$q = n.$q), + e.provide(rd, n.$q), + as(n, ls), + t.components !== void 0 && + Object.values(t.components).forEach((o) => { + at(o) === !0 && o.name !== void 0 && e.component(o.name, o); + }), + t.directives !== void 0 && + Object.values(t.directives).forEach((o) => { + at(o) === !0 && o.name !== void 0 && e.directive(o.name, o); + }), + t.plugins !== void 0 && + as( + n, + Object.values(t.plugins).filter( + (o) => typeof o.install == "function" && ls.includes(o) === !1 + ) + ), + qt.value === !0 && + (n.$q.onSSRHydrated = () => { + n.onSSRHydrated.forEach((o) => { + o(); + }), + (n.$q.onSSRHydrated = () => {}); + }); +} +var cd = function (e, t = {}) { + const n = { version: "2.12.4" }; + ga === !1 + ? (t.config !== void 0 && Object.assign(So, t.config), + (n.config = { ...So }), + sd()) + : (n.config = t.config || {}), + ud(e, t, { + parentApp: e, + $q: n, + lang: t.lang, + iconSet: t.iconSet, + onSSRHydrated: [], + }); + }, + fd = { version: "2.12.4", install: cd, lang: Ze, iconSet: Eo }, + dd = (e, t) => { + const n = e.__vccOpts || e; + for (const [o, r] of t) n[o] = r; + return n; + }; +const hd = Lo({ name: "App" }); +function gd(e, t, n, o, r, i) { + const s = xc("router-view"); + return Wl(), Yl(s); +} +var md = dd(hd, [["render", gd]]); +/*! + * vue-router v4.2.4 + * (c) 2023 Eduardo San Martin Morote + * @license MIT + */ const en = typeof window != "undefined"; +function pd(e) { + return e.__esModule || e[Symbol.toStringTag] === "Module"; +} +const ge = Object.assign; +function or(e, t) { + const n = {}; + for (const o in t) { + const r = t[o]; + n[o] = rt(r) ? r.map(e) : e(r); + } + return n; +} +const Ln = () => {}, + rt = Array.isArray, + vd = /\/$/, + bd = (e) => e.replace(vd, ""); +function rr(e, t, n = "/") { + let o, + r = {}, + i = "", + s = ""; + const l = t.indexOf("#"); + let a = t.indexOf("?"); + return ( + l < a && l >= 0 && (a = -1), + a > -1 && + ((o = t.slice(0, a)), + (i = t.slice(a + 1, l > -1 ? l : t.length)), + (r = e(i))), + l > -1 && ((o = o || t.slice(0, l)), (s = t.slice(l, t.length))), + (o = xd(o != null ? o : t, n)), + { fullPath: o + (i && "?") + i + s, path: o, query: r, hash: s } + ); +} +function yd(e, t) { + const n = t.query ? e(t.query) : ""; + return t.path + (n && "?") + n + (t.hash || ""); +} +function us(e, t) { + return !t || !e.toLowerCase().startsWith(t.toLowerCase()) + ? e + : e.slice(t.length) || "/"; +} +function _d(e, t, n) { + const o = t.matched.length - 1, + r = n.matched.length - 1; + return ( + o > -1 && + o === r && + fn(t.matched[o], n.matched[r]) && + pa(t.params, n.params) && + e(t.query) === e(n.query) && + t.hash === n.hash + ); +} +function fn(e, t) { + return (e.aliasOf || e) === (t.aliasOf || t); +} +function pa(e, t) { + if (Object.keys(e).length !== Object.keys(t).length) return !1; + for (const n in e) if (!wd(e[n], t[n])) return !1; + return !0; +} +function wd(e, t) { + return rt(e) ? cs(e, t) : rt(t) ? cs(t, e) : e === t; +} +function cs(e, t) { + return rt(t) + ? e.length === t.length && e.every((n, o) => n === t[o]) + : e.length === 1 && e[0] === t; +} +function xd(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 = n.length - 1, + s, + l; + for (s = 0; s < o.length; s++) + if (((l = o[s]), l !== ".")) + if (l === "..") i > 1 && i--; + else break; + return ( + n.slice(0, i).join("/") + + "/" + + o.slice(s - (s === o.length ? 1 : 0)).join("/") + ); +} +var Kn; +(function (e) { + (e.pop = "pop"), (e.push = "push"); +})(Kn || (Kn = {})); +var Bn; +(function (e) { + (e.back = "back"), (e.forward = "forward"), (e.unknown = ""); +})(Bn || (Bn = {})); +function Cd(e) { + if (!e) + if (en) { + const t = document.querySelector("base"); + (e = (t && t.getAttribute("href")) || "/"), + (e = e.replace(/^\w+:\/\/[^\/]+/, "")); + } else e = "/"; + return e[0] !== "/" && e[0] !== "#" && (e = "/" + e), bd(e); +} +const kd = /^[^#]+#/; +function Ed(e, t) { + return e.replace(kd, "#") + t; +} +function Sd(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 zo = () => ({ left: window.pageXOffset, top: window.pageYOffset }); +function Rd(e) { + let t; + if ("el" in e) { + const n = e.el, + o = typeof n == "string" && n.startsWith("#"), + r = + typeof n == "string" + ? o + ? document.getElementById(n.slice(1)) + : document.querySelector(n) + : n; + if (!r) return; + t = Sd(r, e); + } else t = e; + "scrollBehavior" in document.documentElement.style + ? window.scrollTo(t) + : window.scrollTo( + t.left != null ? t.left : window.pageXOffset, + t.top != null ? t.top : window.pageYOffset + ); +} +function fs(e, t) { + return (history.state ? history.state.position - t : -1) + e; +} +const Ar = new Map(); +function Pd(e, t) { + Ar.set(e, t); +} +function Td(e) { + const t = Ar.get(e); + return Ar.delete(e), t; +} +let qd = () => location.protocol + "//" + location.host; +function va(e, t) { + const { pathname: n, search: o, hash: r } = t, + i = e.indexOf("#"); + if (i > -1) { + let l = r.includes(e.slice(i)) ? e.slice(i).length : 1, + a = r.slice(l); + return a[0] !== "/" && (a = "/" + a), us(a, ""); + } + return us(n, e) + o + r; +} +function Ad(e, t, n, o) { + let r = [], + i = [], + s = null; + const l = ({ state: f }) => { + const p = va(e, location), + y = n.value, + T = t.value; + let q = 0; + if (f) { + if (((n.value = p), (t.value = f), s && s === y)) { + s = null; + return; + } + q = T ? f.position - T.position : 0; + } else o(p); + r.forEach((M) => { + M(n.value, y, { + delta: q, + type: Kn.pop, + direction: q ? (q > 0 ? Bn.forward : Bn.back) : Bn.unknown, + }); + }); + }; + function a() { + s = n.value; + } + function c(f) { + r.push(f); + const p = () => { + const y = r.indexOf(f); + y > -1 && r.splice(y, 1); + }; + return i.push(p), p; + } + function u() { + const { history: f } = window; + !f.state || f.replaceState(ge({}, f.state, { scroll: zo() }), ""); + } + function d() { + for (const f of i) f(); + (i = []), + window.removeEventListener("popstate", l), + window.removeEventListener("beforeunload", u); + } + return ( + window.addEventListener("popstate", l), + window.addEventListener("beforeunload", u, { passive: !0 }), + { pauseListeners: a, listen: c, destroy: d } + ); +} +function ds(e, t, n, o = !1, r = !1) { + return { + back: e, + current: t, + forward: n, + replaced: o, + position: window.history.length, + scroll: r ? zo() : null, + }; +} +function Md(e) { + const { history: t, location: n } = window, + o = { value: va(e, n) }, + r = { value: t.state }; + r.value || + i( + o.value, + { + back: null, + current: o.value, + forward: null, + position: t.length - 1, + replaced: !0, + scroll: null, + }, + !0 + ); + function i(a, c, u) { + const d = e.indexOf("#"), + f = + d > -1 + ? (n.host && document.querySelector("base") ? e : e.slice(d)) + a + : qd() + e + a; + try { + t[u ? "replaceState" : "pushState"](c, "", f), (r.value = c); + } catch (p) { + console.error(p), n[u ? "replace" : "assign"](f); + } + } + function s(a, c) { + const u = ge({}, t.state, ds(r.value.back, a, r.value.forward, !0), c, { + position: r.value.position, + }); + i(a, u, !0), (o.value = a); + } + function l(a, c) { + const u = ge({}, r.value, t.state, { forward: a, scroll: zo() }); + i(u.current, u, !0); + const d = ge({}, ds(o.value, a, null), { position: u.position + 1 }, c); + i(a, d, !1), (o.value = a); + } + return { location: o, state: r, push: l, replace: s }; +} +function Od(e) { + e = Cd(e); + const t = Md(e), + n = Ad(e, t.state, t.location, t.replace); + function o(i, s = !0) { + s || n.pauseListeners(), history.go(i); + } + const r = ge( + { location: "", base: e, go: o, createHref: Ed.bind(null, e) }, + t, + n + ); + return ( + Object.defineProperty(r, "location", { + enumerable: !0, + get: () => t.location.value, + }), + Object.defineProperty(r, "state", { + enumerable: !0, + get: () => t.state.value, + }), + r + ); +} +function $d(e) { + return ( + (e = location.host ? e || location.pathname + location.search : ""), + e.includes("#") || (e += "#"), + Od(e) + ); +} +function Ld(e) { + return typeof e == "string" || (e && typeof e == "object"); +} +function ba(e) { + return typeof e == "string" || typeof e == "symbol"; +} +const _t = { + path: "/", + name: void 0, + params: {}, + query: {}, + hash: "", + fullPath: "/", + matched: [], + meta: {}, + redirectedFrom: void 0, + }, + ya = Symbol(""); +var hs; +(function (e) { + (e[(e.aborted = 4)] = "aborted"), + (e[(e.cancelled = 8)] = "cancelled"), + (e[(e.duplicated = 16)] = "duplicated"); +})(hs || (hs = {})); +function dn(e, t) { + return ge(new Error(), { type: e, [ya]: !0 }, t); +} +function ft(e, t) { + return e instanceof Error && ya in e && (t == null || !!(e.type & t)); +} +const gs = "[^/]+?", + Bd = { sensitive: !1, strict: !1, start: !0, end: !0 }, + Fd = /[.+*?^${}()[\]/\\]/g; +function Id(e, t) { + const n = ge({}, Bd, t), + o = []; + let r = n.start ? "^" : ""; + const i = []; + for (const c of e) { + const u = c.length ? [] : [90]; + n.strict && !c.length && (r += "/"); + for (let d = 0; d < c.length; d++) { + const f = c[d]; + let p = 40 + (n.sensitive ? 0.25 : 0); + if (f.type === 0) + d || (r += "/"), (r += f.value.replace(Fd, "\\$&")), (p += 40); + else if (f.type === 1) { + const { value: y, repeatable: T, optional: q, regexp: M } = f; + i.push({ name: y, repeatable: T, optional: q }); + const m = M || gs; + if (m !== gs) { + p += 10; + try { + new RegExp(`(${m})`); + } catch (w) { + throw new Error( + `Invalid custom RegExp for param "${y}" (${m}): ` + w.message + ); + } + } + let _ = T ? `((?:${m})(?:/(?:${m}))*)` : `(${m})`; + d || (_ = q && c.length < 2 ? `(?:/${_})` : "/" + _), + q && (_ += "?"), + (r += _), + (p += 20), + q && (p += -8), + T && (p += -20), + m === ".*" && (p += -50); + } + u.push(p); + } + o.push(u); + } + if (n.strict && n.end) { + const c = o.length - 1; + o[c][o[c].length - 1] += 0.7000000000000001; + } + n.strict || (r += "/?"), n.end ? (r += "$") : n.strict && (r += "(?:/|$)"); + const s = new RegExp(r, n.sensitive ? "" : "i"); + function l(c) { + const u = c.match(s), + d = {}; + if (!u) return null; + for (let f = 1; f < u.length; f++) { + const p = u[f] || "", + y = i[f - 1]; + d[y.name] = p && y.repeatable ? p.split("/") : p; + } + return d; + } + function a(c) { + let u = "", + d = !1; + for (const f of e) { + (!d || !u.endsWith("/")) && (u += "/"), (d = !1); + for (const p of f) + if (p.type === 0) u += p.value; + else if (p.type === 1) { + const { value: y, repeatable: T, optional: q } = p, + M = y in c ? c[y] : ""; + if (rt(M) && !T) + throw new Error( + `Provided param "${y}" is an array but it is not repeatable (* or + modifiers)` + ); + const m = rt(M) ? M.join("/") : M; + if (!m) + if (q) + f.length < 2 && + (u.endsWith("/") ? (u = u.slice(0, -1)) : (d = !0)); + else throw new Error(`Missing required param "${y}"`); + u += m; + } + } + return u || "/"; + } + return { re: s, score: o, keys: i, parse: l, stringify: a }; +} +function Nd(e, t) { + let n = 0; + for (; n < e.length && n < t.length; ) { + const o = t[n] - e[n]; + if (o) return o; + n++; + } + return e.length < t.length + ? e.length === 1 && e[0] === 40 + 40 + ? -1 + : 1 + : e.length > t.length + ? t.length === 1 && t[0] === 40 + 40 + ? 1 + : -1 + : 0; +} +function jd(e, t) { + let n = 0; + const o = e.score, + r = t.score; + for (; n < o.length && n < r.length; ) { + const i = Nd(o[n], r[n]); + if (i) return i; + n++; + } + if (Math.abs(r.length - o.length) === 1) { + if (ms(o)) return 1; + if (ms(r)) return -1; + } + return r.length - o.length; +} +function ms(e) { + const t = e[e.length - 1]; + return e.length > 0 && t[t.length - 1] < 0; +} +const Vd = { type: 0, value: "" }, + Dd = /[a-zA-Z0-9_]/; +function Hd(e) { + if (!e) return [[]]; + if (e === "/") return [[Vd]]; + if (!e.startsWith("/")) throw new Error(`Invalid path "${e}"`); + function t(p) { + throw new Error(`ERR (${n})/"${c}": ${p}`); + } + let n = 0, + o = n; + const r = []; + let i; + function s() { + i && r.push(i), (i = []); + } + let l = 0, + a, + c = "", + u = ""; + function d() { + !c || + (n === 0 + ? i.push({ type: 0, value: c }) + : n === 1 || n === 2 || n === 3 + ? (i.length > 1 && + (a === "*" || a === "+") && + t( + `A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.` + ), + i.push({ + type: 1, + value: c, + regexp: u, + repeatable: a === "*" || a === "+", + optional: a === "*" || a === "?", + })) + : t("Invalid state to consume buffer"), + (c = "")); + } + function f() { + c += a; + } + for (; l < e.length; ) { + if (((a = e[l++]), a === "\\" && n !== 2)) { + (o = n), (n = 4); + continue; + } + switch (n) { + case 0: + a === "/" ? (c && d(), s()) : a === ":" ? (d(), (n = 1)) : f(); + break; + case 4: + f(), (n = o); + break; + case 1: + a === "(" + ? (n = 2) + : Dd.test(a) + ? f() + : (d(), (n = 0), a !== "*" && a !== "?" && a !== "+" && l--); + break; + case 2: + a === ")" + ? u[u.length - 1] == "\\" + ? (u = u.slice(0, -1) + a) + : (n = 3) + : (u += a); + break; + case 3: + d(), (n = 0), a !== "*" && a !== "?" && a !== "+" && l--, (u = ""); + break; + default: + t("Unknown state"); + break; + } + } + return n === 2 && t(`Unfinished custom RegExp for param "${c}"`), d(), s(), r; +} +function zd(e, t, n) { + const o = Id(Hd(e.path), n), + r = ge(o, { record: e, parent: t, children: [], alias: [] }); + return t && !r.record.aliasOf == !t.record.aliasOf && t.children.push(r), r; +} +function Kd(e, t) { + const n = [], + o = new Map(); + t = bs({ strict: !1, end: !0, sensitive: !1 }, t); + function r(u) { + return o.get(u); + } + function i(u, d, f) { + const p = !f, + y = Ud(u); + y.aliasOf = f && f.record; + const T = bs(t, u), + q = [y]; + if ("alias" in u) { + const _ = typeof u.alias == "string" ? [u.alias] : u.alias; + for (const w of _) + q.push( + ge({}, y, { + components: f ? f.record.components : y.components, + path: w, + aliasOf: f ? f.record : y, + }) + ); + } + let M, m; + for (const _ of q) { + const { path: w } = _; + if (d && w[0] !== "/") { + const F = d.record.path, + j = F[F.length - 1] === "/" ? "" : "/"; + _.path = d.record.path + (w && j + w); + } + if ( + ((M = zd(_, d, T)), + f + ? f.alias.push(M) + : ((m = m || M), + m !== M && m.alias.push(M), + p && u.name && !vs(M) && s(u.name)), + y.children) + ) { + const F = y.children; + for (let j = 0; j < F.length; j++) i(F[j], M, f && f.children[j]); + } + (f = f || M), + ((M.record.components && Object.keys(M.record.components).length) || + M.record.name || + M.record.redirect) && + a(M); + } + return m + ? () => { + s(m); + } + : Ln; + } + function s(u) { + if (ba(u)) { + const d = o.get(u); + d && + (o.delete(u), + n.splice(n.indexOf(d), 1), + d.children.forEach(s), + d.alias.forEach(s)); + } else { + const d = n.indexOf(u); + d > -1 && + (n.splice(d, 1), + u.record.name && o.delete(u.record.name), + u.children.forEach(s), + u.alias.forEach(s)); + } + } + function l() { + return n; + } + function a(u) { + let d = 0; + for ( + ; + d < n.length && + jd(u, n[d]) >= 0 && + (u.record.path !== n[d].record.path || !_a(u, n[d])); + + ) + d++; + n.splice(d, 0, u), u.record.name && !vs(u) && o.set(u.record.name, u); + } + function c(u, d) { + let f, + p = {}, + y, + T; + if ("name" in u && u.name) { + if (((f = o.get(u.name)), !f)) throw dn(1, { location: u }); + (T = f.record.name), + (p = ge( + ps( + d.params, + f.keys.filter((m) => !m.optional).map((m) => m.name) + ), + u.params && + ps( + u.params, + f.keys.map((m) => m.name) + ) + )), + (y = f.stringify(p)); + } else if ("path" in u) + (y = u.path), + (f = n.find((m) => m.re.test(y))), + f && ((p = f.parse(y)), (T = f.record.name)); + else { + if (((f = d.name ? o.get(d.name) : n.find((m) => m.re.test(d.path))), !f)) + throw dn(1, { location: u, currentLocation: d }); + (T = f.record.name), + (p = ge({}, d.params, u.params)), + (y = f.stringify(p)); + } + const q = []; + let M = f; + for (; M; ) q.unshift(M.record), (M = M.parent); + return { name: T, path: y, params: p, matched: q, meta: Qd(q) }; + } + return ( + e.forEach((u) => i(u)), + { + addRoute: i, + resolve: c, + removeRoute: s, + getRoutes: l, + getRecordMatcher: r, + } + ); +} +function ps(e, t) { + const n = {}; + for (const o of t) o in e && (n[o] = e[o]); + return n; +} +function Ud(e) { + return { + path: e.path, + redirect: e.redirect, + name: e.name, + meta: e.meta || {}, + aliasOf: void 0, + beforeEnter: e.beforeEnter, + props: Wd(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 Wd(e) { + const t = {}, + n = e.props || !1; + if ("component" in e) t.default = n; + else for (const o in e.components) t[o] = typeof n == "object" ? n[o] : n; + return t; +} +function vs(e) { + for (; e; ) { + if (e.record.aliasOf) return !0; + e = e.parent; + } + return !1; +} +function Qd(e) { + return e.reduce((t, n) => ge(t, n.meta), {}); +} +function bs(e, t) { + const n = {}; + for (const o in e) n[o] = o in t ? t[o] : e[o]; + return n; +} +function _a(e, t) { + return t.children.some((n) => n === e || _a(e, n)); +} +const wa = /#/g, + Yd = /&/g, + Zd = /\//g, + Jd = /=/g, + Xd = /\?/g, + xa = /\+/g, + Gd = /%5B/g, + eh = /%5D/g, + Ca = /%5E/g, + th = /%60/g, + ka = /%7B/g, + nh = /%7C/g, + Ea = /%7D/g, + oh = /%20/g; +function fi(e) { + return encodeURI("" + e) + .replace(nh, "|") + .replace(Gd, "[") + .replace(eh, "]"); +} +function rh(e) { + return fi(e).replace(ka, "{").replace(Ea, "}").replace(Ca, "^"); +} +function Mr(e) { + return fi(e) + .replace(xa, "%2B") + .replace(oh, "+") + .replace(wa, "%23") + .replace(Yd, "%26") + .replace(th, "`") + .replace(ka, "{") + .replace(Ea, "}") + .replace(Ca, "^"); +} +function ih(e) { + return Mr(e).replace(Jd, "%3D"); +} +function sh(e) { + return fi(e).replace(wa, "%23").replace(Xd, "%3F"); +} +function lh(e) { + return e == null ? "" : sh(e).replace(Zd, "%2F"); +} +function Ro(e) { + try { + return decodeURIComponent("" + e); + } catch {} + return "" + e; +} +function ah(e) { + const t = {}; + if (e === "" || e === "?") return t; + const o = (e[0] === "?" ? e.slice(1) : e).split("&"); + for (let r = 0; r < o.length; ++r) { + const i = o[r].replace(xa, " "), + s = i.indexOf("="), + l = Ro(s < 0 ? i : i.slice(0, s)), + a = s < 0 ? null : Ro(i.slice(s + 1)); + if (l in t) { + let c = t[l]; + rt(c) || (c = t[l] = [c]), c.push(a); + } else t[l] = a; + } + return t; +} +function ys(e) { + let t = ""; + for (let n in e) { + const o = e[n]; + if (((n = ih(n)), o == null)) { + o !== void 0 && (t += (t.length ? "&" : "") + n); + continue; + } + (rt(o) ? o.map((i) => i && Mr(i)) : [o && Mr(o)]).forEach((i) => { + i !== void 0 && + ((t += (t.length ? "&" : "") + n), i != null && (t += "=" + i)); + }); + } + return t; +} +function uh(e) { + const t = {}; + for (const n in e) { + const o = e[n]; + o !== void 0 && + (t[n] = rt(o) + ? o.map((r) => (r == null ? null : "" + r)) + : o == null + ? o + : "" + o); + } + return t; +} +const ch = Symbol(""), + _s = Symbol(""), + di = Symbol(""), + Sa = Symbol(""), + Or = Symbol(""); +function xn() { + let e = []; + function t(o) { + return ( + e.push(o), + () => { + const r = e.indexOf(o); + r > -1 && e.splice(r, 1); + } + ); + } + function n() { + e = []; + } + return { add: t, list: () => e.slice(), reset: n }; +} +function Ct(e, t, n, o, r) { + const i = o && (o.enterCallbacks[r] = o.enterCallbacks[r] || []); + return () => + new Promise((s, l) => { + const a = (d) => { + d === !1 + ? l(dn(4, { from: n, to: t })) + : d instanceof Error + ? l(d) + : Ld(d) + ? l(dn(2, { from: t, to: d })) + : (i && + o.enterCallbacks[r] === i && + typeof d == "function" && + i.push(d), + s()); + }, + c = e.call(o && o.instances[r], t, n, a); + let u = Promise.resolve(c); + e.length < 3 && (u = u.then(a)), u.catch((d) => l(d)); + }); +} +function ir(e, t, n, o) { + const r = []; + for (const i of e) + for (const s in i.components) { + let l = i.components[s]; + if (!(t !== "beforeRouteEnter" && !i.instances[s])) + if (fh(l)) { + const c = (l.__vccOpts || l)[t]; + c && r.push(Ct(c, n, o, i, s)); + } else { + let a = l(); + r.push(() => + a.then((c) => { + if (!c) + return Promise.reject( + new Error(`Couldn't resolve component "${s}" at "${i.path}"`) + ); + const u = pd(c) ? c.default : c; + i.components[s] = u; + const f = (u.__vccOpts || u)[t]; + return f && Ct(f, n, o, i, s)(); + }) + ); + } + } + return r; +} +function fh(e) { + return ( + typeof e == "object" || + "displayName" in e || + "props" in e || + "__vccOpts" in e + ); +} +function ws(e) { + const t = ut(di), + n = ut(Sa), + o = R(() => t.resolve(Vt(e.to))), + r = R(() => { + const { matched: a } = o.value, + { length: c } = a, + u = a[c - 1], + d = n.matched; + if (!u || !d.length) return -1; + const f = d.findIndex(fn.bind(null, u)); + if (f > -1) return f; + const p = xs(a[c - 2]); + return c > 1 && xs(u) === p && d[d.length - 1].path !== p + ? d.findIndex(fn.bind(null, a[c - 2])) + : f; + }), + i = R(() => r.value > -1 && mh(n.params, o.value.params)), + s = R( + () => + r.value > -1 && + r.value === n.matched.length - 1 && + pa(n.params, o.value.params) + ); + function l(a = {}) { + return gh(a) + ? t[Vt(e.replace) ? "replace" : "push"](Vt(e.to)).catch(Ln) + : Promise.resolve(); + } + return { + route: o, + href: R(() => o.value.href), + isActive: i, + isExactActive: s, + navigate: l, + }; +} +const dh = Lo({ + 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: ws, + setup(e, { slots: t }) { + const n = pn(ws(e)), + { options: o } = ut(di), + r = R(() => ({ + [Cs(e.activeClass, o.linkActiveClass, "router-link-active")]: + n.isActive, + [Cs( + e.exactActiveClass, + o.linkExactActiveClass, + "router-link-exact-active" + )]: n.isExactActive, + })); + return () => { + const i = t.default && t.default(n); + return e.custom + ? i + : E( + "a", + { + "aria-current": n.isExactActive ? e.ariaCurrentValue : null, + href: n.href, + onClick: n.navigate, + class: r.value, + }, + i + ); + }; + }, + }), + hh = dh; +function gh(e) { + if ( + !(e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) && + !e.defaultPrevented && + !(e.button !== void 0 && e.button !== 0) + ) { + 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 mh(e, t) { + for (const n in t) { + const o = t[n], + r = e[n]; + if (typeof o == "string") { + if (o !== r) return !1; + } else if (!rt(r) || r.length !== o.length || o.some((i, s) => i !== r[s])) + return !1; + } + return !0; +} +function xs(e) { + return e ? (e.aliasOf ? e.aliasOf.path : e.path) : ""; +} +const Cs = (e, t, n) => (e != null ? e : t != null ? t : n), + ph = Lo({ + name: "RouterView", + inheritAttrs: !1, + props: { name: { type: String, default: "default" }, route: Object }, + compatConfig: { MODE: 3 }, + setup(e, { attrs: t, slots: n }) { + const o = ut(Or), + r = R(() => e.route || o.value), + i = ut(_s, 0), + s = R(() => { + let c = Vt(i); + const { matched: u } = r.value; + let d; + for (; (d = u[c]) && !d.components; ) c++; + return c; + }), + l = R(() => r.value.matched[s.value]); + fo( + _s, + R(() => s.value + 1) + ), + fo(ch, l), + fo(Or, r); + const a = he(); + return ( + be( + () => [a.value, l.value, e.name], + ([c, u, d], [f, p, y]) => { + u && + ((u.instances[d] = c), + p && + p !== u && + c && + c === f && + (u.leaveGuards.size || (u.leaveGuards = p.leaveGuards), + u.updateGuards.size || (u.updateGuards = p.updateGuards))), + c && + u && + (!p || !fn(u, p) || !f) && + (u.enterCallbacks[d] || []).forEach((T) => T(c)); + }, + { flush: "post" } + ), + () => { + const c = r.value, + u = e.name, + d = l.value, + f = d && d.components[u]; + if (!f) return ks(n.default, { Component: f, route: c }); + const p = d.props[u], + y = p + ? p === !0 + ? c.params + : typeof p == "function" + ? p(c) + : p + : null, + q = E( + f, + ge({}, y, t, { + onVnodeUnmounted: (M) => { + M.component.isUnmounted && (d.instances[u] = null); + }, + ref: a, + }) + ); + return ks(n.default, { Component: q, route: c }) || q; + } + ); + }, + }); +function ks(e, t) { + if (!e) return null; + const n = e(t); + return n.length === 1 ? n[0] : n; +} +const vh = ph; +function bh(e) { + const t = Kd(e.routes, e), + n = e.parseQuery || ah, + o = e.stringifyQuery || ys, + r = e.history, + i = xn(), + s = xn(), + l = xn(), + a = Yu(_t); + let c = _t; + en && + e.scrollBehavior && + "scrollRestoration" in history && + (history.scrollRestoration = "manual"); + const u = or.bind(null, (S) => "" + S), + d = or.bind(null, lh), + f = or.bind(null, Ro); + function p(S, Q) { + let z, X; + return ( + ba(S) ? ((z = t.getRecordMatcher(S)), (X = Q)) : (X = S), t.addRoute(X, z) + ); + } + function y(S) { + const Q = t.getRecordMatcher(S); + Q && t.removeRoute(Q); + } + function T() { + return t.getRoutes().map((S) => S.record); + } + function q(S) { + return !!t.getRecordMatcher(S); + } + function M(S, Q) { + if (((Q = ge({}, Q || a.value)), typeof S == "string")) { + const b = rr(n, S, Q.path), + P = t.resolve({ path: b.path }, Q), + O = r.createHref(b.fullPath); + return ge(b, P, { + params: f(P.params), + hash: Ro(b.hash), + redirectedFrom: void 0, + href: O, + }); + } + let z; + if ("path" in S) z = ge({}, S, { path: rr(n, S.path, Q.path).path }); + else { + const b = ge({}, S.params); + for (const P in b) b[P] == null && delete b[P]; + (z = ge({}, S, { params: d(b) })), (Q.params = d(Q.params)); + } + const X = t.resolve(z, Q), + de = S.hash || ""; + X.params = u(f(X.params)); + const h = yd(o, ge({}, S, { hash: rh(de), path: X.path })), + g = r.createHref(h); + return ge( + { fullPath: h, hash: de, query: o === ys ? uh(S.query) : S.query || {} }, + X, + { redirectedFrom: void 0, href: g } + ); + } + function m(S) { + return typeof S == "string" ? rr(n, S, a.value.path) : ge({}, S); + } + function _(S, Q) { + if (c !== S) return dn(8, { from: Q, to: S }); + } + function w(S) { + return V(S); + } + function F(S) { + return w(ge(m(S), { replace: !0 })); + } + function j(S) { + const Q = S.matched[S.matched.length - 1]; + if (Q && Q.redirect) { + const { redirect: z } = Q; + let X = typeof z == "function" ? z(S) : z; + return ( + typeof X == "string" && + ((X = X.includes("?") || X.includes("#") ? (X = m(X)) : { path: X }), + (X.params = {})), + ge( + { query: S.query, hash: S.hash, params: "path" in X ? {} : S.params }, + X + ) + ); + } + } + function V(S, Q) { + const z = (c = M(S)), + X = a.value, + de = S.state, + h = S.force, + g = S.replace === !0, + b = j(z); + if (b) + return V( + ge(m(b), { + state: typeof b == "object" ? ge({}, de, b.state) : de, + force: h, + replace: g, + }), + Q || z + ); + const P = z; + P.redirectedFrom = Q; + let O; + return ( + !h && _d(o, X, z) && ((O = dn(16, { to: P, from: X })), fe(X, X, !0, !1)), + (O ? Promise.resolve(O) : x(P, X)) + .catch((B) => (ft(B) ? (ft(B, 2) ? B : se(B)) : W(B, P, X))) + .then((B) => { + if (B) { + if (ft(B, 2)) + return V( + ge({ replace: g }, m(B.to), { + state: typeof B.to == "object" ? ge({}, de, B.to.state) : de, + force: h, + }), + Q || P + ); + } else B = v(P, X, !0, g, de); + return $(P, X, B), B; + }) + ); + } + function N(S, Q) { + const z = _(S, Q); + return z ? Promise.reject(z) : Promise.resolve(); + } + function C(S) { + const Q = Re.values().next().value; + return Q && typeof Q.runWithContext == "function" + ? Q.runWithContext(S) + : S(); + } + function x(S, Q) { + let z; + const [X, de, h] = yh(S, Q); + z = ir(X.reverse(), "beforeRouteLeave", S, Q); + for (const b of X) + b.leaveGuards.forEach((P) => { + z.push(Ct(P, S, Q)); + }); + const g = N.bind(null, S, Q); + return ( + z.push(g), + ne(z) + .then(() => { + z = []; + for (const b of i.list()) z.push(Ct(b, S, Q)); + return z.push(g), ne(z); + }) + .then(() => { + z = ir(de, "beforeRouteUpdate", S, Q); + for (const b of de) + b.updateGuards.forEach((P) => { + z.push(Ct(P, S, Q)); + }); + return z.push(g), ne(z); + }) + .then(() => { + z = []; + for (const b of h) + if (b.beforeEnter) + if (rt(b.beforeEnter)) + for (const P of b.beforeEnter) z.push(Ct(P, S, Q)); + else z.push(Ct(b.beforeEnter, S, Q)); + return z.push(g), ne(z); + }) + .then( + () => ( + S.matched.forEach((b) => (b.enterCallbacks = {})), + (z = ir(h, "beforeRouteEnter", S, Q)), + z.push(g), + ne(z) + ) + ) + .then(() => { + z = []; + for (const b of s.list()) z.push(Ct(b, S, Q)); + return z.push(g), ne(z); + }) + .catch((b) => (ft(b, 8) ? b : Promise.reject(b))) + ); + } + function $(S, Q, z) { + l.list().forEach((X) => C(() => X(S, Q, z))); + } + function v(S, Q, z, X, de) { + const h = _(S, Q); + if (h) return h; + const g = Q === _t, + b = en ? history.state : {}; + z && + (X || g + ? r.replace(S.fullPath, ge({ scroll: g && b && b.scroll }, de)) + : r.push(S.fullPath, de)), + (a.value = S), + fe(S, Q, z, g), + se(); + } + let H; + function k() { + H || + (H = r.listen((S, Q, z) => { + if (!oe.listening) return; + const X = M(S), + de = j(X); + if (de) { + V(ge(de, { replace: !0 }), X).catch(Ln); + return; + } + c = X; + const h = a.value; + en && Pd(fs(h.fullPath, z.delta), zo()), + x(X, h) + .catch((g) => + ft(g, 12) + ? g + : ft(g, 2) + ? (V(g.to, X) + .then((b) => { + ft(b, 20) && + !z.delta && + z.type === Kn.pop && + r.go(-1, !1); + }) + .catch(Ln), + Promise.reject()) + : (z.delta && r.go(-z.delta, !1), W(g, X, h)) + ) + .then((g) => { + (g = g || v(X, h, !1)), + g && + (z.delta && !ft(g, 8) + ? r.go(-z.delta, !1) + : z.type === Kn.pop && ft(g, 20) && r.go(-1, !1)), + $(X, h, g); + }) + .catch(Ln); + })); + } + let Z = xn(), + Y = xn(), + A; + function W(S, Q, z) { + se(S); + const X = Y.list(); + return ( + X.length ? X.forEach((de) => de(S, Q, z)) : console.error(S), + Promise.reject(S) + ); + } + function _e() { + return A && a.value !== _t + ? Promise.resolve() + : new Promise((S, Q) => { + Z.add([S, Q]); + }); + } + function se(S) { + return ( + A || + ((A = !S), + k(), + Z.list().forEach(([Q, z]) => (S ? z(S) : Q())), + Z.reset()), + S + ); + } + function fe(S, Q, z, X) { + const { scrollBehavior: de } = e; + if (!en || !de) return Promise.resolve(); + const h = + (!z && Td(fs(S.fullPath, 0))) || + ((X || !z) && history.state && history.state.scroll) || + null; + return je() + .then(() => de(S, Q, h)) + .then((g) => g && Rd(g)) + .catch((g) => W(g, S, Q)); + } + const L = (S) => r.go(S); + let ue; + const Re = new Set(), + oe = { + currentRoute: a, + listening: !0, + addRoute: p, + removeRoute: y, + hasRoute: q, + getRoutes: T, + resolve: M, + options: e, + push: w, + replace: F, + go: L, + back: () => L(-1), + forward: () => L(1), + beforeEach: i.add, + beforeResolve: s.add, + afterEach: l.add, + onError: Y.add, + isReady: _e, + install(S) { + const Q = this; + S.component("RouterLink", hh), + S.component("RouterView", vh), + (S.config.globalProperties.$router = Q), + Object.defineProperty(S.config.globalProperties, "$route", { + enumerable: !0, + get: () => Vt(a), + }), + en && + !ue && + a.value === _t && + ((ue = !0), w(r.location).catch((de) => {})); + const z = {}; + for (const de in _t) + Object.defineProperty(z, de, { + get: () => a.value[de], + enumerable: !0, + }); + S.provide(di, Q), S.provide(Sa, ml(z)), S.provide(Or, a); + const X = S.unmount; + Re.add(S), + (S.unmount = function () { + Re.delete(S), + Re.size < 1 && + ((c = _t), + H && H(), + (H = null), + (a.value = _t), + (ue = !1), + (A = !1)), + X(); + }); + }, + }; + function ne(S) { + return S.reduce((Q, z) => Q.then(() => C(z)), Promise.resolve()); + } + return oe; +} +function yh(e, t) { + const n = [], + o = [], + r = [], + i = Math.max(t.matched.length, e.matched.length); + for (let s = 0; s < i; s++) { + const l = t.matched[s]; + l && (e.matched.find((c) => fn(c, l)) ? o.push(l) : n.push(l)); + const a = e.matched[s]; + a && (t.matched.find((c) => fn(c, a)) || r.push(a)); + } + return [n, o, r]; +} +const _h = (function () { + const t = document.createElement("link").relList; + return t && t.supports && t.supports("modulepreload") + ? "modulepreload" + : "preload"; + })(), + Es = {}, + wh = "/", + sr = function (t, n) { + return !n || n.length === 0 + ? t() + : Promise.all( + n.map((o) => { + if (((o = `${wh}${o}`), o in Es)) return; + Es[o] = !0; + const r = o.endsWith(".css"), + i = r ? '[rel="stylesheet"]' : ""; + if (document.querySelector(`link[href="${o}"]${i}`)) return; + const s = document.createElement("link"); + if ( + ((s.rel = r ? "stylesheet" : _h), + r || ((s.as = "script"), (s.crossOrigin = "")), + (s.href = o), + document.head.appendChild(s), + r) + ) + return new Promise((l, a) => { + s.addEventListener("load", l), + s.addEventListener("error", () => + a(new Error(`Unable to preload CSS for ${o}`)) + ); + }); + }) + ).then(() => t()); + }, + xh = [ + { + path: "/", + component: () => + sr( + () => import("./MainLayout.295f5fc5.js"), + [ + "assets/MainLayout.295f5fc5.js", + "assets/QResizeObserver.b8a0e5fe.js", + ] + ), + children: [ + { + path: "", + component: () => + sr( + () => import("./MarketPage.b7a84b02.js"), + [ + "assets/MarketPage.b7a84b02.js", + "assets/QResizeObserver.b8a0e5fe.js", + ] + ), + }, + ], + }, + { + path: "/:catchAll(.*)*", + component: () => sr(() => import("./ErrorNotFound.4fc67341.js"), []), + }, + ]; +var lr = function () { + return bh({ + scrollBehavior: () => ({ left: 0, top: 0 }), + routes: xh, + history: $d("/"), + }); +}; +async function Ch(e, t) { + const n = e(md); + n.use(fd, t); + const o = vn(typeof lr == "function" ? await lr({}) : lr); + return { app: n, router: o }; +} +const $r = { xs: 18, sm: 24, md: 32, lg: 38, xl: 46 }, + Yn = { size: String }; +function Zn(e, t = $r) { + return R(() => + e.size !== void 0 + ? { fontSize: e.size in t ? `${t[e.size]}px` : e.size } + : null + ); +} +const $e = (e) => vn(Lo(e)), + kh = (e) => vn(e); +function tt(e, t) { + return (e !== void 0 && e()) || t; +} +function $m(e, t) { + if (e !== void 0) { + const n = e(); + if (n != null) return n.slice(); + } + return t; +} +function It(e, t) { + return e !== void 0 ? t.concat(e()) : t; +} +function Eh(e, t) { + return e === void 0 ? t : t !== void 0 ? t.concat(e()) : e(); +} +function Lm(e, t, n, o, r, i) { + t.key = o + r; + const s = E(e, t, n); + return r === !0 ? Al(s, i()) : s; +} +const Ss = "0 0 24 24", + Rs = (e) => e, + ar = (e) => `ionicons ${e}`, + Ra = { + "mdi-": (e) => `mdi ${e}`, + "icon-": Rs, + "bt-": (e) => `bt ${e}`, + "eva-": (e) => `eva ${e}`, + "ion-md": ar, + "ion-ios": ar, + "ion-logo": ar, + "iconfont ": Rs, + "ti-": (e) => `themify-icon ${e}`, + "bi-": (e) => `bootstrap-icons ${e}`, + }, + Pa = { o_: "-outlined", r_: "-round", s_: "-sharp" }, + Ta = { sym_o_: "-outlined", sym_r_: "-rounded", sym_s_: "-sharp" }, + Sh = new RegExp("^(" + Object.keys(Ra).join("|") + ")"), + Rh = new RegExp("^(" + Object.keys(Pa).join("|") + ")"), + Ps = new RegExp("^(" + Object.keys(Ta).join("|") + ")"), + Ph = /^[Mm]\s?[-+]?\.?\d/, + Th = /^img:/, + qh = /^svguse:/, + Ah = /^ion-/, + Mh = /^(fa-(sharp|solid|regular|light|brands|duotone|thin)|[lf]a[srlbdk]?) /; +var pt = $e({ + name: "QIcon", + props: { + ...Yn, + tag: { type: String, default: "i" }, + name: String, + color: String, + left: Boolean, + right: Boolean, + }, + setup(e, { slots: t }) { + const { + proxy: { $q: n }, + } = ke(), + o = Zn(e), + r = R( + () => + "q-icon" + + (e.left === !0 ? " on-left" : "") + + (e.right === !0 ? " on-right" : "") + + (e.color !== void 0 ? ` text-${e.color}` : "") + ), + i = R(() => { + let s, + l = e.name; + if (l === "none" || !l) return { none: !0 }; + if (n.iconMapFn !== null) { + const u = n.iconMapFn(l); + if (u !== void 0) + if (u.icon !== void 0) { + if (((l = u.icon), l === "none" || !l)) return { none: !0 }; + } else + return { + cls: u.cls, + content: u.content !== void 0 ? u.content : " ", + }; + } + if (Ph.test(l) === !0) { + const [u, d = Ss] = l.split("|"); + return { + svg: !0, + viewBox: d, + nodes: u.split("&&").map((f) => { + const [p, y, T] = f.split("@@"); + return E("path", { style: y, d: p, transform: T }); + }), + }; + } + if (Th.test(l) === !0) return { img: !0, src: l.substring(4) }; + if (qh.test(l) === !0) { + const [u, d = Ss] = l.split("|"); + return { svguse: !0, src: u.substring(7), viewBox: d }; + } + let a = " "; + const c = l.match(Sh); + if (c !== null) s = Ra[c[1]](l); + else if (Mh.test(l) === !0) s = l; + else if (Ah.test(l) === !0) + s = `ionicons ion-${ + n.platform.is.ios === !0 ? "ios" : "md" + }${l.substring(3)}`; + else if (Ps.test(l) === !0) { + s = "notranslate material-symbols"; + const u = l.match(Ps); + u !== null && ((l = l.substring(6)), (s += Ta[u[1]])), (a = l); + } else { + s = "notranslate material-icons"; + const u = l.match(Rh); + u !== null && ((l = l.substring(2)), (s += Pa[u[1]])), (a = l); + } + return { cls: s, content: a }; + }); + return () => { + const s = { + class: r.value, + style: o.value, + "aria-hidden": "true", + role: "presentation", + }; + return i.value.none === !0 + ? E(e.tag, s, tt(t.default)) + : i.value.img === !0 + ? E("span", s, It(t.default, [E("img", { src: i.value.src })])) + : i.value.svg === !0 + ? E( + "span", + s, + It(t.default, [ + E( + "svg", + { viewBox: i.value.viewBox || "0 0 24 24" }, + i.value.nodes + ), + ]) + ) + : i.value.svguse === !0 + ? E( + "span", + s, + It(t.default, [ + E("svg", { viewBox: i.value.viewBox }, [ + E("use", { "xlink:href": i.value.src }), + ]), + ]) + ) + : (i.value.cls !== void 0 && (s.class += " " + i.value.cls), + E(e.tag, s, It(t.default, [i.value.content]))); + }; + }, + }), + Oh = $e({ + name: "QAvatar", + props: { + ...Yn, + fontSize: String, + color: String, + textColor: String, + icon: String, + square: Boolean, + rounded: Boolean, + }, + setup(e, { slots: t }) { + const n = Zn(e), + o = R( + () => + "q-avatar" + + (e.color ? ` bg-${e.color}` : "") + + (e.textColor ? ` text-${e.textColor} q-chip--colored` : "") + + (e.square === !0 + ? " q-avatar--square" + : e.rounded === !0 + ? " rounded-borders" + : "") + ), + r = R(() => (e.fontSize ? { fontSize: e.fontSize } : null)); + return () => { + const i = e.icon !== void 0 ? [E(pt, { name: e.icon })] : void 0; + return E("div", { class: o.value, style: n.value }, [ + E( + "div", + { + class: "q-avatar__content row flex-center overflow-hidden", + style: r.value, + }, + Eh(t.default, i) + ), + ]); + }; + }, + }); +const $h = { size: { type: [Number, String], default: "1em" }, color: String }; +function Lh(e) { + return { + cSize: R(() => (e.size in $r ? `${$r[e.size]}px` : e.size)), + classes: R(() => "q-spinner" + (e.color ? ` text-${e.color}` : "")), + }; +} +var Un = $e({ + name: "QSpinner", + props: { ...$h, thickness: { type: Number, default: 5 } }, + setup(e) { + const { cSize: t, classes: n } = Lh(e); + return () => + E( + "svg", + { + class: n.value + " q-spinner-mat", + width: t.value, + height: t.value, + viewBox: "25 25 50 50", + }, + [ + E("circle", { + class: "path", + cx: "50", + cy: "50", + r: "20", + fill: "none", + stroke: "currentColor", + "stroke-width": e.thickness, + "stroke-miterlimit": "10", + }), + ] + ); + }, +}); +function Bm(e) { + return e === window ? window.innerHeight : e.getBoundingClientRect().height; +} +function Lr(e, t) { + const n = e.style; + for (const o in t) n[o] = t[o]; +} +function Bh(e) { + if (e == null) return; + if (typeof e == "string") + try { + return document.querySelector(e) || void 0; + } catch { + return; + } + const t = Vt(e); + if (t) return t.$el || t; +} +function Fh(e, t) { + if (e == null || e.contains(t) === !0) return !0; + for (let n = e.nextElementSibling; n !== null; n = n.nextElementSibling) + if (n.contains(t)) return !0; + return !1; +} +function Ih(e, t = 250) { + let n = !1, + o; + return function () { + return ( + n === !1 && + ((n = !0), + setTimeout(() => { + n = !1; + }, t), + (o = e.apply(this, arguments))), + o + ); + }; +} +function Ts(e, t, n, o) { + n.modifiers.stop === !0 && ko(e); + const r = n.modifiers.color; + let i = n.modifiers.center; + i = i === !0 || o === !0; + const s = document.createElement("span"), + l = document.createElement("span"), + a = Hf(e), + { left: c, top: u, width: d, height: f } = t.getBoundingClientRect(), + p = Math.sqrt(d * d + f * f), + y = p / 2, + T = `${(d - p) / 2}px`, + q = i ? T : `${a.left - c - y}px`, + M = `${(f - p) / 2}px`, + m = i ? M : `${a.top - u - y}px`; + (l.className = "q-ripple__inner"), + Lr(l, { + height: `${p}px`, + width: `${p}px`, + transform: `translate3d(${q},${m},0) scale3d(.2,.2,1)`, + opacity: 0, + }), + (s.className = `q-ripple${r ? " text-" + r : ""}`), + s.setAttribute("dir", "ltr"), + s.appendChild(l), + t.appendChild(s); + const _ = () => { + s.remove(), clearTimeout(w); + }; + n.abort.push(_); + let w = setTimeout(() => { + l.classList.add("q-ripple__inner--enter"), + (l.style.transform = `translate3d(${T},${M},0) scale3d(1,1,1)`), + (l.style.opacity = 0.2), + (w = setTimeout(() => { + l.classList.remove("q-ripple__inner--enter"), + l.classList.add("q-ripple__inner--leave"), + (l.style.opacity = 0), + (w = setTimeout(() => { + s.remove(), n.abort.splice(n.abort.indexOf(_), 1); + }, 275)); + }, 250)); + }, 50); +} +function qs(e, { modifiers: t, value: n, arg: o }) { + const r = Object.assign({}, e.cfg.ripple, t, n); + e.modifiers = { + early: r.early === !0, + stop: r.stop === !0, + center: r.center === !0, + color: r.color || o, + keyCodes: [].concat(r.keyCodes || 13), + }; +} +var Nh = kh({ + name: "ripple", + beforeMount(e, t) { + const n = t.instance.$.appContext.config.globalProperties.$q.config || {}; + if (n.ripple === !1) return; + const o = { + cfg: n, + enabled: t.value !== !1, + modifiers: {}, + abort: [], + start(r) { + o.enabled === !0 && + r.qSkipRipple !== !0 && + r.type === (o.modifiers.early === !0 ? "pointerdown" : "click") && + Ts(r, e, o, r.qKeyEvent === !0); + }, + keystart: Ih((r) => { + o.enabled === !0 && + r.qSkipRipple !== !0 && + zn(r, o.modifiers.keyCodes) === !0 && + r.type === `key${o.modifiers.early === !0 ? "down" : "up"}` && + Ts(r, e, o, !0); + }, 300), + }; + qs(o, t), + (e.__qripple = o), + Kf(o, "main", [ + [e, "pointerdown", "start", "passive"], + [e, "click", "start", "passive"], + [e, "keydown", "keystart", "passive"], + [e, "keyup", "keystart", "passive"], + ]); + }, + updated(e, t) { + if (t.oldValue !== t.value) { + const n = e.__qripple; + n !== void 0 && + ((n.enabled = t.value !== !1), + n.enabled === !0 && Object(t.value) === t.value && qs(n, t)); + } + }, + beforeUnmount(e) { + const t = e.__qripple; + t !== void 0 && + (t.abort.forEach((n) => { + n(); + }), + Uf(t, "main"), + delete e._qripple); + }, +}); +const qa = { + left: "start", + center: "center", + right: "end", + between: "between", + around: "around", + evenly: "evenly", + stretch: "stretch", + }, + jh = Object.keys(qa), + Aa = { align: { type: String, validator: (e) => jh.includes(e) } }; +function Ma(e) { + return R(() => { + const t = + e.align === void 0 ? (e.vertical === !0 ? "stretch" : "left") : e.align; + return `${e.vertical === !0 ? "items" : "justify"}-${qa[t]}`; + }); +} +function go(e) { + if (Object(e.$parent) === e.$parent) return e.$parent; + let { parent: t } = e.$; + for (; Object(t) === t; ) { + if (Object(t.proxy) === t.proxy) return t.proxy; + t = t.parent; + } +} +function Oa(e, t) { + typeof t.type == "symbol" + ? Array.isArray(t.children) === !0 && + t.children.forEach((n) => { + Oa(e, n); + }) + : e.add(t); +} +function Fm(e) { + const t = new Set(); + return ( + e.forEach((n) => { + Oa(t, n); + }), + Array.from(t) + ); +} +function $a(e) { + return e.appContext.config.globalProperties.$router !== void 0; +} +function La(e) { + return e.isUnmounted === !0 || e.isDeactivated === !0; +} +function As(e) { + return e ? (e.aliasOf ? e.aliasOf.path : e.path) : ""; +} +function Ms(e, t) { + return (e.aliasOf || e) === (t.aliasOf || t); +} +function Vh(e, t) { + for (const n in t) { + const o = t[n], + r = e[n]; + if (typeof o == "string") { + if (o !== r) return !1; + } else if ( + Array.isArray(r) === !1 || + r.length !== o.length || + o.some((i, s) => i !== r[s]) + ) + return !1; + } + return !0; +} +function Os(e, t) { + return Array.isArray(t) === !0 + ? e.length === t.length && e.every((n, o) => n === t[o]) + : e.length === 1 && e[0] === t; +} +function Dh(e, t) { + return Array.isArray(e) === !0 + ? Os(e, t) + : Array.isArray(t) === !0 + ? Os(t, e) + : e === t; +} +function Hh(e, t) { + if (Object.keys(e).length !== Object.keys(t).length) return !1; + for (const n in e) if (Dh(e[n], t[n]) === !1) return !1; + return !0; +} +const zh = { + to: [String, Object], + replace: Boolean, + exact: Boolean, + activeClass: { type: String, default: "q-router-link--active" }, + exactActiveClass: { type: String, default: "q-router-link--exact-active" }, + href: String, + target: String, + disable: Boolean, +}; +function Kh({ fallbackTag: e, useDisableForRouterLinkProps: t = !0 } = {}) { + const n = ke(), + { props: o, proxy: r, emit: i } = n, + s = $a(n), + l = R(() => o.disable !== !0 && o.href !== void 0), + a = R( + t === !0 + ? () => + s === !0 && + o.disable !== !0 && + l.value !== !0 && + o.to !== void 0 && + o.to !== null && + o.to !== "" + : () => + s === !0 && + l.value !== !0 && + o.to !== void 0 && + o.to !== null && + o.to !== "" + ), + c = R(() => (a.value === !0 ? m(o.to) : null)), + u = R(() => c.value !== null), + d = R(() => l.value === !0 || u.value === !0), + f = R(() => (o.type === "a" || d.value === !0 ? "a" : o.tag || e || "div")), + p = R(() => + l.value === !0 + ? { href: o.href, target: o.target } + : u.value === !0 + ? { href: c.value.href, target: o.target } + : {} + ), + y = R(() => { + if (u.value === !1) return -1; + const { matched: F } = c.value, + { length: j } = F, + V = F[j - 1]; + if (V === void 0) return -1; + const N = r.$route.matched; + if (N.length === 0) return -1; + const C = N.findIndex(Ms.bind(null, V)); + if (C > -1) return C; + const x = As(F[j - 2]); + return j > 1 && As(V) === x && N[N.length - 1].path !== x + ? N.findIndex(Ms.bind(null, F[j - 2])) + : C; + }), + T = R( + () => + u.value === !0 && y.value !== -1 && Vh(r.$route.params, c.value.params) + ), + q = R( + () => + T.value === !0 && + y.value === r.$route.matched.length - 1 && + Hh(r.$route.params, c.value.params) + ), + M = R(() => + u.value === !0 + ? q.value === !0 + ? ` ${o.exactActiveClass} ${o.activeClass}` + : o.exact === !0 + ? "" + : T.value === !0 + ? ` ${o.activeClass}` + : "" + : "" + ); + function m(F) { + try { + return r.$router.resolve(F); + } catch {} + return null; + } + function _( + F, + { returnRouterError: j, to: V = o.to, replace: N = o.replace } = {} + ) { + if (o.disable === !0) return F.preventDefault(), Promise.resolve(!1); + if ( + F.metaKey || + F.altKey || + F.ctrlKey || + F.shiftKey || + (F.button !== void 0 && F.button !== 0) || + o.target === "_blank" + ) + return Promise.resolve(!1); + F.preventDefault(); + const C = r.$router[N === !0 ? "replace" : "push"](V); + return j === !0 ? C : C.then(() => {}).catch(() => {}); + } + function w(F) { + if (u.value === !0) { + const j = (V) => _(F, V); + i("click", F, j), F.defaultPrevented !== !0 && j(); + } else i("click", F); + } + return { + hasRouterLink: u, + hasHrefLink: l, + hasLink: d, + linkTag: f, + resolvedLink: c, + linkIsActive: T, + linkIsExactActive: q, + linkClass: M, + linkAttrs: p, + getLink: m, + navigateToRouterLink: _, + navigateOnClick: w, + }; +} +const $s = { none: 0, xs: 4, sm: 8, md: 16, lg: 24, xl: 32 }, + Uh = { xs: 8, sm: 10, md: 14, lg: 20, xl: 24 }, + Wh = ["button", "submit", "reset"], + Qh = /[^\s]\/[^\s]/, + Yh = ["flat", "outline", "push", "unelevated"], + Ba = (e, t) => + e.flat === !0 + ? "flat" + : e.outline === !0 + ? "outline" + : e.push === !0 + ? "push" + : e.unelevated === !0 + ? "unelevated" + : t, + Im = (e) => { + const t = Ba(e); + return t !== void 0 ? { [t]: !0 } : {}; + }, + Zh = { + ...Yn, + ...zh, + type: { type: String, default: "button" }, + label: [Number, String], + icon: String, + iconRight: String, + ...Yh.reduce((e, t) => (e[t] = Boolean) && e, {}), + square: Boolean, + round: Boolean, + rounded: Boolean, + glossy: Boolean, + size: String, + fab: Boolean, + fabMini: Boolean, + padding: String, + color: String, + textColor: String, + noCaps: Boolean, + noWrap: Boolean, + dense: Boolean, + tabindex: [Number, String], + ripple: { type: [Boolean, Object], default: !0 }, + align: { ...Aa.align, default: "center" }, + stack: Boolean, + stretch: Boolean, + loading: { type: Boolean, default: null }, + disable: Boolean, + }; +function Jh(e) { + const t = Zn(e, Uh), + n = Ma(e), + { + hasRouterLink: o, + hasLink: r, + linkTag: i, + linkAttrs: s, + navigateOnClick: l, + } = Kh({ fallbackTag: "button" }), + a = R(() => { + const q = e.fab === !1 && e.fabMini === !1 ? t.value : {}; + return e.padding !== void 0 + ? Object.assign({}, q, { + padding: e.padding + .split(/\s+/) + .map((M) => (M in $s ? $s[M] + "px" : M)) + .join(" "), + minWidth: "0", + minHeight: "0", + }) + : q; + }), + c = R(() => e.rounded === !0 || e.fab === !0 || e.fabMini === !0), + u = R(() => e.disable !== !0 && e.loading !== !0), + d = R(() => (u.value === !0 ? e.tabindex || 0 : -1)), + f = R(() => Ba(e, "standard")), + p = R(() => { + const q = { tabindex: d.value }; + return ( + r.value === !0 + ? Object.assign(q, s.value) + : Wh.includes(e.type) === !0 && (q.type = e.type), + i.value === "a" + ? (e.disable === !0 + ? (q["aria-disabled"] = "true") + : q.href === void 0 && (q.role = "button"), + o.value !== !0 && Qh.test(e.type) === !0 && (q.type = e.type)) + : e.disable === !0 && + ((q.disabled = ""), (q["aria-disabled"] = "true")), + e.loading === !0 && + e.percentage !== void 0 && + Object.assign(q, { + role: "progressbar", + "aria-valuemin": 0, + "aria-valuemax": 100, + "aria-valuenow": e.percentage, + }), + q + ); + }), + y = R(() => { + let q; + e.color !== void 0 + ? e.flat === !0 || e.outline === !0 + ? (q = `text-${e.textColor || e.color}`) + : (q = `bg-${e.color} text-${e.textColor || "white"}`) + : e.textColor && (q = `text-${e.textColor}`); + const M = + e.round === !0 + ? "round" + : `rectangle${ + c.value === !0 + ? " q-btn--rounded" + : e.square === !0 + ? " q-btn--square" + : "" + }`; + return ( + `q-btn--${f.value} q-btn--${M}` + + (q !== void 0 ? " " + q : "") + + (u.value === !0 + ? " q-btn--actionable q-focusable q-hoverable" + : e.disable === !0 + ? " disabled" + : "") + + (e.fab === !0 + ? " q-btn--fab" + : e.fabMini === !0 + ? " q-btn--fab-mini" + : "") + + (e.noCaps === !0 ? " q-btn--no-uppercase" : "") + + (e.dense === !0 ? " q-btn--dense" : "") + + (e.stretch === !0 ? " no-border-radius self-stretch" : "") + + (e.glossy === !0 ? " glossy" : "") + + (e.square ? " q-btn--square" : "") + ); + }), + T = R( + () => + n.value + + (e.stack === !0 ? " column" : " row") + + (e.noWrap === !0 ? " no-wrap text-no-wrap" : "") + + (e.loading === !0 ? " q-btn__content--hidden" : "") + ); + return { + classes: y, + style: a, + innerClasses: T, + attributes: p, + hasLink: r, + linkTag: i, + navigateOnClick: l, + isActionable: u, + }; +} +const { passiveCapture: He } = Be; +let Jt = null, + Xt = null, + Gt = null; +var Br = $e({ + name: "QBtn", + props: { + ...Zh, + percentage: Number, + darkPercentage: Boolean, + onTouchstart: [Function, Array], + }, + emits: ["click", "keydown", "mousedown", "keyup"], + setup(e, { slots: t, emit: n }) { + const { proxy: o } = ke(), + { + classes: r, + style: i, + innerClasses: s, + attributes: l, + hasLink: a, + linkTag: c, + navigateOnClick: u, + isActionable: d, + } = Jh(e), + f = he(null), + p = he(null); + let y = null, + T, + q = null; + const M = R(() => e.label !== void 0 && e.label !== null && e.label !== ""), + m = R(() => + e.disable === !0 || e.ripple === !1 + ? !1 + : { + keyCodes: a.value === !0 ? [13, 32] : [13], + ...(e.ripple === !0 ? {} : e.ripple), + } + ), + _ = R(() => ({ center: e.round })), + w = R(() => { + const k = Math.max(0, Math.min(100, e.percentage)); + return k > 0 + ? { + transition: "transform 0.6s", + transform: `translateX(${k - 100}%)`, + } + : {}; + }), + F = R(() => { + if (e.loading === !0) + return { + onMousedown: H, + onTouchstart: H, + onClick: H, + onKeydown: H, + onKeyup: H, + }; + if (d.value === !0) { + const k = { onClick: V, onKeydown: N, onMousedown: x }; + if (o.$q.platform.has.touch === !0) { + const Z = e.onTouchstart !== void 0 ? "" : "Passive"; + k[`onTouchstart${Z}`] = C; + } + return k; + } + return { onClick: Ke }; + }), + j = R(() => ({ + ref: f, + class: "q-btn q-btn-item non-selectable no-outline " + r.value, + style: i.value, + ...l.value, + ...F.value, + })); + function V(k) { + if (f.value !== null) { + if (k !== void 0) { + if (k.defaultPrevented === !0) return; + const Z = document.activeElement; + if ( + e.type === "submit" && + Z !== document.body && + f.value.contains(Z) === !1 && + Z.contains(f.value) === !1 + ) { + f.value.focus(); + const Y = () => { + document.removeEventListener("keydown", Ke, !0), + document.removeEventListener("keyup", Y, He), + f.value !== null && f.value.removeEventListener("blur", Y, He); + }; + document.addEventListener("keydown", Ke, !0), + document.addEventListener("keyup", Y, He), + f.value.addEventListener("blur", Y, He); + } + } + u(k); + } + } + function N(k) { + f.value !== null && + (n("keydown", k), + zn(k, [13, 32]) === !0 && + Xt !== f.value && + (Xt !== null && v(), + k.defaultPrevented !== !0 && + (f.value.focus(), + (Xt = f.value), + f.value.classList.add("q-btn--active"), + document.addEventListener("keyup", $, !0), + f.value.addEventListener("blur", $, He)), + Ke(k))); + } + function C(k) { + f.value !== null && + (n("touchstart", k), + k.defaultPrevented !== !0 && + (Jt !== f.value && + (Jt !== null && v(), + (Jt = f.value), + (y = k.target), + y.addEventListener("touchcancel", $, He), + y.addEventListener("touchend", $, He)), + (T = !0), + q !== null && clearTimeout(q), + (q = setTimeout(() => { + (q = null), (T = !1); + }, 200)))); + } + function x(k) { + f.value !== null && + ((k.qSkipRipple = T === !0), + n("mousedown", k), + k.defaultPrevented !== !0 && + Gt !== f.value && + (Gt !== null && v(), + (Gt = f.value), + f.value.classList.add("q-btn--active"), + document.addEventListener("mouseup", $, He))); + } + function $(k) { + if ( + f.value !== null && + !( + k !== void 0 && + k.type === "blur" && + document.activeElement === f.value + ) + ) { + if (k !== void 0 && k.type === "keyup") { + if (Xt === f.value && zn(k, [13, 32]) === !0) { + const Z = new MouseEvent("click", k); + (Z.qKeyEvent = !0), + k.defaultPrevented === !0 && Et(Z), + k.cancelBubble === !0 && ko(Z), + f.value.dispatchEvent(Z), + Ke(k), + (k.qKeyEvent = !0); + } + n("keyup", k); + } + v(); + } + } + function v(k) { + const Z = p.value; + k !== !0 && + (Jt === f.value || Gt === f.value) && + Z !== null && + Z !== document.activeElement && + (Z.setAttribute("tabindex", -1), Z.focus()), + Jt === f.value && + (y !== null && + (y.removeEventListener("touchcancel", $, He), + y.removeEventListener("touchend", $, He)), + (Jt = y = null)), + Gt === f.value && + (document.removeEventListener("mouseup", $, He), (Gt = null)), + Xt === f.value && + (document.removeEventListener("keyup", $, !0), + f.value !== null && f.value.removeEventListener("blur", $, He), + (Xt = null)), + f.value !== null && f.value.classList.remove("q-btn--active"); + } + function H(k) { + Ke(k), (k.qSkipRipple = !0); + } + return ( + We(() => { + v(!0); + }), + Object.assign(o, { click: V }), + () => { + let k = []; + e.icon !== void 0 && + k.push( + E(pt, { + name: e.icon, + left: e.stack === !1 && M.value === !0, + role: "img", + "aria-hidden": "true", + }) + ), + M.value === !0 && k.push(E("span", { class: "block" }, [e.label])), + (k = It(t.default, k)), + e.iconRight !== void 0 && + e.round === !1 && + k.push( + E(pt, { + name: e.iconRight, + right: e.stack === !1 && M.value === !0, + role: "img", + "aria-hidden": "true", + }) + ); + const Z = [E("span", { class: "q-focus-helper", ref: p })]; + return ( + e.loading === !0 && + e.percentage !== void 0 && + Z.push( + E( + "span", + { + class: + "q-btn__progress absolute-full overflow-hidden" + + (e.darkPercentage === !0 ? " q-btn__progress--dark" : ""), + }, + [ + E("span", { + class: "q-btn__progress-indicator fit block", + style: w.value, + }), + ] + ) + ), + Z.push( + E( + "span", + { + class: + "q-btn__content text-center col items-center q-anchor--skip " + + s.value, + }, + k + ) + ), + e.loading !== null && + Z.push( + E(cn, { name: "q-transition--fade" }, () => + e.loading === !0 + ? [ + E( + "span", + { + key: "loading", + class: "absolute-full flex flex-center", + }, + t.loading !== void 0 ? t.loading() : [E(Un)] + ), + ] + : null + ) + ), + Al(E(c.value, j.value, Z), [[Nh, m.value, void 0, _.value]]) + ); + } + ); + }, +}); +let Xh = 1, + Gh = document.body; +function hi(e, t) { + const n = document.createElement("div"); + if ( + ((n.id = t !== void 0 ? `q-portal--${t}--${Xh++}` : e), + So.globalNodes !== void 0) + ) { + const o = So.globalNodes.class; + o !== void 0 && (n.className = o); + } + return Gh.appendChild(n), n; +} +function Fa(e) { + e.remove(); +} +let eg = 0; +const mo = {}, + po = {}, + Je = {}, + Ia = {}, + tg = /^\s*$/, + Na = [], + gi = [ + "top-left", + "top-right", + "bottom-left", + "bottom-right", + "top", + "bottom", + "left", + "right", + "center", + ], + ng = ["top-left", "top-right", "bottom-left", "bottom-right"], + tn = { + positive: { icon: (e) => e.iconSet.type.positive, color: "positive" }, + negative: { icon: (e) => e.iconSet.type.negative, color: "negative" }, + warning: { + icon: (e) => e.iconSet.type.warning, + color: "warning", + textColor: "dark", + }, + info: { icon: (e) => e.iconSet.type.info, color: "info" }, + ongoing: { group: !1, timeout: 0, spinner: !0, color: "grey-8" }, + }; +function ja(e, t, n) { + if (!e) return Cn("parameter required"); + let o; + const r = { textColor: "white" }; + if ( + (e.ignoreDefaults !== !0 && Object.assign(r, mo), + at(e) === !1 && + (r.type && Object.assign(r, tn[r.type]), (e = { message: e })), + Object.assign(r, tn[e.type || r.type], e), + typeof r.icon == "function" && (r.icon = r.icon(t)), + r.spinner + ? (r.spinner === !0 && (r.spinner = Un), (r.spinner = vn(r.spinner))) + : (r.spinner = !1), + (r.meta = { + hasMedia: Boolean(r.spinner !== !1 || r.icon || r.avatar), + hasText: Ls(r.message) || Ls(r.caption), + }), + r.position) + ) { + if (gi.includes(r.position) === !1) return Cn("wrong position", e); + } else r.position = "bottom"; + if (r.timeout === void 0) r.timeout = 5e3; + else { + const a = parseInt(r.timeout, 10); + if (isNaN(a) || a < 0) return Cn("wrong timeout", e); + r.timeout = a; + } + r.timeout === 0 + ? (r.progress = !1) + : r.progress === !0 && + ((r.meta.progressClass = + "q-notification__progress" + + (r.progressClass ? ` ${r.progressClass}` : "")), + (r.meta.progressStyle = { animationDuration: `${r.timeout + 1e3}ms` })); + const i = (Array.isArray(e.actions) === !0 ? e.actions : []) + .concat( + e.ignoreDefaults !== !0 && Array.isArray(mo.actions) === !0 + ? mo.actions + : [] + ) + .concat( + tn[e.type] !== void 0 && Array.isArray(tn[e.type].actions) === !0 + ? tn[e.type].actions + : [] + ), + { closeBtn: s } = r; + if ( + (s && i.push({ label: typeof s == "string" ? s : t.lang.label.close }), + (r.actions = i.map(({ handler: a, noDismiss: c, ...u }) => ({ + flat: !0, + ...u, + onClick: + typeof a == "function" + ? () => { + a(), c !== !0 && l(); + } + : () => { + l(); + }, + }))), + r.multiLine === void 0 && (r.multiLine = r.actions.length > 1), + Object.assign(r.meta, { + class: + `q-notification row items-stretch q-notification--${ + r.multiLine === !0 ? "multi-line" : "standard" + }` + + (r.color !== void 0 ? ` bg-${r.color}` : "") + + (r.textColor !== void 0 ? ` text-${r.textColor}` : "") + + (r.classes !== void 0 ? ` ${r.classes}` : ""), + wrapperClass: + "q-notification__wrapper col relative-position border-radius-inherit " + + (r.multiLine === !0 + ? "column no-wrap justify-center" + : "row items-center"), + contentClass: + "q-notification__content row items-center" + + (r.multiLine === !0 ? "" : " col"), + leftClass: r.meta.hasText === !0 ? "additional" : "single", + attrs: { role: "alert", ...r.attrs }, + }), + r.group === !1 + ? ((r.group = void 0), (r.meta.group = void 0)) + : ((r.group === void 0 || r.group === !0) && + (r.group = [r.message, r.caption, r.multiline] + .concat(r.actions.map((a) => `${a.label}*${a.icon}`)) + .join("|")), + (r.meta.group = r.group + "|" + r.position)), + r.actions.length === 0 + ? (r.actions = void 0) + : (r.meta.actionsClass = + "q-notification__actions row items-center " + + (r.multiLine === !0 ? "justify-end" : "col-auto") + + (r.meta.hasMedia === !0 + ? " q-notification__actions--with-media" + : "")), + n !== void 0) + ) { + n.notif.meta.timer && + (clearTimeout(n.notif.meta.timer), (n.notif.meta.timer = void 0)), + (r.meta.uid = n.notif.meta.uid); + const a = Je[r.position].value.indexOf(n.notif); + Je[r.position].value[a] = r; + } else { + const a = po[r.meta.group]; + if (a === void 0) { + if ( + ((r.meta.uid = eg++), + (r.meta.badge = 1), + ["left", "right", "center"].indexOf(r.position) !== -1) + ) + Je[r.position].value.splice( + Math.floor(Je[r.position].value.length / 2), + 0, + r + ); + else { + const c = r.position.indexOf("top") > -1 ? "unshift" : "push"; + Je[r.position].value[c](r); + } + r.group !== void 0 && (po[r.meta.group] = r); + } else { + if ( + (a.meta.timer && (clearTimeout(a.meta.timer), (a.meta.timer = void 0)), + r.badgePosition !== void 0) + ) { + if (ng.includes(r.badgePosition) === !1) + return Cn("wrong badgePosition", e); + } else + r.badgePosition = `top-${ + r.position.indexOf("left") > -1 ? "right" : "left" + }`; + (r.meta.uid = a.meta.uid), + (r.meta.badge = a.meta.badge + 1), + (r.meta.badgeClass = + `q-notification__badge q-notification__badge--${r.badgePosition}` + + (r.badgeColor !== void 0 ? ` bg-${r.badgeColor}` : "") + + (r.badgeTextColor !== void 0 ? ` text-${r.badgeTextColor}` : "") + + (r.badgeClass ? ` ${r.badgeClass}` : "")); + const c = Je[r.position].value.indexOf(a); + Je[r.position].value[c] = po[r.meta.group] = r; + } + } + const l = () => { + og(r), (o = void 0); + }; + if ( + (r.timeout > 0 && + (r.meta.timer = setTimeout(() => { + (r.meta.timer = void 0), l(); + }, r.timeout + 1e3)), + r.group !== void 0) + ) + return (a) => { + a !== void 0 + ? Cn("trying to update a grouped one which is forbidden", e) + : l(); + }; + if (((o = { dismiss: l, config: e, notif: r }), n !== void 0)) { + Object.assign(n, o); + return; + } + return (a) => { + if (o !== void 0) + if (a === void 0) o.dismiss(); + else { + const c = Object.assign({}, o.config, a, { + group: !1, + position: r.position, + }); + ja(c, t, o); + } + }; +} +function og(e) { + e.meta.timer && (clearTimeout(e.meta.timer), (e.meta.timer = void 0)); + const t = Je[e.position].value.indexOf(e); + if (t !== -1) { + e.group !== void 0 && delete po[e.meta.group]; + const n = Na["" + e.meta.uid]; + if (n) { + const { width: o, height: r } = getComputedStyle(n); + (n.style.left = `${n.offsetLeft}px`), + (n.style.width = o), + (n.style.height = r); + } + Je[e.position].value.splice(t, 1), + typeof e.onDismiss == "function" && e.onDismiss(); + } +} +function Ls(e) { + return e != null && tg.test(e) !== !0; +} +function Cn(e, t) { + return console.error(`Notify: ${e}`, t), !1; +} +function rg() { + return $e({ + name: "QNotifications", + devtools: { hide: !0 }, + setup() { + return () => + E( + "div", + { class: "q-notifications" }, + gi.map((e) => + E( + Tf, + { + key: e, + class: Ia[e], + tag: "div", + name: `q-notification--${e}`, + }, + () => + Je[e].value.map((t) => { + const n = t.meta, + o = []; + if ( + (n.hasMedia === !0 && + (t.spinner !== !1 + ? o.push( + E(t.spinner, { + class: + "q-notification__spinner q-notification__spinner--" + + n.leftClass, + color: t.spinnerColor, + size: t.spinnerSize, + }) + ) + : t.icon + ? o.push( + E(pt, { + class: + "q-notification__icon q-notification__icon--" + + n.leftClass, + name: t.icon, + color: t.iconColor, + size: t.iconSize, + role: "img", + }) + ) + : t.avatar && + o.push( + E( + Oh, + { + class: + "q-notification__avatar q-notification__avatar--" + + n.leftClass, + }, + () => + E("img", { + src: t.avatar, + "aria-hidden": "true", + }) + ) + )), + n.hasText === !0) + ) { + let i; + const s = { class: "q-notification__message col" }; + if (t.html === !0) + s.innerHTML = t.caption + ? `
${t.message}
${t.caption}
` + : t.message; + else { + const l = [t.message]; + i = t.caption + ? [ + E("div", l), + E("div", { class: "q-notification__caption" }, [ + t.caption, + ]), + ] + : l; + } + o.push(E("div", s, i)); + } + const r = [E("div", { class: n.contentClass }, o)]; + return ( + t.progress === !0 && + r.push( + E("div", { + key: `${n.uid}|p|${n.badge}`, + class: n.progressClass, + style: n.progressStyle, + }) + ), + t.actions !== void 0 && + r.push( + E( + "div", + { class: n.actionsClass }, + t.actions.map((i) => E(Br, i)) + ) + ), + n.badge > 1 && + r.push( + E( + "div", + { + key: `${n.uid}|${n.badge}`, + class: t.meta.badgeClass, + style: t.badgeStyle, + }, + [n.badge] + ) + ), + E( + "div", + { + ref: (i) => { + Na["" + n.uid] = i; + }, + key: n.uid, + class: n.class, + ...n.attrs, + }, + [E("div", { class: n.wrapperClass }, r)] + ) + ); + }) + ) + ) + ); + }, + }); +} +var ig = { + setDefaults(e) { + at(e) === !0 && Object.assign(mo, e); + }, + registerType(e, t) { + at(t) === !0 && (tn[e] = t); + }, + install({ $q: e, parentApp: t }) { + if ( + ((e.notify = this.create = (n) => ja(n, e)), + (e.notify.setDefaults = this.setDefaults), + (e.notify.registerType = this.registerType), + e.config.notify !== void 0 && this.setDefaults(e.config.notify), + this.__installed !== !0) + ) { + gi.forEach((o) => { + Je[o] = he([]); + const r = + ["left", "center", "right"].includes(o) === !0 + ? "center" + : o.indexOf("top") > -1 + ? "top" + : "bottom", + i = + o.indexOf("left") > -1 + ? "start" + : o.indexOf("right") > -1 + ? "end" + : "center", + s = ["left", "right"].includes(o) + ? `items-${o === "left" ? "start" : "end"} justify-center` + : o === "center" + ? "flex-center" + : `items-${i}`; + Ia[ + o + ] = `q-notifications__list q-notifications__list--${r} fixed column no-wrap ${s}`; + }); + const n = hi("q-notify"); + ma(rg(), t).mount(n); + } + }, +}; +function sg(e) { + return ld(e) === !0 + ? "__q_date|" + e.toUTCString() + : ad(e) === !0 + ? "__q_expr|" + e.source + : typeof e == "number" + ? "__q_numb|" + e + : typeof e == "boolean" + ? "__q_bool|" + (e ? "1" : "0") + : typeof e == "string" + ? "__q_strn|" + e + : typeof e == "function" + ? "__q_strn|" + e.toString() + : e === Object(e) + ? "__q_objt|" + JSON.stringify(e) + : e; +} +function lg(e) { + if (e.length < 9) return e; + const n = e.substring(0, 8), + o = e.substring(9); + switch (n) { + case "__q_date": + return new Date(o); + case "__q_expr": + return new RegExp(o); + case "__q_numb": + return Number(o); + case "__q_bool": + return Boolean(o === "1"); + case "__q_strn": + return "" + o; + case "__q_objt": + return JSON.parse(o); + default: + return e; + } +} +function ag() { + const e = () => null; + return { + has: () => !1, + getLength: () => 0, + getItem: e, + getIndex: e, + getKey: e, + getAll: () => {}, + getAllKeys: () => [], + set: Pt, + remove: Pt, + clear: Pt, + isEmpty: () => !0, + }; +} +function ug(e) { + const t = window[e + "Storage"], + n = (o) => { + const r = t.getItem(o); + return r ? lg(r) : null; + }; + return { + has: (o) => t.getItem(o) !== null, + getLength: () => t.length, + getItem: n, + getIndex: (o) => (o < t.length ? n(t.key(o)) : null), + getKey: (o) => (o < t.length ? t.key(o) : null), + getAll: () => { + let o; + const r = {}, + i = t.length; + for (let s = 0; s < i; s++) (o = t.key(s)), (r[o] = n(o)); + return r; + }, + getAllKeys: () => { + const o = [], + r = t.length; + for (let i = 0; i < r; i++) o.push(t.key(i)); + return o; + }, + set: (o, r) => { + t.setItem(o, sg(r)); + }, + remove: (o) => { + t.removeItem(o); + }, + clear: () => { + t.clear(); + }, + isEmpty: () => t.length === 0, + }; +} +const Va = we.has.webStorage === !1 ? ag() : ug("local"), + Da = { + install({ $q: e }) { + e.localStorage = Va; + }, + }; +Object.assign(Da, Va); +function cg(e, t, n) { + let o; + function r() { + o !== void 0 && (qr.remove(o), (o = void 0)); + } + return ( + We(() => { + e.value === !0 && r(); + }), + { + removeFromHistory: r, + addToHistory() { + (o = { condition: () => n.value === !0, handler: t }), qr.add(o); + }, + } + ); +} +function fg() { + let e = null; + const t = ke(); + function n() { + e !== null && (clearTimeout(e), (e = null)); + } + return ( + Fo(n), + We(n), + { + removeTimeout: n, + registerTimeout(o, r) { + n(), La(t) === !1 && (e = setTimeout(o, r)); + }, + } + ); +} +function dg() { + let e; + const t = ke(); + function n() { + e = void 0; + } + return ( + Fo(n), + We(n), + { + removeTick: n, + registerTick(o) { + (e = o), + je(() => { + e === o && (La(t) === !1 && e(), (e = void 0)); + }); + }, + } + ); +} +const hg = { + modelValue: { type: Boolean, default: null }, + "onUpdate:modelValue": [Function, Array], + }, + gg = ["beforeShow", "show", "beforeHide", "hide"]; +function mg({ + showing: e, + canShow: t, + hideOnRouteChange: n, + handleShow: o, + handleHide: r, + processOnMount: i, +}) { + const s = ke(), + { props: l, emit: a, proxy: c } = s; + let u; + function d(m) { + e.value === !0 ? y(m) : f(m); + } + function f(m) { + if ( + l.disable === !0 || + (m !== void 0 && m.qAnchorHandled === !0) || + (t !== void 0 && t(m) !== !0) + ) + return; + const _ = l["onUpdate:modelValue"] !== void 0; + _ === !0 && + (a("update:modelValue", !0), + (u = m), + je(() => { + u === m && (u = void 0); + })), + (l.modelValue === null || _ === !1) && p(m); + } + function p(m) { + e.value !== !0 && + ((e.value = !0), a("beforeShow", m), o !== void 0 ? o(m) : a("show", m)); + } + function y(m) { + if (l.disable === !0) return; + const _ = l["onUpdate:modelValue"] !== void 0; + _ === !0 && + (a("update:modelValue", !1), + (u = m), + je(() => { + u === m && (u = void 0); + })), + (l.modelValue === null || _ === !1) && T(m); + } + function T(m) { + e.value !== !1 && + ((e.value = !1), a("beforeHide", m), r !== void 0 ? r(m) : a("hide", m)); + } + function q(m) { + l.disable === !0 && m === !0 + ? l["onUpdate:modelValue"] !== void 0 && a("update:modelValue", !1) + : (m === !0) !== e.value && (m === !0 ? p : T)(u); + } + be(() => l.modelValue, q), + n !== void 0 && + $a(s) === !0 && + be( + () => c.$route.fullPath, + () => { + n.value === !0 && e.value === !0 && y(); + } + ), + i === !0 && + Ut(() => { + q(l.modelValue); + }); + const M = { show: f, hide: y, toggle: d }; + return Object.assign(c, M), M; +} +const pg = { + transitionShow: { type: String, default: "fade" }, + transitionHide: { type: String, default: "fade" }, + transitionDuration: { type: [String, Number], default: 300 }, +}; +function vg(e, t = () => {}, n = () => {}) { + return { + transitionProps: R(() => { + const o = `q-transition--${e.transitionShow || t()}`, + r = `q-transition--${e.transitionHide || n()}`; + return { + appear: !0, + enterFromClass: `${o}-enter-from`, + enterActiveClass: `${o}-enter-active`, + enterToClass: `${o}-enter-to`, + leaveFromClass: `${r}-leave-from`, + leaveActiveClass: `${r}-leave-active`, + leaveToClass: `${r}-leave-to`, + }; + }), + transitionStyle: R( + () => `--q-transition-duration: ${e.transitionDuration}ms` + ), + }; +} +let Nt = [], + Wn = []; +function Ha(e) { + Wn = Wn.filter((t) => t !== e); +} +function bg(e) { + Ha(e), Wn.push(e); +} +function Bs(e) { + Ha(e), Wn.length === 0 && Nt.length !== 0 && (Nt[Nt.length - 1](), (Nt = [])); +} +function mi(e) { + Wn.length === 0 ? e() : Nt.push(e); +} +function yg(e) { + Nt = Nt.filter((t) => t !== e); +} +const vo = []; +function Nm(e) { + return vo.find((t) => t.contentEl !== null && t.contentEl.contains(e)); +} +function _g(e, t) { + do { + if (e.$options.name === "QMenu") { + if ((e.hide(t), e.$props.separateClosePopup === !0)) return go(e); + } else if (e.__qPortal === !0) { + const n = go(e); + return n !== void 0 && n.$options.name === "QPopupProxy" + ? (e.hide(t), n) + : e; + } + e = go(e); + } while (e != null); +} +function jm(e, t, n) { + for (; n !== 0 && e !== void 0 && e !== null; ) { + if (e.__qPortal === !0) { + if ((n--, e.$options.name === "QMenu")) { + e = _g(e, t); + continue; + } + e.hide(t); + } + e = go(e); + } +} +function wg(e) { + for (e = e.parent; e != null; ) { + if (e.type.name === "QGlobalDialog") return !0; + if (e.type.name === "QDialog" || e.type.name === "QMenu") return !1; + e = e.parent; + } + return !1; +} +function xg(e, t, n, o) { + const r = he(!1), + i = he(!1); + let s = null; + const l = {}, + a = o === "dialog" && wg(e); + function c(d) { + if (d === !0) { + Bs(l), (i.value = !0); + return; + } + (i.value = !1), + r.value === !1 && + (a === !1 && s === null && (s = hi(!1, o)), + (r.value = !0), + vo.push(e.proxy), + bg(l)); + } + function u(d) { + if (((i.value = !1), d !== !0)) return; + Bs(l), (r.value = !1); + const f = vo.indexOf(e.proxy); + f !== -1 && vo.splice(f, 1), s !== null && (Fa(s), (s = null)); + } + return ( + ii(() => { + u(!0); + }), + (e.proxy.__qPortal = !0), + bn(e.proxy, "contentEl", () => t.value), + { + showPortal: c, + hidePortal: u, + portalIsActive: r, + portalIsAccessible: i, + renderPortal: () => + a === !0 ? n() : r.value === !0 ? [E(zc, { to: s }, n())] : void 0, + } + ); +} +const Cg = [ + null, + document, + document.body, + document.scrollingElement, + document.documentElement, +]; +function Vm(e, t) { + let n = Bh(t); + if (n === void 0) { + if (e == null) return window; + n = e.closest(".scroll,.scroll-y,.overflow-auto"); + } + return Cg.includes(n) ? window : n; +} +function Dm(e) { + return (e === window ? document.body : e).scrollHeight; +} +function za(e) { + return e === window + ? window.pageYOffset || window.scrollY || document.body.scrollTop || 0 + : e.scrollTop; +} +function Ka(e) { + return e === window + ? window.pageXOffset || window.scrollX || document.body.scrollLeft || 0 + : e.scrollLeft; +} +function Ua(e, t, n = 0) { + const o = arguments[3] === void 0 ? performance.now() : arguments[3], + r = za(e); + if (n <= 0) { + r !== t && Fr(e, t); + return; + } + requestAnimationFrame((i) => { + const s = i - o, + l = r + ((t - r) / Math.max(s, n)) * s; + Fr(e, l), l !== t && Ua(e, t, n - s, i); + }); +} +function Wa(e, t, n = 0) { + const o = arguments[3] === void 0 ? performance.now() : arguments[3], + r = Ka(e); + if (n <= 0) { + r !== t && Ir(e, t); + return; + } + requestAnimationFrame((i) => { + const s = i - o, + l = r + ((t - r) / Math.max(s, n)) * s; + Ir(e, l), l !== t && Wa(e, t, n - s, i); + }); +} +function Fr(e, t) { + if (e === window) { + window.scrollTo( + window.pageXOffset || window.scrollX || document.body.scrollLeft || 0, + t + ); + return; + } + e.scrollTop = t; +} +function Ir(e, t) { + if (e === window) { + window.scrollTo( + t, + window.pageYOffset || window.scrollY || document.body.scrollTop || 0 + ); + return; + } + e.scrollLeft = t; +} +function Hm(e, t, n) { + if (n) { + Ua(e, t, n); + return; + } + Fr(e, t); +} +function zm(e, t, n) { + if (n) { + Wa(e, t, n); + return; + } + Ir(e, t); +} +let ro; +function Km() { + if (ro !== void 0) return ro; + const e = document.createElement("p"), + t = document.createElement("div"); + Lr(e, { width: "100%", height: "200px" }), + Lr(t, { + position: "absolute", + top: "0px", + left: "0px", + visibility: "hidden", + width: "200px", + height: "150px", + overflow: "hidden", + }), + t.appendChild(e), + document.body.appendChild(t); + const n = e.offsetWidth; + t.style.overflow = "scroll"; + let o = e.offsetWidth; + return n === o && (o = t.clientWidth), t.remove(), (ro = n - o), ro; +} +function kg(e, t = !0) { + return !e || e.nodeType !== Node.ELEMENT_NODE + ? !1 + : t + ? e.scrollHeight > e.clientHeight && + (e.classList.contains("scroll") || + e.classList.contains("overflow-auto") || + ["auto", "scroll"].includes(window.getComputedStyle(e)["overflow-y"])) + : e.scrollWidth > e.clientWidth && + (e.classList.contains("scroll") || + e.classList.contains("overflow-auto") || + ["auto", "scroll"].includes(window.getComputedStyle(e)["overflow-x"])); +} +let kn = 0, + ur, + cr, + Tn, + fr = !1, + Fs, + Is, + Ns, + $t = null; +function Eg(e) { + Sg(e) && Ke(e); +} +function Sg(e) { + if ( + e.target === document.body || + e.target.classList.contains("q-layout__backdrop") + ) + return !0; + const t = zf(e), + n = e.shiftKey && !e.deltaX, + o = !n && Math.abs(e.deltaX) <= Math.abs(e.deltaY), + r = n || o ? e.deltaY : e.deltaX; + for (let i = 0; i < t.length; i++) { + const s = t[i]; + if (kg(s, o)) + return o + ? r < 0 && s.scrollTop === 0 + ? !0 + : r > 0 && s.scrollTop + s.clientHeight === s.scrollHeight + : r < 0 && s.scrollLeft === 0 + ? !0 + : r > 0 && s.scrollLeft + s.clientWidth === s.scrollWidth; + } + return !0; +} +function js(e) { + e.target === document && + (document.scrollingElement.scrollTop = document.scrollingElement.scrollTop); +} +function io(e) { + fr !== !0 && + ((fr = !0), + requestAnimationFrame(() => { + fr = !1; + const { height: t } = e.target, + { clientHeight: n, scrollTop: o } = document.scrollingElement; + (Tn === void 0 || t !== window.innerHeight) && + ((Tn = n - t), (document.scrollingElement.scrollTop = o)), + o > Tn && + (document.scrollingElement.scrollTop -= Math.ceil((o - Tn) / 8)); + })); +} +function Vs(e) { + const t = document.body, + n = window.visualViewport !== void 0; + if (e === "add") { + const { overflowY: o, overflowX: r } = window.getComputedStyle(t); + (ur = Ka(window)), + (cr = za(window)), + (Fs = t.style.left), + (Is = t.style.top), + (Ns = window.location.href), + (t.style.left = `-${ur}px`), + (t.style.top = `-${cr}px`), + r !== "hidden" && + (r === "scroll" || t.scrollWidth > window.innerWidth) && + t.classList.add("q-body--force-scrollbar-x"), + o !== "hidden" && + (o === "scroll" || t.scrollHeight > window.innerHeight) && + t.classList.add("q-body--force-scrollbar-y"), + t.classList.add("q-body--prevent-scroll"), + (document.qScrollPrevented = !0), + we.is.ios === !0 && + (n === !0 + ? (window.scrollTo(0, 0), + window.visualViewport.addEventListener( + "resize", + io, + Be.passiveCapture + ), + window.visualViewport.addEventListener( + "scroll", + io, + Be.passiveCapture + ), + window.scrollTo(0, 0)) + : window.addEventListener("scroll", js, Be.passiveCapture)); + } + we.is.desktop === !0 && + we.is.mac === !0 && + window[`${e}EventListener`]("wheel", Eg, Be.notPassive), + e === "remove" && + (we.is.ios === !0 && + (n === !0 + ? (window.visualViewport.removeEventListener( + "resize", + io, + Be.passiveCapture + ), + window.visualViewport.removeEventListener( + "scroll", + io, + Be.passiveCapture + )) + : window.removeEventListener("scroll", js, Be.passiveCapture)), + t.classList.remove("q-body--prevent-scroll"), + t.classList.remove("q-body--force-scrollbar-x"), + t.classList.remove("q-body--force-scrollbar-y"), + (document.qScrollPrevented = !1), + (t.style.left = Fs), + (t.style.top = Is), + window.location.href === Ns && window.scrollTo(ur, cr), + (Tn = void 0)); +} +function Rg(e) { + let t = "add"; + if (e === !0) { + if ((kn++, $t !== null)) { + clearTimeout($t), ($t = null); + return; + } + if (kn > 1) return; + } else { + if (kn === 0 || (kn--, kn > 0)) return; + if (((t = "remove"), we.is.ios === !0 && we.is.nativeMobile === !0)) { + $t !== null && clearTimeout($t), + ($t = setTimeout(() => { + Vs(t), ($t = null); + }, 100)); + return; + } + } + Vs(t); +} +function Pg() { + let e; + return { + preventBodyScroll(t) { + t !== e && (e !== void 0 || t === !0) && ((e = t), Rg(t)); + }, + }; +} +const Ht = []; +let hn; +function Tg(e) { + hn = e.keyCode === 27; +} +function qg() { + hn === !0 && (hn = !1); +} +function Ag(e) { + hn === !0 && ((hn = !1), zn(e, 27) === !0 && Ht[Ht.length - 1](e)); +} +function Qa(e) { + window[e]("keydown", Tg), + window[e]("blur", qg), + window[e]("keyup", Ag), + (hn = !1); +} +function Mg(e) { + we.is.desktop === !0 && + (Ht.push(e), Ht.length === 1 && Qa("addEventListener")); +} +function Ds(e) { + const t = Ht.indexOf(e); + t > -1 && (Ht.splice(t, 1), Ht.length === 0 && Qa("removeEventListener")); +} +const zt = []; +function Ya(e) { + zt[zt.length - 1](e); +} +function Og(e) { + we.is.desktop === !0 && + (zt.push(e), + zt.length === 1 && document.body.addEventListener("focusin", Ya)); +} +function Hs(e) { + const t = zt.indexOf(e); + t > -1 && + (zt.splice(t, 1), + zt.length === 0 && document.body.removeEventListener("focusin", Ya)); +} +let so = 0; +const $g = { + standard: "fixed-full flex-center", + top: "fixed-top justify-center", + bottom: "fixed-bottom justify-center", + right: "fixed-right items-center", + left: "fixed-left items-center", + }, + zs = { + standard: ["scale", "scale"], + top: ["slide-down", "slide-up"], + bottom: ["slide-up", "slide-down"], + right: ["slide-left", "slide-right"], + left: ["slide-right", "slide-left"], + }; +var Lg = $e({ + name: "QDialog", + inheritAttrs: !1, + props: { + ...hg, + ...pg, + transitionShow: String, + transitionHide: String, + persistent: Boolean, + autoClose: Boolean, + allowFocusOutside: Boolean, + noEscDismiss: Boolean, + noBackdropDismiss: Boolean, + noRouteDismiss: Boolean, + noRefocus: Boolean, + noFocus: Boolean, + noShake: Boolean, + seamless: Boolean, + maximized: Boolean, + fullWidth: Boolean, + fullHeight: Boolean, + square: Boolean, + position: { + type: String, + default: "standard", + validator: (e) => + e === "standard" || ["top", "bottom", "left", "right"].includes(e), + }, + }, + emits: [...gg, "shake", "click", "escapeKey"], + setup(e, { slots: t, emit: n, attrs: o }) { + const r = ke(), + i = he(null), + s = he(!1), + l = he(!1); + let a = null, + c = null, + u, + d; + const f = R( + () => + e.persistent !== !0 && e.noRouteDismiss !== !0 && e.seamless !== !0 + ), + { preventBodyScroll: p } = Pg(), + { registerTimeout: y } = fg(), + { registerTick: T, removeTick: q } = dg(), + { transitionProps: M, transitionStyle: m } = vg( + e, + () => zs[e.position][0], + () => zs[e.position][1] + ), + { + showPortal: _, + hidePortal: w, + portalIsAccessible: F, + renderPortal: j, + } = xg(r, i, Re, "dialog"), + { hide: V } = mg({ + showing: s, + hideOnRouteChange: f, + handleShow: k, + handleHide: Z, + processOnMount: !0, + }), + { addToHistory: N, removeFromHistory: C } = cg(s, V, f), + x = R( + () => + `q-dialog__inner flex no-pointer-events q-dialog__inner--${ + e.maximized === !0 ? "maximized" : "minimized" + } q-dialog__inner--${e.position} ${$g[e.position]}` + + (l.value === !0 ? " q-dialog__inner--animating" : "") + + (e.fullWidth === !0 ? " q-dialog__inner--fullwidth" : "") + + (e.fullHeight === !0 ? " q-dialog__inner--fullheight" : "") + + (e.square === !0 ? " q-dialog__inner--square" : "") + ), + $ = R(() => s.value === !0 && e.seamless !== !0), + v = R(() => (e.autoClose === !0 ? { onClick: fe } : {})), + H = R(() => [ + `q-dialog fullscreen no-pointer-events q-dialog--${ + $.value === !0 ? "modal" : "seamless" + }`, + o.class, + ]); + be( + () => e.maximized, + (oe) => { + s.value === !0 && se(oe); + } + ), + be($, (oe) => { + p(oe), oe === !0 ? (Og(ue), Mg(W)) : (Hs(ue), Ds(W)); + }); + function k(oe) { + N(), + (c = + e.noRefocus === !1 && document.activeElement !== null + ? document.activeElement + : null), + se(e.maximized), + _(), + (l.value = !0), + e.noFocus !== !0 + ? (document.activeElement !== null && document.activeElement.blur(), + T(Y)) + : q(), + y(() => { + if (r.proxy.$q.platform.is.ios === !0) { + if (e.seamless !== !0 && document.activeElement) { + const { top: ne, bottom: S } = + document.activeElement.getBoundingClientRect(), + { innerHeight: Q } = window, + z = + window.visualViewport !== void 0 + ? window.visualViewport.height + : Q; + ne > 0 && + S > z / 2 && + (document.scrollingElement.scrollTop = Math.min( + document.scrollingElement.scrollHeight - z, + S >= Q + ? 1 / 0 + : Math.ceil(document.scrollingElement.scrollTop + S - z / 2) + )), + document.activeElement.scrollIntoView(); + } + (d = !0), i.value.click(), (d = !1); + } + _(!0), (l.value = !1), n("show", oe); + }, e.transitionDuration); + } + function Z(oe) { + q(), + C(), + _e(!0), + (l.value = !0), + w(), + c !== null && + (( + (oe && oe.type.indexOf("key") === 0 + ? c.closest('[tabindex]:not([tabindex^="-"])') + : void 0) || c + ).focus(), + (c = null)), + y(() => { + w(!0), (l.value = !1), n("hide", oe); + }, e.transitionDuration); + } + function Y(oe) { + mi(() => { + let ne = i.value; + ne === null || + ne.contains(document.activeElement) === !0 || + ((ne = + (oe !== "" ? ne.querySelector(oe) : null) || + ne.querySelector( + "[autofocus][tabindex], [data-autofocus][tabindex]" + ) || + ne.querySelector( + "[autofocus] [tabindex], [data-autofocus] [tabindex]" + ) || + ne.querySelector("[autofocus], [data-autofocus]") || + ne), + ne.focus({ preventScroll: !0 })); + }); + } + function A(oe) { + oe && typeof oe.focus == "function" + ? oe.focus({ preventScroll: !0 }) + : Y(), + n("shake"); + const ne = i.value; + ne !== null && + (ne.classList.remove("q-animate--scale"), + ne.classList.add("q-animate--scale"), + a !== null && clearTimeout(a), + (a = setTimeout(() => { + (a = null), + i.value !== null && (ne.classList.remove("q-animate--scale"), Y()); + }, 170))); + } + function W() { + e.seamless !== !0 && + (e.persistent === !0 || e.noEscDismiss === !0 + ? e.maximized !== !0 && e.noShake !== !0 && A() + : (n("escapeKey"), V())); + } + function _e(oe) { + a !== null && (clearTimeout(a), (a = null)), + (oe === !0 || s.value === !0) && + (se(!1), e.seamless !== !0 && (p(!1), Hs(ue), Ds(W))), + oe !== !0 && (c = null); + } + function se(oe) { + oe === !0 + ? u !== !0 && + (so < 1 && document.body.classList.add("q-body--dialog"), + so++, + (u = !0)) + : u === !0 && + (so < 2 && document.body.classList.remove("q-body--dialog"), + so--, + (u = !1)); + } + function fe(oe) { + d !== !0 && (V(oe), n("click", oe)); + } + function L(oe) { + e.persistent !== !0 && e.noBackdropDismiss !== !0 + ? V(oe) + : e.noShake !== !0 && A(); + } + function ue(oe) { + e.allowFocusOutside !== !0 && + F.value === !0 && + Fh(i.value, oe.target) !== !0 && + Y('[tabindex]:not([tabindex="-1"])'); + } + Object.assign(r.proxy, { + focus: Y, + shake: A, + __updateRefocusTarget(oe) { + c = oe || null; + }, + }), + We(_e); + function Re() { + return E( + "div", + { + role: "dialog", + "aria-modal": $.value === !0 ? "true" : "false", + ...o, + class: H.value, + }, + [ + E(cn, { name: "q-transition--fade", appear: !0 }, () => + $.value === !0 + ? E("div", { + class: "q-dialog__backdrop fixed-full", + style: m.value, + "aria-hidden": "true", + tabindex: -1, + onClick: L, + }) + : null + ), + E(cn, M.value, () => + s.value === !0 + ? E( + "div", + { + ref: i, + class: x.value, + style: m.value, + tabindex: -1, + ...v.value, + }, + tt(t.default) + ) + : null + ), + ] + ); + } + return j; + }, +}); +const Wt = { dark: { type: Boolean, default: null } }; +function Qt(e, t) { + return R(() => (e.dark === null ? t.dark.isActive : e.dark)); +} +var Bg = $e({ + name: "QCard", + props: { + ...Wt, + tag: { type: String, default: "div" }, + square: Boolean, + flat: Boolean, + bordered: Boolean, + }, + setup(e, { slots: t }) { + const { + proxy: { $q: n }, + } = ke(), + o = Qt(e, n), + r = R( + () => + "q-card" + + (o.value === !0 ? " q-card--dark q-dark" : "") + + (e.bordered === !0 ? " q-card--bordered" : "") + + (e.square === !0 ? " q-card--square no-border-radius" : "") + + (e.flat === !0 ? " q-card--flat no-shadow" : "") + ); + return () => E(e.tag, { class: r.value }, tt(t.default)); + }, + }), + En = $e({ + name: "QCardSection", + props: { tag: { type: String, default: "div" }, horizontal: Boolean }, + setup(e, { slots: t }) { + const n = R( + () => + `q-card__section q-card__section--${ + e.horizontal === !0 ? "horiz row no-wrap" : "vert" + }` + ); + return () => E(e.tag, { class: n.value }, tt(t.default)); + }, + }), + Fg = $e({ + name: "QCardActions", + props: { ...Aa, vertical: Boolean }, + setup(e, { slots: t }) { + const n = Ma(e), + o = R( + () => + `q-card__actions ${n.value} q-card__actions--${ + e.vertical === !0 ? "vert column" : "horiz row" + }` + ); + return () => E("div", { class: o.value }, tt(t.default)); + }, + }); +const Ig = { + true: "inset", + item: "item-inset", + "item-thumbnail": "item-thumbnail-inset", + }, + dr = { xs: 2, sm: 4, md: 8, lg: 16, xl: 24 }; +var Ks = $e({ + name: "QSeparator", + props: { + ...Wt, + spaced: [Boolean, String], + inset: [Boolean, String], + vertical: Boolean, + color: String, + size: String, + }, + setup(e) { + const t = ke(), + n = Qt(e, t.proxy.$q), + o = R(() => (e.vertical === !0 ? "vertical" : "horizontal")), + r = R(() => ` q-separator--${o.value}`), + i = R(() => (e.inset !== !1 ? `${r.value}-${Ig[e.inset]}` : "")), + s = R( + () => + `q-separator${r.value}${i.value}` + + (e.color !== void 0 ? ` bg-${e.color}` : "") + + (n.value === !0 ? " q-separator--dark" : "") + ), + l = R(() => { + const a = {}; + if ( + (e.size !== void 0 && + (a[e.vertical === !0 ? "width" : "height"] = e.size), + e.spaced !== !1) + ) { + const c = + e.spaced === !0 + ? `${dr.md}px` + : e.spaced in dr + ? `${dr[e.spaced]}px` + : e.spaced, + u = e.vertical === !0 ? ["Left", "Right"] : ["Top", "Bottom"]; + a[`margin${u[0]}`] = a[`margin${u[1]}`] = c; + } + return a; + }); + return () => + E("hr", { class: s.value, style: l.value, "aria-orientation": o.value }); + }, +}); +function Ng({ validate: e, resetValidation: t, requiresQForm: n }) { + const o = ut(id, !1); + if (o !== !1) { + const { props: r, proxy: i } = ke(); + Object.assign(i, { validate: e, resetValidation: t }), + be( + () => r.disable, + (s) => { + s === !0 + ? (typeof t == "function" && t(), o.unbindComponent(i)) + : o.bindComponent(i); + } + ), + Ut(() => { + r.disable !== !0 && o.bindComponent(i); + }), + We(() => { + r.disable !== !0 && o.unbindComponent(i); + }); + } else n === !0 && console.error("Parent QForm not found on useFormChild()!"); +} +const Us = /^#[0-9a-fA-F]{3}([0-9a-fA-F]{3})?$/, + Ws = /^#[0-9a-fA-F]{4}([0-9a-fA-F]{4})?$/, + Qs = /^#([0-9a-fA-F]{3}|[0-9a-fA-F]{4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/, + lo = + /^rgb\(((0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5]),){2}(0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5])\)$/, + ao = + /^rgba\(((0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5]),){2}(0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5]),(0|0\.[0-9]+[1-9]|0\.[1-9]+|1)\)$/, + hr = { + date: (e) => /^-?[\d]+\/[0-1]\d\/[0-3]\d$/.test(e), + time: (e) => /^([0-1]?\d|2[0-3]):[0-5]\d$/.test(e), + fulltime: (e) => /^([0-1]?\d|2[0-3]):[0-5]\d:[0-5]\d$/.test(e), + timeOrFulltime: (e) => /^([0-1]?\d|2[0-3]):[0-5]\d(:[0-5]\d)?$/.test(e), + email: (e) => + /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test( + e + ), + hexColor: (e) => Us.test(e), + hexaColor: (e) => Ws.test(e), + hexOrHexaColor: (e) => Qs.test(e), + rgbColor: (e) => lo.test(e), + rgbaColor: (e) => ao.test(e), + rgbOrRgbaColor: (e) => lo.test(e) || ao.test(e), + hexOrRgbColor: (e) => Us.test(e) || lo.test(e), + hexaOrRgbaColor: (e) => Ws.test(e) || ao.test(e), + anyColor: (e) => Qs.test(e) || lo.test(e) || ao.test(e), + }, + jg = [!0, !1, "ondemand"], + Vg = { + modelValue: {}, + error: { type: Boolean, default: null }, + errorMessage: String, + noErrorIcon: Boolean, + rules: Array, + reactiveRules: Boolean, + lazyRules: { type: [Boolean, String], validator: (e) => jg.includes(e) }, + }; +function Dg(e, t) { + const { props: n, proxy: o } = ke(), + r = he(!1), + i = he(null), + s = he(null); + Ng({ validate: y, resetValidation: p }); + let l = 0, + a; + const c = R( + () => n.rules !== void 0 && n.rules !== null && n.rules.length !== 0 + ), + u = R(() => n.disable !== !0 && c.value === !0), + d = R(() => n.error === !0 || r.value === !0), + f = R(() => + typeof n.errorMessage == "string" && n.errorMessage.length !== 0 + ? n.errorMessage + : i.value + ); + be( + () => n.modelValue, + () => { + T(); + } + ), + be( + () => n.reactiveRules, + (M) => { + M === !0 + ? a === void 0 && + (a = be( + () => n.rules, + () => { + T(!0); + } + )) + : a !== void 0 && (a(), (a = void 0)); + }, + { immediate: !0 } + ), + be(e, (M) => { + M === !0 + ? s.value === null && (s.value = !1) + : s.value === !1 && + ((s.value = !0), + u.value === !0 && + n.lazyRules !== "ondemand" && + t.value === !1 && + q()); + }); + function p() { + l++, + (t.value = !1), + (s.value = null), + (r.value = !1), + (i.value = null), + q.cancel(); + } + function y(M = n.modelValue) { + if (u.value !== !0) return !0; + const m = ++l, + _ = + t.value !== !0 + ? () => { + s.value = !0; + } + : () => {}, + w = (j, V) => { + j === !0 && _(), (r.value = j), (i.value = V || null), (t.value = !1); + }, + F = []; + for (let j = 0; j < n.rules.length; j++) { + const V = n.rules[j]; + let N; + if ( + (typeof V == "function" + ? (N = V(M, hr)) + : typeof V == "string" && hr[V] !== void 0 && (N = hr[V](M)), + N === !1 || typeof N == "string") + ) + return w(!0, N), !1; + N !== !0 && N !== void 0 && F.push(N); + } + return F.length === 0 + ? (w(!1), !0) + : ((t.value = !0), + Promise.all(F).then( + (j) => { + if (j === void 0 || Array.isArray(j) === !1 || j.length === 0) + return m === l && w(!1), !0; + const V = j.find((N) => N === !1 || typeof N == "string"); + return m === l && w(V !== void 0, V), V === void 0; + }, + (j) => (m === l && (console.error(j), w(!0)), !1) + )); + } + function T(M) { + u.value === !0 && + n.lazyRules !== "ondemand" && + (s.value === !0 || (n.lazyRules !== !0 && M !== !0)) && + q(); + } + const q = ua(y, 0); + return ( + We(() => { + a !== void 0 && a(), q.cancel(); + }), + Object.assign(o, { resetValidation: p, validate: y }), + bn(o, "hasError", () => d.value), + { + isDirtyModel: s, + hasRules: c, + hasError: d, + errorMessage: f, + validate: y, + resetValidation: p, + } + ); +} +const Ys = /^on[A-Z]/; +function Hg(e, t) { + const n = { listeners: he({}), attributes: he({}) }; + function o() { + const r = {}, + i = {}; + for (const s in e) + s !== "class" && s !== "style" && Ys.test(s) === !1 && (r[s] = e[s]); + for (const s in t.props) Ys.test(s) === !0 && (i[s] = t.props[s]); + (n.attributes.value = r), (n.listeners.value = i); + } + return Fl(o), o(), n; +} +let gr, + uo = 0; +const Te = new Array(256); +for (let e = 0; e < 256; e++) Te[e] = (e + 256).toString(16).substring(1); +const zg = (() => { + const e = + typeof crypto != "undefined" + ? crypto + : typeof window != "undefined" + ? window.crypto || window.msCrypto + : void 0; + if (e !== void 0) { + if (e.randomBytes !== void 0) return e.randomBytes; + if (e.getRandomValues !== void 0) + return (t) => { + const n = new Uint8Array(t); + return e.getRandomValues(n), n; + }; + } + return (t) => { + const n = []; + for (let o = t; o > 0; o--) n.push(Math.floor(Math.random() * 256)); + return n; + }; + })(), + Zs = 4096; +function Kg() { + (gr === void 0 || uo + 16 > Zs) && ((uo = 0), (gr = zg(Zs))); + const e = Array.prototype.slice.call(gr, uo, (uo += 16)); + return ( + (e[6] = (e[6] & 15) | 64), + (e[8] = (e[8] & 63) | 128), + Te[e[0]] + + Te[e[1]] + + Te[e[2]] + + Te[e[3]] + + "-" + + Te[e[4]] + + Te[e[5]] + + "-" + + Te[e[6]] + + Te[e[7]] + + "-" + + Te[e[8]] + + Te[e[9]] + + "-" + + Te[e[10]] + + Te[e[11]] + + Te[e[12]] + + Te[e[13]] + + Te[e[14]] + + Te[e[15]] + ); +} +function Nr(e) { + return e === void 0 ? `f_${Kg()}` : e; +} +function jr(e) { + return e != null && ("" + e).length !== 0; +} +const Ug = { + ...Wt, + ...Vg, + label: String, + stackLabel: Boolean, + hint: String, + hideHint: Boolean, + prefix: String, + suffix: String, + labelColor: String, + color: String, + bgColor: String, + filled: Boolean, + outlined: Boolean, + borderless: Boolean, + standout: [Boolean, String], + square: Boolean, + loading: Boolean, + labelSlot: Boolean, + bottomSlots: Boolean, + hideBottomSpace: Boolean, + rounded: Boolean, + dense: Boolean, + itemAligned: Boolean, + counter: Boolean, + clearable: Boolean, + clearIcon: String, + disable: Boolean, + readonly: Boolean, + autofocus: Boolean, + for: String, + maxlength: [Number, String], + }, + Wg = [ + "update:modelValue", + "clear", + "focus", + "blur", + "popupShow", + "popupHide", + ]; +function Qg() { + const { props: e, attrs: t, proxy: n, vnode: o } = ke(); + return { + isDark: Qt(e, n.$q), + editable: R(() => e.disable !== !0 && e.readonly !== !0), + innerLoading: he(!1), + focused: he(!1), + hasPopupOpen: !1, + splitAttrs: Hg(t, o), + targetUid: he(Nr(e.for)), + rootRef: he(null), + targetRef: he(null), + controlRef: he(null), + }; +} +function Yg(e) { + const { props: t, emit: n, slots: o, attrs: r, proxy: i } = ke(), + { $q: s } = i; + let l = null; + e.hasValue === void 0 && (e.hasValue = R(() => jr(t.modelValue))), + e.emitValue === void 0 && + (e.emitValue = (A) => { + n("update:modelValue", A); + }), + e.controlEvents === void 0 && + (e.controlEvents = { onFocusin: C, onFocusout: x }), + Object.assign(e, { + clearValue: $, + onControlFocusin: C, + onControlFocusout: x, + focus: V, + }), + e.computedCounter === void 0 && + (e.computedCounter = R(() => { + if (t.counter !== !1) { + const A = + typeof t.modelValue == "string" || typeof t.modelValue == "number" + ? ("" + t.modelValue).length + : Array.isArray(t.modelValue) === !0 + ? t.modelValue.length + : 0, + W = t.maxlength !== void 0 ? t.maxlength : t.maxValues; + return A + (W !== void 0 ? " / " + W : ""); + } + })); + const { + isDirtyModel: a, + hasRules: c, + hasError: u, + errorMessage: d, + resetValidation: f, + } = Dg(e.focused, e.innerLoading), + p = + e.floatingLabel !== void 0 + ? R( + () => + t.stackLabel === !0 || + e.focused.value === !0 || + e.floatingLabel.value === !0 + ) + : R( + () => + t.stackLabel === !0 || + e.focused.value === !0 || + e.hasValue.value === !0 + ), + y = R( + () => + t.bottomSlots === !0 || + t.hint !== void 0 || + c.value === !0 || + t.counter === !0 || + t.error !== null + ), + T = R(() => + t.filled === !0 + ? "filled" + : t.outlined === !0 + ? "outlined" + : t.borderless === !0 + ? "borderless" + : t.standout + ? "standout" + : "standard" + ), + q = R( + () => + `q-field row no-wrap items-start q-field--${T.value}` + + (e.fieldClass !== void 0 ? ` ${e.fieldClass.value}` : "") + + (t.rounded === !0 ? " q-field--rounded" : "") + + (t.square === !0 ? " q-field--square" : "") + + (p.value === !0 ? " q-field--float" : "") + + (m.value === !0 ? " q-field--labeled" : "") + + (t.dense === !0 ? " q-field--dense" : "") + + (t.itemAligned === !0 ? " q-field--item-aligned q-item-type" : "") + + (e.isDark.value === !0 ? " q-field--dark" : "") + + (e.getControl === void 0 ? " q-field--auto-height" : "") + + (e.focused.value === !0 ? " q-field--focused" : "") + + (u.value === !0 ? " q-field--error" : "") + + (u.value === !0 || e.focused.value === !0 + ? " q-field--highlighted" + : "") + + (t.hideBottomSpace !== !0 && y.value === !0 + ? " q-field--with-bottom" + : "") + + (t.disable === !0 + ? " q-field--disabled" + : t.readonly === !0 + ? " q-field--readonly" + : "") + ), + M = R( + () => + "q-field__control relative-position row no-wrap" + + (t.bgColor !== void 0 ? ` bg-${t.bgColor}` : "") + + (u.value === !0 + ? " text-negative" + : typeof t.standout == "string" && + t.standout.length !== 0 && + e.focused.value === !0 + ? ` ${t.standout}` + : t.color !== void 0 + ? ` text-${t.color}` + : "") + ), + m = R(() => t.labelSlot === !0 || t.label !== void 0), + _ = R( + () => + "q-field__label no-pointer-events absolute ellipsis" + + (t.labelColor !== void 0 && u.value !== !0 + ? ` text-${t.labelColor}` + : "") + ), + w = R(() => ({ + id: e.targetUid.value, + editable: e.editable.value, + focused: e.focused.value, + floatingLabel: p.value, + modelValue: t.modelValue, + emitValue: e.emitValue, + })), + F = R(() => { + const A = { for: e.targetUid.value }; + return ( + t.disable === !0 + ? (A["aria-disabled"] = "true") + : t.readonly === !0 && (A["aria-readonly"] = "true"), + A + ); + }); + be( + () => t.for, + (A) => { + e.targetUid.value = Nr(A); + } + ); + function j() { + const A = document.activeElement; + let W = e.targetRef !== void 0 && e.targetRef.value; + W && + (A === null || A.id !== e.targetUid.value) && + (W.hasAttribute("tabindex") === !0 || (W = W.querySelector("[tabindex]")), + W && W !== A && W.focus({ preventScroll: !0 })); + } + function V() { + mi(j); + } + function N() { + yg(j); + const A = document.activeElement; + A !== null && e.rootRef.value.contains(A) && A.blur(); + } + function C(A) { + l !== null && (clearTimeout(l), (l = null)), + e.editable.value === !0 && + e.focused.value === !1 && + ((e.focused.value = !0), n("focus", A)); + } + function x(A, W) { + l !== null && clearTimeout(l), + (l = setTimeout(() => { + (l = null), + !( + document.hasFocus() === !0 && + (e.hasPopupOpen === !0 || + e.controlRef === void 0 || + e.controlRef.value === null || + e.controlRef.value.contains(document.activeElement) !== !1) + ) && + (e.focused.value === !0 && ((e.focused.value = !1), n("blur", A)), + W !== void 0 && W()); + })); + } + function $(A) { + Ke(A), + s.platform.is.mobile !== !0 + ? ( + (e.targetRef !== void 0 && e.targetRef.value) || + e.rootRef.value + ).focus() + : e.rootRef.value.contains(document.activeElement) === !0 && + document.activeElement.blur(), + t.type === "file" && (e.inputRef.value.value = null), + n("update:modelValue", null), + n("clear", t.modelValue), + je(() => { + f(), s.platform.is.mobile !== !0 && (a.value = !1); + }); + } + function v() { + const A = []; + return ( + o.prepend !== void 0 && + A.push( + E( + "div", + { + class: + "q-field__prepend q-field__marginal row no-wrap items-center", + key: "prepend", + onClick: Et, + }, + o.prepend() + ) + ), + A.push( + E( + "div", + { + class: + "q-field__control-container col relative-position row no-wrap q-anchor--skip", + }, + H() + ) + ), + u.value === !0 && + t.noErrorIcon === !1 && + A.push( + Z("error", [ + E(pt, { name: s.iconSet.field.error, color: "negative" }), + ]) + ), + t.loading === !0 || e.innerLoading.value === !0 + ? A.push( + Z( + "inner-loading-append", + o.loading !== void 0 ? o.loading() : [E(Un, { color: t.color })] + ) + ) + : t.clearable === !0 && + e.hasValue.value === !0 && + e.editable.value === !0 && + A.push( + Z("inner-clearable-append", [ + E(pt, { + class: "q-field__focusable-action", + tag: "button", + name: t.clearIcon || s.iconSet.field.clear, + tabindex: 0, + type: "button", + "aria-hidden": null, + role: null, + onClick: $, + }), + ]) + ), + o.append !== void 0 && + A.push( + E( + "div", + { + class: + "q-field__append q-field__marginal row no-wrap items-center", + key: "append", + onClick: Et, + }, + o.append() + ) + ), + e.getInnerAppend !== void 0 && + A.push(Z("inner-append", e.getInnerAppend())), + e.getControlChild !== void 0 && A.push(e.getControlChild()), + A + ); + } + function H() { + const A = []; + return ( + t.prefix !== void 0 && + t.prefix !== null && + A.push( + E( + "div", + { class: "q-field__prefix no-pointer-events row items-center" }, + t.prefix + ) + ), + e.getShadowControl !== void 0 && + e.hasShadow.value === !0 && + A.push(e.getShadowControl()), + e.getControl !== void 0 + ? A.push(e.getControl()) + : o.rawControl !== void 0 + ? A.push(o.rawControl()) + : o.control !== void 0 && + A.push( + E( + "div", + { + ref: e.targetRef, + class: "q-field__native row", + tabindex: -1, + ...e.splitAttrs.attributes.value, + "data-autofocus": t.autofocus === !0 || void 0, + }, + o.control(w.value) + ) + ), + m.value === !0 && + A.push(E("div", { class: _.value }, tt(o.label, t.label))), + t.suffix !== void 0 && + t.suffix !== null && + A.push( + E( + "div", + { class: "q-field__suffix no-pointer-events row items-center" }, + t.suffix + ) + ), + A.concat(tt(o.default)) + ); + } + function k() { + let A, W; + u.value === !0 + ? d.value !== null + ? ((A = [E("div", { role: "alert" }, d.value)]), + (W = `q--slot-error-${d.value}`)) + : ((A = tt(o.error)), (W = "q--slot-error")) + : (t.hideHint !== !0 || e.focused.value === !0) && + (t.hint !== void 0 + ? ((A = [E("div", t.hint)]), (W = `q--slot-hint-${t.hint}`)) + : ((A = tt(o.hint)), (W = "q--slot-hint"))); + const _e = t.counter === !0 || o.counter !== void 0; + if (t.hideBottomSpace === !0 && _e === !1 && A === void 0) return; + const se = E("div", { key: W, class: "q-field__messages col" }, A); + return E( + "div", + { + class: + "q-field__bottom row items-start q-field__bottom--" + + (t.hideBottomSpace !== !0 ? "animated" : "stale"), + onClick: Et, + }, + [ + t.hideBottomSpace === !0 + ? se + : E(cn, { name: "q-transition--field-message" }, () => se), + _e === !0 + ? E( + "div", + { class: "q-field__counter" }, + o.counter !== void 0 ? o.counter() : e.computedCounter.value + ) + : null, + ] + ); + } + function Z(A, W) { + return W === null + ? null + : E( + "div", + { + key: A, + class: + "q-field__append q-field__marginal row no-wrap items-center q-anchor--skip", + }, + W + ); + } + let Y = !1; + return ( + Fo(() => { + Y = !0; + }), + Ll(() => { + Y === !0 && t.autofocus === !0 && i.focus(); + }), + Ut(() => { + qt.value === !0 && t.for === void 0 && (e.targetUid.value = Nr()), + t.autofocus === !0 && i.focus(); + }), + We(() => { + l !== null && clearTimeout(l); + }), + Object.assign(i, { focus: V, blur: N }), + function () { + const W = + e.getControl === void 0 && o.control === void 0 + ? { + ...e.splitAttrs.attributes.value, + "data-autofocus": t.autofocus === !0 || void 0, + ...F.value, + } + : F.value; + return E( + "label", + { ref: e.rootRef, class: [q.value, r.class], style: r.style, ...W }, + [ + o.before !== void 0 + ? E( + "div", + { + class: + "q-field__before q-field__marginal row no-wrap items-center", + onClick: Et, + }, + o.before() + ) + : null, + E( + "div", + { class: "q-field__inner relative-position col self-stretch" }, + [ + E( + "div", + { + ref: e.controlRef, + class: M.value, + tabindex: -1, + ...e.controlEvents, + }, + v() + ), + y.value === !0 ? k() : null, + ] + ), + o.after !== void 0 + ? E( + "div", + { + class: + "q-field__after q-field__marginal row no-wrap items-center", + onClick: Et, + }, + o.after() + ) + : null, + ] + ); + } + ); +} +const Js = { + date: "####/##/##", + datetime: "####/##/## ##:##", + time: "##:##", + fulltime: "##:##:##", + phone: "(###) ### - ####", + card: "#### #### #### ####", + }, + Po = { + "#": { pattern: "[\\d]", negate: "[^\\d]" }, + S: { pattern: "[a-zA-Z]", negate: "[^a-zA-Z]" }, + N: { pattern: "[0-9a-zA-Z]", negate: "[^0-9a-zA-Z]" }, + A: { + pattern: "[a-zA-Z]", + negate: "[^a-zA-Z]", + transform: (e) => e.toLocaleUpperCase(), + }, + a: { + pattern: "[a-zA-Z]", + negate: "[^a-zA-Z]", + transform: (e) => e.toLocaleLowerCase(), + }, + X: { + pattern: "[0-9a-zA-Z]", + negate: "[^0-9a-zA-Z]", + transform: (e) => e.toLocaleUpperCase(), + }, + x: { + pattern: "[0-9a-zA-Z]", + negate: "[^0-9a-zA-Z]", + transform: (e) => e.toLocaleLowerCase(), + }, + }, + Za = Object.keys(Po); +Za.forEach((e) => { + Po[e].regex = new RegExp(Po[e].pattern); +}); +const Zg = new RegExp( + "\\\\([^.*+?^${}()|([\\]])|([.*+?^${}()|[\\]])|([" + Za.join("") + "])|(.)", + "g" + ), + Xs = /[.*+?^${}()|[\]\\]/g, + Se = String.fromCharCode(1), + Jg = { + mask: String, + reverseFillMask: Boolean, + fillMask: [Boolean, String], + unmaskedValue: Boolean, + }; +function Xg(e, t, n, o) { + let r, i, s, l, a, c; + const u = he(null), + d = he(p()); + function f() { + return ( + e.autogrow === !0 || + ["textarea", "text", "search", "url", "tel", "password"].includes(e.type) + ); + } + be(() => e.type + e.autogrow, T), + be( + () => e.mask, + (C) => { + if (C !== void 0) q(d.value, !0); + else { + const x = V(d.value); + T(), e.modelValue !== x && t("update:modelValue", x); + } + } + ), + be( + () => e.fillMask + e.reverseFillMask, + () => { + u.value === !0 && q(d.value, !0); + } + ), + be( + () => e.unmaskedValue, + () => { + u.value === !0 && q(d.value); + } + ); + function p() { + if ((T(), u.value === !0)) { + const C = F(V(e.modelValue)); + return e.fillMask !== !1 ? N(C) : C; + } + return e.modelValue; + } + function y(C) { + if (C < r.length) return r.slice(-C); + let x = "", + $ = r; + const v = $.indexOf(Se); + if (v > -1) { + for (let H = C - $.length; H > 0; H--) x += Se; + $ = $.slice(0, v) + x + $.slice(v); + } + return $; + } + function T() { + if ( + ((u.value = e.mask !== void 0 && e.mask.length !== 0 && f()), + u.value === !1) + ) { + (l = void 0), (r = ""), (i = ""); + return; + } + const C = Js[e.mask] === void 0 ? e.mask : Js[e.mask], + x = + typeof e.fillMask == "string" && e.fillMask.length !== 0 + ? e.fillMask.slice(0, 1) + : "_", + $ = x.replace(Xs, "\\$&"), + v = [], + H = [], + k = []; + let Z = e.reverseFillMask === !0, + Y = "", + A = ""; + C.replace(Zg, (fe, L, ue, Re, oe) => { + if (Re !== void 0) { + const ne = Po[Re]; + k.push(ne), + (A = ne.negate), + Z === !0 && + (H.push( + "(?:" + + A + + "+)?(" + + ne.pattern + + "+)?(?:" + + A + + "+)?(" + + ne.pattern + + "+)?" + ), + (Z = !1)), + H.push("(?:" + A + "+)?(" + ne.pattern + ")?"); + } else if (ue !== void 0) + (Y = "\\" + (ue === "\\" ? "" : ue)), + k.push(ue), + v.push("([^" + Y + "]+)?" + Y + "?"); + else { + const ne = L !== void 0 ? L : oe; + (Y = ne === "\\" ? "\\\\\\\\" : ne.replace(Xs, "\\\\$&")), + k.push(ne), + v.push("([^" + Y + "]+)?" + Y + "?"); + } + }); + const W = new RegExp( + "^" + + v.join("") + + "(" + + (Y === "" ? "." : "[^" + Y + "]") + + "+)?" + + (Y === "" ? "" : "[" + Y + "]*") + + "$" + ), + _e = H.length - 1, + se = H.map((fe, L) => + L === 0 && e.reverseFillMask === !0 + ? new RegExp("^" + $ + "*" + fe) + : L === _e + ? new RegExp( + "^" + + fe + + "(" + + (A === "" ? "." : A) + + "+)?" + + (e.reverseFillMask === !0 ? "$" : $ + "*") + ) + : new RegExp("^" + fe) + ); + (s = k), + (l = (fe) => { + const L = W.exec( + e.reverseFillMask === !0 ? fe : fe.slice(0, k.length + 1) + ); + L !== null && (fe = L.slice(1).join("")); + const ue = [], + Re = se.length; + for (let oe = 0, ne = fe; oe < Re; oe++) { + const S = se[oe].exec(ne); + if (S === null) break; + (ne = ne.slice(S.shift().length)), ue.push(...S); + } + return ue.length !== 0 ? ue.join("") : fe; + }), + (r = k.map((fe) => (typeof fe == "string" ? fe : Se)).join("")), + (i = r.split(Se).join(x)); + } + function q(C, x, $) { + const v = o.value, + H = v.selectionEnd, + k = v.value.length - H, + Z = V(C); + x === !0 && T(); + const Y = F(Z), + A = e.fillMask !== !1 ? N(Y) : Y, + W = d.value !== A; + v.value !== A && (v.value = A), + W === !0 && (d.value = A), + document.activeElement === v && + je(() => { + if (A === i) { + const se = e.reverseFillMask === !0 ? i.length : 0; + v.setSelectionRange(se, se, "forward"); + return; + } + if ($ === "insertFromPaste" && e.reverseFillMask !== !0) { + const se = v.selectionEnd; + let fe = H - 1; + for (let L = a; L <= fe && L < se; L++) r[L] !== Se && fe++; + m.right(v, fe); + return; + } + if ( + ["deleteContentBackward", "deleteContentForward"].indexOf($) > -1 + ) { + const se = + e.reverseFillMask === !0 + ? H === 0 + ? A.length > Y.length + ? 1 + : 0 + : Math.max( + 0, + A.length - (A === i ? 0 : Math.min(Y.length, k) + 1) + ) + 1 + : H; + v.setSelectionRange(se, se, "forward"); + return; + } + if (e.reverseFillMask === !0) + if (W === !0) { + const se = Math.max( + 0, + A.length - (A === i ? 0 : Math.min(Y.length, k + 1)) + ); + se === 1 && H === 1 + ? v.setSelectionRange(se, se, "forward") + : m.rightReverse(v, se); + } else { + const se = A.length - k; + v.setSelectionRange(se, se, "backward"); + } + else if (W === !0) { + const se = Math.max(0, r.indexOf(Se), Math.min(Y.length, H) - 1); + m.right(v, se); + } else { + const se = H - 1; + m.right(v, se); + } + }); + const _e = e.unmaskedValue === !0 ? V(A) : A; + String(e.modelValue) !== _e && n(_e, !0); + } + function M(C, x, $) { + const v = F(V(C.value)); + (x = Math.max(0, r.indexOf(Se), Math.min(v.length, x))), + (a = x), + C.setSelectionRange(x, $, "forward"); + } + const m = { + left(C, x) { + const $ = r.slice(x - 1).indexOf(Se) === -1; + let v = Math.max(0, x - 1); + for (; v >= 0; v--) + if (r[v] === Se) { + (x = v), $ === !0 && x++; + break; + } + if (v < 0 && r[x] !== void 0 && r[x] !== Se) return m.right(C, 0); + x >= 0 && C.setSelectionRange(x, x, "backward"); + }, + right(C, x) { + const $ = C.value.length; + let v = Math.min($, x + 1); + for (; v <= $; v++) + if (r[v] === Se) { + x = v; + break; + } else r[v - 1] === Se && (x = v); + if (v > $ && r[x - 1] !== void 0 && r[x - 1] !== Se) return m.left(C, $); + C.setSelectionRange(x, x, "forward"); + }, + leftReverse(C, x) { + const $ = y(C.value.length); + let v = Math.max(0, x - 1); + for (; v >= 0; v--) + if ($[v - 1] === Se) { + x = v; + break; + } else if ($[v] === Se && ((x = v), v === 0)) break; + if (v < 0 && $[x] !== void 0 && $[x] !== Se) return m.rightReverse(C, 0); + x >= 0 && C.setSelectionRange(x, x, "backward"); + }, + rightReverse(C, x) { + const $ = C.value.length, + v = y($), + H = v.slice(0, x + 1).indexOf(Se) === -1; + let k = Math.min($, x + 1); + for (; k <= $; k++) + if (v[k - 1] === Se) { + (x = k), x > 0 && H === !0 && x--; + break; + } + if (k > $ && v[x - 1] !== void 0 && v[x - 1] !== Se) + return m.leftReverse(C, $); + C.setSelectionRange(x, x, "forward"); + }, + }; + function _(C) { + t("click", C), (c = void 0); + } + function w(C) { + if ((t("keydown", C), da(C) === !0 || C.altKey === !0)) return; + const x = o.value, + $ = x.selectionStart, + v = x.selectionEnd; + if ((C.shiftKey || (c = void 0), C.keyCode === 37 || C.keyCode === 39)) { + C.shiftKey && + c === void 0 && + (c = x.selectionDirection === "forward" ? $ : v); + const H = + m[ + (C.keyCode === 39 ? "right" : "left") + + (e.reverseFillMask === !0 ? "Reverse" : "") + ]; + if ((C.preventDefault(), H(x, c === $ ? v : $), C.shiftKey)) { + const k = x.selectionStart; + x.setSelectionRange(Math.min(c, k), Math.max(c, k), "forward"); + } + } else + C.keyCode === 8 && e.reverseFillMask !== !0 && $ === v + ? (m.left(x, $), x.setSelectionRange(x.selectionStart, v, "backward")) + : C.keyCode === 46 && + e.reverseFillMask === !0 && + $ === v && + (m.rightReverse(x, v), + x.setSelectionRange($, x.selectionEnd, "forward")); + } + function F(C) { + if (C == null || C === "") return ""; + if (e.reverseFillMask === !0) return j(C); + const x = s; + let $ = 0, + v = ""; + for (let H = 0; H < x.length; H++) { + const k = C[$], + Z = x[H]; + if (typeof Z == "string") (v += Z), k === Z && $++; + else if (k !== void 0 && Z.regex.test(k)) + (v += Z.transform !== void 0 ? Z.transform(k) : k), $++; + else return v; + } + return v; + } + function j(C) { + const x = s, + $ = r.indexOf(Se); + let v = C.length - 1, + H = ""; + for (let k = x.length - 1; k >= 0 && v > -1; k--) { + const Z = x[k]; + let Y = C[v]; + if (typeof Z == "string") (H = Z + H), Y === Z && v--; + else if (Y !== void 0 && Z.regex.test(Y)) + do + (H = (Z.transform !== void 0 ? Z.transform(Y) : Y) + H), + v--, + (Y = C[v]); + while ($ === k && Y !== void 0 && Z.regex.test(Y)); + else return H; + } + return H; + } + function V(C) { + return typeof C != "string" || l === void 0 + ? typeof C == "number" + ? l("" + C) + : C + : l(C); + } + function N(C) { + return i.length - C.length <= 0 + ? C + : e.reverseFillMask === !0 && C.length !== 0 + ? i.slice(0, -C.length) + C + : C + i.slice(C.length); + } + return { + innerValue: d, + hasMask: u, + moveCursorForPaste: M, + updateMaskValue: q, + onMaskedKeydown: w, + onMaskedClick: _, + }; +} +const pi = { name: String }; +function Ja(e = {}) { + return (t, n, o) => { + t[n](E("input", { class: "hidden" + (o || ""), ...e.value })); + }; +} +function Gg(e) { + return R(() => e.name || e.for); +} +function em(e, t) { + function n() { + const o = e.modelValue; + try { + const r = + "DataTransfer" in window + ? new DataTransfer() + : "ClipboardEvent" in window + ? new ClipboardEvent("").clipboardData + : void 0; + return ( + Object(o) === o && + ("length" in o ? Array.from(o) : [o]).forEach((i) => { + r.items.add(i); + }), + { files: r.files } + ); + } catch { + return { files: void 0 }; + } + } + return R( + t === !0 + ? () => { + if (e.type === "file") return n(); + } + : n + ); +} +const tm = + /[\u3000-\u303f\u3040-\u309f\u30a0-\u30ff\uff00-\uff9f\u4e00-\u9faf\u3400-\u4dbf]/, + nm = + /[\u4e00-\u9fff\u3400-\u4dbf\u{20000}-\u{2a6df}\u{2a700}-\u{2b73f}\u{2b740}-\u{2b81f}\u{2b820}-\u{2ceaf}\uf900-\ufaff\u3300-\u33ff\ufe30-\ufe4f\uf900-\ufaff\u{2f800}-\u{2fa1f}]/u, + om = /[\u3131-\u314e\u314f-\u3163\uac00-\ud7a3]/, + rm = /[a-z0-9_ -]$/i; +function im(e) { + return function (n) { + if (n.type === "compositionend" || n.type === "change") { + if (n.target.qComposing !== !0) return; + (n.target.qComposing = !1), e(n); + } else + n.type === "compositionupdate" && + n.target.qComposing !== !0 && + typeof n.data == "string" && + (we.is.firefox === !0 + ? rm.test(n.data) === !1 + : tm.test(n.data) === !0 || + nm.test(n.data) === !0 || + om.test(n.data) === !0) === !0 && + (n.target.qComposing = !0); + }; +} +var sm = $e({ + name: "QInput", + inheritAttrs: !1, + props: { + ...Ug, + ...Jg, + ...pi, + modelValue: { required: !1 }, + shadowText: String, + type: { type: String, default: "text" }, + debounce: [String, Number], + autogrow: Boolean, + inputClass: [Array, String, Object], + inputStyle: [Array, String, Object], + }, + emits: [...Wg, "paste", "change", "keydown", "click", "animationend"], + setup(e, { emit: t, attrs: n }) { + const { proxy: o } = ke(), + { $q: r } = o, + i = {}; + let s = NaN, + l, + a, + c = null, + u; + const d = he(null), + f = Gg(e), + { + innerValue: p, + hasMask: y, + moveCursorForPaste: T, + updateMaskValue: q, + onMaskedKeydown: M, + onMaskedClick: m, + } = Xg(e, t, Y, d), + _ = em(e, !0), + w = R(() => jr(p.value)), + F = im(k), + j = Qg(), + V = R(() => e.type === "textarea" || e.autogrow === !0), + N = R( + () => + V.value === !0 || + ["text", "search", "url", "tel", "password"].includes(e.type) + ), + C = R(() => { + const L = { + ...j.splitAttrs.listeners.value, + onInput: k, + onPaste: H, + onChange: W, + onBlur: _e, + onFocus: ko, + }; + return ( + (L.onCompositionstart = + L.onCompositionupdate = + L.onCompositionend = + F), + y.value === !0 && ((L.onKeydown = M), (L.onClick = m)), + e.autogrow === !0 && (L.onAnimationend = Z), + L + ); + }), + x = R(() => { + const L = { + tabindex: 0, + "data-autofocus": e.autofocus === !0 || void 0, + rows: e.type === "textarea" ? 6 : void 0, + "aria-label": e.label, + name: f.value, + ...j.splitAttrs.attributes.value, + id: j.targetUid.value, + maxlength: e.maxlength, + disabled: e.disable === !0, + readonly: e.readonly === !0, + }; + return ( + V.value === !1 && (L.type = e.type), + e.autogrow === !0 && (L.rows = 1), + L + ); + }); + be( + () => e.type, + () => { + d.value && (d.value.value = e.modelValue); + } + ), + be( + () => e.modelValue, + (L) => { + if (y.value === !0) { + if (a === !0 && ((a = !1), String(L) === s)) return; + q(L); + } else + p.value !== L && + ((p.value = L), + e.type === "number" && + i.hasOwnProperty("value") === !0 && + (l === !0 ? (l = !1) : delete i.value)); + e.autogrow === !0 && je(A); + } + ), + be( + () => e.autogrow, + (L) => { + L === !0 + ? je(A) + : d.value !== null && n.rows > 0 && (d.value.style.height = "auto"); + } + ), + be( + () => e.dense, + () => { + e.autogrow === !0 && je(A); + } + ); + function $() { + mi(() => { + const L = document.activeElement; + d.value !== null && + d.value !== L && + (L === null || L.id !== j.targetUid.value) && + d.value.focus({ preventScroll: !0 }); + }); + } + function v() { + d.value !== null && d.value.select(); + } + function H(L) { + if (y.value === !0 && e.reverseFillMask !== !0) { + const ue = L.target; + T(ue, ue.selectionStart, ue.selectionEnd); + } + t("paste", L); + } + function k(L) { + if (!L || !L.target) return; + if (e.type === "file") { + t("update:modelValue", L.target.files); + return; + } + const ue = L.target.value; + if (L.target.qComposing === !0) { + i.value = ue; + return; + } + if (y.value === !0) q(ue, !1, L.inputType); + else if ((Y(ue), N.value === !0 && L.target === document.activeElement)) { + const { selectionStart: Re, selectionEnd: oe } = L.target; + Re !== void 0 && + oe !== void 0 && + je(() => { + L.target === document.activeElement && + ue.indexOf(L.target.value) === 0 && + L.target.setSelectionRange(Re, oe); + }); + } + e.autogrow === !0 && A(); + } + function Z(L) { + t("animationend", L), A(); + } + function Y(L, ue) { + (u = () => { + (c = null), + e.type !== "number" && + i.hasOwnProperty("value") === !0 && + delete i.value, + e.modelValue !== L && + s !== L && + ((s = L), + ue === !0 && (a = !0), + t("update:modelValue", L), + je(() => { + s === L && (s = NaN); + })), + (u = void 0); + }), + e.type === "number" && ((l = !0), (i.value = L)), + e.debounce !== void 0 + ? (c !== null && clearTimeout(c), + (i.value = L), + (c = setTimeout(u, e.debounce))) + : u(); + } + function A() { + requestAnimationFrame(() => { + const L = d.value; + if (L !== null) { + const ue = L.parentNode.style, + { scrollTop: Re } = L, + { overflowY: oe, maxHeight: ne } = + r.platform.is.firefox === !0 ? {} : window.getComputedStyle(L), + S = oe !== void 0 && oe !== "scroll"; + S === !0 && (L.style.overflowY = "hidden"), + (ue.marginBottom = L.scrollHeight - 1 + "px"), + (L.style.height = "1px"), + (L.style.height = L.scrollHeight + "px"), + S === !0 && + (L.style.overflowY = + parseInt(ne, 10) < L.scrollHeight ? "auto" : "hidden"), + (ue.marginBottom = ""), + (L.scrollTop = Re); + } + }); + } + function W(L) { + F(L), + c !== null && (clearTimeout(c), (c = null)), + u !== void 0 && u(), + t("change", L.target.value); + } + function _e(L) { + L !== void 0 && ko(L), + c !== null && (clearTimeout(c), (c = null)), + u !== void 0 && u(), + (l = !1), + (a = !1), + delete i.value, + e.type !== "file" && + setTimeout(() => { + d.value !== null && + (d.value.value = p.value !== void 0 ? p.value : ""); + }); + } + function se() { + return i.hasOwnProperty("value") === !0 + ? i.value + : p.value !== void 0 + ? p.value + : ""; + } + We(() => { + _e(); + }), + Ut(() => { + e.autogrow === !0 && A(); + }), + Object.assign(j, { + innerValue: p, + fieldClass: R( + () => + `q-${V.value === !0 ? "textarea" : "input"}` + + (e.autogrow === !0 ? " q-textarea--autogrow" : "") + ), + hasShadow: R( + () => + e.type !== "file" && + typeof e.shadowText == "string" && + e.shadowText.length !== 0 + ), + inputRef: d, + emitValue: Y, + hasValue: w, + floatingLabel: R( + () => + (w.value === !0 && + (e.type !== "number" || isNaN(p.value) === !1)) || + jr(e.displayValue) + ), + getControl: () => + E(V.value === !0 ? "textarea" : "input", { + ref: d, + class: ["q-field__native q-placeholder", e.inputClass], + style: e.inputStyle, + ...x.value, + ...C.value, + ...(e.type !== "file" ? { value: se() } : _.value), + }), + getShadowControl: () => + E( + "div", + { + class: + "q-field__native q-field__shadow absolute-bottom no-pointer-events" + + (V.value === !0 ? "" : " text-no-wrap"), + }, + [E("span", { class: "invisible" }, se()), E("span", e.shadowText)] + ), + }); + const fe = Yg(j); + return ( + Object.assign(o, { + focus: $, + select: v, + getNativeElement: () => d.value, + }), + bn(o, "nativeEl", () => d.value), + fe + ); + }, +}); +function Xa(e, t) { + const n = he(null), + o = R(() => + e.disable === !0 + ? null + : E("span", { ref: n, class: "no-outline", tabindex: -1 }) + ); + function r(i) { + const s = t.value; + i !== void 0 && i.type.indexOf("key") === 0 + ? s !== null && + document.activeElement !== s && + s.contains(document.activeElement) === !0 && + s.focus() + : n.value !== null && + (i === void 0 || (s !== null && s.contains(i.target) === !0)) && + n.value.focus(); + } + return { refocusTargetEl: o, refocusTarget: r }; +} +var Ga = { xs: 30, sm: 35, md: 40, lg: 50, xl: 60 }; +const lm = E( + "svg", + { + key: "svg", + class: "q-radio__bg absolute non-selectable", + viewBox: "0 0 24 24", + }, + [ + E("path", { + d: "M12,22a10,10 0 0 1 -10,-10a10,10 0 0 1 10,-10a10,10 0 0 1 10,10a10,10 0 0 1 -10,10m0,-22a12,12 0 0 0 -12,12a12,12 0 0 0 12,12a12,12 0 0 0 12,-12a12,12 0 0 0 -12,-12", + }), + E("path", { + class: "q-radio__check", + d: "M12,6a6,6 0 0 0 -6,6a6,6 0 0 0 6,6a6,6 0 0 0 6,-6a6,6 0 0 0 -6,-6", + }), + ] +); +var am = $e({ + name: "QRadio", + props: { + ...Wt, + ...Yn, + ...pi, + modelValue: { required: !0 }, + val: { required: !0 }, + label: String, + leftLabel: Boolean, + checkedIcon: String, + uncheckedIcon: String, + color: String, + keepColor: Boolean, + dense: Boolean, + disable: Boolean, + tabindex: [String, Number], + }, + emits: ["update:modelValue"], + setup(e, { slots: t, emit: n }) { + const { proxy: o } = ke(), + r = Qt(e, o.$q), + i = Zn(e, Ga), + s = he(null), + { refocusTargetEl: l, refocusTarget: a } = Xa(e, s), + c = R(() => ie(e.modelValue) === ie(e.val)), + u = R( + () => + "q-radio cursor-pointer no-outline row inline no-wrap items-center" + + (e.disable === !0 ? " disabled" : "") + + (r.value === !0 ? " q-radio--dark" : "") + + (e.dense === !0 ? " q-radio--dense" : "") + + (e.leftLabel === !0 ? " reverse" : "") + ), + d = R(() => { + const _ = + e.color !== void 0 && (e.keepColor === !0 || c.value === !0) + ? ` text-${e.color}` + : ""; + return `q-radio__inner relative-position q-radio__inner--${ + c.value === !0 ? "truthy" : "falsy" + }${_}`; + }), + f = R(() => (c.value === !0 ? e.checkedIcon : e.uncheckedIcon) || null), + p = R(() => (e.disable === !0 ? -1 : e.tabindex || 0)), + y = R(() => { + const _ = { type: "radio" }; + return ( + e.name !== void 0 && + Object.assign(_, { + ".checked": c.value === !0, + "^checked": c.value === !0 ? "checked" : void 0, + name: e.name, + value: e.val, + }), + _ + ); + }), + T = Ja(y); + function q(_) { + _ !== void 0 && (Ke(_), a(_)), + e.disable !== !0 && c.value !== !0 && n("update:modelValue", e.val, _); + } + function M(_) { + (_.keyCode === 13 || _.keyCode === 32) && Ke(_); + } + function m(_) { + (_.keyCode === 13 || _.keyCode === 32) && q(_); + } + return ( + Object.assign(o, { set: q }), + () => { + const _ = + f.value !== null + ? [ + E( + "div", + { + key: "icon", + class: + "q-radio__icon-container absolute-full flex flex-center no-wrap", + }, + [E(pt, { class: "q-radio__icon", name: f.value })] + ), + ] + : [lm]; + e.disable !== !0 && + T(_, "unshift", " q-radio__native q-ma-none q-pa-none"); + const w = [ + E( + "div", + { class: d.value, style: i.value, "aria-hidden": "true" }, + _ + ), + ]; + l.value !== null && w.push(l.value); + const F = e.label !== void 0 ? It(t.default, [e.label]) : tt(t.default); + return ( + F !== void 0 && + w.push(E("div", { class: "q-radio__label q-anchor--skip" }, F)), + E( + "div", + { + ref: s, + class: u.value, + tabindex: p.value, + role: "radio", + "aria-label": e.label, + "aria-checked": c.value === !0 ? "true" : "false", + "aria-disabled": e.disable === !0 ? "true" : void 0, + onClick: q, + onKeydown: M, + onKeyup: m, + }, + w + ) + ); + } + ); + }, +}); +const eu = { + ...Wt, + ...Yn, + ...pi, + modelValue: { required: !0, default: null }, + val: {}, + trueValue: { default: !0 }, + falseValue: { default: !1 }, + indeterminateValue: { default: null }, + checkedIcon: String, + uncheckedIcon: String, + indeterminateIcon: String, + toggleOrder: { type: String, validator: (e) => e === "tf" || e === "ft" }, + toggleIndeterminate: Boolean, + label: String, + leftLabel: Boolean, + color: String, + keepColor: Boolean, + dense: Boolean, + disable: Boolean, + tabindex: [String, Number], + }, + tu = ["update:modelValue"]; +function nu(e, t) { + const { props: n, slots: o, emit: r, proxy: i } = ke(), + { $q: s } = i, + l = Qt(n, s), + a = he(null), + { refocusTargetEl: c, refocusTarget: u } = Xa(n, a), + d = Zn(n, Ga), + f = R(() => n.val !== void 0 && Array.isArray(n.modelValue)), + p = R(() => { + const v = ie(n.val); + return f.value === !0 ? n.modelValue.findIndex((H) => ie(H) === v) : -1; + }), + y = R(() => + f.value === !0 ? p.value > -1 : ie(n.modelValue) === ie(n.trueValue) + ), + T = R(() => + f.value === !0 ? p.value === -1 : ie(n.modelValue) === ie(n.falseValue) + ), + q = R(() => y.value === !1 && T.value === !1), + M = R(() => (n.disable === !0 ? -1 : n.tabindex || 0)), + m = R( + () => + `q-${e} cursor-pointer no-outline row inline no-wrap items-center` + + (n.disable === !0 ? " disabled" : "") + + (l.value === !0 ? ` q-${e}--dark` : "") + + (n.dense === !0 ? ` q-${e}--dense` : "") + + (n.leftLabel === !0 ? " reverse" : "") + ), + _ = R(() => { + const v = y.value === !0 ? "truthy" : T.value === !0 ? "falsy" : "indet", + H = + n.color !== void 0 && + (n.keepColor === !0 || + (e === "toggle" ? y.value === !0 : T.value !== !0)) + ? ` text-${n.color}` + : ""; + return `q-${e}__inner relative-position non-selectable q-${e}__inner--${v}${H}`; + }), + w = R(() => { + const v = { type: "checkbox" }; + return ( + n.name !== void 0 && + Object.assign(v, { + ".checked": y.value, + "^checked": y.value === !0 ? "checked" : void 0, + name: n.name, + value: f.value === !0 ? n.val : n.trueValue, + }), + v + ); + }), + F = Ja(w), + j = R(() => { + const v = { + tabindex: M.value, + role: e === "toggle" ? "switch" : "checkbox", + "aria-label": n.label, + "aria-checked": + q.value === !0 ? "mixed" : y.value === !0 ? "true" : "false", + }; + return n.disable === !0 && (v["aria-disabled"] = "true"), v; + }); + function V(v) { + v !== void 0 && (Ke(v), u(v)), + n.disable !== !0 && r("update:modelValue", N(), v); + } + function N() { + if (f.value === !0) { + if (y.value === !0) { + const v = n.modelValue.slice(); + return v.splice(p.value, 1), v; + } + return n.modelValue.concat([n.val]); + } + if (y.value === !0) { + if (n.toggleOrder !== "ft" || n.toggleIndeterminate === !1) + return n.falseValue; + } else if (T.value === !0) { + if (n.toggleOrder === "ft" || n.toggleIndeterminate === !1) + return n.trueValue; + } else return n.toggleOrder !== "ft" ? n.trueValue : n.falseValue; + return n.indeterminateValue; + } + function C(v) { + (v.keyCode === 13 || v.keyCode === 32) && Ke(v); + } + function x(v) { + (v.keyCode === 13 || v.keyCode === 32) && V(v); + } + const $ = t(y, q); + return ( + Object.assign(i, { toggle: V }), + () => { + const v = $(); + n.disable !== !0 && + F(v, "unshift", ` q-${e}__native absolute q-ma-none q-pa-none`); + const H = [ + E("div", { class: _.value, style: d.value, "aria-hidden": "true" }, v), + ]; + c.value !== null && H.push(c.value); + const k = n.label !== void 0 ? It(o.default, [n.label]) : tt(o.default); + return ( + k !== void 0 && + H.push(E("div", { class: `q-${e}__label q-anchor--skip` }, k)), + E( + "div", + { + ref: a, + class: m.value, + ...j.value, + onClick: V, + onKeydown: C, + onKeyup: x, + }, + H + ) + ); + } + ); +} +const um = E("div", { key: "svg", class: "q-checkbox__bg absolute" }, [ + E( + "svg", + { class: "q-checkbox__svg fit absolute-full", viewBox: "0 0 24 24" }, + [ + E("path", { + class: "q-checkbox__truthy", + fill: "none", + d: "M1.73,12.91 8.1,19.28 22.79,4.59", + }), + E("path", { class: "q-checkbox__indet", d: "M4,14H20V10H4" }), + ] + ), +]); +var cm = $e({ + name: "QCheckbox", + props: eu, + emits: tu, + setup(e) { + function t(n, o) { + const r = R( + () => + (n.value === !0 + ? e.checkedIcon + : o.value === !0 + ? e.indeterminateIcon + : e.uncheckedIcon) || null + ); + return () => + r.value !== null + ? [ + E( + "div", + { + key: "icon", + class: + "q-checkbox__icon-container absolute-full flex flex-center no-wrap", + }, + [E(pt, { class: "q-checkbox__icon", name: r.value })] + ), + ] + : [um]; + } + return nu("checkbox", t); + }, + }), + fm = $e({ + name: "QToggle", + props: { ...eu, icon: String, iconColor: String }, + emits: tu, + setup(e) { + function t(n, o) { + const r = R( + () => + (n.value === !0 + ? e.checkedIcon + : o.value === !0 + ? e.indeterminateIcon + : e.uncheckedIcon) || e.icon + ), + i = R(() => (n.value === !0 ? e.iconColor : null)); + return () => [ + E("div", { class: "q-toggle__track" }), + E( + "div", + { class: "q-toggle__thumb absolute flex flex-center no-wrap" }, + r.value !== void 0 + ? [E(pt, { name: r.value, color: i.value })] + : void 0 + ), + ]; + } + return nu("toggle", t); + }, + }); +const ou = { radio: am, checkbox: cm, toggle: fm }, + dm = Object.keys(ou); +var hm = $e({ + name: "QOptionGroup", + props: { + ...Wt, + modelValue: { required: !0 }, + options: { + type: Array, + validator: (e) => e.every((t) => "value" in t && "label" in t), + }, + name: String, + type: { default: "radio", validator: (e) => dm.includes(e) }, + color: String, + keepColor: Boolean, + dense: Boolean, + size: String, + leftLabel: Boolean, + inline: Boolean, + disable: Boolean, + }, + emits: ["update:modelValue"], + setup(e, { emit: t, slots: n }) { + const { + proxy: { $q: o }, + } = ke(), + r = Array.isArray(e.modelValue); + e.type === "radio" + ? r === !0 && console.error("q-option-group: model should not be array") + : r === !1 && + console.error("q-option-group: model should be array in your case"); + const i = Qt(e, o), + s = R(() => ou[e.type]), + l = R( + () => + "q-option-group q-gutter-x-sm" + + (e.inline === !0 ? " q-option-group--inline" : "") + ), + a = R(() => { + const u = { role: "group" }; + return ( + e.type === "radio" && + ((u.role = "radiogroup"), + e.disable === !0 && (u["aria-disabled"] = "true")), + u + ); + }); + function c(u) { + t("update:modelValue", u); + } + return () => + E( + "div", + { class: l.value, ...a.value }, + e.options.map((u, d) => { + const f = + n["label-" + d] !== void 0 + ? () => n["label-" + d](u) + : n.label !== void 0 + ? () => n.label(u) + : void 0; + return E("div", [ + E( + s.value, + { + modelValue: e.modelValue, + val: u.value, + name: u.name === void 0 ? e.name : u.name, + disable: e.disable || u.disable, + label: f === void 0 ? u.label : null, + leftLabel: u.leftLabel === void 0 ? e.leftLabel : u.leftLabel, + color: u.color === void 0 ? e.color : u.color, + checkedIcon: u.checkedIcon, + uncheckedIcon: u.uncheckedIcon, + dark: u.dark || i.value, + size: u.size === void 0 ? e.size : u.size, + dense: e.dense, + keepColor: u.keepColor === void 0 ? e.keepColor : u.keepColor, + "onUpdate:modelValue": c, + }, + f + ), + ]); + }) + ); + }, + }), + gm = $e({ + name: "DialogPlugin", + props: { + ...Wt, + title: String, + message: String, + prompt: Object, + options: Object, + progress: [Boolean, Object], + html: Boolean, + ok: { type: [String, Object, Boolean], default: !0 }, + cancel: [String, Object, Boolean], + focus: { + type: String, + default: "ok", + validator: (e) => ["ok", "cancel", "none"].includes(e), + }, + stackButtons: Boolean, + color: String, + cardClass: [String, Array, Object], + cardStyle: [String, Array, Object], + }, + emits: ["ok", "hide"], + setup(e, { emit: t }) { + const { proxy: n } = ke(), + { $q: o } = n, + r = Qt(e, o), + i = he(null), + s = he( + e.prompt !== void 0 + ? e.prompt.model + : e.options !== void 0 + ? e.options.model + : void 0 + ), + l = R( + () => + "q-dialog-plugin" + + (r.value === !0 ? " q-dialog-plugin--dark q-dark" : "") + + (e.progress !== !1 ? " q-dialog-plugin--progress" : "") + ), + a = R(() => e.color || (r.value === !0 ? "amber" : "primary")), + c = R(() => + e.progress === !1 + ? null + : at(e.progress) === !0 + ? { + component: e.progress.spinner || Un, + props: { color: e.progress.color || a.value }, + } + : { component: Un, props: { color: a.value } } + ), + u = R(() => e.prompt !== void 0 || e.options !== void 0), + d = R(() => { + if (u.value !== !0) return {}; + const { + model: k, + isValid: Z, + items: Y, + ...A + } = e.prompt !== void 0 ? e.prompt : e.options; + return A; + }), + f = R(() => (at(e.ok) === !0 || e.ok === !0 ? o.lang.label.ok : e.ok)), + p = R(() => + at(e.cancel) === !0 || e.cancel === !0 + ? o.lang.label.cancel + : e.cancel + ), + y = R(() => + e.prompt !== void 0 + ? e.prompt.isValid !== void 0 && e.prompt.isValid(s.value) !== !0 + : e.options !== void 0 + ? e.options.isValid !== void 0 && e.options.isValid(s.value) !== !0 + : !1 + ), + T = R(() => ({ + color: a.value, + label: f.value, + ripple: !1, + disable: y.value, + ...(at(e.ok) === !0 ? e.ok : { flat: !0 }), + "data-autofocus": (e.focus === "ok" && u.value !== !0) || void 0, + onClick: _, + })), + q = R(() => ({ + color: a.value, + label: p.value, + ripple: !1, + ...(at(e.cancel) === !0 ? e.cancel : { flat: !0 }), + "data-autofocus": (e.focus === "cancel" && u.value !== !0) || void 0, + onClick: w, + })); + be(() => e.prompt && e.prompt.model, j), + be(() => e.options && e.options.model, j); + function M() { + i.value.show(); + } + function m() { + i.value.hide(); + } + function _() { + t("ok", ie(s.value)), m(); + } + function w() { + m(); + } + function F() { + t("hide"); + } + function j(k) { + s.value = k; + } + function V(k) { + y.value !== !0 && + e.prompt.type !== "textarea" && + zn(k, 13) === !0 && + _(); + } + function N(k, Z) { + return e.html === !0 + ? E(En, { class: k, innerHTML: Z }) + : E(En, { class: k }, () => Z); + } + function C() { + return [ + E(sm, { + color: a.value, + dense: !0, + autofocus: !0, + dark: r.value, + ...d.value, + modelValue: s.value, + "onUpdate:modelValue": j, + onKeyup: V, + }), + ]; + } + function x() { + return [ + E(hm, { + color: a.value, + options: e.options.items, + dark: r.value, + ...d.value, + modelValue: s.value, + "onUpdate:modelValue": j, + }), + ]; + } + function $() { + const k = []; + return ( + e.cancel && k.push(E(Br, q.value)), + e.ok && k.push(E(Br, T.value)), + E( + Fg, + { + class: e.stackButtons === !0 ? "items-end" : "", + vertical: e.stackButtons, + align: "right", + }, + () => k + ) + ); + } + function v() { + const k = []; + return ( + e.title && k.push(N("q-dialog__title", e.title)), + e.progress !== !1 && + k.push( + E(En, { class: "q-dialog__progress" }, () => + E(c.value.component, c.value.props) + ) + ), + e.message && k.push(N("q-dialog__message", e.message)), + e.prompt !== void 0 + ? k.push(E(En, { class: "scroll q-dialog-plugin__form" }, C)) + : e.options !== void 0 && + k.push( + E(Ks, { dark: r.value }), + E(En, { class: "scroll q-dialog-plugin__form" }, x), + E(Ks, { dark: r.value }) + ), + (e.ok || e.cancel) && k.push($()), + k + ); + } + function H() { + return [ + E( + Bg, + { + class: [l.value, e.cardClass], + style: e.cardStyle, + dark: r.value, + }, + v + ), + ]; + } + return ( + Object.assign(n, { show: M, hide: m }), + () => E(Lg, { ref: i, onHide: F }, H) + ); + }, + }); +function ru(e, t) { + for (const n in t) + n !== "spinner" && Object(t[n]) === t[n] + ? ((e[n] = Object(e[n]) !== e[n] ? {} : { ...e[n] }), ru(e[n], t[n])) + : (e[n] = t[n]); +} +function mm(e, t, n) { + return (o) => { + let r, i; + const s = t === !0 && o.component !== void 0; + if (s === !0) { + const { component: m, componentProps: _ } = o; + (r = typeof m == "string" ? n.component(m) : m), (i = _ || {}); + } else { + const { class: m, style: _, ...w } = o; + (r = e), + (i = w), + m !== void 0 && (w.cardClass = m), + _ !== void 0 && (w.cardStyle = _); + } + let l, + a = !1; + const c = he(null), + u = hi(!1, "dialog"), + d = (m) => { + if (c.value !== null && c.value[m] !== void 0) { + c.value[m](); + return; + } + const _ = l.$.subTree; + if (_ && _.component) { + if (_.component.proxy && _.component.proxy[m]) { + _.component.proxy[m](); + return; + } + if ( + _.component.subTree && + _.component.subTree.component && + _.component.subTree.component.proxy && + _.component.subTree.component.proxy[m] + ) { + _.component.subTree.component.proxy[m](); + return; + } + } + console.error("[Quasar] Incorrectly defined Dialog component"); + }, + f = [], + p = [], + y = { + onOk(m) { + return f.push(m), y; + }, + onCancel(m) { + return p.push(m), y; + }, + onDismiss(m) { + return f.push(m), p.push(m), y; + }, + hide() { + return d("hide"), y; + }, + update(m) { + if (l !== null) { + if (s === !0) Object.assign(i, m); + else { + const { class: _, style: w, ...F } = m; + _ !== void 0 && (F.cardClass = _), + w !== void 0 && (F.cardStyle = w), + ru(i, F); + } + l.$forceUpdate(); + } + return y; + }, + }, + T = (m) => { + (a = !0), + f.forEach((_) => { + _(m); + }); + }, + q = () => { + M.unmount(u), + Fa(u), + (M = null), + (l = null), + a !== !0 && + p.forEach((m) => { + m(); + }); + }; + let M = ma( + { + name: "QGlobalDialog", + setup: () => () => + E(r, { + ...i, + ref: c, + onOk: T, + onHide: q, + onVnodeMounted(...m) { + typeof i.onVnodeMounted == "function" && i.onVnodeMounted(...m), + je(() => d("show")); + }, + }), + }, + n + ); + return (l = M.mount(u)), y; + }; +} +var pm = { + install({ $q: e, parentApp: t }) { + (e.dialog = mm(gm, !0, t)), + this.__installed !== !0 && (this.create = e.dialog); + }, + }, + vm = { + config: { staticPath: "" }, + plugins: { Notify: ig, LocalStorage: Da, Dialog: pm }, + }; +async function bm({ app: e, router: t }) { + e.use(t), e.mount("#q-app"); +} +Ch(la, vm).then(bm); +export { + zn as $, + Km as A, + pn as B, + ii as C, + It as D, + Lo as E, + xc as F, + Wl as G, + Yl as H, + sc as I, + Fe as J, + kh as K, + we as L, + Pt as M, + Rm as N, + Kf as O, + Tr as P, + Pm as Q, + Et as R, + ko as S, + Hf as T, + Uf as U, + Ke as V, + Vm as W, + Be as X, + za as Y, + Ka as Z, + dd as _, + Wt as a, + cm as a$, + vo as a0, + pg as a1, + dg as a2, + vg as a3, + xg as a4, + cn as a5, + Yn as a6, + Zn as a7, + pt as a8, + Eh as a9, + jm as aA, + rd as aB, + Am as aC, + da as aD, + nr as aE, + Ug as aF, + Wg as aG, + Yg as aH, + Qg as aI, + pi as aJ, + Gg as aK, + jr as aL, + Fl as aM, + ri as aN, + im as aO, + Lg as aP, + _m as aQ, + Cm as aR, + Oh as aS, + Jl as aT, + ym as aU, + Qc as aV, + Xe as aW, + En as aX, + Ks as aY, + km as aZ, + sm as a_, + Nh as aa, + ua as ab, + vc as ac, + Fo as ad, + Ll as ae, + $h as af, + Lh as ag, + Un as ah, + zh as ai, + Kh as aj, + $m as ak, + Og as al, + Hs as am, + Ds as an, + _g as ao, + Mg as ap, + mi as aq, + Fh as ar, + Zh as as, + Kg as at, + Im as au, + Br as av, + Aa as aw, + Ma as ax, + Fm as ay, + Nm as az, + gg as b, + Em as b0, + wm as b1, + Bg as b2, + zm as b3, + Hm as b4, + La as b5, + id as b6, + Fg as b7, + hm as b8, + Dm as b9, + Bm as ba, + xm as bb, + ml as bc, + Sm as bd, + $a as be, + qr as bf, + Om as bg, + Wr as bh, + Ur as bi, + Vt as bj, + $e as c, + Qt as d, + fg as e, + Mm as f, + R as g, + mg as h, + ut as i, + cg as j, + We as k, + Tm as l, + Al as m, + je as n, + Ut as o, + E as p, + Lm as q, + he as r, + tt as s, + ke as t, + hg as u, + Pg as v, + be as w, + fo as x, + qm as y, + qt as z, +}; diff --git a/market/assets/index.de281aed.css b/market/assets/index.de281aed.css index f903024..e64cc87 100644 --- a/market/assets/index.de281aed.css +++ b/market/assets/index.de281aed.css @@ -1 +1,12328 @@ -@font-face{font-family:Roboto;font-style:normal;font-weight:100;src:url(/assets/KFOkCnqEu92Fr1MmgVxIIzQ.34e9582c.woff) format("woff")}@font-face{font-family:Roboto;font-style:normal;font-weight:300;src:url(/assets/KFOlCnqEu92Fr1MmSU5fBBc-.bf14c7d7.woff) format("woff")}@font-face{font-family:Roboto;font-style:normal;font-weight:400;src:url(/assets/KFOmCnqEu92Fr1Mu4mxM.f2abf7fb.woff) format("woff")}@font-face{font-family:Roboto;font-style:normal;font-weight:500;src:url(/assets/KFOlCnqEu92Fr1MmEU9fBBc-.9ce7f3ac.woff) format("woff")}@font-face{font-family:Roboto;font-style:normal;font-weight:700;src:url(/assets/KFOlCnqEu92Fr1MmWUlfBBc-.e0fd57c0.woff) format("woff")}@font-face{font-family:Roboto;font-style:normal;font-weight:900;src:url(/assets/KFOlCnqEu92Fr1MmYUtfBBc-.f6537e32.woff) format("woff")}@font-face{font-family:Material Icons;font-style:normal;font-weight:400;font-display:block;src:url(/assets/flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ.4a4dbc62.woff2) format("woff2"),url(/assets/flUhRq6tzZclQEJ-Vdg-IuiaDsNa.fd84f88b.woff) format("woff")}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:"liga"}*,*:before,*:after{box-sizing:inherit;-webkit-tap-highlight-color:transparent;-moz-tap-highlight-color:transparent}html,body,#q-app{width:100%;direction:ltr}body.platform-ios.within-iframe,body.platform-ios.within-iframe #q-app{width:100px;min-width:100%}html,body{margin:0;box-sizing:border-box}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}img{border-style:none}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}hr{box-sizing:content-box;height:0;overflow:visible}button,input,optgroup,select,textarea{font:inherit;font-family:inherit;margin:0}optgroup{font-weight:700}button,input,select{overflow:visible;text-transform:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}button:-moz-focusring,input:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.q-icon{line-height:1;width:1em;height:1em;flex-shrink:0;letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;direction:ltr;text-align:center;position:relative;box-sizing:content-box;fill:currentColor}.q-icon:before,.q-icon:after{width:100%;height:100%;display:flex!important;align-items:center;justify-content:center}.q-icon>svg,.q-icon>img{width:100%;height:100%}.q-icon,.material-icons,.material-icons-outlined,.material-icons-round,.material-icons-sharp,.material-symbols-outlined,.material-symbols-rounded,.material-symbols-sharp{-webkit-user-select:none;user-select:none;cursor:inherit;font-size:inherit;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle}.q-panel{height:100%;width:100%}.q-panel>div{height:100%;width:100%}.q-panel-parent{overflow:hidden;position:relative}.q-loading-bar{position:fixed;z-index:9998;transition:transform .5s cubic-bezier(0,0,.2,1),opacity .5s;background:#f44336}.q-loading-bar--top{left:0;right:0;top:0;width:100%}.q-loading-bar--bottom{left:0;right:0;bottom:0;width:100%}.q-loading-bar--right{top:0;bottom:0;right:0;height:100%}.q-loading-bar--left{top:0;bottom:0;left:0;height:100%}.q-avatar{position:relative;vertical-align:middle;display:inline-block;border-radius:50%;font-size:48px;height:1em;width:1em}.q-avatar__content{font-size:.5em;line-height:.5em}.q-avatar__content,.q-avatar img:not(.q-icon):not(.q-img__image){border-radius:inherit;height:inherit;width:inherit}.q-avatar--square{border-radius:0}.q-badge{background-color:var(--q-primary);color:#fff;padding:2px 6px;border-radius:4px;font-size:12px;line-height:12px;min-height:12px;font-weight:400;vertical-align:baseline}.q-badge--single-line{white-space:nowrap}.q-badge--multi-line{word-break:break-all;word-wrap:break-word}.q-badge--floating{position:absolute;top:-4px;right:-3px;cursor:inherit}.q-badge--transparent{opacity:.8}.q-badge--outline{background-color:transparent;border:1px solid currentColor}.q-badge--rounded{border-radius:1em}.q-banner{min-height:54px;padding:8px 16px;background:#fff}.q-banner--top-padding{padding-top:14px}.q-banner__avatar{min-width:1px!important}.q-banner__avatar>.q-avatar{font-size:46px}.q-banner__avatar>.q-icon{font-size:40px}.q-banner__avatar:not(:empty)+.q-banner__content{padding-left:16px}.q-banner__actions.col-auto{padding-left:16px}.q-banner__actions.col-all .q-btn-item{margin:4px 0 0 4px}.q-banner--dense{min-height:32px;padding:8px}.q-banner--dense.q-banner--top-padding{padding-top:12px}.q-banner--dense .q-banner__avatar>.q-avatar,.q-banner--dense .q-banner__avatar>.q-icon{font-size:28px}.q-banner--dense .q-banner__avatar:not(:empty)+.q-banner__content{padding-left:8px}.q-banner--dense .q-banner__actions.col-auto{padding-left:8px}.q-bar{background:rgba(0,0,0,.2)}.q-bar>.q-icon{margin-left:2px}.q-bar>div,.q-bar>div+.q-icon{margin-left:8px}.q-bar>.q-btn{margin-left:2px}.q-bar>.q-icon:first-child,.q-bar>.q-btn:first-child,.q-bar>div:first-child{margin-left:0}.q-bar--standard{padding:0 12px;height:32px;font-size:18px}.q-bar--standard>div{font-size:16px}.q-bar--standard .q-btn{font-size:11px}.q-bar--dense{padding:0 8px;height:24px;font-size:14px}.q-bar--dense .q-btn{font-size:8px}.q-bar--dark{background:rgba(255,255,255,.15)}.q-breadcrumbs__el{color:inherit}.q-breadcrumbs__el-icon{font-size:125%}.q-breadcrumbs__el-icon--with-label{margin-right:8px}[dir=rtl] .q-breadcrumbs__separator .q-icon{transform:scaleX(-1)}.q-btn{display:inline-flex;flex-direction:column;align-items:stretch;position:relative;outline:0;border:0;vertical-align:middle;font-size:14px;line-height:1.715em;text-decoration:none;color:inherit;background:transparent;font-weight:500;text-transform:uppercase;text-align:center;width:auto;height:auto;cursor:default;padding:4px 16px;min-height:2.572em}.q-btn .q-icon,.q-btn .q-spinner{font-size:1.715em}.q-btn.disabled{opacity:.7!important}.q-btn:before{content:"";display:block;position:absolute;left:0;right:0;top:0;bottom:0;border-radius:inherit;box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f}.q-btn--actionable{cursor:pointer}.q-btn--actionable.q-btn--standard:before{transition:box-shadow .3s cubic-bezier(.25,.8,.5,1)}.q-btn--actionable.q-btn--standard:active:before,.q-btn--actionable.q-btn--standard.q-btn--active:before{box-shadow:0 3px 5px -1px #0003,0 5px 8px #00000024,0 1px 14px #0000001f}.q-btn--no-uppercase{text-transform:none}.q-btn--rectangle{border-radius:3px}.q-btn--outline{background:transparent!important}.q-btn--outline:before{border:1px solid currentColor}.q-btn--push{border-radius:7px}.q-btn--push:before{border-bottom:3px solid rgba(0,0,0,.15)}.q-btn--push.q-btn--actionable{transition:transform .3s cubic-bezier(.25,.8,.5,1)}.q-btn--push.q-btn--actionable:before{transition:border-width .3s cubic-bezier(.25,.8,.5,1)}.q-btn--push.q-btn--actionable:active,.q-btn--push.q-btn--actionable.q-btn--active{transform:translateY(2px)}.q-btn--push.q-btn--actionable:active:before,.q-btn--push.q-btn--actionable.q-btn--active:before{border-bottom-width:0}.q-btn--rounded{border-radius:28px}.q-btn--round{border-radius:50%;padding:0;min-width:3em;min-height:3em}.q-btn--square{border-radius:0}.q-btn--flat:before,.q-btn--outline:before,.q-btn--unelevated:before{box-shadow:none}.q-btn--dense{padding:.285em;min-height:2em}.q-btn--dense.q-btn--round{padding:0;min-height:2.4em;min-width:2.4em}.q-btn--dense .on-left{margin-right:6px}.q-btn--dense .on-right{margin-left:6px}.q-btn--fab .q-icon,.q-btn--fab-mini .q-icon{font-size:24px}.q-btn--fab{padding:16px;min-height:56px;min-width:56px}.q-btn--fab .q-icon{margin:auto}.q-btn--fab-mini{padding:8px;min-height:40px;min-width:40px}.q-btn__content{transition:opacity .3s;z-index:0}.q-btn__content--hidden{opacity:0;pointer-events:none}.q-btn__progress{border-radius:inherit;z-index:0}.q-btn__progress-indicator{z-index:-1;transform:translate(-100%);background:rgba(255,255,255,.25)}.q-btn__progress--dark .q-btn__progress-indicator{background:rgba(0,0,0,.2)}.q-btn--flat .q-btn__progress-indicator,.q-btn--outline .q-btn__progress-indicator{opacity:.2;background:currentColor}.q-btn-dropdown--split .q-btn-dropdown__arrow-container{padding:0 4px}.q-btn-dropdown--split .q-btn-dropdown__arrow-container.q-btn--outline{border-left:1px solid currentColor}.q-btn-dropdown--split .q-btn-dropdown__arrow-container:not(.q-btn--outline){border-left:1px solid rgba(255,255,255,.3)}.q-btn-dropdown--simple *+.q-btn-dropdown__arrow{margin-left:8px}.q-btn-dropdown__arrow{transition:transform .28s}.q-btn-dropdown--current{flex-grow:1}.q-btn-group{border-radius:3px;box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f;vertical-align:middle}.q-btn-group>.q-btn-item{border-radius:inherit;align-self:stretch}.q-btn-group>.q-btn-item:before{box-shadow:none}.q-btn-group>.q-btn-item .q-badge--floating{right:0}.q-btn-group>.q-btn-group{box-shadow:none}.q-btn-group>.q-btn-group:first-child>.q-btn:first-child{border-top-left-radius:inherit;border-bottom-left-radius:inherit}.q-btn-group>.q-btn-group:last-child>.q-btn:last-child{border-top-right-radius:inherit;border-bottom-right-radius:inherit}.q-btn-group>.q-btn-group:not(:first-child)>.q-btn:first-child:before{border-left:0}.q-btn-group>.q-btn-group:not(:last-child)>.q-btn:last-child:before{border-right:0}.q-btn-group>.q-btn-item:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.q-btn-group>.q-btn-item:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.q-btn-group>.q-btn-item.q-btn--standard:before{z-index:-1}.q-btn-group--push{border-radius:7px}.q-btn-group--push>.q-btn--push.q-btn--actionable{transform:none}.q-btn-group--push>.q-btn--push.q-btn--actionable .q-btn__content{transition:margin-top .3s cubic-bezier(.25,.8,.5,1),margin-bottom .3s cubic-bezier(.25,.8,.5,1)}.q-btn-group--push>.q-btn--push.q-btn--actionable:active .q-btn__content,.q-btn-group--push>.q-btn--push.q-btn--actionable.q-btn--active .q-btn__content{margin-top:2px;margin-bottom:-2px}.q-btn-group--rounded{border-radius:28px}.q-btn-group--square{border-radius:0}.q-btn-group--flat,.q-btn-group--outline,.q-btn-group--unelevated{box-shadow:none}.q-btn-group--outline>.q-separator{display:none}.q-btn-group--outline>.q-btn-item+.q-btn-item:before{border-left:0}.q-btn-group--outline>.q-btn-item:not(:last-child):before{border-right:0}.q-btn-group--stretch{align-self:stretch;border-radius:0}.q-btn-group--glossy>.q-btn-item{background-image:linear-gradient(to bottom,rgba(255,255,255,.3),rgba(255,255,255,0) 50%,rgba(0,0,0,.12) 51%,rgba(0,0,0,.04))!important}.q-btn-group--spread>.q-btn-group{display:flex!important}.q-btn-group--spread>.q-btn-item,.q-btn-group--spread>.q-btn-group>.q-btn-item:not(.q-btn-dropdown__arrow-container){width:auto;min-width:0;max-width:100%;flex:10000 1 0%}.q-btn-toggle{position:relative}.q-card{box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f;border-radius:4px;vertical-align:top;background:#fff;position:relative}.q-card>div:first-child,.q-card>img:first-child{border-top:0;border-top-left-radius:inherit;border-top-right-radius:inherit}.q-card>div:last-child,.q-card>img:last-child{border-bottom:0;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.q-card>div:not(:first-child),.q-card>img:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.q-card>div:not(:last-child),.q-card>img:not(:last-child){border-bottom-left-radius:0;border-bottom-right-radius:0}.q-card>div{border-left:0;border-right:0;box-shadow:none}.q-card--bordered{border:1px solid rgba(0,0,0,.12)}.q-card--dark{border-color:#ffffff47;box-shadow:0 1px 5px #fff3,0 2px 2px #ffffff24,0 3px 1px -2px #ffffff1f}.q-card__section{position:relative}.q-card__section--vert{padding:16px}.q-card__section--horiz>div:first-child,.q-card__section--horiz>img:first-child{border-top-left-radius:inherit;border-bottom-left-radius:inherit}.q-card__section--horiz>div:last-child,.q-card__section--horiz>img:last-child{border-top-right-radius:inherit;border-bottom-right-radius:inherit}.q-card__section--horiz>div:not(:first-child),.q-card__section--horiz>img:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.q-card__section--horiz>div:not(:last-child),.q-card__section--horiz>img:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.q-card__section--horiz>div{border-top:0;border-bottom:0;box-shadow:none}.q-card__actions{padding:8px;align-items:center}.q-card__actions .q-btn--rectangle{padding:0 8px}.q-card__actions--horiz>.q-btn-item+.q-btn-item,.q-card__actions--horiz>.q-btn-group+.q-btn-item,.q-card__actions--horiz>.q-btn-item+.q-btn-group{margin-left:8px}.q-card__actions--vert>.q-btn-item.q-btn--round{align-self:center}.q-card__actions--vert>.q-btn-item+.q-btn-item,.q-card__actions--vert>.q-btn-group+.q-btn-item,.q-card__actions--vert>.q-btn-item+.q-btn-group{margin-top:4px}.q-card__actions--vert>.q-btn-group>.q-btn-item{flex-grow:1}.q-card>img{display:block;width:100%;max-width:100%;border:0}.q-carousel{background-color:#fff;height:400px}.q-carousel__slide{min-height:100%;background-size:cover;background-position:50%}.q-carousel__slide,.q-carousel .q-carousel--padding{padding:16px}.q-carousel__slides-container{height:100%}.q-carousel__control{color:#fff}.q-carousel__arrow{pointer-events:none}.q-carousel__arrow .q-icon{font-size:28px}.q-carousel__arrow .q-btn{pointer-events:all}.q-carousel__prev-arrow--horizontal,.q-carousel__next-arrow--horizontal{top:16px;bottom:16px}.q-carousel__prev-arrow--horizontal{left:16px}.q-carousel__next-arrow--horizontal{right:16px}.q-carousel__prev-arrow--vertical,.q-carousel__next-arrow--vertical{left:16px;right:16px}.q-carousel__prev-arrow--vertical{top:16px}.q-carousel__next-arrow--vertical{bottom:16px}.q-carousel__navigation--top,.q-carousel__navigation--bottom{left:16px;right:16px;overflow-x:auto;overflow-y:hidden}.q-carousel__navigation--top{top:16px}.q-carousel__navigation--bottom{bottom:16px}.q-carousel__navigation--left,.q-carousel__navigation--right{top:16px;bottom:16px;overflow-x:hidden;overflow-y:auto}.q-carousel__navigation--left>.q-carousel__navigation-inner,.q-carousel__navigation--right>.q-carousel__navigation-inner{flex-direction:column}.q-carousel__navigation--left{left:16px}.q-carousel__navigation--right{right:16px}.q-carousel__navigation-inner{flex:1 1 auto}.q-carousel__navigation .q-btn{margin:6px 4px;padding:5px}.q-carousel__navigation-icon--inactive{opacity:.7}.q-carousel .q-carousel__thumbnail{margin:2px;height:50px;width:auto;display:inline-block;cursor:pointer;border:1px solid transparent;border-radius:4px;vertical-align:middle;opacity:.7;transition:opacity .3s}.q-carousel .q-carousel__thumbnail:hover,.q-carousel .q-carousel__thumbnail--active{opacity:1}.q-carousel .q-carousel__thumbnail--active{border-color:currentColor;cursor:default}.q-carousel--navigation-top.q-carousel--with-padding .q-carousel__slide,.q-carousel--navigation-top .q-carousel--padding,.q-carousel--arrows-vertical.q-carousel--with-padding .q-carousel__slide,.q-carousel--arrows-vertical .q-carousel--padding{padding-top:60px}.q-carousel--navigation-bottom.q-carousel--with-padding .q-carousel__slide,.q-carousel--navigation-bottom .q-carousel--padding,.q-carousel--arrows-vertical.q-carousel--with-padding .q-carousel__slide,.q-carousel--arrows-vertical .q-carousel--padding{padding-bottom:60px}.q-carousel--navigation-left.q-carousel--with-padding .q-carousel__slide,.q-carousel--navigation-left .q-carousel--padding,.q-carousel--arrows-horizontal.q-carousel--with-padding .q-carousel__slide,.q-carousel--arrows-horizontal .q-carousel--padding{padding-left:60px}.q-carousel--navigation-right.q-carousel--with-padding .q-carousel__slide,.q-carousel--navigation-right .q-carousel--padding,.q-carousel--arrows-horizontal.q-carousel--with-padding .q-carousel__slide,.q-carousel--arrows-horizontal .q-carousel--padding{padding-right:60px}.q-carousel.fullscreen{height:100%}.q-message-name,.q-message-stamp,.q-message-label{font-size:small}.q-message-label{margin:24px 0;text-align:center}.q-message-stamp{color:inherit;margin-top:4px;opacity:.6;display:none}.q-message-avatar{border-radius:50%;width:48px;height:48px;min-width:48px}.q-message{margin-bottom:8px}.q-message:first-child .q-message-label{margin-top:0}.q-message-avatar--received{margin-right:8px}.q-message-text--received{color:#81c784;border-radius:4px 4px 4px 0}.q-message-text--received:last-child:before{right:100%;border-right:0 solid transparent;border-left:8px solid transparent;border-bottom:8px solid currentColor}.q-message-text-content--received{color:#000}.q-message-name--sent{text-align:right}.q-message-avatar--sent{margin-left:8px}.q-message-container--sent{flex-direction:row-reverse}.q-message-text--sent{color:#e0e0e0;border-radius:4px 4px 0}.q-message-text--sent:last-child:before{left:100%;border-left:0 solid transparent;border-right:8px solid transparent;border-bottom:8px solid currentColor}.q-message-text-content--sent{color:#000}.q-message-text{background:currentColor;padding:8px;line-height:1.2;word-break:break-word;position:relative}.q-message-text+.q-message-text{margin-top:3px}.q-message-text:last-child{min-height:48px}.q-message-text:last-child .q-message-stamp{display:block}.q-message-text:last-child:before{content:"";position:absolute;bottom:0;width:0;height:0}.q-checkbox{vertical-align:middle}.q-checkbox__native{width:1px;height:1px}.q-checkbox__bg,.q-checkbox__icon-container{-webkit-user-select:none;user-select:none}.q-checkbox__bg{top:25%;left:25%;width:50%;height:50%;border:2px solid currentColor;border-radius:2px;transition:background .22s cubic-bezier(0,0,.2,1) 0ms;-webkit-print-color-adjust:exact}.q-checkbox__icon{color:currentColor;font-size:.5em}.q-checkbox__svg{color:#fff}.q-checkbox__truthy{stroke:currentColor;stroke-width:3.12px;stroke-dashoffset:29.78334;stroke-dasharray:29.78334}.q-checkbox__indet{fill:currentColor;transform-origin:50% 50%;transform:rotate(-280deg) scale(0)}.q-checkbox__inner{font-size:40px;width:1em;min-width:1em;height:1em;outline:0;border-radius:50%;color:#0000008a}.q-checkbox__inner--truthy,.q-checkbox__inner--indet{color:var(--q-primary)}.q-checkbox__inner--truthy .q-checkbox__bg,.q-checkbox__inner--indet .q-checkbox__bg{background:currentColor}.q-checkbox__inner--truthy path{stroke-dashoffset:0;transition:stroke-dashoffset .18s cubic-bezier(.4,0,.6,1) 0ms}.q-checkbox__inner--indet .q-checkbox__indet{transform:rotate(0) scale(1);transition:transform .22s cubic-bezier(0,0,.2,1) 0ms}.q-checkbox.disabled{opacity:.75!important}.q-checkbox--dark .q-checkbox__inner{color:#ffffffb3}.q-checkbox--dark .q-checkbox__inner:before{opacity:.32!important}.q-checkbox--dark .q-checkbox__inner--truthy,.q-checkbox--dark .q-checkbox__inner--indet{color:var(--q-primary)}.q-checkbox--dense .q-checkbox__inner{width:.5em;min-width:.5em;height:.5em}.q-checkbox--dense .q-checkbox__bg{left:5%;top:5%;width:90%;height:90%}.q-checkbox--dense .q-checkbox__label{padding-left:.5em}.q-checkbox--dense.reverse .q-checkbox__label{padding-left:0;padding-right:.5em}body.desktop .q-checkbox:not(.disabled) .q-checkbox__inner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:currentColor;opacity:.12;transform:scale3d(0,0,1);transition:transform .22s cubic-bezier(0,0,.2,1)}body.desktop .q-checkbox:not(.disabled):focus .q-checkbox__inner:before,body.desktop .q-checkbox:not(.disabled):hover .q-checkbox__inner:before{transform:scaleZ(1)}body.desktop .q-checkbox--dense:not(.disabled):focus .q-checkbox__inner:before,body.desktop .q-checkbox--dense:not(.disabled):hover .q-checkbox__inner:before{transform:scale3d(1.4,1.4,1)}.q-chip{vertical-align:middle;border-radius:16px;outline:0;position:relative;height:2em;max-width:100%;margin:4px;background:#e0e0e0;color:#000000de;font-size:14px;padding:.5em .9em}.q-chip--colored .q-chip__icon,.q-chip--dark .q-chip__icon{color:inherit}.q-chip--outline{background:transparent!important;border:1px solid currentColor}.q-chip .q-avatar{font-size:2em;margin-left:-.45em;margin-right:.2em;border-radius:16px}.q-chip--selected .q-avatar{display:none}.q-chip__icon{color:#0000008a;font-size:1.5em;margin:-.2em}.q-chip__icon--left{margin-right:.2em}.q-chip__icon--right{margin-left:.2em}.q-chip__icon--remove{margin-left:.1em;margin-right:-.5em;opacity:.6;outline:0}.q-chip__icon--remove:hover,.q-chip__icon--remove:focus{opacity:1}.q-chip__content{white-space:nowrap}.q-chip--dense{border-radius:12px;padding:0 .4em;height:1.5em}.q-chip--dense .q-avatar{font-size:1.5em;margin-left:-.27em;margin-right:.1em;border-radius:12px}.q-chip--dense .q-chip__icon{font-size:1.25em}.q-chip--dense .q-chip__icon--left{margin-right:.195em}.q-chip--dense .q-chip__icon--remove{margin-right:-.25em}.q-chip--square{border-radius:4px}.q-chip--square .q-avatar{border-radius:3px 0 0 3px}body.desktop .q-chip--clickable:focus{box-shadow:0 1px 3px #0003,0 1px 1px #00000024,0 2px 1px -1px #0000001f}body.desktop.body--dark .q-chip--clickable:focus{box-shadow:0 1px 3px #fff3,0 1px 1px #ffffff24,0 2px 1px -1px #ffffff1f}.q-circular-progress{display:inline-block;position:relative;vertical-align:middle;width:1em;height:1em;line-height:1}.q-circular-progress.q-focusable{border-radius:50%}.q-circular-progress__svg{width:100%;height:100%}.q-circular-progress__text{font-size:.25em}.q-circular-progress--indeterminate .q-circular-progress__svg{transform-origin:50% 50%;animation:q-spin 2s linear infinite}.q-circular-progress--indeterminate .q-circular-progress__circle{stroke-dasharray:1 400;stroke-dashoffset:0;animation:q-circular-progress-circle 1.5s ease-in-out infinite}@keyframes q-circular-progress-circle{0%{stroke-dasharray:1,400;stroke-dashoffset:0}50%{stroke-dasharray:400,400;stroke-dashoffset:-100}to{stroke-dasharray:400,400;stroke-dashoffset:-300}}.q-color-picker{overflow:hidden;background:#fff;max-width:350px;vertical-align:top;min-width:180px;border-radius:4px;box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f}.q-color-picker .q-tab{padding:0!important}.q-color-picker--bordered{border:1px solid rgba(0,0,0,.12)}.q-color-picker__header-tabs{height:32px}.q-color-picker__header input{line-height:24px;border:0}.q-color-picker__header .q-tab{min-height:32px!important;height:32px!important}.q-color-picker__header .q-tab--inactive{background:linear-gradient(to top,rgba(0,0,0,.3) 0%,rgba(0,0,0,.15) 25%,rgba(0,0,0,.1))}.q-color-picker__error-icon{bottom:2px;right:2px;font-size:24px;opacity:0;transition:opacity .3s ease-in}.q-color-picker__header-content{position:relative;background:#fff}.q-color-picker__header-content--light{color:#000}.q-color-picker__header-content--dark{color:#fff}.q-color-picker__header-content--dark .q-tab--inactive:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(255,255,255,.2)}.q-color-picker__header-banner{height:36px}.q-color-picker__header-bg{background:#fff;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAH0lEQVQoU2NkYGAwZkAFZ5G5jPRRgOYEVDeB3EBjBQBOZwTVugIGyAAAAABJRU5ErkJggg==)!important}.q-color-picker__footer{height:36px}.q-color-picker__footer .q-tab{min-height:36px!important;height:36px!important}.q-color-picker__footer .q-tab--inactive{background:linear-gradient(to bottom,rgba(0,0,0,.3) 0%,rgba(0,0,0,.15) 25%,rgba(0,0,0,.1))}.q-color-picker__spectrum{width:100%;height:100%}.q-color-picker__spectrum-tab{padding:0!important}.q-color-picker__spectrum-white{background:linear-gradient(to right,#fff,rgba(255,255,255,0))}.q-color-picker__spectrum-black{background:linear-gradient(to top,#000,rgba(0,0,0,0))}.q-color-picker__spectrum-circle{width:10px;height:10px;box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px #0000004d,0 0 1px 2px #0006;border-radius:50%;transform:translate(-5px,-5px)}.q-color-picker__hue .q-slider__track{background:linear-gradient(to right,#f00 0%,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,#f00 100%)!important;opacity:1}.q-color-picker__alpha .q-slider__track-container{padding-top:0}.q-color-picker__alpha .q-slider__track:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(90deg,rgba(255,255,255,0),#757575)}.q-color-picker__sliders{padding:0 16px}.q-color-picker__sliders .q-slider__thumb{color:#424242}.q-color-picker__sliders .q-slider__thumb path{stroke-width:2px;fill:transparent}.q-color-picker__sliders .q-slider--active path{stroke-width:3px}.q-color-picker__tune-tab .q-slider{margin-left:18px;margin-right:18px}.q-color-picker__tune-tab input{font-size:11px;border:1px solid #e0e0e0;border-radius:4px;width:3.5em}.q-color-picker__palette-tab{padding:0!important}.q-color-picker__palette-rows--editable .q-color-picker__cube{cursor:pointer}.q-color-picker__cube{padding-bottom:10%;width:10%!important}.q-color-picker input{color:inherit;background:transparent;outline:0;text-align:center}.q-color-picker .q-tabs{overflow:hidden}.q-color-picker .q-tab--active{box-shadow:0 0 14px 3px #0003}.q-color-picker .q-tab--active .q-focus-helper,.q-color-picker .q-tab__indicator{display:none}.q-color-picker .q-tab-panels{background:inherit}.q-color-picker--dark{box-shadow:0 1px 5px #fff3,0 2px 2px #ffffff24,0 3px 1px -2px #ffffff1f}.q-color-picker--dark .q-color-picker__tune-tab input{border:1px solid rgba(255,255,255,.3)}.q-color-picker--dark .q-slider__thumb{color:#fafafa}.q-date{display:inline-flex;box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f;border-radius:4px;background:#fff;width:290px;min-width:290px;max-width:100%}.q-date--bordered{border:1px solid rgba(0,0,0,.12)}.q-date__header{border-top-left-radius:inherit;color:#fff;background-color:var(--q-primary);padding:16px}.q-date__actions{padding:0 16px 16px}.q-date__content,.q-date__main{outline:0}.q-date__content .q-btn{font-weight:400}.q-date__header-link{opacity:.64;outline:0;transition:opacity .3s ease-out}.q-date__header-link--active,.q-date__header-link:hover,.q-date__header-link:focus{opacity:1}.q-date__header-subtitle{font-size:14px;line-height:1.75;letter-spacing:.00938em}.q-date__header-title-label{font-size:24px;line-height:1.2;letter-spacing:.00735em}.q-date__view{height:100%;width:100%;min-height:290px;padding:16px}.q-date__navigation{height:12.5%}.q-date__navigation>div:first-child{width:8%;min-width:24px;justify-content:flex-end}.q-date__navigation>div:last-child{width:8%;min-width:24px;justify-content:flex-start}.q-date__calendar-weekdays{height:12.5%}.q-date__calendar-weekdays>div{opacity:.38;font-size:12px}.q-date__calendar-item{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;width:14.285%!important;height:12.5%!important;position:relative;padding:1px}.q-date__calendar-item:after{content:"";position:absolute;pointer-events:none;top:1px;right:0;bottom:1px;left:0;border-style:dashed;border-color:transparent;border-width:1px}.q-date__calendar-item>div,.q-date__calendar-item button{width:30px;height:30px;border-radius:50%}.q-date__calendar-item>div{line-height:30px;text-align:center}.q-date__calendar-item>button{line-height:22px}.q-date__calendar-item--out{opacity:.18}.q-date__calendar-item--fill{visibility:hidden}.q-date__range:before,.q-date__range-from:before,.q-date__range-to:before{content:"";background-color:currentColor;position:absolute;top:1px;bottom:1px;left:0;right:0;opacity:.3}.q-date__range:nth-child(7n-6):before,.q-date__range-from:nth-child(7n-6):before,.q-date__range-to:nth-child(7n-6):before{border-top-left-radius:0;border-bottom-left-radius:0}.q-date__range:nth-child(7n):before,.q-date__range-from:nth-child(7n):before,.q-date__range-to:nth-child(7n):before{border-top-right-radius:0;border-bottom-right-radius:0}.q-date__range-from:before{left:50%}.q-date__range-to:before{right:50%}.q-date__edit-range:after{border-color:currentColor transparent}.q-date__edit-range:nth-child(7n-6):after{border-top-left-radius:0;border-bottom-left-radius:0}.q-date__edit-range:nth-child(7n):after{border-top-right-radius:0;border-bottom-right-radius:0}.q-date__edit-range-from:after,.q-date__edit-range-from-to:after{left:4px;border-left-color:currentColor;border-top-color:currentColor;border-bottom-color:currentColor;border-top-left-radius:28px;border-bottom-left-radius:28px}.q-date__edit-range-to:after,.q-date__edit-range-from-to:after{right:4px;border-right-color:currentColor;border-top-color:currentColor;border-bottom-color:currentColor;border-top-right-radius:28px;border-bottom-right-radius:28px}.q-date__calendar-days-container{height:75%;min-height:192px}.q-date__calendar-days>div{height:16.66%!important}.q-date__event{position:absolute;bottom:2px;left:50%;height:5px;width:8px;border-radius:5px;background-color:var(--q-secondary);transform:translate3d(-50%,0,0)}.q-date__today{box-shadow:0 0 1px 0 currentColor}.q-date__years-content{padding:0 8px}.q-date__years-item,.q-date__months-item{flex:0 0 33.3333%}.q-date.disabled .q-date__header,.q-date.disabled .q-date__content,.q-date--readonly .q-date__header,.q-date--readonly .q-date__content{pointer-events:none}.q-date--readonly .q-date__navigation{display:none}.q-date--portrait{flex-direction:column}.q-date--portrait-standard .q-date__content{height:calc(100% - 86px)}.q-date--portrait-standard .q-date__header{border-top-right-radius:inherit;height:86px}.q-date--portrait-standard .q-date__header-title{align-items:center;height:30px}.q-date--portrait-minimal .q-date__content{height:100%}.q-date--landscape{flex-direction:row;align-items:stretch;min-width:420px}.q-date--landscape>div{display:flex;flex-direction:column}.q-date--landscape .q-date__content{height:100%}.q-date--landscape-standard{min-width:420px}.q-date--landscape-standard .q-date__header{border-bottom-left-radius:inherit;min-width:110px;width:110px}.q-date--landscape-standard .q-date__header-title{flex-direction:column}.q-date--landscape-standard .q-date__header-today{margin-top:12px;margin-left:-8px}.q-date--landscape-minimal{width:310px}.q-date--dark{box-shadow:0 1px 5px #fff3,0 2px 2px #ffffff24,0 3px 1px -2px #ffffff1f;border-color:#ffffff47}.q-dialog__title{font-size:1.25rem;font-weight:500;line-height:2rem;letter-spacing:.0125em}.q-dialog__progress{font-size:4rem}.q-dialog__inner{outline:0}.q-dialog__inner>div{pointer-events:all;overflow:auto;-webkit-overflow-scrolling:touch;will-change:scroll-position;border-radius:4px}.q-dialog__inner--square>div{border-radius:0!important}.q-dialog__inner>.q-card>.q-card__actions .q-btn--rectangle{min-width:64px}.q-dialog__inner--minimized{padding:24px}.q-dialog__inner--minimized>div{max-height:calc(100vh - 48px)}.q-dialog__inner--maximized>div{height:100%;width:100%;max-height:100vh;max-width:100vw;border-radius:0!important;top:0!important;left:0!important}.q-dialog__inner--top,.q-dialog__inner--bottom{padding-top:0!important;padding-bottom:0!important}.q-dialog__inner--right,.q-dialog__inner--left{padding-right:0!important;padding-left:0!important}.q-dialog__inner--left:not(.q-dialog__inner--animating)>div,.q-dialog__inner--top:not(.q-dialog__inner--animating)>div{border-top-left-radius:0}.q-dialog__inner--right:not(.q-dialog__inner--animating)>div,.q-dialog__inner--top:not(.q-dialog__inner--animating)>div{border-top-right-radius:0}.q-dialog__inner--left:not(.q-dialog__inner--animating)>div,.q-dialog__inner--bottom:not(.q-dialog__inner--animating)>div{border-bottom-left-radius:0}.q-dialog__inner--right:not(.q-dialog__inner--animating)>div,.q-dialog__inner--bottom:not(.q-dialog__inner--animating)>div{border-bottom-right-radius:0}.q-dialog__inner--fullwidth>div{width:100%!important;max-width:100%!important}.q-dialog__inner--fullheight>div{height:100%!important;max-height:100%!important}.q-dialog__backdrop{z-index:-1;pointer-events:all;outline:0;background:rgba(0,0,0,.4)}body.platform-ios .q-dialog__inner--minimized>div,body.platform-android:not(.native-mobile) .q-dialog__inner--minimized>div{max-height:calc(100vh - 108px)}body.q-ios-padding .q-dialog__inner{padding-top:20px!important;padding-top:env(safe-area-inset-top)!important;padding-bottom:env(safe-area-inset-bottom)!important}body.q-ios-padding .q-dialog__inner>div{max-height:calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important}@media (max-width: 599.98px){.q-dialog__inner--top,.q-dialog__inner--bottom{padding-left:0;padding-right:0}.q-dialog__inner--top>div,.q-dialog__inner--bottom>div{width:100%!important}}@media (min-width: 600px){.q-dialog__inner--minimized>div{max-width:560px}}.q-body--dialog{overflow:hidden}.q-bottom-sheet{padding-bottom:8px}.q-bottom-sheet__avatar{border-radius:50%}.q-bottom-sheet--list{width:400px}.q-bottom-sheet--list .q-icon,.q-bottom-sheet--list img{font-size:24px;width:24px;height:24px}.q-bottom-sheet--grid{width:700px}.q-bottom-sheet--grid .q-bottom-sheet__item{padding:8px;text-align:center;min-width:100px}.q-bottom-sheet--grid .q-icon,.q-bottom-sheet--grid img,.q-bottom-sheet--grid .q-bottom-sheet__empty-icon{font-size:48px;width:48px;height:48px;margin-bottom:8px}.q-bottom-sheet--grid .q-separator{margin:12px 0}.q-bottom-sheet__item{flex:0 0 33.3333%}@media (min-width: 600px){.q-bottom-sheet__item{flex:0 0 25%}}.q-dialog-plugin{width:400px}.q-dialog-plugin__form{max-height:50vh}.q-dialog-plugin .q-card__section+.q-card__section{padding-top:0}.q-dialog-plugin--progress{text-align:center}.q-editor{border:1px solid rgba(0,0,0,.12);border-radius:4px;background-color:#fff}.q-editor.disabled{border-style:dashed}.q-editor>div:first-child,.q-editor__toolbars-container,.q-editor__toolbars-container>div:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.q-editor__content{outline:0;padding:10px;min-height:10em;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;overflow:auto;max-width:100%}.q-editor__content pre{white-space:pre-wrap}.q-editor__content hr{border:0;outline:0;margin:1px;height:1px;background:rgba(0,0,0,.12)}.q-editor__content:empty:not(:focus):before{content:attr(placeholder);opacity:.7}.q-editor__toolbar{border-bottom:1px solid rgba(0,0,0,.12);min-height:32px}.q-editor__toolbars-container{max-width:100%}.q-editor .q-btn{margin:4px}.q-editor__toolbar-group{position:relative;margin:0 4px}.q-editor__toolbar-group+.q-editor__toolbar-group:before{content:"";position:absolute;left:-4px;top:4px;bottom:4px;width:1px;background:rgba(0,0,0,.12)}.q-editor__link-input{color:inherit;text-decoration:none;text-transform:none;border:none;border-radius:0;background:none;outline:0}.q-editor--flat,.q-editor--flat .q-editor__toolbar{border:0}.q-editor--dense .q-editor__toolbar-group{display:flex;align-items:center;flex-wrap:nowrap}.q-editor--dark{border-color:#ffffff47}.q-editor--dark .q-editor__content hr{background:rgba(255,255,255,.28)}.q-editor--dark .q-editor__toolbar{border-color:#ffffff47}.q-editor--dark .q-editor__toolbar-group+.q-editor__toolbar-group:before{background:rgba(255,255,255,.28)}.q-expansion-item__border{opacity:0}.q-expansion-item__toggle-icon{position:relative;transition:transform .3s}.q-expansion-item__toggle-icon--rotated{transform:rotate(180deg)}.q-expansion-item__toggle-focus{width:1em!important;height:1em!important;position:relative!important}.q-expansion-item__toggle-focus+.q-expansion-item__toggle-icon{margin-top:-1em}.q-expansion-item--standard.q-expansion-item--expanded>div>.q-expansion-item__border{opacity:1}.q-expansion-item--popup{transition:padding .5s}.q-expansion-item--popup>.q-expansion-item__container{border:1px solid rgba(0,0,0,.12)}.q-expansion-item--popup>.q-expansion-item__container>.q-separator{display:none}.q-expansion-item--popup.q-expansion-item--collapsed{padding:0 15px}.q-expansion-item--popup.q-expansion-item--expanded{padding:15px 0}.q-expansion-item--popup.q-expansion-item--expanded+.q-expansion-item--popup.q-expansion-item--expanded{padding-top:0}.q-expansion-item--popup.q-expansion-item--collapsed:not(:first-child)>.q-expansion-item__container{border-top-width:0}.q-expansion-item--popup.q-expansion-item--expanded+.q-expansion-item--popup.q-expansion-item--collapsed>.q-expansion-item__container{border-top-width:1px}.q-expansion-item__content>.q-card{box-shadow:none;border-radius:0}.q-expansion-item:first-child>div>.q-expansion-item__border--top{opacity:0}.q-expansion-item:last-child>div>.q-expansion-item__border--bottom{opacity:0}.q-expansion-item--expanded+.q-expansion-item--expanded>div>.q-expansion-item__border--top{opacity:0}.q-expansion-item--expanded .q-textarea--autogrow textarea{animation:q-expansion-done 0s}@keyframes q-expansion-done{0%{--q-exp-done: 1}}.z-fab{z-index:990}.q-fab{position:relative;vertical-align:middle}.q-fab>.q-btn{width:100%}.q-fab--form-rounded{border-radius:28px}.q-fab--form-square{border-radius:4px}.q-fab__icon,.q-fab__active-icon{transition:opacity .4s,transform .4s}.q-fab__icon{opacity:1;transform:rotate(0)}.q-fab__active-icon{opacity:0;transform:rotate(-180deg)}.q-fab__label--external{position:absolute;padding:0 8px;transition:opacity .18s cubic-bezier(.65,.815,.735,.395)}.q-fab__label--external-hidden{opacity:0;pointer-events:none}.q-fab__label--external-left{top:50%;left:-12px;transform:translate(-100%,-50%)}.q-fab__label--external-right{top:50%;right:-12px;transform:translate(100%,-50%)}.q-fab__label--external-bottom{bottom:-12px;left:50%;transform:translate(-50%,100%)}.q-fab__label--external-top{top:-12px;left:50%;transform:translate(-50%,-100%)}.q-fab__label--internal{padding:0;transition:font-size .12s cubic-bezier(.65,.815,.735,.395),max-height .12s cubic-bezier(.65,.815,.735,.395),opacity .07s cubic-bezier(.65,.815,.735,.395);max-height:30px}.q-fab__label--internal-hidden{font-size:0;opacity:0}.q-fab__label--internal-top{padding-bottom:.12em}.q-fab__label--internal-bottom{padding-top:.12em}.q-fab__label--internal-top.q-fab__label--internal-hidden,.q-fab__label--internal-bottom.q-fab__label--internal-hidden{max-height:0}.q-fab__label--internal-left{padding-left:.285em;padding-right:.571em}.q-fab__label--internal-right{padding-right:.285em;padding-left:.571em}.q-fab__icon-holder{min-width:24px;min-height:24px;position:relative}.q-fab__icon-holder--opened .q-fab__icon{transform:rotate(180deg);opacity:0}.q-fab__icon-holder--opened .q-fab__active-icon{transform:rotate(0);opacity:1}.q-fab__actions{position:absolute;opacity:0;transition:transform .18s ease-in,opacity .18s ease-in;pointer-events:none;align-items:center;justify-content:center;align-self:center;padding:3px}.q-fab__actions .q-btn{margin:5px}.q-fab__actions--right{transform-origin:0 50%;transform:scale(.4) translate(-62px);height:56px;left:100%;margin-left:9px}.q-fab__actions--left{transform-origin:100% 50%;transform:scale(.4) translate(62px);height:56px;right:100%;margin-right:9px;flex-direction:row-reverse}.q-fab__actions--up{transform-origin:50% 100%;transform:scale(.4) translateY(62px);width:56px;bottom:100%;margin-bottom:9px;flex-direction:column-reverse}.q-fab__actions--down{transform-origin:50% 0;transform:scale(.4) translateY(-62px);width:56px;top:100%;margin-top:9px;flex-direction:column}.q-fab__actions--up,.q-fab__actions--down{left:50%;margin-left:-28px}.q-fab__actions--opened{opacity:1;transform:scale(1) translate(.1px);pointer-events:all}.q-fab--align-left>.q-fab__actions--up,.q-fab--align-left>.q-fab__actions--down{align-items:flex-start;left:28px}.q-fab--align-right>.q-fab__actions--up,.q-fab--align-right>.q-fab__actions--down{align-items:flex-end;left:auto;right:0}.q-field{font-size:14px}.q-field ::-ms-clear,.q-field ::-ms-reveal{display:none}.q-field--with-bottom{padding-bottom:20px}.q-field__marginal{height:56px;color:#0000008a;font-size:24px}.q-field__marginal>*+*{margin-left:2px}.q-field__marginal .q-avatar{font-size:32px}.q-field__before,.q-field__prepend{padding-right:12px}.q-field__after,.q-field__append{padding-left:12px}.q-field__after:empty,.q-field__append:empty{display:none}.q-field__append+.q-field__append{padding-left:2px}.q-field__inner{text-align:left}.q-field__bottom{font-size:12px;min-height:20px;line-height:1;color:#0000008a;padding:8px 12px 0;backface-visibility:hidden}.q-field__bottom--animated{transform:translateY(100%);position:absolute;left:0;right:0;bottom:0}.q-field__messages{line-height:1}.q-field__messages>div{word-break:break-word;word-wrap:break-word;overflow-wrap:break-word}.q-field__messages>div+div{margin-top:4px}.q-field__counter{padding-left:8px;line-height:1}.q-field--item-aligned{padding:8px 16px}.q-field--item-aligned .q-field__before{min-width:56px}.q-field__control-container{height:inherit}.q-field__control{color:var(--q-primary);height:56px;max-width:100%;outline:none}.q-field__control:before,.q-field__control:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.q-field__control:before{border-radius:inherit}.q-field__shadow{top:8px;opacity:0;overflow:hidden;white-space:pre-wrap;transition:opacity .36s cubic-bezier(.4,0,.2,1)}.q-field__shadow+.q-field__native::placeholder{transition:opacity .36s cubic-bezier(.4,0,.2,1)}.q-field__shadow+.q-field__native:focus::placeholder{opacity:0}.q-field__native,.q-field__prefix,.q-field__suffix,.q-field__input{font-weight:400;line-height:28px;letter-spacing:.00937em;text-decoration:inherit;text-transform:inherit;border:none;border-radius:0;background:none;color:#000000de;outline:0;padding:6px 0}.q-field__native,.q-field__input{width:100%;min-width:0;outline:0!important;-webkit-user-select:auto;user-select:auto}.q-field__native:-webkit-autofill,.q-field__input:-webkit-autofill{-webkit-animation-name:q-autofill;-webkit-animation-fill-mode:both}.q-field__native:-webkit-autofill+.q-field__label,.q-field__input:-webkit-autofill+.q-field__label{transform:translateY(-40%) scale(.75)}.q-field__native[type=color]+.q-field__label,.q-field__native[type=date]+.q-field__label,.q-field__native[type=datetime-local]+.q-field__label,.q-field__native[type=month]+.q-field__label,.q-field__native[type=time]+.q-field__label,.q-field__native[type=week]+.q-field__label,.q-field__input[type=color]+.q-field__label,.q-field__input[type=date]+.q-field__label,.q-field__input[type=datetime-local]+.q-field__label,.q-field__input[type=month]+.q-field__label,.q-field__input[type=time]+.q-field__label,.q-field__input[type=week]+.q-field__label{transform:translateY(-40%) scale(.75)}.q-field__native:invalid,.q-field__input:invalid{box-shadow:none}.q-field__native[type=file]{line-height:1em}.q-field__input{padding:0;height:0;min-height:24px;line-height:24px}.q-field__prefix,.q-field__suffix{transition:opacity .36s cubic-bezier(.4,0,.2,1);white-space:nowrap}.q-field__prefix{padding-right:4px}.q-field__suffix{padding-left:4px}.q-field--readonly .q-placeholder,.q-field--disabled .q-placeholder{opacity:1!important}.q-field--readonly.q-field--labeled .q-field__native,.q-field--readonly.q-field--labeled .q-field__input{cursor:default}.q-field--readonly.q-field--float .q-field__native,.q-field--readonly.q-field--float .q-field__input{cursor:text}.q-field--disabled .q-field__inner{cursor:not-allowed}.q-field--disabled .q-field__control{pointer-events:none}.q-field--disabled .q-field__control>div{opacity:.6!important}.q-field--disabled .q-field__control>div,.q-field--disabled .q-field__control>div *{outline:0!important}.q-field__label{left:0;top:18px;max-width:100%;color:#0009;font-size:16px;line-height:20px;font-weight:400;letter-spacing:.00937em;text-decoration:inherit;text-transform:inherit;transform-origin:left top;transition:transform .36s cubic-bezier(.4,0,.2,1),max-width .324s cubic-bezier(.4,0,.2,1);backface-visibility:hidden}.q-field--float .q-field__label{max-width:133%;transform:translateY(-40%) scale(.75);transition:transform .36s cubic-bezier(.4,0,.2,1),max-width .396s cubic-bezier(.4,0,.2,1)}.q-field--highlighted .q-field__label{color:currentColor}.q-field--highlighted .q-field__shadow{opacity:.5}.q-field--filled .q-field__control{padding:0 12px;background:rgba(0,0,0,.05);border-radius:4px 4px 0 0}.q-field--filled .q-field__control:before{background:rgba(0,0,0,.05);border-bottom:1px solid rgba(0,0,0,.42);opacity:0;transition:opacity .36s cubic-bezier(.4,0,.2,1),background .36s cubic-bezier(.4,0,.2,1)}.q-field--filled .q-field__control:hover:before{opacity:1}.q-field--filled .q-field__control:after{height:2px;top:auto;transform-origin:center bottom;transform:scale3d(0,1,1);background:currentColor;transition:transform .36s cubic-bezier(.4,0,.2,1)}.q-field--filled.q-field--rounded .q-field__control{border-radius:28px 28px 0 0}.q-field--filled.q-field--highlighted .q-field__control:before{opacity:1;background:rgba(0,0,0,.12)}.q-field--filled.q-field--highlighted .q-field__control:after{transform:scaleZ(1)}.q-field--filled.q-field--dark .q-field__control,.q-field--filled.q-field--dark .q-field__control:before{background:rgba(255,255,255,.07)}.q-field--filled.q-field--dark.q-field--highlighted .q-field__control:before{background:rgba(255,255,255,.1)}.q-field--filled.q-field--readonly .q-field__control:before{opacity:1;background:transparent;border-bottom-style:dashed}.q-field--outlined .q-field__control{border-radius:4px;padding:0 12px}.q-field--outlined .q-field__control:before{border:1px solid rgba(0,0,0,.24);transition:border-color .36s cubic-bezier(.4,0,.2,1)}.q-field--outlined .q-field__control:hover:before{border-color:#000}.q-field--outlined .q-field__control:after{height:inherit;border-radius:inherit;border:2px solid transparent;transition:border-color .36s cubic-bezier(.4,0,.2,1)}.q-field--outlined .q-field__native:-webkit-autofill,.q-field--outlined .q-field__input:-webkit-autofill{margin-top:1px;margin-bottom:1px}.q-field--outlined.q-field--rounded .q-field__control{border-radius:28px}.q-field--outlined.q-field--highlighted .q-field__control:hover:before{border-color:transparent}.q-field--outlined.q-field--highlighted .q-field__control:after{border-color:currentColor;border-width:2px;transform:scaleZ(1)}.q-field--outlined.q-field--readonly .q-field__control:before{border-style:dashed}.q-field--standard .q-field__control:before{border-bottom:1px solid rgba(0,0,0,.24);transition:border-color .36s cubic-bezier(.4,0,.2,1)}.q-field--standard .q-field__control:hover:before{border-color:#000}.q-field--standard .q-field__control:after{height:2px;top:auto;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;transform-origin:center bottom;transform:scale3d(0,1,1);background:currentColor;transition:transform .36s cubic-bezier(.4,0,.2,1)}.q-field--standard.q-field--highlighted .q-field__control:after{transform:scaleZ(1)}.q-field--standard.q-field--readonly .q-field__control:before{border-bottom-style:dashed}.q-field--dark .q-field__control:before{border-color:#fff9}.q-field--dark .q-field__control:hover:before{border-color:#fff}.q-field--dark .q-field__native,.q-field--dark .q-field__prefix,.q-field--dark .q-field__suffix,.q-field--dark .q-field__input{color:#fff}.q-field--dark:not(.q-field--highlighted) .q-field__label,.q-field--dark .q-field__marginal,.q-field--dark .q-field__bottom{color:#ffffffb3}.q-field--standout .q-field__control{padding:0 12px;background:rgba(0,0,0,.05);border-radius:4px;transition:box-shadow .36s cubic-bezier(.4,0,.2,1),background-color .36s cubic-bezier(.4,0,.2,1)}.q-field--standout .q-field__control:before{background:rgba(0,0,0,.07);opacity:0;transition:opacity .36s cubic-bezier(.4,0,.2,1),background .36s cubic-bezier(.4,0,.2,1)}.q-field--standout .q-field__control:hover:before{opacity:1}.q-field--standout.q-field--rounded .q-field__control{border-radius:28px}.q-field--standout.q-field--highlighted .q-field__control{box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f;background:#000}.q-field--standout.q-field--highlighted .q-field__native,.q-field--standout.q-field--highlighted .q-field__prefix,.q-field--standout.q-field--highlighted .q-field__suffix,.q-field--standout.q-field--highlighted .q-field__prepend,.q-field--standout.q-field--highlighted .q-field__append,.q-field--standout.q-field--highlighted .q-field__input{color:#fff}.q-field--standout.q-field--readonly .q-field__control:before{opacity:1;background:transparent;border:1px dashed rgba(0,0,0,.24)}.q-field--standout.q-field--dark .q-field__control{background:rgba(255,255,255,.07)}.q-field--standout.q-field--dark .q-field__control:before{background:rgba(255,255,255,.07)}.q-field--standout.q-field--dark.q-field--highlighted .q-field__control{background:#fff}.q-field--standout.q-field--dark.q-field--highlighted .q-field__native,.q-field--standout.q-field--dark.q-field--highlighted .q-field__prefix,.q-field--standout.q-field--dark.q-field--highlighted .q-field__suffix,.q-field--standout.q-field--dark.q-field--highlighted .q-field__prepend,.q-field--standout.q-field--dark.q-field--highlighted .q-field__append,.q-field--standout.q-field--dark.q-field--highlighted .q-field__input{color:#000}.q-field--standout.q-field--dark.q-field--readonly .q-field__control:before{border-color:#ffffff3d}.q-field--labeled .q-field__native,.q-field--labeled .q-field__prefix,.q-field--labeled .q-field__suffix{line-height:24px;padding-top:24px;padding-bottom:8px}.q-field--labeled .q-field__shadow{top:0}.q-field--labeled:not(.q-field--float) .q-field__prefix,.q-field--labeled:not(.q-field--float) .q-field__suffix{opacity:0}.q-field--labeled:not(.q-field--float) .q-field__native::placeholder,.q-field--labeled:not(.q-field--float) .q-field__input::placeholder{color:transparent}.q-field--labeled.q-field--dense .q-field__native,.q-field--labeled.q-field--dense .q-field__prefix,.q-field--labeled.q-field--dense .q-field__suffix{padding-top:14px;padding-bottom:2px}.q-field--dense .q-field__shadow{top:0}.q-field--dense .q-field__control,.q-field--dense .q-field__marginal{height:40px}.q-field--dense .q-field__bottom{font-size:11px}.q-field--dense .q-field__label{font-size:14px;top:10px}.q-field--dense .q-field__before,.q-field--dense .q-field__prepend{padding-right:6px}.q-field--dense .q-field__after,.q-field--dense .q-field__append{padding-left:6px}.q-field--dense .q-field__append+.q-field__append{padding-left:2px}.q-field--dense .q-field__marginal .q-avatar{font-size:24px}.q-field--dense.q-field--float .q-field__label{transform:translateY(-30%) scale(.75)}.q-field--dense .q-field__native:-webkit-autofill+.q-field__label,.q-field--dense .q-field__input:-webkit-autofill+.q-field__label{transform:translateY(-30%) scale(.75)}.q-field--dense .q-field__native[type=color]+.q-field__label,.q-field--dense .q-field__native[type=date]+.q-field__label,.q-field--dense .q-field__native[type=datetime-local]+.q-field__label,.q-field--dense .q-field__native[type=month]+.q-field__label,.q-field--dense .q-field__native[type=time]+.q-field__label,.q-field--dense .q-field__native[type=week]+.q-field__label,.q-field--dense .q-field__input[type=color]+.q-field__label,.q-field--dense .q-field__input[type=date]+.q-field__label,.q-field--dense .q-field__input[type=datetime-local]+.q-field__label,.q-field--dense .q-field__input[type=month]+.q-field__label,.q-field--dense .q-field__input[type=time]+.q-field__label,.q-field--dense .q-field__input[type=week]+.q-field__label{transform:translateY(-30%) scale(.75)}.q-field--borderless .q-field__bottom,.q-field--borderless.q-field--dense .q-field__control,.q-field--standard .q-field__bottom,.q-field--standard.q-field--dense .q-field__control{padding-left:0;padding-right:0}.q-field--error .q-field__label{animation:q-field-label .36s}.q-field--error .q-field__bottom{color:var(--q-negative)}.q-field__focusable-action{opacity:.6;cursor:pointer;outline:0!important;border:0;color:inherit;background:transparent;padding:0}.q-field__focusable-action:hover,.q-field__focusable-action:focus{opacity:1}.q-field--auto-height .q-field__control{height:auto}.q-field--auto-height .q-field__control,.q-field--auto-height .q-field__native{min-height:56px}.q-field--auto-height .q-field__native{align-items:center}.q-field--auto-height .q-field__control-container{padding-top:0}.q-field--auto-height .q-field__native,.q-field--auto-height .q-field__prefix,.q-field--auto-height .q-field__suffix{line-height:18px}.q-field--auto-height.q-field--labeled .q-field__control-container{padding-top:24px}.q-field--auto-height.q-field--labeled .q-field__shadow{top:24px}.q-field--auto-height.q-field--labeled .q-field__native,.q-field--auto-height.q-field--labeled .q-field__prefix,.q-field--auto-height.q-field--labeled .q-field__suffix{padding-top:0}.q-field--auto-height.q-field--labeled .q-field__native{min-height:24px}.q-field--auto-height.q-field--dense .q-field__control,.q-field--auto-height.q-field--dense .q-field__native{min-height:40px}.q-field--auto-height.q-field--dense.q-field--labeled .q-field__control-container{padding-top:14px}.q-field--auto-height.q-field--dense.q-field--labeled .q-field__shadow{top:14px}.q-field--auto-height.q-field--dense.q-field--labeled .q-field__native{min-height:24px}.q-field--square .q-field__control{border-radius:0!important}.q-transition--field-message-enter-active,.q-transition--field-message-leave-active{transition:transform .6s cubic-bezier(.86,0,.07,1),opacity .6s cubic-bezier(.86,0,.07,1)}.q-transition--field-message-enter-from,.q-transition--field-message-leave-to{opacity:0;transform:translateY(-10px)}.q-transition--field-message-leave-from,.q-transition--field-message-leave-active{position:absolute}@keyframes q-field-label{40%{margin-left:2px}60%,80%{margin-left:-2px}70%,90%{margin-left:2px}}@keyframes q-autofill{to{background:transparent;color:inherit}}.q-file .q-field__native{word-break:break-all;overflow:hidden}.q-file .q-field__input{opacity:0!important}.q-file .q-field__input::-webkit-file-upload-button{cursor:pointer}.q-file__filler{visibility:hidden;width:100%;border:none;padding:0}.q-file__dnd{outline:1px dashed currentColor;outline-offset:-4px}.q-form{position:relative}.q-img{position:relative;width:100%;display:inline-block;vertical-align:middle;overflow:hidden}.q-img__loading .q-spinner{font-size:50px}.q-img__container{border-radius:inherit;font-size:0}.q-img__image{border-radius:inherit;width:100%;height:100%;opacity:0}.q-img__image--with-transition{transition:opacity .28s ease-in}.q-img__image--loaded{opacity:1}.q-img__content{border-radius:inherit;pointer-events:none}.q-img__content>div{pointer-events:all;position:absolute;padding:16px;color:#fff;background:rgba(0,0,0,.47)}.q-img--no-menu .q-img__image,.q-img--no-menu .q-img__placeholder{pointer-events:none}.q-inner-loading{background:rgba(255,255,255,.6)}.q-inner-loading--dark{background:rgba(0,0,0,.4)}.q-inner-loading__label{margin-top:8px}.q-textarea .q-field__control{min-height:56px;height:auto}.q-textarea .q-field__control-container{padding-top:2px;padding-bottom:2px}.q-textarea .q-field__shadow{top:2px;bottom:2px}.q-textarea .q-field__native,.q-textarea .q-field__prefix,.q-textarea .q-field__suffix{line-height:18px}.q-textarea .q-field__native{resize:vertical;padding-top:17px;min-height:52px}.q-textarea.q-field--labeled .q-field__control-container{padding-top:26px}.q-textarea.q-field--labeled .q-field__shadow{top:26px}.q-textarea.q-field--labeled .q-field__native,.q-textarea.q-field--labeled .q-field__prefix,.q-textarea.q-field--labeled .q-field__suffix{padding-top:0}.q-textarea.q-field--labeled .q-field__native{min-height:26px;padding-top:1px}.q-textarea--autogrow .q-field__native{resize:none}.q-textarea.q-field--dense .q-field__control,.q-textarea.q-field--dense .q-field__native{min-height:36px}.q-textarea.q-field--dense .q-field__native{padding-top:9px}.q-textarea.q-field--dense.q-field--labeled .q-field__control-container{padding-top:14px}.q-textarea.q-field--dense.q-field--labeled .q-field__shadow{top:14px}.q-textarea.q-field--dense.q-field--labeled .q-field__native{min-height:24px;padding-top:3px}.q-textarea.q-field--dense.q-field--labeled .q-field__prefix,.q-textarea.q-field--dense.q-field--labeled .q-field__suffix{padding-top:2px}body.mobile .q-textarea .q-field__native,.q-textarea.disabled .q-field__native{resize:none}.q-intersection{position:relative}.q-item{min-height:48px;padding:8px 16px;color:inherit;transition:color .3s,background-color .3s}.q-item__section--side{color:#757575;align-items:flex-start;padding-right:16px;width:auto;min-width:0;max-width:100%}.q-item__section--side>.q-icon{font-size:24px}.q-item__section--side>.q-avatar{font-size:40px}.q-item__section--avatar{color:inherit;min-width:56px}.q-item__section--thumbnail img{width:100px;height:56px}.q-item__section--nowrap{white-space:nowrap}.q-item>.q-item__section--thumbnail:first-child,.q-item>.q-focus-helper+.q-item__section--thumbnail{margin-left:-16px}.q-item>.q-item__section--thumbnail:last-of-type{margin-right:-16px}.q-item__label{line-height:1.2em!important;max-width:100%}.q-item__label--overline{color:#000000b3}.q-item__label--caption{color:#0000008a}.q-item__label--header{color:#757575;padding:16px;font-size:.875rem;line-height:1.25rem;letter-spacing:.01786em}.q-separator--spaced+.q-item__label--header,.q-list--padding .q-item__label--header{padding-top:8px}.q-item__label+.q-item__label{margin-top:4px}.q-item__section--main{width:auto;min-width:0;max-width:100%;flex:10000 1 0%}.q-item__section--main+.q-item__section--main{margin-left:8px}.q-item__section--main~.q-item__section--side{align-items:flex-end;padding-right:0;padding-left:16px}.q-item__section--main.q-item__section--thumbnail{margin-left:0;margin-right:-16px}.q-list--bordered{border:1px solid rgba(0,0,0,.12)}.q-list--separator>.q-item-type+.q-item-type,.q-list--separator>.q-virtual-scroll__content>.q-item-type+.q-item-type{border-top:1px solid rgba(0,0,0,.12)}.q-list--padding{padding:8px 0}.q-list--dense>.q-item,.q-item--dense{min-height:32px;padding:2px 16px}.q-list--dark.q-list--separator>.q-item-type+.q-item-type,.q-list--dark.q-list--separator>.q-virtual-scroll__content>.q-item-type+.q-item-type{border-top-color:#ffffff47}.q-list--dark,.q-item--dark{color:#fff;border-color:#ffffff47}.q-list--dark .q-item__section--side:not(.q-item__section--avatar),.q-item--dark .q-item__section--side:not(.q-item__section--avatar){color:#ffffffb3}.q-list--dark .q-item__label--header,.q-item--dark .q-item__label--header{color:#ffffffa3}.q-list--dark .q-item__label--overline,.q-list--dark .q-item__label--caption,.q-item--dark .q-item__label--overline,.q-item--dark .q-item__label--caption{color:#fffc}.q-item{position:relative}.q-item.q-router-link--active,.q-item--active{color:var(--q-primary)}.q-knob{font-size:48px}.q-knob--editable{cursor:pointer;outline:0}.q-knob--editable:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;box-shadow:none;transition:box-shadow .24s ease-in-out}.q-knob--editable:focus:before{box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f}body.body--dark .q-knob--editable:focus:before{box-shadow:0 1px 5px #fff3,0 2px 2px #ffffff24,0 3px 1px -2px #ffffff1f}.q-layout{width:100%;outline:0}.q-layout-container{position:relative;width:100%;height:100%}.q-layout-container .q-layout{min-height:100%}.q-layout-container>div{transform:translateZ(0)}.q-layout-container>div>div{min-height:0;max-height:100%}.q-layout__shadow{width:100%}.q-layout__shadow:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;box-shadow:0 0 10px 2px #0003,0 0 10px #0000003d}.q-layout__section--marginal{background-color:var(--q-primary);color:#fff}.q-header--hidden{transform:translateY(-110%)}.q-header--bordered{border-bottom:1px solid rgba(0,0,0,.12)}.q-header .q-layout__shadow{bottom:-10px}.q-header .q-layout__shadow:after{bottom:10px}.q-footer--hidden{transform:translateY(110%)}.q-footer--bordered{border-top:1px solid rgba(0,0,0,.12)}.q-footer .q-layout__shadow{top:-10px}.q-footer .q-layout__shadow:after{top:10px}.q-header,.q-footer{z-index:2000}.q-drawer{position:absolute;top:0;bottom:0;background:#fff;z-index:1000}.q-drawer--on-top{z-index:3000}.q-drawer--left{left:0;transform:translate(-100%)}.q-drawer--left.q-drawer--bordered{border-right:1px solid rgba(0,0,0,.12)}.q-drawer--left .q-layout__shadow{left:10px;right:-10px}.q-drawer--left .q-layout__shadow:after{right:10px}.q-drawer--right{right:0;transform:translate(100%)}.q-drawer--right.q-drawer--bordered{border-left:1px solid rgba(0,0,0,.12)}.q-drawer--right .q-layout__shadow{left:-10px}.q-drawer--right .q-layout__shadow:after{left:10px}.q-drawer-container:not(.q-drawer--mini-animate) .q-drawer--mini{padding:0!important}.q-drawer-container:not(.q-drawer--mini-animate) .q-drawer--mini .q-item,.q-drawer-container:not(.q-drawer--mini-animate) .q-drawer--mini .q-item__section{text-align:center;justify-content:center;padding-left:0;padding-right:0;min-width:0}.q-drawer-container:not(.q-drawer--mini-animate) .q-drawer--mini .q-item__label,.q-drawer-container:not(.q-drawer--mini-animate) .q-drawer--mini .q-item__section--main,.q-drawer-container:not(.q-drawer--mini-animate) .q-drawer--mini .q-item__section--side~.q-item__section--side{display:none}.q-drawer--mini .q-mini-drawer-hide,.q-drawer--mini .q-expansion-item__content{display:none}.q-drawer--mini-animate .q-drawer__content{overflow-x:hidden!important;white-space:nowrap}.q-drawer--standard .q-mini-drawer-only,.q-drawer--mobile .q-mini-drawer-only,.q-drawer--mobile .q-mini-drawer-hide{display:none}.q-drawer__backdrop{z-index:2999!important;will-change:background-color}.q-drawer__opener{z-index:2001;height:100%;width:15px;-webkit-user-select:none;user-select:none}.q-layout,.q-header,.q-footer,.q-page{position:relative}.q-page-sticky--shrink{pointer-events:none}.q-page-sticky--shrink>div{display:inline-block;pointer-events:auto}body.q-ios-padding .q-layout--standard .q-header>.q-toolbar:nth-child(1),body.q-ios-padding .q-layout--standard .q-header>.q-tabs:nth-child(1) .q-tabs-head,body.q-ios-padding .q-layout--standard .q-drawer--top-padding .q-drawer__content{padding-top:20px;min-height:70px;padding-top:env(safe-area-inset-top);min-height:calc(env(safe-area-inset-top) + 50px)}body.q-ios-padding .q-layout--standard .q-footer>.q-toolbar:last-child,body.q-ios-padding .q-layout--standard .q-footer>.q-tabs:last-child .q-tabs-head,body.q-ios-padding .q-layout--standard .q-drawer--top-padding .q-drawer__content{padding-bottom:env(safe-area-inset-bottom);min-height:calc(env(safe-area-inset-bottom) + 50px)}.q-body--layout-animate .q-drawer__backdrop{transition:background-color .12s!important}.q-body--layout-animate .q-drawer{transition:transform .12s,width .12s,top .12s,bottom .12s!important}.q-body--layout-animate .q-layout__section--marginal{transition:transform .12s,left .12s,right .12s!important}.q-body--layout-animate .q-page-container{transition:padding-top .12s,padding-right .12s,padding-bottom .12s,padding-left .12s!important}.q-body--layout-animate .q-page-sticky{transition:transform .12s,left .12s,right .12s,top .12s,bottom .12s!important}body:not(.q-body--layout-animate) .q-layout--prevent-focus{visibility:hidden}.q-body--drawer-toggle{overflow-x:hidden!important}@media (max-width: 599.98px){.q-layout-padding{padding:8px}}@media (min-width: 600px) and (max-width: 1439.98px){.q-layout-padding{padding:16px}}@media (min-width: 1440px){.q-layout-padding{padding:24px}}body.body--dark .q-header,body.body--dark .q-footer,body.body--dark .q-drawer{border-color:#ffffff47}body.body--dark .q-layout__shadow:after{box-shadow:0 0 10px 2px #fff3,0 0 10px #ffffff3d}body.platform-ios .q-layout--containerized{position:unset!important}.q-linear-progress{--q-linear-progress-speed: .3s;position:relative;width:100%;overflow:hidden;font-size:4px;height:1em;color:var(--q-primary);transform:scaleZ(1)}.q-linear-progress__model,.q-linear-progress__track{transform-origin:0 0}.q-linear-progress__model--with-transition,.q-linear-progress__track--with-transition{transition:transform var(--q-linear-progress-speed)}.q-linear-progress--reverse .q-linear-progress__model,.q-linear-progress--reverse .q-linear-progress__track{transform-origin:0 100%}.q-linear-progress__model--determinate{background:currentColor}.q-linear-progress__model--indeterminate,.q-linear-progress__model--query{transition:none}.q-linear-progress__model--indeterminate:before,.q-linear-progress__model--indeterminate:after,.q-linear-progress__model--query:before,.q-linear-progress__model--query:after{background:currentColor;content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:0 0}.q-linear-progress__model--indeterminate:before,.q-linear-progress__model--query:before{animation:q-linear-progress--indeterminate 2.1s cubic-bezier(.65,.815,.735,.395) infinite}.q-linear-progress__model--indeterminate:after,.q-linear-progress__model--query:after{transform:translate3d(-101%,0,0) scaleZ(1);animation:q-linear-progress--indeterminate-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;animation-delay:1.15s}.q-linear-progress__track{opacity:.4}.q-linear-progress__track--light{background:rgba(0,0,0,.26)}.q-linear-progress__track--dark{background:rgba(255,255,255,.6)}.q-linear-progress__stripe{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,rgba(255,255,255,0) 25%,rgba(255,255,255,0) 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,rgba(255,255,255,0) 75%,rgba(255,255,255,0))!important;background-size:40px 40px!important}.q-linear-progress__stripe--with-transition{transition:width var(--q-linear-progress-speed)}@keyframes q-linear-progress--indeterminate{0%{transform:translate3d(-35%,0,0) scale3d(.35,1,1)}60%{transform:translate3d(100%,0,0) scale3d(.9,1,1)}to{transform:translate3d(100%,0,0) scale3d(.9,1,1)}}@keyframes q-linear-progress--indeterminate-short{0%{transform:translate3d(-101%,0,0) scaleZ(1)}60%{transform:translate3d(107%,0,0) scale3d(.01,1,1)}to{transform:translate3d(107%,0,0) scale3d(.01,1,1)}}.q-menu{position:fixed!important;display:inline-block;max-width:95vw;box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f;background:#fff;border-radius:4px;overflow-y:auto;overflow-x:hidden;outline:0;max-height:65vh;z-index:6000}.q-menu--square{border-radius:0}.q-menu--dark{box-shadow:0 1px 5px #fff3,0 2px 2px #ffffff24,0 3px 1px -2px #ffffff1f}.q-option-group--inline>div{display:inline-block}.q-pagination input{text-align:center;-moz-appearance:textfield}.q-pagination input::-webkit-outer-spin-button,.q-pagination input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.q-pagination__content{--q-pagination-gutter-parent: -2px;--q-pagination-gutter-child: 2px;margin-top:var(--q-pagination-gutter-parent);margin-left:var(--q-pagination-gutter-parent)}.q-pagination__content>.q-btn,.q-pagination__content>.q-input,.q-pagination__middle>.q-btn{margin-top:var(--q-pagination-gutter-child);margin-left:var(--q-pagination-gutter-child)}.q-parallax{position:relative;width:100%;overflow:hidden;border-radius:inherit}.q-parallax__media>img,.q-parallax__media>video{position:absolute;left:50%;bottom:0;min-width:100%;min-height:100%;will-change:transform;display:none}.q-popup-edit{padding:8px 16px}.q-popup-edit__buttons{margin-top:8px}.q-popup-edit__buttons .q-btn+.q-btn{margin-left:8px}.q-pull-to-refresh{position:relative}.q-pull-to-refresh__puller{border-radius:50%;width:40px;height:40px;color:var(--q-primary);background:#fff;box-shadow:0 0 4px #0000004d}.q-pull-to-refresh__puller--animating{transition:transform .3s,opacity .3s}.q-radio{vertical-align:middle}.q-radio__native{width:1px;height:1px}.q-radio__bg,.q-radio__icon-container{-webkit-user-select:none;user-select:none}.q-radio__bg{top:25%;left:25%;width:50%;height:50%;-webkit-print-color-adjust:exact}.q-radio__bg path{fill:currentColor}.q-radio__icon{color:currentColor;font-size:.5em}.q-radio__check{transform-origin:50% 50%;transform:scale3d(0,0,1);transition:transform .22s cubic-bezier(0,0,.2,1) 0ms}.q-radio__inner{font-size:40px;width:1em;min-width:1em;height:1em;outline:0;border-radius:50%;color:#0000008a}.q-radio__inner--truthy{color:var(--q-primary)}.q-radio__inner--truthy .q-radio__check{transform:scaleZ(1)}.q-radio.disabled{opacity:.75!important}.q-radio--dark .q-radio__inner{color:#ffffffb3}.q-radio--dark .q-radio__inner:before{opacity:.32!important}.q-radio--dark .q-radio__inner--truthy{color:var(--q-primary)}.q-radio--dense .q-radio__inner{width:.5em;min-width:.5em;height:.5em}.q-radio--dense .q-radio__bg{left:0;top:0;width:100%;height:100%}.q-radio--dense .q-radio__label{padding-left:.5em}.q-radio--dense.reverse .q-radio__label{padding-left:0;padding-right:.5em}body.desktop .q-radio:not(.disabled) .q-radio__inner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:currentColor;opacity:.12;transform:scale3d(0,0,1);transition:transform .22s cubic-bezier(0,0,.2,1) 0ms}body.desktop .q-radio:not(.disabled):focus .q-radio__inner:before,body.desktop .q-radio:not(.disabled):hover .q-radio__inner:before{transform:scaleZ(1)}body.desktop .q-radio--dense:not(.disabled):focus .q-radio__inner:before,body.desktop .q-radio--dense:not(.disabled):hover .q-radio__inner:before{transform:scale3d(1.5,1.5,1)}.q-rating{color:#ffeb3b;vertical-align:middle}.q-rating__icon-container{height:1em;outline:0}.q-rating__icon-container+.q-rating__icon-container{margin-left:2px}.q-rating__icon{color:currentColor;text-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);position:relative;opacity:.4;transition:transform .2s ease-in,opacity .2s ease-in}.q-rating__icon--hovered{transform:scale(1.3)}.q-rating__icon--active{opacity:1}.q-rating__icon--exselected{opacity:.7}.q-rating--no-dimming .q-rating__icon{opacity:1}.q-rating--editable .q-rating__icon-container{cursor:pointer}.q-responsive{position:relative;max-width:100%;max-height:100%}.q-responsive__filler{width:inherit;max-width:inherit;height:inherit;max-height:inherit}.q-responsive__content{border-radius:inherit}.q-responsive__content>*{width:100%!important;height:100%!important;max-height:100%!important;max-width:100%!important}.q-scrollarea{position:relative;contain:strict}.q-scrollarea__bar,.q-scrollarea__thumb{opacity:.2;transition:opacity .3s;will-change:opacity;cursor:grab}.q-scrollarea__bar--v,.q-scrollarea__thumb--v{right:0;width:10px}.q-scrollarea__bar--h,.q-scrollarea__thumb--h{bottom:0;height:10px}.q-scrollarea__bar--invisible,.q-scrollarea__thumb--invisible{opacity:0!important;pointer-events:none}.q-scrollarea__thumb{background:#000;border-radius:3px}.q-scrollarea__thumb:hover{opacity:.3}.q-scrollarea__thumb:active{opacity:.5}.q-scrollarea__content{min-height:100%;min-width:100%}.q-scrollarea--dark .q-scrollarea__thumb{background:#fff}.q-select--without-input .q-field__control{cursor:pointer}.q-select--with-input .q-field__control{cursor:text}.q-select .q-field__input{min-width:50px!important;cursor:text}.q-select .q-field__input--padding{padding-left:4px}.q-select__focus-target,.q-select__autocomplete-input{position:absolute;outline:0!important;width:1px;height:1px;padding:0;border:0;opacity:0}.q-select__dropdown-icon{cursor:pointer;transition:transform .28s}.q-select.q-field--readonly .q-field__control,.q-select.q-field--readonly .q-select__dropdown-icon{cursor:default}.q-select__dialog{width:90vw!important;max-width:90vw!important;max-height:calc(100vh - 70px)!important;background:#fff;display:flex;flex-direction:column}.q-select__dialog>.scroll{position:relative;background:inherit}body.mobile:not(.native-mobile) .q-select__dialog{max-height:calc(100vh - 108px)!important}body.platform-android.native-mobile .q-dialog__inner--top .q-select__dialog{max-height:calc(100vh - 24px)!important}body.platform-android:not(.native-mobile) .q-dialog__inner--top .q-select__dialog{max-height:calc(100vh - 80px)!important}body.platform-ios.native-mobile .q-dialog__inner--top>div{border-radius:4px}body.platform-ios.native-mobile .q-dialog__inner--top .q-select__dialog--focused{max-height:47vh!important}body.platform-ios:not(.native-mobile) .q-dialog__inner--top .q-select__dialog--focused{max-height:50vh!important}.q-separator{border:0;background:rgba(0,0,0,.12);margin:0;transition:background .3s,opacity .3s;flex-shrink:0}.q-separator--dark{background:rgba(255,255,255,.28)}.q-separator--horizontal{display:block;height:1px}.q-separator--horizontal-inset{margin-left:16px;margin-right:16px}.q-separator--horizontal-item-inset{margin-left:72px;margin-right:0}.q-separator--horizontal-item-thumbnail-inset{margin-left:116px;margin-right:0}.q-separator--vertical{width:1px;height:auto;align-self:stretch}.q-separator--vertical-inset{margin-top:8px;margin-bottom:8px}.q-skeleton{--q-skeleton-speed: 1.5s;background:rgba(0,0,0,.12);border-radius:4px;box-sizing:border-box}.q-skeleton--anim{cursor:wait}.q-skeleton:before{content:"\a0"}.q-skeleton--type-text{transform:scaleY(.5)}.q-skeleton--type-circle,.q-skeleton--type-QAvatar{height:48px;width:48px;border-radius:50%}.q-skeleton--type-QBtn{width:90px;height:36px}.q-skeleton--type-QBadge{width:70px;height:16px}.q-skeleton--type-QChip{width:90px;height:28px;border-radius:16px}.q-skeleton--type-QToolbar{height:50px}.q-skeleton--type-QCheckbox,.q-skeleton--type-QRadio{width:40px;height:40px;border-radius:50%}.q-skeleton--type-QToggle{width:56px;height:40px;border-radius:7px}.q-skeleton--type-QSlider,.q-skeleton--type-QRange{height:40px}.q-skeleton--type-QInput{height:56px}.q-skeleton--bordered{border:1px solid rgba(0,0,0,.05)}.q-skeleton--square{border-radius:0}.q-skeleton--anim-fade{animation:q-skeleton--fade var(--q-skeleton-speed) linear .5s infinite}.q-skeleton--anim-pulse{animation:q-skeleton--pulse var(--q-skeleton-speed) ease-in-out .5s infinite}.q-skeleton--anim-pulse-x{animation:q-skeleton--pulse-x var(--q-skeleton-speed) ease-in-out .5s infinite}.q-skeleton--anim-pulse-y{animation:q-skeleton--pulse-y var(--q-skeleton-speed) ease-in-out .5s infinite}.q-skeleton--anim-wave,.q-skeleton--anim-blink,.q-skeleton--anim-pop{position:relative;overflow:hidden;z-index:1}.q-skeleton--anim-wave:after,.q-skeleton--anim-blink:after,.q-skeleton--anim-pop:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.q-skeleton--anim-blink:after{background:rgba(255,255,255,.7);animation:q-skeleton--fade var(--q-skeleton-speed) linear .5s infinite}.q-skeleton--anim-wave:after{background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.5),rgba(255,255,255,0));animation:q-skeleton--wave var(--q-skeleton-speed) linear .5s infinite}.q-skeleton--dark{background:rgba(255,255,255,.05)}.q-skeleton--dark.q-skeleton--bordered{border:1px solid rgba(255,255,255,.25)}.q-skeleton--dark.q-skeleton--anim-wave:after{background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.1),rgba(255,255,255,0))}.q-skeleton--dark.q-skeleton--anim-blink:after{background:rgba(255,255,255,.2)}@keyframes q-skeleton--fade{0%{opacity:1}50%{opacity:.4}to{opacity:1}}@keyframes q-skeleton--pulse{0%{transform:scale(1)}50%{transform:scale(.85)}to{transform:scale(1)}}@keyframes q-skeleton--pulse-x{0%{transform:scaleX(1)}50%{transform:scaleX(.75)}to{transform:scaleX(1)}}@keyframes q-skeleton--pulse-y{0%{transform:scaleY(1)}50%{transform:scaleY(.75)}to{transform:scaleY(1)}}@keyframes q-skeleton--wave{0%{transform:translate(-100%)}to{transform:translate(100%)}}.q-slide-item{position:relative;background:white}.q-slide-item__left,.q-slide-item__right,.q-slide-item__top,.q-slide-item__bottom{visibility:hidden;font-size:14px;color:#fff}.q-slide-item__left .q-icon,.q-slide-item__right .q-icon,.q-slide-item__top .q-icon,.q-slide-item__bottom .q-icon{font-size:1.714em}.q-slide-item__left{background:#4caf50;padding:8px 16px}.q-slide-item__left>div{transform-origin:left center}.q-slide-item__right{background:#ff9800;padding:8px 16px}.q-slide-item__right>div{transform-origin:right center}.q-slide-item__top{background:#2196f3;padding:16px 8px}.q-slide-item__top>div{transform-origin:top center}.q-slide-item__bottom{background:#9c27b0;padding:16px 8px}.q-slide-item__bottom>div{transform-origin:bottom center}.q-slide-item__content{background:inherit;transition:transform .2s ease-in;-webkit-user-select:none;user-select:none;cursor:pointer}.q-slider{position:relative}.q-slider--h{width:100%}.q-slider--v{height:200px}.q-slider--editable .q-slider__track-container{cursor:grab}.q-slider__track-container{outline:0}.q-slider__track-container--h{width:100%;padding:12px 0}.q-slider__track-container--h .q-slider__selection{will-change:width,left}.q-slider__track-container--v{height:100%;padding:0 12px}.q-slider__track-container--v .q-slider__selection{will-change:height,top}.q-slider__track{color:var(--q-primary);background:rgba(0,0,0,.1);border-radius:4px;width:inherit;height:inherit}.q-slider__inner{background:rgba(0,0,0,.1);border-radius:inherit;width:100%;height:100%}.q-slider__selection{background:currentColor;border-radius:inherit;width:100%;height:100%}.q-slider__markers{color:#0000004d;border-radius:inherit;width:100%;height:100%}.q-slider__markers:after{content:"";position:absolute;background:currentColor}.q-slider__markers--h{background-image:repeating-linear-gradient(to right,currentColor,currentColor 2px,rgba(255,255,255,0) 0,rgba(255,255,255,0))}.q-slider__markers--h:after{height:100%;width:2px;top:0;right:0}.q-slider__markers--v{background-image:repeating-linear-gradient(to bottom,currentColor,currentColor 2px,rgba(255,255,255,0) 0,rgba(255,255,255,0))}.q-slider__markers--v:after{width:100%;height:2px;left:0;bottom:0}.q-slider__marker-labels-container{position:relative;width:100%;height:100%;min-height:24px;min-width:24px}.q-slider__marker-labels{position:absolute}.q-slider__marker-labels--h-standard{top:0}.q-slider__marker-labels--h-switched{bottom:0}.q-slider__marker-labels--h-ltr{transform:translate(-50%)}.q-slider__marker-labels--h-rtl{transform:translate(50%)}.q-slider__marker-labels--v-standard{left:4px}.q-slider__marker-labels--v-switched{right:4px}.q-slider__marker-labels--v-ltr{transform:translateY(-50%)}.q-slider__marker-labels--v-rtl{transform:translateY(50%)}.q-slider__thumb{z-index:1;outline:0;color:var(--q-primary);transition:transform .18s ease-out,fill .18s ease-out,stroke .18s ease-out}.q-slider__thumb.q-slider--focus{opacity:1!important}.q-slider__thumb--h{top:50%;will-change:left}.q-slider__thumb--h-ltr{transform:scale(1) translate(-50%,-50%)}.q-slider__thumb--h-rtl{transform:scale(1) translate(50%,-50%)}.q-slider__thumb--v{left:50%;will-change:top}.q-slider__thumb--v-ltr{transform:scale(1) translate(-50%,-50%)}.q-slider__thumb--v-rtl{transform:scale(1) translate(-50%,50%)}.q-slider__thumb-shape{top:0;left:0;stroke-width:3.5;stroke:currentColor;transition:transform .28s}.q-slider__thumb-shape path{stroke:currentColor;fill:currentColor}.q-slider__focus-ring{border-radius:50%;opacity:0;transition:transform .26667s ease-out,opacity .26667s ease-out,background-color .26667s ease-out;transition-delay:.14s}.q-slider__pin{opacity:0;white-space:nowrap;transition:opacity .28s ease-out;transition-delay:.14s}.q-slider__pin:before{content:"";width:0;height:0;position:absolute}.q-slider__pin--h:before{border-left:6px solid transparent;border-right:6px solid transparent;left:50%;transform:translate(-50%)}.q-slider__pin--h-standard{bottom:100%}.q-slider__pin--h-standard:before{bottom:2px;border-top:6px solid currentColor}.q-slider__pin--h-switched{top:100%}.q-slider__pin--h-switched:before{top:2px;border-bottom:6px solid currentColor}.q-slider__pin--v{top:0}.q-slider__pin--v:before{top:50%;transform:translateY(-50%);border-top:6px solid transparent;border-bottom:6px solid transparent}.q-slider__pin--v-standard{left:100%}.q-slider__pin--v-standard:before{left:2px;border-right:6px solid currentColor}.q-slider__pin--v-switched{right:100%}.q-slider__pin--v-switched:before{right:2px;border-left:6px solid currentColor}.q-slider__label{z-index:1;white-space:nowrap;position:absolute}.q-slider__label--h{left:50%;transform:translate(-50%)}.q-slider__label--h-standard{bottom:7px}.q-slider__label--h-switched{top:7px}.q-slider__label--v{top:50%;transform:translateY(-50%)}.q-slider__label--v-standard{left:7px}.q-slider__label--v-switched{right:7px}.q-slider__text-container{min-height:25px;padding:2px 8px;border-radius:4px;background:currentColor;position:relative;text-align:center}.q-slider__text{color:#fff;font-size:12px}.q-slider--no-value .q-slider__thumb,.q-slider--no-value .q-slider__inner,.q-slider--no-value .q-slider__selection{opacity:0}.q-slider--focus .q-slider__focus-ring,body.desktop .q-slider.q-slider--editable .q-slider__track-container:hover .q-slider__focus-ring{background:currentColor;transform:scale3d(1.55,1.55,1);opacity:.25}.q-slider--focus .q-slider__thumb,.q-slider--focus .q-slider__inner,.q-slider--focus .q-slider__selection,body.desktop .q-slider.q-slider--editable .q-slider__track-container:hover .q-slider__thumb,body.desktop .q-slider.q-slider--editable .q-slider__track-container:hover .q-slider__inner,body.desktop .q-slider.q-slider--editable .q-slider__track-container:hover .q-slider__selection{opacity:1}.q-slider--inactive .q-slider__thumb--h{transition:left .28s,right .28s}.q-slider--inactive .q-slider__thumb--v{transition:top .28s,bottom .28s}.q-slider--inactive .q-slider__selection{transition:width .28s,left .28s,right .28s,height .28s,top .28s,bottom .28s}.q-slider--inactive .q-slider__text-container{transition:transform .28s}.q-slider--active{cursor:grabbing}.q-slider--active .q-slider__thumb-shape{transform:scale(1.5)}.q-slider--active .q-slider__focus-ring,.q-slider--active.q-slider--label .q-slider__thumb-shape{transform:scale(0)!important}body.desktop .q-slider.q-slider--enabled .q-slider__track-container:hover .q-slider__pin,.q-slider--label.q-slider--active .q-slider__pin,.q-slider--label .q-slider--focus .q-slider__pin,.q-slider--label.q-slider--label-always .q-slider__pin{opacity:1}.q-slider--dark .q-slider__track,.q-slider--dark .q-slider__inner{background:rgba(255,255,255,.1)}.q-slider--dark .q-slider__markers{color:#ffffff4d}.q-slider--dense .q-slider__track-container--h{padding:6px 0}.q-slider--dense .q-slider__track-container--v{padding:0 6px}.q-space{flex-grow:1!important}.q-spinner{vertical-align:middle}.q-spinner-mat{animation:q-spin 2s linear infinite;transform-origin:center center}.q-spinner-mat .path{stroke-dasharray:1,200;stroke-dashoffset:0;animation:q-mat-dash 1.5s ease-in-out infinite}@keyframes q-spin{0%{transform:rotate3d(0,0,1,0)}25%{transform:rotate3d(0,0,1,90deg)}50%{transform:rotate3d(0,0,1,180deg)}75%{transform:rotate3d(0,0,1,270deg)}to{transform:rotate3d(0,0,1,359deg)}}@keyframes q-mat-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}.q-splitter__panel{position:relative;z-index:0}.q-splitter__panel>.q-splitter{width:100%;height:100%}.q-splitter__separator{background-color:#0000001f;-webkit-user-select:none;user-select:none;position:relative;z-index:1}.q-splitter__separator-area>*{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.q-splitter--dark .q-splitter__separator{background-color:#ffffff47}.q-splitter--vertical>.q-splitter__panel{height:100%}.q-splitter--vertical.q-splitter--active{cursor:col-resize}.q-splitter--vertical>.q-splitter__separator{width:1px}.q-splitter--vertical>.q-splitter__separator>div{left:-6px;right:-6px}.q-splitter--vertical.q-splitter--workable>.q-splitter__separator{cursor:col-resize}.q-splitter--horizontal>.q-splitter__panel{width:100%}.q-splitter--horizontal.q-splitter--active{cursor:row-resize}.q-splitter--horizontal>.q-splitter__separator{height:1px}.q-splitter--horizontal>.q-splitter__separator>div{top:-6px;bottom:-6px}.q-splitter--horizontal.q-splitter--workable>.q-splitter__separator{cursor:row-resize}.q-splitter__before,.q-splitter__after{overflow:auto}.q-stepper{box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f;border-radius:4px;background:#fff}.q-stepper__title{font-size:14px;line-height:18px;letter-spacing:.1px}.q-stepper__caption{font-size:12px;line-height:14px}.q-stepper__dot{contain:layout;margin-right:8px;font-size:14px;width:24px;min-width:24px;height:24px;border-radius:50%;background:currentColor}.q-stepper__dot span{color:#fff}.q-stepper__tab{padding:8px 24px;font-size:14px;color:#9e9e9e;flex-direction:row}.q-stepper--dark{box-shadow:0 1px 5px #fff3,0 2px 2px #ffffff24,0 3px 1px -2px #ffffff1f}.q-stepper--dark .q-stepper__dot span{color:#000}.q-stepper__tab--navigation{-webkit-user-select:none;user-select:none;cursor:pointer}.q-stepper__tab--active,.q-stepper__tab--done{color:var(--q-primary)}.q-stepper__tab--active .q-stepper__dot,.q-stepper__tab--active .q-stepper__label,.q-stepper__tab--done .q-stepper__dot,.q-stepper__tab--done .q-stepper__label{text-shadow:0 0 0 currentColor}.q-stepper__tab--disabled .q-stepper__dot{background:rgba(0,0,0,.22)}.q-stepper__tab--disabled .q-stepper__label{color:#00000052}.q-stepper__tab--error{color:var(--q-negative)}.q-stepper__tab--error-with-icon .q-stepper__dot{background:transparent!important}.q-stepper__tab--error-with-icon .q-stepper__dot span{color:currentColor;font-size:24px}.q-stepper__header{border-top-left-radius:inherit;border-top-right-radius:inherit}.q-stepper__header--border{border-bottom:1px solid rgba(0,0,0,.12)}.q-stepper__header--standard-labels .q-stepper__tab{min-height:72px;justify-content:center}.q-stepper__header--standard-labels .q-stepper__tab:first-child{justify-content:flex-start}.q-stepper__header--standard-labels .q-stepper__tab:last-child{justify-content:flex-end}.q-stepper__header--standard-labels .q-stepper__tab:only-child{justify-content:center}.q-stepper__header--standard-labels .q-stepper__dot:after{display:none}.q-stepper__header--alternative-labels .q-stepper__tab{min-height:104px;padding:24px 32px;flex-direction:column;justify-content:flex-start}.q-stepper__header--alternative-labels .q-stepper__dot{margin-right:0}.q-stepper__header--alternative-labels .q-stepper__label{margin-top:8px;text-align:center}.q-stepper__header--alternative-labels .q-stepper__label:before,.q-stepper__header--alternative-labels .q-stepper__label:after{display:none}.q-stepper__header--contracted,.q-stepper__header--contracted.q-stepper__header--alternative-labels .q-stepper__tab{min-height:72px}.q-stepper__header--contracted.q-stepper__header--alternative-labels .q-stepper__tab:first-child{align-items:flex-start}.q-stepper__header--contracted.q-stepper__header--alternative-labels .q-stepper__tab:last-child{align-items:flex-end}.q-stepper__header--contracted .q-stepper__tab{padding:24px 0}.q-stepper__header--contracted .q-stepper__tab:first-child .q-stepper__dot{transform:translate(24px)}.q-stepper__header--contracted .q-stepper__tab:last-child .q-stepper__dot{transform:translate(-24px)}.q-stepper__header--contracted .q-stepper__tab:not(:last-child) .q-stepper__dot:after{display:block!important}.q-stepper__header--contracted .q-stepper__dot{margin:0}.q-stepper__header--contracted .q-stepper__label{display:none}.q-stepper__nav{padding-top:24px}.q-stepper--flat{box-shadow:none}.q-stepper--bordered{border:1px solid rgba(0,0,0,.12)}.q-stepper--horizontal .q-stepper__step-inner{padding:24px}.q-stepper--horizontal .q-stepper__tab:first-child{border-top-left-radius:inherit}.q-stepper--horizontal .q-stepper__tab:last-child{border-top-right-radius:inherit}.q-stepper--horizontal .q-stepper__tab:first-child .q-stepper__dot:before,.q-stepper--horizontal .q-stepper__tab:last-child .q-stepper__label:after,.q-stepper--horizontal .q-stepper__tab:last-child .q-stepper__dot:after{display:none}.q-stepper--horizontal .q-stepper__tab{overflow:hidden}.q-stepper--horizontal .q-stepper__line{contain:layout}.q-stepper--horizontal .q-stepper__line:before,.q-stepper--horizontal .q-stepper__line:after{position:absolute;top:50%;height:1px;width:100vw;background:rgba(0,0,0,.12)}.q-stepper--horizontal .q-stepper__label:after,.q-stepper--horizontal .q-stepper__dot:after{content:"";left:100%;margin-left:8px}.q-stepper--horizontal .q-stepper__dot:before{content:"";right:100%;margin-right:8px}.q-stepper--horizontal>.q-stepper__nav{padding:0 24px 24px}.q-stepper--vertical{padding:16px 0}.q-stepper--vertical .q-stepper__tab{padding:12px 24px}.q-stepper--vertical .q-stepper__title{line-height:18px}.q-stepper--vertical .q-stepper__step-inner{padding:0 24px 32px 60px}.q-stepper--vertical>.q-stepper__nav{padding:24px 24px 0}.q-stepper--vertical .q-stepper__step{overflow:hidden}.q-stepper--vertical .q-stepper__dot{margin-right:12px}.q-stepper--vertical .q-stepper__dot:before,.q-stepper--vertical .q-stepper__dot:after{content:"";position:absolute;left:50%;width:1px;height:99999px;background:rgba(0,0,0,.12)}.q-stepper--vertical .q-stepper__dot:before{bottom:100%;margin-bottom:8px}.q-stepper--vertical .q-stepper__dot:after{top:100%;margin-top:8px}.q-stepper--vertical .q-stepper__step:first-child .q-stepper__dot:before,.q-stepper--vertical .q-stepper__step:last-child .q-stepper__dot:after{display:none}.q-stepper--vertical .q-stepper__step:last-child .q-stepper__step-inner{padding-bottom:8px}.q-stepper--dark.q-stepper--bordered,.q-stepper--dark .q-stepper__header--border{border-color:#ffffff47}.q-stepper--dark.q-stepper--horizontal .q-stepper__line:before,.q-stepper--dark.q-stepper--horizontal .q-stepper__line:after{background:rgba(255,255,255,.28)}.q-stepper--dark.q-stepper--vertical .q-stepper__dot:before,.q-stepper--dark.q-stepper--vertical .q-stepper__dot:after{background:rgba(255,255,255,.28)}.q-stepper--dark .q-stepper__tab--disabled{color:#ffffff47}.q-stepper--dark .q-stepper__tab--disabled .q-stepper__dot{background:rgba(255,255,255,.28)}.q-stepper--dark .q-stepper__tab--disabled .q-stepper__label{color:#ffffff8a}.q-tab-panels{background:#fff}.q-tab-panel{padding:16px}.q-markup-table{overflow:auto;background:#fff}.q-table{width:100%;max-width:100%;border-collapse:separate;border-spacing:0}.q-table thead tr,.q-table tbody td{height:48px}.q-table th{font-weight:500;font-size:12px;-webkit-user-select:none;user-select:none}.q-table th.sortable{cursor:pointer}.q-table th.sortable:hover .q-table__sort-icon{opacity:.64}.q-table th.sorted .q-table__sort-icon{opacity:.86!important}.q-table th.sort-desc .q-table__sort-icon{transform:rotate(180deg)}.q-table th,.q-table td{padding:7px 16px;background-color:inherit}.q-table thead,.q-table td,.q-table th{border-style:solid;border-width:0}.q-table tbody td{font-size:13px}.q-table__card{color:#000;background-color:#fff;border-radius:4px;box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f}.q-table__card .q-table__middle{flex:1 1 auto}.q-table__card .q-table__top,.q-table__card .q-table__bottom{flex:0 0 auto}.q-table__container{position:relative}.q-table__container>div:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.q-table__container>div:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.q-table__container>.q-inner-loading{border-radius:inherit!important}.q-table__top{padding:12px 16px}.q-table__top .q-table__control{flex-wrap:wrap}.q-table__title{font-size:20px;letter-spacing:.005em;font-weight:400}.q-table__separator{min-width:8px!important}.q-table__progress{height:0!important}.q-table__progress th{padding:0!important;border:0!important}.q-table__progress .q-linear-progress{position:absolute;bottom:0}.q-table__middle{max-width:100%}.q-table__bottom{min-height:50px;padding:4px 14px 4px 16px;font-size:12px}.q-table__bottom .q-table__control{min-height:24px}.q-table__bottom-nodata-icon{font-size:200%;margin-right:8px}.q-table__bottom-item{margin-right:16px}.q-table__control{display:flex;align-items:center}.q-table__sort-icon{transition:transform .3s cubic-bezier(.25,.8,.5,1);opacity:0;font-size:120%}.q-table__sort-icon--left,.q-table__sort-icon--center{margin-left:4px}.q-table__sort-icon--right{margin-right:4px}.q-table--col-auto-width{width:1px}.q-table__card--dark,.q-table--dark{box-shadow:0 1px 5px #fff3,0 2px 2px #ffffff24,0 3px 1px -2px #ffffff1f}.q-table--flat{box-shadow:none}.q-table--bordered{border:1px solid rgba(0,0,0,.12)}.q-table--square{border-radius:0}.q-table__linear-progress{height:2px}.q-table--no-wrap th,.q-table--no-wrap td{white-space:nowrap}.q-table--grid{box-shadow:none;border-radius:4px}.q-table--grid .q-table__top{padding-bottom:4px}.q-table--grid .q-table__middle{min-height:2px;margin-bottom:4px}.q-table--grid .q-table__middle thead,.q-table--grid .q-table__middle thead th{border:0!important}.q-table--grid .q-table__linear-progress{bottom:0}.q-table--grid .q-table__bottom{border-top:0}.q-table--grid .q-table__grid-content{flex:1 1 auto}.q-table--grid.fullscreen{background:inherit}.q-table__grid-item-card{vertical-align:top;padding:12px}.q-table__grid-item-card .q-separator{margin:12px 0}.q-table__grid-item-row+.q-table__grid-item-row{margin-top:8px}.q-table__grid-item-title{opacity:.54;font-weight:500;font-size:12px}.q-table__grid-item-value{font-size:13px}.q-table__grid-item{padding:4px;transition:transform .3s cubic-bezier(.25,.8,.5,1)}.q-table__grid-item--selected{transform:scale(.95)}.q-table--horizontal-separator thead th,.q-table--horizontal-separator tbody tr:not(:last-child)>td,.q-table--cell-separator thead th,.q-table--cell-separator tbody tr:not(:last-child)>td{border-bottom-width:1px}.q-table--vertical-separator td,.q-table--vertical-separator th,.q-table--cell-separator td,.q-table--cell-separator th{border-left-width:1px}.q-table--vertical-separator thead tr:last-child th,.q-table--vertical-separator.q-table--loading tr:nth-last-child(2) th,.q-table--cell-separator thead tr:last-child th,.q-table--cell-separator.q-table--loading tr:nth-last-child(2) th{border-bottom-width:1px}.q-table--vertical-separator td:first-child,.q-table--vertical-separator th:first-child,.q-table--cell-separator td:first-child,.q-table--cell-separator th:first-child{border-left:0}.q-table--vertical-separator .q-table__top,.q-table--cell-separator .q-table__top{border-bottom:1px solid rgba(0,0,0,.12)}.q-table--dense .q-table__top{padding:6px 16px}.q-table--dense .q-table__bottom{min-height:33px}.q-table--dense .q-table__sort-icon{font-size:110%}.q-table--dense .q-table th,.q-table--dense .q-table td{padding:4px 8px}.q-table--dense .q-table thead tr,.q-table--dense .q-table tbody tr,.q-table--dense .q-table tbody td{height:28px}.q-table--dense .q-table th:first-child,.q-table--dense .q-table td:first-child{padding-left:16px}.q-table--dense .q-table th:last-child,.q-table--dense .q-table td:last-child{padding-right:16px}.q-table--dense .q-table__bottom-item{margin-right:8px}.q-table--dense .q-table__select .q-field__control,.q-table--dense .q-table__select .q-field__native{min-height:24px;padding:0}.q-table--dense .q-table__select .q-field__marginal{height:24px}.q-table__bottom{border-top:1px solid rgba(0,0,0,.12)}.q-table thead,.q-table tr,.q-table th,.q-table td{border-color:#0000001f}.q-table tbody td{position:relative}.q-table tbody td:before,.q-table tbody td:after{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none}.q-table tbody td:before{background:rgba(0,0,0,.03)}.q-table tbody td:after{background:rgba(0,0,0,.06)}.q-table tbody tr.selected td:after{content:""}body.desktop .q-table>tbody>tr:not(.q-tr--no-hover):hover>td:not(.q-td--no-hover):before{content:""}.q-table__card--dark,.q-table--dark,.q-table--dark .q-table__bottom,.q-table--dark thead,.q-table--dark tr,.q-table--dark th,.q-table--dark td{border-color:#ffffff47}.q-table--dark tbody td:before{background:rgba(255,255,255,.07)}.q-table--dark tbody td:after{background:rgba(255,255,255,.1)}.q-table--dark.q-table--vertical-separator .q-table__top,.q-table--dark.q-table--cell-separator .q-table__top{border-color:#ffffff47}.q-tab{padding:0 16px;min-height:48px;transition:color .3s,background-color .3s;text-transform:uppercase;white-space:nowrap;color:inherit;text-decoration:none}.q-tab--full{min-height:72px}.q-tab--no-caps{text-transform:none}.q-tab__content{height:inherit;padding:4px 0;min-width:40px}.q-tab__content--inline .q-tab__icon+.q-tab__label{padding-left:8px}.q-tab__content .q-chip--floating{top:0;right:-16px}.q-tab__icon{width:24px;height:24px;font-size:24px}.q-tab__label{font-size:14px;line-height:1.715em;font-weight:500}.q-tab .q-badge{top:3px;right:-12px}.q-tab__alert,.q-tab__alert-icon{position:absolute}.q-tab__alert{top:7px;right:-9px;height:10px;width:10px;border-radius:50%;background:currentColor}.q-tab__alert-icon{top:2px;right:-12px;font-size:18px}.q-tab__indicator{opacity:0;height:2px;background:currentColor}.q-tab--active .q-tab__indicator{opacity:1;transform-origin:left}.q-tab--inactive{opacity:.85}.q-tabs{position:relative;transition:color .3s,background-color .3s}.q-tabs--scrollable.q-tabs__arrows--outside.q-tabs--horizontal{padding-left:36px;padding-right:36px}.q-tabs--scrollable.q-tabs__arrows--outside.q-tabs--vertical{padding-top:36px;padding-bottom:36px}.q-tabs--scrollable.q-tabs__arrows--outside .q-tabs__arrow--faded{opacity:.3;pointer-events:none}.q-tabs--scrollable.q-tabs__arrows--inside .q-tabs__arrow--faded{display:none}.q-tabs--not-scrollable.q-tabs__arrows--outside,body.mobile .q-tabs--scrollable.q-tabs--mobile-without-arrows.q-tabs__arrows--outside{padding-left:0;padding-right:0}.q-tabs--not-scrollable .q-tabs__arrow,body.mobile .q-tabs--scrollable.q-tabs--mobile-without-arrows .q-tabs__arrow{display:none}.q-tabs--not-scrollable .q-tabs__content,body.mobile .q-tabs--scrollable.q-tabs--mobile-without-arrows .q-tabs__content{border-radius:inherit}.q-tabs__arrow{cursor:pointer;font-size:32px;min-width:36px;text-shadow:0 0 3px #fff,0 0 1px #fff,0 0 1px #000;transition:opacity .3s}.q-tabs__content{overflow:hidden;flex:1 1 auto}.q-tabs__content--align-center{justify-content:center}.q-tabs__content--align-right{justify-content:flex-end}.q-tabs__content--align-justify .q-tab{flex:1 1 auto}.q-tabs__offset{display:none}.q-tabs--horizontal .q-tabs__arrow{height:100%}.q-tabs--horizontal .q-tabs__arrow--left{top:0;left:0;bottom:0}.q-tabs--horizontal .q-tabs__arrow--right{top:0;right:0;bottom:0}.q-tabs--vertical,.q-tabs--vertical .q-tabs__content{display:block!important;height:100%}.q-tabs--vertical .q-tabs__arrow{width:100%;height:36px;text-align:center}.q-tabs--vertical .q-tabs__arrow--left{top:0;left:0;right:0}.q-tabs--vertical .q-tabs__arrow--right{left:0;right:0;bottom:0}.q-tabs--vertical .q-tab{padding:0 8px}.q-tabs--vertical .q-tab__indicator{height:unset;width:2px}.q-tabs--vertical.q-tabs--not-scrollable .q-tabs__content{height:100%}.q-tabs--vertical.q-tabs--dense .q-tab__content{min-width:24px}.q-tabs--dense .q-tab{min-height:36px}.q-tabs--dense .q-tab--full{min-height:52px}.q-time{box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f;border-radius:4px;background:#fff;outline:0;width:290px;min-width:290px;max-width:100%}.q-time--bordered{border:1px solid rgba(0,0,0,.12)}.q-time__header{border-top-left-radius:inherit;color:#fff;background-color:var(--q-primary);padding:16px;font-weight:300}.q-time__actions{padding:0 16px 16px}.q-time__header-label{font-size:28px;line-height:1;letter-spacing:-.00833em}.q-time__header-label>div+div{margin-left:4px}.q-time__link{opacity:.56;outline:0;transition:opacity .3s ease-out}.q-time__link--active,.q-time__link:hover,.q-time__link:focus{opacity:1}.q-time__header-ampm{font-size:16px;letter-spacing:.1em}.q-time__content{padding:16px}.q-time__content:before{content:"";display:block;padding-bottom:100%}.q-time__container-parent{padding:16px}.q-time__container-child{border-radius:50%;background:rgba(0,0,0,.12)}.q-time__clock{padding:24px;width:100%;height:100%;max-width:100%;max-height:100%;font-size:14px}.q-time__clock-circle{position:relative}.q-time__clock-center{height:6px;width:6px;margin:auto;border-radius:50%;min-height:0;background:currentColor}.q-time__clock-pointer{width:2px;height:50%;transform-origin:0 0;min-height:0;position:absolute;left:50%;right:0;bottom:0;color:var(--q-primary);background:currentColor;transform:translate(-50%)}.q-time__clock-pointer:before,.q-time__clock-pointer:after{content:"";position:absolute;left:50%;border-radius:50%;background:currentColor;transform:translate(-50%)}.q-time__clock-pointer:before{bottom:-4px;width:8px;height:8px}.q-time__clock-pointer:after{top:-3px;height:6px;width:6px}.q-time__clock-position{position:absolute;min-height:32px;width:32px;height:32px;font-size:12px;line-height:32px;margin:0;padding:0;transform:translate(-50%,-50%);border-radius:50%}.q-time__clock-position--disable{opacity:.4}.q-time__clock-position--active{background-color:var(--q-primary);color:#fff}.q-time__clock-pos-0{top:0%;left:50%}.q-time__clock-pos-1{top:6.7%;left:75%}.q-time__clock-pos-2{top:25%;left:93.3%}.q-time__clock-pos-3{top:50%;left:100%}.q-time__clock-pos-4{top:75%;left:93.3%}.q-time__clock-pos-5{top:93.3%;left:75%}.q-time__clock-pos-6{top:100%;left:50%}.q-time__clock-pos-7{top:93.3%;left:25%}.q-time__clock-pos-8{top:75%;left:6.7%}.q-time__clock-pos-9{top:50%;left:0%}.q-time__clock-pos-10{top:25%;left:6.7%}.q-time__clock-pos-11{top:6.7%;left:25%}.q-time__clock-pos-12{top:15%;left:50%}.q-time__clock-pos-13{top:19.69%;left:67.5%}.q-time__clock-pos-14{top:32.5%;left:80.31%}.q-time__clock-pos-15{top:50%;left:85%}.q-time__clock-pos-16{top:67.5%;left:80.31%}.q-time__clock-pos-17{top:80.31%;left:67.5%}.q-time__clock-pos-18{top:85%;left:50%}.q-time__clock-pos-19{top:80.31%;left:32.5%}.q-time__clock-pos-20{top:67.5%;left:19.69%}.q-time__clock-pos-21{top:50%;left:15%}.q-time__clock-pos-22{top:32.5%;left:19.69%}.q-time__clock-pos-23{top:19.69%;left:32.5%}.q-time__now-button{background-color:var(--q-primary);color:#fff;top:12px;right:12px}.q-time.disabled .q-time__header-ampm,.q-time.disabled .q-time__content,.q-time--readonly .q-time__header-ampm,.q-time--readonly .q-time__content{pointer-events:none}.q-time--portrait{display:inline-flex;flex-direction:column}.q-time--portrait .q-time__header{border-top-right-radius:inherit;min-height:86px}.q-time--portrait .q-time__header-ampm{margin-left:12px}.q-time--portrait.q-time--bordered .q-time__content{margin:1px 0}.q-time--landscape{display:inline-flex;align-items:stretch;min-width:420px}.q-time--landscape>div{display:flex;flex-direction:column;justify-content:center}.q-time--landscape .q-time__header{border-bottom-left-radius:inherit;min-width:156px}.q-time--landscape .q-time__header-ampm{margin-top:12px}.q-time--dark{border-color:#ffffff47;box-shadow:0 1px 5px #fff3,0 2px 2px #ffffff24,0 3px 1px -2px #ffffff1f}.q-timeline{padding:0;width:100%;list-style:none}.q-timeline h6{line-height:inherit}.q-timeline--dark{color:#fff}.q-timeline--dark .q-timeline__subtitle{opacity:.7}.q-timeline__content{padding-bottom:24px}.q-timeline__title{margin-top:0;margin-bottom:16px}.q-timeline__subtitle{font-size:12px;margin-bottom:8px;opacity:.6;text-transform:uppercase;letter-spacing:1px;font-weight:700}.q-timeline__dot{position:absolute;top:0;bottom:0;width:15px}.q-timeline__dot:before,.q-timeline__dot:after{content:"";background:currentColor;display:block;position:absolute}.q-timeline__dot:before{border:3px solid transparent;border-radius:100%;height:15px;width:15px;top:4px;left:0;transition:background .3s ease-in-out,border .3s ease-in-out}.q-timeline__dot:after{width:3px;opacity:.4;top:24px;bottom:0;left:6px}.q-timeline__dot .q-icon{position:absolute;top:0;left:0;right:0;font-size:16px;height:38px;line-height:38px;width:100%;color:#fff}.q-timeline__dot .q-icon>svg,.q-timeline__dot .q-icon>img{width:1em;height:1em}.q-timeline__dot-img{position:absolute;top:4px;left:0;right:0;height:31px;width:31px;background:currentColor;border-radius:50%}.q-timeline__heading{position:relative}.q-timeline__heading:first-child .q-timeline__heading-title{padding-top:0}.q-timeline__heading:last-child .q-timeline__heading-title{padding-bottom:0}.q-timeline__heading-title{padding:32px 0;margin:0}.q-timeline__entry{position:relative;line-height:22px}.q-timeline__entry:last-child{padding-bottom:0!important}.q-timeline__entry:last-child .q-timeline__dot:after{content:none}.q-timeline__entry--icon .q-timeline__dot{width:31px}.q-timeline__entry--icon .q-timeline__dot:before{height:31px;width:31px}.q-timeline__entry--icon .q-timeline__dot:after{top:41px;left:14px}.q-timeline__entry--icon .q-timeline__subtitle{padding-top:8px}.q-timeline--dense--right .q-timeline__entry{padding-left:40px}.q-timeline--dense--right .q-timeline__entry--icon .q-timeline__dot{left:-8px}.q-timeline--dense--right .q-timeline__dot{left:0}.q-timeline--dense--left .q-timeline__heading{text-align:right}.q-timeline--dense--left .q-timeline__entry{padding-right:40px}.q-timeline--dense--left .q-timeline__entry--icon .q-timeline__dot{right:-8px}.q-timeline--dense--left .q-timeline__content,.q-timeline--dense--left .q-timeline__title,.q-timeline--dense--left .q-timeline__subtitle{text-align:right}.q-timeline--dense--left .q-timeline__dot{right:0}.q-timeline--comfortable{display:table}.q-timeline--comfortable .q-timeline__heading{display:table-row;font-size:200%}.q-timeline--comfortable .q-timeline__heading>div{display:table-cell}.q-timeline--comfortable .q-timeline__entry{display:table-row;padding:0}.q-timeline--comfortable .q-timeline__entry--icon .q-timeline__content{padding-top:8px}.q-timeline--comfortable .q-timeline__subtitle,.q-timeline--comfortable .q-timeline__dot,.q-timeline--comfortable .q-timeline__content{display:table-cell;vertical-align:top}.q-timeline--comfortable .q-timeline__subtitle{width:35%}.q-timeline--comfortable .q-timeline__dot{position:relative;min-width:31px}.q-timeline--comfortable--right .q-timeline__heading .q-timeline__heading-title{margin-left:-50px}.q-timeline--comfortable--right .q-timeline__subtitle{text-align:right;padding-right:30px}.q-timeline--comfortable--right .q-timeline__content{padding-left:30px}.q-timeline--comfortable--right .q-timeline__entry--icon .q-timeline__dot{left:-8px}.q-timeline--comfortable--left .q-timeline__heading{text-align:right}.q-timeline--comfortable--left .q-timeline__heading .q-timeline__heading-title{margin-right:-50px}.q-timeline--comfortable--left .q-timeline__subtitle{padding-left:30px}.q-timeline--comfortable--left .q-timeline__content{padding-right:30px}.q-timeline--comfortable--left .q-timeline__content,.q-timeline--comfortable--left .q-timeline__title{text-align:right}.q-timeline--comfortable--left .q-timeline__entry--icon .q-timeline__dot{right:0}.q-timeline--comfortable--left .q-timeline__dot{right:-8px}.q-timeline--loose .q-timeline__heading-title{text-align:center;margin-left:0}.q-timeline--loose .q-timeline__entry,.q-timeline--loose .q-timeline__subtitle,.q-timeline--loose .q-timeline__dot,.q-timeline--loose .q-timeline__content{display:block;margin:0;padding:0}.q-timeline--loose .q-timeline__dot{position:absolute;left:50%;margin-left:-7.15px}.q-timeline--loose .q-timeline__entry{padding-bottom:24px;overflow:hidden}.q-timeline--loose .q-timeline__entry--icon .q-timeline__dot{margin-left:-15px}.q-timeline--loose .q-timeline__entry--icon .q-timeline__subtitle{line-height:38px}.q-timeline--loose .q-timeline__entry--icon .q-timeline__content{padding-top:8px}.q-timeline--loose .q-timeline__entry--left .q-timeline__content,.q-timeline--loose .q-timeline__entry--right .q-timeline__subtitle{float:left;padding-right:30px;text-align:right}.q-timeline--loose .q-timeline__entry--left .q-timeline__subtitle,.q-timeline--loose .q-timeline__entry--right .q-timeline__content{float:right;text-align:left;padding-left:30px}.q-timeline--loose .q-timeline__subtitle,.q-timeline--loose .q-timeline__content{width:50%}.q-toggle{vertical-align:middle}.q-toggle__native{width:1px;height:1px}.q-toggle__track{height:.35em;border-radius:.175em;opacity:.38;background:currentColor}.q-toggle__thumb{top:.25em;left:.25em;width:.5em;height:.5em;transition:left .22s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none;z-index:0}.q-toggle__thumb:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:#fff;box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.q-toggle__thumb .q-icon{font-size:.3em;min-width:1em;color:#000;opacity:.54;z-index:1}.q-toggle__inner{font-size:40px;width:1.4em;min-width:1.4em;height:1em;padding:.325em .3em;-webkit-print-color-adjust:exact}.q-toggle__inner--indet .q-toggle__thumb{left:.45em}.q-toggle__inner--truthy{color:var(--q-primary)}.q-toggle__inner--truthy .q-toggle__track{opacity:.54}.q-toggle__inner--truthy .q-toggle__thumb{left:.65em}.q-toggle__inner--truthy .q-toggle__thumb:after{background-color:currentColor}.q-toggle__inner--truthy .q-toggle__thumb .q-icon{color:#fff;opacity:1}.q-toggle.disabled{opacity:.75!important}.q-toggle--dark .q-toggle__inner{color:#fff}.q-toggle--dark .q-toggle__inner--truthy{color:var(--q-primary)}.q-toggle--dark .q-toggle__thumb:after{box-shadow:none}.q-toggle--dark .q-toggle__thumb:before{opacity:.32!important}.q-toggle--dense .q-toggle__inner{width:.8em;min-width:.8em;height:.5em;padding:.07625em 0}.q-toggle--dense .q-toggle__thumb{top:0;left:0}.q-toggle--dense .q-toggle__inner--indet .q-toggle__thumb{left:.15em}.q-toggle--dense .q-toggle__inner--truthy .q-toggle__thumb{left:.3em}.q-toggle--dense .q-toggle__label{padding-left:.5em}.q-toggle--dense.reverse .q-toggle__label{padding-left:0;padding-right:.5em}body.desktop .q-toggle:not(.disabled) .q-toggle__thumb:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:currentColor;opacity:.12;transform:scale3d(0,0,1);transition:transform .22s cubic-bezier(0,0,.2,1)}body.desktop .q-toggle:not(.disabled):focus .q-toggle__thumb:before,body.desktop .q-toggle:not(.disabled):hover .q-toggle__thumb:before{transform:scale3d(2,2,1)}body.desktop .q-toggle--dense:not(.disabled):focus .q-toggle__thumb:before,body.desktop .q-toggle--dense:not(.disabled):hover .q-toggle__thumb:before{transform:scale3d(1.5,1.5,1)}.q-toolbar{position:relative;padding:0 12px;min-height:50px;width:100%}.q-toolbar--inset{padding-left:58px}.q-toolbar .q-avatar{font-size:38px}.q-toolbar__title{flex:1 1 0%;min-width:1px;max-width:100%;font-size:21px;font-weight:400;letter-spacing:.01em;padding:0 12px}.q-toolbar__title:first-child{padding-left:0}.q-toolbar__title:last-child{padding-right:0}.q-tooltip--style{font-size:10px;color:#fafafa;background:#757575;border-radius:4px;text-transform:none;font-weight:400}.q-tooltip{z-index:9000;position:fixed!important;overflow-y:auto;overflow-x:hidden;padding:6px 10px}@media (max-width: 599.98px){.q-tooltip{font-size:14px;padding:8px 16px}}.q-tree{position:relative;color:#9e9e9e}.q-tree__node{padding:0 0 3px 22px}.q-tree__node:after{content:"";position:absolute;top:-3px;bottom:0;width:2px;right:auto;left:-13px;border-left:1px solid currentColor}.q-tree__node:last-child:after{display:none}.q-tree__node--disabled{pointer-events:none}.q-tree__node--disabled .disabled{opacity:1!important}.q-tree__node--disabled>div,.q-tree__node--disabled>i,.q-tree__node--disabled>.disabled{opacity:.6!important}.q-tree__node--disabled>div .q-tree__node--disabled>div,.q-tree__node--disabled>div .q-tree__node--disabled>i,.q-tree__node--disabled>div .q-tree__node--disabled>.disabled,.q-tree__node--disabled>i .q-tree__node--disabled>div,.q-tree__node--disabled>i .q-tree__node--disabled>i,.q-tree__node--disabled>i .q-tree__node--disabled>.disabled,.q-tree__node--disabled>.disabled .q-tree__node--disabled>div,.q-tree__node--disabled>.disabled .q-tree__node--disabled>i,.q-tree__node--disabled>.disabled .q-tree__node--disabled>.disabled{opacity:1!important}.q-tree__node-header:before{content:"";position:absolute;top:-3px;bottom:50%;width:31px;left:-35px;border-left:1px solid currentColor;border-bottom:1px solid currentColor}.q-tree__children{padding-left:25px}.q-tree__node-body{padding:5px 0 8px 5px}.q-tree__node--parent{padding-left:2px}.q-tree__node--parent>.q-tree__node-header:before{width:15px;left:-15px}.q-tree__node--parent>.q-tree__node-collapsible>.q-tree__node-body{padding:5px 0 8px 27px}.q-tree__node--parent>.q-tree__node-collapsible>.q-tree__node-body:after{content:"";position:absolute;top:0;width:2px;height:100%;right:auto;left:12px;border-left:1px solid currentColor;bottom:50px}.q-tree__node--link{cursor:pointer}.q-tree__node-header{padding:4px;margin-top:3px;border-radius:4px;outline:0}.q-tree__node-header-content{color:#000;transition:color .3s}.q-tree__node--selected .q-tree__node-header-content{color:#9e9e9e}.q-tree__icon,.q-tree__node-header-content .q-icon{font-size:21px}.q-tree__img{height:42px;border-radius:2px}.q-tree__avatar,.q-tree__node-header-content .q-avatar{font-size:28px;border-radius:50%;width:28px;height:28px}.q-tree__arrow,.q-tree__spinner{font-size:16px;margin-right:4px}.q-tree__arrow{transition:transform .3s}.q-tree__arrow--rotate{transform:rotate3d(0,0,1,90deg)}.q-tree__tickbox{margin-right:4px}.q-tree>.q-tree__node{padding:0}.q-tree>.q-tree__node:after,.q-tree>.q-tree__node>.q-tree__node-header:before{display:none}.q-tree>.q-tree__node--child>.q-tree__node-header{padding-left:24px}.q-tree--dark .q-tree__node-header-content{color:#fff}.q-tree--no-connectors .q-tree__node:after,.q-tree--no-connectors .q-tree__node-header:before,.q-tree--no-connectors .q-tree__node-body:after{display:none!important}.q-tree--dense>.q-tree__node--child>.q-tree__node-header{padding-left:1px}.q-tree--dense .q-tree__arrow,.q-tree--dense .q-tree__spinner{margin-right:1px}.q-tree--dense .q-tree__img{height:32px}.q-tree--dense .q-tree__tickbox{margin-right:3px}.q-tree--dense .q-tree__node{padding:0}.q-tree--dense .q-tree__node:after{top:0;left:-8px}.q-tree--dense .q-tree__node-header{margin-top:0;padding:1px}.q-tree--dense .q-tree__node-header:before{top:0;left:-8px;width:8px}.q-tree--dense .q-tree__node--child{padding-left:17px}.q-tree--dense .q-tree__node--child>.q-tree__node-header:before{left:-25px;width:21px}.q-tree--dense .q-tree__node-body{padding:0 0 2px}.q-tree--dense .q-tree__node--parent>.q-tree__node-collapsible>.q-tree__node-body{padding:0 0 2px 20px}.q-tree--dense .q-tree__node--parent>.q-tree__node-collapsible>.q-tree__node-body:after{left:8px}.q-tree--dense .q-tree__children{padding-left:16px}[dir=rtl] .q-tree__arrow{transform:rotate3d(0,0,1,180deg)}[dir=rtl] .q-tree__arrow--rotate{transform:rotate3d(0,0,1,90deg)}.q-uploader{box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f;border-radius:4px;vertical-align:top;background:#fff;position:relative;width:320px;max-height:320px}.q-uploader--bordered{border:1px solid rgba(0,0,0,.12)}.q-uploader__input{opacity:0;width:100%;height:100%;cursor:pointer!important;z-index:1}.q-uploader__input::-webkit-file-upload-button{cursor:pointer}.q-uploader__file:before{content:"";border-top-left-radius:inherit;border-top-right-radius:inherit;position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:currentColor;opacity:.04}.q-uploader__header{position:relative;border-top-left-radius:inherit;border-top-right-radius:inherit;background-color:var(--q-primary);color:#fff;width:100%}.q-uploader__spinner{font-size:24px;margin-right:4px}.q-uploader__header-content{padding:8px}.q-uploader__dnd{outline:1px dashed currentColor;outline-offset:-4px;background:rgba(255,255,255,.6)}.q-uploader__overlay{font-size:36px;color:#000;background-color:#fff9}.q-uploader__list{position:relative;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;padding:8px;min-height:60px;flex:1 1 auto}.q-uploader__file{border-radius:4px 4px 0 0;border:1px solid rgba(0,0,0,.12)}.q-uploader__file .q-circular-progress{font-size:24px}.q-uploader__file--img{color:#fff;height:200px;min-width:200px;background-position:50% 50%;background-size:cover;background-repeat:no-repeat}.q-uploader__file--img:before{content:none}.q-uploader__file--img .q-circular-progress{color:#fff}.q-uploader__file--img .q-uploader__file-header{padding-bottom:24px;background:linear-gradient(to bottom,rgba(0,0,0,.7) 20%,rgba(255,255,255,0))}.q-uploader__file+.q-uploader__file{margin-top:8px}.q-uploader__file-header{position:relative;padding:4px 8px;border-top-left-radius:inherit;border-top-right-radius:inherit}.q-uploader__file-header-content{padding-right:8px}.q-uploader__file-status{font-size:24px;margin-right:4px}.q-uploader__title{font-size:14px;font-weight:700;line-height:18px;word-break:break-word}.q-uploader__subtitle{font-size:12px;line-height:18px}.q-uploader--disable .q-uploader__header,.q-uploader--disable .q-uploader__list{pointer-events:none}.q-uploader--dark{border-color:#ffffff47;box-shadow:0 1px 5px #fff3,0 2px 2px #ffffff24,0 3px 1px -2px #ffffff1f}.q-uploader--dark .q-uploader__file{border-color:#ffffff47}.q-uploader--dark .q-uploader__dnd,.q-uploader--dark .q-uploader__overlay{background:rgba(255,255,255,.3)}.q-uploader--dark .q-uploader__overlay{color:#fff}img.responsive{max-width:100%;height:auto}.q-video{position:relative;overflow:hidden;border-radius:inherit}.q-video iframe,.q-video object,.q-video embed{width:100%;height:100%}.q-video--responsive{height:0}.q-video--responsive iframe,.q-video--responsive object,.q-video--responsive embed{position:absolute;top:0;left:0}.q-virtual-scroll:focus{outline:0}.q-virtual-scroll__content{outline:none;contain:content}.q-virtual-scroll__content>*{overflow-anchor:none}.q-virtual-scroll__content>[data-q-vs-anchor]{overflow-anchor:auto}.q-virtual-scroll__padding{background:linear-gradient(rgba(255,255,255,0),rgba(255,255,255,0) 20%,rgba(128,128,128,.03) 20%,rgba(128,128,128,.08) 50%,rgba(128,128,128,.03) 80%,rgba(255,255,255,0) 80%,rgba(255,255,255,0));background-size:var(--q-virtual-scroll-item-width, 100%) var(--q-virtual-scroll-item-height, 50px)}.q-table .q-virtual-scroll__padding tr{height:0!important}.q-table .q-virtual-scroll__padding td{padding:0!important}.q-virtual-scroll--horizontal{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:stretch}.q-virtual-scroll--horizontal .q-virtual-scroll__content{display:flex;flex-direction:row;flex-wrap:nowrap}.q-virtual-scroll--horizontal .q-virtual-scroll__padding,.q-virtual-scroll--horizontal .q-virtual-scroll__content,.q-virtual-scroll--horizontal .q-virtual-scroll__content>*{flex:0 0 auto}.q-virtual-scroll--horizontal .q-virtual-scroll__padding{background:linear-gradient(to left,rgba(255,255,255,0),rgba(255,255,255,0) 20%,rgba(128,128,128,.03) 20%,rgba(128,128,128,.08) 50%,rgba(128,128,128,.03) 80%,rgba(255,255,255,0) 80%,rgba(255,255,255,0));background-size:var(--q-virtual-scroll-item-width, 50px) var(--q-virtual-scroll-item-height, 100%)}.q-ripple{position:absolute;top:0;left:0;width:100%;height:100%;color:inherit;border-radius:inherit;z-index:0;pointer-events:none;overflow:hidden;contain:strict}.q-ripple__inner{position:absolute;top:0;left:0;opacity:0;color:inherit;border-radius:50%;background:currentColor;pointer-events:none;will-change:transform,opacity}.q-ripple__inner--enter{transition:transform .225s cubic-bezier(.4,0,.2,1),opacity .1s cubic-bezier(.4,0,.2,1)}.q-ripple__inner--leave{transition:opacity .25s cubic-bezier(.4,0,.2,1)}.q-morph--invisible,.q-morph--internal{opacity:0!important;pointer-events:none!important;position:fixed!important;right:200vw!important;bottom:200vh!important}.q-loading{color:#000;position:fixed!important}.q-loading__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;opacity:.5;z-index:-1;background-color:#000;transition:background-color .28s}.q-loading__box{border-radius:4px;padding:18px;color:#fff;max-width:450px}.q-loading__message{margin:40px 20px 0;text-align:center}.q-notifications__list{z-index:9500;pointer-events:none;left:0;right:0;margin-bottom:10px;position:relative}.q-notifications__list--center{top:0;bottom:0}.q-notifications__list--top{top:0}.q-notifications__list--bottom{bottom:0}body.q-ios-padding .q-notifications__list--center,body.q-ios-padding .q-notifications__list--top{top:20px;top:env(safe-area-inset-top)}body.q-ios-padding .q-notifications__list--center,body.q-ios-padding .q-notifications__list--bottom{bottom:env(safe-area-inset-bottom)}.q-notification{box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f;border-radius:4px;pointer-events:all;display:inline-flex;margin:10px 10px 0;transition:transform 1s,opacity 1s;z-index:9500;flex-shrink:0;max-width:95vw;background:#323232;color:#fff;font-size:14px}.q-notification__icon{font-size:24px;flex:0 0 1em}.q-notification__icon--additional{margin-right:16px}.q-notification__avatar{font-size:32px}.q-notification__avatar--additional{margin-right:8px}.q-notification__spinner{font-size:32px}.q-notification__spinner--additional{margin-right:8px}.q-notification__message{padding:8px 0}.q-notification__caption{font-size:.9em;opacity:.7}.q-notification__actions{color:var(--q-primary)}.q-notification__badge{animation:q-notif-badge .42s;padding:4px 8px;position:absolute;box-shadow:0 1px 3px #0003,0 1px 1px #00000024,0 2px 1px -1px #0000001f;background-color:var(--q-negative);color:#fff;border-radius:4px;font-size:12px;line-height:12px}.q-notification__badge--top-left,.q-notification__badge--top-right{top:-6px}.q-notification__badge--bottom-left,.q-notification__badge--bottom-right{bottom:-6px}.q-notification__badge--top-left,.q-notification__badge--bottom-left{left:-22px}.q-notification__badge--top-right,.q-notification__badge--bottom-right{right:-22px}.q-notification__progress{z-index:-1;position:absolute;height:3px;bottom:0;left:-10px;right:-10px;animation:q-notif-progress linear;background:currentColor;opacity:.3;border-radius:4px 4px 0 0;transform-origin:0 50%;transform:scaleX(0)}.q-notification--standard{padding:0 16px;min-height:48px}.q-notification--standard .q-notification__actions{padding:6px 0 6px 8px;margin-right:-8px}.q-notification--multi-line{min-height:68px;padding:8px 16px}.q-notification--multi-line .q-notification__badge--top-left,.q-notification--multi-line .q-notification__badge--top-right{top:-15px}.q-notification--multi-line .q-notification__badge--bottom-left,.q-notification--multi-line .q-notification__badge--bottom-right{bottom:-15px}.q-notification--multi-line .q-notification__progress{bottom:-8px}.q-notification--multi-line .q-notification__actions{padding:0}.q-notification--multi-line .q-notification__actions--with-media{padding-left:25px}.q-notification--top-left-enter-from,.q-notification--top-left-leave-to,.q-notification--top-enter-from,.q-notification--top-leave-to,.q-notification--top-right-enter-from,.q-notification--top-right-leave-to{opacity:0;transform:translateY(-50px);z-index:9499}.q-notification--left-enter-from,.q-notification--left-leave-to,.q-notification--center-enter-from,.q-notification--center-leave-to,.q-notification--right-enter-from,.q-notification--right-leave-to{opacity:0;transform:rotateX(90deg);z-index:9499}.q-notification--bottom-left-enter-from,.q-notification--bottom-left-leave-to,.q-notification--bottom-enter-from,.q-notification--bottom-leave-to,.q-notification--bottom-right-enter-from,.q-notification--bottom-right-leave-to{opacity:0;transform:translateY(50px);z-index:9499}.q-notification--top-left-leave-active,.q-notification--top-leave-active,.q-notification--top-right-leave-active,.q-notification--left-leave-active,.q-notification--center-leave-active,.q-notification--right-leave-active,.q-notification--bottom-left-leave-active,.q-notification--bottom-leave-active,.q-notification--bottom-right-leave-active{position:absolute;z-index:9499;margin-left:0;margin-right:0}.q-notification--top-leave-active,.q-notification--center-leave-active{top:0}.q-notification--bottom-left-leave-active,.q-notification--bottom-leave-active,.q-notification--bottom-right-leave-active{bottom:0}@media (min-width: 600px){.q-notification{max-width:65vw}}@keyframes q-notif-badge{15%{transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}30%{transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}45%{transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}60%{transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}75%{transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}}@keyframes q-notif-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}:root{--animate-duration: .3s;--animate-delay: .3s;--animate-repeat: 1}.animated{animation-duration:var(--animate-duration);animation-fill-mode:both}.animated.infinite{animation-iteration-count:infinite}.animated.hinge{animation-duration:2s}.animated.repeat-1{animation-iteration-count:var(--animate-repeat)}.animated.repeat-2{animation-iteration-count:calc(var(--animate-repeat) * 2)}.animated.repeat-3{animation-iteration-count:calc(var(--animate-repeat) * 3)}.animated.delay-1s{animation-delay:var(--animate-delay)}.animated.delay-2s{animation-delay:calc(var(--animate-delay) * 2)}.animated.delay-3s{animation-delay:calc(var(--animate-delay) * 3)}.animated.delay-4s{animation-delay:calc(var(--animate-delay) * 4)}.animated.delay-5s{animation-delay:calc(var(--animate-delay) * 5)}.animated.faster{animation-duration:calc(var(--animate-duration) / 2)}.animated.fast{animation-duration:calc(var(--animate-duration) * .8)}.animated.slow{animation-duration:calc(var(--animate-duration) * 2)}.animated.slower{animation-duration:calc(var(--animate-duration) * 3)}@media print,(prefers-reduced-motion: reduce){.animated{animation-duration:1ms!important;transition-duration:1ms!important;animation-iteration-count:1!important}.animated[class*=Out]{opacity:0}}.q-animate--scale{animation:q-scale .15s;animation-timing-function:cubic-bezier(.25,.8,.25,1)}@keyframes q-scale{0%{transform:scale(1)}50%{transform:scale(1.04)}to{transform:scale(1)}}.q-animate--fade{animation:q-fade .2s}@keyframes q-fade{0%{opacity:0}to{opacity:1}}:root{--q-primary: #1976D2;--q-secondary: #26A69A;--q-accent: #9C27B0;--q-positive: #21BA45;--q-negative: #C10015;--q-info: #31CCEC;--q-warning: #F2C037;--q-dark: #1d1d1d;--q-dark-page: #121212}.text-dark{color:var(--q-dark)!important}.bg-dark{background:var(--q-dark)!important}.text-primary{color:var(--q-primary)!important}.bg-primary{background:var(--q-primary)!important}.text-secondary{color:var(--q-secondary)!important}.bg-secondary{background:var(--q-secondary)!important}.text-accent{color:var(--q-accent)!important}.bg-accent{background:var(--q-accent)!important}.text-positive{color:var(--q-positive)!important}.bg-positive{background:var(--q-positive)!important}.text-negative{color:var(--q-negative)!important}.bg-negative{background:var(--q-negative)!important}.text-info{color:var(--q-info)!important}.bg-info{background:var(--q-info)!important}.text-warning{color:var(--q-warning)!important}.bg-warning{background:var(--q-warning)!important}.text-white{color:#fff!important}.bg-white{background:#fff!important}.text-black{color:#000!important}.bg-black{background:#000!important}.text-transparent{color:transparent!important}.bg-transparent{background:transparent!important}.text-separator{color:#0000001f!important}.bg-separator{background:rgba(0,0,0,.12)!important}.text-dark-separator{color:#ffffff47!important}.bg-dark-separator{background:rgba(255,255,255,.28)!important}.text-red{color:#f44336!important}.text-red-1{color:#ffebee!important}.text-red-2{color:#ffcdd2!important}.text-red-3{color:#ef9a9a!important}.text-red-4{color:#e57373!important}.text-red-5{color:#ef5350!important}.text-red-6{color:#f44336!important}.text-red-7{color:#e53935!important}.text-red-8{color:#d32f2f!important}.text-red-9{color:#c62828!important}.text-red-10{color:#b71c1c!important}.text-red-11{color:#ff8a80!important}.text-red-12{color:#ff5252!important}.text-red-13{color:#ff1744!important}.text-red-14{color:#d50000!important}.text-pink{color:#e91e63!important}.text-pink-1{color:#fce4ec!important}.text-pink-2{color:#f8bbd0!important}.text-pink-3{color:#f48fb1!important}.text-pink-4{color:#f06292!important}.text-pink-5{color:#ec407a!important}.text-pink-6{color:#e91e63!important}.text-pink-7{color:#d81b60!important}.text-pink-8{color:#c2185b!important}.text-pink-9{color:#ad1457!important}.text-pink-10{color:#880e4f!important}.text-pink-11{color:#ff80ab!important}.text-pink-12{color:#ff4081!important}.text-pink-13{color:#f50057!important}.text-pink-14{color:#c51162!important}.text-purple{color:#9c27b0!important}.text-purple-1{color:#f3e5f5!important}.text-purple-2{color:#e1bee7!important}.text-purple-3{color:#ce93d8!important}.text-purple-4{color:#ba68c8!important}.text-purple-5{color:#ab47bc!important}.text-purple-6{color:#9c27b0!important}.text-purple-7{color:#8e24aa!important}.text-purple-8{color:#7b1fa2!important}.text-purple-9{color:#6a1b9a!important}.text-purple-10{color:#4a148c!important}.text-purple-11{color:#ea80fc!important}.text-purple-12{color:#e040fb!important}.text-purple-13{color:#d500f9!important}.text-purple-14{color:#a0f!important}.text-deep-purple{color:#673ab7!important}.text-deep-purple-1{color:#ede7f6!important}.text-deep-purple-2{color:#d1c4e9!important}.text-deep-purple-3{color:#b39ddb!important}.text-deep-purple-4{color:#9575cd!important}.text-deep-purple-5{color:#7e57c2!important}.text-deep-purple-6{color:#673ab7!important}.text-deep-purple-7{color:#5e35b1!important}.text-deep-purple-8{color:#512da8!important}.text-deep-purple-9{color:#4527a0!important}.text-deep-purple-10{color:#311b92!important}.text-deep-purple-11{color:#b388ff!important}.text-deep-purple-12{color:#7c4dff!important}.text-deep-purple-13{color:#651fff!important}.text-deep-purple-14{color:#6200ea!important}.text-indigo{color:#3f51b5!important}.text-indigo-1{color:#e8eaf6!important}.text-indigo-2{color:#c5cae9!important}.text-indigo-3{color:#9fa8da!important}.text-indigo-4{color:#7986cb!important}.text-indigo-5{color:#5c6bc0!important}.text-indigo-6{color:#3f51b5!important}.text-indigo-7{color:#3949ab!important}.text-indigo-8{color:#303f9f!important}.text-indigo-9{color:#283593!important}.text-indigo-10{color:#1a237e!important}.text-indigo-11{color:#8c9eff!important}.text-indigo-12{color:#536dfe!important}.text-indigo-13{color:#3d5afe!important}.text-indigo-14{color:#304ffe!important}.text-blue{color:#2196f3!important}.text-blue-1{color:#e3f2fd!important}.text-blue-2{color:#bbdefb!important}.text-blue-3{color:#90caf9!important}.text-blue-4{color:#64b5f6!important}.text-blue-5{color:#42a5f5!important}.text-blue-6{color:#2196f3!important}.text-blue-7{color:#1e88e5!important}.text-blue-8{color:#1976d2!important}.text-blue-9{color:#1565c0!important}.text-blue-10{color:#0d47a1!important}.text-blue-11{color:#82b1ff!important}.text-blue-12{color:#448aff!important}.text-blue-13{color:#2979ff!important}.text-blue-14{color:#2962ff!important}.text-light-blue{color:#03a9f4!important}.text-light-blue-1{color:#e1f5fe!important}.text-light-blue-2{color:#b3e5fc!important}.text-light-blue-3{color:#81d4fa!important}.text-light-blue-4{color:#4fc3f7!important}.text-light-blue-5{color:#29b6f6!important}.text-light-blue-6{color:#03a9f4!important}.text-light-blue-7{color:#039be5!important}.text-light-blue-8{color:#0288d1!important}.text-light-blue-9{color:#0277bd!important}.text-light-blue-10{color:#01579b!important}.text-light-blue-11{color:#80d8ff!important}.text-light-blue-12{color:#40c4ff!important}.text-light-blue-13{color:#00b0ff!important}.text-light-blue-14{color:#0091ea!important}.text-cyan{color:#00bcd4!important}.text-cyan-1{color:#e0f7fa!important}.text-cyan-2{color:#b2ebf2!important}.text-cyan-3{color:#80deea!important}.text-cyan-4{color:#4dd0e1!important}.text-cyan-5{color:#26c6da!important}.text-cyan-6{color:#00bcd4!important}.text-cyan-7{color:#00acc1!important}.text-cyan-8{color:#0097a7!important}.text-cyan-9{color:#00838f!important}.text-cyan-10{color:#006064!important}.text-cyan-11{color:#84ffff!important}.text-cyan-12{color:#18ffff!important}.text-cyan-13{color:#00e5ff!important}.text-cyan-14{color:#00b8d4!important}.text-teal{color:#009688!important}.text-teal-1{color:#e0f2f1!important}.text-teal-2{color:#b2dfdb!important}.text-teal-3{color:#80cbc4!important}.text-teal-4{color:#4db6ac!important}.text-teal-5{color:#26a69a!important}.text-teal-6{color:#009688!important}.text-teal-7{color:#00897b!important}.text-teal-8{color:#00796b!important}.text-teal-9{color:#00695c!important}.text-teal-10{color:#004d40!important}.text-teal-11{color:#a7ffeb!important}.text-teal-12{color:#64ffda!important}.text-teal-13{color:#1de9b6!important}.text-teal-14{color:#00bfa5!important}.text-green{color:#4caf50!important}.text-green-1{color:#e8f5e9!important}.text-green-2{color:#c8e6c9!important}.text-green-3{color:#a5d6a7!important}.text-green-4{color:#81c784!important}.text-green-5{color:#66bb6a!important}.text-green-6{color:#4caf50!important}.text-green-7{color:#43a047!important}.text-green-8{color:#388e3c!important}.text-green-9{color:#2e7d32!important}.text-green-10{color:#1b5e20!important}.text-green-11{color:#b9f6ca!important}.text-green-12{color:#69f0ae!important}.text-green-13{color:#00e676!important}.text-green-14{color:#00c853!important}.text-light-green{color:#8bc34a!important}.text-light-green-1{color:#f1f8e9!important}.text-light-green-2{color:#dcedc8!important}.text-light-green-3{color:#c5e1a5!important}.text-light-green-4{color:#aed581!important}.text-light-green-5{color:#9ccc65!important}.text-light-green-6{color:#8bc34a!important}.text-light-green-7{color:#7cb342!important}.text-light-green-8{color:#689f38!important}.text-light-green-9{color:#558b2f!important}.text-light-green-10{color:#33691e!important}.text-light-green-11{color:#ccff90!important}.text-light-green-12{color:#b2ff59!important}.text-light-green-13{color:#76ff03!important}.text-light-green-14{color:#64dd17!important}.text-lime{color:#cddc39!important}.text-lime-1{color:#f9fbe7!important}.text-lime-2{color:#f0f4c3!important}.text-lime-3{color:#e6ee9c!important}.text-lime-4{color:#dce775!important}.text-lime-5{color:#d4e157!important}.text-lime-6{color:#cddc39!important}.text-lime-7{color:#c0ca33!important}.text-lime-8{color:#afb42b!important}.text-lime-9{color:#9e9d24!important}.text-lime-10{color:#827717!important}.text-lime-11{color:#f4ff81!important}.text-lime-12{color:#eeff41!important}.text-lime-13{color:#c6ff00!important}.text-lime-14{color:#aeea00!important}.text-yellow{color:#ffeb3b!important}.text-yellow-1{color:#fffde7!important}.text-yellow-2{color:#fff9c4!important}.text-yellow-3{color:#fff59d!important}.text-yellow-4{color:#fff176!important}.text-yellow-5{color:#ffee58!important}.text-yellow-6{color:#ffeb3b!important}.text-yellow-7{color:#fdd835!important}.text-yellow-8{color:#fbc02d!important}.text-yellow-9{color:#f9a825!important}.text-yellow-10{color:#f57f17!important}.text-yellow-11{color:#ffff8d!important}.text-yellow-12{color:#ff0!important}.text-yellow-13{color:#ffea00!important}.text-yellow-14{color:#ffd600!important}.text-amber{color:#ffc107!important}.text-amber-1{color:#fff8e1!important}.text-amber-2{color:#ffecb3!important}.text-amber-3{color:#ffe082!important}.text-amber-4{color:#ffd54f!important}.text-amber-5{color:#ffca28!important}.text-amber-6{color:#ffc107!important}.text-amber-7{color:#ffb300!important}.text-amber-8{color:#ffa000!important}.text-amber-9{color:#ff8f00!important}.text-amber-10{color:#ff6f00!important}.text-amber-11{color:#ffe57f!important}.text-amber-12{color:#ffd740!important}.text-amber-13{color:#ffc400!important}.text-amber-14{color:#ffab00!important}.text-orange{color:#ff9800!important}.text-orange-1{color:#fff3e0!important}.text-orange-2{color:#ffe0b2!important}.text-orange-3{color:#ffcc80!important}.text-orange-4{color:#ffb74d!important}.text-orange-5{color:#ffa726!important}.text-orange-6{color:#ff9800!important}.text-orange-7{color:#fb8c00!important}.text-orange-8{color:#f57c00!important}.text-orange-9{color:#ef6c00!important}.text-orange-10{color:#e65100!important}.text-orange-11{color:#ffd180!important}.text-orange-12{color:#ffab40!important}.text-orange-13{color:#ff9100!important}.text-orange-14{color:#ff6d00!important}.text-deep-orange{color:#ff5722!important}.text-deep-orange-1{color:#fbe9e7!important}.text-deep-orange-2{color:#ffccbc!important}.text-deep-orange-3{color:#ffab91!important}.text-deep-orange-4{color:#ff8a65!important}.text-deep-orange-5{color:#ff7043!important}.text-deep-orange-6{color:#ff5722!important}.text-deep-orange-7{color:#f4511e!important}.text-deep-orange-8{color:#e64a19!important}.text-deep-orange-9{color:#d84315!important}.text-deep-orange-10{color:#bf360c!important}.text-deep-orange-11{color:#ff9e80!important}.text-deep-orange-12{color:#ff6e40!important}.text-deep-orange-13{color:#ff3d00!important}.text-deep-orange-14{color:#dd2c00!important}.text-brown{color:#795548!important}.text-brown-1{color:#efebe9!important}.text-brown-2{color:#d7ccc8!important}.text-brown-3{color:#bcaaa4!important}.text-brown-4{color:#a1887f!important}.text-brown-5{color:#8d6e63!important}.text-brown-6{color:#795548!important}.text-brown-7{color:#6d4c41!important}.text-brown-8{color:#5d4037!important}.text-brown-9{color:#4e342e!important}.text-brown-10{color:#3e2723!important}.text-brown-11{color:#d7ccc8!important}.text-brown-12{color:#bcaaa4!important}.text-brown-13{color:#8d6e63!important}.text-brown-14{color:#5d4037!important}.text-grey{color:#9e9e9e!important}.text-grey-1{color:#fafafa!important}.text-grey-2{color:#f5f5f5!important}.text-grey-3{color:#eee!important}.text-grey-4{color:#e0e0e0!important}.text-grey-5{color:#bdbdbd!important}.text-grey-6{color:#9e9e9e!important}.text-grey-7{color:#757575!important}.text-grey-8{color:#616161!important}.text-grey-9{color:#424242!important}.text-grey-10{color:#212121!important}.text-grey-11{color:#f5f5f5!important}.text-grey-12{color:#eee!important}.text-grey-13{color:#bdbdbd!important}.text-grey-14{color:#616161!important}.text-blue-grey{color:#607d8b!important}.text-blue-grey-1{color:#eceff1!important}.text-blue-grey-2{color:#cfd8dc!important}.text-blue-grey-3{color:#b0bec5!important}.text-blue-grey-4{color:#90a4ae!important}.text-blue-grey-5{color:#78909c!important}.text-blue-grey-6{color:#607d8b!important}.text-blue-grey-7{color:#546e7a!important}.text-blue-grey-8{color:#455a64!important}.text-blue-grey-9{color:#37474f!important}.text-blue-grey-10{color:#263238!important}.text-blue-grey-11{color:#cfd8dc!important}.text-blue-grey-12{color:#b0bec5!important}.text-blue-grey-13{color:#78909c!important}.text-blue-grey-14{color:#455a64!important}.bg-red{background:#f44336!important}.bg-red-1{background:#ffebee!important}.bg-red-2{background:#ffcdd2!important}.bg-red-3{background:#ef9a9a!important}.bg-red-4{background:#e57373!important}.bg-red-5{background:#ef5350!important}.bg-red-6{background:#f44336!important}.bg-red-7{background:#e53935!important}.bg-red-8{background:#d32f2f!important}.bg-red-9{background:#c62828!important}.bg-red-10{background:#b71c1c!important}.bg-red-11{background:#ff8a80!important}.bg-red-12{background:#ff5252!important}.bg-red-13{background:#ff1744!important}.bg-red-14{background:#d50000!important}.bg-pink{background:#e91e63!important}.bg-pink-1{background:#fce4ec!important}.bg-pink-2{background:#f8bbd0!important}.bg-pink-3{background:#f48fb1!important}.bg-pink-4{background:#f06292!important}.bg-pink-5{background:#ec407a!important}.bg-pink-6{background:#e91e63!important}.bg-pink-7{background:#d81b60!important}.bg-pink-8{background:#c2185b!important}.bg-pink-9{background:#ad1457!important}.bg-pink-10{background:#880e4f!important}.bg-pink-11{background:#ff80ab!important}.bg-pink-12{background:#ff4081!important}.bg-pink-13{background:#f50057!important}.bg-pink-14{background:#c51162!important}.bg-purple{background:#9c27b0!important}.bg-purple-1{background:#f3e5f5!important}.bg-purple-2{background:#e1bee7!important}.bg-purple-3{background:#ce93d8!important}.bg-purple-4{background:#ba68c8!important}.bg-purple-5{background:#ab47bc!important}.bg-purple-6{background:#9c27b0!important}.bg-purple-7{background:#8e24aa!important}.bg-purple-8{background:#7b1fa2!important}.bg-purple-9{background:#6a1b9a!important}.bg-purple-10{background:#4a148c!important}.bg-purple-11{background:#ea80fc!important}.bg-purple-12{background:#e040fb!important}.bg-purple-13{background:#d500f9!important}.bg-purple-14{background:#aa00ff!important}.bg-deep-purple{background:#673ab7!important}.bg-deep-purple-1{background:#ede7f6!important}.bg-deep-purple-2{background:#d1c4e9!important}.bg-deep-purple-3{background:#b39ddb!important}.bg-deep-purple-4{background:#9575cd!important}.bg-deep-purple-5{background:#7e57c2!important}.bg-deep-purple-6{background:#673ab7!important}.bg-deep-purple-7{background:#5e35b1!important}.bg-deep-purple-8{background:#512da8!important}.bg-deep-purple-9{background:#4527a0!important}.bg-deep-purple-10{background:#311b92!important}.bg-deep-purple-11{background:#b388ff!important}.bg-deep-purple-12{background:#7c4dff!important}.bg-deep-purple-13{background:#651fff!important}.bg-deep-purple-14{background:#6200ea!important}.bg-indigo{background:#3f51b5!important}.bg-indigo-1{background:#e8eaf6!important}.bg-indigo-2{background:#c5cae9!important}.bg-indigo-3{background:#9fa8da!important}.bg-indigo-4{background:#7986cb!important}.bg-indigo-5{background:#5c6bc0!important}.bg-indigo-6{background:#3f51b5!important}.bg-indigo-7{background:#3949ab!important}.bg-indigo-8{background:#303f9f!important}.bg-indigo-9{background:#283593!important}.bg-indigo-10{background:#1a237e!important}.bg-indigo-11{background:#8c9eff!important}.bg-indigo-12{background:#536dfe!important}.bg-indigo-13{background:#3d5afe!important}.bg-indigo-14{background:#304ffe!important}.bg-blue{background:#2196f3!important}.bg-blue-1{background:#e3f2fd!important}.bg-blue-2{background:#bbdefb!important}.bg-blue-3{background:#90caf9!important}.bg-blue-4{background:#64b5f6!important}.bg-blue-5{background:#42a5f5!important}.bg-blue-6{background:#2196f3!important}.bg-blue-7{background:#1e88e5!important}.bg-blue-8{background:#1976d2!important}.bg-blue-9{background:#1565c0!important}.bg-blue-10{background:#0d47a1!important}.bg-blue-11{background:#82b1ff!important}.bg-blue-12{background:#448aff!important}.bg-blue-13{background:#2979ff!important}.bg-blue-14{background:#2962ff!important}.bg-light-blue{background:#03a9f4!important}.bg-light-blue-1{background:#e1f5fe!important}.bg-light-blue-2{background:#b3e5fc!important}.bg-light-blue-3{background:#81d4fa!important}.bg-light-blue-4{background:#4fc3f7!important}.bg-light-blue-5{background:#29b6f6!important}.bg-light-blue-6{background:#03a9f4!important}.bg-light-blue-7{background:#039be5!important}.bg-light-blue-8{background:#0288d1!important}.bg-light-blue-9{background:#0277bd!important}.bg-light-blue-10{background:#01579b!important}.bg-light-blue-11{background:#80d8ff!important}.bg-light-blue-12{background:#40c4ff!important}.bg-light-blue-13{background:#00b0ff!important}.bg-light-blue-14{background:#0091ea!important}.bg-cyan{background:#00bcd4!important}.bg-cyan-1{background:#e0f7fa!important}.bg-cyan-2{background:#b2ebf2!important}.bg-cyan-3{background:#80deea!important}.bg-cyan-4{background:#4dd0e1!important}.bg-cyan-5{background:#26c6da!important}.bg-cyan-6{background:#00bcd4!important}.bg-cyan-7{background:#00acc1!important}.bg-cyan-8{background:#0097a7!important}.bg-cyan-9{background:#00838f!important}.bg-cyan-10{background:#006064!important}.bg-cyan-11{background:#84ffff!important}.bg-cyan-12{background:#18ffff!important}.bg-cyan-13{background:#00e5ff!important}.bg-cyan-14{background:#00b8d4!important}.bg-teal{background:#009688!important}.bg-teal-1{background:#e0f2f1!important}.bg-teal-2{background:#b2dfdb!important}.bg-teal-3{background:#80cbc4!important}.bg-teal-4{background:#4db6ac!important}.bg-teal-5{background:#26a69a!important}.bg-teal-6{background:#009688!important}.bg-teal-7{background:#00897b!important}.bg-teal-8{background:#00796b!important}.bg-teal-9{background:#00695c!important}.bg-teal-10{background:#004d40!important}.bg-teal-11{background:#a7ffeb!important}.bg-teal-12{background:#64ffda!important}.bg-teal-13{background:#1de9b6!important}.bg-teal-14{background:#00bfa5!important}.bg-green{background:#4caf50!important}.bg-green-1{background:#e8f5e9!important}.bg-green-2{background:#c8e6c9!important}.bg-green-3{background:#a5d6a7!important}.bg-green-4{background:#81c784!important}.bg-green-5{background:#66bb6a!important}.bg-green-6{background:#4caf50!important}.bg-green-7{background:#43a047!important}.bg-green-8{background:#388e3c!important}.bg-green-9{background:#2e7d32!important}.bg-green-10{background:#1b5e20!important}.bg-green-11{background:#b9f6ca!important}.bg-green-12{background:#69f0ae!important}.bg-green-13{background:#00e676!important}.bg-green-14{background:#00c853!important}.bg-light-green{background:#8bc34a!important}.bg-light-green-1{background:#f1f8e9!important}.bg-light-green-2{background:#dcedc8!important}.bg-light-green-3{background:#c5e1a5!important}.bg-light-green-4{background:#aed581!important}.bg-light-green-5{background:#9ccc65!important}.bg-light-green-6{background:#8bc34a!important}.bg-light-green-7{background:#7cb342!important}.bg-light-green-8{background:#689f38!important}.bg-light-green-9{background:#558b2f!important}.bg-light-green-10{background:#33691e!important}.bg-light-green-11{background:#ccff90!important}.bg-light-green-12{background:#b2ff59!important}.bg-light-green-13{background:#76ff03!important}.bg-light-green-14{background:#64dd17!important}.bg-lime{background:#cddc39!important}.bg-lime-1{background:#f9fbe7!important}.bg-lime-2{background:#f0f4c3!important}.bg-lime-3{background:#e6ee9c!important}.bg-lime-4{background:#dce775!important}.bg-lime-5{background:#d4e157!important}.bg-lime-6{background:#cddc39!important}.bg-lime-7{background:#c0ca33!important}.bg-lime-8{background:#afb42b!important}.bg-lime-9{background:#9e9d24!important}.bg-lime-10{background:#827717!important}.bg-lime-11{background:#f4ff81!important}.bg-lime-12{background:#eeff41!important}.bg-lime-13{background:#c6ff00!important}.bg-lime-14{background:#aeea00!important}.bg-yellow{background:#ffeb3b!important}.bg-yellow-1{background:#fffde7!important}.bg-yellow-2{background:#fff9c4!important}.bg-yellow-3{background:#fff59d!important}.bg-yellow-4{background:#fff176!important}.bg-yellow-5{background:#ffee58!important}.bg-yellow-6{background:#ffeb3b!important}.bg-yellow-7{background:#fdd835!important}.bg-yellow-8{background:#fbc02d!important}.bg-yellow-9{background:#f9a825!important}.bg-yellow-10{background:#f57f17!important}.bg-yellow-11{background:#ffff8d!important}.bg-yellow-12{background:#ffff00!important}.bg-yellow-13{background:#ffea00!important}.bg-yellow-14{background:#ffd600!important}.bg-amber{background:#ffc107!important}.bg-amber-1{background:#fff8e1!important}.bg-amber-2{background:#ffecb3!important}.bg-amber-3{background:#ffe082!important}.bg-amber-4{background:#ffd54f!important}.bg-amber-5{background:#ffca28!important}.bg-amber-6{background:#ffc107!important}.bg-amber-7{background:#ffb300!important}.bg-amber-8{background:#ffa000!important}.bg-amber-9{background:#ff8f00!important}.bg-amber-10{background:#ff6f00!important}.bg-amber-11{background:#ffe57f!important}.bg-amber-12{background:#ffd740!important}.bg-amber-13{background:#ffc400!important}.bg-amber-14{background:#ffab00!important}.bg-orange{background:#ff9800!important}.bg-orange-1{background:#fff3e0!important}.bg-orange-2{background:#ffe0b2!important}.bg-orange-3{background:#ffcc80!important}.bg-orange-4{background:#ffb74d!important}.bg-orange-5{background:#ffa726!important}.bg-orange-6{background:#ff9800!important}.bg-orange-7{background:#fb8c00!important}.bg-orange-8{background:#f57c00!important}.bg-orange-9{background:#ef6c00!important}.bg-orange-10{background:#e65100!important}.bg-orange-11{background:#ffd180!important}.bg-orange-12{background:#ffab40!important}.bg-orange-13{background:#ff9100!important}.bg-orange-14{background:#ff6d00!important}.bg-deep-orange{background:#ff5722!important}.bg-deep-orange-1{background:#fbe9e7!important}.bg-deep-orange-2{background:#ffccbc!important}.bg-deep-orange-3{background:#ffab91!important}.bg-deep-orange-4{background:#ff8a65!important}.bg-deep-orange-5{background:#ff7043!important}.bg-deep-orange-6{background:#ff5722!important}.bg-deep-orange-7{background:#f4511e!important}.bg-deep-orange-8{background:#e64a19!important}.bg-deep-orange-9{background:#d84315!important}.bg-deep-orange-10{background:#bf360c!important}.bg-deep-orange-11{background:#ff9e80!important}.bg-deep-orange-12{background:#ff6e40!important}.bg-deep-orange-13{background:#ff3d00!important}.bg-deep-orange-14{background:#dd2c00!important}.bg-brown{background:#795548!important}.bg-brown-1{background:#efebe9!important}.bg-brown-2{background:#d7ccc8!important}.bg-brown-3{background:#bcaaa4!important}.bg-brown-4{background:#a1887f!important}.bg-brown-5{background:#8d6e63!important}.bg-brown-6{background:#795548!important}.bg-brown-7{background:#6d4c41!important}.bg-brown-8{background:#5d4037!important}.bg-brown-9{background:#4e342e!important}.bg-brown-10{background:#3e2723!important}.bg-brown-11{background:#d7ccc8!important}.bg-brown-12{background:#bcaaa4!important}.bg-brown-13{background:#8d6e63!important}.bg-brown-14{background:#5d4037!important}.bg-grey{background:#9e9e9e!important}.bg-grey-1{background:#fafafa!important}.bg-grey-2{background:#f5f5f5!important}.bg-grey-3{background:#eeeeee!important}.bg-grey-4{background:#e0e0e0!important}.bg-grey-5{background:#bdbdbd!important}.bg-grey-6{background:#9e9e9e!important}.bg-grey-7{background:#757575!important}.bg-grey-8{background:#616161!important}.bg-grey-9{background:#424242!important}.bg-grey-10{background:#212121!important}.bg-grey-11{background:#f5f5f5!important}.bg-grey-12{background:#eeeeee!important}.bg-grey-13{background:#bdbdbd!important}.bg-grey-14{background:#616161!important}.bg-blue-grey{background:#607d8b!important}.bg-blue-grey-1{background:#eceff1!important}.bg-blue-grey-2{background:#cfd8dc!important}.bg-blue-grey-3{background:#b0bec5!important}.bg-blue-grey-4{background:#90a4ae!important}.bg-blue-grey-5{background:#78909c!important}.bg-blue-grey-6{background:#607d8b!important}.bg-blue-grey-7{background:#546e7a!important}.bg-blue-grey-8{background:#455a64!important}.bg-blue-grey-9{background:#37474f!important}.bg-blue-grey-10{background:#263238!important}.bg-blue-grey-11{background:#cfd8dc!important}.bg-blue-grey-12{background:#b0bec5!important}.bg-blue-grey-13{background:#78909c!important}.bg-blue-grey-14{background:#455a64!important}.shadow-transition{transition:box-shadow .28s cubic-bezier(.4,0,.2,1)!important}.shadow-1{box-shadow:0 1px 3px #0003,0 1px 1px #00000024,0 2px 1px -1px #0000001f}.shadow-up-1{box-shadow:0 -1px 3px #0003,0 -1px 1px #00000024,0 -2px 1px -1px #0000001f}.shadow-2{box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f}.shadow-up-2{box-shadow:0 -1px 5px #0003,0 -2px 2px #00000024,0 -3px 1px -2px #0000001f}.shadow-3{box-shadow:0 1px 8px #0003,0 3px 4px #00000024,0 3px 3px -2px #0000001f}.shadow-up-3{box-shadow:0 -1px 8px #0003,0 -3px 4px #00000024,0 -3px 3px -2px #0000001f}.shadow-4{box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.shadow-up-4{box-shadow:0 -2px 4px -1px #0003,0 -4px 5px #00000024,0 -1px 10px #0000001f}.shadow-5{box-shadow:0 3px 5px -1px #0003,0 5px 8px #00000024,0 1px 14px #0000001f}.shadow-up-5{box-shadow:0 -3px 5px -1px #0003,0 -5px 8px #00000024,0 -1px 14px #0000001f}.shadow-6{box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f}.shadow-up-6{box-shadow:0 -3px 5px -1px #0003,0 -6px 10px #00000024,0 -1px 18px #0000001f}.shadow-7{box-shadow:0 4px 5px -2px #0003,0 7px 10px 1px #00000024,0 2px 16px 1px #0000001f}.shadow-up-7{box-shadow:0 -4px 5px -2px #0003,0 -7px 10px 1px #00000024,0 -2px 16px 1px #0000001f}.shadow-8{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.shadow-up-8{box-shadow:0 -5px 5px -3px #0003,0 -8px 10px 1px #00000024,0 -3px 14px 2px #0000001f}.shadow-9{box-shadow:0 5px 6px -3px #0003,0 9px 12px 1px #00000024,0 3px 16px 2px #0000001f}.shadow-up-9{box-shadow:0 -5px 6px -3px #0003,0 -9px 12px 1px #00000024,0 -3px 16px 2px #0000001f}.shadow-10{box-shadow:0 6px 6px -3px #0003,0 10px 14px 1px #00000024,0 4px 18px 3px #0000001f}.shadow-up-10{box-shadow:0 -6px 6px -3px #0003,0 -10px 14px 1px #00000024,0 -4px 18px 3px #0000001f}.shadow-11{box-shadow:0 6px 7px -4px #0003,0 11px 15px 1px #00000024,0 4px 20px 3px #0000001f}.shadow-up-11{box-shadow:0 -6px 7px -4px #0003,0 -11px 15px 1px #00000024,0 -4px 20px 3px #0000001f}.shadow-12{box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.shadow-up-12{box-shadow:0 -7px 8px -4px #0003,0 -12px 17px 2px #00000024,0 -5px 22px 4px #0000001f}.shadow-13{box-shadow:0 7px 8px -4px #0003,0 13px 19px 2px #00000024,0 5px 24px 4px #0000001f}.shadow-up-13{box-shadow:0 -7px 8px -4px #0003,0 -13px 19px 2px #00000024,0 -5px 24px 4px #0000001f}.shadow-14{box-shadow:0 7px 9px -4px #0003,0 14px 21px 2px #00000024,0 5px 26px 4px #0000001f}.shadow-up-14{box-shadow:0 -7px 9px -4px #0003,0 -14px 21px 2px #00000024,0 -5px 26px 4px #0000001f}.shadow-15{box-shadow:0 8px 9px -5px #0003,0 15px 22px 2px #00000024,0 6px 28px 5px #0000001f}.shadow-up-15{box-shadow:0 -8px 9px -5px #0003,0 -15px 22px 2px #00000024,0 -6px 28px 5px #0000001f}.shadow-16{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.shadow-up-16{box-shadow:0 -8px 10px -5px #0003,0 -16px 24px 2px #00000024,0 -6px 30px 5px #0000001f}.shadow-17{box-shadow:0 8px 11px -5px #0003,0 17px 26px 2px #00000024,0 6px 32px 5px #0000001f}.shadow-up-17{box-shadow:0 -8px 11px -5px #0003,0 -17px 26px 2px #00000024,0 -6px 32px 5px #0000001f}.shadow-18{box-shadow:0 9px 11px -5px #0003,0 18px 28px 2px #00000024,0 7px 34px 6px #0000001f}.shadow-up-18{box-shadow:0 -9px 11px -5px #0003,0 -18px 28px 2px #00000024,0 -7px 34px 6px #0000001f}.shadow-19{box-shadow:0 9px 12px -6px #0003,0 19px 29px 2px #00000024,0 7px 36px 6px #0000001f}.shadow-up-19{box-shadow:0 -9px 12px -6px #0003,0 -19px 29px 2px #00000024,0 -7px 36px 6px #0000001f}.shadow-20{box-shadow:0 10px 13px -6px #0003,0 20px 31px 3px #00000024,0 8px 38px 7px #0000001f}.shadow-up-20{box-shadow:0 -10px 13px -6px #0003,0 -20px 31px 3px #00000024,0 -8px 38px 7px #0000001f}.shadow-21{box-shadow:0 10px 13px -6px #0003,0 21px 33px 3px #00000024,0 8px 40px 7px #0000001f}.shadow-up-21{box-shadow:0 -10px 13px -6px #0003,0 -21px 33px 3px #00000024,0 -8px 40px 7px #0000001f}.shadow-22{box-shadow:0 10px 14px -6px #0003,0 22px 35px 3px #00000024,0 8px 42px 7px #0000001f}.shadow-up-22{box-shadow:0 -10px 14px -6px #0003,0 -22px 35px 3px #00000024,0 -8px 42px 7px #0000001f}.shadow-23{box-shadow:0 11px 14px -7px #0003,0 23px 36px 3px #00000024,0 9px 44px 8px #0000001f}.shadow-up-23{box-shadow:0 -11px 14px -7px #0003,0 -23px 36px 3px #00000024,0 -9px 44px 8px #0000001f}.shadow-24{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.shadow-up-24{box-shadow:0 -11px 15px -7px #0003,0 -24px 38px 3px #00000024,0 -9px 46px 8px #0000001f}.inset-shadow{box-shadow:0 7px 9px -7px #000000b3 inset}.inset-shadow-down{box-shadow:0 -7px 9px -7px #000000b3 inset}body.body--dark .shadow-1{box-shadow:0 1px 3px #fff3,0 1px 1px #ffffff24,0 2px 1px -1px #ffffff1f}body.body--dark .shadow-up-1{box-shadow:0 -1px 3px #fff3,0 -1px 1px #ffffff24,0 -2px 1px -1px #ffffff1f}body.body--dark .shadow-2{box-shadow:0 1px 5px #fff3,0 2px 2px #ffffff24,0 3px 1px -2px #ffffff1f}body.body--dark .shadow-up-2{box-shadow:0 -1px 5px #fff3,0 -2px 2px #ffffff24,0 -3px 1px -2px #ffffff1f}body.body--dark .shadow-3{box-shadow:0 1px 8px #fff3,0 3px 4px #ffffff24,0 3px 3px -2px #ffffff1f}body.body--dark .shadow-up-3{box-shadow:0 -1px 8px #fff3,0 -3px 4px #ffffff24,0 -3px 3px -2px #ffffff1f}body.body--dark .shadow-4{box-shadow:0 2px 4px -1px #fff3,0 4px 5px #ffffff24,0 1px 10px #ffffff1f}body.body--dark .shadow-up-4{box-shadow:0 -2px 4px -1px #fff3,0 -4px 5px #ffffff24,0 -1px 10px #ffffff1f}body.body--dark .shadow-5{box-shadow:0 3px 5px -1px #fff3,0 5px 8px #ffffff24,0 1px 14px #ffffff1f}body.body--dark .shadow-up-5{box-shadow:0 -3px 5px -1px #fff3,0 -5px 8px #ffffff24,0 -1px 14px #ffffff1f}body.body--dark .shadow-6{box-shadow:0 3px 5px -1px #fff3,0 6px 10px #ffffff24,0 1px 18px #ffffff1f}body.body--dark .shadow-up-6{box-shadow:0 -3px 5px -1px #fff3,0 -6px 10px #ffffff24,0 -1px 18px #ffffff1f}body.body--dark .shadow-7{box-shadow:0 4px 5px -2px #fff3,0 7px 10px 1px #ffffff24,0 2px 16px 1px #ffffff1f}body.body--dark .shadow-up-7{box-shadow:0 -4px 5px -2px #fff3,0 -7px 10px 1px #ffffff24,0 -2px 16px 1px #ffffff1f}body.body--dark .shadow-8{box-shadow:0 5px 5px -3px #fff3,0 8px 10px 1px #ffffff24,0 3px 14px 2px #ffffff1f}body.body--dark .shadow-up-8{box-shadow:0 -5px 5px -3px #fff3,0 -8px 10px 1px #ffffff24,0 -3px 14px 2px #ffffff1f}body.body--dark .shadow-9{box-shadow:0 5px 6px -3px #fff3,0 9px 12px 1px #ffffff24,0 3px 16px 2px #ffffff1f}body.body--dark .shadow-up-9{box-shadow:0 -5px 6px -3px #fff3,0 -9px 12px 1px #ffffff24,0 -3px 16px 2px #ffffff1f}body.body--dark .shadow-10{box-shadow:0 6px 6px -3px #fff3,0 10px 14px 1px #ffffff24,0 4px 18px 3px #ffffff1f}body.body--dark .shadow-up-10{box-shadow:0 -6px 6px -3px #fff3,0 -10px 14px 1px #ffffff24,0 -4px 18px 3px #ffffff1f}body.body--dark .shadow-11{box-shadow:0 6px 7px -4px #fff3,0 11px 15px 1px #ffffff24,0 4px 20px 3px #ffffff1f}body.body--dark .shadow-up-11{box-shadow:0 -6px 7px -4px #fff3,0 -11px 15px 1px #ffffff24,0 -4px 20px 3px #ffffff1f}body.body--dark .shadow-12{box-shadow:0 7px 8px -4px #fff3,0 12px 17px 2px #ffffff24,0 5px 22px 4px #ffffff1f}body.body--dark .shadow-up-12{box-shadow:0 -7px 8px -4px #fff3,0 -12px 17px 2px #ffffff24,0 -5px 22px 4px #ffffff1f}body.body--dark .shadow-13{box-shadow:0 7px 8px -4px #fff3,0 13px 19px 2px #ffffff24,0 5px 24px 4px #ffffff1f}body.body--dark .shadow-up-13{box-shadow:0 -7px 8px -4px #fff3,0 -13px 19px 2px #ffffff24,0 -5px 24px 4px #ffffff1f}body.body--dark .shadow-14{box-shadow:0 7px 9px -4px #fff3,0 14px 21px 2px #ffffff24,0 5px 26px 4px #ffffff1f}body.body--dark .shadow-up-14{box-shadow:0 -7px 9px -4px #fff3,0 -14px 21px 2px #ffffff24,0 -5px 26px 4px #ffffff1f}body.body--dark .shadow-15{box-shadow:0 8px 9px -5px #fff3,0 15px 22px 2px #ffffff24,0 6px 28px 5px #ffffff1f}body.body--dark .shadow-up-15{box-shadow:0 -8px 9px -5px #fff3,0 -15px 22px 2px #ffffff24,0 -6px 28px 5px #ffffff1f}body.body--dark .shadow-16{box-shadow:0 8px 10px -5px #fff3,0 16px 24px 2px #ffffff24,0 6px 30px 5px #ffffff1f}body.body--dark .shadow-up-16{box-shadow:0 -8px 10px -5px #fff3,0 -16px 24px 2px #ffffff24,0 -6px 30px 5px #ffffff1f}body.body--dark .shadow-17{box-shadow:0 8px 11px -5px #fff3,0 17px 26px 2px #ffffff24,0 6px 32px 5px #ffffff1f}body.body--dark .shadow-up-17{box-shadow:0 -8px 11px -5px #fff3,0 -17px 26px 2px #ffffff24,0 -6px 32px 5px #ffffff1f}body.body--dark .shadow-18{box-shadow:0 9px 11px -5px #fff3,0 18px 28px 2px #ffffff24,0 7px 34px 6px #ffffff1f}body.body--dark .shadow-up-18{box-shadow:0 -9px 11px -5px #fff3,0 -18px 28px 2px #ffffff24,0 -7px 34px 6px #ffffff1f}body.body--dark .shadow-19{box-shadow:0 9px 12px -6px #fff3,0 19px 29px 2px #ffffff24,0 7px 36px 6px #ffffff1f}body.body--dark .shadow-up-19{box-shadow:0 -9px 12px -6px #fff3,0 -19px 29px 2px #ffffff24,0 -7px 36px 6px #ffffff1f}body.body--dark .shadow-20{box-shadow:0 10px 13px -6px #fff3,0 20px 31px 3px #ffffff24,0 8px 38px 7px #ffffff1f}body.body--dark .shadow-up-20{box-shadow:0 -10px 13px -6px #fff3,0 -20px 31px 3px #ffffff24,0 -8px 38px 7px #ffffff1f}body.body--dark .shadow-21{box-shadow:0 10px 13px -6px #fff3,0 21px 33px 3px #ffffff24,0 8px 40px 7px #ffffff1f}body.body--dark .shadow-up-21{box-shadow:0 -10px 13px -6px #fff3,0 -21px 33px 3px #ffffff24,0 -8px 40px 7px #ffffff1f}body.body--dark .shadow-22{box-shadow:0 10px 14px -6px #fff3,0 22px 35px 3px #ffffff24,0 8px 42px 7px #ffffff1f}body.body--dark .shadow-up-22{box-shadow:0 -10px 14px -6px #fff3,0 -22px 35px 3px #ffffff24,0 -8px 42px 7px #ffffff1f}body.body--dark .shadow-23{box-shadow:0 11px 14px -7px #fff3,0 23px 36px 3px #ffffff24,0 9px 44px 8px #ffffff1f}body.body--dark .shadow-up-23{box-shadow:0 -11px 14px -7px #fff3,0 -23px 36px 3px #ffffff24,0 -9px 44px 8px #ffffff1f}body.body--dark .shadow-24{box-shadow:0 11px 15px -7px #fff3,0 24px 38px 3px #ffffff24,0 9px 46px 8px #ffffff1f}body.body--dark .shadow-up-24{box-shadow:0 -11px 15px -7px #fff3,0 -24px 38px 3px #ffffff24,0 -9px 46px 8px #ffffff1f}body.body--dark .inset-shadow{box-shadow:0 7px 9px -7px #ffffffb3 inset}body.body--dark .inset-shadow-down{box-shadow:0 -7px 9px -7px #ffffffb3 inset}.no-shadow,.shadow-0{box-shadow:none!important}.z-marginals{z-index:2000}.z-notify{z-index:9500}.z-fullscreen{z-index:6000}.z-inherit{z-index:inherit!important}.row,.column,.flex{display:flex;flex-wrap:wrap}.row.inline,.column.inline,.flex.inline{display:inline-flex}.row.reverse{flex-direction:row-reverse}.column{flex-direction:column}.column.reverse{flex-direction:column-reverse}.wrap{flex-wrap:wrap}.no-wrap{flex-wrap:nowrap}.reverse-wrap{flex-wrap:wrap-reverse}.order-first{order:-10000}.order-last{order:10000}.order-none{order:0}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center,.flex-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center,.flex-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.content-start{align-content:flex-start}.content-end{align-content:flex-end}.content-center{align-content:center}.content-stretch{align-content:stretch}.content-between{align-content:space-between}.content-around{align-content:space-around}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}.self-baseline{align-self:baseline}.self-stretch{align-self:stretch}.q-gutter-x-none,.q-gutter-none{margin-left:0}.q-gutter-x-none>*,.q-gutter-none>*{margin-left:0}.q-gutter-y-none,.q-gutter-none{margin-top:0}.q-gutter-y-none>*,.q-gutter-none>*{margin-top:0}.q-col-gutter-x-none,.q-col-gutter-none{margin-left:0}.q-col-gutter-x-none>*,.q-col-gutter-none>*{padding-left:0}.q-col-gutter-y-none,.q-col-gutter-none{margin-top:0}.q-col-gutter-y-none>*,.q-col-gutter-none>*{padding-top:0}.q-gutter-x-xs,.q-gutter-xs{margin-left:-4px}.q-gutter-x-xs>*,.q-gutter-xs>*{margin-left:4px}.q-gutter-y-xs,.q-gutter-xs{margin-top:-4px}.q-gutter-y-xs>*,.q-gutter-xs>*{margin-top:4px}.q-col-gutter-x-xs,.q-col-gutter-xs{margin-left:-4px}.q-col-gutter-x-xs>*,.q-col-gutter-xs>*{padding-left:4px}.q-col-gutter-y-xs,.q-col-gutter-xs{margin-top:-4px}.q-col-gutter-y-xs>*,.q-col-gutter-xs>*{padding-top:4px}.q-gutter-x-sm,.q-gutter-sm{margin-left:-8px}.q-gutter-x-sm>*,.q-gutter-sm>*{margin-left:8px}.q-gutter-y-sm,.q-gutter-sm{margin-top:-8px}.q-gutter-y-sm>*,.q-gutter-sm>*{margin-top:8px}.q-col-gutter-x-sm,.q-col-gutter-sm{margin-left:-8px}.q-col-gutter-x-sm>*,.q-col-gutter-sm>*{padding-left:8px}.q-col-gutter-y-sm,.q-col-gutter-sm{margin-top:-8px}.q-col-gutter-y-sm>*,.q-col-gutter-sm>*{padding-top:8px}.q-gutter-x-md,.q-gutter-md{margin-left:-16px}.q-gutter-x-md>*,.q-gutter-md>*{margin-left:16px}.q-gutter-y-md,.q-gutter-md{margin-top:-16px}.q-gutter-y-md>*,.q-gutter-md>*{margin-top:16px}.q-col-gutter-x-md,.q-col-gutter-md{margin-left:-16px}.q-col-gutter-x-md>*,.q-col-gutter-md>*{padding-left:16px}.q-col-gutter-y-md,.q-col-gutter-md{margin-top:-16px}.q-col-gutter-y-md>*,.q-col-gutter-md>*{padding-top:16px}.q-gutter-x-lg,.q-gutter-lg{margin-left:-24px}.q-gutter-x-lg>*,.q-gutter-lg>*{margin-left:24px}.q-gutter-y-lg,.q-gutter-lg{margin-top:-24px}.q-gutter-y-lg>*,.q-gutter-lg>*{margin-top:24px}.q-col-gutter-x-lg,.q-col-gutter-lg{margin-left:-24px}.q-col-gutter-x-lg>*,.q-col-gutter-lg>*{padding-left:24px}.q-col-gutter-y-lg,.q-col-gutter-lg{margin-top:-24px}.q-col-gutter-y-lg>*,.q-col-gutter-lg>*{padding-top:24px}.q-gutter-x-xl,.q-gutter-xl{margin-left:-48px}.q-gutter-x-xl>*,.q-gutter-xl>*{margin-left:48px}.q-gutter-y-xl,.q-gutter-xl{margin-top:-48px}.q-gutter-y-xl>*,.q-gutter-xl>*{margin-top:48px}.q-col-gutter-x-xl,.q-col-gutter-xl{margin-left:-48px}.q-col-gutter-x-xl>*,.q-col-gutter-xl>*{padding-left:48px}.q-col-gutter-y-xl,.q-col-gutter-xl{margin-top:-48px}.q-col-gutter-y-xl>*,.q-col-gutter-xl>*{padding-top:48px}@media (min-width: 0){.row>.col,.flex>.col,.row>.col-auto,.flex>.col-auto,.row>.col-grow,.flex>.col-grow,.row>.col-shrink,.flex>.col-shrink,.row>.col-xs,.flex>.col-xs,.row>.col-xs-auto,.row>.col-12,.row>.col-xs-12,.row>.col-11,.row>.col-xs-11,.row>.col-10,.row>.col-xs-10,.row>.col-9,.row>.col-xs-9,.row>.col-8,.row>.col-xs-8,.row>.col-7,.row>.col-xs-7,.row>.col-6,.row>.col-xs-6,.row>.col-5,.row>.col-xs-5,.row>.col-4,.row>.col-xs-4,.row>.col-3,.row>.col-xs-3,.row>.col-2,.row>.col-xs-2,.row>.col-1,.row>.col-xs-1,.row>.col-0,.row>.col-xs-0,.flex>.col-xs-auto,.flex>.col-12,.flex>.col-xs-12,.flex>.col-11,.flex>.col-xs-11,.flex>.col-10,.flex>.col-xs-10,.flex>.col-9,.flex>.col-xs-9,.flex>.col-8,.flex>.col-xs-8,.flex>.col-7,.flex>.col-xs-7,.flex>.col-6,.flex>.col-xs-6,.flex>.col-5,.flex>.col-xs-5,.flex>.col-4,.flex>.col-xs-4,.flex>.col-3,.flex>.col-xs-3,.flex>.col-2,.flex>.col-xs-2,.flex>.col-1,.flex>.col-xs-1,.flex>.col-0,.flex>.col-xs-0,.row>.col-xs-grow,.flex>.col-xs-grow,.row>.col-xs-shrink,.flex>.col-xs-shrink{width:auto;min-width:0;max-width:100%}.column>.col,.flex>.col,.column>.col-auto,.flex>.col-auto,.column>.col-grow,.flex>.col-grow,.column>.col-shrink,.flex>.col-shrink,.column>.col-xs,.flex>.col-xs,.column>.col-xs-auto,.column>.col-12,.column>.col-xs-12,.column>.col-11,.column>.col-xs-11,.column>.col-10,.column>.col-xs-10,.column>.col-9,.column>.col-xs-9,.column>.col-8,.column>.col-xs-8,.column>.col-7,.column>.col-xs-7,.column>.col-6,.column>.col-xs-6,.column>.col-5,.column>.col-xs-5,.column>.col-4,.column>.col-xs-4,.column>.col-3,.column>.col-xs-3,.column>.col-2,.column>.col-xs-2,.column>.col-1,.column>.col-xs-1,.column>.col-0,.column>.col-xs-0,.flex>.col-xs-auto,.flex>.col-12,.flex>.col-xs-12,.flex>.col-11,.flex>.col-xs-11,.flex>.col-10,.flex>.col-xs-10,.flex>.col-9,.flex>.col-xs-9,.flex>.col-8,.flex>.col-xs-8,.flex>.col-7,.flex>.col-xs-7,.flex>.col-6,.flex>.col-xs-6,.flex>.col-5,.flex>.col-xs-5,.flex>.col-4,.flex>.col-xs-4,.flex>.col-3,.flex>.col-xs-3,.flex>.col-2,.flex>.col-xs-2,.flex>.col-1,.flex>.col-xs-1,.flex>.col-0,.flex>.col-xs-0,.column>.col-xs-grow,.flex>.col-xs-grow,.column>.col-xs-shrink,.flex>.col-xs-shrink{height:auto;min-height:0;max-height:100%}.col,.col-xs{flex:10000 1 0%}.col-auto,.col-xs-auto,.col-12,.col-xs-12,.col-11,.col-xs-11,.col-10,.col-xs-10,.col-9,.col-xs-9,.col-8,.col-xs-8,.col-7,.col-xs-7,.col-6,.col-xs-6,.col-5,.col-xs-5,.col-4,.col-xs-4,.col-3,.col-xs-3,.col-2,.col-xs-2,.col-1,.col-xs-1,.col-0,.col-xs-0{flex:0 0 auto}.col-grow,.col-xs-grow{flex:1 0 auto}.col-shrink,.col-xs-shrink{flex:0 1 auto}.row>.col-0,.row>.col-xs-0{height:auto;width:0%}.row>.offset-0,.row>.offset-xs-0{margin-left:0%}.column>.col-0,.column>.col-xs-0{height:0%;width:auto}.row>.col-1,.row>.col-xs-1{height:auto;width:8.3333%}.row>.offset-1,.row>.offset-xs-1{margin-left:8.3333%}.column>.col-1,.column>.col-xs-1{height:8.3333%;width:auto}.row>.col-2,.row>.col-xs-2{height:auto;width:16.6667%}.row>.offset-2,.row>.offset-xs-2{margin-left:16.6667%}.column>.col-2,.column>.col-xs-2{height:16.6667%;width:auto}.row>.col-3,.row>.col-xs-3{height:auto;width:25%}.row>.offset-3,.row>.offset-xs-3{margin-left:25%}.column>.col-3,.column>.col-xs-3{height:25%;width:auto}.row>.col-4,.row>.col-xs-4{height:auto;width:33.3333%}.row>.offset-4,.row>.offset-xs-4{margin-left:33.3333%}.column>.col-4,.column>.col-xs-4{height:33.3333%;width:auto}.row>.col-5,.row>.col-xs-5{height:auto;width:41.6667%}.row>.offset-5,.row>.offset-xs-5{margin-left:41.6667%}.column>.col-5,.column>.col-xs-5{height:41.6667%;width:auto}.row>.col-6,.row>.col-xs-6{height:auto;width:50%}.row>.offset-6,.row>.offset-xs-6{margin-left:50%}.column>.col-6,.column>.col-xs-6{height:50%;width:auto}.row>.col-7,.row>.col-xs-7{height:auto;width:58.3333%}.row>.offset-7,.row>.offset-xs-7{margin-left:58.3333%}.column>.col-7,.column>.col-xs-7{height:58.3333%;width:auto}.row>.col-8,.row>.col-xs-8{height:auto;width:66.6667%}.row>.offset-8,.row>.offset-xs-8{margin-left:66.6667%}.column>.col-8,.column>.col-xs-8{height:66.6667%;width:auto}.row>.col-9,.row>.col-xs-9{height:auto;width:75%}.row>.offset-9,.row>.offset-xs-9{margin-left:75%}.column>.col-9,.column>.col-xs-9{height:75%;width:auto}.row>.col-10,.row>.col-xs-10{height:auto;width:83.3333%}.row>.offset-10,.row>.offset-xs-10{margin-left:83.3333%}.column>.col-10,.column>.col-xs-10{height:83.3333%;width:auto}.row>.col-11,.row>.col-xs-11{height:auto;width:91.6667%}.row>.offset-11,.row>.offset-xs-11{margin-left:91.6667%}.column>.col-11,.column>.col-xs-11{height:91.6667%;width:auto}.row>.col-12,.row>.col-xs-12{height:auto;width:100%}.row>.offset-12,.row>.offset-xs-12{margin-left:100%}.column>.col-12,.column>.col-xs-12{height:100%;width:auto}.row>.col-all{height:auto;flex:0 0 100%}}@media (min-width: 600px){.row>.col-sm,.flex>.col-sm,.row>.col-sm-auto,.row>.col-sm-12,.row>.col-sm-11,.row>.col-sm-10,.row>.col-sm-9,.row>.col-sm-8,.row>.col-sm-7,.row>.col-sm-6,.row>.col-sm-5,.row>.col-sm-4,.row>.col-sm-3,.row>.col-sm-2,.row>.col-sm-1,.row>.col-sm-0,.flex>.col-sm-auto,.flex>.col-sm-12,.flex>.col-sm-11,.flex>.col-sm-10,.flex>.col-sm-9,.flex>.col-sm-8,.flex>.col-sm-7,.flex>.col-sm-6,.flex>.col-sm-5,.flex>.col-sm-4,.flex>.col-sm-3,.flex>.col-sm-2,.flex>.col-sm-1,.flex>.col-sm-0,.row>.col-sm-grow,.flex>.col-sm-grow,.row>.col-sm-shrink,.flex>.col-sm-shrink{width:auto;min-width:0;max-width:100%}.column>.col-sm,.flex>.col-sm,.column>.col-sm-auto,.column>.col-sm-12,.column>.col-sm-11,.column>.col-sm-10,.column>.col-sm-9,.column>.col-sm-8,.column>.col-sm-7,.column>.col-sm-6,.column>.col-sm-5,.column>.col-sm-4,.column>.col-sm-3,.column>.col-sm-2,.column>.col-sm-1,.column>.col-sm-0,.flex>.col-sm-auto,.flex>.col-sm-12,.flex>.col-sm-11,.flex>.col-sm-10,.flex>.col-sm-9,.flex>.col-sm-8,.flex>.col-sm-7,.flex>.col-sm-6,.flex>.col-sm-5,.flex>.col-sm-4,.flex>.col-sm-3,.flex>.col-sm-2,.flex>.col-sm-1,.flex>.col-sm-0,.column>.col-sm-grow,.flex>.col-sm-grow,.column>.col-sm-shrink,.flex>.col-sm-shrink{height:auto;min-height:0;max-height:100%}.col-sm{flex:10000 1 0%}.col-sm-auto,.col-sm-12,.col-sm-11,.col-sm-10,.col-sm-9,.col-sm-8,.col-sm-7,.col-sm-6,.col-sm-5,.col-sm-4,.col-sm-3,.col-sm-2,.col-sm-1,.col-sm-0{flex:0 0 auto}.col-sm-grow{flex:1 0 auto}.col-sm-shrink{flex:0 1 auto}.row>.col-sm-0{height:auto;width:0%}.row>.offset-sm-0{margin-left:0%}.column>.col-sm-0{height:0%;width:auto}.row>.col-sm-1{height:auto;width:8.3333%}.row>.offset-sm-1{margin-left:8.3333%}.column>.col-sm-1{height:8.3333%;width:auto}.row>.col-sm-2{height:auto;width:16.6667%}.row>.offset-sm-2{margin-left:16.6667%}.column>.col-sm-2{height:16.6667%;width:auto}.row>.col-sm-3{height:auto;width:25%}.row>.offset-sm-3{margin-left:25%}.column>.col-sm-3{height:25%;width:auto}.row>.col-sm-4{height:auto;width:33.3333%}.row>.offset-sm-4{margin-left:33.3333%}.column>.col-sm-4{height:33.3333%;width:auto}.row>.col-sm-5{height:auto;width:41.6667%}.row>.offset-sm-5{margin-left:41.6667%}.column>.col-sm-5{height:41.6667%;width:auto}.row>.col-sm-6{height:auto;width:50%}.row>.offset-sm-6{margin-left:50%}.column>.col-sm-6{height:50%;width:auto}.row>.col-sm-7{height:auto;width:58.3333%}.row>.offset-sm-7{margin-left:58.3333%}.column>.col-sm-7{height:58.3333%;width:auto}.row>.col-sm-8{height:auto;width:66.6667%}.row>.offset-sm-8{margin-left:66.6667%}.column>.col-sm-8{height:66.6667%;width:auto}.row>.col-sm-9{height:auto;width:75%}.row>.offset-sm-9{margin-left:75%}.column>.col-sm-9{height:75%;width:auto}.row>.col-sm-10{height:auto;width:83.3333%}.row>.offset-sm-10{margin-left:83.3333%}.column>.col-sm-10{height:83.3333%;width:auto}.row>.col-sm-11{height:auto;width:91.6667%}.row>.offset-sm-11{margin-left:91.6667%}.column>.col-sm-11{height:91.6667%;width:auto}.row>.col-sm-12{height:auto;width:100%}.row>.offset-sm-12{margin-left:100%}.column>.col-sm-12{height:100%;width:auto}}@media (min-width: 1024px){.row>.col-md,.flex>.col-md,.row>.col-md-auto,.row>.col-md-12,.row>.col-md-11,.row>.col-md-10,.row>.col-md-9,.row>.col-md-8,.row>.col-md-7,.row>.col-md-6,.row>.col-md-5,.row>.col-md-4,.row>.col-md-3,.row>.col-md-2,.row>.col-md-1,.row>.col-md-0,.flex>.col-md-auto,.flex>.col-md-12,.flex>.col-md-11,.flex>.col-md-10,.flex>.col-md-9,.flex>.col-md-8,.flex>.col-md-7,.flex>.col-md-6,.flex>.col-md-5,.flex>.col-md-4,.flex>.col-md-3,.flex>.col-md-2,.flex>.col-md-1,.flex>.col-md-0,.row>.col-md-grow,.flex>.col-md-grow,.row>.col-md-shrink,.flex>.col-md-shrink{width:auto;min-width:0;max-width:100%}.column>.col-md,.flex>.col-md,.column>.col-md-auto,.column>.col-md-12,.column>.col-md-11,.column>.col-md-10,.column>.col-md-9,.column>.col-md-8,.column>.col-md-7,.column>.col-md-6,.column>.col-md-5,.column>.col-md-4,.column>.col-md-3,.column>.col-md-2,.column>.col-md-1,.column>.col-md-0,.flex>.col-md-auto,.flex>.col-md-12,.flex>.col-md-11,.flex>.col-md-10,.flex>.col-md-9,.flex>.col-md-8,.flex>.col-md-7,.flex>.col-md-6,.flex>.col-md-5,.flex>.col-md-4,.flex>.col-md-3,.flex>.col-md-2,.flex>.col-md-1,.flex>.col-md-0,.column>.col-md-grow,.flex>.col-md-grow,.column>.col-md-shrink,.flex>.col-md-shrink{height:auto;min-height:0;max-height:100%}.col-md{flex:10000 1 0%}.col-md-auto,.col-md-12,.col-md-11,.col-md-10,.col-md-9,.col-md-8,.col-md-7,.col-md-6,.col-md-5,.col-md-4,.col-md-3,.col-md-2,.col-md-1,.col-md-0{flex:0 0 auto}.col-md-grow{flex:1 0 auto}.col-md-shrink{flex:0 1 auto}.row>.col-md-0{height:auto;width:0%}.row>.offset-md-0{margin-left:0%}.column>.col-md-0{height:0%;width:auto}.row>.col-md-1{height:auto;width:8.3333%}.row>.offset-md-1{margin-left:8.3333%}.column>.col-md-1{height:8.3333%;width:auto}.row>.col-md-2{height:auto;width:16.6667%}.row>.offset-md-2{margin-left:16.6667%}.column>.col-md-2{height:16.6667%;width:auto}.row>.col-md-3{height:auto;width:25%}.row>.offset-md-3{margin-left:25%}.column>.col-md-3{height:25%;width:auto}.row>.col-md-4{height:auto;width:33.3333%}.row>.offset-md-4{margin-left:33.3333%}.column>.col-md-4{height:33.3333%;width:auto}.row>.col-md-5{height:auto;width:41.6667%}.row>.offset-md-5{margin-left:41.6667%}.column>.col-md-5{height:41.6667%;width:auto}.row>.col-md-6{height:auto;width:50%}.row>.offset-md-6{margin-left:50%}.column>.col-md-6{height:50%;width:auto}.row>.col-md-7{height:auto;width:58.3333%}.row>.offset-md-7{margin-left:58.3333%}.column>.col-md-7{height:58.3333%;width:auto}.row>.col-md-8{height:auto;width:66.6667%}.row>.offset-md-8{margin-left:66.6667%}.column>.col-md-8{height:66.6667%;width:auto}.row>.col-md-9{height:auto;width:75%}.row>.offset-md-9{margin-left:75%}.column>.col-md-9{height:75%;width:auto}.row>.col-md-10{height:auto;width:83.3333%}.row>.offset-md-10{margin-left:83.3333%}.column>.col-md-10{height:83.3333%;width:auto}.row>.col-md-11{height:auto;width:91.6667%}.row>.offset-md-11{margin-left:91.6667%}.column>.col-md-11{height:91.6667%;width:auto}.row>.col-md-12{height:auto;width:100%}.row>.offset-md-12{margin-left:100%}.column>.col-md-12{height:100%;width:auto}}@media (min-width: 1440px){.row>.col-lg,.flex>.col-lg,.row>.col-lg-auto,.row>.col-lg-12,.row>.col-lg-11,.row>.col-lg-10,.row>.col-lg-9,.row>.col-lg-8,.row>.col-lg-7,.row>.col-lg-6,.row>.col-lg-5,.row>.col-lg-4,.row>.col-lg-3,.row>.col-lg-2,.row>.col-lg-1,.row>.col-lg-0,.flex>.col-lg-auto,.flex>.col-lg-12,.flex>.col-lg-11,.flex>.col-lg-10,.flex>.col-lg-9,.flex>.col-lg-8,.flex>.col-lg-7,.flex>.col-lg-6,.flex>.col-lg-5,.flex>.col-lg-4,.flex>.col-lg-3,.flex>.col-lg-2,.flex>.col-lg-1,.flex>.col-lg-0,.row>.col-lg-grow,.flex>.col-lg-grow,.row>.col-lg-shrink,.flex>.col-lg-shrink{width:auto;min-width:0;max-width:100%}.column>.col-lg,.flex>.col-lg,.column>.col-lg-auto,.column>.col-lg-12,.column>.col-lg-11,.column>.col-lg-10,.column>.col-lg-9,.column>.col-lg-8,.column>.col-lg-7,.column>.col-lg-6,.column>.col-lg-5,.column>.col-lg-4,.column>.col-lg-3,.column>.col-lg-2,.column>.col-lg-1,.column>.col-lg-0,.flex>.col-lg-auto,.flex>.col-lg-12,.flex>.col-lg-11,.flex>.col-lg-10,.flex>.col-lg-9,.flex>.col-lg-8,.flex>.col-lg-7,.flex>.col-lg-6,.flex>.col-lg-5,.flex>.col-lg-4,.flex>.col-lg-3,.flex>.col-lg-2,.flex>.col-lg-1,.flex>.col-lg-0,.column>.col-lg-grow,.flex>.col-lg-grow,.column>.col-lg-shrink,.flex>.col-lg-shrink{height:auto;min-height:0;max-height:100%}.col-lg{flex:10000 1 0%}.col-lg-auto,.col-lg-12,.col-lg-11,.col-lg-10,.col-lg-9,.col-lg-8,.col-lg-7,.col-lg-6,.col-lg-5,.col-lg-4,.col-lg-3,.col-lg-2,.col-lg-1,.col-lg-0{flex:0 0 auto}.col-lg-grow{flex:1 0 auto}.col-lg-shrink{flex:0 1 auto}.row>.col-lg-0{height:auto;width:0%}.row>.offset-lg-0{margin-left:0%}.column>.col-lg-0{height:0%;width:auto}.row>.col-lg-1{height:auto;width:8.3333%}.row>.offset-lg-1{margin-left:8.3333%}.column>.col-lg-1{height:8.3333%;width:auto}.row>.col-lg-2{height:auto;width:16.6667%}.row>.offset-lg-2{margin-left:16.6667%}.column>.col-lg-2{height:16.6667%;width:auto}.row>.col-lg-3{height:auto;width:25%}.row>.offset-lg-3{margin-left:25%}.column>.col-lg-3{height:25%;width:auto}.row>.col-lg-4{height:auto;width:33.3333%}.row>.offset-lg-4{margin-left:33.3333%}.column>.col-lg-4{height:33.3333%;width:auto}.row>.col-lg-5{height:auto;width:41.6667%}.row>.offset-lg-5{margin-left:41.6667%}.column>.col-lg-5{height:41.6667%;width:auto}.row>.col-lg-6{height:auto;width:50%}.row>.offset-lg-6{margin-left:50%}.column>.col-lg-6{height:50%;width:auto}.row>.col-lg-7{height:auto;width:58.3333%}.row>.offset-lg-7{margin-left:58.3333%}.column>.col-lg-7{height:58.3333%;width:auto}.row>.col-lg-8{height:auto;width:66.6667%}.row>.offset-lg-8{margin-left:66.6667%}.column>.col-lg-8{height:66.6667%;width:auto}.row>.col-lg-9{height:auto;width:75%}.row>.offset-lg-9{margin-left:75%}.column>.col-lg-9{height:75%;width:auto}.row>.col-lg-10{height:auto;width:83.3333%}.row>.offset-lg-10{margin-left:83.3333%}.column>.col-lg-10{height:83.3333%;width:auto}.row>.col-lg-11{height:auto;width:91.6667%}.row>.offset-lg-11{margin-left:91.6667%}.column>.col-lg-11{height:91.6667%;width:auto}.row>.col-lg-12{height:auto;width:100%}.row>.offset-lg-12{margin-left:100%}.column>.col-lg-12{height:100%;width:auto}}@media (min-width: 1920px){.row>.col-xl,.flex>.col-xl,.row>.col-xl-auto,.row>.col-xl-12,.row>.col-xl-11,.row>.col-xl-10,.row>.col-xl-9,.row>.col-xl-8,.row>.col-xl-7,.row>.col-xl-6,.row>.col-xl-5,.row>.col-xl-4,.row>.col-xl-3,.row>.col-xl-2,.row>.col-xl-1,.row>.col-xl-0,.flex>.col-xl-auto,.flex>.col-xl-12,.flex>.col-xl-11,.flex>.col-xl-10,.flex>.col-xl-9,.flex>.col-xl-8,.flex>.col-xl-7,.flex>.col-xl-6,.flex>.col-xl-5,.flex>.col-xl-4,.flex>.col-xl-3,.flex>.col-xl-2,.flex>.col-xl-1,.flex>.col-xl-0,.row>.col-xl-grow,.flex>.col-xl-grow,.row>.col-xl-shrink,.flex>.col-xl-shrink{width:auto;min-width:0;max-width:100%}.column>.col-xl,.flex>.col-xl,.column>.col-xl-auto,.column>.col-xl-12,.column>.col-xl-11,.column>.col-xl-10,.column>.col-xl-9,.column>.col-xl-8,.column>.col-xl-7,.column>.col-xl-6,.column>.col-xl-5,.column>.col-xl-4,.column>.col-xl-3,.column>.col-xl-2,.column>.col-xl-1,.column>.col-xl-0,.flex>.col-xl-auto,.flex>.col-xl-12,.flex>.col-xl-11,.flex>.col-xl-10,.flex>.col-xl-9,.flex>.col-xl-8,.flex>.col-xl-7,.flex>.col-xl-6,.flex>.col-xl-5,.flex>.col-xl-4,.flex>.col-xl-3,.flex>.col-xl-2,.flex>.col-xl-1,.flex>.col-xl-0,.column>.col-xl-grow,.flex>.col-xl-grow,.column>.col-xl-shrink,.flex>.col-xl-shrink{height:auto;min-height:0;max-height:100%}.col-xl{flex:10000 1 0%}.col-xl-auto,.col-xl-12,.col-xl-11,.col-xl-10,.col-xl-9,.col-xl-8,.col-xl-7,.col-xl-6,.col-xl-5,.col-xl-4,.col-xl-3,.col-xl-2,.col-xl-1,.col-xl-0{flex:0 0 auto}.col-xl-grow{flex:1 0 auto}.col-xl-shrink{flex:0 1 auto}.row>.col-xl-0{height:auto;width:0%}.row>.offset-xl-0{margin-left:0%}.column>.col-xl-0{height:0%;width:auto}.row>.col-xl-1{height:auto;width:8.3333%}.row>.offset-xl-1{margin-left:8.3333%}.column>.col-xl-1{height:8.3333%;width:auto}.row>.col-xl-2{height:auto;width:16.6667%}.row>.offset-xl-2{margin-left:16.6667%}.column>.col-xl-2{height:16.6667%;width:auto}.row>.col-xl-3{height:auto;width:25%}.row>.offset-xl-3{margin-left:25%}.column>.col-xl-3{height:25%;width:auto}.row>.col-xl-4{height:auto;width:33.3333%}.row>.offset-xl-4{margin-left:33.3333%}.column>.col-xl-4{height:33.3333%;width:auto}.row>.col-xl-5{height:auto;width:41.6667%}.row>.offset-xl-5{margin-left:41.6667%}.column>.col-xl-5{height:41.6667%;width:auto}.row>.col-xl-6{height:auto;width:50%}.row>.offset-xl-6{margin-left:50%}.column>.col-xl-6{height:50%;width:auto}.row>.col-xl-7{height:auto;width:58.3333%}.row>.offset-xl-7{margin-left:58.3333%}.column>.col-xl-7{height:58.3333%;width:auto}.row>.col-xl-8{height:auto;width:66.6667%}.row>.offset-xl-8{margin-left:66.6667%}.column>.col-xl-8{height:66.6667%;width:auto}.row>.col-xl-9{height:auto;width:75%}.row>.offset-xl-9{margin-left:75%}.column>.col-xl-9{height:75%;width:auto}.row>.col-xl-10{height:auto;width:83.3333%}.row>.offset-xl-10{margin-left:83.3333%}.column>.col-xl-10{height:83.3333%;width:auto}.row>.col-xl-11{height:auto;width:91.6667%}.row>.offset-xl-11{margin-left:91.6667%}.column>.col-xl-11{height:91.6667%;width:auto}.row>.col-xl-12{height:auto;width:100%}.row>.offset-xl-12{margin-left:100%}.column>.col-xl-12{height:100%;width:auto}}.rounded-borders{border-radius:4px}.border-radius-inherit{border-radius:inherit}.no-transition{transition:none!important}.transition-0{transition:0s!important}.glossy{background-image:linear-gradient(to bottom,rgba(255,255,255,.3),rgba(255,255,255,0) 50%,rgba(0,0,0,.12) 51%,rgba(0,0,0,.04))!important}.q-placeholder::placeholder{color:inherit;opacity:.7}.q-body--fullscreen-mixin,.q-body--prevent-scroll{position:fixed!important}.q-body--force-scrollbar-x{overflow-x:scroll}.q-body--force-scrollbar-y{overflow-y:scroll}.q-no-input-spinner{-moz-appearance:textfield!important}.q-no-input-spinner::-webkit-outer-spin-button,.q-no-input-spinner::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.q-link{outline:0;text-decoration:none}.q-link--focusable:focus-visible{-webkit-text-decoration:underline dashed currentColor 1px;text-decoration:underline dashed currentColor 1px}body.electron .q-electron-drag{-webkit-user-select:none;-webkit-app-region:drag}body.electron .q-electron-drag .q-btn-item,body.electron .q-electron-drag--exception{-webkit-app-region:no-drag}img.responsive{max-width:100%;height:auto}.non-selectable{-webkit-user-select:none!important;user-select:none!important}.scroll,body.mobile .scroll--mobile{overflow:auto}.scroll,.scroll-x,.scroll-y{-webkit-overflow-scrolling:touch;will-change:scroll-position}.scroll-x{overflow-x:auto}.scroll-y{overflow-y:auto}.no-scroll{overflow:hidden!important}.no-pointer-events,.no-pointer-events--children,.no-pointer-events--children *{pointer-events:none!important}.all-pointer-events{pointer-events:all!important}.cursor-pointer{cursor:pointer!important}.cursor-not-allowed{cursor:not-allowed!important}.cursor-inherit{cursor:inherit!important}.cursor-none{cursor:none!important}[aria-busy=true]{cursor:progress}[aria-controls]{cursor:pointer}[aria-disabled]{cursor:default}.rotate-45{transform:rotate(45deg)}.rotate-90{transform:rotate(90deg)}.rotate-135{transform:rotate(135deg)}.rotate-180{transform:rotate(180deg)}.rotate-225{transform:rotate(225deg)}.rotate-270{transform:rotate(270deg)}.rotate-315{transform:rotate(315deg)}.flip-horizontal{transform:scaleX(-1)}.flip-vertical{transform:scaleY(-1)}.float-left{float:left}.float-right{float:right}.relative-position{position:relative}.fixed,.fixed-full,.fullscreen,.fixed-center,.fixed-bottom,.fixed-left,.fixed-right,.fixed-top,.fixed-top-left,.fixed-top-right,.fixed-bottom-left,.fixed-bottom-right{position:fixed}.absolute,.absolute-full,.absolute-center,.absolute-bottom,.absolute-left,.absolute-right,.absolute-top,.absolute-top-left,.absolute-top-right,.absolute-bottom-left,.absolute-bottom-right{position:absolute}.fixed-top,.absolute-top{top:0;left:0;right:0}.fixed-right,.absolute-right{top:0;right:0;bottom:0}.fixed-bottom,.absolute-bottom{right:0;bottom:0;left:0}.fixed-left,.absolute-left{top:0;bottom:0;left:0}.fixed-top-left,.absolute-top-left{top:0;left:0}.fixed-top-right,.absolute-top-right{top:0;right:0}.fixed-bottom-left,.absolute-bottom-left{bottom:0;left:0}.fixed-bottom-right,.absolute-bottom-right{bottom:0;right:0}.fullscreen{z-index:6000;border-radius:0!important;max-width:100vw;max-height:100vh}body.q-ios-padding .fullscreen{padding-top:20px!important;padding-top:env(safe-area-inset-top)!important;padding-bottom:env(safe-area-inset-bottom)!important}.absolute-full,.fullscreen,.fixed-full{top:0;right:0;bottom:0;left:0}.fixed-center,.absolute-center{top:50%;left:50%;transform:translate(-50%,-50%)}.vertical-top{vertical-align:top!important}.vertical-middle{vertical-align:middle!important}.vertical-bottom{vertical-align:bottom!important}.on-left{margin-right:12px}.on-right{margin-left:12px}.q-position-engine{margin-top:var(--q-pe-top, 0)!important;margin-left:var(--q-pe-left, 0)!important;will-change:auto;visibility:collapse}:root{--q-size-xs: 0;--q-size-sm: 600px;--q-size-md: 1024px;--q-size-lg: 1440px;--q-size-xl: 1920px}.fit{width:100%!important;height:100%!important}.full-height{height:100%!important}.full-width{width:100%!important;margin-left:0!important;margin-right:0!important}.window-height{margin-top:0!important;margin-bottom:0!important;height:100vh!important}.window-width{margin-left:0!important;margin-right:0!important;width:100vw!important}.block{display:block!important}.inline-block{display:inline-block!important}.q-pa-none{padding:0}.q-pl-none{padding-left:0}.q-pr-none{padding-right:0}.q-pt-none{padding-top:0}.q-pb-none{padding-bottom:0}.q-px-none{padding-left:0;padding-right:0}.q-py-none{padding-top:0;padding-bottom:0}.q-ma-none{margin:0}.q-ml-none{margin-left:0}.q-mr-none{margin-right:0}.q-mt-none{margin-top:0}.q-mb-none{margin-bottom:0}.q-mx-none{margin-left:0;margin-right:0}.q-my-none{margin-top:0;margin-bottom:0}.q-pa-xs{padding:4px}.q-pl-xs{padding-left:4px}.q-pr-xs{padding-right:4px}.q-pt-xs{padding-top:4px}.q-pb-xs{padding-bottom:4px}.q-px-xs{padding-left:4px;padding-right:4px}.q-py-xs{padding-top:4px;padding-bottom:4px}.q-ma-xs{margin:4px}.q-ml-xs{margin-left:4px}.q-mr-xs{margin-right:4px}.q-mt-xs{margin-top:4px}.q-mb-xs{margin-bottom:4px}.q-mx-xs{margin-left:4px;margin-right:4px}.q-my-xs{margin-top:4px;margin-bottom:4px}.q-pa-sm{padding:8px}.q-pl-sm{padding-left:8px}.q-pr-sm{padding-right:8px}.q-pt-sm{padding-top:8px}.q-pb-sm{padding-bottom:8px}.q-px-sm{padding-left:8px;padding-right:8px}.q-py-sm{padding-top:8px;padding-bottom:8px}.q-ma-sm{margin:8px}.q-ml-sm{margin-left:8px}.q-mr-sm{margin-right:8px}.q-mt-sm{margin-top:8px}.q-mb-sm{margin-bottom:8px}.q-mx-sm{margin-left:8px;margin-right:8px}.q-my-sm{margin-top:8px;margin-bottom:8px}.q-pa-md{padding:16px}.q-pl-md{padding-left:16px}.q-pr-md{padding-right:16px}.q-pt-md{padding-top:16px}.q-pb-md{padding-bottom:16px}.q-px-md{padding-left:16px;padding-right:16px}.q-py-md{padding-top:16px;padding-bottom:16px}.q-ma-md{margin:16px}.q-ml-md{margin-left:16px}.q-mr-md{margin-right:16px}.q-mt-md{margin-top:16px}.q-mb-md{margin-bottom:16px}.q-mx-md{margin-left:16px;margin-right:16px}.q-my-md{margin-top:16px;margin-bottom:16px}.q-pa-lg{padding:24px}.q-pl-lg{padding-left:24px}.q-pr-lg{padding-right:24px}.q-pt-lg{padding-top:24px}.q-pb-lg{padding-bottom:24px}.q-px-lg{padding-left:24px;padding-right:24px}.q-py-lg{padding-top:24px;padding-bottom:24px}.q-ma-lg{margin:24px}.q-ml-lg{margin-left:24px}.q-mr-lg{margin-right:24px}.q-mt-lg{margin-top:24px}.q-mb-lg{margin-bottom:24px}.q-mx-lg{margin-left:24px;margin-right:24px}.q-my-lg{margin-top:24px;margin-bottom:24px}.q-pa-xl{padding:48px}.q-pl-xl{padding-left:48px}.q-pr-xl{padding-right:48px}.q-pt-xl{padding-top:48px}.q-pb-xl{padding-bottom:48px}.q-px-xl{padding-left:48px;padding-right:48px}.q-py-xl{padding-top:48px;padding-bottom:48px}.q-ma-xl{margin:48px}.q-ml-xl{margin-left:48px}.q-mr-xl{margin-right:48px}.q-mt-xl{margin-top:48px}.q-mb-xl{margin-bottom:48px}.q-mx-xl{margin-left:48px;margin-right:48px}.q-my-xl{margin-top:48px;margin-bottom:48px}.q-mt-auto,.q-my-auto{margin-top:auto}.q-ml-auto{margin-left:auto}.q-mb-auto,.q-my-auto{margin-bottom:auto}.q-mr-auto{margin-right:auto}.q-mx-auto{margin-left:auto;margin-right:auto}.q-touch{-webkit-user-select:none;user-select:none;user-drag:none;-khtml-user-drag:none;-webkit-user-drag:none}.q-touch-x{touch-action:pan-x}.q-touch-y{touch-action:pan-y}:root{--q-transition-duration: .3s}.q-transition--slide-right-enter-active,.q-transition--slide-right-leave-active,.q-transition--slide-left-enter-active,.q-transition--slide-left-leave-active,.q-transition--slide-up-enter-active,.q-transition--slide-up-leave-active,.q-transition--slide-down-enter-active,.q-transition--slide-down-leave-active,.q-transition--jump-right-enter-active,.q-transition--jump-right-leave-active,.q-transition--jump-left-enter-active,.q-transition--jump-left-leave-active,.q-transition--jump-up-enter-active,.q-transition--jump-up-leave-active,.q-transition--jump-down-enter-active,.q-transition--jump-down-leave-active,.q-transition--fade-enter-active,.q-transition--fade-leave-active,.q-transition--scale-enter-active,.q-transition--scale-leave-active,.q-transition--rotate-enter-active,.q-transition--rotate-leave-active,.q-transition--flip-enter-active,.q-transition--flip-leave-active{--q-transition-duration: .3s;--q-transition-easing: cubic-bezier(.215,.61,.355,1)}.q-transition--slide-right-leave-active,.q-transition--slide-left-leave-active,.q-transition--slide-up-leave-active,.q-transition--slide-down-leave-active,.q-transition--jump-right-leave-active,.q-transition--jump-left-leave-active,.q-transition--jump-up-leave-active,.q-transition--jump-down-leave-active,.q-transition--fade-leave-active,.q-transition--scale-leave-active,.q-transition--rotate-leave-active,.q-transition--flip-leave-active{position:absolute}.q-transition--slide-right-enter-active,.q-transition--slide-right-leave-active,.q-transition--slide-left-enter-active,.q-transition--slide-left-leave-active,.q-transition--slide-up-enter-active,.q-transition--slide-up-leave-active,.q-transition--slide-down-enter-active,.q-transition--slide-down-leave-active{transition:transform var(--q-transition-duration) var(--q-transition-easing)}.q-transition--slide-right-enter-from{transform:translate3d(-100%,0,0)}.q-transition--slide-right-leave-to,.q-transition--slide-left-enter-from{transform:translate3d(100%,0,0)}.q-transition--slide-left-leave-to{transform:translate3d(-100%,0,0)}.q-transition--slide-up-enter-from{transform:translate3d(0,100%,0)}.q-transition--slide-up-leave-to,.q-transition--slide-down-enter-from{transform:translate3d(0,-100%,0)}.q-transition--slide-down-leave-to{transform:translate3d(0,100%,0)}.q-transition--jump-right-enter-active,.q-transition--jump-right-leave-active,.q-transition--jump-left-enter-active,.q-transition--jump-left-leave-active,.q-transition--jump-up-enter-active,.q-transition--jump-up-leave-active,.q-transition--jump-down-enter-active,.q-transition--jump-down-leave-active{transition:opacity var(--q-transition-duration),transform var(--q-transition-duration)}.q-transition--jump-right-enter-from,.q-transition--jump-right-leave-to,.q-transition--jump-left-enter-from,.q-transition--jump-left-leave-to,.q-transition--jump-up-enter-from,.q-transition--jump-up-leave-to,.q-transition--jump-down-enter-from,.q-transition--jump-down-leave-to{opacity:0}.q-transition--jump-right-enter-from{transform:translate3d(-15px,0,0)}.q-transition--jump-right-leave-to,.q-transition--jump-left-enter-from{transform:translate3d(15px,0,0)}.q-transition--jump-left-leave-to{transform:translate(-15px)}.q-transition--jump-up-enter-from{transform:translate3d(0,15px,0)}.q-transition--jump-up-leave-to,.q-transition--jump-down-enter-from{transform:translate3d(0,-15px,0)}.q-transition--jump-down-leave-to{transform:translate3d(0,15px,0)}.q-transition--fade-enter-active,.q-transition--fade-leave-active{transition:opacity var(--q-transition-duration) ease-out}.q-transition--fade-enter-from,.q-transition--fade-leave-to{opacity:0}.q-transition--scale-enter-active,.q-transition--scale-leave-active{transition:opacity var(--q-transition-duration),transform var(--q-transition-duration) var(--q-transition-easing)}.q-transition--scale-enter-from,.q-transition--scale-leave-to{opacity:0;transform:scale3d(0,0,1)}.q-transition--rotate-enter-active,.q-transition--rotate-leave-active{transition:opacity var(--q-transition-duration),transform var(--q-transition-duration) var(--q-transition-easing);transform-style:preserve-3d}.q-transition--rotate-enter-from,.q-transition--rotate-leave-to{opacity:0;transform:scale3d(0,0,1) rotate3d(0,0,1,90deg)}.q-transition--flip-right-enter-active,.q-transition--flip-right-leave-active,.q-transition--flip-left-enter-active,.q-transition--flip-left-leave-active,.q-transition--flip-up-enter-active,.q-transition--flip-up-leave-active,.q-transition--flip-down-enter-active,.q-transition--flip-down-leave-active{transition:transform var(--q-transition-duration);backface-visibility:hidden}.q-transition--flip-right-enter-to,.q-transition--flip-right-leave-from,.q-transition--flip-left-enter-to,.q-transition--flip-left-leave-from,.q-transition--flip-up-enter-to,.q-transition--flip-up-leave-from,.q-transition--flip-down-enter-to,.q-transition--flip-down-leave-from{transform:perspective(400px) rotate3d(1,1,0,0)}.q-transition--flip-right-enter-from{transform:perspective(400px) rotateY(-180deg)}.q-transition--flip-right-leave-to,.q-transition--flip-left-enter-from{transform:perspective(400px) rotateY(180deg)}.q-transition--flip-left-leave-to{transform:perspective(400px) rotateY(-180deg)}.q-transition--flip-up-enter-from{transform:perspective(400px) rotateX(-180deg)}.q-transition--flip-up-leave-to,.q-transition--flip-down-enter-from{transform:perspective(400px) rotateX(180deg)}.q-transition--flip-down-leave-to{transform:perspective(400px) rotateX(-180deg)}body{min-width:100px;min-height:100%;font-family:Roboto,-apple-system,Helvetica Neue,Helvetica,Arial,sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-smoothing:antialiased;line-height:1.5;font-size:14px}h1{font-size:6rem;font-weight:300;line-height:6rem;letter-spacing:-.01562em}h2{font-size:3.75rem;font-weight:300;line-height:3.75rem;letter-spacing:-.00833em}h3{font-size:3rem;font-weight:400;line-height:3.125rem;letter-spacing:normal}h4{font-size:2.125rem;font-weight:400;line-height:2.5rem;letter-spacing:.00735em}h5{font-size:1.5rem;font-weight:400;line-height:2rem;letter-spacing:normal}h6{font-size:1.25rem;font-weight:500;line-height:2rem;letter-spacing:.0125em}p{margin:0 0 16px}.text-h1{font-size:6rem;font-weight:300;line-height:6rem;letter-spacing:-.01562em}.text-h2{font-size:3.75rem;font-weight:300;line-height:3.75rem;letter-spacing:-.00833em}.text-h3{font-size:3rem;font-weight:400;line-height:3.125rem;letter-spacing:normal}.text-h4{font-size:2.125rem;font-weight:400;line-height:2.5rem;letter-spacing:.00735em}.text-h5{font-size:1.5rem;font-weight:400;line-height:2rem;letter-spacing:normal}.text-h6{font-size:1.25rem;font-weight:500;line-height:2rem;letter-spacing:.0125em}.text-subtitle1{font-size:1rem;font-weight:400;line-height:1.75rem;letter-spacing:.00937em}.text-subtitle2{font-size:.875rem;font-weight:500;line-height:1.375rem;letter-spacing:.00714em}.text-body1{font-size:1rem;font-weight:400;line-height:1.5rem;letter-spacing:.03125em}.text-body2{font-size:.875rem;font-weight:400;line-height:1.25rem;letter-spacing:.01786em}.text-overline{font-size:.75rem;font-weight:500;line-height:2rem;letter-spacing:.16667em}.text-caption{font-size:.75rem;font-weight:400;line-height:1.25rem;letter-spacing:.03333em}.text-uppercase{text-transform:uppercase}.text-lowercase{text-transform:lowercase}.text-capitalize{text-transform:capitalize}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-justify{text-align:justify;-webkit-hyphens:auto;hyphens:auto}.text-italic{font-style:italic}.text-bold{font-weight:700}.text-no-wrap{white-space:nowrap}.text-strike{text-decoration:line-through}.text-weight-thin{font-weight:100}.text-weight-light{font-weight:300}.text-weight-regular{font-weight:400}.text-weight-medium{font-weight:500}.text-weight-bold{font-weight:700}.text-weight-bolder{font-weight:900}small{font-size:80%}big{font-size:170%}sub{bottom:-.25em}sup{top:-.5em}.no-margin{margin:0!important}.no-padding{padding:0!important}.no-border{border:0!important}.no-border-radius{border-radius:0!important}.no-box-shadow{box-shadow:none!important}.no-outline{outline:0!important}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ellipsis-2-lines,.ellipsis-3-lines{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.ellipsis-2-lines{-webkit-line-clamp:2}.ellipsis-3-lines{-webkit-line-clamp:3}.readonly{cursor:default!important}.disabled,.disabled *,[disabled],[disabled] *{outline:0!important;cursor:not-allowed!important}.disabled,[disabled]{opacity:.6!important}.hidden{display:none!important}.invisible,.invisible *{visibility:hidden!important;transition:none!important;animation:none!important}.transparent{background:transparent!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-hidden-y{overflow-y:hidden!important}.hide-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.hide-scrollbar::-webkit-scrollbar{width:0;height:0;display:none}.dimmed:after,.light-dimmed:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0}.dimmed:after{background:rgba(0,0,0,.4)!important}.light-dimmed:after{background:rgba(255,255,255,.6)!important}.z-top{z-index:7000!important}.z-max{z-index:9998!important}body:not(.desktop) .desktop-only,body.desktop .desktop-hide{display:none!important}body:not(.mobile) .mobile-only,body.mobile .mobile-hide{display:none!important}body:not(.native-mobile) .native-mobile-only,body.native-mobile .native-mobile-hide{display:none!important}body:not(.cordova) .cordova-only,body.cordova .cordova-hide{display:none!important}body:not(.capacitor) .capacitor-only,body.capacitor .capacitor-hide{display:none!important}body:not(.electron) .electron-only,body.electron .electron-hide{display:none!important}body:not(.touch) .touch-only,body.touch .touch-hide{display:none!important}body:not(.within-iframe) .within-iframe-only,body.within-iframe .within-iframe-hide{display:none!important}body:not(.platform-ios) .platform-ios-only,body.platform-ios .platform-ios-hide{display:none!important}body:not(.platform-android) .platform-android-only,body.platform-android .platform-android-hide{display:none!important}@media all and (orientation: portrait){.orientation-landscape{display:none!important}}@media all and (orientation: landscape){.orientation-portrait{display:none!important}}@media screen{.print-only{display:none!important}}@media print{.print-hide{display:none!important}}@media (max-width: 599.98px){.xs-hide,.gt-xs,.sm,.gt-sm,.md,.gt-md,.lg,.gt-lg,.xl{display:none!important}}@media (min-width: 600px) and (max-width: 1023.98px){.sm-hide,.xs,.lt-sm,.gt-sm,.md,.gt-md,.lg,.gt-lg,.xl{display:none!important}}@media (min-width: 1024px) and (max-width: 1439.98px){.md-hide,.xs,.lt-sm,.sm,.lt-md,.gt-md,.lg,.gt-lg,.xl{display:none!important}}@media (min-width: 1440px) and (max-width: 1919.98px){.lg-hide,.xs,.lt-sm,.sm,.lt-md,.md,.lt-lg,.gt-lg,.xl{display:none!important}}@media (min-width: 1920px){.xl-hide,.xs,.lt-sm,.sm,.lt-md,.md,.lt-lg,.lg,.lt-xl{display:none!important}}.q-focus-helper,.q-focusable,.q-manual-focusable,.q-hoverable{outline:0}body.desktop .q-focus-helper{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;border-radius:inherit;opacity:0;transition:background-color .3s cubic-bezier(.25,.8,.5,1),opacity .4s cubic-bezier(.25,.8,.5,1)}body.desktop .q-focus-helper:before,body.desktop .q-focus-helper:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;border-radius:inherit;transition:background-color .3s cubic-bezier(.25,.8,.5,1),opacity .6s cubic-bezier(.25,.8,.5,1)}body.desktop .q-focus-helper:before{background:#000}body.desktop .q-focus-helper:after{background:#fff}body.desktop .q-focus-helper--rounded{border-radius:4px}body.desktop .q-focus-helper--round{border-radius:50%}body.desktop .q-focusable:focus>.q-focus-helper,body.desktop .q-manual-focusable--focused>.q-focus-helper,body.desktop .q-hoverable:hover>.q-focus-helper{background:currentColor;opacity:.15}body.desktop .q-focusable:focus>.q-focus-helper:before,body.desktop .q-manual-focusable--focused>.q-focus-helper:before,body.desktop .q-hoverable:hover>.q-focus-helper:before{opacity:.1}body.desktop .q-focusable:focus>.q-focus-helper:after,body.desktop .q-manual-focusable--focused>.q-focus-helper:after,body.desktop .q-hoverable:hover>.q-focus-helper:after{opacity:.4}body.desktop .q-focusable:focus>.q-focus-helper,body.desktop .q-manual-focusable--focused>.q-focus-helper{opacity:.22}body.body--dark{color:#fff;background:var(--q-dark-page)}.q-dark{color:#fff;background:var(--q-dark)}[data-theme=classic] .q-drawer--dark,body[data-theme=classic].body--dark,[data-theme=classic] .q-menu--dark{background:#1f2234!important}[data-theme=classic] .q-card--dark,[data-theme=classic] .q-stepper--dark{background:#333646!important}[data-theme=classic] .bg-primary{background:#673ab7!important}[data-theme=classic] .text-primary{color:#673ab7!important}[data-theme=classic] .bg-secondary{background:#9c27b0!important}[data-theme=classic] .text-secondary{color:#9c27b0!important}[data-theme=classic] .bg-dark{background:#1f2234!important}[data-theme=classic] .text-dark{color:#1f2234!important}[data-theme=classic] .bg-info{background:#333646!important}[data-theme=classic] .text-info{color:#333646!important}[data-theme=classic] .bg-marginal-bg{background:#1f2234!important}[data-theme=classic] .text-marginal-bg{color:#1f2234!important}[data-theme=classic] .bg-marginal-text{background:#fff!important}[data-theme=classic] .text-marginal-text{color:#fff!important}[data-theme=bitcoin] .q-drawer--dark,body[data-theme=bitcoin].body--dark,[data-theme=bitcoin] .q-menu--dark{background:#2d293b!important}[data-theme=bitcoin] .q-card--dark,[data-theme=bitcoin] .q-stepper--dark{background:#333646!important}[data-theme=bitcoin] .bg-primary{background:#ff9853!important}[data-theme=bitcoin] .text-primary{color:#ff9853!important}[data-theme=bitcoin] .bg-secondary{background:#ff7353!important}[data-theme=bitcoin] .text-secondary{color:#ff7353!important}[data-theme=bitcoin] .bg-dark{background:#2d293b!important}[data-theme=bitcoin] .text-dark{color:#2d293b!important}[data-theme=bitcoin] .bg-info{background:#333646!important}[data-theme=bitcoin] .text-info{color:#333646!important}[data-theme=bitcoin] .bg-marginal-bg{background:#2d293b!important}[data-theme=bitcoin] .text-marginal-bg{color:#2d293b!important}[data-theme=bitcoin] .bg-marginal-text{background:#fff!important}[data-theme=bitcoin] .text-marginal-text{color:#fff!important}[data-theme=freedom] .q-drawer--dark,body[data-theme=freedom].body--dark,[data-theme=freedom] .q-menu--dark{background:#0a0a0a!important}[data-theme=freedom] .q-card--dark,[data-theme=freedom] .q-stepper--dark{background:#1b1b1b!important}[data-theme=freedom] .bg-primary{background:#e22156!important}[data-theme=freedom] .text-primary{color:#e22156!important}[data-theme=freedom] .bg-secondary{background:#b91a45!important}[data-theme=freedom] .text-secondary{color:#b91a45!important}[data-theme=freedom] .bg-dark{background:#0a0a0a!important}[data-theme=freedom] .text-dark{color:#0a0a0a!important}[data-theme=freedom] .bg-info{background:#1b1b1b!important}[data-theme=freedom] .text-info{color:#1b1b1b!important}[data-theme=freedom] .bg-marginal-bg{background:#2d293b!important}[data-theme=freedom] .text-marginal-bg{color:#2d293b!important}[data-theme=freedom] .bg-marginal-text{background:#fff!important}[data-theme=freedom] .text-marginal-text{color:#fff!important}[data-theme=cyber] .q-drawer--dark,body[data-theme=cyber].body--dark,[data-theme=cyber] .q-menu--dark{background:#0a0a0a!important}[data-theme=cyber] .q-card--dark,[data-theme=cyber] .q-stepper--dark{background:#1b1b1b!important}[data-theme=cyber] .bg-primary{background:#7cb342!important}[data-theme=cyber] .text-primary{color:#7cb342!important}[data-theme=cyber] .bg-secondary{background:#558b2f!important}[data-theme=cyber] .text-secondary{color:#558b2f!important}[data-theme=cyber] .bg-dark{background:#0a0a0a!important}[data-theme=cyber] .text-dark{color:#0a0a0a!important}[data-theme=cyber] .bg-info{background:#1b1b1b!important}[data-theme=cyber] .text-info{color:#1b1b1b!important}[data-theme=cyber] .bg-marginal-bg{background:#2d293b!important}[data-theme=cyber] .text-marginal-bg{color:#2d293b!important}[data-theme=cyber] .bg-marginal-text{background:#fff!important}[data-theme=cyber] .text-marginal-text{color:#fff!important}[data-theme=mint] .q-drawer--dark,body[data-theme=mint].body--dark,[data-theme=mint] .q-menu--dark{background:#1f342b!important}[data-theme=mint] .q-card--dark,[data-theme=mint] .q-stepper--dark{background:#334642!important}[data-theme=mint] .bg-primary{background:#3ab77d!important}[data-theme=mint] .text-primary{color:#3ab77d!important}[data-theme=mint] .bg-secondary{background:#27b065!important}[data-theme=mint] .text-secondary{color:#27b065!important}[data-theme=mint] .bg-dark{background:#1f342b!important}[data-theme=mint] .text-dark{color:#1f342b!important}[data-theme=mint] .bg-info{background:#334642!important}[data-theme=mint] .text-info{color:#334642!important}[data-theme=mint] .bg-marginal-bg{background:#1f342b!important}[data-theme=mint] .text-marginal-bg{color:#1f342b!important}[data-theme=mint] .bg-marginal-text{background:#fff!important}[data-theme=mint] .text-marginal-text{color:#fff!important}[data-theme=autumn] .q-drawer--dark,body[data-theme=autumn].body--dark,[data-theme=autumn] .q-menu--dark{background:#34291f!important}[data-theme=autumn] .q-card--dark,[data-theme=autumn] .q-stepper--dark{background:#463f33!important}[data-theme=autumn] .bg-primary{background:#b7763a!important}[data-theme=autumn] .text-primary{color:#b7763a!important}[data-theme=autumn] .bg-secondary{background:#b07927!important}[data-theme=autumn] .text-secondary{color:#b07927!important}[data-theme=autumn] .bg-dark{background:#34291f!important}[data-theme=autumn] .text-dark{color:#34291f!important}[data-theme=autumn] .bg-info{background:#463f33!important}[data-theme=autumn] .text-info{color:#463f33!important}[data-theme=autumn] .bg-marginal-bg{background:#342a1f!important}[data-theme=autumn] .text-marginal-bg{color:#342a1f!important}[data-theme=autumn] .bg-marginal-text{background:rgb(255,255,255)!important}[data-theme=autumn] .text-marginal-text{color:#fff!important}[data-theme=flamingo] .q-drawer--dark,body[data-theme=flamingo].body--dark,[data-theme=flamingo] .q-menu--dark{background:#2f032f!important}[data-theme=flamingo] .q-card--dark,[data-theme=flamingo] .q-stepper--dark{background:#bc23bc!important}[data-theme=flamingo] .bg-primary{background:#ff00ff!important}[data-theme=flamingo] .text-primary{color:#f0f!important}[data-theme=flamingo] .bg-secondary{background:#fda3fd!important}[data-theme=flamingo] .text-secondary{color:#fda3fd!important}[data-theme=flamingo] .bg-dark{background:#2f032f!important}[data-theme=flamingo] .text-dark{color:#2f032f!important}[data-theme=flamingo] .bg-info{background:#bc23bc!important}[data-theme=flamingo] .text-info{color:#bc23bc!important}[data-theme=flamingo] .bg-marginal-bg{background:#311231!important}[data-theme=flamingo] .text-marginal-bg{color:#311231!important}[data-theme=flamingo] .bg-marginal-text{background:rgb(255,255,255)!important}[data-theme=flamingo] .text-marginal-text{color:#fff!important}[data-theme=monochrome] .q-drawer--dark,body[data-theme=monochrome].body--dark,[data-theme=monochrome] .q-menu--dark{background:#000!important}[data-theme=monochrome] .q-card--dark,[data-theme=monochrome] .q-stepper--dark{background:rgb(39,39,39)!important}[data-theme=monochrome] .bg-primary{background:#494949!important}[data-theme=monochrome] .text-primary{color:#494949!important}[data-theme=monochrome] .bg-secondary{background:#6b6b6b!important}[data-theme=monochrome] .text-secondary{color:#6b6b6b!important}[data-theme=monochrome] .bg-dark{background:#000!important}[data-theme=monochrome] .text-dark{color:#000!important}[data-theme=monochrome] .bg-info{background:rgb(39,39,39)!important}[data-theme=monochrome] .text-info{color:#272727!important}[data-theme=monochrome] .bg-marginal-bg{background:#000!important}[data-theme=monochrome] .text-marginal-bg{color:#000!important}[data-theme=monochrome] .bg-marginal-text{background:rgb(255,255,255)!important}[data-theme=monochrome] .text-marginal-text{color:#fff!important}[data-theme=freedom] .q-drawer--dark,[data-theme=freedom] .q-header,[data-theme=cyber] .q-drawer--dark,[data-theme=cyber] .q-header{background:#0a0a0a!important}[data-theme=salvador] .q-drawer--dark{background:#242424!important}[data-theme=salvador] .q-header{background:#0f47af!important}[v-cloak]{display:none}body.body--dark .q-table--dark{background:transparent}body.body--dark .q-field--error .text-negative,body.body--dark .q-field--error .q-field__messages{color:#ff0!important}.lnbits-drawer__q-list .q-item{padding-top:5px!important;padding-bottom:5px!important;border-top-right-radius:3px;border-bottom-right-radius:3px}.lnbits-drawer__q-list .q-item.q-item--active{color:inherit;font-weight:700}.lnbits__dialog-card{width:500px}.q-table--dense th:first-child,.q-table--dense td:first-child,.q-table--dense .q-table__bottom{padding-left:6px!important}.q-table--dense th:last-child,.q-table--dense td:last-child,.q-table--dense .q-table__bottom{padding-right:6px!important}a.inherit{color:inherit;text-decoration:none}video{border-radius:3px}@font-face{font-family:Material Icons;font-style:normal;font-weight:400;src:url(/static/fonts/material-icons-v50.woff2) format("woff2")}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-moz-font-feature-settings:"liga";-moz-osx-font-smoothing:grayscale}.q-rating__icon{font-size:1em}.text-wrap{word-break:break-word}.q-card code{overflow-wrap:break-word} +@font-face { + font-family: Roboto; + font-style: normal; + font-weight: 100; + src: url(/assets/KFOkCnqEu92Fr1MmgVxIIzQ.34e9582c.woff) format("woff"); +} +@font-face { + font-family: Roboto; + font-style: normal; + font-weight: 300; + src: url(/assets/KFOlCnqEu92Fr1MmSU5fBBc-.bf14c7d7.woff) format("woff"); +} +@font-face { + font-family: Roboto; + font-style: normal; + font-weight: 400; + src: url(/assets/KFOmCnqEu92Fr1Mu4mxM.f2abf7fb.woff) format("woff"); +} +@font-face { + font-family: Roboto; + font-style: normal; + font-weight: 500; + src: url(/assets/KFOlCnqEu92Fr1MmEU9fBBc-.9ce7f3ac.woff) format("woff"); +} +@font-face { + font-family: Roboto; + font-style: normal; + font-weight: 700; + src: url(/assets/KFOlCnqEu92Fr1MmWUlfBBc-.e0fd57c0.woff) format("woff"); +} +@font-face { + font-family: Roboto; + font-style: normal; + font-weight: 900; + src: url(/assets/KFOlCnqEu92Fr1MmYUtfBBc-.f6537e32.woff) format("woff"); +} +@font-face { + font-family: Material Icons; + font-style: normal; + font-weight: 400; + font-display: block; + src: url(/assets/flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ.4a4dbc62.woff2) + format("woff2"), + url(/assets/flUhRq6tzZclQEJ-Vdg-IuiaDsNa.fd84f88b.woff) format("woff"); +} +.material-icons { + font-family: Material Icons; + font-weight: 400; + font-style: normal; + display: inline-block; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + -webkit-font-smoothing: antialiased; + text-rendering: optimizeLegibility; + -moz-osx-font-smoothing: grayscale; + font-feature-settings: "liga"; +} +*, +*:before, +*:after { + box-sizing: inherit; + -webkit-tap-highlight-color: transparent; + -moz-tap-highlight-color: transparent; +} +html, +body, +#q-app { + width: 100%; + direction: ltr; +} +body.platform-ios.within-iframe, +body.platform-ios.within-iframe #q-app { + width: 100px; + min-width: 100%; +} +html, +body { + margin: 0; + box-sizing: border-box; +} +article, +aside, +details, +figcaption, +figure, +footer, +header, +main, +menu, +nav, +section, +summary { + display: block; +} +abbr[title] { + border-bottom: none; + text-decoration: underline; + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; +} +img { + border-style: none; +} +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} +hr { + box-sizing: content-box; + height: 0; + overflow: visible; +} +button, +input, +optgroup, +select, +textarea { + font: inherit; + font-family: inherit; + margin: 0; +} +optgroup { + font-weight: 700; +} +button, +input, +select { + overflow: visible; + text-transform: none; +} +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} +button:-moz-focusring, +input:-moz-focusring { + outline: 1px dotted ButtonText; +} +fieldset { + padding: 0.35em 0.75em 0.625em; +} +legend { + box-sizing: border-box; + color: inherit; + display: table; + max-width: 100%; + padding: 0; + white-space: normal; +} +progress { + vertical-align: baseline; +} +textarea { + overflow: auto; +} +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} +.q-icon { + line-height: 1; + width: 1em; + height: 1em; + flex-shrink: 0; + letter-spacing: normal; + text-transform: none; + white-space: nowrap; + word-wrap: normal; + direction: ltr; + text-align: center; + position: relative; + box-sizing: content-box; + fill: currentColor; +} +.q-icon:before, +.q-icon:after { + width: 100%; + height: 100%; + display: flex !important; + align-items: center; + justify-content: center; +} +.q-icon > svg, +.q-icon > img { + width: 100%; + height: 100%; +} +.q-icon, +.material-icons, +.material-icons-outlined, +.material-icons-round, +.material-icons-sharp, +.material-symbols-outlined, +.material-symbols-rounded, +.material-symbols-sharp { + -webkit-user-select: none; + user-select: none; + cursor: inherit; + font-size: inherit; + display: inline-flex; + align-items: center; + justify-content: center; + vertical-align: middle; +} +.q-panel { + height: 100%; + width: 100%; +} +.q-panel > div { + height: 100%; + width: 100%; +} +.q-panel-parent { + overflow: hidden; + position: relative; +} +.q-loading-bar { + position: fixed; + z-index: 9998; + transition: transform 0.5s cubic-bezier(0, 0, 0.2, 1), opacity 0.5s; + background: #f44336; +} +.q-loading-bar--top { + left: 0; + right: 0; + top: 0; + width: 100%; +} +.q-loading-bar--bottom { + left: 0; + right: 0; + bottom: 0; + width: 100%; +} +.q-loading-bar--right { + top: 0; + bottom: 0; + right: 0; + height: 100%; +} +.q-loading-bar--left { + top: 0; + bottom: 0; + left: 0; + height: 100%; +} +.q-avatar { + position: relative; + vertical-align: middle; + display: inline-block; + border-radius: 50%; + font-size: 48px; + height: 1em; + width: 1em; +} +.q-avatar__content { + font-size: 0.5em; + line-height: 0.5em; +} +.q-avatar__content, +.q-avatar img:not(.q-icon):not(.q-img__image) { + border-radius: inherit; + height: inherit; + width: inherit; +} +.q-avatar--square { + border-radius: 0; +} +.q-badge { + background-color: var(--q-primary); + color: #fff; + padding: 2px 6px; + border-radius: 4px; + font-size: 12px; + line-height: 12px; + min-height: 12px; + font-weight: 400; + vertical-align: baseline; +} +.q-badge--single-line { + white-space: nowrap; +} +.q-badge--multi-line { + word-break: break-all; + word-wrap: break-word; +} +.q-badge--floating { + position: absolute; + top: -4px; + right: -3px; + cursor: inherit; +} +.q-badge--transparent { + opacity: 0.8; +} +.q-badge--outline { + background-color: transparent; + border: 1px solid currentColor; +} +.q-badge--rounded { + border-radius: 1em; +} +.q-banner { + min-height: 54px; + padding: 8px 16px; + background: #fff; +} +.q-banner--top-padding { + padding-top: 14px; +} +.q-banner__avatar { + min-width: 1px !important; +} +.q-banner__avatar > .q-avatar { + font-size: 46px; +} +.q-banner__avatar > .q-icon { + font-size: 40px; +} +.q-banner__avatar:not(:empty) + .q-banner__content { + padding-left: 16px; +} +.q-banner__actions.col-auto { + padding-left: 16px; +} +.q-banner__actions.col-all .q-btn-item { + margin: 4px 0 0 4px; +} +.q-banner--dense { + min-height: 32px; + padding: 8px; +} +.q-banner--dense.q-banner--top-padding { + padding-top: 12px; +} +.q-banner--dense .q-banner__avatar > .q-avatar, +.q-banner--dense .q-banner__avatar > .q-icon { + font-size: 28px; +} +.q-banner--dense .q-banner__avatar:not(:empty) + .q-banner__content { + padding-left: 8px; +} +.q-banner--dense .q-banner__actions.col-auto { + padding-left: 8px; +} +.q-bar { + background: rgba(0, 0, 0, 0.2); +} +.q-bar > .q-icon { + margin-left: 2px; +} +.q-bar > div, +.q-bar > div + .q-icon { + margin-left: 8px; +} +.q-bar > .q-btn { + margin-left: 2px; +} +.q-bar > .q-icon:first-child, +.q-bar > .q-btn:first-child, +.q-bar > div:first-child { + margin-left: 0; +} +.q-bar--standard { + padding: 0 12px; + height: 32px; + font-size: 18px; +} +.q-bar--standard > div { + font-size: 16px; +} +.q-bar--standard .q-btn { + font-size: 11px; +} +.q-bar--dense { + padding: 0 8px; + height: 24px; + font-size: 14px; +} +.q-bar--dense .q-btn { + font-size: 8px; +} +.q-bar--dark { + background: rgba(255, 255, 255, 0.15); +} +.q-breadcrumbs__el { + color: inherit; +} +.q-breadcrumbs__el-icon { + font-size: 125%; +} +.q-breadcrumbs__el-icon--with-label { + margin-right: 8px; +} +[dir="rtl"] .q-breadcrumbs__separator .q-icon { + transform: scaleX(-1); +} +.q-btn { + display: inline-flex; + flex-direction: column; + align-items: stretch; + position: relative; + outline: 0; + border: 0; + vertical-align: middle; + font-size: 14px; + line-height: 1.715em; + text-decoration: none; + color: inherit; + background: transparent; + font-weight: 500; + text-transform: uppercase; + text-align: center; + width: auto; + height: auto; + cursor: default; + padding: 4px 16px; + min-height: 2.572em; +} +.q-btn .q-icon, +.q-btn .q-spinner { + font-size: 1.715em; +} +.q-btn.disabled { + opacity: 0.7 !important; +} +.q-btn:before { + content: ""; + display: block; + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; + border-radius: inherit; + box-shadow: 0 1px 5px #0003, 0 2px 2px #00000024, 0 3px 1px -2px #0000001f; +} +.q-btn--actionable { + cursor: pointer; +} +.q-btn--actionable.q-btn--standard:before { + transition: box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.5, 1); +} +.q-btn--actionable.q-btn--standard:active:before, +.q-btn--actionable.q-btn--standard.q-btn--active:before { + box-shadow: 0 3px 5px -1px #0003, 0 5px 8px #00000024, 0 1px 14px #0000001f; +} +.q-btn--no-uppercase { + text-transform: none; +} +.q-btn--rectangle { + border-radius: 3px; +} +.q-btn--outline { + background: transparent !important; +} +.q-btn--outline:before { + border: 1px solid currentColor; +} +.q-btn--push { + border-radius: 7px; +} +.q-btn--push:before { + border-bottom: 3px solid rgba(0, 0, 0, 0.15); +} +.q-btn--push.q-btn--actionable { + transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.5, 1); +} +.q-btn--push.q-btn--actionable:before { + transition: border-width 0.3s cubic-bezier(0.25, 0.8, 0.5, 1); +} +.q-btn--push.q-btn--actionable:active, +.q-btn--push.q-btn--actionable.q-btn--active { + transform: translateY(2px); +} +.q-btn--push.q-btn--actionable:active:before, +.q-btn--push.q-btn--actionable.q-btn--active:before { + border-bottom-width: 0; +} +.q-btn--rounded { + border-radius: 28px; +} +.q-btn--round { + border-radius: 50%; + padding: 0; + min-width: 3em; + min-height: 3em; +} +.q-btn--square { + border-radius: 0; +} +.q-btn--flat:before, +.q-btn--outline:before, +.q-btn--unelevated:before { + box-shadow: none; +} +.q-btn--dense { + padding: 0.285em; + min-height: 2em; +} +.q-btn--dense.q-btn--round { + padding: 0; + min-height: 2.4em; + min-width: 2.4em; +} +.q-btn--dense .on-left { + margin-right: 6px; +} +.q-btn--dense .on-right { + margin-left: 6px; +} +.q-btn--fab .q-icon, +.q-btn--fab-mini .q-icon { + font-size: 24px; +} +.q-btn--fab { + padding: 16px; + min-height: 56px; + min-width: 56px; +} +.q-btn--fab .q-icon { + margin: auto; +} +.q-btn--fab-mini { + padding: 8px; + min-height: 40px; + min-width: 40px; +} +.q-btn__content { + transition: opacity 0.3s; + z-index: 0; +} +.q-btn__content--hidden { + opacity: 0; + pointer-events: none; +} +.q-btn__progress { + border-radius: inherit; + z-index: 0; +} +.q-btn__progress-indicator { + z-index: -1; + transform: translate(-100%); + background: rgba(255, 255, 255, 0.25); +} +.q-btn__progress--dark .q-btn__progress-indicator { + background: rgba(0, 0, 0, 0.2); +} +.q-btn--flat .q-btn__progress-indicator, +.q-btn--outline .q-btn__progress-indicator { + opacity: 0.2; + background: currentColor; +} +.q-btn-dropdown--split .q-btn-dropdown__arrow-container { + padding: 0 4px; +} +.q-btn-dropdown--split .q-btn-dropdown__arrow-container.q-btn--outline { + border-left: 1px solid currentColor; +} +.q-btn-dropdown--split .q-btn-dropdown__arrow-container:not(.q-btn--outline) { + border-left: 1px solid rgba(255, 255, 255, 0.3); +} +.q-btn-dropdown--simple * + .q-btn-dropdown__arrow { + margin-left: 8px; +} +.q-btn-dropdown__arrow { + transition: transform 0.28s; +} +.q-btn-dropdown--current { + flex-grow: 1; +} +.q-btn-group { + border-radius: 3px; + box-shadow: 0 1px 5px #0003, 0 2px 2px #00000024, 0 3px 1px -2px #0000001f; + vertical-align: middle; +} +.q-btn-group > .q-btn-item { + border-radius: inherit; + align-self: stretch; +} +.q-btn-group > .q-btn-item:before { + box-shadow: none; +} +.q-btn-group > .q-btn-item .q-badge--floating { + right: 0; +} +.q-btn-group > .q-btn-group { + box-shadow: none; +} +.q-btn-group > .q-btn-group:first-child > .q-btn:first-child { + border-top-left-radius: inherit; + border-bottom-left-radius: inherit; +} +.q-btn-group > .q-btn-group:last-child > .q-btn:last-child { + border-top-right-radius: inherit; + border-bottom-right-radius: inherit; +} +.q-btn-group > .q-btn-group:not(:first-child) > .q-btn:first-child:before { + border-left: 0; +} +.q-btn-group > .q-btn-group:not(:last-child) > .q-btn:last-child:before { + border-right: 0; +} +.q-btn-group > .q-btn-item:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.q-btn-group > .q-btn-item:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.q-btn-group > .q-btn-item.q-btn--standard:before { + z-index: -1; +} +.q-btn-group--push { + border-radius: 7px; +} +.q-btn-group--push > .q-btn--push.q-btn--actionable { + transform: none; +} +.q-btn-group--push > .q-btn--push.q-btn--actionable .q-btn__content { + transition: margin-top 0.3s cubic-bezier(0.25, 0.8, 0.5, 1), + margin-bottom 0.3s cubic-bezier(0.25, 0.8, 0.5, 1); +} +.q-btn-group--push > .q-btn--push.q-btn--actionable:active .q-btn__content, +.q-btn-group--push + > .q-btn--push.q-btn--actionable.q-btn--active + .q-btn__content { + margin-top: 2px; + margin-bottom: -2px; +} +.q-btn-group--rounded { + border-radius: 28px; +} +.q-btn-group--square { + border-radius: 0; +} +.q-btn-group--flat, +.q-btn-group--outline, +.q-btn-group--unelevated { + box-shadow: none; +} +.q-btn-group--outline > .q-separator { + display: none; +} +.q-btn-group--outline > .q-btn-item + .q-btn-item:before { + border-left: 0; +} +.q-btn-group--outline > .q-btn-item:not(:last-child):before { + border-right: 0; +} +.q-btn-group--stretch { + align-self: stretch; + border-radius: 0; +} +.q-btn-group--glossy > .q-btn-item { + background-image: linear-gradient( + to bottom, + rgba(255, 255, 255, 0.3), + rgba(255, 255, 255, 0) 50%, + rgba(0, 0, 0, 0.12) 51%, + rgba(0, 0, 0, 0.04) + ) !important; +} +.q-btn-group--spread > .q-btn-group { + display: flex !important; +} +.q-btn-group--spread > .q-btn-item, +.q-btn-group--spread + > .q-btn-group + > .q-btn-item:not(.q-btn-dropdown__arrow-container) { + width: auto; + min-width: 0; + max-width: 100%; + flex: 10000 1 0%; +} +.q-btn-toggle { + position: relative; +} +.q-card { + box-shadow: 0 1px 5px #0003, 0 2px 2px #00000024, 0 3px 1px -2px #0000001f; + border-radius: 4px; + vertical-align: top; + background: #fff; + position: relative; +} +.q-card > div:first-child, +.q-card > img:first-child { + border-top: 0; + border-top-left-radius: inherit; + border-top-right-radius: inherit; +} +.q-card > div:last-child, +.q-card > img:last-child { + border-bottom: 0; + border-bottom-left-radius: inherit; + border-bottom-right-radius: inherit; +} +.q-card > div:not(:first-child), +.q-card > img:not(:first-child) { + border-top-left-radius: 0; + border-top-right-radius: 0; +} +.q-card > div:not(:last-child), +.q-card > img:not(:last-child) { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; +} +.q-card > div { + border-left: 0; + border-right: 0; + box-shadow: none; +} +.q-card--bordered { + border: 1px solid rgba(0, 0, 0, 0.12); +} +.q-card--dark { + border-color: #ffffff47; + box-shadow: 0 1px 5px #fff3, 0 2px 2px #ffffff24, 0 3px 1px -2px #ffffff1f; +} +.q-card__section { + position: relative; +} +.q-card__section--vert { + padding: 16px; +} +.q-card__section--horiz > div:first-child, +.q-card__section--horiz > img:first-child { + border-top-left-radius: inherit; + border-bottom-left-radius: inherit; +} +.q-card__section--horiz > div:last-child, +.q-card__section--horiz > img:last-child { + border-top-right-radius: inherit; + border-bottom-right-radius: inherit; +} +.q-card__section--horiz > div:not(:first-child), +.q-card__section--horiz > img:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.q-card__section--horiz > div:not(:last-child), +.q-card__section--horiz > img:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.q-card__section--horiz > div { + border-top: 0; + border-bottom: 0; + box-shadow: none; +} +.q-card__actions { + padding: 8px; + align-items: center; +} +.q-card__actions .q-btn--rectangle { + padding: 0 8px; +} +.q-card__actions--horiz > .q-btn-item + .q-btn-item, +.q-card__actions--horiz > .q-btn-group + .q-btn-item, +.q-card__actions--horiz > .q-btn-item + .q-btn-group { + margin-left: 8px; +} +.q-card__actions--vert > .q-btn-item.q-btn--round { + align-self: center; +} +.q-card__actions--vert > .q-btn-item + .q-btn-item, +.q-card__actions--vert > .q-btn-group + .q-btn-item, +.q-card__actions--vert > .q-btn-item + .q-btn-group { + margin-top: 4px; +} +.q-card__actions--vert > .q-btn-group > .q-btn-item { + flex-grow: 1; +} +.q-card > img { + display: block; + width: 100%; + max-width: 100%; + border: 0; +} +.q-carousel { + background-color: #fff; + height: 400px; +} +.q-carousel__slide { + min-height: 100%; + background-size: cover; + background-position: 50%; +} +.q-carousel__slide, +.q-carousel .q-carousel--padding { + padding: 16px; +} +.q-carousel__slides-container { + height: 100%; +} +.q-carousel__control { + color: #fff; +} +.q-carousel__arrow { + pointer-events: none; +} +.q-carousel__arrow .q-icon { + font-size: 28px; +} +.q-carousel__arrow .q-btn { + pointer-events: all; +} +.q-carousel__prev-arrow--horizontal, +.q-carousel__next-arrow--horizontal { + top: 16px; + bottom: 16px; +} +.q-carousel__prev-arrow--horizontal { + left: 16px; +} +.q-carousel__next-arrow--horizontal { + right: 16px; +} +.q-carousel__prev-arrow--vertical, +.q-carousel__next-arrow--vertical { + left: 16px; + right: 16px; +} +.q-carousel__prev-arrow--vertical { + top: 16px; +} +.q-carousel__next-arrow--vertical { + bottom: 16px; +} +.q-carousel__navigation--top, +.q-carousel__navigation--bottom { + left: 16px; + right: 16px; + overflow-x: auto; + overflow-y: hidden; +} +.q-carousel__navigation--top { + top: 16px; +} +.q-carousel__navigation--bottom { + bottom: 16px; +} +.q-carousel__navigation--left, +.q-carousel__navigation--right { + top: 16px; + bottom: 16px; + overflow-x: hidden; + overflow-y: auto; +} +.q-carousel__navigation--left > .q-carousel__navigation-inner, +.q-carousel__navigation--right > .q-carousel__navigation-inner { + flex-direction: column; +} +.q-carousel__navigation--left { + left: 16px; +} +.q-carousel__navigation--right { + right: 16px; +} +.q-carousel__navigation-inner { + flex: 1 1 auto; +} +.q-carousel__navigation .q-btn { + margin: 6px 4px; + padding: 5px; +} +.q-carousel__navigation-icon--inactive { + opacity: 0.7; +} +.q-carousel .q-carousel__thumbnail { + margin: 2px; + height: 50px; + width: auto; + display: inline-block; + cursor: pointer; + border: 1px solid transparent; + border-radius: 4px; + vertical-align: middle; + opacity: 0.7; + transition: opacity 0.3s; +} +.q-carousel .q-carousel__thumbnail:hover, +.q-carousel .q-carousel__thumbnail--active { + opacity: 1; +} +.q-carousel .q-carousel__thumbnail--active { + border-color: currentColor; + cursor: default; +} +.q-carousel--navigation-top.q-carousel--with-padding .q-carousel__slide, +.q-carousel--navigation-top .q-carousel--padding, +.q-carousel--arrows-vertical.q-carousel--with-padding .q-carousel__slide, +.q-carousel--arrows-vertical .q-carousel--padding { + padding-top: 60px; +} +.q-carousel--navigation-bottom.q-carousel--with-padding .q-carousel__slide, +.q-carousel--navigation-bottom .q-carousel--padding, +.q-carousel--arrows-vertical.q-carousel--with-padding .q-carousel__slide, +.q-carousel--arrows-vertical .q-carousel--padding { + padding-bottom: 60px; +} +.q-carousel--navigation-left.q-carousel--with-padding .q-carousel__slide, +.q-carousel--navigation-left .q-carousel--padding, +.q-carousel--arrows-horizontal.q-carousel--with-padding .q-carousel__slide, +.q-carousel--arrows-horizontal .q-carousel--padding { + padding-left: 60px; +} +.q-carousel--navigation-right.q-carousel--with-padding .q-carousel__slide, +.q-carousel--navigation-right .q-carousel--padding, +.q-carousel--arrows-horizontal.q-carousel--with-padding .q-carousel__slide, +.q-carousel--arrows-horizontal .q-carousel--padding { + padding-right: 60px; +} +.q-carousel.fullscreen { + height: 100%; +} +.q-message-name, +.q-message-stamp, +.q-message-label { + font-size: small; +} +.q-message-label { + margin: 24px 0; + text-align: center; +} +.q-message-stamp { + color: inherit; + margin-top: 4px; + opacity: 0.6; + display: none; +} +.q-message-avatar { + border-radius: 50%; + width: 48px; + height: 48px; + min-width: 48px; +} +.q-message { + margin-bottom: 8px; +} +.q-message:first-child .q-message-label { + margin-top: 0; +} +.q-message-avatar--received { + margin-right: 8px; +} +.q-message-text--received { + color: #81c784; + border-radius: 4px 4px 4px 0; +} +.q-message-text--received:last-child:before { + right: 100%; + border-right: 0 solid transparent; + border-left: 8px solid transparent; + border-bottom: 8px solid currentColor; +} +.q-message-text-content--received { + color: #000; +} +.q-message-name--sent { + text-align: right; +} +.q-message-avatar--sent { + margin-left: 8px; +} +.q-message-container--sent { + flex-direction: row-reverse; +} +.q-message-text--sent { + color: #e0e0e0; + border-radius: 4px 4px 0; +} +.q-message-text--sent:last-child:before { + left: 100%; + border-left: 0 solid transparent; + border-right: 8px solid transparent; + border-bottom: 8px solid currentColor; +} +.q-message-text-content--sent { + color: #000; +} +.q-message-text { + background: currentColor; + padding: 8px; + line-height: 1.2; + word-break: break-word; + position: relative; +} +.q-message-text + .q-message-text { + margin-top: 3px; +} +.q-message-text:last-child { + min-height: 48px; +} +.q-message-text:last-child .q-message-stamp { + display: block; +} +.q-message-text:last-child:before { + content: ""; + position: absolute; + bottom: 0; + width: 0; + height: 0; +} +.q-checkbox { + vertical-align: middle; +} +.q-checkbox__native { + width: 1px; + height: 1px; +} +.q-checkbox__bg, +.q-checkbox__icon-container { + -webkit-user-select: none; + user-select: none; +} +.q-checkbox__bg { + top: 25%; + left: 25%; + width: 50%; + height: 50%; + border: 2px solid currentColor; + border-radius: 2px; + transition: background 0.22s cubic-bezier(0, 0, 0.2, 1) 0ms; + -webkit-print-color-adjust: exact; +} +.q-checkbox__icon { + color: currentColor; + font-size: 0.5em; +} +.q-checkbox__svg { + color: #fff; +} +.q-checkbox__truthy { + stroke: currentColor; + stroke-width: 3.12px; + stroke-dashoffset: 29.78334; + stroke-dasharray: 29.78334; +} +.q-checkbox__indet { + fill: currentColor; + transform-origin: 50% 50%; + transform: rotate(-280deg) scale(0); +} +.q-checkbox__inner { + font-size: 40px; + width: 1em; + min-width: 1em; + height: 1em; + outline: 0; + border-radius: 50%; + color: #0000008a; +} +.q-checkbox__inner--truthy, +.q-checkbox__inner--indet { + color: var(--q-primary); +} +.q-checkbox__inner--truthy .q-checkbox__bg, +.q-checkbox__inner--indet .q-checkbox__bg { + background: currentColor; +} +.q-checkbox__inner--truthy path { + stroke-dashoffset: 0; + transition: stroke-dashoffset 0.18s cubic-bezier(0.4, 0, 0.6, 1) 0ms; +} +.q-checkbox__inner--indet .q-checkbox__indet { + transform: rotate(0) scale(1); + transition: transform 0.22s cubic-bezier(0, 0, 0.2, 1) 0ms; +} +.q-checkbox.disabled { + opacity: 0.75 !important; +} +.q-checkbox--dark .q-checkbox__inner { + color: #ffffffb3; +} +.q-checkbox--dark .q-checkbox__inner:before { + opacity: 0.32 !important; +} +.q-checkbox--dark .q-checkbox__inner--truthy, +.q-checkbox--dark .q-checkbox__inner--indet { + color: var(--q-primary); +} +.q-checkbox--dense .q-checkbox__inner { + width: 0.5em; + min-width: 0.5em; + height: 0.5em; +} +.q-checkbox--dense .q-checkbox__bg { + left: 5%; + top: 5%; + width: 90%; + height: 90%; +} +.q-checkbox--dense .q-checkbox__label { + padding-left: 0.5em; +} +.q-checkbox--dense.reverse .q-checkbox__label { + padding-left: 0; + padding-right: 0.5em; +} +body.desktop .q-checkbox:not(.disabled) .q-checkbox__inner:before { + content: ""; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + border-radius: 50%; + background: currentColor; + opacity: 0.12; + transform: scale3d(0, 0, 1); + transition: transform 0.22s cubic-bezier(0, 0, 0.2, 1); +} +body.desktop .q-checkbox:not(.disabled):focus .q-checkbox__inner:before, +body.desktop .q-checkbox:not(.disabled):hover .q-checkbox__inner:before { + transform: scaleZ(1); +} +body.desktop .q-checkbox--dense:not(.disabled):focus .q-checkbox__inner:before, +body.desktop .q-checkbox--dense:not(.disabled):hover .q-checkbox__inner:before { + transform: scale3d(1.4, 1.4, 1); +} +.q-chip { + vertical-align: middle; + border-radius: 16px; + outline: 0; + position: relative; + height: 2em; + max-width: 100%; + margin: 4px; + background: #e0e0e0; + color: #000000de; + font-size: 14px; + padding: 0.5em 0.9em; +} +.q-chip--colored .q-chip__icon, +.q-chip--dark .q-chip__icon { + color: inherit; +} +.q-chip--outline { + background: transparent !important; + border: 1px solid currentColor; +} +.q-chip .q-avatar { + font-size: 2em; + margin-left: -0.45em; + margin-right: 0.2em; + border-radius: 16px; +} +.q-chip--selected .q-avatar { + display: none; +} +.q-chip__icon { + color: #0000008a; + font-size: 1.5em; + margin: -0.2em; +} +.q-chip__icon--left { + margin-right: 0.2em; +} +.q-chip__icon--right { + margin-left: 0.2em; +} +.q-chip__icon--remove { + margin-left: 0.1em; + margin-right: -0.5em; + opacity: 0.6; + outline: 0; +} +.q-chip__icon--remove:hover, +.q-chip__icon--remove:focus { + opacity: 1; +} +.q-chip__content { + white-space: nowrap; +} +.q-chip--dense { + border-radius: 12px; + padding: 0 0.4em; + height: 1.5em; +} +.q-chip--dense .q-avatar { + font-size: 1.5em; + margin-left: -0.27em; + margin-right: 0.1em; + border-radius: 12px; +} +.q-chip--dense .q-chip__icon { + font-size: 1.25em; +} +.q-chip--dense .q-chip__icon--left { + margin-right: 0.195em; +} +.q-chip--dense .q-chip__icon--remove { + margin-right: -0.25em; +} +.q-chip--square { + border-radius: 4px; +} +.q-chip--square .q-avatar { + border-radius: 3px 0 0 3px; +} +body.desktop .q-chip--clickable:focus { + box-shadow: 0 1px 3px #0003, 0 1px 1px #00000024, 0 2px 1px -1px #0000001f; +} +body.desktop.body--dark .q-chip--clickable:focus { + box-shadow: 0 1px 3px #fff3, 0 1px 1px #ffffff24, 0 2px 1px -1px #ffffff1f; +} +.q-circular-progress { + display: inline-block; + position: relative; + vertical-align: middle; + width: 1em; + height: 1em; + line-height: 1; +} +.q-circular-progress.q-focusable { + border-radius: 50%; +} +.q-circular-progress__svg { + width: 100%; + height: 100%; +} +.q-circular-progress__text { + font-size: 0.25em; +} +.q-circular-progress--indeterminate .q-circular-progress__svg { + transform-origin: 50% 50%; + animation: q-spin 2s linear infinite; +} +.q-circular-progress--indeterminate .q-circular-progress__circle { + stroke-dasharray: 1 400; + stroke-dashoffset: 0; + animation: q-circular-progress-circle 1.5s ease-in-out infinite; +} +@keyframes q-circular-progress-circle { + 0% { + stroke-dasharray: 1, 400; + stroke-dashoffset: 0; + } + 50% { + stroke-dasharray: 400, 400; + stroke-dashoffset: -100; + } + to { + stroke-dasharray: 400, 400; + stroke-dashoffset: -300; + } +} +.q-color-picker { + overflow: hidden; + background: #fff; + max-width: 350px; + vertical-align: top; + min-width: 180px; + border-radius: 4px; + box-shadow: 0 1px 5px #0003, 0 2px 2px #00000024, 0 3px 1px -2px #0000001f; +} +.q-color-picker .q-tab { + padding: 0 !important; +} +.q-color-picker--bordered { + border: 1px solid rgba(0, 0, 0, 0.12); +} +.q-color-picker__header-tabs { + height: 32px; +} +.q-color-picker__header input { + line-height: 24px; + border: 0; +} +.q-color-picker__header .q-tab { + min-height: 32px !important; + height: 32px !important; +} +.q-color-picker__header .q-tab--inactive { + background: linear-gradient( + to top, + rgba(0, 0, 0, 0.3) 0%, + rgba(0, 0, 0, 0.15) 25%, + rgba(0, 0, 0, 0.1) + ); +} +.q-color-picker__error-icon { + bottom: 2px; + right: 2px; + font-size: 24px; + opacity: 0; + transition: opacity 0.3s ease-in; +} +.q-color-picker__header-content { + position: relative; + background: #fff; +} +.q-color-picker__header-content--light { + color: #000; +} +.q-color-picker__header-content--dark { + color: #fff; +} +.q-color-picker__header-content--dark .q-tab--inactive:before { + content: ""; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + background: rgba(255, 255, 255, 0.2); +} +.q-color-picker__header-banner { + height: 36px; +} +.q-color-picker__header-bg { + background: #fff; + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAH0lEQVQoU2NkYGAwZkAFZ5G5jPRRgOYEVDeB3EBjBQBOZwTVugIGyAAAAABJRU5ErkJggg==) !important; +} +.q-color-picker__footer { + height: 36px; +} +.q-color-picker__footer .q-tab { + min-height: 36px !important; + height: 36px !important; +} +.q-color-picker__footer .q-tab--inactive { + background: linear-gradient( + to bottom, + rgba(0, 0, 0, 0.3) 0%, + rgba(0, 0, 0, 0.15) 25%, + rgba(0, 0, 0, 0.1) + ); +} +.q-color-picker__spectrum { + width: 100%; + height: 100%; +} +.q-color-picker__spectrum-tab { + padding: 0 !important; +} +.q-color-picker__spectrum-white { + background: linear-gradient(to right, #fff, rgba(255, 255, 255, 0)); +} +.q-color-picker__spectrum-black { + background: linear-gradient(to top, #000, rgba(0, 0, 0, 0)); +} +.q-color-picker__spectrum-circle { + width: 10px; + height: 10px; + box-shadow: 0 0 0 1.5px #fff, inset 0 0 1px 1px #0000004d, 0 0 1px 2px #0006; + border-radius: 50%; + transform: translate(-5px, -5px); +} +.q-color-picker__hue .q-slider__track { + background: linear-gradient( + to right, + #f00 0%, + #ff0 17%, + #0f0 33%, + #0ff 50%, + #00f 67%, + #f0f 83%, + #f00 100% + ) !important; + opacity: 1; +} +.q-color-picker__alpha .q-slider__track-container { + padding-top: 0; +} +.q-color-picker__alpha .q-slider__track:before { + content: ""; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + border-radius: inherit; + background: linear-gradient(90deg, rgba(255, 255, 255, 0), #757575); +} +.q-color-picker__sliders { + padding: 0 16px; +} +.q-color-picker__sliders .q-slider__thumb { + color: #424242; +} +.q-color-picker__sliders .q-slider__thumb path { + stroke-width: 2px; + fill: transparent; +} +.q-color-picker__sliders .q-slider--active path { + stroke-width: 3px; +} +.q-color-picker__tune-tab .q-slider { + margin-left: 18px; + margin-right: 18px; +} +.q-color-picker__tune-tab input { + font-size: 11px; + border: 1px solid #e0e0e0; + border-radius: 4px; + width: 3.5em; +} +.q-color-picker__palette-tab { + padding: 0 !important; +} +.q-color-picker__palette-rows--editable .q-color-picker__cube { + cursor: pointer; +} +.q-color-picker__cube { + padding-bottom: 10%; + width: 10% !important; +} +.q-color-picker input { + color: inherit; + background: transparent; + outline: 0; + text-align: center; +} +.q-color-picker .q-tabs { + overflow: hidden; +} +.q-color-picker .q-tab--active { + box-shadow: 0 0 14px 3px #0003; +} +.q-color-picker .q-tab--active .q-focus-helper, +.q-color-picker .q-tab__indicator { + display: none; +} +.q-color-picker .q-tab-panels { + background: inherit; +} +.q-color-picker--dark { + box-shadow: 0 1px 5px #fff3, 0 2px 2px #ffffff24, 0 3px 1px -2px #ffffff1f; +} +.q-color-picker--dark .q-color-picker__tune-tab input { + border: 1px solid rgba(255, 255, 255, 0.3); +} +.q-color-picker--dark .q-slider__thumb { + color: #fafafa; +} +.q-date { + display: inline-flex; + box-shadow: 0 1px 5px #0003, 0 2px 2px #00000024, 0 3px 1px -2px #0000001f; + border-radius: 4px; + background: #fff; + width: 290px; + min-width: 290px; + max-width: 100%; +} +.q-date--bordered { + border: 1px solid rgba(0, 0, 0, 0.12); +} +.q-date__header { + border-top-left-radius: inherit; + color: #fff; + background-color: var(--q-primary); + padding: 16px; +} +.q-date__actions { + padding: 0 16px 16px; +} +.q-date__content, +.q-date__main { + outline: 0; +} +.q-date__content .q-btn { + font-weight: 400; +} +.q-date__header-link { + opacity: 0.64; + outline: 0; + transition: opacity 0.3s ease-out; +} +.q-date__header-link--active, +.q-date__header-link:hover, +.q-date__header-link:focus { + opacity: 1; +} +.q-date__header-subtitle { + font-size: 14px; + line-height: 1.75; + letter-spacing: 0.00938em; +} +.q-date__header-title-label { + font-size: 24px; + line-height: 1.2; + letter-spacing: 0.00735em; +} +.q-date__view { + height: 100%; + width: 100%; + min-height: 290px; + padding: 16px; +} +.q-date__navigation { + height: 12.5%; +} +.q-date__navigation > div:first-child { + width: 8%; + min-width: 24px; + justify-content: flex-end; +} +.q-date__navigation > div:last-child { + width: 8%; + min-width: 24px; + justify-content: flex-start; +} +.q-date__calendar-weekdays { + height: 12.5%; +} +.q-date__calendar-weekdays > div { + opacity: 0.38; + font-size: 12px; +} +.q-date__calendar-item { + display: inline-flex; + align-items: center; + justify-content: center; + vertical-align: middle; + width: 14.285% !important; + height: 12.5% !important; + position: relative; + padding: 1px; +} +.q-date__calendar-item:after { + content: ""; + position: absolute; + pointer-events: none; + top: 1px; + right: 0; + bottom: 1px; + left: 0; + border-style: dashed; + border-color: transparent; + border-width: 1px; +} +.q-date__calendar-item > div, +.q-date__calendar-item button { + width: 30px; + height: 30px; + border-radius: 50%; +} +.q-date__calendar-item > div { + line-height: 30px; + text-align: center; +} +.q-date__calendar-item > button { + line-height: 22px; +} +.q-date__calendar-item--out { + opacity: 0.18; +} +.q-date__calendar-item--fill { + visibility: hidden; +} +.q-date__range:before, +.q-date__range-from:before, +.q-date__range-to:before { + content: ""; + background-color: currentColor; + position: absolute; + top: 1px; + bottom: 1px; + left: 0; + right: 0; + opacity: 0.3; +} +.q-date__range:nth-child(7n-6):before, +.q-date__range-from:nth-child(7n-6):before, +.q-date__range-to:nth-child(7n-6):before { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.q-date__range:nth-child(7n):before, +.q-date__range-from:nth-child(7n):before, +.q-date__range-to:nth-child(7n):before { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.q-date__range-from:before { + left: 50%; +} +.q-date__range-to:before { + right: 50%; +} +.q-date__edit-range:after { + border-color: currentColor transparent; +} +.q-date__edit-range:nth-child(7n-6):after { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.q-date__edit-range:nth-child(7n):after { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.q-date__edit-range-from:after, +.q-date__edit-range-from-to:after { + left: 4px; + border-left-color: currentColor; + border-top-color: currentColor; + border-bottom-color: currentColor; + border-top-left-radius: 28px; + border-bottom-left-radius: 28px; +} +.q-date__edit-range-to:after, +.q-date__edit-range-from-to:after { + right: 4px; + border-right-color: currentColor; + border-top-color: currentColor; + border-bottom-color: currentColor; + border-top-right-radius: 28px; + border-bottom-right-radius: 28px; +} +.q-date__calendar-days-container { + height: 75%; + min-height: 192px; +} +.q-date__calendar-days > div { + height: 16.66% !important; +} +.q-date__event { + position: absolute; + bottom: 2px; + left: 50%; + height: 5px; + width: 8px; + border-radius: 5px; + background-color: var(--q-secondary); + transform: translate3d(-50%, 0, 0); +} +.q-date__today { + box-shadow: 0 0 1px 0 currentColor; +} +.q-date__years-content { + padding: 0 8px; +} +.q-date__years-item, +.q-date__months-item { + flex: 0 0 33.3333%; +} +.q-date.disabled .q-date__header, +.q-date.disabled .q-date__content, +.q-date--readonly .q-date__header, +.q-date--readonly .q-date__content { + pointer-events: none; +} +.q-date--readonly .q-date__navigation { + display: none; +} +.q-date--portrait { + flex-direction: column; +} +.q-date--portrait-standard .q-date__content { + height: calc(100% - 86px); +} +.q-date--portrait-standard .q-date__header { + border-top-right-radius: inherit; + height: 86px; +} +.q-date--portrait-standard .q-date__header-title { + align-items: center; + height: 30px; +} +.q-date--portrait-minimal .q-date__content { + height: 100%; +} +.q-date--landscape { + flex-direction: row; + align-items: stretch; + min-width: 420px; +} +.q-date--landscape > div { + display: flex; + flex-direction: column; +} +.q-date--landscape .q-date__content { + height: 100%; +} +.q-date--landscape-standard { + min-width: 420px; +} +.q-date--landscape-standard .q-date__header { + border-bottom-left-radius: inherit; + min-width: 110px; + width: 110px; +} +.q-date--landscape-standard .q-date__header-title { + flex-direction: column; +} +.q-date--landscape-standard .q-date__header-today { + margin-top: 12px; + margin-left: -8px; +} +.q-date--landscape-minimal { + width: 310px; +} +.q-date--dark { + box-shadow: 0 1px 5px #fff3, 0 2px 2px #ffffff24, 0 3px 1px -2px #ffffff1f; + border-color: #ffffff47; +} +.q-dialog__title { + font-size: 1.25rem; + font-weight: 500; + line-height: 2rem; + letter-spacing: 0.0125em; +} +.q-dialog__progress { + font-size: 4rem; +} +.q-dialog__inner { + outline: 0; +} +.q-dialog__inner > div { + pointer-events: all; + overflow: auto; + -webkit-overflow-scrolling: touch; + will-change: scroll-position; + border-radius: 4px; +} +.q-dialog__inner--square > div { + border-radius: 0 !important; +} +.q-dialog__inner > .q-card > .q-card__actions .q-btn--rectangle { + min-width: 64px; +} +.q-dialog__inner--minimized { + padding: 24px; +} +.q-dialog__inner--minimized > div { + max-height: calc(100vh - 48px); +} +.q-dialog__inner--maximized > div { + height: 100%; + width: 100%; + max-height: 100vh; + max-width: 100vw; + border-radius: 0 !important; + top: 0 !important; + left: 0 !important; +} +.q-dialog__inner--top, +.q-dialog__inner--bottom { + padding-top: 0 !important; + padding-bottom: 0 !important; +} +.q-dialog__inner--right, +.q-dialog__inner--left { + padding-right: 0 !important; + padding-left: 0 !important; +} +.q-dialog__inner--left:not(.q-dialog__inner--animating) > div, +.q-dialog__inner--top:not(.q-dialog__inner--animating) > div { + border-top-left-radius: 0; +} +.q-dialog__inner--right:not(.q-dialog__inner--animating) > div, +.q-dialog__inner--top:not(.q-dialog__inner--animating) > div { + border-top-right-radius: 0; +} +.q-dialog__inner--left:not(.q-dialog__inner--animating) > div, +.q-dialog__inner--bottom:not(.q-dialog__inner--animating) > div { + border-bottom-left-radius: 0; +} +.q-dialog__inner--right:not(.q-dialog__inner--animating) > div, +.q-dialog__inner--bottom:not(.q-dialog__inner--animating) > div { + border-bottom-right-radius: 0; +} +.q-dialog__inner--fullwidth > div { + width: 100% !important; + max-width: 100% !important; +} +.q-dialog__inner--fullheight > div { + height: 100% !important; + max-height: 100% !important; +} +.q-dialog__backdrop { + z-index: -1; + pointer-events: all; + outline: 0; + background: rgba(0, 0, 0, 0.4); +} +body.platform-ios .q-dialog__inner--minimized > div, +body.platform-android:not(.native-mobile) .q-dialog__inner--minimized > div { + max-height: calc(100vh - 108px); +} +body.q-ios-padding .q-dialog__inner { + padding-top: 20px !important; + padding-top: env(safe-area-inset-top) !important; + padding-bottom: env(safe-area-inset-bottom) !important; +} +body.q-ios-padding .q-dialog__inner > div { + max-height: calc( + 100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom) + ) !important; +} +@media (max-width: 599.98px) { + .q-dialog__inner--top, + .q-dialog__inner--bottom { + padding-left: 0; + padding-right: 0; + } + .q-dialog__inner--top > div, + .q-dialog__inner--bottom > div { + width: 100% !important; + } +} +@media (min-width: 600px) { + .q-dialog__inner--minimized > div { + max-width: 560px; + } +} +.q-body--dialog { + overflow: hidden; +} +.q-bottom-sheet { + padding-bottom: 8px; +} +.q-bottom-sheet__avatar { + border-radius: 50%; +} +.q-bottom-sheet--list { + width: 400px; +} +.q-bottom-sheet--list .q-icon, +.q-bottom-sheet--list img { + font-size: 24px; + width: 24px; + height: 24px; +} +.q-bottom-sheet--grid { + width: 700px; +} +.q-bottom-sheet--grid .q-bottom-sheet__item { + padding: 8px; + text-align: center; + min-width: 100px; +} +.q-bottom-sheet--grid .q-icon, +.q-bottom-sheet--grid img, +.q-bottom-sheet--grid .q-bottom-sheet__empty-icon { + font-size: 48px; + width: 48px; + height: 48px; + margin-bottom: 8px; +} +.q-bottom-sheet--grid .q-separator { + margin: 12px 0; +} +.q-bottom-sheet__item { + flex: 0 0 33.3333%; +} +@media (min-width: 600px) { + .q-bottom-sheet__item { + flex: 0 0 25%; + } +} +.q-dialog-plugin { + width: 400px; +} +.q-dialog-plugin__form { + max-height: 50vh; +} +.q-dialog-plugin .q-card__section + .q-card__section { + padding-top: 0; +} +.q-dialog-plugin--progress { + text-align: center; +} +.q-editor { + border: 1px solid rgba(0, 0, 0, 0.12); + border-radius: 4px; + background-color: #fff; +} +.q-editor.disabled { + border-style: dashed; +} +.q-editor > div:first-child, +.q-editor__toolbars-container, +.q-editor__toolbars-container > div:first-child { + border-top-left-radius: inherit; + border-top-right-radius: inherit; +} +.q-editor__content { + outline: 0; + padding: 10px; + min-height: 10em; + border-bottom-left-radius: inherit; + border-bottom-right-radius: inherit; + overflow: auto; + max-width: 100%; +} +.q-editor__content pre { + white-space: pre-wrap; +} +.q-editor__content hr { + border: 0; + outline: 0; + margin: 1px; + height: 1px; + background: rgba(0, 0, 0, 0.12); +} +.q-editor__content:empty:not(:focus):before { + content: attr(placeholder); + opacity: 0.7; +} +.q-editor__toolbar { + border-bottom: 1px solid rgba(0, 0, 0, 0.12); + min-height: 32px; +} +.q-editor__toolbars-container { + max-width: 100%; +} +.q-editor .q-btn { + margin: 4px; +} +.q-editor__toolbar-group { + position: relative; + margin: 0 4px; +} +.q-editor__toolbar-group + .q-editor__toolbar-group:before { + content: ""; + position: absolute; + left: -4px; + top: 4px; + bottom: 4px; + width: 1px; + background: rgba(0, 0, 0, 0.12); +} +.q-editor__link-input { + color: inherit; + text-decoration: none; + text-transform: none; + border: none; + border-radius: 0; + background: none; + outline: 0; +} +.q-editor--flat, +.q-editor--flat .q-editor__toolbar { + border: 0; +} +.q-editor--dense .q-editor__toolbar-group { + display: flex; + align-items: center; + flex-wrap: nowrap; +} +.q-editor--dark { + border-color: #ffffff47; +} +.q-editor--dark .q-editor__content hr { + background: rgba(255, 255, 255, 0.28); +} +.q-editor--dark .q-editor__toolbar { + border-color: #ffffff47; +} +.q-editor--dark .q-editor__toolbar-group + .q-editor__toolbar-group:before { + background: rgba(255, 255, 255, 0.28); +} +.q-expansion-item__border { + opacity: 0; +} +.q-expansion-item__toggle-icon { + position: relative; + transition: transform 0.3s; +} +.q-expansion-item__toggle-icon--rotated { + transform: rotate(180deg); +} +.q-expansion-item__toggle-focus { + width: 1em !important; + height: 1em !important; + position: relative !important; +} +.q-expansion-item__toggle-focus + .q-expansion-item__toggle-icon { + margin-top: -1em; +} +.q-expansion-item--standard.q-expansion-item--expanded + > div + > .q-expansion-item__border { + opacity: 1; +} +.q-expansion-item--popup { + transition: padding 0.5s; +} +.q-expansion-item--popup > .q-expansion-item__container { + border: 1px solid rgba(0, 0, 0, 0.12); +} +.q-expansion-item--popup > .q-expansion-item__container > .q-separator { + display: none; +} +.q-expansion-item--popup.q-expansion-item--collapsed { + padding: 0 15px; +} +.q-expansion-item--popup.q-expansion-item--expanded { + padding: 15px 0; +} +.q-expansion-item--popup.q-expansion-item--expanded + + .q-expansion-item--popup.q-expansion-item--expanded { + padding-top: 0; +} +.q-expansion-item--popup.q-expansion-item--collapsed:not(:first-child) + > .q-expansion-item__container { + border-top-width: 0; +} +.q-expansion-item--popup.q-expansion-item--expanded + + .q-expansion-item--popup.q-expansion-item--collapsed + > .q-expansion-item__container { + border-top-width: 1px; +} +.q-expansion-item__content > .q-card { + box-shadow: none; + border-radius: 0; +} +.q-expansion-item:first-child > div > .q-expansion-item__border--top { + opacity: 0; +} +.q-expansion-item:last-child > div > .q-expansion-item__border--bottom { + opacity: 0; +} +.q-expansion-item--expanded + + .q-expansion-item--expanded + > div + > .q-expansion-item__border--top { + opacity: 0; +} +.q-expansion-item--expanded .q-textarea--autogrow textarea { + animation: q-expansion-done 0s; +} +@keyframes q-expansion-done { + 0% { + --q-exp-done: 1; + } +} +.z-fab { + z-index: 990; +} +.q-fab { + position: relative; + vertical-align: middle; +} +.q-fab > .q-btn { + width: 100%; +} +.q-fab--form-rounded { + border-radius: 28px; +} +.q-fab--form-square { + border-radius: 4px; +} +.q-fab__icon, +.q-fab__active-icon { + transition: opacity 0.4s, transform 0.4s; +} +.q-fab__icon { + opacity: 1; + transform: rotate(0); +} +.q-fab__active-icon { + opacity: 0; + transform: rotate(-180deg); +} +.q-fab__label--external { + position: absolute; + padding: 0 8px; + transition: opacity 0.18s cubic-bezier(0.65, 0.815, 0.735, 0.395); +} +.q-fab__label--external-hidden { + opacity: 0; + pointer-events: none; +} +.q-fab__label--external-left { + top: 50%; + left: -12px; + transform: translate(-100%, -50%); +} +.q-fab__label--external-right { + top: 50%; + right: -12px; + transform: translate(100%, -50%); +} +.q-fab__label--external-bottom { + bottom: -12px; + left: 50%; + transform: translate(-50%, 100%); +} +.q-fab__label--external-top { + top: -12px; + left: 50%; + transform: translate(-50%, -100%); +} +.q-fab__label--internal { + padding: 0; + transition: font-size 0.12s cubic-bezier(0.65, 0.815, 0.735, 0.395), + max-height 0.12s cubic-bezier(0.65, 0.815, 0.735, 0.395), + opacity 0.07s cubic-bezier(0.65, 0.815, 0.735, 0.395); + max-height: 30px; +} +.q-fab__label--internal-hidden { + font-size: 0; + opacity: 0; +} +.q-fab__label--internal-top { + padding-bottom: 0.12em; +} +.q-fab__label--internal-bottom { + padding-top: 0.12em; +} +.q-fab__label--internal-top.q-fab__label--internal-hidden, +.q-fab__label--internal-bottom.q-fab__label--internal-hidden { + max-height: 0; +} +.q-fab__label--internal-left { + padding-left: 0.285em; + padding-right: 0.571em; +} +.q-fab__label--internal-right { + padding-right: 0.285em; + padding-left: 0.571em; +} +.q-fab__icon-holder { + min-width: 24px; + min-height: 24px; + position: relative; +} +.q-fab__icon-holder--opened .q-fab__icon { + transform: rotate(180deg); + opacity: 0; +} +.q-fab__icon-holder--opened .q-fab__active-icon { + transform: rotate(0); + opacity: 1; +} +.q-fab__actions { + position: absolute; + opacity: 0; + transition: transform 0.18s ease-in, opacity 0.18s ease-in; + pointer-events: none; + align-items: center; + justify-content: center; + align-self: center; + padding: 3px; +} +.q-fab__actions .q-btn { + margin: 5px; +} +.q-fab__actions--right { + transform-origin: 0 50%; + transform: scale(0.4) translate(-62px); + height: 56px; + left: 100%; + margin-left: 9px; +} +.q-fab__actions--left { + transform-origin: 100% 50%; + transform: scale(0.4) translate(62px); + height: 56px; + right: 100%; + margin-right: 9px; + flex-direction: row-reverse; +} +.q-fab__actions--up { + transform-origin: 50% 100%; + transform: scale(0.4) translateY(62px); + width: 56px; + bottom: 100%; + margin-bottom: 9px; + flex-direction: column-reverse; +} +.q-fab__actions--down { + transform-origin: 50% 0; + transform: scale(0.4) translateY(-62px); + width: 56px; + top: 100%; + margin-top: 9px; + flex-direction: column; +} +.q-fab__actions--up, +.q-fab__actions--down { + left: 50%; + margin-left: -28px; +} +.q-fab__actions--opened { + opacity: 1; + transform: scale(1) translate(0.1px); + pointer-events: all; +} +.q-fab--align-left > .q-fab__actions--up, +.q-fab--align-left > .q-fab__actions--down { + align-items: flex-start; + left: 28px; +} +.q-fab--align-right > .q-fab__actions--up, +.q-fab--align-right > .q-fab__actions--down { + align-items: flex-end; + left: auto; + right: 0; +} +.q-field { + font-size: 14px; +} +.q-field ::-ms-clear, +.q-field ::-ms-reveal { + display: none; +} +.q-field--with-bottom { + padding-bottom: 20px; +} +.q-field__marginal { + height: 56px; + color: #0000008a; + font-size: 24px; +} +.q-field__marginal > * + * { + margin-left: 2px; +} +.q-field__marginal .q-avatar { + font-size: 32px; +} +.q-field__before, +.q-field__prepend { + padding-right: 12px; +} +.q-field__after, +.q-field__append { + padding-left: 12px; +} +.q-field__after:empty, +.q-field__append:empty { + display: none; +} +.q-field__append + .q-field__append { + padding-left: 2px; +} +.q-field__inner { + text-align: left; +} +.q-field__bottom { + font-size: 12px; + min-height: 20px; + line-height: 1; + color: #0000008a; + padding: 8px 12px 0; + backface-visibility: hidden; +} +.q-field__bottom--animated { + transform: translateY(100%); + position: absolute; + left: 0; + right: 0; + bottom: 0; +} +.q-field__messages { + line-height: 1; +} +.q-field__messages > div { + word-break: break-word; + word-wrap: break-word; + overflow-wrap: break-word; +} +.q-field__messages > div + div { + margin-top: 4px; +} +.q-field__counter { + padding-left: 8px; + line-height: 1; +} +.q-field--item-aligned { + padding: 8px 16px; +} +.q-field--item-aligned .q-field__before { + min-width: 56px; +} +.q-field__control-container { + height: inherit; +} +.q-field__control { + color: var(--q-primary); + height: 56px; + max-width: 100%; + outline: none; +} +.q-field__control:before, +.q-field__control:after { + content: ""; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + pointer-events: none; +} +.q-field__control:before { + border-radius: inherit; +} +.q-field__shadow { + top: 8px; + opacity: 0; + overflow: hidden; + white-space: pre-wrap; + transition: opacity 0.36s cubic-bezier(0.4, 0, 0.2, 1); +} +.q-field__shadow + .q-field__native::placeholder { + transition: opacity 0.36s cubic-bezier(0.4, 0, 0.2, 1); +} +.q-field__shadow + .q-field__native:focus::placeholder { + opacity: 0; +} +.q-field__native, +.q-field__prefix, +.q-field__suffix, +.q-field__input { + font-weight: 400; + line-height: 28px; + letter-spacing: 0.00937em; + text-decoration: inherit; + text-transform: inherit; + border: none; + border-radius: 0; + background: none; + color: #000000de; + outline: 0; + padding: 6px 0; +} +.q-field__native, +.q-field__input { + width: 100%; + min-width: 0; + outline: 0 !important; + -webkit-user-select: auto; + user-select: auto; +} +.q-field__native:-webkit-autofill, +.q-field__input:-webkit-autofill { + -webkit-animation-name: q-autofill; + -webkit-animation-fill-mode: both; +} +.q-field__native:-webkit-autofill + .q-field__label, +.q-field__input:-webkit-autofill + .q-field__label { + transform: translateY(-40%) scale(0.75); +} +.q-field__native[type="color"] + .q-field__label, +.q-field__native[type="date"] + .q-field__label, +.q-field__native[type="datetime-local"] + .q-field__label, +.q-field__native[type="month"] + .q-field__label, +.q-field__native[type="time"] + .q-field__label, +.q-field__native[type="week"] + .q-field__label, +.q-field__input[type="color"] + .q-field__label, +.q-field__input[type="date"] + .q-field__label, +.q-field__input[type="datetime-local"] + .q-field__label, +.q-field__input[type="month"] + .q-field__label, +.q-field__input[type="time"] + .q-field__label, +.q-field__input[type="week"] + .q-field__label { + transform: translateY(-40%) scale(0.75); +} +.q-field__native:invalid, +.q-field__input:invalid { + box-shadow: none; +} +.q-field__native[type="file"] { + line-height: 1em; +} +.q-field__input { + padding: 0; + height: 0; + min-height: 24px; + line-height: 24px; +} +.q-field__prefix, +.q-field__suffix { + transition: opacity 0.36s cubic-bezier(0.4, 0, 0.2, 1); + white-space: nowrap; +} +.q-field__prefix { + padding-right: 4px; +} +.q-field__suffix { + padding-left: 4px; +} +.q-field--readonly .q-placeholder, +.q-field--disabled .q-placeholder { + opacity: 1 !important; +} +.q-field--readonly.q-field--labeled .q-field__native, +.q-field--readonly.q-field--labeled .q-field__input { + cursor: default; +} +.q-field--readonly.q-field--float .q-field__native, +.q-field--readonly.q-field--float .q-field__input { + cursor: text; +} +.q-field--disabled .q-field__inner { + cursor: not-allowed; +} +.q-field--disabled .q-field__control { + pointer-events: none; +} +.q-field--disabled .q-field__control > div { + opacity: 0.6 !important; +} +.q-field--disabled .q-field__control > div, +.q-field--disabled .q-field__control > div * { + outline: 0 !important; +} +.q-field__label { + left: 0; + top: 18px; + max-width: 100%; + color: #0009; + font-size: 16px; + line-height: 20px; + font-weight: 400; + letter-spacing: 0.00937em; + text-decoration: inherit; + text-transform: inherit; + transform-origin: left top; + transition: transform 0.36s cubic-bezier(0.4, 0, 0.2, 1), + max-width 0.324s cubic-bezier(0.4, 0, 0.2, 1); + backface-visibility: hidden; +} +.q-field--float .q-field__label { + max-width: 133%; + transform: translateY(-40%) scale(0.75); + transition: transform 0.36s cubic-bezier(0.4, 0, 0.2, 1), + max-width 0.396s cubic-bezier(0.4, 0, 0.2, 1); +} +.q-field--highlighted .q-field__label { + color: currentColor; +} +.q-field--highlighted .q-field__shadow { + opacity: 0.5; +} +.q-field--filled .q-field__control { + padding: 0 12px; + background: rgba(0, 0, 0, 0.05); + border-radius: 4px 4px 0 0; +} +.q-field--filled .q-field__control:before { + background: rgba(0, 0, 0, 0.05); + border-bottom: 1px solid rgba(0, 0, 0, 0.42); + opacity: 0; + transition: opacity 0.36s cubic-bezier(0.4, 0, 0.2, 1), + background 0.36s cubic-bezier(0.4, 0, 0.2, 1); +} +.q-field--filled .q-field__control:hover:before { + opacity: 1; +} +.q-field--filled .q-field__control:after { + height: 2px; + top: auto; + transform-origin: center bottom; + transform: scale3d(0, 1, 1); + background: currentColor; + transition: transform 0.36s cubic-bezier(0.4, 0, 0.2, 1); +} +.q-field--filled.q-field--rounded .q-field__control { + border-radius: 28px 28px 0 0; +} +.q-field--filled.q-field--highlighted .q-field__control:before { + opacity: 1; + background: rgba(0, 0, 0, 0.12); +} +.q-field--filled.q-field--highlighted .q-field__control:after { + transform: scaleZ(1); +} +.q-field--filled.q-field--dark .q-field__control, +.q-field--filled.q-field--dark .q-field__control:before { + background: rgba(255, 255, 255, 0.07); +} +.q-field--filled.q-field--dark.q-field--highlighted .q-field__control:before { + background: rgba(255, 255, 255, 0.1); +} +.q-field--filled.q-field--readonly .q-field__control:before { + opacity: 1; + background: transparent; + border-bottom-style: dashed; +} +.q-field--outlined .q-field__control { + border-radius: 4px; + padding: 0 12px; +} +.q-field--outlined .q-field__control:before { + border: 1px solid rgba(0, 0, 0, 0.24); + transition: border-color 0.36s cubic-bezier(0.4, 0, 0.2, 1); +} +.q-field--outlined .q-field__control:hover:before { + border-color: #000; +} +.q-field--outlined .q-field__control:after { + height: inherit; + border-radius: inherit; + border: 2px solid transparent; + transition: border-color 0.36s cubic-bezier(0.4, 0, 0.2, 1); +} +.q-field--outlined .q-field__native:-webkit-autofill, +.q-field--outlined .q-field__input:-webkit-autofill { + margin-top: 1px; + margin-bottom: 1px; +} +.q-field--outlined.q-field--rounded .q-field__control { + border-radius: 28px; +} +.q-field--outlined.q-field--highlighted .q-field__control:hover:before { + border-color: transparent; +} +.q-field--outlined.q-field--highlighted .q-field__control:after { + border-color: currentColor; + border-width: 2px; + transform: scaleZ(1); +} +.q-field--outlined.q-field--readonly .q-field__control:before { + border-style: dashed; +} +.q-field--standard .q-field__control:before { + border-bottom: 1px solid rgba(0, 0, 0, 0.24); + transition: border-color 0.36s cubic-bezier(0.4, 0, 0.2, 1); +} +.q-field--standard .q-field__control:hover:before { + border-color: #000; +} +.q-field--standard .q-field__control:after { + height: 2px; + top: auto; + border-bottom-left-radius: inherit; + border-bottom-right-radius: inherit; + transform-origin: center bottom; + transform: scale3d(0, 1, 1); + background: currentColor; + transition: transform 0.36s cubic-bezier(0.4, 0, 0.2, 1); +} +.q-field--standard.q-field--highlighted .q-field__control:after { + transform: scaleZ(1); +} +.q-field--standard.q-field--readonly .q-field__control:before { + border-bottom-style: dashed; +} +.q-field--dark .q-field__control:before { + border-color: #fff9; +} +.q-field--dark .q-field__control:hover:before { + border-color: #fff; +} +.q-field--dark .q-field__native, +.q-field--dark .q-field__prefix, +.q-field--dark .q-field__suffix, +.q-field--dark .q-field__input { + color: #fff; +} +.q-field--dark:not(.q-field--highlighted) .q-field__label, +.q-field--dark .q-field__marginal, +.q-field--dark .q-field__bottom { + color: #ffffffb3; +} +.q-field--standout .q-field__control { + padding: 0 12px; + background: rgba(0, 0, 0, 0.05); + border-radius: 4px; + transition: box-shadow 0.36s cubic-bezier(0.4, 0, 0.2, 1), + background-color 0.36s cubic-bezier(0.4, 0, 0.2, 1); +} +.q-field--standout .q-field__control:before { + background: rgba(0, 0, 0, 0.07); + opacity: 0; + transition: opacity 0.36s cubic-bezier(0.4, 0, 0.2, 1), + background 0.36s cubic-bezier(0.4, 0, 0.2, 1); +} +.q-field--standout .q-field__control:hover:before { + opacity: 1; +} +.q-field--standout.q-field--rounded .q-field__control { + border-radius: 28px; +} +.q-field--standout.q-field--highlighted .q-field__control { + box-shadow: 0 1px 5px #0003, 0 2px 2px #00000024, 0 3px 1px -2px #0000001f; + background: #000; +} +.q-field--standout.q-field--highlighted .q-field__native, +.q-field--standout.q-field--highlighted .q-field__prefix, +.q-field--standout.q-field--highlighted .q-field__suffix, +.q-field--standout.q-field--highlighted .q-field__prepend, +.q-field--standout.q-field--highlighted .q-field__append, +.q-field--standout.q-field--highlighted .q-field__input { + color: #fff; +} +.q-field--standout.q-field--readonly .q-field__control:before { + opacity: 1; + background: transparent; + border: 1px dashed rgba(0, 0, 0, 0.24); +} +.q-field--standout.q-field--dark .q-field__control { + background: rgba(255, 255, 255, 0.07); +} +.q-field--standout.q-field--dark .q-field__control:before { + background: rgba(255, 255, 255, 0.07); +} +.q-field--standout.q-field--dark.q-field--highlighted .q-field__control { + background: #fff; +} +.q-field--standout.q-field--dark.q-field--highlighted .q-field__native, +.q-field--standout.q-field--dark.q-field--highlighted .q-field__prefix, +.q-field--standout.q-field--dark.q-field--highlighted .q-field__suffix, +.q-field--standout.q-field--dark.q-field--highlighted .q-field__prepend, +.q-field--standout.q-field--dark.q-field--highlighted .q-field__append, +.q-field--standout.q-field--dark.q-field--highlighted .q-field__input { + color: #000; +} +.q-field--standout.q-field--dark.q-field--readonly .q-field__control:before { + border-color: #ffffff3d; +} +.q-field--labeled .q-field__native, +.q-field--labeled .q-field__prefix, +.q-field--labeled .q-field__suffix { + line-height: 24px; + padding-top: 24px; + padding-bottom: 8px; +} +.q-field--labeled .q-field__shadow { + top: 0; +} +.q-field--labeled:not(.q-field--float) .q-field__prefix, +.q-field--labeled:not(.q-field--float) .q-field__suffix { + opacity: 0; +} +.q-field--labeled:not(.q-field--float) .q-field__native::placeholder, +.q-field--labeled:not(.q-field--float) .q-field__input::placeholder { + color: transparent; +} +.q-field--labeled.q-field--dense .q-field__native, +.q-field--labeled.q-field--dense .q-field__prefix, +.q-field--labeled.q-field--dense .q-field__suffix { + padding-top: 14px; + padding-bottom: 2px; +} +.q-field--dense .q-field__shadow { + top: 0; +} +.q-field--dense .q-field__control, +.q-field--dense .q-field__marginal { + height: 40px; +} +.q-field--dense .q-field__bottom { + font-size: 11px; +} +.q-field--dense .q-field__label { + font-size: 14px; + top: 10px; +} +.q-field--dense .q-field__before, +.q-field--dense .q-field__prepend { + padding-right: 6px; +} +.q-field--dense .q-field__after, +.q-field--dense .q-field__append { + padding-left: 6px; +} +.q-field--dense .q-field__append + .q-field__append { + padding-left: 2px; +} +.q-field--dense .q-field__marginal .q-avatar { + font-size: 24px; +} +.q-field--dense.q-field--float .q-field__label { + transform: translateY(-30%) scale(0.75); +} +.q-field--dense .q-field__native:-webkit-autofill + .q-field__label, +.q-field--dense .q-field__input:-webkit-autofill + .q-field__label { + transform: translateY(-30%) scale(0.75); +} +.q-field--dense .q-field__native[type="color"] + .q-field__label, +.q-field--dense .q-field__native[type="date"] + .q-field__label, +.q-field--dense .q-field__native[type="datetime-local"] + .q-field__label, +.q-field--dense .q-field__native[type="month"] + .q-field__label, +.q-field--dense .q-field__native[type="time"] + .q-field__label, +.q-field--dense .q-field__native[type="week"] + .q-field__label, +.q-field--dense .q-field__input[type="color"] + .q-field__label, +.q-field--dense .q-field__input[type="date"] + .q-field__label, +.q-field--dense .q-field__input[type="datetime-local"] + .q-field__label, +.q-field--dense .q-field__input[type="month"] + .q-field__label, +.q-field--dense .q-field__input[type="time"] + .q-field__label, +.q-field--dense .q-field__input[type="week"] + .q-field__label { + transform: translateY(-30%) scale(0.75); +} +.q-field--borderless .q-field__bottom, +.q-field--borderless.q-field--dense .q-field__control, +.q-field--standard .q-field__bottom, +.q-field--standard.q-field--dense .q-field__control { + padding-left: 0; + padding-right: 0; +} +.q-field--error .q-field__label { + animation: q-field-label 0.36s; +} +.q-field--error .q-field__bottom { + color: var(--q-negative); +} +.q-field__focusable-action { + opacity: 0.6; + cursor: pointer; + outline: 0 !important; + border: 0; + color: inherit; + background: transparent; + padding: 0; +} +.q-field__focusable-action:hover, +.q-field__focusable-action:focus { + opacity: 1; +} +.q-field--auto-height .q-field__control { + height: auto; +} +.q-field--auto-height .q-field__control, +.q-field--auto-height .q-field__native { + min-height: 56px; +} +.q-field--auto-height .q-field__native { + align-items: center; +} +.q-field--auto-height .q-field__control-container { + padding-top: 0; +} +.q-field--auto-height .q-field__native, +.q-field--auto-height .q-field__prefix, +.q-field--auto-height .q-field__suffix { + line-height: 18px; +} +.q-field--auto-height.q-field--labeled .q-field__control-container { + padding-top: 24px; +} +.q-field--auto-height.q-field--labeled .q-field__shadow { + top: 24px; +} +.q-field--auto-height.q-field--labeled .q-field__native, +.q-field--auto-height.q-field--labeled .q-field__prefix, +.q-field--auto-height.q-field--labeled .q-field__suffix { + padding-top: 0; +} +.q-field--auto-height.q-field--labeled .q-field__native { + min-height: 24px; +} +.q-field--auto-height.q-field--dense .q-field__control, +.q-field--auto-height.q-field--dense .q-field__native { + min-height: 40px; +} +.q-field--auto-height.q-field--dense.q-field--labeled + .q-field__control-container { + padding-top: 14px; +} +.q-field--auto-height.q-field--dense.q-field--labeled .q-field__shadow { + top: 14px; +} +.q-field--auto-height.q-field--dense.q-field--labeled .q-field__native { + min-height: 24px; +} +.q-field--square .q-field__control { + border-radius: 0 !important; +} +.q-transition--field-message-enter-active, +.q-transition--field-message-leave-active { + transition: transform 0.6s cubic-bezier(0.86, 0, 0.07, 1), + opacity 0.6s cubic-bezier(0.86, 0, 0.07, 1); +} +.q-transition--field-message-enter-from, +.q-transition--field-message-leave-to { + opacity: 0; + transform: translateY(-10px); +} +.q-transition--field-message-leave-from, +.q-transition--field-message-leave-active { + position: absolute; +} +@keyframes q-field-label { + 40% { + margin-left: 2px; + } + 60%, + 80% { + margin-left: -2px; + } + 70%, + 90% { + margin-left: 2px; + } +} +@keyframes q-autofill { + to { + background: transparent; + color: inherit; + } +} +.q-file .q-field__native { + word-break: break-all; + overflow: hidden; +} +.q-file .q-field__input { + opacity: 0 !important; +} +.q-file .q-field__input::-webkit-file-upload-button { + cursor: pointer; +} +.q-file__filler { + visibility: hidden; + width: 100%; + border: none; + padding: 0; +} +.q-file__dnd { + outline: 1px dashed currentColor; + outline-offset: -4px; +} +.q-form { + position: relative; +} +.q-img { + position: relative; + width: 100%; + display: inline-block; + vertical-align: middle; + overflow: hidden; +} +.q-img__loading .q-spinner { + font-size: 50px; +} +.q-img__container { + border-radius: inherit; + font-size: 0; +} +.q-img__image { + border-radius: inherit; + width: 100%; + height: 100%; + opacity: 0; +} +.q-img__image--with-transition { + transition: opacity 0.28s ease-in; +} +.q-img__image--loaded { + opacity: 1; +} +.q-img__content { + border-radius: inherit; + pointer-events: none; +} +.q-img__content > div { + pointer-events: all; + position: absolute; + padding: 16px; + color: #fff; + background: rgba(0, 0, 0, 0.47); +} +.q-img--no-menu .q-img__image, +.q-img--no-menu .q-img__placeholder { + pointer-events: none; +} +.q-inner-loading { + background: rgba(255, 255, 255, 0.6); +} +.q-inner-loading--dark { + background: rgba(0, 0, 0, 0.4); +} +.q-inner-loading__label { + margin-top: 8px; +} +.q-textarea .q-field__control { + min-height: 56px; + height: auto; +} +.q-textarea .q-field__control-container { + padding-top: 2px; + padding-bottom: 2px; +} +.q-textarea .q-field__shadow { + top: 2px; + bottom: 2px; +} +.q-textarea .q-field__native, +.q-textarea .q-field__prefix, +.q-textarea .q-field__suffix { + line-height: 18px; +} +.q-textarea .q-field__native { + resize: vertical; + padding-top: 17px; + min-height: 52px; +} +.q-textarea.q-field--labeled .q-field__control-container { + padding-top: 26px; +} +.q-textarea.q-field--labeled .q-field__shadow { + top: 26px; +} +.q-textarea.q-field--labeled .q-field__native, +.q-textarea.q-field--labeled .q-field__prefix, +.q-textarea.q-field--labeled .q-field__suffix { + padding-top: 0; +} +.q-textarea.q-field--labeled .q-field__native { + min-height: 26px; + padding-top: 1px; +} +.q-textarea--autogrow .q-field__native { + resize: none; +} +.q-textarea.q-field--dense .q-field__control, +.q-textarea.q-field--dense .q-field__native { + min-height: 36px; +} +.q-textarea.q-field--dense .q-field__native { + padding-top: 9px; +} +.q-textarea.q-field--dense.q-field--labeled .q-field__control-container { + padding-top: 14px; +} +.q-textarea.q-field--dense.q-field--labeled .q-field__shadow { + top: 14px; +} +.q-textarea.q-field--dense.q-field--labeled .q-field__native { + min-height: 24px; + padding-top: 3px; +} +.q-textarea.q-field--dense.q-field--labeled .q-field__prefix, +.q-textarea.q-field--dense.q-field--labeled .q-field__suffix { + padding-top: 2px; +} +body.mobile .q-textarea .q-field__native, +.q-textarea.disabled .q-field__native { + resize: none; +} +.q-intersection { + position: relative; +} +.q-item { + min-height: 48px; + padding: 8px 16px; + color: inherit; + transition: color 0.3s, background-color 0.3s; +} +.q-item__section--side { + color: #757575; + align-items: flex-start; + padding-right: 16px; + width: auto; + min-width: 0; + max-width: 100%; +} +.q-item__section--side > .q-icon { + font-size: 24px; +} +.q-item__section--side > .q-avatar { + font-size: 40px; +} +.q-item__section--avatar { + color: inherit; + min-width: 56px; +} +.q-item__section--thumbnail img { + width: 100px; + height: 56px; +} +.q-item__section--nowrap { + white-space: nowrap; +} +.q-item > .q-item__section--thumbnail:first-child, +.q-item > .q-focus-helper + .q-item__section--thumbnail { + margin-left: -16px; +} +.q-item > .q-item__section--thumbnail:last-of-type { + margin-right: -16px; +} +.q-item__label { + line-height: 1.2em !important; + max-width: 100%; +} +.q-item__label--overline { + color: #000000b3; +} +.q-item__label--caption { + color: #0000008a; +} +.q-item__label--header { + color: #757575; + padding: 16px; + font-size: 0.875rem; + line-height: 1.25rem; + letter-spacing: 0.01786em; +} +.q-separator--spaced + .q-item__label--header, +.q-list--padding .q-item__label--header { + padding-top: 8px; +} +.q-item__label + .q-item__label { + margin-top: 4px; +} +.q-item__section--main { + width: auto; + min-width: 0; + max-width: 100%; + flex: 10000 1 0%; +} +.q-item__section--main + .q-item__section--main { + margin-left: 8px; +} +.q-item__section--main ~ .q-item__section--side { + align-items: flex-end; + padding-right: 0; + padding-left: 16px; +} +.q-item__section--main.q-item__section--thumbnail { + margin-left: 0; + margin-right: -16px; +} +.q-list--bordered { + border: 1px solid rgba(0, 0, 0, 0.12); +} +.q-list--separator > .q-item-type + .q-item-type, +.q-list--separator > .q-virtual-scroll__content > .q-item-type + .q-item-type { + border-top: 1px solid rgba(0, 0, 0, 0.12); +} +.q-list--padding { + padding: 8px 0; +} +.q-list--dense > .q-item, +.q-item--dense { + min-height: 32px; + padding: 2px 16px; +} +.q-list--dark.q-list--separator > .q-item-type + .q-item-type, +.q-list--dark.q-list--separator + > .q-virtual-scroll__content + > .q-item-type + + .q-item-type { + border-top-color: #ffffff47; +} +.q-list--dark, +.q-item--dark { + color: #fff; + border-color: #ffffff47; +} +.q-list--dark .q-item__section--side:not(.q-item__section--avatar), +.q-item--dark .q-item__section--side:not(.q-item__section--avatar) { + color: #ffffffb3; +} +.q-list--dark .q-item__label--header, +.q-item--dark .q-item__label--header { + color: #ffffffa3; +} +.q-list--dark .q-item__label--overline, +.q-list--dark .q-item__label--caption, +.q-item--dark .q-item__label--overline, +.q-item--dark .q-item__label--caption { + color: #fffc; +} +.q-item { + position: relative; +} +.q-item.q-router-link--active, +.q-item--active { + color: var(--q-primary); +} +.q-knob { + font-size: 48px; +} +.q-knob--editable { + cursor: pointer; + outline: 0; +} +.q-knob--editable:before { + content: ""; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + border-radius: 50%; + box-shadow: none; + transition: box-shadow 0.24s ease-in-out; +} +.q-knob--editable:focus:before { + box-shadow: 0 1px 5px #0003, 0 2px 2px #00000024, 0 3px 1px -2px #0000001f; +} +body.body--dark .q-knob--editable:focus:before { + box-shadow: 0 1px 5px #fff3, 0 2px 2px #ffffff24, 0 3px 1px -2px #ffffff1f; +} +.q-layout { + width: 100%; + outline: 0; +} +.q-layout-container { + position: relative; + width: 100%; + height: 100%; +} +.q-layout-container .q-layout { + min-height: 100%; +} +.q-layout-container > div { + transform: translateZ(0); +} +.q-layout-container > div > div { + min-height: 0; + max-height: 100%; +} +.q-layout__shadow { + width: 100%; +} +.q-layout__shadow:after { + content: ""; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + box-shadow: 0 0 10px 2px #0003, 0 0 10px #0000003d; +} +.q-layout__section--marginal { + background-color: var(--q-primary); + color: #fff; +} +.q-header--hidden { + transform: translateY(-110%); +} +.q-header--bordered { + border-bottom: 1px solid rgba(0, 0, 0, 0.12); +} +.q-header .q-layout__shadow { + bottom: -10px; +} +.q-header .q-layout__shadow:after { + bottom: 10px; +} +.q-footer--hidden { + transform: translateY(110%); +} +.q-footer--bordered { + border-top: 1px solid rgba(0, 0, 0, 0.12); +} +.q-footer .q-layout__shadow { + top: -10px; +} +.q-footer .q-layout__shadow:after { + top: 10px; +} +.q-header, +.q-footer { + z-index: 2000; +} +.q-drawer { + position: absolute; + top: 0; + bottom: 0; + background: #fff; + z-index: 1000; +} +.q-drawer--on-top { + z-index: 3000; +} +.q-drawer--left { + left: 0; + transform: translate(-100%); +} +.q-drawer--left.q-drawer--bordered { + border-right: 1px solid rgba(0, 0, 0, 0.12); +} +.q-drawer--left .q-layout__shadow { + left: 10px; + right: -10px; +} +.q-drawer--left .q-layout__shadow:after { + right: 10px; +} +.q-drawer--right { + right: 0; + transform: translate(100%); +} +.q-drawer--right.q-drawer--bordered { + border-left: 1px solid rgba(0, 0, 0, 0.12); +} +.q-drawer--right .q-layout__shadow { + left: -10px; +} +.q-drawer--right .q-layout__shadow:after { + left: 10px; +} +.q-drawer-container:not(.q-drawer--mini-animate) .q-drawer--mini { + padding: 0 !important; +} +.q-drawer-container:not(.q-drawer--mini-animate) .q-drawer--mini .q-item, +.q-drawer-container:not(.q-drawer--mini-animate) + .q-drawer--mini + .q-item__section { + text-align: center; + justify-content: center; + padding-left: 0; + padding-right: 0; + min-width: 0; +} +.q-drawer-container:not(.q-drawer--mini-animate) .q-drawer--mini .q-item__label, +.q-drawer-container:not(.q-drawer--mini-animate) + .q-drawer--mini + .q-item__section--main, +.q-drawer-container:not(.q-drawer--mini-animate) + .q-drawer--mini + .q-item__section--side + ~ .q-item__section--side { + display: none; +} +.q-drawer--mini .q-mini-drawer-hide, +.q-drawer--mini .q-expansion-item__content { + display: none; +} +.q-drawer--mini-animate .q-drawer__content { + overflow-x: hidden !important; + white-space: nowrap; +} +.q-drawer--standard .q-mini-drawer-only, +.q-drawer--mobile .q-mini-drawer-only, +.q-drawer--mobile .q-mini-drawer-hide { + display: none; +} +.q-drawer__backdrop { + z-index: 2999 !important; + will-change: background-color; +} +.q-drawer__opener { + z-index: 2001; + height: 100%; + width: 15px; + -webkit-user-select: none; + user-select: none; +} +.q-layout, +.q-header, +.q-footer, +.q-page { + position: relative; +} +.q-page-sticky--shrink { + pointer-events: none; +} +.q-page-sticky--shrink > div { + display: inline-block; + pointer-events: auto; +} +body.q-ios-padding .q-layout--standard .q-header > .q-toolbar:nth-child(1), +body.q-ios-padding + .q-layout--standard + .q-header + > .q-tabs:nth-child(1) + .q-tabs-head, +body.q-ios-padding + .q-layout--standard + .q-drawer--top-padding + .q-drawer__content { + padding-top: 20px; + min-height: 70px; + padding-top: env(safe-area-inset-top); + min-height: calc(env(safe-area-inset-top) + 50px); +} +body.q-ios-padding .q-layout--standard .q-footer > .q-toolbar:last-child, +body.q-ios-padding + .q-layout--standard + .q-footer + > .q-tabs:last-child + .q-tabs-head, +body.q-ios-padding + .q-layout--standard + .q-drawer--top-padding + .q-drawer__content { + padding-bottom: env(safe-area-inset-bottom); + min-height: calc(env(safe-area-inset-bottom) + 50px); +} +.q-body--layout-animate .q-drawer__backdrop { + transition: background-color 0.12s !important; +} +.q-body--layout-animate .q-drawer { + transition: transform 0.12s, width 0.12s, top 0.12s, bottom 0.12s !important; +} +.q-body--layout-animate .q-layout__section--marginal { + transition: transform 0.12s, left 0.12s, right 0.12s !important; +} +.q-body--layout-animate .q-page-container { + transition: padding-top 0.12s, padding-right 0.12s, padding-bottom 0.12s, + padding-left 0.12s !important; +} +.q-body--layout-animate .q-page-sticky { + transition: transform 0.12s, left 0.12s, right 0.12s, top 0.12s, bottom 0.12s !important; +} +body:not(.q-body--layout-animate) .q-layout--prevent-focus { + visibility: hidden; +} +.q-body--drawer-toggle { + overflow-x: hidden !important; +} +@media (max-width: 599.98px) { + .q-layout-padding { + padding: 8px; + } +} +@media (min-width: 600px) and (max-width: 1439.98px) { + .q-layout-padding { + padding: 16px; + } +} +@media (min-width: 1440px) { + .q-layout-padding { + padding: 24px; + } +} +body.body--dark .q-header, +body.body--dark .q-footer, +body.body--dark .q-drawer { + border-color: #ffffff47; +} +body.body--dark .q-layout__shadow:after { + box-shadow: 0 0 10px 2px #fff3, 0 0 10px #ffffff3d; +} +body.platform-ios .q-layout--containerized { + position: unset !important; +} +.q-linear-progress { + --q-linear-progress-speed: 0.3s; + position: relative; + width: 100%; + overflow: hidden; + font-size: 4px; + height: 1em; + color: var(--q-primary); + transform: scaleZ(1); +} +.q-linear-progress__model, +.q-linear-progress__track { + transform-origin: 0 0; +} +.q-linear-progress__model--with-transition, +.q-linear-progress__track--with-transition { + transition: transform var(--q-linear-progress-speed); +} +.q-linear-progress--reverse .q-linear-progress__model, +.q-linear-progress--reverse .q-linear-progress__track { + transform-origin: 0 100%; +} +.q-linear-progress__model--determinate { + background: currentColor; +} +.q-linear-progress__model--indeterminate, +.q-linear-progress__model--query { + transition: none; +} +.q-linear-progress__model--indeterminate:before, +.q-linear-progress__model--indeterminate:after, +.q-linear-progress__model--query:before, +.q-linear-progress__model--query:after { + background: currentColor; + content: ""; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + transform-origin: 0 0; +} +.q-linear-progress__model--indeterminate:before, +.q-linear-progress__model--query:before { + animation: q-linear-progress--indeterminate 2.1s + cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite; +} +.q-linear-progress__model--indeterminate:after, +.q-linear-progress__model--query:after { + transform: translate3d(-101%, 0, 0) scaleZ(1); + animation: q-linear-progress--indeterminate-short 2.1s + cubic-bezier(0.165, 0.84, 0.44, 1) infinite; + animation-delay: 1.15s; +} +.q-linear-progress__track { + opacity: 0.4; +} +.q-linear-progress__track--light { + background: rgba(0, 0, 0, 0.26); +} +.q-linear-progress__track--dark { + background: rgba(255, 255, 255, 0.6); +} +.q-linear-progress__stripe { + background-image: linear-gradient( + 45deg, + rgba(255, 255, 255, 0.15) 25%, + rgba(255, 255, 255, 0) 25%, + rgba(255, 255, 255, 0) 50%, + rgba(255, 255, 255, 0.15) 50%, + rgba(255, 255, 255, 0.15) 75%, + rgba(255, 255, 255, 0) 75%, + rgba(255, 255, 255, 0) + ) !important; + background-size: 40px 40px !important; +} +.q-linear-progress__stripe--with-transition { + transition: width var(--q-linear-progress-speed); +} +@keyframes q-linear-progress--indeterminate { + 0% { + transform: translate3d(-35%, 0, 0) scale3d(0.35, 1, 1); + } + 60% { + transform: translate3d(100%, 0, 0) scale3d(0.9, 1, 1); + } + to { + transform: translate3d(100%, 0, 0) scale3d(0.9, 1, 1); + } +} +@keyframes q-linear-progress--indeterminate-short { + 0% { + transform: translate3d(-101%, 0, 0) scaleZ(1); + } + 60% { + transform: translate3d(107%, 0, 0) scale3d(0.01, 1, 1); + } + to { + transform: translate3d(107%, 0, 0) scale3d(0.01, 1, 1); + } +} +.q-menu { + position: fixed !important; + display: inline-block; + max-width: 95vw; + box-shadow: 0 1px 5px #0003, 0 2px 2px #00000024, 0 3px 1px -2px #0000001f; + background: #fff; + border-radius: 4px; + overflow-y: auto; + overflow-x: hidden; + outline: 0; + max-height: 65vh; + z-index: 6000; +} +.q-menu--square { + border-radius: 0; +} +.q-menu--dark { + box-shadow: 0 1px 5px #fff3, 0 2px 2px #ffffff24, 0 3px 1px -2px #ffffff1f; +} +.q-option-group--inline > div { + display: inline-block; +} +.q-pagination input { + text-align: center; + -moz-appearance: textfield; +} +.q-pagination input::-webkit-outer-spin-button, +.q-pagination input::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; +} +.q-pagination__content { + --q-pagination-gutter-parent: -2px; + --q-pagination-gutter-child: 2px; + margin-top: var(--q-pagination-gutter-parent); + margin-left: var(--q-pagination-gutter-parent); +} +.q-pagination__content > .q-btn, +.q-pagination__content > .q-input, +.q-pagination__middle > .q-btn { + margin-top: var(--q-pagination-gutter-child); + margin-left: var(--q-pagination-gutter-child); +} +.q-parallax { + position: relative; + width: 100%; + overflow: hidden; + border-radius: inherit; +} +.q-parallax__media > img, +.q-parallax__media > video { + position: absolute; + left: 50%; + bottom: 0; + min-width: 100%; + min-height: 100%; + will-change: transform; + display: none; +} +.q-popup-edit { + padding: 8px 16px; +} +.q-popup-edit__buttons { + margin-top: 8px; +} +.q-popup-edit__buttons .q-btn + .q-btn { + margin-left: 8px; +} +.q-pull-to-refresh { + position: relative; +} +.q-pull-to-refresh__puller { + border-radius: 50%; + width: 40px; + height: 40px; + color: var(--q-primary); + background: #fff; + box-shadow: 0 0 4px #0000004d; +} +.q-pull-to-refresh__puller--animating { + transition: transform 0.3s, opacity 0.3s; +} +.q-radio { + vertical-align: middle; +} +.q-radio__native { + width: 1px; + height: 1px; +} +.q-radio__bg, +.q-radio__icon-container { + -webkit-user-select: none; + user-select: none; +} +.q-radio__bg { + top: 25%; + left: 25%; + width: 50%; + height: 50%; + -webkit-print-color-adjust: exact; +} +.q-radio__bg path { + fill: currentColor; +} +.q-radio__icon { + color: currentColor; + font-size: 0.5em; +} +.q-radio__check { + transform-origin: 50% 50%; + transform: scale3d(0, 0, 1); + transition: transform 0.22s cubic-bezier(0, 0, 0.2, 1) 0ms; +} +.q-radio__inner { + font-size: 40px; + width: 1em; + min-width: 1em; + height: 1em; + outline: 0; + border-radius: 50%; + color: #0000008a; +} +.q-radio__inner--truthy { + color: var(--q-primary); +} +.q-radio__inner--truthy .q-radio__check { + transform: scaleZ(1); +} +.q-radio.disabled { + opacity: 0.75 !important; +} +.q-radio--dark .q-radio__inner { + color: #ffffffb3; +} +.q-radio--dark .q-radio__inner:before { + opacity: 0.32 !important; +} +.q-radio--dark .q-radio__inner--truthy { + color: var(--q-primary); +} +.q-radio--dense .q-radio__inner { + width: 0.5em; + min-width: 0.5em; + height: 0.5em; +} +.q-radio--dense .q-radio__bg { + left: 0; + top: 0; + width: 100%; + height: 100%; +} +.q-radio--dense .q-radio__label { + padding-left: 0.5em; +} +.q-radio--dense.reverse .q-radio__label { + padding-left: 0; + padding-right: 0.5em; +} +body.desktop .q-radio:not(.disabled) .q-radio__inner:before { + content: ""; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + border-radius: 50%; + background: currentColor; + opacity: 0.12; + transform: scale3d(0, 0, 1); + transition: transform 0.22s cubic-bezier(0, 0, 0.2, 1) 0ms; +} +body.desktop .q-radio:not(.disabled):focus .q-radio__inner:before, +body.desktop .q-radio:not(.disabled):hover .q-radio__inner:before { + transform: scaleZ(1); +} +body.desktop .q-radio--dense:not(.disabled):focus .q-radio__inner:before, +body.desktop .q-radio--dense:not(.disabled):hover .q-radio__inner:before { + transform: scale3d(1.5, 1.5, 1); +} +.q-rating { + color: #ffeb3b; + vertical-align: middle; +} +.q-rating__icon-container { + height: 1em; + outline: 0; +} +.q-rating__icon-container + .q-rating__icon-container { + margin-left: 2px; +} +.q-rating__icon { + color: currentColor; + text-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + position: relative; + opacity: 0.4; + transition: transform 0.2s ease-in, opacity 0.2s ease-in; +} +.q-rating__icon--hovered { + transform: scale(1.3); +} +.q-rating__icon--active { + opacity: 1; +} +.q-rating__icon--exselected { + opacity: 0.7; +} +.q-rating--no-dimming .q-rating__icon { + opacity: 1; +} +.q-rating--editable .q-rating__icon-container { + cursor: pointer; +} +.q-responsive { + position: relative; + max-width: 100%; + max-height: 100%; +} +.q-responsive__filler { + width: inherit; + max-width: inherit; + height: inherit; + max-height: inherit; +} +.q-responsive__content { + border-radius: inherit; +} +.q-responsive__content > * { + width: 100% !important; + height: 100% !important; + max-height: 100% !important; + max-width: 100% !important; +} +.q-scrollarea { + position: relative; + contain: strict; +} +.q-scrollarea__bar, +.q-scrollarea__thumb { + opacity: 0.2; + transition: opacity 0.3s; + will-change: opacity; + cursor: grab; +} +.q-scrollarea__bar--v, +.q-scrollarea__thumb--v { + right: 0; + width: 10px; +} +.q-scrollarea__bar--h, +.q-scrollarea__thumb--h { + bottom: 0; + height: 10px; +} +.q-scrollarea__bar--invisible, +.q-scrollarea__thumb--invisible { + opacity: 0 !important; + pointer-events: none; +} +.q-scrollarea__thumb { + background: #000; + border-radius: 3px; +} +.q-scrollarea__thumb:hover { + opacity: 0.3; +} +.q-scrollarea__thumb:active { + opacity: 0.5; +} +.q-scrollarea__content { + min-height: 100%; + min-width: 100%; +} +.q-scrollarea--dark .q-scrollarea__thumb { + background: #fff; +} +.q-select--without-input .q-field__control { + cursor: pointer; +} +.q-select--with-input .q-field__control { + cursor: text; +} +.q-select .q-field__input { + min-width: 50px !important; + cursor: text; +} +.q-select .q-field__input--padding { + padding-left: 4px; +} +.q-select__focus-target, +.q-select__autocomplete-input { + position: absolute; + outline: 0 !important; + width: 1px; + height: 1px; + padding: 0; + border: 0; + opacity: 0; +} +.q-select__dropdown-icon { + cursor: pointer; + transition: transform 0.28s; +} +.q-select.q-field--readonly .q-field__control, +.q-select.q-field--readonly .q-select__dropdown-icon { + cursor: default; +} +.q-select__dialog { + width: 90vw !important; + max-width: 90vw !important; + max-height: calc(100vh - 70px) !important; + background: #fff; + display: flex; + flex-direction: column; +} +.q-select__dialog > .scroll { + position: relative; + background: inherit; +} +body.mobile:not(.native-mobile) .q-select__dialog { + max-height: calc(100vh - 108px) !important; +} +body.platform-android.native-mobile .q-dialog__inner--top .q-select__dialog { + max-height: calc(100vh - 24px) !important; +} +body.platform-android:not(.native-mobile) + .q-dialog__inner--top + .q-select__dialog { + max-height: calc(100vh - 80px) !important; +} +body.platform-ios.native-mobile .q-dialog__inner--top > div { + border-radius: 4px; +} +body.platform-ios.native-mobile + .q-dialog__inner--top + .q-select__dialog--focused { + max-height: 47vh !important; +} +body.platform-ios:not(.native-mobile) + .q-dialog__inner--top + .q-select__dialog--focused { + max-height: 50vh !important; +} +.q-separator { + border: 0; + background: rgba(0, 0, 0, 0.12); + margin: 0; + transition: background 0.3s, opacity 0.3s; + flex-shrink: 0; +} +.q-separator--dark { + background: rgba(255, 255, 255, 0.28); +} +.q-separator--horizontal { + display: block; + height: 1px; +} +.q-separator--horizontal-inset { + margin-left: 16px; + margin-right: 16px; +} +.q-separator--horizontal-item-inset { + margin-left: 72px; + margin-right: 0; +} +.q-separator--horizontal-item-thumbnail-inset { + margin-left: 116px; + margin-right: 0; +} +.q-separator--vertical { + width: 1px; + height: auto; + align-self: stretch; +} +.q-separator--vertical-inset { + margin-top: 8px; + margin-bottom: 8px; +} +.q-skeleton { + --q-skeleton-speed: 1.5s; + background: rgba(0, 0, 0, 0.12); + border-radius: 4px; + box-sizing: border-box; +} +.q-skeleton--anim { + cursor: wait; +} +.q-skeleton:before { + content: "\a0"; +} +.q-skeleton--type-text { + transform: scaleY(0.5); +} +.q-skeleton--type-circle, +.q-skeleton--type-QAvatar { + height: 48px; + width: 48px; + border-radius: 50%; +} +.q-skeleton--type-QBtn { + width: 90px; + height: 36px; +} +.q-skeleton--type-QBadge { + width: 70px; + height: 16px; +} +.q-skeleton--type-QChip { + width: 90px; + height: 28px; + border-radius: 16px; +} +.q-skeleton--type-QToolbar { + height: 50px; +} +.q-skeleton--type-QCheckbox, +.q-skeleton--type-QRadio { + width: 40px; + height: 40px; + border-radius: 50%; +} +.q-skeleton--type-QToggle { + width: 56px; + height: 40px; + border-radius: 7px; +} +.q-skeleton--type-QSlider, +.q-skeleton--type-QRange { + height: 40px; +} +.q-skeleton--type-QInput { + height: 56px; +} +.q-skeleton--bordered { + border: 1px solid rgba(0, 0, 0, 0.05); +} +.q-skeleton--square { + border-radius: 0; +} +.q-skeleton--anim-fade { + animation: q-skeleton--fade var(--q-skeleton-speed) linear 0.5s infinite; +} +.q-skeleton--anim-pulse { + animation: q-skeleton--pulse var(--q-skeleton-speed) ease-in-out 0.5s infinite; +} +.q-skeleton--anim-pulse-x { + animation: q-skeleton--pulse-x var(--q-skeleton-speed) ease-in-out 0.5s + infinite; +} +.q-skeleton--anim-pulse-y { + animation: q-skeleton--pulse-y var(--q-skeleton-speed) ease-in-out 0.5s + infinite; +} +.q-skeleton--anim-wave, +.q-skeleton--anim-blink, +.q-skeleton--anim-pop { + position: relative; + overflow: hidden; + z-index: 1; +} +.q-skeleton--anim-wave:after, +.q-skeleton--anim-blink:after, +.q-skeleton--anim-pop:after { + content: ""; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 0; +} +.q-skeleton--anim-blink:after { + background: rgba(255, 255, 255, 0.7); + animation: q-skeleton--fade var(--q-skeleton-speed) linear 0.5s infinite; +} +.q-skeleton--anim-wave:after { + background: linear-gradient( + 90deg, + rgba(255, 255, 255, 0), + rgba(255, 255, 255, 0.5), + rgba(255, 255, 255, 0) + ); + animation: q-skeleton--wave var(--q-skeleton-speed) linear 0.5s infinite; +} +.q-skeleton--dark { + background: rgba(255, 255, 255, 0.05); +} +.q-skeleton--dark.q-skeleton--bordered { + border: 1px solid rgba(255, 255, 255, 0.25); +} +.q-skeleton--dark.q-skeleton--anim-wave:after { + background: linear-gradient( + 90deg, + rgba(255, 255, 255, 0), + rgba(255, 255, 255, 0.1), + rgba(255, 255, 255, 0) + ); +} +.q-skeleton--dark.q-skeleton--anim-blink:after { + background: rgba(255, 255, 255, 0.2); +} +@keyframes q-skeleton--fade { + 0% { + opacity: 1; + } + 50% { + opacity: 0.4; + } + to { + opacity: 1; + } +} +@keyframes q-skeleton--pulse { + 0% { + transform: scale(1); + } + 50% { + transform: scale(0.85); + } + to { + transform: scale(1); + } +} +@keyframes q-skeleton--pulse-x { + 0% { + transform: scaleX(1); + } + 50% { + transform: scaleX(0.75); + } + to { + transform: scaleX(1); + } +} +@keyframes q-skeleton--pulse-y { + 0% { + transform: scaleY(1); + } + 50% { + transform: scaleY(0.75); + } + to { + transform: scaleY(1); + } +} +@keyframes q-skeleton--wave { + 0% { + transform: translate(-100%); + } + to { + transform: translate(100%); + } +} +.q-slide-item { + position: relative; + background: white; +} +.q-slide-item__left, +.q-slide-item__right, +.q-slide-item__top, +.q-slide-item__bottom { + visibility: hidden; + font-size: 14px; + color: #fff; +} +.q-slide-item__left .q-icon, +.q-slide-item__right .q-icon, +.q-slide-item__top .q-icon, +.q-slide-item__bottom .q-icon { + font-size: 1.714em; +} +.q-slide-item__left { + background: #4caf50; + padding: 8px 16px; +} +.q-slide-item__left > div { + transform-origin: left center; +} +.q-slide-item__right { + background: #ff9800; + padding: 8px 16px; +} +.q-slide-item__right > div { + transform-origin: right center; +} +.q-slide-item__top { + background: #2196f3; + padding: 16px 8px; +} +.q-slide-item__top > div { + transform-origin: top center; +} +.q-slide-item__bottom { + background: #9c27b0; + padding: 16px 8px; +} +.q-slide-item__bottom > div { + transform-origin: bottom center; +} +.q-slide-item__content { + background: inherit; + transition: transform 0.2s ease-in; + -webkit-user-select: none; + user-select: none; + cursor: pointer; +} +.q-slider { + position: relative; +} +.q-slider--h { + width: 100%; +} +.q-slider--v { + height: 200px; +} +.q-slider--editable .q-slider__track-container { + cursor: grab; +} +.q-slider__track-container { + outline: 0; +} +.q-slider__track-container--h { + width: 100%; + padding: 12px 0; +} +.q-slider__track-container--h .q-slider__selection { + will-change: width, left; +} +.q-slider__track-container--v { + height: 100%; + padding: 0 12px; +} +.q-slider__track-container--v .q-slider__selection { + will-change: height, top; +} +.q-slider__track { + color: var(--q-primary); + background: rgba(0, 0, 0, 0.1); + border-radius: 4px; + width: inherit; + height: inherit; +} +.q-slider__inner { + background: rgba(0, 0, 0, 0.1); + border-radius: inherit; + width: 100%; + height: 100%; +} +.q-slider__selection { + background: currentColor; + border-radius: inherit; + width: 100%; + height: 100%; +} +.q-slider__markers { + color: #0000004d; + border-radius: inherit; + width: 100%; + height: 100%; +} +.q-slider__markers:after { + content: ""; + position: absolute; + background: currentColor; +} +.q-slider__markers--h { + background-image: repeating-linear-gradient( + to right, + currentColor, + currentColor 2px, + rgba(255, 255, 255, 0) 0, + rgba(255, 255, 255, 0) + ); +} +.q-slider__markers--h:after { + height: 100%; + width: 2px; + top: 0; + right: 0; +} +.q-slider__markers--v { + background-image: repeating-linear-gradient( + to bottom, + currentColor, + currentColor 2px, + rgba(255, 255, 255, 0) 0, + rgba(255, 255, 255, 0) + ); +} +.q-slider__markers--v:after { + width: 100%; + height: 2px; + left: 0; + bottom: 0; +} +.q-slider__marker-labels-container { + position: relative; + width: 100%; + height: 100%; + min-height: 24px; + min-width: 24px; +} +.q-slider__marker-labels { + position: absolute; +} +.q-slider__marker-labels--h-standard { + top: 0; +} +.q-slider__marker-labels--h-switched { + bottom: 0; +} +.q-slider__marker-labels--h-ltr { + transform: translate(-50%); +} +.q-slider__marker-labels--h-rtl { + transform: translate(50%); +} +.q-slider__marker-labels--v-standard { + left: 4px; +} +.q-slider__marker-labels--v-switched { + right: 4px; +} +.q-slider__marker-labels--v-ltr { + transform: translateY(-50%); +} +.q-slider__marker-labels--v-rtl { + transform: translateY(50%); +} +.q-slider__thumb { + z-index: 1; + outline: 0; + color: var(--q-primary); + transition: transform 0.18s ease-out, fill 0.18s ease-out, + stroke 0.18s ease-out; +} +.q-slider__thumb.q-slider--focus { + opacity: 1 !important; +} +.q-slider__thumb--h { + top: 50%; + will-change: left; +} +.q-slider__thumb--h-ltr { + transform: scale(1) translate(-50%, -50%); +} +.q-slider__thumb--h-rtl { + transform: scale(1) translate(50%, -50%); +} +.q-slider__thumb--v { + left: 50%; + will-change: top; +} +.q-slider__thumb--v-ltr { + transform: scale(1) translate(-50%, -50%); +} +.q-slider__thumb--v-rtl { + transform: scale(1) translate(-50%, 50%); +} +.q-slider__thumb-shape { + top: 0; + left: 0; + stroke-width: 3.5; + stroke: currentColor; + transition: transform 0.28s; +} +.q-slider__thumb-shape path { + stroke: currentColor; + fill: currentColor; +} +.q-slider__focus-ring { + border-radius: 50%; + opacity: 0; + transition: transform 0.26667s ease-out, opacity 0.26667s ease-out, + background-color 0.26667s ease-out; + transition-delay: 0.14s; +} +.q-slider__pin { + opacity: 0; + white-space: nowrap; + transition: opacity 0.28s ease-out; + transition-delay: 0.14s; +} +.q-slider__pin:before { + content: ""; + width: 0; + height: 0; + position: absolute; +} +.q-slider__pin--h:before { + border-left: 6px solid transparent; + border-right: 6px solid transparent; + left: 50%; + transform: translate(-50%); +} +.q-slider__pin--h-standard { + bottom: 100%; +} +.q-slider__pin--h-standard:before { + bottom: 2px; + border-top: 6px solid currentColor; +} +.q-slider__pin--h-switched { + top: 100%; +} +.q-slider__pin--h-switched:before { + top: 2px; + border-bottom: 6px solid currentColor; +} +.q-slider__pin--v { + top: 0; +} +.q-slider__pin--v:before { + top: 50%; + transform: translateY(-50%); + border-top: 6px solid transparent; + border-bottom: 6px solid transparent; +} +.q-slider__pin--v-standard { + left: 100%; +} +.q-slider__pin--v-standard:before { + left: 2px; + border-right: 6px solid currentColor; +} +.q-slider__pin--v-switched { + right: 100%; +} +.q-slider__pin--v-switched:before { + right: 2px; + border-left: 6px solid currentColor; +} +.q-slider__label { + z-index: 1; + white-space: nowrap; + position: absolute; +} +.q-slider__label--h { + left: 50%; + transform: translate(-50%); +} +.q-slider__label--h-standard { + bottom: 7px; +} +.q-slider__label--h-switched { + top: 7px; +} +.q-slider__label--v { + top: 50%; + transform: translateY(-50%); +} +.q-slider__label--v-standard { + left: 7px; +} +.q-slider__label--v-switched { + right: 7px; +} +.q-slider__text-container { + min-height: 25px; + padding: 2px 8px; + border-radius: 4px; + background: currentColor; + position: relative; + text-align: center; +} +.q-slider__text { + color: #fff; + font-size: 12px; +} +.q-slider--no-value .q-slider__thumb, +.q-slider--no-value .q-slider__inner, +.q-slider--no-value .q-slider__selection { + opacity: 0; +} +.q-slider--focus .q-slider__focus-ring, +body.desktop + .q-slider.q-slider--editable + .q-slider__track-container:hover + .q-slider__focus-ring { + background: currentColor; + transform: scale3d(1.55, 1.55, 1); + opacity: 0.25; +} +.q-slider--focus .q-slider__thumb, +.q-slider--focus .q-slider__inner, +.q-slider--focus .q-slider__selection, +body.desktop + .q-slider.q-slider--editable + .q-slider__track-container:hover + .q-slider__thumb, +body.desktop + .q-slider.q-slider--editable + .q-slider__track-container:hover + .q-slider__inner, +body.desktop + .q-slider.q-slider--editable + .q-slider__track-container:hover + .q-slider__selection { + opacity: 1; +} +.q-slider--inactive .q-slider__thumb--h { + transition: left 0.28s, right 0.28s; +} +.q-slider--inactive .q-slider__thumb--v { + transition: top 0.28s, bottom 0.28s; +} +.q-slider--inactive .q-slider__selection { + transition: width 0.28s, left 0.28s, right 0.28s, height 0.28s, top 0.28s, + bottom 0.28s; +} +.q-slider--inactive .q-slider__text-container { + transition: transform 0.28s; +} +.q-slider--active { + cursor: grabbing; +} +.q-slider--active .q-slider__thumb-shape { + transform: scale(1.5); +} +.q-slider--active .q-slider__focus-ring, +.q-slider--active.q-slider--label .q-slider__thumb-shape { + transform: scale(0) !important; +} +body.desktop + .q-slider.q-slider--enabled + .q-slider__track-container:hover + .q-slider__pin, +.q-slider--label.q-slider--active .q-slider__pin, +.q-slider--label .q-slider--focus .q-slider__pin, +.q-slider--label.q-slider--label-always .q-slider__pin { + opacity: 1; +} +.q-slider--dark .q-slider__track, +.q-slider--dark .q-slider__inner { + background: rgba(255, 255, 255, 0.1); +} +.q-slider--dark .q-slider__markers { + color: #ffffff4d; +} +.q-slider--dense .q-slider__track-container--h { + padding: 6px 0; +} +.q-slider--dense .q-slider__track-container--v { + padding: 0 6px; +} +.q-space { + flex-grow: 1 !important; +} +.q-spinner { + vertical-align: middle; +} +.q-spinner-mat { + animation: q-spin 2s linear infinite; + transform-origin: center center; +} +.q-spinner-mat .path { + stroke-dasharray: 1, 200; + stroke-dashoffset: 0; + animation: q-mat-dash 1.5s ease-in-out infinite; +} +@keyframes q-spin { + 0% { + transform: rotate3d(0, 0, 1, 0); + } + 25% { + transform: rotate3d(0, 0, 1, 90deg); + } + 50% { + transform: rotate3d(0, 0, 1, 180deg); + } + 75% { + transform: rotate3d(0, 0, 1, 270deg); + } + to { + transform: rotate3d(0, 0, 1, 359deg); + } +} +@keyframes q-mat-dash { + 0% { + stroke-dasharray: 1, 200; + stroke-dashoffset: 0; + } + 50% { + stroke-dasharray: 89, 200; + stroke-dashoffset: -35px; + } + to { + stroke-dasharray: 89, 200; + stroke-dashoffset: -124px; + } +} +.q-splitter__panel { + position: relative; + z-index: 0; +} +.q-splitter__panel > .q-splitter { + width: 100%; + height: 100%; +} +.q-splitter__separator { + background-color: #0000001f; + -webkit-user-select: none; + user-select: none; + position: relative; + z-index: 1; +} +.q-splitter__separator-area > * { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); +} +.q-splitter--dark .q-splitter__separator { + background-color: #ffffff47; +} +.q-splitter--vertical > .q-splitter__panel { + height: 100%; +} +.q-splitter--vertical.q-splitter--active { + cursor: col-resize; +} +.q-splitter--vertical > .q-splitter__separator { + width: 1px; +} +.q-splitter--vertical > .q-splitter__separator > div { + left: -6px; + right: -6px; +} +.q-splitter--vertical.q-splitter--workable > .q-splitter__separator { + cursor: col-resize; +} +.q-splitter--horizontal > .q-splitter__panel { + width: 100%; +} +.q-splitter--horizontal.q-splitter--active { + cursor: row-resize; +} +.q-splitter--horizontal > .q-splitter__separator { + height: 1px; +} +.q-splitter--horizontal > .q-splitter__separator > div { + top: -6px; + bottom: -6px; +} +.q-splitter--horizontal.q-splitter--workable > .q-splitter__separator { + cursor: row-resize; +} +.q-splitter__before, +.q-splitter__after { + overflow: auto; +} +.q-stepper { + box-shadow: 0 1px 5px #0003, 0 2px 2px #00000024, 0 3px 1px -2px #0000001f; + border-radius: 4px; + background: #fff; +} +.q-stepper__title { + font-size: 14px; + line-height: 18px; + letter-spacing: 0.1px; +} +.q-stepper__caption { + font-size: 12px; + line-height: 14px; +} +.q-stepper__dot { + contain: layout; + margin-right: 8px; + font-size: 14px; + width: 24px; + min-width: 24px; + height: 24px; + border-radius: 50%; + background: currentColor; +} +.q-stepper__dot span { + color: #fff; +} +.q-stepper__tab { + padding: 8px 24px; + font-size: 14px; + color: #9e9e9e; + flex-direction: row; +} +.q-stepper--dark { + box-shadow: 0 1px 5px #fff3, 0 2px 2px #ffffff24, 0 3px 1px -2px #ffffff1f; +} +.q-stepper--dark .q-stepper__dot span { + color: #000; +} +.q-stepper__tab--navigation { + -webkit-user-select: none; + user-select: none; + cursor: pointer; +} +.q-stepper__tab--active, +.q-stepper__tab--done { + color: var(--q-primary); +} +.q-stepper__tab--active .q-stepper__dot, +.q-stepper__tab--active .q-stepper__label, +.q-stepper__tab--done .q-stepper__dot, +.q-stepper__tab--done .q-stepper__label { + text-shadow: 0 0 0 currentColor; +} +.q-stepper__tab--disabled .q-stepper__dot { + background: rgba(0, 0, 0, 0.22); +} +.q-stepper__tab--disabled .q-stepper__label { + color: #00000052; +} +.q-stepper__tab--error { + color: var(--q-negative); +} +.q-stepper__tab--error-with-icon .q-stepper__dot { + background: transparent !important; +} +.q-stepper__tab--error-with-icon .q-stepper__dot span { + color: currentColor; + font-size: 24px; +} +.q-stepper__header { + border-top-left-radius: inherit; + border-top-right-radius: inherit; +} +.q-stepper__header--border { + border-bottom: 1px solid rgba(0, 0, 0, 0.12); +} +.q-stepper__header--standard-labels .q-stepper__tab { + min-height: 72px; + justify-content: center; +} +.q-stepper__header--standard-labels .q-stepper__tab:first-child { + justify-content: flex-start; +} +.q-stepper__header--standard-labels .q-stepper__tab:last-child { + justify-content: flex-end; +} +.q-stepper__header--standard-labels .q-stepper__tab:only-child { + justify-content: center; +} +.q-stepper__header--standard-labels .q-stepper__dot:after { + display: none; +} +.q-stepper__header--alternative-labels .q-stepper__tab { + min-height: 104px; + padding: 24px 32px; + flex-direction: column; + justify-content: flex-start; +} +.q-stepper__header--alternative-labels .q-stepper__dot { + margin-right: 0; +} +.q-stepper__header--alternative-labels .q-stepper__label { + margin-top: 8px; + text-align: center; +} +.q-stepper__header--alternative-labels .q-stepper__label:before, +.q-stepper__header--alternative-labels .q-stepper__label:after { + display: none; +} +.q-stepper__header--contracted, +.q-stepper__header--contracted.q-stepper__header--alternative-labels + .q-stepper__tab { + min-height: 72px; +} +.q-stepper__header--contracted.q-stepper__header--alternative-labels + .q-stepper__tab:first-child { + align-items: flex-start; +} +.q-stepper__header--contracted.q-stepper__header--alternative-labels + .q-stepper__tab:last-child { + align-items: flex-end; +} +.q-stepper__header--contracted .q-stepper__tab { + padding: 24px 0; +} +.q-stepper__header--contracted .q-stepper__tab:first-child .q-stepper__dot { + transform: translate(24px); +} +.q-stepper__header--contracted .q-stepper__tab:last-child .q-stepper__dot { + transform: translate(-24px); +} +.q-stepper__header--contracted + .q-stepper__tab:not(:last-child) + .q-stepper__dot:after { + display: block !important; +} +.q-stepper__header--contracted .q-stepper__dot { + margin: 0; +} +.q-stepper__header--contracted .q-stepper__label { + display: none; +} +.q-stepper__nav { + padding-top: 24px; +} +.q-stepper--flat { + box-shadow: none; +} +.q-stepper--bordered { + border: 1px solid rgba(0, 0, 0, 0.12); +} +.q-stepper--horizontal .q-stepper__step-inner { + padding: 24px; +} +.q-stepper--horizontal .q-stepper__tab:first-child { + border-top-left-radius: inherit; +} +.q-stepper--horizontal .q-stepper__tab:last-child { + border-top-right-radius: inherit; +} +.q-stepper--horizontal .q-stepper__tab:first-child .q-stepper__dot:before, +.q-stepper--horizontal .q-stepper__tab:last-child .q-stepper__label:after, +.q-stepper--horizontal .q-stepper__tab:last-child .q-stepper__dot:after { + display: none; +} +.q-stepper--horizontal .q-stepper__tab { + overflow: hidden; +} +.q-stepper--horizontal .q-stepper__line { + contain: layout; +} +.q-stepper--horizontal .q-stepper__line:before, +.q-stepper--horizontal .q-stepper__line:after { + position: absolute; + top: 50%; + height: 1px; + width: 100vw; + background: rgba(0, 0, 0, 0.12); +} +.q-stepper--horizontal .q-stepper__label:after, +.q-stepper--horizontal .q-stepper__dot:after { + content: ""; + left: 100%; + margin-left: 8px; +} +.q-stepper--horizontal .q-stepper__dot:before { + content: ""; + right: 100%; + margin-right: 8px; +} +.q-stepper--horizontal > .q-stepper__nav { + padding: 0 24px 24px; +} +.q-stepper--vertical { + padding: 16px 0; +} +.q-stepper--vertical .q-stepper__tab { + padding: 12px 24px; +} +.q-stepper--vertical .q-stepper__title { + line-height: 18px; +} +.q-stepper--vertical .q-stepper__step-inner { + padding: 0 24px 32px 60px; +} +.q-stepper--vertical > .q-stepper__nav { + padding: 24px 24px 0; +} +.q-stepper--vertical .q-stepper__step { + overflow: hidden; +} +.q-stepper--vertical .q-stepper__dot { + margin-right: 12px; +} +.q-stepper--vertical .q-stepper__dot:before, +.q-stepper--vertical .q-stepper__dot:after { + content: ""; + position: absolute; + left: 50%; + width: 1px; + height: 99999px; + background: rgba(0, 0, 0, 0.12); +} +.q-stepper--vertical .q-stepper__dot:before { + bottom: 100%; + margin-bottom: 8px; +} +.q-stepper--vertical .q-stepper__dot:after { + top: 100%; + margin-top: 8px; +} +.q-stepper--vertical .q-stepper__step:first-child .q-stepper__dot:before, +.q-stepper--vertical .q-stepper__step:last-child .q-stepper__dot:after { + display: none; +} +.q-stepper--vertical .q-stepper__step:last-child .q-stepper__step-inner { + padding-bottom: 8px; +} +.q-stepper--dark.q-stepper--bordered, +.q-stepper--dark .q-stepper__header--border { + border-color: #ffffff47; +} +.q-stepper--dark.q-stepper--horizontal .q-stepper__line:before, +.q-stepper--dark.q-stepper--horizontal .q-stepper__line:after { + background: rgba(255, 255, 255, 0.28); +} +.q-stepper--dark.q-stepper--vertical .q-stepper__dot:before, +.q-stepper--dark.q-stepper--vertical .q-stepper__dot:after { + background: rgba(255, 255, 255, 0.28); +} +.q-stepper--dark .q-stepper__tab--disabled { + color: #ffffff47; +} +.q-stepper--dark .q-stepper__tab--disabled .q-stepper__dot { + background: rgba(255, 255, 255, 0.28); +} +.q-stepper--dark .q-stepper__tab--disabled .q-stepper__label { + color: #ffffff8a; +} +.q-tab-panels { + background: #fff; +} +.q-tab-panel { + padding: 16px; +} +.q-markup-table { + overflow: auto; + background: #fff; +} +.q-table { + width: 100%; + max-width: 100%; + border-collapse: separate; + border-spacing: 0; +} +.q-table thead tr, +.q-table tbody td { + height: 48px; +} +.q-table th { + font-weight: 500; + font-size: 12px; + -webkit-user-select: none; + user-select: none; +} +.q-table th.sortable { + cursor: pointer; +} +.q-table th.sortable:hover .q-table__sort-icon { + opacity: 0.64; +} +.q-table th.sorted .q-table__sort-icon { + opacity: 0.86 !important; +} +.q-table th.sort-desc .q-table__sort-icon { + transform: rotate(180deg); +} +.q-table th, +.q-table td { + padding: 7px 16px; + background-color: inherit; +} +.q-table thead, +.q-table td, +.q-table th { + border-style: solid; + border-width: 0; +} +.q-table tbody td { + font-size: 13px; +} +.q-table__card { + color: #000; + background-color: #fff; + border-radius: 4px; + box-shadow: 0 1px 5px #0003, 0 2px 2px #00000024, 0 3px 1px -2px #0000001f; +} +.q-table__card .q-table__middle { + flex: 1 1 auto; +} +.q-table__card .q-table__top, +.q-table__card .q-table__bottom { + flex: 0 0 auto; +} +.q-table__container { + position: relative; +} +.q-table__container > div:first-child { + border-top-left-radius: inherit; + border-top-right-radius: inherit; +} +.q-table__container > div:last-child { + border-bottom-left-radius: inherit; + border-bottom-right-radius: inherit; +} +.q-table__container > .q-inner-loading { + border-radius: inherit !important; +} +.q-table__top { + padding: 12px 16px; +} +.q-table__top .q-table__control { + flex-wrap: wrap; +} +.q-table__title { + font-size: 20px; + letter-spacing: 0.005em; + font-weight: 400; +} +.q-table__separator { + min-width: 8px !important; +} +.q-table__progress { + height: 0 !important; +} +.q-table__progress th { + padding: 0 !important; + border: 0 !important; +} +.q-table__progress .q-linear-progress { + position: absolute; + bottom: 0; +} +.q-table__middle { + max-width: 100%; +} +.q-table__bottom { + min-height: 50px; + padding: 4px 14px 4px 16px; + font-size: 12px; +} +.q-table__bottom .q-table__control { + min-height: 24px; +} +.q-table__bottom-nodata-icon { + font-size: 200%; + margin-right: 8px; +} +.q-table__bottom-item { + margin-right: 16px; +} +.q-table__control { + display: flex; + align-items: center; +} +.q-table__sort-icon { + transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.5, 1); + opacity: 0; + font-size: 120%; +} +.q-table__sort-icon--left, +.q-table__sort-icon--center { + margin-left: 4px; +} +.q-table__sort-icon--right { + margin-right: 4px; +} +.q-table--col-auto-width { + width: 1px; +} +.q-table__card--dark, +.q-table--dark { + box-shadow: 0 1px 5px #fff3, 0 2px 2px #ffffff24, 0 3px 1px -2px #ffffff1f; +} +.q-table--flat { + box-shadow: none; +} +.q-table--bordered { + border: 1px solid rgba(0, 0, 0, 0.12); +} +.q-table--square { + border-radius: 0; +} +.q-table__linear-progress { + height: 2px; +} +.q-table--no-wrap th, +.q-table--no-wrap td { + white-space: nowrap; +} +.q-table--grid { + box-shadow: none; + border-radius: 4px; +} +.q-table--grid .q-table__top { + padding-bottom: 4px; +} +.q-table--grid .q-table__middle { + min-height: 2px; + margin-bottom: 4px; +} +.q-table--grid .q-table__middle thead, +.q-table--grid .q-table__middle thead th { + border: 0 !important; +} +.q-table--grid .q-table__linear-progress { + bottom: 0; +} +.q-table--grid .q-table__bottom { + border-top: 0; +} +.q-table--grid .q-table__grid-content { + flex: 1 1 auto; +} +.q-table--grid.fullscreen { + background: inherit; +} +.q-table__grid-item-card { + vertical-align: top; + padding: 12px; +} +.q-table__grid-item-card .q-separator { + margin: 12px 0; +} +.q-table__grid-item-row + .q-table__grid-item-row { + margin-top: 8px; +} +.q-table__grid-item-title { + opacity: 0.54; + font-weight: 500; + font-size: 12px; +} +.q-table__grid-item-value { + font-size: 13px; +} +.q-table__grid-item { + padding: 4px; + transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.5, 1); +} +.q-table__grid-item--selected { + transform: scale(0.95); +} +.q-table--horizontal-separator thead th, +.q-table--horizontal-separator tbody tr:not(:last-child) > td, +.q-table--cell-separator thead th, +.q-table--cell-separator tbody tr:not(:last-child) > td { + border-bottom-width: 1px; +} +.q-table--vertical-separator td, +.q-table--vertical-separator th, +.q-table--cell-separator td, +.q-table--cell-separator th { + border-left-width: 1px; +} +.q-table--vertical-separator thead tr:last-child th, +.q-table--vertical-separator.q-table--loading tr:nth-last-child(2) th, +.q-table--cell-separator thead tr:last-child th, +.q-table--cell-separator.q-table--loading tr:nth-last-child(2) th { + border-bottom-width: 1px; +} +.q-table--vertical-separator td:first-child, +.q-table--vertical-separator th:first-child, +.q-table--cell-separator td:first-child, +.q-table--cell-separator th:first-child { + border-left: 0; +} +.q-table--vertical-separator .q-table__top, +.q-table--cell-separator .q-table__top { + border-bottom: 1px solid rgba(0, 0, 0, 0.12); +} +.q-table--dense .q-table__top { + padding: 6px 16px; +} +.q-table--dense .q-table__bottom { + min-height: 33px; +} +.q-table--dense .q-table__sort-icon { + font-size: 110%; +} +.q-table--dense .q-table th, +.q-table--dense .q-table td { + padding: 4px 8px; +} +.q-table--dense .q-table thead tr, +.q-table--dense .q-table tbody tr, +.q-table--dense .q-table tbody td { + height: 28px; +} +.q-table--dense .q-table th:first-child, +.q-table--dense .q-table td:first-child { + padding-left: 16px; +} +.q-table--dense .q-table th:last-child, +.q-table--dense .q-table td:last-child { + padding-right: 16px; +} +.q-table--dense .q-table__bottom-item { + margin-right: 8px; +} +.q-table--dense .q-table__select .q-field__control, +.q-table--dense .q-table__select .q-field__native { + min-height: 24px; + padding: 0; +} +.q-table--dense .q-table__select .q-field__marginal { + height: 24px; +} +.q-table__bottom { + border-top: 1px solid rgba(0, 0, 0, 0.12); +} +.q-table thead, +.q-table tr, +.q-table th, +.q-table td { + border-color: #0000001f; +} +.q-table tbody td { + position: relative; +} +.q-table tbody td:before, +.q-table tbody td:after { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + pointer-events: none; +} +.q-table tbody td:before { + background: rgba(0, 0, 0, 0.03); +} +.q-table tbody td:after { + background: rgba(0, 0, 0, 0.06); +} +.q-table tbody tr.selected td:after { + content: ""; +} +body.desktop + .q-table + > tbody + > tr:not(.q-tr--no-hover):hover + > td:not(.q-td--no-hover):before { + content: ""; +} +.q-table__card--dark, +.q-table--dark, +.q-table--dark .q-table__bottom, +.q-table--dark thead, +.q-table--dark tr, +.q-table--dark th, +.q-table--dark td { + border-color: #ffffff47; +} +.q-table--dark tbody td:before { + background: rgba(255, 255, 255, 0.07); +} +.q-table--dark tbody td:after { + background: rgba(255, 255, 255, 0.1); +} +.q-table--dark.q-table--vertical-separator .q-table__top, +.q-table--dark.q-table--cell-separator .q-table__top { + border-color: #ffffff47; +} +.q-tab { + padding: 0 16px; + min-height: 48px; + transition: color 0.3s, background-color 0.3s; + text-transform: uppercase; + white-space: nowrap; + color: inherit; + text-decoration: none; +} +.q-tab--full { + min-height: 72px; +} +.q-tab--no-caps { + text-transform: none; +} +.q-tab__content { + height: inherit; + padding: 4px 0; + min-width: 40px; +} +.q-tab__content--inline .q-tab__icon + .q-tab__label { + padding-left: 8px; +} +.q-tab__content .q-chip--floating { + top: 0; + right: -16px; +} +.q-tab__icon { + width: 24px; + height: 24px; + font-size: 24px; +} +.q-tab__label { + font-size: 14px; + line-height: 1.715em; + font-weight: 500; +} +.q-tab .q-badge { + top: 3px; + right: -12px; +} +.q-tab__alert, +.q-tab__alert-icon { + position: absolute; +} +.q-tab__alert { + top: 7px; + right: -9px; + height: 10px; + width: 10px; + border-radius: 50%; + background: currentColor; +} +.q-tab__alert-icon { + top: 2px; + right: -12px; + font-size: 18px; +} +.q-tab__indicator { + opacity: 0; + height: 2px; + background: currentColor; +} +.q-tab--active .q-tab__indicator { + opacity: 1; + transform-origin: left; +} +.q-tab--inactive { + opacity: 0.85; +} +.q-tabs { + position: relative; + transition: color 0.3s, background-color 0.3s; +} +.q-tabs--scrollable.q-tabs__arrows--outside.q-tabs--horizontal { + padding-left: 36px; + padding-right: 36px; +} +.q-tabs--scrollable.q-tabs__arrows--outside.q-tabs--vertical { + padding-top: 36px; + padding-bottom: 36px; +} +.q-tabs--scrollable.q-tabs__arrows--outside .q-tabs__arrow--faded { + opacity: 0.3; + pointer-events: none; +} +.q-tabs--scrollable.q-tabs__arrows--inside .q-tabs__arrow--faded { + display: none; +} +.q-tabs--not-scrollable.q-tabs__arrows--outside, +body.mobile + .q-tabs--scrollable.q-tabs--mobile-without-arrows.q-tabs__arrows--outside { + padding-left: 0; + padding-right: 0; +} +.q-tabs--not-scrollable .q-tabs__arrow, +body.mobile .q-tabs--scrollable.q-tabs--mobile-without-arrows .q-tabs__arrow { + display: none; +} +.q-tabs--not-scrollable .q-tabs__content, +body.mobile .q-tabs--scrollable.q-tabs--mobile-without-arrows .q-tabs__content { + border-radius: inherit; +} +.q-tabs__arrow { + cursor: pointer; + font-size: 32px; + min-width: 36px; + text-shadow: 0 0 3px #fff, 0 0 1px #fff, 0 0 1px #000; + transition: opacity 0.3s; +} +.q-tabs__content { + overflow: hidden; + flex: 1 1 auto; +} +.q-tabs__content--align-center { + justify-content: center; +} +.q-tabs__content--align-right { + justify-content: flex-end; +} +.q-tabs__content--align-justify .q-tab { + flex: 1 1 auto; +} +.q-tabs__offset { + display: none; +} +.q-tabs--horizontal .q-tabs__arrow { + height: 100%; +} +.q-tabs--horizontal .q-tabs__arrow--left { + top: 0; + left: 0; + bottom: 0; +} +.q-tabs--horizontal .q-tabs__arrow--right { + top: 0; + right: 0; + bottom: 0; +} +.q-tabs--vertical, +.q-tabs--vertical .q-tabs__content { + display: block !important; + height: 100%; +} +.q-tabs--vertical .q-tabs__arrow { + width: 100%; + height: 36px; + text-align: center; +} +.q-tabs--vertical .q-tabs__arrow--left { + top: 0; + left: 0; + right: 0; +} +.q-tabs--vertical .q-tabs__arrow--right { + left: 0; + right: 0; + bottom: 0; +} +.q-tabs--vertical .q-tab { + padding: 0 8px; +} +.q-tabs--vertical .q-tab__indicator { + height: unset; + width: 2px; +} +.q-tabs--vertical.q-tabs--not-scrollable .q-tabs__content { + height: 100%; +} +.q-tabs--vertical.q-tabs--dense .q-tab__content { + min-width: 24px; +} +.q-tabs--dense .q-tab { + min-height: 36px; +} +.q-tabs--dense .q-tab--full { + min-height: 52px; +} +.q-time { + box-shadow: 0 1px 5px #0003, 0 2px 2px #00000024, 0 3px 1px -2px #0000001f; + border-radius: 4px; + background: #fff; + outline: 0; + width: 290px; + min-width: 290px; + max-width: 100%; +} +.q-time--bordered { + border: 1px solid rgba(0, 0, 0, 0.12); +} +.q-time__header { + border-top-left-radius: inherit; + color: #fff; + background-color: var(--q-primary); + padding: 16px; + font-weight: 300; +} +.q-time__actions { + padding: 0 16px 16px; +} +.q-time__header-label { + font-size: 28px; + line-height: 1; + letter-spacing: -0.00833em; +} +.q-time__header-label > div + div { + margin-left: 4px; +} +.q-time__link { + opacity: 0.56; + outline: 0; + transition: opacity 0.3s ease-out; +} +.q-time__link--active, +.q-time__link:hover, +.q-time__link:focus { + opacity: 1; +} +.q-time__header-ampm { + font-size: 16px; + letter-spacing: 0.1em; +} +.q-time__content { + padding: 16px; +} +.q-time__content:before { + content: ""; + display: block; + padding-bottom: 100%; +} +.q-time__container-parent { + padding: 16px; +} +.q-time__container-child { + border-radius: 50%; + background: rgba(0, 0, 0, 0.12); +} +.q-time__clock { + padding: 24px; + width: 100%; + height: 100%; + max-width: 100%; + max-height: 100%; + font-size: 14px; +} +.q-time__clock-circle { + position: relative; +} +.q-time__clock-center { + height: 6px; + width: 6px; + margin: auto; + border-radius: 50%; + min-height: 0; + background: currentColor; +} +.q-time__clock-pointer { + width: 2px; + height: 50%; + transform-origin: 0 0; + min-height: 0; + position: absolute; + left: 50%; + right: 0; + bottom: 0; + color: var(--q-primary); + background: currentColor; + transform: translate(-50%); +} +.q-time__clock-pointer:before, +.q-time__clock-pointer:after { + content: ""; + position: absolute; + left: 50%; + border-radius: 50%; + background: currentColor; + transform: translate(-50%); +} +.q-time__clock-pointer:before { + bottom: -4px; + width: 8px; + height: 8px; +} +.q-time__clock-pointer:after { + top: -3px; + height: 6px; + width: 6px; +} +.q-time__clock-position { + position: absolute; + min-height: 32px; + width: 32px; + height: 32px; + font-size: 12px; + line-height: 32px; + margin: 0; + padding: 0; + transform: translate(-50%, -50%); + border-radius: 50%; +} +.q-time__clock-position--disable { + opacity: 0.4; +} +.q-time__clock-position--active { + background-color: var(--q-primary); + color: #fff; +} +.q-time__clock-pos-0 { + top: 0%; + left: 50%; +} +.q-time__clock-pos-1 { + top: 6.7%; + left: 75%; +} +.q-time__clock-pos-2 { + top: 25%; + left: 93.3%; +} +.q-time__clock-pos-3 { + top: 50%; + left: 100%; +} +.q-time__clock-pos-4 { + top: 75%; + left: 93.3%; +} +.q-time__clock-pos-5 { + top: 93.3%; + left: 75%; +} +.q-time__clock-pos-6 { + top: 100%; + left: 50%; +} +.q-time__clock-pos-7 { + top: 93.3%; + left: 25%; +} +.q-time__clock-pos-8 { + top: 75%; + left: 6.7%; +} +.q-time__clock-pos-9 { + top: 50%; + left: 0%; +} +.q-time__clock-pos-10 { + top: 25%; + left: 6.7%; +} +.q-time__clock-pos-11 { + top: 6.7%; + left: 25%; +} +.q-time__clock-pos-12 { + top: 15%; + left: 50%; +} +.q-time__clock-pos-13 { + top: 19.69%; + left: 67.5%; +} +.q-time__clock-pos-14 { + top: 32.5%; + left: 80.31%; +} +.q-time__clock-pos-15 { + top: 50%; + left: 85%; +} +.q-time__clock-pos-16 { + top: 67.5%; + left: 80.31%; +} +.q-time__clock-pos-17 { + top: 80.31%; + left: 67.5%; +} +.q-time__clock-pos-18 { + top: 85%; + left: 50%; +} +.q-time__clock-pos-19 { + top: 80.31%; + left: 32.5%; +} +.q-time__clock-pos-20 { + top: 67.5%; + left: 19.69%; +} +.q-time__clock-pos-21 { + top: 50%; + left: 15%; +} +.q-time__clock-pos-22 { + top: 32.5%; + left: 19.69%; +} +.q-time__clock-pos-23 { + top: 19.69%; + left: 32.5%; +} +.q-time__now-button { + background-color: var(--q-primary); + color: #fff; + top: 12px; + right: 12px; +} +.q-time.disabled .q-time__header-ampm, +.q-time.disabled .q-time__content, +.q-time--readonly .q-time__header-ampm, +.q-time--readonly .q-time__content { + pointer-events: none; +} +.q-time--portrait { + display: inline-flex; + flex-direction: column; +} +.q-time--portrait .q-time__header { + border-top-right-radius: inherit; + min-height: 86px; +} +.q-time--portrait .q-time__header-ampm { + margin-left: 12px; +} +.q-time--portrait.q-time--bordered .q-time__content { + margin: 1px 0; +} +.q-time--landscape { + display: inline-flex; + align-items: stretch; + min-width: 420px; +} +.q-time--landscape > div { + display: flex; + flex-direction: column; + justify-content: center; +} +.q-time--landscape .q-time__header { + border-bottom-left-radius: inherit; + min-width: 156px; +} +.q-time--landscape .q-time__header-ampm { + margin-top: 12px; +} +.q-time--dark { + border-color: #ffffff47; + box-shadow: 0 1px 5px #fff3, 0 2px 2px #ffffff24, 0 3px 1px -2px #ffffff1f; +} +.q-timeline { + padding: 0; + width: 100%; + list-style: none; +} +.q-timeline h6 { + line-height: inherit; +} +.q-timeline--dark { + color: #fff; +} +.q-timeline--dark .q-timeline__subtitle { + opacity: 0.7; +} +.q-timeline__content { + padding-bottom: 24px; +} +.q-timeline__title { + margin-top: 0; + margin-bottom: 16px; +} +.q-timeline__subtitle { + font-size: 12px; + margin-bottom: 8px; + opacity: 0.6; + text-transform: uppercase; + letter-spacing: 1px; + font-weight: 700; +} +.q-timeline__dot { + position: absolute; + top: 0; + bottom: 0; + width: 15px; +} +.q-timeline__dot:before, +.q-timeline__dot:after { + content: ""; + background: currentColor; + display: block; + position: absolute; +} +.q-timeline__dot:before { + border: 3px solid transparent; + border-radius: 100%; + height: 15px; + width: 15px; + top: 4px; + left: 0; + transition: background 0.3s ease-in-out, border 0.3s ease-in-out; +} +.q-timeline__dot:after { + width: 3px; + opacity: 0.4; + top: 24px; + bottom: 0; + left: 6px; +} +.q-timeline__dot .q-icon { + position: absolute; + top: 0; + left: 0; + right: 0; + font-size: 16px; + height: 38px; + line-height: 38px; + width: 100%; + color: #fff; +} +.q-timeline__dot .q-icon > svg, +.q-timeline__dot .q-icon > img { + width: 1em; + height: 1em; +} +.q-timeline__dot-img { + position: absolute; + top: 4px; + left: 0; + right: 0; + height: 31px; + width: 31px; + background: currentColor; + border-radius: 50%; +} +.q-timeline__heading { + position: relative; +} +.q-timeline__heading:first-child .q-timeline__heading-title { + padding-top: 0; +} +.q-timeline__heading:last-child .q-timeline__heading-title { + padding-bottom: 0; +} +.q-timeline__heading-title { + padding: 32px 0; + margin: 0; +} +.q-timeline__entry { + position: relative; + line-height: 22px; +} +.q-timeline__entry:last-child { + padding-bottom: 0 !important; +} +.q-timeline__entry:last-child .q-timeline__dot:after { + content: none; +} +.q-timeline__entry--icon .q-timeline__dot { + width: 31px; +} +.q-timeline__entry--icon .q-timeline__dot:before { + height: 31px; + width: 31px; +} +.q-timeline__entry--icon .q-timeline__dot:after { + top: 41px; + left: 14px; +} +.q-timeline__entry--icon .q-timeline__subtitle { + padding-top: 8px; +} +.q-timeline--dense--right .q-timeline__entry { + padding-left: 40px; +} +.q-timeline--dense--right .q-timeline__entry--icon .q-timeline__dot { + left: -8px; +} +.q-timeline--dense--right .q-timeline__dot { + left: 0; +} +.q-timeline--dense--left .q-timeline__heading { + text-align: right; +} +.q-timeline--dense--left .q-timeline__entry { + padding-right: 40px; +} +.q-timeline--dense--left .q-timeline__entry--icon .q-timeline__dot { + right: -8px; +} +.q-timeline--dense--left .q-timeline__content, +.q-timeline--dense--left .q-timeline__title, +.q-timeline--dense--left .q-timeline__subtitle { + text-align: right; +} +.q-timeline--dense--left .q-timeline__dot { + right: 0; +} +.q-timeline--comfortable { + display: table; +} +.q-timeline--comfortable .q-timeline__heading { + display: table-row; + font-size: 200%; +} +.q-timeline--comfortable .q-timeline__heading > div { + display: table-cell; +} +.q-timeline--comfortable .q-timeline__entry { + display: table-row; + padding: 0; +} +.q-timeline--comfortable .q-timeline__entry--icon .q-timeline__content { + padding-top: 8px; +} +.q-timeline--comfortable .q-timeline__subtitle, +.q-timeline--comfortable .q-timeline__dot, +.q-timeline--comfortable .q-timeline__content { + display: table-cell; + vertical-align: top; +} +.q-timeline--comfortable .q-timeline__subtitle { + width: 35%; +} +.q-timeline--comfortable .q-timeline__dot { + position: relative; + min-width: 31px; +} +.q-timeline--comfortable--right + .q-timeline__heading + .q-timeline__heading-title { + margin-left: -50px; +} +.q-timeline--comfortable--right .q-timeline__subtitle { + text-align: right; + padding-right: 30px; +} +.q-timeline--comfortable--right .q-timeline__content { + padding-left: 30px; +} +.q-timeline--comfortable--right .q-timeline__entry--icon .q-timeline__dot { + left: -8px; +} +.q-timeline--comfortable--left .q-timeline__heading { + text-align: right; +} +.q-timeline--comfortable--left .q-timeline__heading .q-timeline__heading-title { + margin-right: -50px; +} +.q-timeline--comfortable--left .q-timeline__subtitle { + padding-left: 30px; +} +.q-timeline--comfortable--left .q-timeline__content { + padding-right: 30px; +} +.q-timeline--comfortable--left .q-timeline__content, +.q-timeline--comfortable--left .q-timeline__title { + text-align: right; +} +.q-timeline--comfortable--left .q-timeline__entry--icon .q-timeline__dot { + right: 0; +} +.q-timeline--comfortable--left .q-timeline__dot { + right: -8px; +} +.q-timeline--loose .q-timeline__heading-title { + text-align: center; + margin-left: 0; +} +.q-timeline--loose .q-timeline__entry, +.q-timeline--loose .q-timeline__subtitle, +.q-timeline--loose .q-timeline__dot, +.q-timeline--loose .q-timeline__content { + display: block; + margin: 0; + padding: 0; +} +.q-timeline--loose .q-timeline__dot { + position: absolute; + left: 50%; + margin-left: -7.15px; +} +.q-timeline--loose .q-timeline__entry { + padding-bottom: 24px; + overflow: hidden; +} +.q-timeline--loose .q-timeline__entry--icon .q-timeline__dot { + margin-left: -15px; +} +.q-timeline--loose .q-timeline__entry--icon .q-timeline__subtitle { + line-height: 38px; +} +.q-timeline--loose .q-timeline__entry--icon .q-timeline__content { + padding-top: 8px; +} +.q-timeline--loose .q-timeline__entry--left .q-timeline__content, +.q-timeline--loose .q-timeline__entry--right .q-timeline__subtitle { + float: left; + padding-right: 30px; + text-align: right; +} +.q-timeline--loose .q-timeline__entry--left .q-timeline__subtitle, +.q-timeline--loose .q-timeline__entry--right .q-timeline__content { + float: right; + text-align: left; + padding-left: 30px; +} +.q-timeline--loose .q-timeline__subtitle, +.q-timeline--loose .q-timeline__content { + width: 50%; +} +.q-toggle { + vertical-align: middle; +} +.q-toggle__native { + width: 1px; + height: 1px; +} +.q-toggle__track { + height: 0.35em; + border-radius: 0.175em; + opacity: 0.38; + background: currentColor; +} +.q-toggle__thumb { + top: 0.25em; + left: 0.25em; + width: 0.5em; + height: 0.5em; + transition: left 0.22s cubic-bezier(0.4, 0, 0.2, 1); + -webkit-user-select: none; + user-select: none; + z-index: 0; +} +.q-toggle__thumb:after { + content: ""; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + border-radius: 50%; + background: #fff; + box-shadow: 0 3px 1px -2px #0003, 0 2px 2px #00000024, 0 1px 5px #0000001f; +} +.q-toggle__thumb .q-icon { + font-size: 0.3em; + min-width: 1em; + color: #000; + opacity: 0.54; + z-index: 1; +} +.q-toggle__inner { + font-size: 40px; + width: 1.4em; + min-width: 1.4em; + height: 1em; + padding: 0.325em 0.3em; + -webkit-print-color-adjust: exact; +} +.q-toggle__inner--indet .q-toggle__thumb { + left: 0.45em; +} +.q-toggle__inner--truthy { + color: var(--q-primary); +} +.q-toggle__inner--truthy .q-toggle__track { + opacity: 0.54; +} +.q-toggle__inner--truthy .q-toggle__thumb { + left: 0.65em; +} +.q-toggle__inner--truthy .q-toggle__thumb:after { + background-color: currentColor; +} +.q-toggle__inner--truthy .q-toggle__thumb .q-icon { + color: #fff; + opacity: 1; +} +.q-toggle.disabled { + opacity: 0.75 !important; +} +.q-toggle--dark .q-toggle__inner { + color: #fff; +} +.q-toggle--dark .q-toggle__inner--truthy { + color: var(--q-primary); +} +.q-toggle--dark .q-toggle__thumb:after { + box-shadow: none; +} +.q-toggle--dark .q-toggle__thumb:before { + opacity: 0.32 !important; +} +.q-toggle--dense .q-toggle__inner { + width: 0.8em; + min-width: 0.8em; + height: 0.5em; + padding: 0.07625em 0; +} +.q-toggle--dense .q-toggle__thumb { + top: 0; + left: 0; +} +.q-toggle--dense .q-toggle__inner--indet .q-toggle__thumb { + left: 0.15em; +} +.q-toggle--dense .q-toggle__inner--truthy .q-toggle__thumb { + left: 0.3em; +} +.q-toggle--dense .q-toggle__label { + padding-left: 0.5em; +} +.q-toggle--dense.reverse .q-toggle__label { + padding-left: 0; + padding-right: 0.5em; +} +body.desktop .q-toggle:not(.disabled) .q-toggle__thumb:before { + content: ""; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + border-radius: 50%; + background: currentColor; + opacity: 0.12; + transform: scale3d(0, 0, 1); + transition: transform 0.22s cubic-bezier(0, 0, 0.2, 1); +} +body.desktop .q-toggle:not(.disabled):focus .q-toggle__thumb:before, +body.desktop .q-toggle:not(.disabled):hover .q-toggle__thumb:before { + transform: scale3d(2, 2, 1); +} +body.desktop .q-toggle--dense:not(.disabled):focus .q-toggle__thumb:before, +body.desktop .q-toggle--dense:not(.disabled):hover .q-toggle__thumb:before { + transform: scale3d(1.5, 1.5, 1); +} +.q-toolbar { + position: relative; + padding: 0 12px; + min-height: 50px; + width: 100%; +} +.q-toolbar--inset { + padding-left: 58px; +} +.q-toolbar .q-avatar { + font-size: 38px; +} +.q-toolbar__title { + flex: 1 1 0%; + min-width: 1px; + max-width: 100%; + font-size: 21px; + font-weight: 400; + letter-spacing: 0.01em; + padding: 0 12px; +} +.q-toolbar__title:first-child { + padding-left: 0; +} +.q-toolbar__title:last-child { + padding-right: 0; +} +.q-tooltip--style { + font-size: 10px; + color: #fafafa; + background: #757575; + border-radius: 4px; + text-transform: none; + font-weight: 400; +} +.q-tooltip { + z-index: 9000; + position: fixed !important; + overflow-y: auto; + overflow-x: hidden; + padding: 6px 10px; +} +@media (max-width: 599.98px) { + .q-tooltip { + font-size: 14px; + padding: 8px 16px; + } +} +.q-tree { + position: relative; + color: #9e9e9e; +} +.q-tree__node { + padding: 0 0 3px 22px; +} +.q-tree__node:after { + content: ""; + position: absolute; + top: -3px; + bottom: 0; + width: 2px; + right: auto; + left: -13px; + border-left: 1px solid currentColor; +} +.q-tree__node:last-child:after { + display: none; +} +.q-tree__node--disabled { + pointer-events: none; +} +.q-tree__node--disabled .disabled { + opacity: 1 !important; +} +.q-tree__node--disabled > div, +.q-tree__node--disabled > i, +.q-tree__node--disabled > .disabled { + opacity: 0.6 !important; +} +.q-tree__node--disabled > div .q-tree__node--disabled > div, +.q-tree__node--disabled > div .q-tree__node--disabled > i, +.q-tree__node--disabled > div .q-tree__node--disabled > .disabled, +.q-tree__node--disabled > i .q-tree__node--disabled > div, +.q-tree__node--disabled > i .q-tree__node--disabled > i, +.q-tree__node--disabled > i .q-tree__node--disabled > .disabled, +.q-tree__node--disabled > .disabled .q-tree__node--disabled > div, +.q-tree__node--disabled > .disabled .q-tree__node--disabled > i, +.q-tree__node--disabled > .disabled .q-tree__node--disabled > .disabled { + opacity: 1 !important; +} +.q-tree__node-header:before { + content: ""; + position: absolute; + top: -3px; + bottom: 50%; + width: 31px; + left: -35px; + border-left: 1px solid currentColor; + border-bottom: 1px solid currentColor; +} +.q-tree__children { + padding-left: 25px; +} +.q-tree__node-body { + padding: 5px 0 8px 5px; +} +.q-tree__node--parent { + padding-left: 2px; +} +.q-tree__node--parent > .q-tree__node-header:before { + width: 15px; + left: -15px; +} +.q-tree__node--parent > .q-tree__node-collapsible > .q-tree__node-body { + padding: 5px 0 8px 27px; +} +.q-tree__node--parent > .q-tree__node-collapsible > .q-tree__node-body:after { + content: ""; + position: absolute; + top: 0; + width: 2px; + height: 100%; + right: auto; + left: 12px; + border-left: 1px solid currentColor; + bottom: 50px; +} +.q-tree__node--link { + cursor: pointer; +} +.q-tree__node-header { + padding: 4px; + margin-top: 3px; + border-radius: 4px; + outline: 0; +} +.q-tree__node-header-content { + color: #000; + transition: color 0.3s; +} +.q-tree__node--selected .q-tree__node-header-content { + color: #9e9e9e; +} +.q-tree__icon, +.q-tree__node-header-content .q-icon { + font-size: 21px; +} +.q-tree__img { + height: 42px; + border-radius: 2px; +} +.q-tree__avatar, +.q-tree__node-header-content .q-avatar { + font-size: 28px; + border-radius: 50%; + width: 28px; + height: 28px; +} +.q-tree__arrow, +.q-tree__spinner { + font-size: 16px; + margin-right: 4px; +} +.q-tree__arrow { + transition: transform 0.3s; +} +.q-tree__arrow--rotate { + transform: rotate3d(0, 0, 1, 90deg); +} +.q-tree__tickbox { + margin-right: 4px; +} +.q-tree > .q-tree__node { + padding: 0; +} +.q-tree > .q-tree__node:after, +.q-tree > .q-tree__node > .q-tree__node-header:before { + display: none; +} +.q-tree > .q-tree__node--child > .q-tree__node-header { + padding-left: 24px; +} +.q-tree--dark .q-tree__node-header-content { + color: #fff; +} +.q-tree--no-connectors .q-tree__node:after, +.q-tree--no-connectors .q-tree__node-header:before, +.q-tree--no-connectors .q-tree__node-body:after { + display: none !important; +} +.q-tree--dense > .q-tree__node--child > .q-tree__node-header { + padding-left: 1px; +} +.q-tree--dense .q-tree__arrow, +.q-tree--dense .q-tree__spinner { + margin-right: 1px; +} +.q-tree--dense .q-tree__img { + height: 32px; +} +.q-tree--dense .q-tree__tickbox { + margin-right: 3px; +} +.q-tree--dense .q-tree__node { + padding: 0; +} +.q-tree--dense .q-tree__node:after { + top: 0; + left: -8px; +} +.q-tree--dense .q-tree__node-header { + margin-top: 0; + padding: 1px; +} +.q-tree--dense .q-tree__node-header:before { + top: 0; + left: -8px; + width: 8px; +} +.q-tree--dense .q-tree__node--child { + padding-left: 17px; +} +.q-tree--dense .q-tree__node--child > .q-tree__node-header:before { + left: -25px; + width: 21px; +} +.q-tree--dense .q-tree__node-body { + padding: 0 0 2px; +} +.q-tree--dense + .q-tree__node--parent + > .q-tree__node-collapsible + > .q-tree__node-body { + padding: 0 0 2px 20px; +} +.q-tree--dense + .q-tree__node--parent + > .q-tree__node-collapsible + > .q-tree__node-body:after { + left: 8px; +} +.q-tree--dense .q-tree__children { + padding-left: 16px; +} +[dir="rtl"] .q-tree__arrow { + transform: rotate3d(0, 0, 1, 180deg); +} +[dir="rtl"] .q-tree__arrow--rotate { + transform: rotate3d(0, 0, 1, 90deg); +} +.q-uploader { + box-shadow: 0 1px 5px #0003, 0 2px 2px #00000024, 0 3px 1px -2px #0000001f; + border-radius: 4px; + vertical-align: top; + background: #fff; + position: relative; + width: 320px; + max-height: 320px; +} +.q-uploader--bordered { + border: 1px solid rgba(0, 0, 0, 0.12); +} +.q-uploader__input { + opacity: 0; + width: 100%; + height: 100%; + cursor: pointer !important; + z-index: 1; +} +.q-uploader__input::-webkit-file-upload-button { + cursor: pointer; +} +.q-uploader__file:before { + content: ""; + border-top-left-radius: inherit; + border-top-right-radius: inherit; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + pointer-events: none; + background: currentColor; + opacity: 0.04; +} +.q-uploader__header { + position: relative; + border-top-left-radius: inherit; + border-top-right-radius: inherit; + background-color: var(--q-primary); + color: #fff; + width: 100%; +} +.q-uploader__spinner { + font-size: 24px; + margin-right: 4px; +} +.q-uploader__header-content { + padding: 8px; +} +.q-uploader__dnd { + outline: 1px dashed currentColor; + outline-offset: -4px; + background: rgba(255, 255, 255, 0.6); +} +.q-uploader__overlay { + font-size: 36px; + color: #000; + background-color: #fff9; +} +.q-uploader__list { + position: relative; + border-bottom-left-radius: inherit; + border-bottom-right-radius: inherit; + padding: 8px; + min-height: 60px; + flex: 1 1 auto; +} +.q-uploader__file { + border-radius: 4px 4px 0 0; + border: 1px solid rgba(0, 0, 0, 0.12); +} +.q-uploader__file .q-circular-progress { + font-size: 24px; +} +.q-uploader__file--img { + color: #fff; + height: 200px; + min-width: 200px; + background-position: 50% 50%; + background-size: cover; + background-repeat: no-repeat; +} +.q-uploader__file--img:before { + content: none; +} +.q-uploader__file--img .q-circular-progress { + color: #fff; +} +.q-uploader__file--img .q-uploader__file-header { + padding-bottom: 24px; + background: linear-gradient( + to bottom, + rgba(0, 0, 0, 0.7) 20%, + rgba(255, 255, 255, 0) + ); +} +.q-uploader__file + .q-uploader__file { + margin-top: 8px; +} +.q-uploader__file-header { + position: relative; + padding: 4px 8px; + border-top-left-radius: inherit; + border-top-right-radius: inherit; +} +.q-uploader__file-header-content { + padding-right: 8px; +} +.q-uploader__file-status { + font-size: 24px; + margin-right: 4px; +} +.q-uploader__title { + font-size: 14px; + font-weight: 700; + line-height: 18px; + word-break: break-word; +} +.q-uploader__subtitle { + font-size: 12px; + line-height: 18px; +} +.q-uploader--disable .q-uploader__header, +.q-uploader--disable .q-uploader__list { + pointer-events: none; +} +.q-uploader--dark { + border-color: #ffffff47; + box-shadow: 0 1px 5px #fff3, 0 2px 2px #ffffff24, 0 3px 1px -2px #ffffff1f; +} +.q-uploader--dark .q-uploader__file { + border-color: #ffffff47; +} +.q-uploader--dark .q-uploader__dnd, +.q-uploader--dark .q-uploader__overlay { + background: rgba(255, 255, 255, 0.3); +} +.q-uploader--dark .q-uploader__overlay { + color: #fff; +} +img.responsive { + max-width: 100%; + height: auto; +} +.q-video { + position: relative; + overflow: hidden; + border-radius: inherit; +} +.q-video iframe, +.q-video object, +.q-video embed { + width: 100%; + height: 100%; +} +.q-video--responsive { + height: 0; +} +.q-video--responsive iframe, +.q-video--responsive object, +.q-video--responsive embed { + position: absolute; + top: 0; + left: 0; +} +.q-virtual-scroll:focus { + outline: 0; +} +.q-virtual-scroll__content { + outline: none; + contain: content; +} +.q-virtual-scroll__content > * { + overflow-anchor: none; +} +.q-virtual-scroll__content > [data-q-vs-anchor] { + overflow-anchor: auto; +} +.q-virtual-scroll__padding { + background: linear-gradient( + rgba(255, 255, 255, 0), + rgba(255, 255, 255, 0) 20%, + rgba(128, 128, 128, 0.03) 20%, + rgba(128, 128, 128, 0.08) 50%, + rgba(128, 128, 128, 0.03) 80%, + rgba(255, 255, 255, 0) 80%, + rgba(255, 255, 255, 0) + ); + background-size: var(--q-virtual-scroll-item-width, 100%) + var(--q-virtual-scroll-item-height, 50px); +} +.q-table .q-virtual-scroll__padding tr { + height: 0 !important; +} +.q-table .q-virtual-scroll__padding td { + padding: 0 !important; +} +.q-virtual-scroll--horizontal { + display: flex; + flex-direction: row; + flex-wrap: nowrap; + align-items: stretch; +} +.q-virtual-scroll--horizontal .q-virtual-scroll__content { + display: flex; + flex-direction: row; + flex-wrap: nowrap; +} +.q-virtual-scroll--horizontal .q-virtual-scroll__padding, +.q-virtual-scroll--horizontal .q-virtual-scroll__content, +.q-virtual-scroll--horizontal .q-virtual-scroll__content > * { + flex: 0 0 auto; +} +.q-virtual-scroll--horizontal .q-virtual-scroll__padding { + background: linear-gradient( + to left, + rgba(255, 255, 255, 0), + rgba(255, 255, 255, 0) 20%, + rgba(128, 128, 128, 0.03) 20%, + rgba(128, 128, 128, 0.08) 50%, + rgba(128, 128, 128, 0.03) 80%, + rgba(255, 255, 255, 0) 80%, + rgba(255, 255, 255, 0) + ); + background-size: var(--q-virtual-scroll-item-width, 50px) + var(--q-virtual-scroll-item-height, 100%); +} +.q-ripple { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + color: inherit; + border-radius: inherit; + z-index: 0; + pointer-events: none; + overflow: hidden; + contain: strict; +} +.q-ripple__inner { + position: absolute; + top: 0; + left: 0; + opacity: 0; + color: inherit; + border-radius: 50%; + background: currentColor; + pointer-events: none; + will-change: transform, opacity; +} +.q-ripple__inner--enter { + transition: transform 0.225s cubic-bezier(0.4, 0, 0.2, 1), + opacity 0.1s cubic-bezier(0.4, 0, 0.2, 1); +} +.q-ripple__inner--leave { + transition: opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1); +} +.q-morph--invisible, +.q-morph--internal { + opacity: 0 !important; + pointer-events: none !important; + position: fixed !important; + right: 200vw !important; + bottom: 200vh !important; +} +.q-loading { + color: #000; + position: fixed !important; +} +.q-loading__backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + opacity: 0.5; + z-index: -1; + background-color: #000; + transition: background-color 0.28s; +} +.q-loading__box { + border-radius: 4px; + padding: 18px; + color: #fff; + max-width: 450px; +} +.q-loading__message { + margin: 40px 20px 0; + text-align: center; +} +.q-notifications__list { + z-index: 9500; + pointer-events: none; + left: 0; + right: 0; + margin-bottom: 10px; + position: relative; +} +.q-notifications__list--center { + top: 0; + bottom: 0; +} +.q-notifications__list--top { + top: 0; +} +.q-notifications__list--bottom { + bottom: 0; +} +body.q-ios-padding .q-notifications__list--center, +body.q-ios-padding .q-notifications__list--top { + top: 20px; + top: env(safe-area-inset-top); +} +body.q-ios-padding .q-notifications__list--center, +body.q-ios-padding .q-notifications__list--bottom { + bottom: env(safe-area-inset-bottom); +} +.q-notification { + box-shadow: 0 1px 5px #0003, 0 2px 2px #00000024, 0 3px 1px -2px #0000001f; + border-radius: 4px; + pointer-events: all; + display: inline-flex; + margin: 10px 10px 0; + transition: transform 1s, opacity 1s; + z-index: 9500; + flex-shrink: 0; + max-width: 95vw; + background: #323232; + color: #fff; + font-size: 14px; +} +.q-notification__icon { + font-size: 24px; + flex: 0 0 1em; +} +.q-notification__icon--additional { + margin-right: 16px; +} +.q-notification__avatar { + font-size: 32px; +} +.q-notification__avatar--additional { + margin-right: 8px; +} +.q-notification__spinner { + font-size: 32px; +} +.q-notification__spinner--additional { + margin-right: 8px; +} +.q-notification__message { + padding: 8px 0; +} +.q-notification__caption { + font-size: 0.9em; + opacity: 0.7; +} +.q-notification__actions { + color: var(--q-primary); +} +.q-notification__badge { + animation: q-notif-badge 0.42s; + padding: 4px 8px; + position: absolute; + box-shadow: 0 1px 3px #0003, 0 1px 1px #00000024, 0 2px 1px -1px #0000001f; + background-color: var(--q-negative); + color: #fff; + border-radius: 4px; + font-size: 12px; + line-height: 12px; +} +.q-notification__badge--top-left, +.q-notification__badge--top-right { + top: -6px; +} +.q-notification__badge--bottom-left, +.q-notification__badge--bottom-right { + bottom: -6px; +} +.q-notification__badge--top-left, +.q-notification__badge--bottom-left { + left: -22px; +} +.q-notification__badge--top-right, +.q-notification__badge--bottom-right { + right: -22px; +} +.q-notification__progress { + z-index: -1; + position: absolute; + height: 3px; + bottom: 0; + left: -10px; + right: -10px; + animation: q-notif-progress linear; + background: currentColor; + opacity: 0.3; + border-radius: 4px 4px 0 0; + transform-origin: 0 50%; + transform: scaleX(0); +} +.q-notification--standard { + padding: 0 16px; + min-height: 48px; +} +.q-notification--standard .q-notification__actions { + padding: 6px 0 6px 8px; + margin-right: -8px; +} +.q-notification--multi-line { + min-height: 68px; + padding: 8px 16px; +} +.q-notification--multi-line .q-notification__badge--top-left, +.q-notification--multi-line .q-notification__badge--top-right { + top: -15px; +} +.q-notification--multi-line .q-notification__badge--bottom-left, +.q-notification--multi-line .q-notification__badge--bottom-right { + bottom: -15px; +} +.q-notification--multi-line .q-notification__progress { + bottom: -8px; +} +.q-notification--multi-line .q-notification__actions { + padding: 0; +} +.q-notification--multi-line .q-notification__actions--with-media { + padding-left: 25px; +} +.q-notification--top-left-enter-from, +.q-notification--top-left-leave-to, +.q-notification--top-enter-from, +.q-notification--top-leave-to, +.q-notification--top-right-enter-from, +.q-notification--top-right-leave-to { + opacity: 0; + transform: translateY(-50px); + z-index: 9499; +} +.q-notification--left-enter-from, +.q-notification--left-leave-to, +.q-notification--center-enter-from, +.q-notification--center-leave-to, +.q-notification--right-enter-from, +.q-notification--right-leave-to { + opacity: 0; + transform: rotateX(90deg); + z-index: 9499; +} +.q-notification--bottom-left-enter-from, +.q-notification--bottom-left-leave-to, +.q-notification--bottom-enter-from, +.q-notification--bottom-leave-to, +.q-notification--bottom-right-enter-from, +.q-notification--bottom-right-leave-to { + opacity: 0; + transform: translateY(50px); + z-index: 9499; +} +.q-notification--top-left-leave-active, +.q-notification--top-leave-active, +.q-notification--top-right-leave-active, +.q-notification--left-leave-active, +.q-notification--center-leave-active, +.q-notification--right-leave-active, +.q-notification--bottom-left-leave-active, +.q-notification--bottom-leave-active, +.q-notification--bottom-right-leave-active { + position: absolute; + z-index: 9499; + margin-left: 0; + margin-right: 0; +} +.q-notification--top-leave-active, +.q-notification--center-leave-active { + top: 0; +} +.q-notification--bottom-left-leave-active, +.q-notification--bottom-leave-active, +.q-notification--bottom-right-leave-active { + bottom: 0; +} +@media (min-width: 600px) { + .q-notification { + max-width: 65vw; + } +} +@keyframes q-notif-badge { + 15% { + transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); + } + 30% { + transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); + } + 45% { + transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); + } + 60% { + transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); + } + 75% { + transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); + } +} +@keyframes q-notif-progress { + 0% { + transform: scaleX(1); + } + to { + transform: scaleX(0); + } +} +:root { + --animate-duration: 0.3s; + --animate-delay: 0.3s; + --animate-repeat: 1; +} +.animated { + animation-duration: var(--animate-duration); + animation-fill-mode: both; +} +.animated.infinite { + animation-iteration-count: infinite; +} +.animated.hinge { + animation-duration: 2s; +} +.animated.repeat-1 { + animation-iteration-count: var(--animate-repeat); +} +.animated.repeat-2 { + animation-iteration-count: calc(var(--animate-repeat) * 2); +} +.animated.repeat-3 { + animation-iteration-count: calc(var(--animate-repeat) * 3); +} +.animated.delay-1s { + animation-delay: var(--animate-delay); +} +.animated.delay-2s { + animation-delay: calc(var(--animate-delay) * 2); +} +.animated.delay-3s { + animation-delay: calc(var(--animate-delay) * 3); +} +.animated.delay-4s { + animation-delay: calc(var(--animate-delay) * 4); +} +.animated.delay-5s { + animation-delay: calc(var(--animate-delay) * 5); +} +.animated.faster { + animation-duration: calc(var(--animate-duration) / 2); +} +.animated.fast { + animation-duration: calc(var(--animate-duration) * 0.8); +} +.animated.slow { + animation-duration: calc(var(--animate-duration) * 2); +} +.animated.slower { + animation-duration: calc(var(--animate-duration) * 3); +} +@media print, (prefers-reduced-motion: reduce) { + .animated { + animation-duration: 1ms !important; + transition-duration: 1ms !important; + animation-iteration-count: 1 !important; + } + .animated[class*="Out"] { + opacity: 0; + } +} +.q-animate--scale { + animation: q-scale 0.15s; + animation-timing-function: cubic-bezier(0.25, 0.8, 0.25, 1); +} +@keyframes q-scale { + 0% { + transform: scale(1); + } + 50% { + transform: scale(1.04); + } + to { + transform: scale(1); + } +} +.q-animate--fade { + animation: q-fade 0.2s; +} +@keyframes q-fade { + 0% { + opacity: 0; + } + to { + opacity: 1; + } +} +:root { + --q-primary: #1976d2; + --q-secondary: #26a69a; + --q-accent: #9c27b0; + --q-positive: #21ba45; + --q-negative: #c10015; + --q-info: #31ccec; + --q-warning: #f2c037; + --q-dark: #1d1d1d; + --q-dark-page: #121212; +} +.text-dark { + color: var(--q-dark) !important; +} +.bg-dark { + background: var(--q-dark) !important; +} +.text-primary { + color: var(--q-primary) !important; +} +.bg-primary { + background: var(--q-primary) !important; +} +.text-secondary { + color: var(--q-secondary) !important; +} +.bg-secondary { + background: var(--q-secondary) !important; +} +.text-accent { + color: var(--q-accent) !important; +} +.bg-accent { + background: var(--q-accent) !important; +} +.text-positive { + color: var(--q-positive) !important; +} +.bg-positive { + background: var(--q-positive) !important; +} +.text-negative { + color: var(--q-negative) !important; +} +.bg-negative { + background: var(--q-negative) !important; +} +.text-info { + color: var(--q-info) !important; +} +.bg-info { + background: var(--q-info) !important; +} +.text-warning { + color: var(--q-warning) !important; +} +.bg-warning { + background: var(--q-warning) !important; +} +.text-white { + color: #fff !important; +} +.bg-white { + background: #fff !important; +} +.text-black { + color: #000 !important; +} +.bg-black { + background: #000 !important; +} +.text-transparent { + color: transparent !important; +} +.bg-transparent { + background: transparent !important; +} +.text-separator { + color: #0000001f !important; +} +.bg-separator { + background: rgba(0, 0, 0, 0.12) !important; +} +.text-dark-separator { + color: #ffffff47 !important; +} +.bg-dark-separator { + background: rgba(255, 255, 255, 0.28) !important; +} +.text-red { + color: #f44336 !important; +} +.text-red-1 { + color: #ffebee !important; +} +.text-red-2 { + color: #ffcdd2 !important; +} +.text-red-3 { + color: #ef9a9a !important; +} +.text-red-4 { + color: #e57373 !important; +} +.text-red-5 { + color: #ef5350 !important; +} +.text-red-6 { + color: #f44336 !important; +} +.text-red-7 { + color: #e53935 !important; +} +.text-red-8 { + color: #d32f2f !important; +} +.text-red-9 { + color: #c62828 !important; +} +.text-red-10 { + color: #b71c1c !important; +} +.text-red-11 { + color: #ff8a80 !important; +} +.text-red-12 { + color: #ff5252 !important; +} +.text-red-13 { + color: #ff1744 !important; +} +.text-red-14 { + color: #d50000 !important; +} +.text-pink { + color: #e91e63 !important; +} +.text-pink-1 { + color: #fce4ec !important; +} +.text-pink-2 { + color: #f8bbd0 !important; +} +.text-pink-3 { + color: #f48fb1 !important; +} +.text-pink-4 { + color: #f06292 !important; +} +.text-pink-5 { + color: #ec407a !important; +} +.text-pink-6 { + color: #e91e63 !important; +} +.text-pink-7 { + color: #d81b60 !important; +} +.text-pink-8 { + color: #c2185b !important; +} +.text-pink-9 { + color: #ad1457 !important; +} +.text-pink-10 { + color: #880e4f !important; +} +.text-pink-11 { + color: #ff80ab !important; +} +.text-pink-12 { + color: #ff4081 !important; +} +.text-pink-13 { + color: #f50057 !important; +} +.text-pink-14 { + color: #c51162 !important; +} +.text-purple { + color: #9c27b0 !important; +} +.text-purple-1 { + color: #f3e5f5 !important; +} +.text-purple-2 { + color: #e1bee7 !important; +} +.text-purple-3 { + color: #ce93d8 !important; +} +.text-purple-4 { + color: #ba68c8 !important; +} +.text-purple-5 { + color: #ab47bc !important; +} +.text-purple-6 { + color: #9c27b0 !important; +} +.text-purple-7 { + color: #8e24aa !important; +} +.text-purple-8 { + color: #7b1fa2 !important; +} +.text-purple-9 { + color: #6a1b9a !important; +} +.text-purple-10 { + color: #4a148c !important; +} +.text-purple-11 { + color: #ea80fc !important; +} +.text-purple-12 { + color: #e040fb !important; +} +.text-purple-13 { + color: #d500f9 !important; +} +.text-purple-14 { + color: #a0f !important; +} +.text-deep-purple { + color: #673ab7 !important; +} +.text-deep-purple-1 { + color: #ede7f6 !important; +} +.text-deep-purple-2 { + color: #d1c4e9 !important; +} +.text-deep-purple-3 { + color: #b39ddb !important; +} +.text-deep-purple-4 { + color: #9575cd !important; +} +.text-deep-purple-5 { + color: #7e57c2 !important; +} +.text-deep-purple-6 { + color: #673ab7 !important; +} +.text-deep-purple-7 { + color: #5e35b1 !important; +} +.text-deep-purple-8 { + color: #512da8 !important; +} +.text-deep-purple-9 { + color: #4527a0 !important; +} +.text-deep-purple-10 { + color: #311b92 !important; +} +.text-deep-purple-11 { + color: #b388ff !important; +} +.text-deep-purple-12 { + color: #7c4dff !important; +} +.text-deep-purple-13 { + color: #651fff !important; +} +.text-deep-purple-14 { + color: #6200ea !important; +} +.text-indigo { + color: #3f51b5 !important; +} +.text-indigo-1 { + color: #e8eaf6 !important; +} +.text-indigo-2 { + color: #c5cae9 !important; +} +.text-indigo-3 { + color: #9fa8da !important; +} +.text-indigo-4 { + color: #7986cb !important; +} +.text-indigo-5 { + color: #5c6bc0 !important; +} +.text-indigo-6 { + color: #3f51b5 !important; +} +.text-indigo-7 { + color: #3949ab !important; +} +.text-indigo-8 { + color: #303f9f !important; +} +.text-indigo-9 { + color: #283593 !important; +} +.text-indigo-10 { + color: #1a237e !important; +} +.text-indigo-11 { + color: #8c9eff !important; +} +.text-indigo-12 { + color: #536dfe !important; +} +.text-indigo-13 { + color: #3d5afe !important; +} +.text-indigo-14 { + color: #304ffe !important; +} +.text-blue { + color: #2196f3 !important; +} +.text-blue-1 { + color: #e3f2fd !important; +} +.text-blue-2 { + color: #bbdefb !important; +} +.text-blue-3 { + color: #90caf9 !important; +} +.text-blue-4 { + color: #64b5f6 !important; +} +.text-blue-5 { + color: #42a5f5 !important; +} +.text-blue-6 { + color: #2196f3 !important; +} +.text-blue-7 { + color: #1e88e5 !important; +} +.text-blue-8 { + color: #1976d2 !important; +} +.text-blue-9 { + color: #1565c0 !important; +} +.text-blue-10 { + color: #0d47a1 !important; +} +.text-blue-11 { + color: #82b1ff !important; +} +.text-blue-12 { + color: #448aff !important; +} +.text-blue-13 { + color: #2979ff !important; +} +.text-blue-14 { + color: #2962ff !important; +} +.text-light-blue { + color: #03a9f4 !important; +} +.text-light-blue-1 { + color: #e1f5fe !important; +} +.text-light-blue-2 { + color: #b3e5fc !important; +} +.text-light-blue-3 { + color: #81d4fa !important; +} +.text-light-blue-4 { + color: #4fc3f7 !important; +} +.text-light-blue-5 { + color: #29b6f6 !important; +} +.text-light-blue-6 { + color: #03a9f4 !important; +} +.text-light-blue-7 { + color: #039be5 !important; +} +.text-light-blue-8 { + color: #0288d1 !important; +} +.text-light-blue-9 { + color: #0277bd !important; +} +.text-light-blue-10 { + color: #01579b !important; +} +.text-light-blue-11 { + color: #80d8ff !important; +} +.text-light-blue-12 { + color: #40c4ff !important; +} +.text-light-blue-13 { + color: #00b0ff !important; +} +.text-light-blue-14 { + color: #0091ea !important; +} +.text-cyan { + color: #00bcd4 !important; +} +.text-cyan-1 { + color: #e0f7fa !important; +} +.text-cyan-2 { + color: #b2ebf2 !important; +} +.text-cyan-3 { + color: #80deea !important; +} +.text-cyan-4 { + color: #4dd0e1 !important; +} +.text-cyan-5 { + color: #26c6da !important; +} +.text-cyan-6 { + color: #00bcd4 !important; +} +.text-cyan-7 { + color: #00acc1 !important; +} +.text-cyan-8 { + color: #0097a7 !important; +} +.text-cyan-9 { + color: #00838f !important; +} +.text-cyan-10 { + color: #006064 !important; +} +.text-cyan-11 { + color: #84ffff !important; +} +.text-cyan-12 { + color: #18ffff !important; +} +.text-cyan-13 { + color: #00e5ff !important; +} +.text-cyan-14 { + color: #00b8d4 !important; +} +.text-teal { + color: #009688 !important; +} +.text-teal-1 { + color: #e0f2f1 !important; +} +.text-teal-2 { + color: #b2dfdb !important; +} +.text-teal-3 { + color: #80cbc4 !important; +} +.text-teal-4 { + color: #4db6ac !important; +} +.text-teal-5 { + color: #26a69a !important; +} +.text-teal-6 { + color: #009688 !important; +} +.text-teal-7 { + color: #00897b !important; +} +.text-teal-8 { + color: #00796b !important; +} +.text-teal-9 { + color: #00695c !important; +} +.text-teal-10 { + color: #004d40 !important; +} +.text-teal-11 { + color: #a7ffeb !important; +} +.text-teal-12 { + color: #64ffda !important; +} +.text-teal-13 { + color: #1de9b6 !important; +} +.text-teal-14 { + color: #00bfa5 !important; +} +.text-green { + color: #4caf50 !important; +} +.text-green-1 { + color: #e8f5e9 !important; +} +.text-green-2 { + color: #c8e6c9 !important; +} +.text-green-3 { + color: #a5d6a7 !important; +} +.text-green-4 { + color: #81c784 !important; +} +.text-green-5 { + color: #66bb6a !important; +} +.text-green-6 { + color: #4caf50 !important; +} +.text-green-7 { + color: #43a047 !important; +} +.text-green-8 { + color: #388e3c !important; +} +.text-green-9 { + color: #2e7d32 !important; +} +.text-green-10 { + color: #1b5e20 !important; +} +.text-green-11 { + color: #b9f6ca !important; +} +.text-green-12 { + color: #69f0ae !important; +} +.text-green-13 { + color: #00e676 !important; +} +.text-green-14 { + color: #00c853 !important; +} +.text-light-green { + color: #8bc34a !important; +} +.text-light-green-1 { + color: #f1f8e9 !important; +} +.text-light-green-2 { + color: #dcedc8 !important; +} +.text-light-green-3 { + color: #c5e1a5 !important; +} +.text-light-green-4 { + color: #aed581 !important; +} +.text-light-green-5 { + color: #9ccc65 !important; +} +.text-light-green-6 { + color: #8bc34a !important; +} +.text-light-green-7 { + color: #7cb342 !important; +} +.text-light-green-8 { + color: #689f38 !important; +} +.text-light-green-9 { + color: #558b2f !important; +} +.text-light-green-10 { + color: #33691e !important; +} +.text-light-green-11 { + color: #ccff90 !important; +} +.text-light-green-12 { + color: #b2ff59 !important; +} +.text-light-green-13 { + color: #76ff03 !important; +} +.text-light-green-14 { + color: #64dd17 !important; +} +.text-lime { + color: #cddc39 !important; +} +.text-lime-1 { + color: #f9fbe7 !important; +} +.text-lime-2 { + color: #f0f4c3 !important; +} +.text-lime-3 { + color: #e6ee9c !important; +} +.text-lime-4 { + color: #dce775 !important; +} +.text-lime-5 { + color: #d4e157 !important; +} +.text-lime-6 { + color: #cddc39 !important; +} +.text-lime-7 { + color: #c0ca33 !important; +} +.text-lime-8 { + color: #afb42b !important; +} +.text-lime-9 { + color: #9e9d24 !important; +} +.text-lime-10 { + color: #827717 !important; +} +.text-lime-11 { + color: #f4ff81 !important; +} +.text-lime-12 { + color: #eeff41 !important; +} +.text-lime-13 { + color: #c6ff00 !important; +} +.text-lime-14 { + color: #aeea00 !important; +} +.text-yellow { + color: #ffeb3b !important; +} +.text-yellow-1 { + color: #fffde7 !important; +} +.text-yellow-2 { + color: #fff9c4 !important; +} +.text-yellow-3 { + color: #fff59d !important; +} +.text-yellow-4 { + color: #fff176 !important; +} +.text-yellow-5 { + color: #ffee58 !important; +} +.text-yellow-6 { + color: #ffeb3b !important; +} +.text-yellow-7 { + color: #fdd835 !important; +} +.text-yellow-8 { + color: #fbc02d !important; +} +.text-yellow-9 { + color: #f9a825 !important; +} +.text-yellow-10 { + color: #f57f17 !important; +} +.text-yellow-11 { + color: #ffff8d !important; +} +.text-yellow-12 { + color: #ff0 !important; +} +.text-yellow-13 { + color: #ffea00 !important; +} +.text-yellow-14 { + color: #ffd600 !important; +} +.text-amber { + color: #ffc107 !important; +} +.text-amber-1 { + color: #fff8e1 !important; +} +.text-amber-2 { + color: #ffecb3 !important; +} +.text-amber-3 { + color: #ffe082 !important; +} +.text-amber-4 { + color: #ffd54f !important; +} +.text-amber-5 { + color: #ffca28 !important; +} +.text-amber-6 { + color: #ffc107 !important; +} +.text-amber-7 { + color: #ffb300 !important; +} +.text-amber-8 { + color: #ffa000 !important; +} +.text-amber-9 { + color: #ff8f00 !important; +} +.text-amber-10 { + color: #ff6f00 !important; +} +.text-amber-11 { + color: #ffe57f !important; +} +.text-amber-12 { + color: #ffd740 !important; +} +.text-amber-13 { + color: #ffc400 !important; +} +.text-amber-14 { + color: #ffab00 !important; +} +.text-orange { + color: #ff9800 !important; +} +.text-orange-1 { + color: #fff3e0 !important; +} +.text-orange-2 { + color: #ffe0b2 !important; +} +.text-orange-3 { + color: #ffcc80 !important; +} +.text-orange-4 { + color: #ffb74d !important; +} +.text-orange-5 { + color: #ffa726 !important; +} +.text-orange-6 { + color: #ff9800 !important; +} +.text-orange-7 { + color: #fb8c00 !important; +} +.text-orange-8 { + color: #f57c00 !important; +} +.text-orange-9 { + color: #ef6c00 !important; +} +.text-orange-10 { + color: #e65100 !important; +} +.text-orange-11 { + color: #ffd180 !important; +} +.text-orange-12 { + color: #ffab40 !important; +} +.text-orange-13 { + color: #ff9100 !important; +} +.text-orange-14 { + color: #ff6d00 !important; +} +.text-deep-orange { + color: #ff5722 !important; +} +.text-deep-orange-1 { + color: #fbe9e7 !important; +} +.text-deep-orange-2 { + color: #ffccbc !important; +} +.text-deep-orange-3 { + color: #ffab91 !important; +} +.text-deep-orange-4 { + color: #ff8a65 !important; +} +.text-deep-orange-5 { + color: #ff7043 !important; +} +.text-deep-orange-6 { + color: #ff5722 !important; +} +.text-deep-orange-7 { + color: #f4511e !important; +} +.text-deep-orange-8 { + color: #e64a19 !important; +} +.text-deep-orange-9 { + color: #d84315 !important; +} +.text-deep-orange-10 { + color: #bf360c !important; +} +.text-deep-orange-11 { + color: #ff9e80 !important; +} +.text-deep-orange-12 { + color: #ff6e40 !important; +} +.text-deep-orange-13 { + color: #ff3d00 !important; +} +.text-deep-orange-14 { + color: #dd2c00 !important; +} +.text-brown { + color: #795548 !important; +} +.text-brown-1 { + color: #efebe9 !important; +} +.text-brown-2 { + color: #d7ccc8 !important; +} +.text-brown-3 { + color: #bcaaa4 !important; +} +.text-brown-4 { + color: #a1887f !important; +} +.text-brown-5 { + color: #8d6e63 !important; +} +.text-brown-6 { + color: #795548 !important; +} +.text-brown-7 { + color: #6d4c41 !important; +} +.text-brown-8 { + color: #5d4037 !important; +} +.text-brown-9 { + color: #4e342e !important; +} +.text-brown-10 { + color: #3e2723 !important; +} +.text-brown-11 { + color: #d7ccc8 !important; +} +.text-brown-12 { + color: #bcaaa4 !important; +} +.text-brown-13 { + color: #8d6e63 !important; +} +.text-brown-14 { + color: #5d4037 !important; +} +.text-grey { + color: #9e9e9e !important; +} +.text-grey-1 { + color: #fafafa !important; +} +.text-grey-2 { + color: #f5f5f5 !important; +} +.text-grey-3 { + color: #eee !important; +} +.text-grey-4 { + color: #e0e0e0 !important; +} +.text-grey-5 { + color: #bdbdbd !important; +} +.text-grey-6 { + color: #9e9e9e !important; +} +.text-grey-7 { + color: #757575 !important; +} +.text-grey-8 { + color: #616161 !important; +} +.text-grey-9 { + color: #424242 !important; +} +.text-grey-10 { + color: #212121 !important; +} +.text-grey-11 { + color: #f5f5f5 !important; +} +.text-grey-12 { + color: #eee !important; +} +.text-grey-13 { + color: #bdbdbd !important; +} +.text-grey-14 { + color: #616161 !important; +} +.text-blue-grey { + color: #607d8b !important; +} +.text-blue-grey-1 { + color: #eceff1 !important; +} +.text-blue-grey-2 { + color: #cfd8dc !important; +} +.text-blue-grey-3 { + color: #b0bec5 !important; +} +.text-blue-grey-4 { + color: #90a4ae !important; +} +.text-blue-grey-5 { + color: #78909c !important; +} +.text-blue-grey-6 { + color: #607d8b !important; +} +.text-blue-grey-7 { + color: #546e7a !important; +} +.text-blue-grey-8 { + color: #455a64 !important; +} +.text-blue-grey-9 { + color: #37474f !important; +} +.text-blue-grey-10 { + color: #263238 !important; +} +.text-blue-grey-11 { + color: #cfd8dc !important; +} +.text-blue-grey-12 { + color: #b0bec5 !important; +} +.text-blue-grey-13 { + color: #78909c !important; +} +.text-blue-grey-14 { + color: #455a64 !important; +} +.bg-red { + background: #f44336 !important; +} +.bg-red-1 { + background: #ffebee !important; +} +.bg-red-2 { + background: #ffcdd2 !important; +} +.bg-red-3 { + background: #ef9a9a !important; +} +.bg-red-4 { + background: #e57373 !important; +} +.bg-red-5 { + background: #ef5350 !important; +} +.bg-red-6 { + background: #f44336 !important; +} +.bg-red-7 { + background: #e53935 !important; +} +.bg-red-8 { + background: #d32f2f !important; +} +.bg-red-9 { + background: #c62828 !important; +} +.bg-red-10 { + background: #b71c1c !important; +} +.bg-red-11 { + background: #ff8a80 !important; +} +.bg-red-12 { + background: #ff5252 !important; +} +.bg-red-13 { + background: #ff1744 !important; +} +.bg-red-14 { + background: #d50000 !important; +} +.bg-pink { + background: #e91e63 !important; +} +.bg-pink-1 { + background: #fce4ec !important; +} +.bg-pink-2 { + background: #f8bbd0 !important; +} +.bg-pink-3 { + background: #f48fb1 !important; +} +.bg-pink-4 { + background: #f06292 !important; +} +.bg-pink-5 { + background: #ec407a !important; +} +.bg-pink-6 { + background: #e91e63 !important; +} +.bg-pink-7 { + background: #d81b60 !important; +} +.bg-pink-8 { + background: #c2185b !important; +} +.bg-pink-9 { + background: #ad1457 !important; +} +.bg-pink-10 { + background: #880e4f !important; +} +.bg-pink-11 { + background: #ff80ab !important; +} +.bg-pink-12 { + background: #ff4081 !important; +} +.bg-pink-13 { + background: #f50057 !important; +} +.bg-pink-14 { + background: #c51162 !important; +} +.bg-purple { + background: #9c27b0 !important; +} +.bg-purple-1 { + background: #f3e5f5 !important; +} +.bg-purple-2 { + background: #e1bee7 !important; +} +.bg-purple-3 { + background: #ce93d8 !important; +} +.bg-purple-4 { + background: #ba68c8 !important; +} +.bg-purple-5 { + background: #ab47bc !important; +} +.bg-purple-6 { + background: #9c27b0 !important; +} +.bg-purple-7 { + background: #8e24aa !important; +} +.bg-purple-8 { + background: #7b1fa2 !important; +} +.bg-purple-9 { + background: #6a1b9a !important; +} +.bg-purple-10 { + background: #4a148c !important; +} +.bg-purple-11 { + background: #ea80fc !important; +} +.bg-purple-12 { + background: #e040fb !important; +} +.bg-purple-13 { + background: #d500f9 !important; +} +.bg-purple-14 { + background: #aa00ff !important; +} +.bg-deep-purple { + background: #673ab7 !important; +} +.bg-deep-purple-1 { + background: #ede7f6 !important; +} +.bg-deep-purple-2 { + background: #d1c4e9 !important; +} +.bg-deep-purple-3 { + background: #b39ddb !important; +} +.bg-deep-purple-4 { + background: #9575cd !important; +} +.bg-deep-purple-5 { + background: #7e57c2 !important; +} +.bg-deep-purple-6 { + background: #673ab7 !important; +} +.bg-deep-purple-7 { + background: #5e35b1 !important; +} +.bg-deep-purple-8 { + background: #512da8 !important; +} +.bg-deep-purple-9 { + background: #4527a0 !important; +} +.bg-deep-purple-10 { + background: #311b92 !important; +} +.bg-deep-purple-11 { + background: #b388ff !important; +} +.bg-deep-purple-12 { + background: #7c4dff !important; +} +.bg-deep-purple-13 { + background: #651fff !important; +} +.bg-deep-purple-14 { + background: #6200ea !important; +} +.bg-indigo { + background: #3f51b5 !important; +} +.bg-indigo-1 { + background: #e8eaf6 !important; +} +.bg-indigo-2 { + background: #c5cae9 !important; +} +.bg-indigo-3 { + background: #9fa8da !important; +} +.bg-indigo-4 { + background: #7986cb !important; +} +.bg-indigo-5 { + background: #5c6bc0 !important; +} +.bg-indigo-6 { + background: #3f51b5 !important; +} +.bg-indigo-7 { + background: #3949ab !important; +} +.bg-indigo-8 { + background: #303f9f !important; +} +.bg-indigo-9 { + background: #283593 !important; +} +.bg-indigo-10 { + background: #1a237e !important; +} +.bg-indigo-11 { + background: #8c9eff !important; +} +.bg-indigo-12 { + background: #536dfe !important; +} +.bg-indigo-13 { + background: #3d5afe !important; +} +.bg-indigo-14 { + background: #304ffe !important; +} +.bg-blue { + background: #2196f3 !important; +} +.bg-blue-1 { + background: #e3f2fd !important; +} +.bg-blue-2 { + background: #bbdefb !important; +} +.bg-blue-3 { + background: #90caf9 !important; +} +.bg-blue-4 { + background: #64b5f6 !important; +} +.bg-blue-5 { + background: #42a5f5 !important; +} +.bg-blue-6 { + background: #2196f3 !important; +} +.bg-blue-7 { + background: #1e88e5 !important; +} +.bg-blue-8 { + background: #1976d2 !important; +} +.bg-blue-9 { + background: #1565c0 !important; +} +.bg-blue-10 { + background: #0d47a1 !important; +} +.bg-blue-11 { + background: #82b1ff !important; +} +.bg-blue-12 { + background: #448aff !important; +} +.bg-blue-13 { + background: #2979ff !important; +} +.bg-blue-14 { + background: #2962ff !important; +} +.bg-light-blue { + background: #03a9f4 !important; +} +.bg-light-blue-1 { + background: #e1f5fe !important; +} +.bg-light-blue-2 { + background: #b3e5fc !important; +} +.bg-light-blue-3 { + background: #81d4fa !important; +} +.bg-light-blue-4 { + background: #4fc3f7 !important; +} +.bg-light-blue-5 { + background: #29b6f6 !important; +} +.bg-light-blue-6 { + background: #03a9f4 !important; +} +.bg-light-blue-7 { + background: #039be5 !important; +} +.bg-light-blue-8 { + background: #0288d1 !important; +} +.bg-light-blue-9 { + background: #0277bd !important; +} +.bg-light-blue-10 { + background: #01579b !important; +} +.bg-light-blue-11 { + background: #80d8ff !important; +} +.bg-light-blue-12 { + background: #40c4ff !important; +} +.bg-light-blue-13 { + background: #00b0ff !important; +} +.bg-light-blue-14 { + background: #0091ea !important; +} +.bg-cyan { + background: #00bcd4 !important; +} +.bg-cyan-1 { + background: #e0f7fa !important; +} +.bg-cyan-2 { + background: #b2ebf2 !important; +} +.bg-cyan-3 { + background: #80deea !important; +} +.bg-cyan-4 { + background: #4dd0e1 !important; +} +.bg-cyan-5 { + background: #26c6da !important; +} +.bg-cyan-6 { + background: #00bcd4 !important; +} +.bg-cyan-7 { + background: #00acc1 !important; +} +.bg-cyan-8 { + background: #0097a7 !important; +} +.bg-cyan-9 { + background: #00838f !important; +} +.bg-cyan-10 { + background: #006064 !important; +} +.bg-cyan-11 { + background: #84ffff !important; +} +.bg-cyan-12 { + background: #18ffff !important; +} +.bg-cyan-13 { + background: #00e5ff !important; +} +.bg-cyan-14 { + background: #00b8d4 !important; +} +.bg-teal { + background: #009688 !important; +} +.bg-teal-1 { + background: #e0f2f1 !important; +} +.bg-teal-2 { + background: #b2dfdb !important; +} +.bg-teal-3 { + background: #80cbc4 !important; +} +.bg-teal-4 { + background: #4db6ac !important; +} +.bg-teal-5 { + background: #26a69a !important; +} +.bg-teal-6 { + background: #009688 !important; +} +.bg-teal-7 { + background: #00897b !important; +} +.bg-teal-8 { + background: #00796b !important; +} +.bg-teal-9 { + background: #00695c !important; +} +.bg-teal-10 { + background: #004d40 !important; +} +.bg-teal-11 { + background: #a7ffeb !important; +} +.bg-teal-12 { + background: #64ffda !important; +} +.bg-teal-13 { + background: #1de9b6 !important; +} +.bg-teal-14 { + background: #00bfa5 !important; +} +.bg-green { + background: #4caf50 !important; +} +.bg-green-1 { + background: #e8f5e9 !important; +} +.bg-green-2 { + background: #c8e6c9 !important; +} +.bg-green-3 { + background: #a5d6a7 !important; +} +.bg-green-4 { + background: #81c784 !important; +} +.bg-green-5 { + background: #66bb6a !important; +} +.bg-green-6 { + background: #4caf50 !important; +} +.bg-green-7 { + background: #43a047 !important; +} +.bg-green-8 { + background: #388e3c !important; +} +.bg-green-9 { + background: #2e7d32 !important; +} +.bg-green-10 { + background: #1b5e20 !important; +} +.bg-green-11 { + background: #b9f6ca !important; +} +.bg-green-12 { + background: #69f0ae !important; +} +.bg-green-13 { + background: #00e676 !important; +} +.bg-green-14 { + background: #00c853 !important; +} +.bg-light-green { + background: #8bc34a !important; +} +.bg-light-green-1 { + background: #f1f8e9 !important; +} +.bg-light-green-2 { + background: #dcedc8 !important; +} +.bg-light-green-3 { + background: #c5e1a5 !important; +} +.bg-light-green-4 { + background: #aed581 !important; +} +.bg-light-green-5 { + background: #9ccc65 !important; +} +.bg-light-green-6 { + background: #8bc34a !important; +} +.bg-light-green-7 { + background: #7cb342 !important; +} +.bg-light-green-8 { + background: #689f38 !important; +} +.bg-light-green-9 { + background: #558b2f !important; +} +.bg-light-green-10 { + background: #33691e !important; +} +.bg-light-green-11 { + background: #ccff90 !important; +} +.bg-light-green-12 { + background: #b2ff59 !important; +} +.bg-light-green-13 { + background: #76ff03 !important; +} +.bg-light-green-14 { + background: #64dd17 !important; +} +.bg-lime { + background: #cddc39 !important; +} +.bg-lime-1 { + background: #f9fbe7 !important; +} +.bg-lime-2 { + background: #f0f4c3 !important; +} +.bg-lime-3 { + background: #e6ee9c !important; +} +.bg-lime-4 { + background: #dce775 !important; +} +.bg-lime-5 { + background: #d4e157 !important; +} +.bg-lime-6 { + background: #cddc39 !important; +} +.bg-lime-7 { + background: #c0ca33 !important; +} +.bg-lime-8 { + background: #afb42b !important; +} +.bg-lime-9 { + background: #9e9d24 !important; +} +.bg-lime-10 { + background: #827717 !important; +} +.bg-lime-11 { + background: #f4ff81 !important; +} +.bg-lime-12 { + background: #eeff41 !important; +} +.bg-lime-13 { + background: #c6ff00 !important; +} +.bg-lime-14 { + background: #aeea00 !important; +} +.bg-yellow { + background: #ffeb3b !important; +} +.bg-yellow-1 { + background: #fffde7 !important; +} +.bg-yellow-2 { + background: #fff9c4 !important; +} +.bg-yellow-3 { + background: #fff59d !important; +} +.bg-yellow-4 { + background: #fff176 !important; +} +.bg-yellow-5 { + background: #ffee58 !important; +} +.bg-yellow-6 { + background: #ffeb3b !important; +} +.bg-yellow-7 { + background: #fdd835 !important; +} +.bg-yellow-8 { + background: #fbc02d !important; +} +.bg-yellow-9 { + background: #f9a825 !important; +} +.bg-yellow-10 { + background: #f57f17 !important; +} +.bg-yellow-11 { + background: #ffff8d !important; +} +.bg-yellow-12 { + background: #ffff00 !important; +} +.bg-yellow-13 { + background: #ffea00 !important; +} +.bg-yellow-14 { + background: #ffd600 !important; +} +.bg-amber { + background: #ffc107 !important; +} +.bg-amber-1 { + background: #fff8e1 !important; +} +.bg-amber-2 { + background: #ffecb3 !important; +} +.bg-amber-3 { + background: #ffe082 !important; +} +.bg-amber-4 { + background: #ffd54f !important; +} +.bg-amber-5 { + background: #ffca28 !important; +} +.bg-amber-6 { + background: #ffc107 !important; +} +.bg-amber-7 { + background: #ffb300 !important; +} +.bg-amber-8 { + background: #ffa000 !important; +} +.bg-amber-9 { + background: #ff8f00 !important; +} +.bg-amber-10 { + background: #ff6f00 !important; +} +.bg-amber-11 { + background: #ffe57f !important; +} +.bg-amber-12 { + background: #ffd740 !important; +} +.bg-amber-13 { + background: #ffc400 !important; +} +.bg-amber-14 { + background: #ffab00 !important; +} +.bg-orange { + background: #ff9800 !important; +} +.bg-orange-1 { + background: #fff3e0 !important; +} +.bg-orange-2 { + background: #ffe0b2 !important; +} +.bg-orange-3 { + background: #ffcc80 !important; +} +.bg-orange-4 { + background: #ffb74d !important; +} +.bg-orange-5 { + background: #ffa726 !important; +} +.bg-orange-6 { + background: #ff9800 !important; +} +.bg-orange-7 { + background: #fb8c00 !important; +} +.bg-orange-8 { + background: #f57c00 !important; +} +.bg-orange-9 { + background: #ef6c00 !important; +} +.bg-orange-10 { + background: #e65100 !important; +} +.bg-orange-11 { + background: #ffd180 !important; +} +.bg-orange-12 { + background: #ffab40 !important; +} +.bg-orange-13 { + background: #ff9100 !important; +} +.bg-orange-14 { + background: #ff6d00 !important; +} +.bg-deep-orange { + background: #ff5722 !important; +} +.bg-deep-orange-1 { + background: #fbe9e7 !important; +} +.bg-deep-orange-2 { + background: #ffccbc !important; +} +.bg-deep-orange-3 { + background: #ffab91 !important; +} +.bg-deep-orange-4 { + background: #ff8a65 !important; +} +.bg-deep-orange-5 { + background: #ff7043 !important; +} +.bg-deep-orange-6 { + background: #ff5722 !important; +} +.bg-deep-orange-7 { + background: #f4511e !important; +} +.bg-deep-orange-8 { + background: #e64a19 !important; +} +.bg-deep-orange-9 { + background: #d84315 !important; +} +.bg-deep-orange-10 { + background: #bf360c !important; +} +.bg-deep-orange-11 { + background: #ff9e80 !important; +} +.bg-deep-orange-12 { + background: #ff6e40 !important; +} +.bg-deep-orange-13 { + background: #ff3d00 !important; +} +.bg-deep-orange-14 { + background: #dd2c00 !important; +} +.bg-brown { + background: #795548 !important; +} +.bg-brown-1 { + background: #efebe9 !important; +} +.bg-brown-2 { + background: #d7ccc8 !important; +} +.bg-brown-3 { + background: #bcaaa4 !important; +} +.bg-brown-4 { + background: #a1887f !important; +} +.bg-brown-5 { + background: #8d6e63 !important; +} +.bg-brown-6 { + background: #795548 !important; +} +.bg-brown-7 { + background: #6d4c41 !important; +} +.bg-brown-8 { + background: #5d4037 !important; +} +.bg-brown-9 { + background: #4e342e !important; +} +.bg-brown-10 { + background: #3e2723 !important; +} +.bg-brown-11 { + background: #d7ccc8 !important; +} +.bg-brown-12 { + background: #bcaaa4 !important; +} +.bg-brown-13 { + background: #8d6e63 !important; +} +.bg-brown-14 { + background: #5d4037 !important; +} +.bg-grey { + background: #9e9e9e !important; +} +.bg-grey-1 { + background: #fafafa !important; +} +.bg-grey-2 { + background: #f5f5f5 !important; +} +.bg-grey-3 { + background: #eeeeee !important; +} +.bg-grey-4 { + background: #e0e0e0 !important; +} +.bg-grey-5 { + background: #bdbdbd !important; +} +.bg-grey-6 { + background: #9e9e9e !important; +} +.bg-grey-7 { + background: #757575 !important; +} +.bg-grey-8 { + background: #616161 !important; +} +.bg-grey-9 { + background: #424242 !important; +} +.bg-grey-10 { + background: #212121 !important; +} +.bg-grey-11 { + background: #f5f5f5 !important; +} +.bg-grey-12 { + background: #eeeeee !important; +} +.bg-grey-13 { + background: #bdbdbd !important; +} +.bg-grey-14 { + background: #616161 !important; +} +.bg-blue-grey { + background: #607d8b !important; +} +.bg-blue-grey-1 { + background: #eceff1 !important; +} +.bg-blue-grey-2 { + background: #cfd8dc !important; +} +.bg-blue-grey-3 { + background: #b0bec5 !important; +} +.bg-blue-grey-4 { + background: #90a4ae !important; +} +.bg-blue-grey-5 { + background: #78909c !important; +} +.bg-blue-grey-6 { + background: #607d8b !important; +} +.bg-blue-grey-7 { + background: #546e7a !important; +} +.bg-blue-grey-8 { + background: #455a64 !important; +} +.bg-blue-grey-9 { + background: #37474f !important; +} +.bg-blue-grey-10 { + background: #263238 !important; +} +.bg-blue-grey-11 { + background: #cfd8dc !important; +} +.bg-blue-grey-12 { + background: #b0bec5 !important; +} +.bg-blue-grey-13 { + background: #78909c !important; +} +.bg-blue-grey-14 { + background: #455a64 !important; +} +.shadow-transition { + transition: box-shadow 0.28s cubic-bezier(0.4, 0, 0.2, 1) !important; +} +.shadow-1 { + box-shadow: 0 1px 3px #0003, 0 1px 1px #00000024, 0 2px 1px -1px #0000001f; +} +.shadow-up-1 { + box-shadow: 0 -1px 3px #0003, 0 -1px 1px #00000024, 0 -2px 1px -1px #0000001f; +} +.shadow-2 { + box-shadow: 0 1px 5px #0003, 0 2px 2px #00000024, 0 3px 1px -2px #0000001f; +} +.shadow-up-2 { + box-shadow: 0 -1px 5px #0003, 0 -2px 2px #00000024, 0 -3px 1px -2px #0000001f; +} +.shadow-3 { + box-shadow: 0 1px 8px #0003, 0 3px 4px #00000024, 0 3px 3px -2px #0000001f; +} +.shadow-up-3 { + box-shadow: 0 -1px 8px #0003, 0 -3px 4px #00000024, 0 -3px 3px -2px #0000001f; +} +.shadow-4 { + box-shadow: 0 2px 4px -1px #0003, 0 4px 5px #00000024, 0 1px 10px #0000001f; +} +.shadow-up-4 { + box-shadow: 0 -2px 4px -1px #0003, 0 -4px 5px #00000024, 0 -1px 10px #0000001f; +} +.shadow-5 { + box-shadow: 0 3px 5px -1px #0003, 0 5px 8px #00000024, 0 1px 14px #0000001f; +} +.shadow-up-5 { + box-shadow: 0 -3px 5px -1px #0003, 0 -5px 8px #00000024, 0 -1px 14px #0000001f; +} +.shadow-6 { + box-shadow: 0 3px 5px -1px #0003, 0 6px 10px #00000024, 0 1px 18px #0000001f; +} +.shadow-up-6 { + box-shadow: 0 -3px 5px -1px #0003, 0 -6px 10px #00000024, + 0 -1px 18px #0000001f; +} +.shadow-7 { + box-shadow: 0 4px 5px -2px #0003, 0 7px 10px 1px #00000024, + 0 2px 16px 1px #0000001f; +} +.shadow-up-7 { + box-shadow: 0 -4px 5px -2px #0003, 0 -7px 10px 1px #00000024, + 0 -2px 16px 1px #0000001f; +} +.shadow-8 { + box-shadow: 0 5px 5px -3px #0003, 0 8px 10px 1px #00000024, + 0 3px 14px 2px #0000001f; +} +.shadow-up-8 { + box-shadow: 0 -5px 5px -3px #0003, 0 -8px 10px 1px #00000024, + 0 -3px 14px 2px #0000001f; +} +.shadow-9 { + box-shadow: 0 5px 6px -3px #0003, 0 9px 12px 1px #00000024, + 0 3px 16px 2px #0000001f; +} +.shadow-up-9 { + box-shadow: 0 -5px 6px -3px #0003, 0 -9px 12px 1px #00000024, + 0 -3px 16px 2px #0000001f; +} +.shadow-10 { + box-shadow: 0 6px 6px -3px #0003, 0 10px 14px 1px #00000024, + 0 4px 18px 3px #0000001f; +} +.shadow-up-10 { + box-shadow: 0 -6px 6px -3px #0003, 0 -10px 14px 1px #00000024, + 0 -4px 18px 3px #0000001f; +} +.shadow-11 { + box-shadow: 0 6px 7px -4px #0003, 0 11px 15px 1px #00000024, + 0 4px 20px 3px #0000001f; +} +.shadow-up-11 { + box-shadow: 0 -6px 7px -4px #0003, 0 -11px 15px 1px #00000024, + 0 -4px 20px 3px #0000001f; +} +.shadow-12 { + box-shadow: 0 7px 8px -4px #0003, 0 12px 17px 2px #00000024, + 0 5px 22px 4px #0000001f; +} +.shadow-up-12 { + box-shadow: 0 -7px 8px -4px #0003, 0 -12px 17px 2px #00000024, + 0 -5px 22px 4px #0000001f; +} +.shadow-13 { + box-shadow: 0 7px 8px -4px #0003, 0 13px 19px 2px #00000024, + 0 5px 24px 4px #0000001f; +} +.shadow-up-13 { + box-shadow: 0 -7px 8px -4px #0003, 0 -13px 19px 2px #00000024, + 0 -5px 24px 4px #0000001f; +} +.shadow-14 { + box-shadow: 0 7px 9px -4px #0003, 0 14px 21px 2px #00000024, + 0 5px 26px 4px #0000001f; +} +.shadow-up-14 { + box-shadow: 0 -7px 9px -4px #0003, 0 -14px 21px 2px #00000024, + 0 -5px 26px 4px #0000001f; +} +.shadow-15 { + box-shadow: 0 8px 9px -5px #0003, 0 15px 22px 2px #00000024, + 0 6px 28px 5px #0000001f; +} +.shadow-up-15 { + box-shadow: 0 -8px 9px -5px #0003, 0 -15px 22px 2px #00000024, + 0 -6px 28px 5px #0000001f; +} +.shadow-16 { + box-shadow: 0 8px 10px -5px #0003, 0 16px 24px 2px #00000024, + 0 6px 30px 5px #0000001f; +} +.shadow-up-16 { + box-shadow: 0 -8px 10px -5px #0003, 0 -16px 24px 2px #00000024, + 0 -6px 30px 5px #0000001f; +} +.shadow-17 { + box-shadow: 0 8px 11px -5px #0003, 0 17px 26px 2px #00000024, + 0 6px 32px 5px #0000001f; +} +.shadow-up-17 { + box-shadow: 0 -8px 11px -5px #0003, 0 -17px 26px 2px #00000024, + 0 -6px 32px 5px #0000001f; +} +.shadow-18 { + box-shadow: 0 9px 11px -5px #0003, 0 18px 28px 2px #00000024, + 0 7px 34px 6px #0000001f; +} +.shadow-up-18 { + box-shadow: 0 -9px 11px -5px #0003, 0 -18px 28px 2px #00000024, + 0 -7px 34px 6px #0000001f; +} +.shadow-19 { + box-shadow: 0 9px 12px -6px #0003, 0 19px 29px 2px #00000024, + 0 7px 36px 6px #0000001f; +} +.shadow-up-19 { + box-shadow: 0 -9px 12px -6px #0003, 0 -19px 29px 2px #00000024, + 0 -7px 36px 6px #0000001f; +} +.shadow-20 { + box-shadow: 0 10px 13px -6px #0003, 0 20px 31px 3px #00000024, + 0 8px 38px 7px #0000001f; +} +.shadow-up-20 { + box-shadow: 0 -10px 13px -6px #0003, 0 -20px 31px 3px #00000024, + 0 -8px 38px 7px #0000001f; +} +.shadow-21 { + box-shadow: 0 10px 13px -6px #0003, 0 21px 33px 3px #00000024, + 0 8px 40px 7px #0000001f; +} +.shadow-up-21 { + box-shadow: 0 -10px 13px -6px #0003, 0 -21px 33px 3px #00000024, + 0 -8px 40px 7px #0000001f; +} +.shadow-22 { + box-shadow: 0 10px 14px -6px #0003, 0 22px 35px 3px #00000024, + 0 8px 42px 7px #0000001f; +} +.shadow-up-22 { + box-shadow: 0 -10px 14px -6px #0003, 0 -22px 35px 3px #00000024, + 0 -8px 42px 7px #0000001f; +} +.shadow-23 { + box-shadow: 0 11px 14px -7px #0003, 0 23px 36px 3px #00000024, + 0 9px 44px 8px #0000001f; +} +.shadow-up-23 { + box-shadow: 0 -11px 14px -7px #0003, 0 -23px 36px 3px #00000024, + 0 -9px 44px 8px #0000001f; +} +.shadow-24 { + box-shadow: 0 11px 15px -7px #0003, 0 24px 38px 3px #00000024, + 0 9px 46px 8px #0000001f; +} +.shadow-up-24 { + box-shadow: 0 -11px 15px -7px #0003, 0 -24px 38px 3px #00000024, + 0 -9px 46px 8px #0000001f; +} +.inset-shadow { + box-shadow: 0 7px 9px -7px #000000b3 inset; +} +.inset-shadow-down { + box-shadow: 0 -7px 9px -7px #000000b3 inset; +} +body.body--dark .shadow-1 { + box-shadow: 0 1px 3px #fff3, 0 1px 1px #ffffff24, 0 2px 1px -1px #ffffff1f; +} +body.body--dark .shadow-up-1 { + box-shadow: 0 -1px 3px #fff3, 0 -1px 1px #ffffff24, 0 -2px 1px -1px #ffffff1f; +} +body.body--dark .shadow-2 { + box-shadow: 0 1px 5px #fff3, 0 2px 2px #ffffff24, 0 3px 1px -2px #ffffff1f; +} +body.body--dark .shadow-up-2 { + box-shadow: 0 -1px 5px #fff3, 0 -2px 2px #ffffff24, 0 -3px 1px -2px #ffffff1f; +} +body.body--dark .shadow-3 { + box-shadow: 0 1px 8px #fff3, 0 3px 4px #ffffff24, 0 3px 3px -2px #ffffff1f; +} +body.body--dark .shadow-up-3 { + box-shadow: 0 -1px 8px #fff3, 0 -3px 4px #ffffff24, 0 -3px 3px -2px #ffffff1f; +} +body.body--dark .shadow-4 { + box-shadow: 0 2px 4px -1px #fff3, 0 4px 5px #ffffff24, 0 1px 10px #ffffff1f; +} +body.body--dark .shadow-up-4 { + box-shadow: 0 -2px 4px -1px #fff3, 0 -4px 5px #ffffff24, 0 -1px 10px #ffffff1f; +} +body.body--dark .shadow-5 { + box-shadow: 0 3px 5px -1px #fff3, 0 5px 8px #ffffff24, 0 1px 14px #ffffff1f; +} +body.body--dark .shadow-up-5 { + box-shadow: 0 -3px 5px -1px #fff3, 0 -5px 8px #ffffff24, 0 -1px 14px #ffffff1f; +} +body.body--dark .shadow-6 { + box-shadow: 0 3px 5px -1px #fff3, 0 6px 10px #ffffff24, 0 1px 18px #ffffff1f; +} +body.body--dark .shadow-up-6 { + box-shadow: 0 -3px 5px -1px #fff3, 0 -6px 10px #ffffff24, + 0 -1px 18px #ffffff1f; +} +body.body--dark .shadow-7 { + box-shadow: 0 4px 5px -2px #fff3, 0 7px 10px 1px #ffffff24, + 0 2px 16px 1px #ffffff1f; +} +body.body--dark .shadow-up-7 { + box-shadow: 0 -4px 5px -2px #fff3, 0 -7px 10px 1px #ffffff24, + 0 -2px 16px 1px #ffffff1f; +} +body.body--dark .shadow-8 { + box-shadow: 0 5px 5px -3px #fff3, 0 8px 10px 1px #ffffff24, + 0 3px 14px 2px #ffffff1f; +} +body.body--dark .shadow-up-8 { + box-shadow: 0 -5px 5px -3px #fff3, 0 -8px 10px 1px #ffffff24, + 0 -3px 14px 2px #ffffff1f; +} +body.body--dark .shadow-9 { + box-shadow: 0 5px 6px -3px #fff3, 0 9px 12px 1px #ffffff24, + 0 3px 16px 2px #ffffff1f; +} +body.body--dark .shadow-up-9 { + box-shadow: 0 -5px 6px -3px #fff3, 0 -9px 12px 1px #ffffff24, + 0 -3px 16px 2px #ffffff1f; +} +body.body--dark .shadow-10 { + box-shadow: 0 6px 6px -3px #fff3, 0 10px 14px 1px #ffffff24, + 0 4px 18px 3px #ffffff1f; +} +body.body--dark .shadow-up-10 { + box-shadow: 0 -6px 6px -3px #fff3, 0 -10px 14px 1px #ffffff24, + 0 -4px 18px 3px #ffffff1f; +} +body.body--dark .shadow-11 { + box-shadow: 0 6px 7px -4px #fff3, 0 11px 15px 1px #ffffff24, + 0 4px 20px 3px #ffffff1f; +} +body.body--dark .shadow-up-11 { + box-shadow: 0 -6px 7px -4px #fff3, 0 -11px 15px 1px #ffffff24, + 0 -4px 20px 3px #ffffff1f; +} +body.body--dark .shadow-12 { + box-shadow: 0 7px 8px -4px #fff3, 0 12px 17px 2px #ffffff24, + 0 5px 22px 4px #ffffff1f; +} +body.body--dark .shadow-up-12 { + box-shadow: 0 -7px 8px -4px #fff3, 0 -12px 17px 2px #ffffff24, + 0 -5px 22px 4px #ffffff1f; +} +body.body--dark .shadow-13 { + box-shadow: 0 7px 8px -4px #fff3, 0 13px 19px 2px #ffffff24, + 0 5px 24px 4px #ffffff1f; +} +body.body--dark .shadow-up-13 { + box-shadow: 0 -7px 8px -4px #fff3, 0 -13px 19px 2px #ffffff24, + 0 -5px 24px 4px #ffffff1f; +} +body.body--dark .shadow-14 { + box-shadow: 0 7px 9px -4px #fff3, 0 14px 21px 2px #ffffff24, + 0 5px 26px 4px #ffffff1f; +} +body.body--dark .shadow-up-14 { + box-shadow: 0 -7px 9px -4px #fff3, 0 -14px 21px 2px #ffffff24, + 0 -5px 26px 4px #ffffff1f; +} +body.body--dark .shadow-15 { + box-shadow: 0 8px 9px -5px #fff3, 0 15px 22px 2px #ffffff24, + 0 6px 28px 5px #ffffff1f; +} +body.body--dark .shadow-up-15 { + box-shadow: 0 -8px 9px -5px #fff3, 0 -15px 22px 2px #ffffff24, + 0 -6px 28px 5px #ffffff1f; +} +body.body--dark .shadow-16 { + box-shadow: 0 8px 10px -5px #fff3, 0 16px 24px 2px #ffffff24, + 0 6px 30px 5px #ffffff1f; +} +body.body--dark .shadow-up-16 { + box-shadow: 0 -8px 10px -5px #fff3, 0 -16px 24px 2px #ffffff24, + 0 -6px 30px 5px #ffffff1f; +} +body.body--dark .shadow-17 { + box-shadow: 0 8px 11px -5px #fff3, 0 17px 26px 2px #ffffff24, + 0 6px 32px 5px #ffffff1f; +} +body.body--dark .shadow-up-17 { + box-shadow: 0 -8px 11px -5px #fff3, 0 -17px 26px 2px #ffffff24, + 0 -6px 32px 5px #ffffff1f; +} +body.body--dark .shadow-18 { + box-shadow: 0 9px 11px -5px #fff3, 0 18px 28px 2px #ffffff24, + 0 7px 34px 6px #ffffff1f; +} +body.body--dark .shadow-up-18 { + box-shadow: 0 -9px 11px -5px #fff3, 0 -18px 28px 2px #ffffff24, + 0 -7px 34px 6px #ffffff1f; +} +body.body--dark .shadow-19 { + box-shadow: 0 9px 12px -6px #fff3, 0 19px 29px 2px #ffffff24, + 0 7px 36px 6px #ffffff1f; +} +body.body--dark .shadow-up-19 { + box-shadow: 0 -9px 12px -6px #fff3, 0 -19px 29px 2px #ffffff24, + 0 -7px 36px 6px #ffffff1f; +} +body.body--dark .shadow-20 { + box-shadow: 0 10px 13px -6px #fff3, 0 20px 31px 3px #ffffff24, + 0 8px 38px 7px #ffffff1f; +} +body.body--dark .shadow-up-20 { + box-shadow: 0 -10px 13px -6px #fff3, 0 -20px 31px 3px #ffffff24, + 0 -8px 38px 7px #ffffff1f; +} +body.body--dark .shadow-21 { + box-shadow: 0 10px 13px -6px #fff3, 0 21px 33px 3px #ffffff24, + 0 8px 40px 7px #ffffff1f; +} +body.body--dark .shadow-up-21 { + box-shadow: 0 -10px 13px -6px #fff3, 0 -21px 33px 3px #ffffff24, + 0 -8px 40px 7px #ffffff1f; +} +body.body--dark .shadow-22 { + box-shadow: 0 10px 14px -6px #fff3, 0 22px 35px 3px #ffffff24, + 0 8px 42px 7px #ffffff1f; +} +body.body--dark .shadow-up-22 { + box-shadow: 0 -10px 14px -6px #fff3, 0 -22px 35px 3px #ffffff24, + 0 -8px 42px 7px #ffffff1f; +} +body.body--dark .shadow-23 { + box-shadow: 0 11px 14px -7px #fff3, 0 23px 36px 3px #ffffff24, + 0 9px 44px 8px #ffffff1f; +} +body.body--dark .shadow-up-23 { + box-shadow: 0 -11px 14px -7px #fff3, 0 -23px 36px 3px #ffffff24, + 0 -9px 44px 8px #ffffff1f; +} +body.body--dark .shadow-24 { + box-shadow: 0 11px 15px -7px #fff3, 0 24px 38px 3px #ffffff24, + 0 9px 46px 8px #ffffff1f; +} +body.body--dark .shadow-up-24 { + box-shadow: 0 -11px 15px -7px #fff3, 0 -24px 38px 3px #ffffff24, + 0 -9px 46px 8px #ffffff1f; +} +body.body--dark .inset-shadow { + box-shadow: 0 7px 9px -7px #ffffffb3 inset; +} +body.body--dark .inset-shadow-down { + box-shadow: 0 -7px 9px -7px #ffffffb3 inset; +} +.no-shadow, +.shadow-0 { + box-shadow: none !important; +} +.z-marginals { + z-index: 2000; +} +.z-notify { + z-index: 9500; +} +.z-fullscreen { + z-index: 6000; +} +.z-inherit { + z-index: inherit !important; +} +.row, +.column, +.flex { + display: flex; + flex-wrap: wrap; +} +.row.inline, +.column.inline, +.flex.inline { + display: inline-flex; +} +.row.reverse { + flex-direction: row-reverse; +} +.column { + flex-direction: column; +} +.column.reverse { + flex-direction: column-reverse; +} +.wrap { + flex-wrap: wrap; +} +.no-wrap { + flex-wrap: nowrap; +} +.reverse-wrap { + flex-wrap: wrap-reverse; +} +.order-first { + order: -10000; +} +.order-last { + order: 10000; +} +.order-none { + order: 0; +} +.justify-start { + justify-content: flex-start; +} +.justify-end { + justify-content: flex-end; +} +.justify-center, +.flex-center { + justify-content: center; +} +.justify-between { + justify-content: space-between; +} +.justify-around { + justify-content: space-around; +} +.justify-evenly { + justify-content: space-evenly; +} +.items-start { + align-items: flex-start; +} +.items-end { + align-items: flex-end; +} +.items-center, +.flex-center { + align-items: center; +} +.items-baseline { + align-items: baseline; +} +.items-stretch { + align-items: stretch; +} +.content-start { + align-content: flex-start; +} +.content-end { + align-content: flex-end; +} +.content-center { + align-content: center; +} +.content-stretch { + align-content: stretch; +} +.content-between { + align-content: space-between; +} +.content-around { + align-content: space-around; +} +.self-start { + align-self: flex-start; +} +.self-end { + align-self: flex-end; +} +.self-center { + align-self: center; +} +.self-baseline { + align-self: baseline; +} +.self-stretch { + align-self: stretch; +} +.q-gutter-x-none, +.q-gutter-none { + margin-left: 0; +} +.q-gutter-x-none > *, +.q-gutter-none > * { + margin-left: 0; +} +.q-gutter-y-none, +.q-gutter-none { + margin-top: 0; +} +.q-gutter-y-none > *, +.q-gutter-none > * { + margin-top: 0; +} +.q-col-gutter-x-none, +.q-col-gutter-none { + margin-left: 0; +} +.q-col-gutter-x-none > *, +.q-col-gutter-none > * { + padding-left: 0; +} +.q-col-gutter-y-none, +.q-col-gutter-none { + margin-top: 0; +} +.q-col-gutter-y-none > *, +.q-col-gutter-none > * { + padding-top: 0; +} +.q-gutter-x-xs, +.q-gutter-xs { + margin-left: -4px; +} +.q-gutter-x-xs > *, +.q-gutter-xs > * { + margin-left: 4px; +} +.q-gutter-y-xs, +.q-gutter-xs { + margin-top: -4px; +} +.q-gutter-y-xs > *, +.q-gutter-xs > * { + margin-top: 4px; +} +.q-col-gutter-x-xs, +.q-col-gutter-xs { + margin-left: -4px; +} +.q-col-gutter-x-xs > *, +.q-col-gutter-xs > * { + padding-left: 4px; +} +.q-col-gutter-y-xs, +.q-col-gutter-xs { + margin-top: -4px; +} +.q-col-gutter-y-xs > *, +.q-col-gutter-xs > * { + padding-top: 4px; +} +.q-gutter-x-sm, +.q-gutter-sm { + margin-left: -8px; +} +.q-gutter-x-sm > *, +.q-gutter-sm > * { + margin-left: 8px; +} +.q-gutter-y-sm, +.q-gutter-sm { + margin-top: -8px; +} +.q-gutter-y-sm > *, +.q-gutter-sm > * { + margin-top: 8px; +} +.q-col-gutter-x-sm, +.q-col-gutter-sm { + margin-left: -8px; +} +.q-col-gutter-x-sm > *, +.q-col-gutter-sm > * { + padding-left: 8px; +} +.q-col-gutter-y-sm, +.q-col-gutter-sm { + margin-top: -8px; +} +.q-col-gutter-y-sm > *, +.q-col-gutter-sm > * { + padding-top: 8px; +} +.q-gutter-x-md, +.q-gutter-md { + margin-left: -16px; +} +.q-gutter-x-md > *, +.q-gutter-md > * { + margin-left: 16px; +} +.q-gutter-y-md, +.q-gutter-md { + margin-top: -16px; +} +.q-gutter-y-md > *, +.q-gutter-md > * { + margin-top: 16px; +} +.q-col-gutter-x-md, +.q-col-gutter-md { + margin-left: -16px; +} +.q-col-gutter-x-md > *, +.q-col-gutter-md > * { + padding-left: 16px; +} +.q-col-gutter-y-md, +.q-col-gutter-md { + margin-top: -16px; +} +.q-col-gutter-y-md > *, +.q-col-gutter-md > * { + padding-top: 16px; +} +.q-gutter-x-lg, +.q-gutter-lg { + margin-left: -24px; +} +.q-gutter-x-lg > *, +.q-gutter-lg > * { + margin-left: 24px; +} +.q-gutter-y-lg, +.q-gutter-lg { + margin-top: -24px; +} +.q-gutter-y-lg > *, +.q-gutter-lg > * { + margin-top: 24px; +} +.q-col-gutter-x-lg, +.q-col-gutter-lg { + margin-left: -24px; +} +.q-col-gutter-x-lg > *, +.q-col-gutter-lg > * { + padding-left: 24px; +} +.q-col-gutter-y-lg, +.q-col-gutter-lg { + margin-top: -24px; +} +.q-col-gutter-y-lg > *, +.q-col-gutter-lg > * { + padding-top: 24px; +} +.q-gutter-x-xl, +.q-gutter-xl { + margin-left: -48px; +} +.q-gutter-x-xl > *, +.q-gutter-xl > * { + margin-left: 48px; +} +.q-gutter-y-xl, +.q-gutter-xl { + margin-top: -48px; +} +.q-gutter-y-xl > *, +.q-gutter-xl > * { + margin-top: 48px; +} +.q-col-gutter-x-xl, +.q-col-gutter-xl { + margin-left: -48px; +} +.q-col-gutter-x-xl > *, +.q-col-gutter-xl > * { + padding-left: 48px; +} +.q-col-gutter-y-xl, +.q-col-gutter-xl { + margin-top: -48px; +} +.q-col-gutter-y-xl > *, +.q-col-gutter-xl > * { + padding-top: 48px; +} +@media (min-width: 0) { + .row > .col, + .flex > .col, + .row > .col-auto, + .flex > .col-auto, + .row > .col-grow, + .flex > .col-grow, + .row > .col-shrink, + .flex > .col-shrink, + .row > .col-xs, + .flex > .col-xs, + .row > .col-xs-auto, + .row > .col-12, + .row > .col-xs-12, + .row > .col-11, + .row > .col-xs-11, + .row > .col-10, + .row > .col-xs-10, + .row > .col-9, + .row > .col-xs-9, + .row > .col-8, + .row > .col-xs-8, + .row > .col-7, + .row > .col-xs-7, + .row > .col-6, + .row > .col-xs-6, + .row > .col-5, + .row > .col-xs-5, + .row > .col-4, + .row > .col-xs-4, + .row > .col-3, + .row > .col-xs-3, + .row > .col-2, + .row > .col-xs-2, + .row > .col-1, + .row > .col-xs-1, + .row > .col-0, + .row > .col-xs-0, + .flex > .col-xs-auto, + .flex > .col-12, + .flex > .col-xs-12, + .flex > .col-11, + .flex > .col-xs-11, + .flex > .col-10, + .flex > .col-xs-10, + .flex > .col-9, + .flex > .col-xs-9, + .flex > .col-8, + .flex > .col-xs-8, + .flex > .col-7, + .flex > .col-xs-7, + .flex > .col-6, + .flex > .col-xs-6, + .flex > .col-5, + .flex > .col-xs-5, + .flex > .col-4, + .flex > .col-xs-4, + .flex > .col-3, + .flex > .col-xs-3, + .flex > .col-2, + .flex > .col-xs-2, + .flex > .col-1, + .flex > .col-xs-1, + .flex > .col-0, + .flex > .col-xs-0, + .row > .col-xs-grow, + .flex > .col-xs-grow, + .row > .col-xs-shrink, + .flex > .col-xs-shrink { + width: auto; + min-width: 0; + max-width: 100%; + } + .column > .col, + .flex > .col, + .column > .col-auto, + .flex > .col-auto, + .column > .col-grow, + .flex > .col-grow, + .column > .col-shrink, + .flex > .col-shrink, + .column > .col-xs, + .flex > .col-xs, + .column > .col-xs-auto, + .column > .col-12, + .column > .col-xs-12, + .column > .col-11, + .column > .col-xs-11, + .column > .col-10, + .column > .col-xs-10, + .column > .col-9, + .column > .col-xs-9, + .column > .col-8, + .column > .col-xs-8, + .column > .col-7, + .column > .col-xs-7, + .column > .col-6, + .column > .col-xs-6, + .column > .col-5, + .column > .col-xs-5, + .column > .col-4, + .column > .col-xs-4, + .column > .col-3, + .column > .col-xs-3, + .column > .col-2, + .column > .col-xs-2, + .column > .col-1, + .column > .col-xs-1, + .column > .col-0, + .column > .col-xs-0, + .flex > .col-xs-auto, + .flex > .col-12, + .flex > .col-xs-12, + .flex > .col-11, + .flex > .col-xs-11, + .flex > .col-10, + .flex > .col-xs-10, + .flex > .col-9, + .flex > .col-xs-9, + .flex > .col-8, + .flex > .col-xs-8, + .flex > .col-7, + .flex > .col-xs-7, + .flex > .col-6, + .flex > .col-xs-6, + .flex > .col-5, + .flex > .col-xs-5, + .flex > .col-4, + .flex > .col-xs-4, + .flex > .col-3, + .flex > .col-xs-3, + .flex > .col-2, + .flex > .col-xs-2, + .flex > .col-1, + .flex > .col-xs-1, + .flex > .col-0, + .flex > .col-xs-0, + .column > .col-xs-grow, + .flex > .col-xs-grow, + .column > .col-xs-shrink, + .flex > .col-xs-shrink { + height: auto; + min-height: 0; + max-height: 100%; + } + .col, + .col-xs { + flex: 10000 1 0%; + } + .col-auto, + .col-xs-auto, + .col-12, + .col-xs-12, + .col-11, + .col-xs-11, + .col-10, + .col-xs-10, + .col-9, + .col-xs-9, + .col-8, + .col-xs-8, + .col-7, + .col-xs-7, + .col-6, + .col-xs-6, + .col-5, + .col-xs-5, + .col-4, + .col-xs-4, + .col-3, + .col-xs-3, + .col-2, + .col-xs-2, + .col-1, + .col-xs-1, + .col-0, + .col-xs-0 { + flex: 0 0 auto; + } + .col-grow, + .col-xs-grow { + flex: 1 0 auto; + } + .col-shrink, + .col-xs-shrink { + flex: 0 1 auto; + } + .row > .col-0, + .row > .col-xs-0 { + height: auto; + width: 0%; + } + .row > .offset-0, + .row > .offset-xs-0 { + margin-left: 0%; + } + .column > .col-0, + .column > .col-xs-0 { + height: 0%; + width: auto; + } + .row > .col-1, + .row > .col-xs-1 { + height: auto; + width: 8.3333%; + } + .row > .offset-1, + .row > .offset-xs-1 { + margin-left: 8.3333%; + } + .column > .col-1, + .column > .col-xs-1 { + height: 8.3333%; + width: auto; + } + .row > .col-2, + .row > .col-xs-2 { + height: auto; + width: 16.6667%; + } + .row > .offset-2, + .row > .offset-xs-2 { + margin-left: 16.6667%; + } + .column > .col-2, + .column > .col-xs-2 { + height: 16.6667%; + width: auto; + } + .row > .col-3, + .row > .col-xs-3 { + height: auto; + width: 25%; + } + .row > .offset-3, + .row > .offset-xs-3 { + margin-left: 25%; + } + .column > .col-3, + .column > .col-xs-3 { + height: 25%; + width: auto; + } + .row > .col-4, + .row > .col-xs-4 { + height: auto; + width: 33.3333%; + } + .row > .offset-4, + .row > .offset-xs-4 { + margin-left: 33.3333%; + } + .column > .col-4, + .column > .col-xs-4 { + height: 33.3333%; + width: auto; + } + .row > .col-5, + .row > .col-xs-5 { + height: auto; + width: 41.6667%; + } + .row > .offset-5, + .row > .offset-xs-5 { + margin-left: 41.6667%; + } + .column > .col-5, + .column > .col-xs-5 { + height: 41.6667%; + width: auto; + } + .row > .col-6, + .row > .col-xs-6 { + height: auto; + width: 50%; + } + .row > .offset-6, + .row > .offset-xs-6 { + margin-left: 50%; + } + .column > .col-6, + .column > .col-xs-6 { + height: 50%; + width: auto; + } + .row > .col-7, + .row > .col-xs-7 { + height: auto; + width: 58.3333%; + } + .row > .offset-7, + .row > .offset-xs-7 { + margin-left: 58.3333%; + } + .column > .col-7, + .column > .col-xs-7 { + height: 58.3333%; + width: auto; + } + .row > .col-8, + .row > .col-xs-8 { + height: auto; + width: 66.6667%; + } + .row > .offset-8, + .row > .offset-xs-8 { + margin-left: 66.6667%; + } + .column > .col-8, + .column > .col-xs-8 { + height: 66.6667%; + width: auto; + } + .row > .col-9, + .row > .col-xs-9 { + height: auto; + width: 75%; + } + .row > .offset-9, + .row > .offset-xs-9 { + margin-left: 75%; + } + .column > .col-9, + .column > .col-xs-9 { + height: 75%; + width: auto; + } + .row > .col-10, + .row > .col-xs-10 { + height: auto; + width: 83.3333%; + } + .row > .offset-10, + .row > .offset-xs-10 { + margin-left: 83.3333%; + } + .column > .col-10, + .column > .col-xs-10 { + height: 83.3333%; + width: auto; + } + .row > .col-11, + .row > .col-xs-11 { + height: auto; + width: 91.6667%; + } + .row > .offset-11, + .row > .offset-xs-11 { + margin-left: 91.6667%; + } + .column > .col-11, + .column > .col-xs-11 { + height: 91.6667%; + width: auto; + } + .row > .col-12, + .row > .col-xs-12 { + height: auto; + width: 100%; + } + .row > .offset-12, + .row > .offset-xs-12 { + margin-left: 100%; + } + .column > .col-12, + .column > .col-xs-12 { + height: 100%; + width: auto; + } + .row > .col-all { + height: auto; + flex: 0 0 100%; + } +} +@media (min-width: 600px) { + .row > .col-sm, + .flex > .col-sm, + .row > .col-sm-auto, + .row > .col-sm-12, + .row > .col-sm-11, + .row > .col-sm-10, + .row > .col-sm-9, + .row > .col-sm-8, + .row > .col-sm-7, + .row > .col-sm-6, + .row > .col-sm-5, + .row > .col-sm-4, + .row > .col-sm-3, + .row > .col-sm-2, + .row > .col-sm-1, + .row > .col-sm-0, + .flex > .col-sm-auto, + .flex > .col-sm-12, + .flex > .col-sm-11, + .flex > .col-sm-10, + .flex > .col-sm-9, + .flex > .col-sm-8, + .flex > .col-sm-7, + .flex > .col-sm-6, + .flex > .col-sm-5, + .flex > .col-sm-4, + .flex > .col-sm-3, + .flex > .col-sm-2, + .flex > .col-sm-1, + .flex > .col-sm-0, + .row > .col-sm-grow, + .flex > .col-sm-grow, + .row > .col-sm-shrink, + .flex > .col-sm-shrink { + width: auto; + min-width: 0; + max-width: 100%; + } + .column > .col-sm, + .flex > .col-sm, + .column > .col-sm-auto, + .column > .col-sm-12, + .column > .col-sm-11, + .column > .col-sm-10, + .column > .col-sm-9, + .column > .col-sm-8, + .column > .col-sm-7, + .column > .col-sm-6, + .column > .col-sm-5, + .column > .col-sm-4, + .column > .col-sm-3, + .column > .col-sm-2, + .column > .col-sm-1, + .column > .col-sm-0, + .flex > .col-sm-auto, + .flex > .col-sm-12, + .flex > .col-sm-11, + .flex > .col-sm-10, + .flex > .col-sm-9, + .flex > .col-sm-8, + .flex > .col-sm-7, + .flex > .col-sm-6, + .flex > .col-sm-5, + .flex > .col-sm-4, + .flex > .col-sm-3, + .flex > .col-sm-2, + .flex > .col-sm-1, + .flex > .col-sm-0, + .column > .col-sm-grow, + .flex > .col-sm-grow, + .column > .col-sm-shrink, + .flex > .col-sm-shrink { + height: auto; + min-height: 0; + max-height: 100%; + } + .col-sm { + flex: 10000 1 0%; + } + .col-sm-auto, + .col-sm-12, + .col-sm-11, + .col-sm-10, + .col-sm-9, + .col-sm-8, + .col-sm-7, + .col-sm-6, + .col-sm-5, + .col-sm-4, + .col-sm-3, + .col-sm-2, + .col-sm-1, + .col-sm-0 { + flex: 0 0 auto; + } + .col-sm-grow { + flex: 1 0 auto; + } + .col-sm-shrink { + flex: 0 1 auto; + } + .row > .col-sm-0 { + height: auto; + width: 0%; + } + .row > .offset-sm-0 { + margin-left: 0%; + } + .column > .col-sm-0 { + height: 0%; + width: auto; + } + .row > .col-sm-1 { + height: auto; + width: 8.3333%; + } + .row > .offset-sm-1 { + margin-left: 8.3333%; + } + .column > .col-sm-1 { + height: 8.3333%; + width: auto; + } + .row > .col-sm-2 { + height: auto; + width: 16.6667%; + } + .row > .offset-sm-2 { + margin-left: 16.6667%; + } + .column > .col-sm-2 { + height: 16.6667%; + width: auto; + } + .row > .col-sm-3 { + height: auto; + width: 25%; + } + .row > .offset-sm-3 { + margin-left: 25%; + } + .column > .col-sm-3 { + height: 25%; + width: auto; + } + .row > .col-sm-4 { + height: auto; + width: 33.3333%; + } + .row > .offset-sm-4 { + margin-left: 33.3333%; + } + .column > .col-sm-4 { + height: 33.3333%; + width: auto; + } + .row > .col-sm-5 { + height: auto; + width: 41.6667%; + } + .row > .offset-sm-5 { + margin-left: 41.6667%; + } + .column > .col-sm-5 { + height: 41.6667%; + width: auto; + } + .row > .col-sm-6 { + height: auto; + width: 50%; + } + .row > .offset-sm-6 { + margin-left: 50%; + } + .column > .col-sm-6 { + height: 50%; + width: auto; + } + .row > .col-sm-7 { + height: auto; + width: 58.3333%; + } + .row > .offset-sm-7 { + margin-left: 58.3333%; + } + .column > .col-sm-7 { + height: 58.3333%; + width: auto; + } + .row > .col-sm-8 { + height: auto; + width: 66.6667%; + } + .row > .offset-sm-8 { + margin-left: 66.6667%; + } + .column > .col-sm-8 { + height: 66.6667%; + width: auto; + } + .row > .col-sm-9 { + height: auto; + width: 75%; + } + .row > .offset-sm-9 { + margin-left: 75%; + } + .column > .col-sm-9 { + height: 75%; + width: auto; + } + .row > .col-sm-10 { + height: auto; + width: 83.3333%; + } + .row > .offset-sm-10 { + margin-left: 83.3333%; + } + .column > .col-sm-10 { + height: 83.3333%; + width: auto; + } + .row > .col-sm-11 { + height: auto; + width: 91.6667%; + } + .row > .offset-sm-11 { + margin-left: 91.6667%; + } + .column > .col-sm-11 { + height: 91.6667%; + width: auto; + } + .row > .col-sm-12 { + height: auto; + width: 100%; + } + .row > .offset-sm-12 { + margin-left: 100%; + } + .column > .col-sm-12 { + height: 100%; + width: auto; + } +} +@media (min-width: 1024px) { + .row > .col-md, + .flex > .col-md, + .row > .col-md-auto, + .row > .col-md-12, + .row > .col-md-11, + .row > .col-md-10, + .row > .col-md-9, + .row > .col-md-8, + .row > .col-md-7, + .row > .col-md-6, + .row > .col-md-5, + .row > .col-md-4, + .row > .col-md-3, + .row > .col-md-2, + .row > .col-md-1, + .row > .col-md-0, + .flex > .col-md-auto, + .flex > .col-md-12, + .flex > .col-md-11, + .flex > .col-md-10, + .flex > .col-md-9, + .flex > .col-md-8, + .flex > .col-md-7, + .flex > .col-md-6, + .flex > .col-md-5, + .flex > .col-md-4, + .flex > .col-md-3, + .flex > .col-md-2, + .flex > .col-md-1, + .flex > .col-md-0, + .row > .col-md-grow, + .flex > .col-md-grow, + .row > .col-md-shrink, + .flex > .col-md-shrink { + width: auto; + min-width: 0; + max-width: 100%; + } + .column > .col-md, + .flex > .col-md, + .column > .col-md-auto, + .column > .col-md-12, + .column > .col-md-11, + .column > .col-md-10, + .column > .col-md-9, + .column > .col-md-8, + .column > .col-md-7, + .column > .col-md-6, + .column > .col-md-5, + .column > .col-md-4, + .column > .col-md-3, + .column > .col-md-2, + .column > .col-md-1, + .column > .col-md-0, + .flex > .col-md-auto, + .flex > .col-md-12, + .flex > .col-md-11, + .flex > .col-md-10, + .flex > .col-md-9, + .flex > .col-md-8, + .flex > .col-md-7, + .flex > .col-md-6, + .flex > .col-md-5, + .flex > .col-md-4, + .flex > .col-md-3, + .flex > .col-md-2, + .flex > .col-md-1, + .flex > .col-md-0, + .column > .col-md-grow, + .flex > .col-md-grow, + .column > .col-md-shrink, + .flex > .col-md-shrink { + height: auto; + min-height: 0; + max-height: 100%; + } + .col-md { + flex: 10000 1 0%; + } + .col-md-auto, + .col-md-12, + .col-md-11, + .col-md-10, + .col-md-9, + .col-md-8, + .col-md-7, + .col-md-6, + .col-md-5, + .col-md-4, + .col-md-3, + .col-md-2, + .col-md-1, + .col-md-0 { + flex: 0 0 auto; + } + .col-md-grow { + flex: 1 0 auto; + } + .col-md-shrink { + flex: 0 1 auto; + } + .row > .col-md-0 { + height: auto; + width: 0%; + } + .row > .offset-md-0 { + margin-left: 0%; + } + .column > .col-md-0 { + height: 0%; + width: auto; + } + .row > .col-md-1 { + height: auto; + width: 8.3333%; + } + .row > .offset-md-1 { + margin-left: 8.3333%; + } + .column > .col-md-1 { + height: 8.3333%; + width: auto; + } + .row > .col-md-2 { + height: auto; + width: 16.6667%; + } + .row > .offset-md-2 { + margin-left: 16.6667%; + } + .column > .col-md-2 { + height: 16.6667%; + width: auto; + } + .row > .col-md-3 { + height: auto; + width: 25%; + } + .row > .offset-md-3 { + margin-left: 25%; + } + .column > .col-md-3 { + height: 25%; + width: auto; + } + .row > .col-md-4 { + height: auto; + width: 33.3333%; + } + .row > .offset-md-4 { + margin-left: 33.3333%; + } + .column > .col-md-4 { + height: 33.3333%; + width: auto; + } + .row > .col-md-5 { + height: auto; + width: 41.6667%; + } + .row > .offset-md-5 { + margin-left: 41.6667%; + } + .column > .col-md-5 { + height: 41.6667%; + width: auto; + } + .row > .col-md-6 { + height: auto; + width: 50%; + } + .row > .offset-md-6 { + margin-left: 50%; + } + .column > .col-md-6 { + height: 50%; + width: auto; + } + .row > .col-md-7 { + height: auto; + width: 58.3333%; + } + .row > .offset-md-7 { + margin-left: 58.3333%; + } + .column > .col-md-7 { + height: 58.3333%; + width: auto; + } + .row > .col-md-8 { + height: auto; + width: 66.6667%; + } + .row > .offset-md-8 { + margin-left: 66.6667%; + } + .column > .col-md-8 { + height: 66.6667%; + width: auto; + } + .row > .col-md-9 { + height: auto; + width: 75%; + } + .row > .offset-md-9 { + margin-left: 75%; + } + .column > .col-md-9 { + height: 75%; + width: auto; + } + .row > .col-md-10 { + height: auto; + width: 83.3333%; + } + .row > .offset-md-10 { + margin-left: 83.3333%; + } + .column > .col-md-10 { + height: 83.3333%; + width: auto; + } + .row > .col-md-11 { + height: auto; + width: 91.6667%; + } + .row > .offset-md-11 { + margin-left: 91.6667%; + } + .column > .col-md-11 { + height: 91.6667%; + width: auto; + } + .row > .col-md-12 { + height: auto; + width: 100%; + } + .row > .offset-md-12 { + margin-left: 100%; + } + .column > .col-md-12 { + height: 100%; + width: auto; + } +} +@media (min-width: 1440px) { + .row > .col-lg, + .flex > .col-lg, + .row > .col-lg-auto, + .row > .col-lg-12, + .row > .col-lg-11, + .row > .col-lg-10, + .row > .col-lg-9, + .row > .col-lg-8, + .row > .col-lg-7, + .row > .col-lg-6, + .row > .col-lg-5, + .row > .col-lg-4, + .row > .col-lg-3, + .row > .col-lg-2, + .row > .col-lg-1, + .row > .col-lg-0, + .flex > .col-lg-auto, + .flex > .col-lg-12, + .flex > .col-lg-11, + .flex > .col-lg-10, + .flex > .col-lg-9, + .flex > .col-lg-8, + .flex > .col-lg-7, + .flex > .col-lg-6, + .flex > .col-lg-5, + .flex > .col-lg-4, + .flex > .col-lg-3, + .flex > .col-lg-2, + .flex > .col-lg-1, + .flex > .col-lg-0, + .row > .col-lg-grow, + .flex > .col-lg-grow, + .row > .col-lg-shrink, + .flex > .col-lg-shrink { + width: auto; + min-width: 0; + max-width: 100%; + } + .column > .col-lg, + .flex > .col-lg, + .column > .col-lg-auto, + .column > .col-lg-12, + .column > .col-lg-11, + .column > .col-lg-10, + .column > .col-lg-9, + .column > .col-lg-8, + .column > .col-lg-7, + .column > .col-lg-6, + .column > .col-lg-5, + .column > .col-lg-4, + .column > .col-lg-3, + .column > .col-lg-2, + .column > .col-lg-1, + .column > .col-lg-0, + .flex > .col-lg-auto, + .flex > .col-lg-12, + .flex > .col-lg-11, + .flex > .col-lg-10, + .flex > .col-lg-9, + .flex > .col-lg-8, + .flex > .col-lg-7, + .flex > .col-lg-6, + .flex > .col-lg-5, + .flex > .col-lg-4, + .flex > .col-lg-3, + .flex > .col-lg-2, + .flex > .col-lg-1, + .flex > .col-lg-0, + .column > .col-lg-grow, + .flex > .col-lg-grow, + .column > .col-lg-shrink, + .flex > .col-lg-shrink { + height: auto; + min-height: 0; + max-height: 100%; + } + .col-lg { + flex: 10000 1 0%; + } + .col-lg-auto, + .col-lg-12, + .col-lg-11, + .col-lg-10, + .col-lg-9, + .col-lg-8, + .col-lg-7, + .col-lg-6, + .col-lg-5, + .col-lg-4, + .col-lg-3, + .col-lg-2, + .col-lg-1, + .col-lg-0 { + flex: 0 0 auto; + } + .col-lg-grow { + flex: 1 0 auto; + } + .col-lg-shrink { + flex: 0 1 auto; + } + .row > .col-lg-0 { + height: auto; + width: 0%; + } + .row > .offset-lg-0 { + margin-left: 0%; + } + .column > .col-lg-0 { + height: 0%; + width: auto; + } + .row > .col-lg-1 { + height: auto; + width: 8.3333%; + } + .row > .offset-lg-1 { + margin-left: 8.3333%; + } + .column > .col-lg-1 { + height: 8.3333%; + width: auto; + } + .row > .col-lg-2 { + height: auto; + width: 16.6667%; + } + .row > .offset-lg-2 { + margin-left: 16.6667%; + } + .column > .col-lg-2 { + height: 16.6667%; + width: auto; + } + .row > .col-lg-3 { + height: auto; + width: 25%; + } + .row > .offset-lg-3 { + margin-left: 25%; + } + .column > .col-lg-3 { + height: 25%; + width: auto; + } + .row > .col-lg-4 { + height: auto; + width: 33.3333%; + } + .row > .offset-lg-4 { + margin-left: 33.3333%; + } + .column > .col-lg-4 { + height: 33.3333%; + width: auto; + } + .row > .col-lg-5 { + height: auto; + width: 41.6667%; + } + .row > .offset-lg-5 { + margin-left: 41.6667%; + } + .column > .col-lg-5 { + height: 41.6667%; + width: auto; + } + .row > .col-lg-6 { + height: auto; + width: 50%; + } + .row > .offset-lg-6 { + margin-left: 50%; + } + .column > .col-lg-6 { + height: 50%; + width: auto; + } + .row > .col-lg-7 { + height: auto; + width: 58.3333%; + } + .row > .offset-lg-7 { + margin-left: 58.3333%; + } + .column > .col-lg-7 { + height: 58.3333%; + width: auto; + } + .row > .col-lg-8 { + height: auto; + width: 66.6667%; + } + .row > .offset-lg-8 { + margin-left: 66.6667%; + } + .column > .col-lg-8 { + height: 66.6667%; + width: auto; + } + .row > .col-lg-9 { + height: auto; + width: 75%; + } + .row > .offset-lg-9 { + margin-left: 75%; + } + .column > .col-lg-9 { + height: 75%; + width: auto; + } + .row > .col-lg-10 { + height: auto; + width: 83.3333%; + } + .row > .offset-lg-10 { + margin-left: 83.3333%; + } + .column > .col-lg-10 { + height: 83.3333%; + width: auto; + } + .row > .col-lg-11 { + height: auto; + width: 91.6667%; + } + .row > .offset-lg-11 { + margin-left: 91.6667%; + } + .column > .col-lg-11 { + height: 91.6667%; + width: auto; + } + .row > .col-lg-12 { + height: auto; + width: 100%; + } + .row > .offset-lg-12 { + margin-left: 100%; + } + .column > .col-lg-12 { + height: 100%; + width: auto; + } +} +@media (min-width: 1920px) { + .row > .col-xl, + .flex > .col-xl, + .row > .col-xl-auto, + .row > .col-xl-12, + .row > .col-xl-11, + .row > .col-xl-10, + .row > .col-xl-9, + .row > .col-xl-8, + .row > .col-xl-7, + .row > .col-xl-6, + .row > .col-xl-5, + .row > .col-xl-4, + .row > .col-xl-3, + .row > .col-xl-2, + .row > .col-xl-1, + .row > .col-xl-0, + .flex > .col-xl-auto, + .flex > .col-xl-12, + .flex > .col-xl-11, + .flex > .col-xl-10, + .flex > .col-xl-9, + .flex > .col-xl-8, + .flex > .col-xl-7, + .flex > .col-xl-6, + .flex > .col-xl-5, + .flex > .col-xl-4, + .flex > .col-xl-3, + .flex > .col-xl-2, + .flex > .col-xl-1, + .flex > .col-xl-0, + .row > .col-xl-grow, + .flex > .col-xl-grow, + .row > .col-xl-shrink, + .flex > .col-xl-shrink { + width: auto; + min-width: 0; + max-width: 100%; + } + .column > .col-xl, + .flex > .col-xl, + .column > .col-xl-auto, + .column > .col-xl-12, + .column > .col-xl-11, + .column > .col-xl-10, + .column > .col-xl-9, + .column > .col-xl-8, + .column > .col-xl-7, + .column > .col-xl-6, + .column > .col-xl-5, + .column > .col-xl-4, + .column > .col-xl-3, + .column > .col-xl-2, + .column > .col-xl-1, + .column > .col-xl-0, + .flex > .col-xl-auto, + .flex > .col-xl-12, + .flex > .col-xl-11, + .flex > .col-xl-10, + .flex > .col-xl-9, + .flex > .col-xl-8, + .flex > .col-xl-7, + .flex > .col-xl-6, + .flex > .col-xl-5, + .flex > .col-xl-4, + .flex > .col-xl-3, + .flex > .col-xl-2, + .flex > .col-xl-1, + .flex > .col-xl-0, + .column > .col-xl-grow, + .flex > .col-xl-grow, + .column > .col-xl-shrink, + .flex > .col-xl-shrink { + height: auto; + min-height: 0; + max-height: 100%; + } + .col-xl { + flex: 10000 1 0%; + } + .col-xl-auto, + .col-xl-12, + .col-xl-11, + .col-xl-10, + .col-xl-9, + .col-xl-8, + .col-xl-7, + .col-xl-6, + .col-xl-5, + .col-xl-4, + .col-xl-3, + .col-xl-2, + .col-xl-1, + .col-xl-0 { + flex: 0 0 auto; + } + .col-xl-grow { + flex: 1 0 auto; + } + .col-xl-shrink { + flex: 0 1 auto; + } + .row > .col-xl-0 { + height: auto; + width: 0%; + } + .row > .offset-xl-0 { + margin-left: 0%; + } + .column > .col-xl-0 { + height: 0%; + width: auto; + } + .row > .col-xl-1 { + height: auto; + width: 8.3333%; + } + .row > .offset-xl-1 { + margin-left: 8.3333%; + } + .column > .col-xl-1 { + height: 8.3333%; + width: auto; + } + .row > .col-xl-2 { + height: auto; + width: 16.6667%; + } + .row > .offset-xl-2 { + margin-left: 16.6667%; + } + .column > .col-xl-2 { + height: 16.6667%; + width: auto; + } + .row > .col-xl-3 { + height: auto; + width: 25%; + } + .row > .offset-xl-3 { + margin-left: 25%; + } + .column > .col-xl-3 { + height: 25%; + width: auto; + } + .row > .col-xl-4 { + height: auto; + width: 33.3333%; + } + .row > .offset-xl-4 { + margin-left: 33.3333%; + } + .column > .col-xl-4 { + height: 33.3333%; + width: auto; + } + .row > .col-xl-5 { + height: auto; + width: 41.6667%; + } + .row > .offset-xl-5 { + margin-left: 41.6667%; + } + .column > .col-xl-5 { + height: 41.6667%; + width: auto; + } + .row > .col-xl-6 { + height: auto; + width: 50%; + } + .row > .offset-xl-6 { + margin-left: 50%; + } + .column > .col-xl-6 { + height: 50%; + width: auto; + } + .row > .col-xl-7 { + height: auto; + width: 58.3333%; + } + .row > .offset-xl-7 { + margin-left: 58.3333%; + } + .column > .col-xl-7 { + height: 58.3333%; + width: auto; + } + .row > .col-xl-8 { + height: auto; + width: 66.6667%; + } + .row > .offset-xl-8 { + margin-left: 66.6667%; + } + .column > .col-xl-8 { + height: 66.6667%; + width: auto; + } + .row > .col-xl-9 { + height: auto; + width: 75%; + } + .row > .offset-xl-9 { + margin-left: 75%; + } + .column > .col-xl-9 { + height: 75%; + width: auto; + } + .row > .col-xl-10 { + height: auto; + width: 83.3333%; + } + .row > .offset-xl-10 { + margin-left: 83.3333%; + } + .column > .col-xl-10 { + height: 83.3333%; + width: auto; + } + .row > .col-xl-11 { + height: auto; + width: 91.6667%; + } + .row > .offset-xl-11 { + margin-left: 91.6667%; + } + .column > .col-xl-11 { + height: 91.6667%; + width: auto; + } + .row > .col-xl-12 { + height: auto; + width: 100%; + } + .row > .offset-xl-12 { + margin-left: 100%; + } + .column > .col-xl-12 { + height: 100%; + width: auto; + } +} +.rounded-borders { + border-radius: 4px; +} +.border-radius-inherit { + border-radius: inherit; +} +.no-transition { + transition: none !important; +} +.transition-0 { + transition: 0s !important; +} +.glossy { + background-image: linear-gradient( + to bottom, + rgba(255, 255, 255, 0.3), + rgba(255, 255, 255, 0) 50%, + rgba(0, 0, 0, 0.12) 51%, + rgba(0, 0, 0, 0.04) + ) !important; +} +.q-placeholder::placeholder { + color: inherit; + opacity: 0.7; +} +.q-body--fullscreen-mixin, +.q-body--prevent-scroll { + position: fixed !important; +} +.q-body--force-scrollbar-x { + overflow-x: scroll; +} +.q-body--force-scrollbar-y { + overflow-y: scroll; +} +.q-no-input-spinner { + -moz-appearance: textfield !important; +} +.q-no-input-spinner::-webkit-outer-spin-button, +.q-no-input-spinner::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; +} +.q-link { + outline: 0; + text-decoration: none; +} +.q-link--focusable:focus-visible { + -webkit-text-decoration: underline dashed currentColor 1px; + text-decoration: underline dashed currentColor 1px; +} +body.electron .q-electron-drag { + -webkit-user-select: none; + -webkit-app-region: drag; +} +body.electron .q-electron-drag .q-btn-item, +body.electron .q-electron-drag--exception { + -webkit-app-region: no-drag; +} +img.responsive { + max-width: 100%; + height: auto; +} +.non-selectable { + -webkit-user-select: none !important; + user-select: none !important; +} +.scroll, +body.mobile .scroll--mobile { + overflow: auto; +} +.scroll, +.scroll-x, +.scroll-y { + -webkit-overflow-scrolling: touch; + will-change: scroll-position; +} +.scroll-x { + overflow-x: auto; +} +.scroll-y { + overflow-y: auto; +} +.no-scroll { + overflow: hidden !important; +} +.no-pointer-events, +.no-pointer-events--children, +.no-pointer-events--children * { + pointer-events: none !important; +} +.all-pointer-events { + pointer-events: all !important; +} +.cursor-pointer { + cursor: pointer !important; +} +.cursor-not-allowed { + cursor: not-allowed !important; +} +.cursor-inherit { + cursor: inherit !important; +} +.cursor-none { + cursor: none !important; +} +[aria-busy="true"] { + cursor: progress; +} +[aria-controls] { + cursor: pointer; +} +[aria-disabled] { + cursor: default; +} +.rotate-45 { + transform: rotate(45deg); +} +.rotate-90 { + transform: rotate(90deg); +} +.rotate-135 { + transform: rotate(135deg); +} +.rotate-180 { + transform: rotate(180deg); +} +.rotate-225 { + transform: rotate(225deg); +} +.rotate-270 { + transform: rotate(270deg); +} +.rotate-315 { + transform: rotate(315deg); +} +.flip-horizontal { + transform: scaleX(-1); +} +.flip-vertical { + transform: scaleY(-1); +} +.float-left { + float: left; +} +.float-right { + float: right; +} +.relative-position { + position: relative; +} +.fixed, +.fixed-full, +.fullscreen, +.fixed-center, +.fixed-bottom, +.fixed-left, +.fixed-right, +.fixed-top, +.fixed-top-left, +.fixed-top-right, +.fixed-bottom-left, +.fixed-bottom-right { + position: fixed; +} +.absolute, +.absolute-full, +.absolute-center, +.absolute-bottom, +.absolute-left, +.absolute-right, +.absolute-top, +.absolute-top-left, +.absolute-top-right, +.absolute-bottom-left, +.absolute-bottom-right { + position: absolute; +} +.fixed-top, +.absolute-top { + top: 0; + left: 0; + right: 0; +} +.fixed-right, +.absolute-right { + top: 0; + right: 0; + bottom: 0; +} +.fixed-bottom, +.absolute-bottom { + right: 0; + bottom: 0; + left: 0; +} +.fixed-left, +.absolute-left { + top: 0; + bottom: 0; + left: 0; +} +.fixed-top-left, +.absolute-top-left { + top: 0; + left: 0; +} +.fixed-top-right, +.absolute-top-right { + top: 0; + right: 0; +} +.fixed-bottom-left, +.absolute-bottom-left { + bottom: 0; + left: 0; +} +.fixed-bottom-right, +.absolute-bottom-right { + bottom: 0; + right: 0; +} +.fullscreen { + z-index: 6000; + border-radius: 0 !important; + max-width: 100vw; + max-height: 100vh; +} +body.q-ios-padding .fullscreen { + padding-top: 20px !important; + padding-top: env(safe-area-inset-top) !important; + padding-bottom: env(safe-area-inset-bottom) !important; +} +.absolute-full, +.fullscreen, +.fixed-full { + top: 0; + right: 0; + bottom: 0; + left: 0; +} +.fixed-center, +.absolute-center { + top: 50%; + left: 50%; + transform: translate(-50%, -50%); +} +.vertical-top { + vertical-align: top !important; +} +.vertical-middle { + vertical-align: middle !important; +} +.vertical-bottom { + vertical-align: bottom !important; +} +.on-left { + margin-right: 12px; +} +.on-right { + margin-left: 12px; +} +.q-position-engine { + margin-top: var(--q-pe-top, 0) !important; + margin-left: var(--q-pe-left, 0) !important; + will-change: auto; + visibility: collapse; +} +:root { + --q-size-xs: 0; + --q-size-sm: 600px; + --q-size-md: 1024px; + --q-size-lg: 1440px; + --q-size-xl: 1920px; +} +.fit { + width: 100% !important; + height: 100% !important; +} +.full-height { + height: 100% !important; +} +.full-width { + width: 100% !important; + margin-left: 0 !important; + margin-right: 0 !important; +} +.window-height { + margin-top: 0 !important; + margin-bottom: 0 !important; + height: 100vh !important; +} +.window-width { + margin-left: 0 !important; + margin-right: 0 !important; + width: 100vw !important; +} +.block { + display: block !important; +} +.inline-block { + display: inline-block !important; +} +.q-pa-none { + padding: 0; +} +.q-pl-none { + padding-left: 0; +} +.q-pr-none { + padding-right: 0; +} +.q-pt-none { + padding-top: 0; +} +.q-pb-none { + padding-bottom: 0; +} +.q-px-none { + padding-left: 0; + padding-right: 0; +} +.q-py-none { + padding-top: 0; + padding-bottom: 0; +} +.q-ma-none { + margin: 0; +} +.q-ml-none { + margin-left: 0; +} +.q-mr-none { + margin-right: 0; +} +.q-mt-none { + margin-top: 0; +} +.q-mb-none { + margin-bottom: 0; +} +.q-mx-none { + margin-left: 0; + margin-right: 0; +} +.q-my-none { + margin-top: 0; + margin-bottom: 0; +} +.q-pa-xs { + padding: 4px; +} +.q-pl-xs { + padding-left: 4px; +} +.q-pr-xs { + padding-right: 4px; +} +.q-pt-xs { + padding-top: 4px; +} +.q-pb-xs { + padding-bottom: 4px; +} +.q-px-xs { + padding-left: 4px; + padding-right: 4px; +} +.q-py-xs { + padding-top: 4px; + padding-bottom: 4px; +} +.q-ma-xs { + margin: 4px; +} +.q-ml-xs { + margin-left: 4px; +} +.q-mr-xs { + margin-right: 4px; +} +.q-mt-xs { + margin-top: 4px; +} +.q-mb-xs { + margin-bottom: 4px; +} +.q-mx-xs { + margin-left: 4px; + margin-right: 4px; +} +.q-my-xs { + margin-top: 4px; + margin-bottom: 4px; +} +.q-pa-sm { + padding: 8px; +} +.q-pl-sm { + padding-left: 8px; +} +.q-pr-sm { + padding-right: 8px; +} +.q-pt-sm { + padding-top: 8px; +} +.q-pb-sm { + padding-bottom: 8px; +} +.q-px-sm { + padding-left: 8px; + padding-right: 8px; +} +.q-py-sm { + padding-top: 8px; + padding-bottom: 8px; +} +.q-ma-sm { + margin: 8px; +} +.q-ml-sm { + margin-left: 8px; +} +.q-mr-sm { + margin-right: 8px; +} +.q-mt-sm { + margin-top: 8px; +} +.q-mb-sm { + margin-bottom: 8px; +} +.q-mx-sm { + margin-left: 8px; + margin-right: 8px; +} +.q-my-sm { + margin-top: 8px; + margin-bottom: 8px; +} +.q-pa-md { + padding: 16px; +} +.q-pl-md { + padding-left: 16px; +} +.q-pr-md { + padding-right: 16px; +} +.q-pt-md { + padding-top: 16px; +} +.q-pb-md { + padding-bottom: 16px; +} +.q-px-md { + padding-left: 16px; + padding-right: 16px; +} +.q-py-md { + padding-top: 16px; + padding-bottom: 16px; +} +.q-ma-md { + margin: 16px; +} +.q-ml-md { + margin-left: 16px; +} +.q-mr-md { + margin-right: 16px; +} +.q-mt-md { + margin-top: 16px; +} +.q-mb-md { + margin-bottom: 16px; +} +.q-mx-md { + margin-left: 16px; + margin-right: 16px; +} +.q-my-md { + margin-top: 16px; + margin-bottom: 16px; +} +.q-pa-lg { + padding: 24px; +} +.q-pl-lg { + padding-left: 24px; +} +.q-pr-lg { + padding-right: 24px; +} +.q-pt-lg { + padding-top: 24px; +} +.q-pb-lg { + padding-bottom: 24px; +} +.q-px-lg { + padding-left: 24px; + padding-right: 24px; +} +.q-py-lg { + padding-top: 24px; + padding-bottom: 24px; +} +.q-ma-lg { + margin: 24px; +} +.q-ml-lg { + margin-left: 24px; +} +.q-mr-lg { + margin-right: 24px; +} +.q-mt-lg { + margin-top: 24px; +} +.q-mb-lg { + margin-bottom: 24px; +} +.q-mx-lg { + margin-left: 24px; + margin-right: 24px; +} +.q-my-lg { + margin-top: 24px; + margin-bottom: 24px; +} +.q-pa-xl { + padding: 48px; +} +.q-pl-xl { + padding-left: 48px; +} +.q-pr-xl { + padding-right: 48px; +} +.q-pt-xl { + padding-top: 48px; +} +.q-pb-xl { + padding-bottom: 48px; +} +.q-px-xl { + padding-left: 48px; + padding-right: 48px; +} +.q-py-xl { + padding-top: 48px; + padding-bottom: 48px; +} +.q-ma-xl { + margin: 48px; +} +.q-ml-xl { + margin-left: 48px; +} +.q-mr-xl { + margin-right: 48px; +} +.q-mt-xl { + margin-top: 48px; +} +.q-mb-xl { + margin-bottom: 48px; +} +.q-mx-xl { + margin-left: 48px; + margin-right: 48px; +} +.q-my-xl { + margin-top: 48px; + margin-bottom: 48px; +} +.q-mt-auto, +.q-my-auto { + margin-top: auto; +} +.q-ml-auto { + margin-left: auto; +} +.q-mb-auto, +.q-my-auto { + margin-bottom: auto; +} +.q-mr-auto { + margin-right: auto; +} +.q-mx-auto { + margin-left: auto; + margin-right: auto; +} +.q-touch { + -webkit-user-select: none; + user-select: none; + user-drag: none; + -khtml-user-drag: none; + -webkit-user-drag: none; +} +.q-touch-x { + touch-action: pan-x; +} +.q-touch-y { + touch-action: pan-y; +} +:root { + --q-transition-duration: 0.3s; +} +.q-transition--slide-right-enter-active, +.q-transition--slide-right-leave-active, +.q-transition--slide-left-enter-active, +.q-transition--slide-left-leave-active, +.q-transition--slide-up-enter-active, +.q-transition--slide-up-leave-active, +.q-transition--slide-down-enter-active, +.q-transition--slide-down-leave-active, +.q-transition--jump-right-enter-active, +.q-transition--jump-right-leave-active, +.q-transition--jump-left-enter-active, +.q-transition--jump-left-leave-active, +.q-transition--jump-up-enter-active, +.q-transition--jump-up-leave-active, +.q-transition--jump-down-enter-active, +.q-transition--jump-down-leave-active, +.q-transition--fade-enter-active, +.q-transition--fade-leave-active, +.q-transition--scale-enter-active, +.q-transition--scale-leave-active, +.q-transition--rotate-enter-active, +.q-transition--rotate-leave-active, +.q-transition--flip-enter-active, +.q-transition--flip-leave-active { + --q-transition-duration: 0.3s; + --q-transition-easing: cubic-bezier(0.215, 0.61, 0.355, 1); +} +.q-transition--slide-right-leave-active, +.q-transition--slide-left-leave-active, +.q-transition--slide-up-leave-active, +.q-transition--slide-down-leave-active, +.q-transition--jump-right-leave-active, +.q-transition--jump-left-leave-active, +.q-transition--jump-up-leave-active, +.q-transition--jump-down-leave-active, +.q-transition--fade-leave-active, +.q-transition--scale-leave-active, +.q-transition--rotate-leave-active, +.q-transition--flip-leave-active { + position: absolute; +} +.q-transition--slide-right-enter-active, +.q-transition--slide-right-leave-active, +.q-transition--slide-left-enter-active, +.q-transition--slide-left-leave-active, +.q-transition--slide-up-enter-active, +.q-transition--slide-up-leave-active, +.q-transition--slide-down-enter-active, +.q-transition--slide-down-leave-active { + transition: transform var(--q-transition-duration) var(--q-transition-easing); +} +.q-transition--slide-right-enter-from { + transform: translate3d(-100%, 0, 0); +} +.q-transition--slide-right-leave-to, +.q-transition--slide-left-enter-from { + transform: translate3d(100%, 0, 0); +} +.q-transition--slide-left-leave-to { + transform: translate3d(-100%, 0, 0); +} +.q-transition--slide-up-enter-from { + transform: translate3d(0, 100%, 0); +} +.q-transition--slide-up-leave-to, +.q-transition--slide-down-enter-from { + transform: translate3d(0, -100%, 0); +} +.q-transition--slide-down-leave-to { + transform: translate3d(0, 100%, 0); +} +.q-transition--jump-right-enter-active, +.q-transition--jump-right-leave-active, +.q-transition--jump-left-enter-active, +.q-transition--jump-left-leave-active, +.q-transition--jump-up-enter-active, +.q-transition--jump-up-leave-active, +.q-transition--jump-down-enter-active, +.q-transition--jump-down-leave-active { + transition: opacity var(--q-transition-duration), + transform var(--q-transition-duration); +} +.q-transition--jump-right-enter-from, +.q-transition--jump-right-leave-to, +.q-transition--jump-left-enter-from, +.q-transition--jump-left-leave-to, +.q-transition--jump-up-enter-from, +.q-transition--jump-up-leave-to, +.q-transition--jump-down-enter-from, +.q-transition--jump-down-leave-to { + opacity: 0; +} +.q-transition--jump-right-enter-from { + transform: translate3d(-15px, 0, 0); +} +.q-transition--jump-right-leave-to, +.q-transition--jump-left-enter-from { + transform: translate3d(15px, 0, 0); +} +.q-transition--jump-left-leave-to { + transform: translate(-15px); +} +.q-transition--jump-up-enter-from { + transform: translate3d(0, 15px, 0); +} +.q-transition--jump-up-leave-to, +.q-transition--jump-down-enter-from { + transform: translate3d(0, -15px, 0); +} +.q-transition--jump-down-leave-to { + transform: translate3d(0, 15px, 0); +} +.q-transition--fade-enter-active, +.q-transition--fade-leave-active { + transition: opacity var(--q-transition-duration) ease-out; +} +.q-transition--fade-enter-from, +.q-transition--fade-leave-to { + opacity: 0; +} +.q-transition--scale-enter-active, +.q-transition--scale-leave-active { + transition: opacity var(--q-transition-duration), + transform var(--q-transition-duration) var(--q-transition-easing); +} +.q-transition--scale-enter-from, +.q-transition--scale-leave-to { + opacity: 0; + transform: scale3d(0, 0, 1); +} +.q-transition--rotate-enter-active, +.q-transition--rotate-leave-active { + transition: opacity var(--q-transition-duration), + transform var(--q-transition-duration) var(--q-transition-easing); + transform-style: preserve-3d; +} +.q-transition--rotate-enter-from, +.q-transition--rotate-leave-to { + opacity: 0; + transform: scale3d(0, 0, 1) rotate3d(0, 0, 1, 90deg); +} +.q-transition--flip-right-enter-active, +.q-transition--flip-right-leave-active, +.q-transition--flip-left-enter-active, +.q-transition--flip-left-leave-active, +.q-transition--flip-up-enter-active, +.q-transition--flip-up-leave-active, +.q-transition--flip-down-enter-active, +.q-transition--flip-down-leave-active { + transition: transform var(--q-transition-duration); + backface-visibility: hidden; +} +.q-transition--flip-right-enter-to, +.q-transition--flip-right-leave-from, +.q-transition--flip-left-enter-to, +.q-transition--flip-left-leave-from, +.q-transition--flip-up-enter-to, +.q-transition--flip-up-leave-from, +.q-transition--flip-down-enter-to, +.q-transition--flip-down-leave-from { + transform: perspective(400px) rotate3d(1, 1, 0, 0); +} +.q-transition--flip-right-enter-from { + transform: perspective(400px) rotateY(-180deg); +} +.q-transition--flip-right-leave-to, +.q-transition--flip-left-enter-from { + transform: perspective(400px) rotateY(180deg); +} +.q-transition--flip-left-leave-to { + transform: perspective(400px) rotateY(-180deg); +} +.q-transition--flip-up-enter-from { + transform: perspective(400px) rotateX(-180deg); +} +.q-transition--flip-up-leave-to, +.q-transition--flip-down-enter-from { + transform: perspective(400px) rotateX(180deg); +} +.q-transition--flip-down-leave-to { + transform: perspective(400px) rotateX(-180deg); +} +body { + min-width: 100px; + min-height: 100%; + font-family: Roboto, -apple-system, Helvetica Neue, Helvetica, Arial, + sans-serif; + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + font-smoothing: antialiased; + line-height: 1.5; + font-size: 14px; +} +h1 { + font-size: 6rem; + font-weight: 300; + line-height: 6rem; + letter-spacing: -0.01562em; +} +h2 { + font-size: 3.75rem; + font-weight: 300; + line-height: 3.75rem; + letter-spacing: -0.00833em; +} +h3 { + font-size: 3rem; + font-weight: 400; + line-height: 3.125rem; + letter-spacing: normal; +} +h4 { + font-size: 2.125rem; + font-weight: 400; + line-height: 2.5rem; + letter-spacing: 0.00735em; +} +h5 { + font-size: 1.5rem; + font-weight: 400; + line-height: 2rem; + letter-spacing: normal; +} +h6 { + font-size: 1.25rem; + font-weight: 500; + line-height: 2rem; + letter-spacing: 0.0125em; +} +p { + margin: 0 0 16px; +} +.text-h1 { + font-size: 6rem; + font-weight: 300; + line-height: 6rem; + letter-spacing: -0.01562em; +} +.text-h2 { + font-size: 3.75rem; + font-weight: 300; + line-height: 3.75rem; + letter-spacing: -0.00833em; +} +.text-h3 { + font-size: 3rem; + font-weight: 400; + line-height: 3.125rem; + letter-spacing: normal; +} +.text-h4 { + font-size: 2.125rem; + font-weight: 400; + line-height: 2.5rem; + letter-spacing: 0.00735em; +} +.text-h5 { + font-size: 1.5rem; + font-weight: 400; + line-height: 2rem; + letter-spacing: normal; +} +.text-h6 { + font-size: 1.25rem; + font-weight: 500; + line-height: 2rem; + letter-spacing: 0.0125em; +} +.text-subtitle1 { + font-size: 1rem; + font-weight: 400; + line-height: 1.75rem; + letter-spacing: 0.00937em; +} +.text-subtitle2 { + font-size: 0.875rem; + font-weight: 500; + line-height: 1.375rem; + letter-spacing: 0.00714em; +} +.text-body1 { + font-size: 1rem; + font-weight: 400; + line-height: 1.5rem; + letter-spacing: 0.03125em; +} +.text-body2 { + font-size: 0.875rem; + font-weight: 400; + line-height: 1.25rem; + letter-spacing: 0.01786em; +} +.text-overline { + font-size: 0.75rem; + font-weight: 500; + line-height: 2rem; + letter-spacing: 0.16667em; +} +.text-caption { + font-size: 0.75rem; + font-weight: 400; + line-height: 1.25rem; + letter-spacing: 0.03333em; +} +.text-uppercase { + text-transform: uppercase; +} +.text-lowercase { + text-transform: lowercase; +} +.text-capitalize { + text-transform: capitalize; +} +.text-center { + text-align: center; +} +.text-left { + text-align: left; +} +.text-right { + text-align: right; +} +.text-justify { + text-align: justify; + -webkit-hyphens: auto; + hyphens: auto; +} +.text-italic { + font-style: italic; +} +.text-bold { + font-weight: 700; +} +.text-no-wrap { + white-space: nowrap; +} +.text-strike { + text-decoration: line-through; +} +.text-weight-thin { + font-weight: 100; +} +.text-weight-light { + font-weight: 300; +} +.text-weight-regular { + font-weight: 400; +} +.text-weight-medium { + font-weight: 500; +} +.text-weight-bold { + font-weight: 700; +} +.text-weight-bolder { + font-weight: 900; +} +small { + font-size: 80%; +} +big { + font-size: 170%; +} +sub { + bottom: -0.25em; +} +sup { + top: -0.5em; +} +.no-margin { + margin: 0 !important; +} +.no-padding { + padding: 0 !important; +} +.no-border { + border: 0 !important; +} +.no-border-radius { + border-radius: 0 !important; +} +.no-box-shadow { + box-shadow: none !important; +} +.no-outline { + outline: 0 !important; +} +.ellipsis { + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; +} +.ellipsis-2-lines, +.ellipsis-3-lines { + overflow: hidden; + display: -webkit-box; + -webkit-box-orient: vertical; +} +.ellipsis-2-lines { + -webkit-line-clamp: 2; +} +.ellipsis-3-lines { + -webkit-line-clamp: 3; +} +.readonly { + cursor: default !important; +} +.disabled, +.disabled *, +[disabled], +[disabled] * { + outline: 0 !important; + cursor: not-allowed !important; +} +.disabled, +[disabled] { + opacity: 0.6 !important; +} +.hidden { + display: none !important; +} +.invisible, +.invisible * { + visibility: hidden !important; + transition: none !important; + animation: none !important; +} +.transparent { + background: transparent !important; +} +.overflow-auto { + overflow: auto !important; +} +.overflow-hidden { + overflow: hidden !important; +} +.overflow-hidden-y { + overflow-y: hidden !important; +} +.hide-scrollbar { + scrollbar-width: none; + -ms-overflow-style: none; +} +.hide-scrollbar::-webkit-scrollbar { + width: 0; + height: 0; + display: none; +} +.dimmed:after, +.light-dimmed:after { + content: ""; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; +} +.dimmed:after { + background: rgba(0, 0, 0, 0.4) !important; +} +.light-dimmed:after { + background: rgba(255, 255, 255, 0.6) !important; +} +.z-top { + z-index: 7000 !important; +} +.z-max { + z-index: 9998 !important; +} +body:not(.desktop) .desktop-only, +body.desktop .desktop-hide { + display: none !important; +} +body:not(.mobile) .mobile-only, +body.mobile .mobile-hide { + display: none !important; +} +body:not(.native-mobile) .native-mobile-only, +body.native-mobile .native-mobile-hide { + display: none !important; +} +body:not(.cordova) .cordova-only, +body.cordova .cordova-hide { + display: none !important; +} +body:not(.capacitor) .capacitor-only, +body.capacitor .capacitor-hide { + display: none !important; +} +body:not(.electron) .electron-only, +body.electron .electron-hide { + display: none !important; +} +body:not(.touch) .touch-only, +body.touch .touch-hide { + display: none !important; +} +body:not(.within-iframe) .within-iframe-only, +body.within-iframe .within-iframe-hide { + display: none !important; +} +body:not(.platform-ios) .platform-ios-only, +body.platform-ios .platform-ios-hide { + display: none !important; +} +body:not(.platform-android) .platform-android-only, +body.platform-android .platform-android-hide { + display: none !important; +} +@media all and (orientation: portrait) { + .orientation-landscape { + display: none !important; + } +} +@media all and (orientation: landscape) { + .orientation-portrait { + display: none !important; + } +} +@media screen { + .print-only { + display: none !important; + } +} +@media print { + .print-hide { + display: none !important; + } +} +@media (max-width: 599.98px) { + .xs-hide, + .gt-xs, + .sm, + .gt-sm, + .md, + .gt-md, + .lg, + .gt-lg, + .xl { + display: none !important; + } +} +@media (min-width: 600px) and (max-width: 1023.98px) { + .sm-hide, + .xs, + .lt-sm, + .gt-sm, + .md, + .gt-md, + .lg, + .gt-lg, + .xl { + display: none !important; + } +} +@media (min-width: 1024px) and (max-width: 1439.98px) { + .md-hide, + .xs, + .lt-sm, + .sm, + .lt-md, + .gt-md, + .lg, + .gt-lg, + .xl { + display: none !important; + } +} +@media (min-width: 1440px) and (max-width: 1919.98px) { + .lg-hide, + .xs, + .lt-sm, + .sm, + .lt-md, + .md, + .lt-lg, + .gt-lg, + .xl { + display: none !important; + } +} +@media (min-width: 1920px) { + .xl-hide, + .xs, + .lt-sm, + .sm, + .lt-md, + .md, + .lt-lg, + .lg, + .lt-xl { + display: none !important; + } +} +.q-focus-helper, +.q-focusable, +.q-manual-focusable, +.q-hoverable { + outline: 0; +} +body.desktop .q-focus-helper { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + pointer-events: none; + border-radius: inherit; + opacity: 0; + transition: background-color 0.3s cubic-bezier(0.25, 0.8, 0.5, 1), + opacity 0.4s cubic-bezier(0.25, 0.8, 0.5, 1); +} +body.desktop .q-focus-helper:before, +body.desktop .q-focus-helper:after { + content: ""; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + opacity: 0; + border-radius: inherit; + transition: background-color 0.3s cubic-bezier(0.25, 0.8, 0.5, 1), + opacity 0.6s cubic-bezier(0.25, 0.8, 0.5, 1); +} +body.desktop .q-focus-helper:before { + background: #000; +} +body.desktop .q-focus-helper:after { + background: #fff; +} +body.desktop .q-focus-helper--rounded { + border-radius: 4px; +} +body.desktop .q-focus-helper--round { + border-radius: 50%; +} +body.desktop .q-focusable:focus > .q-focus-helper, +body.desktop .q-manual-focusable--focused > .q-focus-helper, +body.desktop .q-hoverable:hover > .q-focus-helper { + background: currentColor; + opacity: 0.15; +} +body.desktop .q-focusable:focus > .q-focus-helper:before, +body.desktop .q-manual-focusable--focused > .q-focus-helper:before, +body.desktop .q-hoverable:hover > .q-focus-helper:before { + opacity: 0.1; +} +body.desktop .q-focusable:focus > .q-focus-helper:after, +body.desktop .q-manual-focusable--focused > .q-focus-helper:after, +body.desktop .q-hoverable:hover > .q-focus-helper:after { + opacity: 0.4; +} +body.desktop .q-focusable:focus > .q-focus-helper, +body.desktop .q-manual-focusable--focused > .q-focus-helper { + opacity: 0.22; +} +body.body--dark { + color: #fff; + background: var(--q-dark-page); +} +.q-dark { + color: #fff; + background: var(--q-dark); +} +[data-theme="classic"] .q-drawer--dark, +body[data-theme="classic"].body--dark, +[data-theme="classic"] .q-menu--dark { + background: #1f2234 !important; +} +[data-theme="classic"] .q-card--dark, +[data-theme="classic"] .q-stepper--dark { + background: #333646 !important; +} +[data-theme="classic"] .bg-primary { + background: #673ab7 !important; +} +[data-theme="classic"] .text-primary { + color: #673ab7 !important; +} +[data-theme="classic"] .bg-secondary { + background: #9c27b0 !important; +} +[data-theme="classic"] .text-secondary { + color: #9c27b0 !important; +} +[data-theme="classic"] .bg-dark { + background: #1f2234 !important; +} +[data-theme="classic"] .text-dark { + color: #1f2234 !important; +} +[data-theme="classic"] .bg-info { + background: #333646 !important; +} +[data-theme="classic"] .text-info { + color: #333646 !important; +} +[data-theme="classic"] .bg-marginal-bg { + background: #1f2234 !important; +} +[data-theme="classic"] .text-marginal-bg { + color: #1f2234 !important; +} +[data-theme="classic"] .bg-marginal-text { + background: #fff !important; +} +[data-theme="classic"] .text-marginal-text { + color: #fff !important; +} +[data-theme="bitcoin"] .q-drawer--dark, +body[data-theme="bitcoin"].body--dark, +[data-theme="bitcoin"] .q-menu--dark { + background: #2d293b !important; +} +[data-theme="bitcoin"] .q-card--dark, +[data-theme="bitcoin"] .q-stepper--dark { + background: #333646 !important; +} +[data-theme="bitcoin"] .bg-primary { + background: #ff9853 !important; +} +[data-theme="bitcoin"] .text-primary { + color: #ff9853 !important; +} +[data-theme="bitcoin"] .bg-secondary { + background: #ff7353 !important; +} +[data-theme="bitcoin"] .text-secondary { + color: #ff7353 !important; +} +[data-theme="bitcoin"] .bg-dark { + background: #2d293b !important; +} +[data-theme="bitcoin"] .text-dark { + color: #2d293b !important; +} +[data-theme="bitcoin"] .bg-info { + background: #333646 !important; +} +[data-theme="bitcoin"] .text-info { + color: #333646 !important; +} +[data-theme="bitcoin"] .bg-marginal-bg { + background: #2d293b !important; +} +[data-theme="bitcoin"] .text-marginal-bg { + color: #2d293b !important; +} +[data-theme="bitcoin"] .bg-marginal-text { + background: #fff !important; +} +[data-theme="bitcoin"] .text-marginal-text { + color: #fff !important; +} +[data-theme="freedom"] .q-drawer--dark, +body[data-theme="freedom"].body--dark, +[data-theme="freedom"] .q-menu--dark { + background: #0a0a0a !important; +} +[data-theme="freedom"] .q-card--dark, +[data-theme="freedom"] .q-stepper--dark { + background: #1b1b1b !important; +} +[data-theme="freedom"] .bg-primary { + background: #e22156 !important; +} +[data-theme="freedom"] .text-primary { + color: #e22156 !important; +} +[data-theme="freedom"] .bg-secondary { + background: #b91a45 !important; +} +[data-theme="freedom"] .text-secondary { + color: #b91a45 !important; +} +[data-theme="freedom"] .bg-dark { + background: #0a0a0a !important; +} +[data-theme="freedom"] .text-dark { + color: #0a0a0a !important; +} +[data-theme="freedom"] .bg-info { + background: #1b1b1b !important; +} +[data-theme="freedom"] .text-info { + color: #1b1b1b !important; +} +[data-theme="freedom"] .bg-marginal-bg { + background: #2d293b !important; +} +[data-theme="freedom"] .text-marginal-bg { + color: #2d293b !important; +} +[data-theme="freedom"] .bg-marginal-text { + background: #fff !important; +} +[data-theme="freedom"] .text-marginal-text { + color: #fff !important; +} +[data-theme="cyber"] .q-drawer--dark, +body[data-theme="cyber"].body--dark, +[data-theme="cyber"] .q-menu--dark { + background: #0a0a0a !important; +} +[data-theme="cyber"] .q-card--dark, +[data-theme="cyber"] .q-stepper--dark { + background: #1b1b1b !important; +} +[data-theme="cyber"] .bg-primary { + background: #7cb342 !important; +} +[data-theme="cyber"] .text-primary { + color: #7cb342 !important; +} +[data-theme="cyber"] .bg-secondary { + background: #558b2f !important; +} +[data-theme="cyber"] .text-secondary { + color: #558b2f !important; +} +[data-theme="cyber"] .bg-dark { + background: #0a0a0a !important; +} +[data-theme="cyber"] .text-dark { + color: #0a0a0a !important; +} +[data-theme="cyber"] .bg-info { + background: #1b1b1b !important; +} +[data-theme="cyber"] .text-info { + color: #1b1b1b !important; +} +[data-theme="cyber"] .bg-marginal-bg { + background: #2d293b !important; +} +[data-theme="cyber"] .text-marginal-bg { + color: #2d293b !important; +} +[data-theme="cyber"] .bg-marginal-text { + background: #fff !important; +} +[data-theme="cyber"] .text-marginal-text { + color: #fff !important; +} +[data-theme="mint"] .q-drawer--dark, +body[data-theme="mint"].body--dark, +[data-theme="mint"] .q-menu--dark { + background: #1f342b !important; +} +[data-theme="mint"] .q-card--dark, +[data-theme="mint"] .q-stepper--dark { + background: #334642 !important; +} +[data-theme="mint"] .bg-primary { + background: #3ab77d !important; +} +[data-theme="mint"] .text-primary { + color: #3ab77d !important; +} +[data-theme="mint"] .bg-secondary { + background: #27b065 !important; +} +[data-theme="mint"] .text-secondary { + color: #27b065 !important; +} +[data-theme="mint"] .bg-dark { + background: #1f342b !important; +} +[data-theme="mint"] .text-dark { + color: #1f342b !important; +} +[data-theme="mint"] .bg-info { + background: #334642 !important; +} +[data-theme="mint"] .text-info { + color: #334642 !important; +} +[data-theme="mint"] .bg-marginal-bg { + background: #1f342b !important; +} +[data-theme="mint"] .text-marginal-bg { + color: #1f342b !important; +} +[data-theme="mint"] .bg-marginal-text { + background: #fff !important; +} +[data-theme="mint"] .text-marginal-text { + color: #fff !important; +} +[data-theme="autumn"] .q-drawer--dark, +body[data-theme="autumn"].body--dark, +[data-theme="autumn"] .q-menu--dark { + background: #34291f !important; +} +[data-theme="autumn"] .q-card--dark, +[data-theme="autumn"] .q-stepper--dark { + background: #463f33 !important; +} +[data-theme="autumn"] .bg-primary { + background: #b7763a !important; +} +[data-theme="autumn"] .text-primary { + color: #b7763a !important; +} +[data-theme="autumn"] .bg-secondary { + background: #b07927 !important; +} +[data-theme="autumn"] .text-secondary { + color: #b07927 !important; +} +[data-theme="autumn"] .bg-dark { + background: #34291f !important; +} +[data-theme="autumn"] .text-dark { + color: #34291f !important; +} +[data-theme="autumn"] .bg-info { + background: #463f33 !important; +} +[data-theme="autumn"] .text-info { + color: #463f33 !important; +} +[data-theme="autumn"] .bg-marginal-bg { + background: #342a1f !important; +} +[data-theme="autumn"] .text-marginal-bg { + color: #342a1f !important; +} +[data-theme="autumn"] .bg-marginal-text { + background: rgb(255, 255, 255) !important; +} +[data-theme="autumn"] .text-marginal-text { + color: #fff !important; +} +[data-theme="flamingo"] .q-drawer--dark, +body[data-theme="flamingo"].body--dark, +[data-theme="flamingo"] .q-menu--dark { + background: #2f032f !important; +} +[data-theme="flamingo"] .q-card--dark, +[data-theme="flamingo"] .q-stepper--dark { + background: #bc23bc !important; +} +[data-theme="flamingo"] .bg-primary { + background: #ff00ff !important; +} +[data-theme="flamingo"] .text-primary { + color: #f0f !important; +} +[data-theme="flamingo"] .bg-secondary { + background: #fda3fd !important; +} +[data-theme="flamingo"] .text-secondary { + color: #fda3fd !important; +} +[data-theme="flamingo"] .bg-dark { + background: #2f032f !important; +} +[data-theme="flamingo"] .text-dark { + color: #2f032f !important; +} +[data-theme="flamingo"] .bg-info { + background: #bc23bc !important; +} +[data-theme="flamingo"] .text-info { + color: #bc23bc !important; +} +[data-theme="flamingo"] .bg-marginal-bg { + background: #311231 !important; +} +[data-theme="flamingo"] .text-marginal-bg { + color: #311231 !important; +} +[data-theme="flamingo"] .bg-marginal-text { + background: rgb(255, 255, 255) !important; +} +[data-theme="flamingo"] .text-marginal-text { + color: #fff !important; +} +[data-theme="monochrome"] .q-drawer--dark, +body[data-theme="monochrome"].body--dark, +[data-theme="monochrome"] .q-menu--dark { + background: #000 !important; +} +[data-theme="monochrome"] .q-card--dark, +[data-theme="monochrome"] .q-stepper--dark { + background: rgb(39, 39, 39) !important; +} +[data-theme="monochrome"] .bg-primary { + background: #494949 !important; +} +[data-theme="monochrome"] .text-primary { + color: #494949 !important; +} +[data-theme="monochrome"] .bg-secondary { + background: #6b6b6b !important; +} +[data-theme="monochrome"] .text-secondary { + color: #6b6b6b !important; +} +[data-theme="monochrome"] .bg-dark { + background: #000 !important; +} +[data-theme="monochrome"] .text-dark { + color: #000 !important; +} +[data-theme="monochrome"] .bg-info { + background: rgb(39, 39, 39) !important; +} +[data-theme="monochrome"] .text-info { + color: #272727 !important; +} +[data-theme="monochrome"] .bg-marginal-bg { + background: #000 !important; +} +[data-theme="monochrome"] .text-marginal-bg { + color: #000 !important; +} +[data-theme="monochrome"] .bg-marginal-text { + background: rgb(255, 255, 255) !important; +} +[data-theme="monochrome"] .text-marginal-text { + color: #fff !important; +} +[data-theme="freedom"] .q-drawer--dark, +[data-theme="freedom"] .q-header, +[data-theme="cyber"] .q-drawer--dark, +[data-theme="cyber"] .q-header { + background: #0a0a0a !important; +} +[data-theme="salvador"] .q-drawer--dark { + background: #242424 !important; +} +[data-theme="salvador"] .q-header { + background: #0f47af !important; +} +[v-cloak] { + display: none; +} +body.body--dark .q-table--dark { + background: transparent; +} +body.body--dark .q-field--error .text-negative, +body.body--dark .q-field--error .q-field__messages { + color: #ff0 !important; +} +.lnbits-drawer__q-list .q-item { + padding-top: 5px !important; + padding-bottom: 5px !important; + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; +} +.lnbits-drawer__q-list .q-item.q-item--active { + color: inherit; + font-weight: 700; +} +.lnbits__dialog-card { + width: 500px; +} +.q-table--dense th:first-child, +.q-table--dense td:first-child, +.q-table--dense .q-table__bottom { + padding-left: 6px !important; +} +.q-table--dense th:last-child, +.q-table--dense td:last-child, +.q-table--dense .q-table__bottom { + padding-right: 6px !important; +} +a.inherit { + color: inherit; + text-decoration: none; +} +video { + border-radius: 3px; +} +@font-face { + font-family: Material Icons; + font-style: normal; + font-weight: 400; + src: url(/static/fonts/material-icons-v50.woff2) format("woff2"); +} +.material-icons { + font-family: Material Icons; + font-weight: 400; + font-style: normal; + font-size: 24px; + line-height: 1; + letter-spacing: normal; + text-transform: none; + display: inline-block; + white-space: nowrap; + word-wrap: normal; + direction: ltr; + -moz-font-feature-settings: "liga"; + -moz-osx-font-smoothing: grayscale; +} +.q-rating__icon { + font-size: 1em; +} +.text-wrap { + word-break: break-word; +} +.q-card code { + overflow-wrap: break-word; +} diff --git a/market/index.html b/market/index.html index 725a494..77e19ac 100644 --- a/market/index.html +++ b/market/index.html @@ -1,3 +1,28 @@ -Nostr Market App - -
\ No newline at end of file + + + + Nostr Market App + + + + + + + + + + + + + +
+ + diff --git a/market/js/bolt11-decoder.js b/market/js/bolt11-decoder.js index 7b73260..a9a9920 100644 --- a/market/js/bolt11-decoder.js +++ b/market/js/bolt11-decoder.js @@ -4,198 +4,200 @@ //TODO - A reader MUST use the n field to validate the signature instead of performing signature recovery if a valid n field is provided. function decode(paymentRequest) { - let input = paymentRequest.toLowerCase() - let splitPosition = input.lastIndexOf('1') - let humanReadablePart = input.substring(0, splitPosition) - let data = input.substring(splitPosition + 1, input.length - 6) - let checksum = input.substring(input.length - 6, input.length) + let input = paymentRequest.toLowerCase(); + let splitPosition = input.lastIndexOf("1"); + let humanReadablePart = input.substring(0, splitPosition); + let data = input.substring(splitPosition + 1, input.length - 6); + let checksum = input.substring(input.length - 6, input.length); if ( !verify_checksum(humanReadablePart, bech32ToFiveBitArray(data + checksum)) ) { - throw 'Malformed request: checksum is incorrect' // A reader MUST fail if the checksum is incorrect. + throw "Malformed request: checksum is incorrect"; // A reader MUST fail if the checksum is incorrect. } return { human_readable_part: decodeHumanReadablePart(humanReadablePart), data: decodeData(data, humanReadablePart), - checksum: checksum - } + checksum: checksum, + }; } function decodeHumanReadablePart(humanReadablePart) { - let prefixes = ['lnbc', 'lntb', 'lnbcrt', 'lnsb'] - let prefix - prefixes.forEach(value => { + let prefixes = ["lnbc", "lntb", "lnbcrt", "lnsb"]; + let prefix; + prefixes.forEach((value) => { if (humanReadablePart.substring(0, value.length) === value) { - prefix = value + prefix = value; } - }) - if (prefix == null) throw 'Malformed request: unknown prefix' // A reader MUST fail if it does not understand the prefix. + }); + if (prefix == null) throw "Malformed request: unknown prefix"; // A reader MUST fail if it does not understand the prefix. let amount = decodeAmount( humanReadablePart.substring(prefix.length, humanReadablePart.length) - ) + ); return { prefix: prefix, - amount: amount - } + amount: amount, + }; } function decodeData(data, humanReadablePart) { - let date32 = data.substring(0, 7) - let dateEpoch = bech32ToInt(date32) - let signature = data.substring(data.length - 104, data.length) - let tagData = data.substring(7, data.length - 104) - let decodedTags = decodeTags(tagData) - let value = bech32ToFiveBitArray(date32 + tagData) - value = fiveBitArrayTo8BitArray(value, true) - value = textToHexString(humanReadablePart).concat(byteArrayToHexString(value)) + let date32 = data.substring(0, 7); + let dateEpoch = bech32ToInt(date32); + let signature = data.substring(data.length - 104, data.length); + let tagData = data.substring(7, data.length - 104); + let decodedTags = decodeTags(tagData); + let value = bech32ToFiveBitArray(date32 + tagData); + value = fiveBitArrayTo8BitArray(value, true); + value = textToHexString(humanReadablePart).concat( + byteArrayToHexString(value) + ); return { time_stamp: dateEpoch, tags: decodedTags, signature: decodeSignature(signature), - signing_data: value - } + signing_data: value, + }; } function decodeSignature(signature) { - let data = fiveBitArrayTo8BitArray(bech32ToFiveBitArray(signature)) - let recoveryFlag = data[data.length - 1] - let r = byteArrayToHexString(data.slice(0, 32)) - let s = byteArrayToHexString(data.slice(32, data.length - 1)) + let data = fiveBitArrayTo8BitArray(bech32ToFiveBitArray(signature)); + let recoveryFlag = data[data.length - 1]; + let r = byteArrayToHexString(data.slice(0, 32)); + let s = byteArrayToHexString(data.slice(32, data.length - 1)); return { r: r, s: s, - recovery_flag: recoveryFlag - } + recovery_flag: recoveryFlag, + }; } function decodeAmount(str) { - let multiplier = str.charAt(str.length - 1) - let amount = str.substring(0, str.length - 1) - if (amount.substring(0, 1) === '0') { - throw 'Malformed request: amount cannot contain leading zeros' + let multiplier = str.charAt(str.length - 1); + let amount = str.substring(0, str.length - 1); + if (amount.substring(0, 1) === "0") { + throw "Malformed request: amount cannot contain leading zeros"; } - amount = Number(amount) + amount = Number(amount); if (amount < 0 || !Number.isInteger(amount)) { - throw 'Malformed request: amount must be a positive decimal integer' // A reader SHOULD fail if amount contains a non-digit + throw "Malformed request: amount must be a positive decimal integer"; // A reader SHOULD fail if amount contains a non-digit } switch (multiplier) { - case '': - return 'Any amount' // A reader SHOULD indicate if amount is unspecified - case 'p': - return amount / 10 - case 'n': - return amount * 100 - case 'u': - return amount * 100000 - case 'm': - return amount * 100000000 + case "": + return "Any amount"; // A reader SHOULD indicate if amount is unspecified + case "p": + return amount / 10; + case "n": + return amount * 100; + case "u": + return amount * 100000; + case "m": + return amount * 100000000; default: // A reader SHOULD fail if amount is followed by anything except a defined multiplier. - throw 'Malformed request: undefined amount multiplier' + throw "Malformed request: undefined amount multiplier"; } } function decodeTags(tagData) { - let tags = extractTags(tagData) - let decodedTags = [] - tags.forEach(value => + let tags = extractTags(tagData); + let decodedTags = []; + tags.forEach((value) => decodedTags.push(decodeTag(value.type, value.length, value.data)) - ) - return decodedTags + ); + return decodedTags; } function extractTags(str) { - let tags = [] + let tags = []; while (str.length > 0) { - let type = str.charAt(0) - let dataLength = bech32ToInt(str.substring(1, 3)) - let data = str.substring(3, dataLength + 3) + let type = str.charAt(0); + let dataLength = bech32ToInt(str.substring(1, 3)); + let data = str.substring(3, dataLength + 3); tags.push({ type: type, length: dataLength, - data: data - }) - str = str.substring(3 + dataLength, str.length) + data: data, + }); + str = str.substring(3 + dataLength, str.length); } - return tags + return tags; } function decodeTag(type, length, data) { switch (type) { - case 'p': - if (length !== 52) break // A reader MUST skip over a 'p' field that does not have data_length 52 + case "p": + if (length !== 52) break; // A reader MUST skip over a 'p' field that does not have data_length 52 return { type: type, length: length, - description: 'payment_hash', + description: "payment_hash", value: byteArrayToHexString( fiveBitArrayTo8BitArray(bech32ToFiveBitArray(data)) - ) - } - case 'd': + ), + }; + case "d": return { type: type, length: length, - description: 'description', - value: bech32ToUTF8String(data) - } - case 'n': - if (length !== 53) break // A reader MUST skip over a 'n' field that does not have data_length 53 + description: "description", + value: bech32ToUTF8String(data), + }; + case "n": + if (length !== 53) break; // A reader MUST skip over a 'n' field that does not have data_length 53 return { type: type, length: length, - description: 'payee_public_key', + description: "payee_public_key", value: byteArrayToHexString( fiveBitArrayTo8BitArray(bech32ToFiveBitArray(data)) - ) - } - case 'h': - if (length !== 52) break // A reader MUST skip over a 'h' field that does not have data_length 52 + ), + }; + case "h": + if (length !== 52) break; // A reader MUST skip over a 'h' field that does not have data_length 52 return { type: type, length: length, - description: 'description_hash', - value: data - } - case 'x': + description: "description_hash", + value: data, + }; + case "x": return { type: type, length: length, - description: 'expiry', - value: bech32ToInt(data) - } - case 'c': + description: "expiry", + value: bech32ToInt(data), + }; + case "c": return { type: type, length: length, - description: 'min_final_cltv_expiry', - value: bech32ToInt(data) - } - case 'f': - let version = bech32ToFiveBitArray(data.charAt(0))[0] - if (version < 0 || version > 18) break // a reader MUST skip over an f field with unknown version. - data = data.substring(1, data.length) + description: "min_final_cltv_expiry", + value: bech32ToInt(data), + }; + case "f": + let version = bech32ToFiveBitArray(data.charAt(0))[0]; + if (version < 0 || version > 18) break; // a reader MUST skip over an f field with unknown version. + data = data.substring(1, data.length); return { type: type, length: length, - description: 'fallback_address', + description: "fallback_address", value: { version: version, - fallback_address: data - } - } - case 'r': - data = fiveBitArrayTo8BitArray(bech32ToFiveBitArray(data)) - let pubkey = data.slice(0, 33) - let shortChannelId = data.slice(33, 41) - let feeBaseMsat = data.slice(41, 45) - let feeProportionalMillionths = data.slice(45, 49) - let cltvExpiryDelta = data.slice(49, 51) + fallback_address: data, + }, + }; + case "r": + data = fiveBitArrayTo8BitArray(bech32ToFiveBitArray(data)); + let pubkey = data.slice(0, 33); + let shortChannelId = data.slice(33, 41); + let feeBaseMsat = data.slice(41, 45); + let feeProportionalMillionths = data.slice(45, 49); + let cltvExpiryDelta = data.slice(49, 51); return { type: type, length: length, - description: 'routing_information', + description: "routing_information", value: { public_key: byteArrayToHexString(pubkey), short_channel_id: byteArrayToHexString(shortChannelId), @@ -203,145 +205,145 @@ function decodeTag(type, length, data) { fee_proportional_millionths: byteArrayToInt( feeProportionalMillionths ), - cltv_expiry_delta: byteArrayToInt(cltvExpiryDelta) - } - } + cltv_expiry_delta: byteArrayToInt(cltvExpiryDelta), + }, + }; default: // reader MUST skip over unknown fields } } function polymod(values) { - let GEN = [0x3b6a57b2, 0x26508e6d, 0x1ea119fa, 0x3d4233dd, 0x2a1462b3] - let chk = 1 - values.forEach(value => { - let b = chk >> 25 - chk = ((chk & 0x1ffffff) << 5) ^ value + let GEN = [0x3b6a57b2, 0x26508e6d, 0x1ea119fa, 0x3d4233dd, 0x2a1462b3]; + let chk = 1; + values.forEach((value) => { + let b = chk >> 25; + chk = ((chk & 0x1ffffff) << 5) ^ value; for (let i = 0; i < 5; i++) { if (((b >> i) & 1) === 1) { - chk ^= GEN[i] + chk ^= GEN[i]; } else { - chk ^= 0 + chk ^= 0; } } - }) - return chk + }); + return chk; } function expand(str) { - let array = [] + let array = []; for (let i = 0; i < str.length; i++) { - array.push(str.charCodeAt(i) >> 5) + array.push(str.charCodeAt(i) >> 5); } - array.push(0) + array.push(0); for (let i = 0; i < str.length; i++) { - array.push(str.charCodeAt(i) & 31) + array.push(str.charCodeAt(i) & 31); } - return array + return array; } function verify_checksum(hrp, data) { - hrp = expand(hrp) - let all = hrp.concat(data) - let bool = polymod(all) - return bool === 1 + hrp = expand(hrp); + let all = hrp.concat(data); + let bool = polymod(all); + return bool === 1; } -const bech32CharValues = 'qpzry9x8gf2tvdw0s3jn54khce6mua7l' +const bech32CharValues = "qpzry9x8gf2tvdw0s3jn54khce6mua7l"; function byteArrayToInt(byteArray) { - let value = 0 + let value = 0; for (let i = 0; i < byteArray.length; ++i) { - value = (value << 8) + byteArray[i] + value = (value << 8) + byteArray[i]; } - return value + return value; } function bech32ToInt(str) { - let sum = 0 + let sum = 0; for (let i = 0; i < str.length; i++) { - sum = sum * 32 - sum = sum + bech32CharValues.indexOf(str.charAt(i)) + sum = sum * 32; + sum = sum + bech32CharValues.indexOf(str.charAt(i)); } - return sum + return sum; } function bech32ToFiveBitArray(str) { - let array = [] + let array = []; for (let i = 0; i < str.length; i++) { - array.push(bech32CharValues.indexOf(str.charAt(i))) + array.push(bech32CharValues.indexOf(str.charAt(i))); } - return array + return array; } function fiveBitArrayTo8BitArray(int5Array, includeOverflow) { - let count = 0 - let buffer = 0 - let byteArray = [] - int5Array.forEach(value => { - buffer = (buffer << 5) + value - count += 5 + let count = 0; + let buffer = 0; + let byteArray = []; + int5Array.forEach((value) => { + buffer = (buffer << 5) + value; + count += 5; if (count >= 8) { - byteArray.push((buffer >> (count - 8)) & 255) - count -= 8 + byteArray.push((buffer >> (count - 8)) & 255); + count -= 8; } - }) + }); if (includeOverflow && count > 0) { - byteArray.push((buffer << (8 - count)) & 255) + byteArray.push((buffer << (8 - count)) & 255); } - return byteArray + return byteArray; } function bech32ToUTF8String(str) { - let int5Array = bech32ToFiveBitArray(str) - let byteArray = fiveBitArrayTo8BitArray(int5Array) + let int5Array = bech32ToFiveBitArray(str); + let byteArray = fiveBitArrayTo8BitArray(int5Array); - let utf8String = '' + let utf8String = ""; for (let i = 0; i < byteArray.length; i++) { - utf8String += '%' + ('0' + byteArray[i].toString(16)).slice(-2) + utf8String += "%" + ("0" + byteArray[i].toString(16)).slice(-2); } - return decodeURIComponent(utf8String) + return decodeURIComponent(utf8String); } function byteArrayToHexString(byteArray) { return Array.prototype.map .call(byteArray, function (byte) { - return ('0' + (byte & 0xff).toString(16)).slice(-2) + return ("0" + (byte & 0xff).toString(16)).slice(-2); }) - .join('') + .join(""); } function textToHexString(text) { - let hexString = '' + let hexString = ""; for (let i = 0; i < text.length; i++) { - hexString += text.charCodeAt(i).toString(16) + hexString += text.charCodeAt(i).toString(16); } - return hexString + return hexString; } function epochToDate(int) { - let date = new Date(int * 1000) - return date.toUTCString() + let date = new Date(int * 1000); + return date.toUTCString(); } function isEmptyOrSpaces(str) { - return str === null || str.match(/^ *$/) !== null + return str === null || str.match(/^ *$/) !== null; } function toFixed(x) { if (Math.abs(x) < 1.0) { - var e = parseInt(x.toString().split('e-')[1]) + var e = parseInt(x.toString().split("e-")[1]); if (e) { - x *= Math.pow(10, e - 1) - x = '0.' + new Array(e).join('0') + x.toString().substring(2) + x *= Math.pow(10, e - 1); + x = "0." + new Array(e).join("0") + x.toString().substring(2); } } else { - var e = parseInt(x.toString().split('+')[1]) + var e = parseInt(x.toString().split("+")[1]); if (e > 20) { - e -= 20 - x /= Math.pow(10, e) - x += new Array(e + 1).join('0') + e -= 20; + x /= Math.pow(10, e); + x += new Array(e + 1).join("0"); } } - return x + return x; } diff --git a/market/js/nostr.bundle.js b/market/js/nostr.bundle.js index 0d41aa7..d0bb48f 100644 --- a/market/js/nostr.bundle.js +++ b/market/js/nostr.bundle.js @@ -6,34 +6,52 @@ var NostrTools = (() => { var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; - var __esm = (fn, res) => function __init() { - return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; - }; - var __commonJS = (cb, mod2) => function __require() { - return mod2 || (0, cb[__getOwnPropNames(cb)[0]])((mod2 = { exports: {} }).exports, mod2), mod2.exports; - }; + var __esm = (fn, res) => + function __init() { + return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])((fn = 0))), res; + }; + var __commonJS = (cb, mod2) => + function __require() { + return ( + mod2 || + (0, cb[__getOwnPropNames(cb)[0]])( + (mod2 = { exports: {} }).exports, + mod2 + ), + mod2.exports + ); + }; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { + if ((from && typeof from === "object") || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + __defProp(to, key, { + get: () => from[key], + enumerable: + !(desc = __getOwnPropDesc(from, key)) || desc.enumerable, + }); } return to; }; - var __toESM = (mod2, isNodeMode, target) => (target = mod2 != null ? __create(__getProtoOf(mod2)) : {}, __copyProps( - isNodeMode || !mod2 || !mod2.__esModule ? __defProp(target, "default", { value: mod2, enumerable: true }) : target, - mod2 - )); - var __toCommonJS = (mod2) => __copyProps(__defProp({}, "__esModule", { value: true }), mod2); + var __toESM = (mod2, isNodeMode, target) => ( + (target = mod2 != null ? __create(__getProtoOf(mod2)) : {}), + __copyProps( + isNodeMode || !mod2 || !mod2.__esModule + ? __defProp(target, "default", { value: mod2, enumerable: true }) + : target, + mod2 + ) + ); + var __toCommonJS = (mod2) => + __copyProps(__defProp({}, "__esModule", { value: true }), mod2); // var init_define_process = __esm({ - ""() { - } + ""() {}, }); // node_modules/@scure/bip39/wordlists/english.js @@ -2091,7 +2109,7 @@ zebra zero zone zoo`.split("\n"); - } + }, }); // node_modules/@noble/hashes/_assert.js @@ -2100,7 +2118,13 @@ zoo`.split("\n"); "use strict"; init_define_process(); Object.defineProperty(exports, "__esModule", { value: true }); - exports.output = exports.exists = exports.hash = exports.bytes = exports.bool = exports.number = void 0; + exports.output = + exports.exists = + exports.hash = + exports.bytes = + exports.bool = + exports.number = + void 0; function number2(n) { if (!Number.isSafeInteger(n) || n < 0) throw new Error(`Wrong positive integer: ${n}`); @@ -2115,7 +2139,9 @@ zoo`.split("\n"); if (!(b instanceof Uint8Array)) throw new TypeError("Expected Uint8Array"); if (lengths.length > 0 && !lengths.includes(b.length)) - throw new TypeError(`Expected Uint8Array of length ${lengths}, not of length=${b.length}`); + throw new TypeError( + `Expected Uint8Array of length ${lengths}, not of length=${b.length}` + ); } exports.bytes = bytes2; function hash2(hash3) { @@ -2136,7 +2162,9 @@ zoo`.split("\n"); bytes2(out); const min = instance.outputLen; if (out.length < min) { - throw new Error(`digestInto() expects output buffer of length at least ${min}`); + throw new Error( + `digestInto() expects output buffer of length at least ${min}` + ); } } exports.output = output2; @@ -2146,10 +2174,10 @@ zoo`.split("\n"); bytes: bytes2, hash: hash2, exists: exists2, - output: output2 + output: output2, }; exports.default = assert2; - } + }, }); // node_modules/@noble/hashes/crypto.js @@ -2159,8 +2187,11 @@ zoo`.split("\n"); init_define_process(); Object.defineProperty(exports, "__esModule", { value: true }); exports.crypto = void 0; - exports.crypto = typeof globalThis === "object" && "crypto" in globalThis ? globalThis.crypto : void 0; - } + exports.crypto = + typeof globalThis === "object" && "crypto" in globalThis + ? globalThis.crypto + : void 0; + }, }); // node_modules/@noble/hashes/utils.js @@ -2169,20 +2200,47 @@ zoo`.split("\n"); "use strict"; init_define_process(); Object.defineProperty(exports, "__esModule", { value: true }); - exports.randomBytes = exports.wrapConstructorWithOpts = exports.wrapConstructor = exports.checkOpts = exports.Hash = exports.concatBytes = exports.toBytes = exports.utf8ToBytes = exports.asyncLoop = exports.nextTick = exports.hexToBytes = exports.bytesToHex = exports.isLE = exports.rotr = exports.createView = exports.u32 = exports.u8 = void 0; + exports.randomBytes = + exports.wrapConstructorWithOpts = + exports.wrapConstructor = + exports.checkOpts = + exports.Hash = + exports.concatBytes = + exports.toBytes = + exports.utf8ToBytes = + exports.asyncLoop = + exports.nextTick = + exports.hexToBytes = + exports.bytesToHex = + exports.isLE = + exports.rotr = + exports.createView = + exports.u32 = + exports.u8 = + void 0; var crypto_1 = require_crypto(); - var u8 = (arr) => new Uint8Array(arr.buffer, arr.byteOffset, arr.byteLength); + var u8 = (arr) => + new Uint8Array(arr.buffer, arr.byteOffset, arr.byteLength); exports.u8 = u8; - var u32 = (arr) => new Uint32Array(arr.buffer, arr.byteOffset, Math.floor(arr.byteLength / 4)); + var u32 = (arr) => + new Uint32Array( + arr.buffer, + arr.byteOffset, + Math.floor(arr.byteLength / 4) + ); exports.u32 = u32; - var createView2 = (arr) => new DataView(arr.buffer, arr.byteOffset, arr.byteLength); + var createView2 = (arr) => + new DataView(arr.buffer, arr.byteOffset, arr.byteLength); exports.createView = createView2; - var rotr2 = (word, shift) => word << 32 - shift | word >>> shift; + var rotr2 = (word, shift) => (word << (32 - shift)) | (word >>> shift); exports.rotr = rotr2; - exports.isLE = new Uint8Array(new Uint32Array([287454020]).buffer)[0] === 68; + exports.isLE = + new Uint8Array(new Uint32Array([287454020]).buffer)[0] === 68; if (!exports.isLE) throw new Error("Non little-endian hardware is not supported"); - var hexes3 = Array.from({ length: 256 }, (v, i) => i.toString(16).padStart(2, "0")); + var hexes3 = Array.from({ length: 256 }, (v, i) => + i.toString(16).padStart(2, "0") + ); function bytesToHex3(uint8a) { if (!(uint8a instanceof Uint8Array)) throw new Error("Uint8Array expected"); @@ -2195,7 +2253,9 @@ zoo`.split("\n"); exports.bytesToHex = bytesToHex3; function hexToBytes3(hex2) { if (typeof hex2 !== "string") { - throw new TypeError("hexToBytes: expected string, got " + typeof hex2); + throw new TypeError( + "hexToBytes: expected string, got " + typeof hex2 + ); } if (hex2.length % 2) throw new Error("hexToBytes: received invalid unpadded hex"); @@ -2211,16 +2271,14 @@ zoo`.split("\n"); return array; } exports.hexToBytes = hexToBytes3; - var nextTick = async () => { - }; + var nextTick = async () => {}; exports.nextTick = nextTick; async function asyncLoop(iters, tick, cb) { let ts = Date.now(); for (let i = 0; i < iters; i++) { cb(i); const diff = Date.now() - ts; - if (diff >= 0 && diff < tick) - continue; + if (diff >= 0 && diff < tick) continue; await (0, exports.nextTick)(); ts += diff; } @@ -2234,18 +2292,18 @@ zoo`.split("\n"); } exports.utf8ToBytes = utf8ToBytes3; function toBytes2(data) { - if (typeof data === "string") - data = utf8ToBytes3(data); + if (typeof data === "string") data = utf8ToBytes3(data); if (!(data instanceof Uint8Array)) - throw new TypeError(`Expected input type is Uint8Array (got ${typeof data})`); + throw new TypeError( + `Expected input type is Uint8Array (got ${typeof data})` + ); return data; } exports.toBytes = toBytes2; function concatBytes3(...arrays) { if (!arrays.every((a) => a instanceof Uint8Array)) throw new Error("Uint8Array list expected"); - if (arrays.length === 1) - return arrays[0]; + if (arrays.length === 1) return arrays[0]; const length = arrays.reduce((a, arr) => a + arr.length, 0); const result = new Uint8Array(length); for (let i = 0, pad = 0; i < arrays.length; i++) { @@ -2262,16 +2320,22 @@ zoo`.split("\n"); } }; exports.Hash = Hash2; - var isPlainObject = (obj) => Object.prototype.toString.call(obj) === "[object Object]" && obj.constructor === Object; + var isPlainObject = (obj) => + Object.prototype.toString.call(obj) === "[object Object]" && + obj.constructor === Object; function checkOpts(defaults, opts) { - if (opts !== void 0 && (typeof opts !== "object" || !isPlainObject(opts))) + if ( + opts !== void 0 && + (typeof opts !== "object" || !isPlainObject(opts)) + ) throw new TypeError("Options should be object or undefined"); const merged = Object.assign(defaults, opts); return merged; } exports.checkOpts = checkOpts; function wrapConstructor2(hashConstructor) { - const hashC = (message) => hashConstructor().update(toBytes2(message)).digest(); + const hashC = (message) => + hashConstructor().update(toBytes2(message)).digest(); const tmp = hashConstructor(); hashC.outputLen = tmp.outputLen; hashC.blockLen = tmp.blockLen; @@ -2280,7 +2344,8 @@ zoo`.split("\n"); } exports.wrapConstructor = wrapConstructor2; function wrapConstructorWithOpts(hashCons) { - const hashC = (msg, opts) => hashCons(opts).update(toBytes2(msg)).digest(); + const hashC = (msg, opts) => + hashCons(opts).update(toBytes2(msg)).digest(); const tmp = hashCons({}); hashC.outputLen = tmp.outputLen; hashC.blockLen = tmp.blockLen; @@ -2289,13 +2354,16 @@ zoo`.split("\n"); } exports.wrapConstructorWithOpts = wrapConstructorWithOpts; function randomBytes2(bytesLength = 32) { - if (crypto_1.crypto && typeof crypto_1.crypto.getRandomValues === "function") { + if ( + crypto_1.crypto && + typeof crypto_1.crypto.getRandomValues === "function" + ) { return crypto_1.crypto.getRandomValues(new Uint8Array(bytesLength)); } throw new Error("crypto.getRandomValues must be defined"); } exports.randomBytes = randomBytes2; - } + }, }); // node_modules/@noble/hashes/hmac.js @@ -2316,18 +2384,20 @@ zoo`.split("\n"); const key = (0, utils_js_1.toBytes)(_key); this.iHash = hash2.create(); if (typeof this.iHash.update !== "function") - throw new TypeError("Expected instance of class which extends utils.Hash"); + throw new TypeError( + "Expected instance of class which extends utils.Hash" + ); this.blockLen = this.iHash.blockLen; this.outputLen = this.iHash.outputLen; const blockLen = this.blockLen; const pad = new Uint8Array(blockLen); - pad.set(key.length > blockLen ? hash2.create().update(key).digest() : key); - for (let i = 0; i < pad.length; i++) - pad[i] ^= 54; + pad.set( + key.length > blockLen ? hash2.create().update(key).digest() : key + ); + for (let i = 0; i < pad.length; i++) pad[i] ^= 54; this.iHash.update(pad); this.oHash = hash2.create(); - for (let i = 0; i < pad.length; i++) - pad[i] ^= 54 ^ 92; + for (let i = 0; i < pad.length; i++) pad[i] ^= 54 ^ 92; this.oHash.update(pad); pad.fill(0); } @@ -2352,7 +2422,8 @@ zoo`.split("\n"); } _cloneInto(to) { to || (to = Object.create(Object.getPrototypeOf(this), {})); - const { oHash, iHash, finished, destroyed, blockLen, outputLen } = this; + const { oHash, iHash, finished, destroyed, blockLen, outputLen } = + this; to = to; to.finished = finished; to.destroyed = destroyed; @@ -2368,10 +2439,11 @@ zoo`.split("\n"); this.iHash.destroy(); } }; - var hmac2 = (hash2, key, message) => new HMAC2(hash2, key).update(message).digest(); + var hmac2 = (hash2, key, message) => + new HMAC2(hash2, key).update(message).digest(); exports.hmac = hmac2; exports.hmac.create = (hash2, key) => new HMAC2(hash2, key); - } + }, }); // node_modules/@noble/hashes/pbkdf2.js @@ -2386,13 +2458,15 @@ zoo`.split("\n"); var utils_js_1 = require_utils(); function pbkdf2Init(hash2, _password, _salt, _opts) { _assert_js_1.default.hash(hash2); - const opts = (0, utils_js_1.checkOpts)({ dkLen: 32, asyncTick: 10 }, _opts); + const opts = (0, utils_js_1.checkOpts)( + { dkLen: 32, asyncTick: 10 }, + _opts + ); const { c, dkLen, asyncTick } = opts; _assert_js_1.default.number(c); _assert_js_1.default.number(dkLen); _assert_js_1.default.number(asyncTick); - if (c < 1) - throw new Error("PBKDF2: iterations (c) should be >= 1"); + if (c < 1) throw new Error("PBKDF2: iterations (c) should be >= 1"); const password = (0, utils_js_1.toBytes)(_password); const salt = (0, utils_js_1.toBytes)(_salt); const DK = new Uint8Array(dkLen); @@ -2403,13 +2477,17 @@ zoo`.split("\n"); function pbkdf2Output(PRF, PRFSalt, DK, prfW, u) { PRF.destroy(); PRFSalt.destroy(); - if (prfW) - prfW.destroy(); + if (prfW) prfW.destroy(); u.fill(0); return DK; } function pbkdf2(hash2, password, salt, opts) { - const { c, dkLen, DK, PRF, PRFSalt } = pbkdf2Init(hash2, password, salt, opts); + const { c, dkLen, DK, PRF, PRFSalt } = pbkdf2Init( + hash2, + password, + salt, + opts + ); let prfW; const arr = new Uint8Array(4); const view = (0, utils_js_1.createView)(arr); @@ -2421,15 +2499,19 @@ zoo`.split("\n"); Ti.set(u.subarray(0, Ti.length)); for (let ui = 1; ui < c; ui++) { PRF._cloneInto(prfW).update(u).digestInto(u); - for (let i = 0; i < Ti.length; i++) - Ti[i] ^= u[i]; + for (let i = 0; i < Ti.length; i++) Ti[i] ^= u[i]; } } return pbkdf2Output(PRF, PRFSalt, DK, prfW, u); } exports.pbkdf2 = pbkdf2; async function pbkdf2Async(hash2, password, salt, opts) { - const { c, dkLen, asyncTick, DK, PRF, PRFSalt } = pbkdf2Init(hash2, password, salt, opts); + const { c, dkLen, asyncTick, DK, PRF, PRFSalt } = pbkdf2Init( + hash2, + password, + salt, + opts + ); let prfW; const arr = new Uint8Array(4); const view = (0, utils_js_1.createView)(arr); @@ -2441,14 +2523,13 @@ zoo`.split("\n"); Ti.set(u.subarray(0, Ti.length)); await (0, utils_js_1.asyncLoop)(c - 1, asyncTick, (i) => { PRF._cloneInto(prfW).update(u).digestInto(u); - for (let i2 = 0; i2 < Ti.length; i2++) - Ti[i2] ^= u[i2]; + for (let i2 = 0; i2 < Ti.length; i2++) Ti[i2] ^= u[i2]; }); } return pbkdf2Output(PRF, PRFSalt, DK, prfW, u); } exports.pbkdf2Async = pbkdf2Async; - } + }, }); // node_modules/@noble/hashes/_sha2.js @@ -2465,7 +2546,7 @@ zoo`.split("\n"); return view.setBigUint64(byteOffset, value, isLE2); const _32n2 = BigInt(32); const _u32_max = BigInt(4294967295); - const wh = Number(value >> _32n2 & _u32_max); + const wh = Number((value >> _32n2) & _u32_max); const wl = Number(value & _u32_max); const h = isLE2 ? 4 : 0; const l = isLE2 ? 0 : 4; @@ -2523,8 +2604,7 @@ zoo`.split("\n"); this.process(view, 0); pos = 0; } - for (let i = pos; i < blockLen; i++) - buffer[i] = 0; + for (let i = pos; i < blockLen; i++) buffer[i] = 0; setBigUint642(view, blockLen - 8, BigInt(this.length * 8), isLE2); this.process(view, 0); const oview = (0, utils_js_1.createView)(out); @@ -2553,13 +2633,12 @@ zoo`.split("\n"); to.pos = pos; to.finished = finished; to.destroyed = destroyed; - if (length % blockLen) - to.buffer.set(buffer); + if (length % blockLen) to.buffer.set(buffer); return to; } }; exports.SHA2 = SHA22; - } + }, }); // node_modules/@noble/hashes/sha256.js @@ -2571,83 +2650,24 @@ zoo`.split("\n"); exports.sha224 = exports.sha256 = void 0; var _sha2_js_1 = require_sha2(); var utils_js_1 = require_utils(); - var Chi2 = (a, b, c) => a & b ^ ~a & c; - var Maj2 = (a, b, c) => a & b ^ a & c ^ b & c; + var Chi2 = (a, b, c) => (a & b) ^ (~a & c); + var Maj2 = (a, b, c) => (a & b) ^ (a & c) ^ (b & c); var SHA256_K2 = new Uint32Array([ - 1116352408, - 1899447441, - 3049323471, - 3921009573, - 961987163, - 1508970993, - 2453635748, - 2870763221, - 3624381080, - 310598401, - 607225278, - 1426881987, - 1925078388, - 2162078206, - 2614888103, - 3248222580, - 3835390401, - 4022224774, - 264347078, - 604807628, - 770255983, - 1249150122, - 1555081692, - 1996064986, - 2554220882, - 2821834349, - 2952996808, - 3210313671, - 3336571891, - 3584528711, - 113926993, - 338241895, - 666307205, - 773529912, - 1294757372, - 1396182291, - 1695183700, - 1986661051, - 2177026350, - 2456956037, - 2730485921, - 2820302411, - 3259730800, - 3345764771, - 3516065817, - 3600352804, - 4094571909, - 275423344, - 430227734, - 506948616, - 659060556, - 883997877, - 958139571, - 1322822218, - 1537002063, - 1747873779, - 1955562222, - 2024104815, - 2227730452, - 2361852424, - 2428436474, - 2756734187, - 3204031479, - 3329325298 + 1116352408, 1899447441, 3049323471, 3921009573, 961987163, 1508970993, + 2453635748, 2870763221, 3624381080, 310598401, 607225278, 1426881987, + 1925078388, 2162078206, 2614888103, 3248222580, 3835390401, 4022224774, + 264347078, 604807628, 770255983, 1249150122, 1555081692, 1996064986, + 2554220882, 2821834349, 2952996808, 3210313671, 3336571891, 3584528711, + 113926993, 338241895, 666307205, 773529912, 1294757372, 1396182291, + 1695183700, 1986661051, 2177026350, 2456956037, 2730485921, 2820302411, + 3259730800, 3345764771, 3516065817, 3600352804, 4094571909, 275423344, + 430227734, 506948616, 659060556, 883997877, 958139571, 1322822218, + 1537002063, 1747873779, 1955562222, 2024104815, 2227730452, 2361852424, + 2428436474, 2756734187, 3204031479, 3329325298, ]); var IV2 = new Uint32Array([ - 1779033703, - 3144134277, - 1013904242, - 2773480762, - 1359893119, - 2600822924, - 528734635, - 1541459225 + 1779033703, 3144134277, 1013904242, 2773480762, 1359893119, 2600822924, + 528734635, 1541459225, ]); var SHA256_W2 = new Uint32Array(64); var SHA2562 = class extends _sha2_js_1.SHA2 { @@ -2682,33 +2702,46 @@ zoo`.split("\n"); for (let i = 16; i < 64; i++) { const W15 = SHA256_W2[i - 15]; const W2 = SHA256_W2[i - 2]; - const s0 = (0, utils_js_1.rotr)(W15, 7) ^ (0, utils_js_1.rotr)(W15, 18) ^ W15 >>> 3; - const s1 = (0, utils_js_1.rotr)(W2, 17) ^ (0, utils_js_1.rotr)(W2, 19) ^ W2 >>> 10; - SHA256_W2[i] = s1 + SHA256_W2[i - 7] + s0 + SHA256_W2[i - 16] | 0; + const s0 = + (0, utils_js_1.rotr)(W15, 7) ^ + (0, utils_js_1.rotr)(W15, 18) ^ + (W15 >>> 3); + const s1 = + (0, utils_js_1.rotr)(W2, 17) ^ + (0, utils_js_1.rotr)(W2, 19) ^ + (W2 >>> 10); + SHA256_W2[i] = (s1 + SHA256_W2[i - 7] + s0 + SHA256_W2[i - 16]) | 0; } let { A, B, C, D, E, F, G, H } = this; for (let i = 0; i < 64; i++) { - const sigma1 = (0, utils_js_1.rotr)(E, 6) ^ (0, utils_js_1.rotr)(E, 11) ^ (0, utils_js_1.rotr)(E, 25); - const T1 = H + sigma1 + Chi2(E, F, G) + SHA256_K2[i] + SHA256_W2[i] | 0; - const sigma0 = (0, utils_js_1.rotr)(A, 2) ^ (0, utils_js_1.rotr)(A, 13) ^ (0, utils_js_1.rotr)(A, 22); - const T2 = sigma0 + Maj2(A, B, C) | 0; + const sigma1 = + (0, utils_js_1.rotr)(E, 6) ^ + (0, utils_js_1.rotr)(E, 11) ^ + (0, utils_js_1.rotr)(E, 25); + const T1 = + (H + sigma1 + Chi2(E, F, G) + SHA256_K2[i] + SHA256_W2[i]) | 0; + const sigma0 = + (0, utils_js_1.rotr)(A, 2) ^ + (0, utils_js_1.rotr)(A, 13) ^ + (0, utils_js_1.rotr)(A, 22); + const T2 = (sigma0 + Maj2(A, B, C)) | 0; H = G; G = F; F = E; - E = D + T1 | 0; + E = (D + T1) | 0; D = C; C = B; B = A; - A = T1 + T2 | 0; + A = (T1 + T2) | 0; } - A = A + this.A | 0; - B = B + this.B | 0; - C = C + this.C | 0; - D = D + this.D | 0; - E = E + this.E | 0; - F = F + this.F | 0; - G = G + this.G | 0; - H = H + this.H | 0; + A = (A + this.A) | 0; + B = (B + this.B) | 0; + C = (C + this.C) | 0; + D = (D + this.D) | 0; + E = (E + this.E) | 0; + F = (F + this.F) | 0; + G = (G + this.G) | 0; + H = (H + this.H) | 0; this.set(A, B, C, D, E, F, G, H); } roundClean() { @@ -2735,7 +2768,7 @@ zoo`.split("\n"); }; exports.sha256 = (0, utils_js_1.wrapConstructor)(() => new SHA2562()); exports.sha224 = (0, utils_js_1.wrapConstructor)(() => new SHA2242()); - } + }, }); // node_modules/@noble/hashes/_u64.js @@ -2749,8 +2782,14 @@ zoo`.split("\n"); var _32n2 = BigInt(32); function fromBig2(n, le = false) { if (le) - return { h: Number(n & U32_MASK642), l: Number(n >> _32n2 & U32_MASK642) }; - return { h: Number(n >> _32n2 & U32_MASK642) | 0, l: Number(n & U32_MASK642) | 0 }; + return { + h: Number(n & U32_MASK642), + l: Number((n >> _32n2) & U32_MASK642), + }; + return { + h: Number((n >> _32n2) & U32_MASK642) | 0, + l: Number(n & U32_MASK642) | 0, + }; } exports.fromBig = fromBig2; function split2(lst, le = false) { @@ -2763,31 +2802,36 @@ zoo`.split("\n"); return [Ah, Al]; } exports.split = split2; - var toBig2 = (h, l) => BigInt(h >>> 0) << _32n2 | BigInt(l >>> 0); + var toBig2 = (h, l) => (BigInt(h >>> 0) << _32n2) | BigInt(l >>> 0); exports.toBig = toBig2; var shrSH2 = (h, l, s) => h >>> s; - var shrSL2 = (h, l, s) => h << 32 - s | l >>> s; - var rotrSH2 = (h, l, s) => h >>> s | l << 32 - s; - var rotrSL2 = (h, l, s) => h << 32 - s | l >>> s; - var rotrBH2 = (h, l, s) => h << 64 - s | l >>> s - 32; - var rotrBL2 = (h, l, s) => h >>> s - 32 | l << 64 - s; + var shrSL2 = (h, l, s) => (h << (32 - s)) | (l >>> s); + var rotrSH2 = (h, l, s) => (h >>> s) | (l << (32 - s)); + var rotrSL2 = (h, l, s) => (h << (32 - s)) | (l >>> s); + var rotrBH2 = (h, l, s) => (h << (64 - s)) | (l >>> (s - 32)); + var rotrBL2 = (h, l, s) => (h >>> (s - 32)) | (l << (64 - s)); var rotr32H2 = (h, l) => l; var rotr32L2 = (h, l) => h; - var rotlSH2 = (h, l, s) => h << s | l >>> 32 - s; - var rotlSL2 = (h, l, s) => l << s | h >>> 32 - s; - var rotlBH2 = (h, l, s) => l << s - 32 | h >>> 64 - s; - var rotlBL2 = (h, l, s) => h << s - 32 | l >>> 64 - s; + var rotlSH2 = (h, l, s) => (h << s) | (l >>> (32 - s)); + var rotlSL2 = (h, l, s) => (l << s) | (h >>> (32 - s)); + var rotlBH2 = (h, l, s) => (l << (s - 32)) | (h >>> (64 - s)); + var rotlBL2 = (h, l, s) => (h << (s - 32)) | (l >>> (64 - s)); function add2(Ah, Al, Bh, Bl) { const l = (Al >>> 0) + (Bl >>> 0); - return { h: Ah + Bh + (l / 2 ** 32 | 0) | 0, l: l | 0 }; + return { h: (Ah + Bh + ((l / 2 ** 32) | 0)) | 0, l: l | 0 }; } exports.add = add2; var add3L2 = (Al, Bl, Cl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0); - var add3H2 = (low, Ah, Bh, Ch) => Ah + Bh + Ch + (low / 2 ** 32 | 0) | 0; - var add4L2 = (Al, Bl, Cl, Dl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0); - var add4H2 = (low, Ah, Bh, Ch, Dh) => Ah + Bh + Ch + Dh + (low / 2 ** 32 | 0) | 0; - var add5L2 = (Al, Bl, Cl, Dl, El) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0) + (El >>> 0); - var add5H2 = (low, Ah, Bh, Ch, Dh, Eh) => Ah + Bh + Ch + Dh + Eh + (low / 2 ** 32 | 0) | 0; + var add3H2 = (low, Ah, Bh, Ch) => + (Ah + Bh + Ch + ((low / 2 ** 32) | 0)) | 0; + var add4L2 = (Al, Bl, Cl, Dl) => + (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0); + var add4H2 = (low, Ah, Bh, Ch, Dh) => + (Ah + Bh + Ch + Dh + ((low / 2 ** 32) | 0)) | 0; + var add5L2 = (Al, Bl, Cl, Dl, El) => + (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0) + (El >>> 0); + var add5H2 = (low, Ah, Bh, Ch, Dh, Eh) => + (Ah + Bh + Ch + Dh + Eh + ((low / 2 ** 32) | 0)) | 0; var u642 = { fromBig: fromBig2, split: split2, @@ -2810,10 +2854,10 @@ zoo`.split("\n"); add4L: add4L2, add4H: add4H2, add5H: add5H2, - add5L: add5L2 + add5L: add5L2, }; exports.default = u642; - } + }, }); // node_modules/@noble/hashes/sha512.js @@ -2822,92 +2866,99 @@ zoo`.split("\n"); "use strict"; init_define_process(); Object.defineProperty(exports, "__esModule", { value: true }); - exports.sha384 = exports.sha512_256 = exports.sha512_224 = exports.sha512 = exports.SHA512 = void 0; + exports.sha384 = + exports.sha512_256 = + exports.sha512_224 = + exports.sha512 = + exports.SHA512 = + void 0; var _sha2_js_1 = require_sha2(); var _u64_js_1 = require_u64(); var utils_js_1 = require_utils(); - var [SHA512_Kh2, SHA512_Kl2] = _u64_js_1.default.split([ - "0x428a2f98d728ae22", - "0x7137449123ef65cd", - "0xb5c0fbcfec4d3b2f", - "0xe9b5dba58189dbbc", - "0x3956c25bf348b538", - "0x59f111f1b605d019", - "0x923f82a4af194f9b", - "0xab1c5ed5da6d8118", - "0xd807aa98a3030242", - "0x12835b0145706fbe", - "0x243185be4ee4b28c", - "0x550c7dc3d5ffb4e2", - "0x72be5d74f27b896f", - "0x80deb1fe3b1696b1", - "0x9bdc06a725c71235", - "0xc19bf174cf692694", - "0xe49b69c19ef14ad2", - "0xefbe4786384f25e3", - "0x0fc19dc68b8cd5b5", - "0x240ca1cc77ac9c65", - "0x2de92c6f592b0275", - "0x4a7484aa6ea6e483", - "0x5cb0a9dcbd41fbd4", - "0x76f988da831153b5", - "0x983e5152ee66dfab", - "0xa831c66d2db43210", - "0xb00327c898fb213f", - "0xbf597fc7beef0ee4", - "0xc6e00bf33da88fc2", - "0xd5a79147930aa725", - "0x06ca6351e003826f", - "0x142929670a0e6e70", - "0x27b70a8546d22ffc", - "0x2e1b21385c26c926", - "0x4d2c6dfc5ac42aed", - "0x53380d139d95b3df", - "0x650a73548baf63de", - "0x766a0abb3c77b2a8", - "0x81c2c92e47edaee6", - "0x92722c851482353b", - "0xa2bfe8a14cf10364", - "0xa81a664bbc423001", - "0xc24b8b70d0f89791", - "0xc76c51a30654be30", - "0xd192e819d6ef5218", - "0xd69906245565a910", - "0xf40e35855771202a", - "0x106aa07032bbd1b8", - "0x19a4c116b8d2d0c8", - "0x1e376c085141ab53", - "0x2748774cdf8eeb99", - "0x34b0bcb5e19b48a8", - "0x391c0cb3c5c95a63", - "0x4ed8aa4ae3418acb", - "0x5b9cca4f7763e373", - "0x682e6ff3d6b2b8a3", - "0x748f82ee5defb2fc", - "0x78a5636f43172f60", - "0x84c87814a1f0ab72", - "0x8cc702081a6439ec", - "0x90befffa23631e28", - "0xa4506cebde82bde9", - "0xbef9a3f7b2c67915", - "0xc67178f2e372532b", - "0xca273eceea26619c", - "0xd186b8c721c0c207", - "0xeada7dd6cde0eb1e", - "0xf57d4f7fee6ed178", - "0x06f067aa72176fba", - "0x0a637dc5a2c898a6", - "0x113f9804bef90dae", - "0x1b710b35131c471b", - "0x28db77f523047d84", - "0x32caab7b40c72493", - "0x3c9ebe0a15c9bebc", - "0x431d67c49c100d4c", - "0x4cc5d4becb3e42b6", - "0x597f299cfc657e2a", - "0x5fcb6fab3ad6faec", - "0x6c44198c4a475817" - ].map((n) => BigInt(n))); + var [SHA512_Kh2, SHA512_Kl2] = _u64_js_1.default.split( + [ + "0x428a2f98d728ae22", + "0x7137449123ef65cd", + "0xb5c0fbcfec4d3b2f", + "0xe9b5dba58189dbbc", + "0x3956c25bf348b538", + "0x59f111f1b605d019", + "0x923f82a4af194f9b", + "0xab1c5ed5da6d8118", + "0xd807aa98a3030242", + "0x12835b0145706fbe", + "0x243185be4ee4b28c", + "0x550c7dc3d5ffb4e2", + "0x72be5d74f27b896f", + "0x80deb1fe3b1696b1", + "0x9bdc06a725c71235", + "0xc19bf174cf692694", + "0xe49b69c19ef14ad2", + "0xefbe4786384f25e3", + "0x0fc19dc68b8cd5b5", + "0x240ca1cc77ac9c65", + "0x2de92c6f592b0275", + "0x4a7484aa6ea6e483", + "0x5cb0a9dcbd41fbd4", + "0x76f988da831153b5", + "0x983e5152ee66dfab", + "0xa831c66d2db43210", + "0xb00327c898fb213f", + "0xbf597fc7beef0ee4", + "0xc6e00bf33da88fc2", + "0xd5a79147930aa725", + "0x06ca6351e003826f", + "0x142929670a0e6e70", + "0x27b70a8546d22ffc", + "0x2e1b21385c26c926", + "0x4d2c6dfc5ac42aed", + "0x53380d139d95b3df", + "0x650a73548baf63de", + "0x766a0abb3c77b2a8", + "0x81c2c92e47edaee6", + "0x92722c851482353b", + "0xa2bfe8a14cf10364", + "0xa81a664bbc423001", + "0xc24b8b70d0f89791", + "0xc76c51a30654be30", + "0xd192e819d6ef5218", + "0xd69906245565a910", + "0xf40e35855771202a", + "0x106aa07032bbd1b8", + "0x19a4c116b8d2d0c8", + "0x1e376c085141ab53", + "0x2748774cdf8eeb99", + "0x34b0bcb5e19b48a8", + "0x391c0cb3c5c95a63", + "0x4ed8aa4ae3418acb", + "0x5b9cca4f7763e373", + "0x682e6ff3d6b2b8a3", + "0x748f82ee5defb2fc", + "0x78a5636f43172f60", + "0x84c87814a1f0ab72", + "0x8cc702081a6439ec", + "0x90befffa23631e28", + "0xa4506cebde82bde9", + "0xbef9a3f7b2c67915", + "0xc67178f2e372532b", + "0xca273eceea26619c", + "0xd186b8c721c0c207", + "0xeada7dd6cde0eb1e", + "0xf57d4f7fee6ed178", + "0x06f067aa72176fba", + "0x0a637dc5a2c898a6", + "0x113f9804bef90dae", + "0x1b710b35131c471b", + "0x28db77f523047d84", + "0x32caab7b40c72493", + "0x3c9ebe0a15c9bebc", + "0x431d67c49c100d4c", + "0x4cc5d4becb3e42b6", + "0x597f299cfc657e2a", + "0x5fcb6fab3ad6faec", + "0x6c44198c4a475817", + ].map((n) => BigInt(n)) + ); var SHA512_W_H2 = new Uint32Array(80); var SHA512_W_L2 = new Uint32Array(80); var SHA5122 = class extends _sha2_js_1.SHA2 { @@ -2931,8 +2982,42 @@ zoo`.split("\n"); this.Hl = 327033209 | 0; } get() { - const { Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl } = this; - return [Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl]; + const { + Ah, + Al, + Bh, + Bl, + Ch, + Cl, + Dh, + Dl, + Eh, + El, + Fh, + Fl, + Gh, + Gl, + Hh, + Hl, + } = this; + return [ + Ah, + Al, + Bh, + Bl, + Ch, + Cl, + Dh, + Dl, + Eh, + El, + Fh, + Fl, + Gh, + Gl, + Hh, + Hl, + ]; } set(Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl) { this.Ah = Ah | 0; @@ -2955,42 +3040,112 @@ zoo`.split("\n"); process(view, offset) { for (let i = 0; i < 16; i++, offset += 4) { SHA512_W_H2[i] = view.getUint32(offset); - SHA512_W_L2[i] = view.getUint32(offset += 4); + SHA512_W_L2[i] = view.getUint32((offset += 4)); } for (let i = 16; i < 80; i++) { const W15h = SHA512_W_H2[i - 15] | 0; const W15l = SHA512_W_L2[i - 15] | 0; - const s0h = _u64_js_1.default.rotrSH(W15h, W15l, 1) ^ _u64_js_1.default.rotrSH(W15h, W15l, 8) ^ _u64_js_1.default.shrSH(W15h, W15l, 7); - const s0l = _u64_js_1.default.rotrSL(W15h, W15l, 1) ^ _u64_js_1.default.rotrSL(W15h, W15l, 8) ^ _u64_js_1.default.shrSL(W15h, W15l, 7); + const s0h = + _u64_js_1.default.rotrSH(W15h, W15l, 1) ^ + _u64_js_1.default.rotrSH(W15h, W15l, 8) ^ + _u64_js_1.default.shrSH(W15h, W15l, 7); + const s0l = + _u64_js_1.default.rotrSL(W15h, W15l, 1) ^ + _u64_js_1.default.rotrSL(W15h, W15l, 8) ^ + _u64_js_1.default.shrSL(W15h, W15l, 7); const W2h = SHA512_W_H2[i - 2] | 0; const W2l = SHA512_W_L2[i - 2] | 0; - const s1h = _u64_js_1.default.rotrSH(W2h, W2l, 19) ^ _u64_js_1.default.rotrBH(W2h, W2l, 61) ^ _u64_js_1.default.shrSH(W2h, W2l, 6); - const s1l = _u64_js_1.default.rotrSL(W2h, W2l, 19) ^ _u64_js_1.default.rotrBL(W2h, W2l, 61) ^ _u64_js_1.default.shrSL(W2h, W2l, 6); - const SUMl = _u64_js_1.default.add4L(s0l, s1l, SHA512_W_L2[i - 7], SHA512_W_L2[i - 16]); - const SUMh = _u64_js_1.default.add4H(SUMl, s0h, s1h, SHA512_W_H2[i - 7], SHA512_W_H2[i - 16]); + const s1h = + _u64_js_1.default.rotrSH(W2h, W2l, 19) ^ + _u64_js_1.default.rotrBH(W2h, W2l, 61) ^ + _u64_js_1.default.shrSH(W2h, W2l, 6); + const s1l = + _u64_js_1.default.rotrSL(W2h, W2l, 19) ^ + _u64_js_1.default.rotrBL(W2h, W2l, 61) ^ + _u64_js_1.default.shrSL(W2h, W2l, 6); + const SUMl = _u64_js_1.default.add4L( + s0l, + s1l, + SHA512_W_L2[i - 7], + SHA512_W_L2[i - 16] + ); + const SUMh = _u64_js_1.default.add4H( + SUMl, + s0h, + s1h, + SHA512_W_H2[i - 7], + SHA512_W_H2[i - 16] + ); SHA512_W_H2[i] = SUMh | 0; SHA512_W_L2[i] = SUMl | 0; } - let { Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl } = this; + let { + Ah, + Al, + Bh, + Bl, + Ch, + Cl, + Dh, + Dl, + Eh, + El, + Fh, + Fl, + Gh, + Gl, + Hh, + Hl, + } = this; for (let i = 0; i < 80; i++) { - const sigma1h = _u64_js_1.default.rotrSH(Eh, El, 14) ^ _u64_js_1.default.rotrSH(Eh, El, 18) ^ _u64_js_1.default.rotrBH(Eh, El, 41); - const sigma1l = _u64_js_1.default.rotrSL(Eh, El, 14) ^ _u64_js_1.default.rotrSL(Eh, El, 18) ^ _u64_js_1.default.rotrBL(Eh, El, 41); - const CHIh = Eh & Fh ^ ~Eh & Gh; - const CHIl = El & Fl ^ ~El & Gl; - const T1ll = _u64_js_1.default.add5L(Hl, sigma1l, CHIl, SHA512_Kl2[i], SHA512_W_L2[i]); - const T1h = _u64_js_1.default.add5H(T1ll, Hh, sigma1h, CHIh, SHA512_Kh2[i], SHA512_W_H2[i]); + const sigma1h = + _u64_js_1.default.rotrSH(Eh, El, 14) ^ + _u64_js_1.default.rotrSH(Eh, El, 18) ^ + _u64_js_1.default.rotrBH(Eh, El, 41); + const sigma1l = + _u64_js_1.default.rotrSL(Eh, El, 14) ^ + _u64_js_1.default.rotrSL(Eh, El, 18) ^ + _u64_js_1.default.rotrBL(Eh, El, 41); + const CHIh = (Eh & Fh) ^ (~Eh & Gh); + const CHIl = (El & Fl) ^ (~El & Gl); + const T1ll = _u64_js_1.default.add5L( + Hl, + sigma1l, + CHIl, + SHA512_Kl2[i], + SHA512_W_L2[i] + ); + const T1h = _u64_js_1.default.add5H( + T1ll, + Hh, + sigma1h, + CHIh, + SHA512_Kh2[i], + SHA512_W_H2[i] + ); const T1l = T1ll | 0; - const sigma0h = _u64_js_1.default.rotrSH(Ah, Al, 28) ^ _u64_js_1.default.rotrBH(Ah, Al, 34) ^ _u64_js_1.default.rotrBH(Ah, Al, 39); - const sigma0l = _u64_js_1.default.rotrSL(Ah, Al, 28) ^ _u64_js_1.default.rotrBL(Ah, Al, 34) ^ _u64_js_1.default.rotrBL(Ah, Al, 39); - const MAJh = Ah & Bh ^ Ah & Ch ^ Bh & Ch; - const MAJl = Al & Bl ^ Al & Cl ^ Bl & Cl; + const sigma0h = + _u64_js_1.default.rotrSH(Ah, Al, 28) ^ + _u64_js_1.default.rotrBH(Ah, Al, 34) ^ + _u64_js_1.default.rotrBH(Ah, Al, 39); + const sigma0l = + _u64_js_1.default.rotrSL(Ah, Al, 28) ^ + _u64_js_1.default.rotrBL(Ah, Al, 34) ^ + _u64_js_1.default.rotrBL(Ah, Al, 39); + const MAJh = (Ah & Bh) ^ (Ah & Ch) ^ (Bh & Ch); + const MAJl = (Al & Bl) ^ (Al & Cl) ^ (Bl & Cl); Hh = Gh | 0; Hl = Gl | 0; Gh = Fh | 0; Gl = Fl | 0; Fh = Eh | 0; Fl = El | 0; - ({ h: Eh, l: El } = _u64_js_1.default.add(Dh | 0, Dl | 0, T1h | 0, T1l | 0)); + ({ h: Eh, l: El } = _u64_js_1.default.add( + Dh | 0, + Dl | 0, + T1h | 0, + T1l | 0 + )); Dh = Ch | 0; Dl = Cl | 0; Ch = Bh | 0; @@ -3001,15 +3156,72 @@ zoo`.split("\n"); Ah = _u64_js_1.default.add3H(All, T1h, sigma0h, MAJh); Al = All | 0; } - ({ h: Ah, l: Al } = _u64_js_1.default.add(this.Ah | 0, this.Al | 0, Ah | 0, Al | 0)); - ({ h: Bh, l: Bl } = _u64_js_1.default.add(this.Bh | 0, this.Bl | 0, Bh | 0, Bl | 0)); - ({ h: Ch, l: Cl } = _u64_js_1.default.add(this.Ch | 0, this.Cl | 0, Ch | 0, Cl | 0)); - ({ h: Dh, l: Dl } = _u64_js_1.default.add(this.Dh | 0, this.Dl | 0, Dh | 0, Dl | 0)); - ({ h: Eh, l: El } = _u64_js_1.default.add(this.Eh | 0, this.El | 0, Eh | 0, El | 0)); - ({ h: Fh, l: Fl } = _u64_js_1.default.add(this.Fh | 0, this.Fl | 0, Fh | 0, Fl | 0)); - ({ h: Gh, l: Gl } = _u64_js_1.default.add(this.Gh | 0, this.Gl | 0, Gh | 0, Gl | 0)); - ({ h: Hh, l: Hl } = _u64_js_1.default.add(this.Hh | 0, this.Hl | 0, Hh | 0, Hl | 0)); - this.set(Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl); + ({ h: Ah, l: Al } = _u64_js_1.default.add( + this.Ah | 0, + this.Al | 0, + Ah | 0, + Al | 0 + )); + ({ h: Bh, l: Bl } = _u64_js_1.default.add( + this.Bh | 0, + this.Bl | 0, + Bh | 0, + Bl | 0 + )); + ({ h: Ch, l: Cl } = _u64_js_1.default.add( + this.Ch | 0, + this.Cl | 0, + Ch | 0, + Cl | 0 + )); + ({ h: Dh, l: Dl } = _u64_js_1.default.add( + this.Dh | 0, + this.Dl | 0, + Dh | 0, + Dl | 0 + )); + ({ h: Eh, l: El } = _u64_js_1.default.add( + this.Eh | 0, + this.El | 0, + Eh | 0, + El | 0 + )); + ({ h: Fh, l: Fl } = _u64_js_1.default.add( + this.Fh | 0, + this.Fl | 0, + Fh | 0, + Fl | 0 + )); + ({ h: Gh, l: Gl } = _u64_js_1.default.add( + this.Gh | 0, + this.Gl | 0, + Gh | 0, + Gl | 0 + )); + ({ h: Hh, l: Hl } = _u64_js_1.default.add( + this.Hh | 0, + this.Hl | 0, + Hh | 0, + Hl | 0 + )); + this.set( + Ah, + Al, + Bh, + Bl, + Ch, + Cl, + Dh, + Dl, + Eh, + El, + Fh, + Fl, + Gh, + Gl, + Hh, + Hl + ); } roundClean() { SHA512_W_H2.fill(0); @@ -3088,10 +3300,14 @@ zoo`.split("\n"); } }; exports.sha512 = (0, utils_js_1.wrapConstructor)(() => new SHA5122()); - exports.sha512_224 = (0, utils_js_1.wrapConstructor)(() => new SHA512_2242()); - exports.sha512_256 = (0, utils_js_1.wrapConstructor)(() => new SHA512_2562()); + exports.sha512_224 = (0, utils_js_1.wrapConstructor)( + () => new SHA512_2242() + ); + exports.sha512_256 = (0, utils_js_1.wrapConstructor)( + () => new SHA512_2562() + ); exports.sha384 = (0, utils_js_1.wrapConstructor)(() => new SHA3842()); - } + }, }); // node_modules/@scure/base/lib/index.js @@ -3100,42 +3316,83 @@ zoo`.split("\n"); "use strict"; init_define_process(); Object.defineProperty(exports, "__esModule", { value: true }); - exports.bytes = exports.stringToBytes = exports.str = exports.bytesToString = exports.hex = exports.utf8 = exports.bech32m = exports.bech32 = exports.base58check = exports.base58xmr = exports.base58xrp = exports.base58flickr = exports.base58 = exports.base64url = exports.base64 = exports.base32crockford = exports.base32hex = exports.base32 = exports.base16 = exports.utils = exports.assertNumber = void 0; + exports.bytes = + exports.stringToBytes = + exports.str = + exports.bytesToString = + exports.hex = + exports.utf8 = + exports.bech32m = + exports.bech32 = + exports.base58check = + exports.base58xmr = + exports.base58xrp = + exports.base58flickr = + exports.base58 = + exports.base64url = + exports.base64 = + exports.base32crockford = + exports.base32hex = + exports.base32 = + exports.base16 = + exports.utils = + exports.assertNumber = + void 0; function assertNumber2(n) { - if (!Number.isSafeInteger(n)) - throw new Error(`Wrong integer: ${n}`); + if (!Number.isSafeInteger(n)) throw new Error(`Wrong integer: ${n}`); } exports.assertNumber = assertNumber2; function chain2(...args) { const wrap = (a, b) => (c) => a(b(c)); - const encode = Array.from(args).reverse().reduce((acc, i) => acc ? wrap(acc, i.encode) : i.encode, void 0); - const decode2 = args.reduce((acc, i) => acc ? wrap(acc, i.decode) : i.decode, void 0); + const encode = Array.from(args) + .reverse() + .reduce((acc, i) => (acc ? wrap(acc, i.encode) : i.encode), void 0); + const decode2 = args.reduce( + (acc, i) => (acc ? wrap(acc, i.decode) : i.decode), + void 0 + ); return { encode, decode: decode2 }; } function alphabet2(alphabet3) { return { encode: (digits) => { - if (!Array.isArray(digits) || digits.length && typeof digits[0] !== "number") - throw new Error("alphabet.encode input should be an array of numbers"); + if ( + !Array.isArray(digits) || + (digits.length && typeof digits[0] !== "number") + ) + throw new Error( + "alphabet.encode input should be an array of numbers" + ); return digits.map((i) => { assertNumber2(i); if (i < 0 || i >= alphabet3.length) - throw new Error(`Digit index outside alphabet: ${i} (alphabet: ${alphabet3.length})`); + throw new Error( + `Digit index outside alphabet: ${i} (alphabet: ${alphabet3.length})` + ); return alphabet3[i]; }); }, decode: (input) => { - if (!Array.isArray(input) || input.length && typeof input[0] !== "string") - throw new Error("alphabet.decode input should be array of strings"); + if ( + !Array.isArray(input) || + (input.length && typeof input[0] !== "string") + ) + throw new Error( + "alphabet.decode input should be array of strings" + ); return input.map((letter) => { if (typeof letter !== "string") - throw new Error(`alphabet.decode: not string element=${letter}`); + throw new Error( + `alphabet.decode: not string element=${letter}` + ); const index = alphabet3.indexOf(letter); if (index === -1) - throw new Error(`Unknown letter: "${letter}". Allowed: ${alphabet3}`); + throw new Error( + `Unknown letter: "${letter}". Allowed: ${alphabet3}` + ); return index; }); - } + }, }; } function join2(separator = "") { @@ -3143,7 +3400,10 @@ zoo`.split("\n"); throw new Error("join separator should be string"); return { encode: (from) => { - if (!Array.isArray(from) || from.length && typeof from[0] !== "string") + if ( + !Array.isArray(from) || + (from.length && typeof from[0] !== "string") + ) throw new Error("join.encode input should be array of strings"); for (let i of from) if (typeof i !== "string") @@ -3154,7 +3414,7 @@ zoo`.split("\n"); if (typeof to !== "string") throw new Error("join.decode input should be string"); return to.split(separator); - } + }, }; } function padding2(bits, chr = "=") { @@ -3163,30 +3423,41 @@ zoo`.split("\n"); throw new Error("padding chr should be string"); return { encode(data) { - if (!Array.isArray(data) || data.length && typeof data[0] !== "string") - throw new Error("padding.encode input should be array of strings"); + if ( + !Array.isArray(data) || + (data.length && typeof data[0] !== "string") + ) + throw new Error( + "padding.encode input should be array of strings" + ); for (let i of data) if (typeof i !== "string") throw new Error(`padding.encode: non-string input=${i}`); - while (data.length * bits % 8) - data.push(chr); + while ((data.length * bits) % 8) data.push(chr); return data; }, decode(input) { - if (!Array.isArray(input) || input.length && typeof input[0] !== "string") - throw new Error("padding.encode input should be array of strings"); + if ( + !Array.isArray(input) || + (input.length && typeof input[0] !== "string") + ) + throw new Error( + "padding.encode input should be array of strings" + ); for (let i of input) if (typeof i !== "string") throw new Error(`padding.decode: non-string input=${i}`); let end = input.length; - if (end * bits % 8) - throw new Error("Invalid padding: string should have whole number of bytes"); + if ((end * bits) % 8) + throw new Error( + "Invalid padding: string should have whole number of bytes" + ); for (; end > 0 && input[end - 1] === chr; end--) { - if (!((end - 1) * bits % 8)) + if (!(((end - 1) * bits) % 8)) throw new Error("Invalid padding: string has too much padding"); } return input.slice(0, end); - } + }, }; } function normalize2(fn) { @@ -3196,20 +3467,22 @@ zoo`.split("\n"); } function convertRadix3(data, from, to) { if (from < 2) - throw new Error(`convertRadix: wrong from=${from}, base cannot be less than 2`); + throw new Error( + `convertRadix: wrong from=${from}, base cannot be less than 2` + ); if (to < 2) - throw new Error(`convertRadix: wrong to=${to}, base cannot be less than 2`); + throw new Error( + `convertRadix: wrong to=${to}, base cannot be less than 2` + ); if (!Array.isArray(data)) throw new Error("convertRadix: data should be array"); - if (!data.length) - return []; + if (!data.length) return []; let pos = 0; const res = []; const digits = Array.from(data); digits.forEach((d) => { assertNumber2(d); - if (d < 0 || d >= from) - throw new Error(`Wrong integer: ${d}`); + if (d < 0 || d >= from) throw new Error(`Wrong integer: ${d}`); }); while (true) { let carry = 0; @@ -3217,29 +3490,31 @@ zoo`.split("\n"); for (let i = pos; i < digits.length; i++) { const digit = digits[i]; const digitBase = from * carry + digit; - if (!Number.isSafeInteger(digitBase) || from * carry / from !== carry || digitBase - digit !== from * carry) { + if ( + !Number.isSafeInteger(digitBase) || + (from * carry) / from !== carry || + digitBase - digit !== from * carry + ) { throw new Error("convertRadix: carry overflow"); } carry = digitBase % to; digits[i] = Math.floor(digitBase / to); - if (!Number.isSafeInteger(digits[i]) || digits[i] * to + carry !== digitBase) + if ( + !Number.isSafeInteger(digits[i]) || + digits[i] * to + carry !== digitBase + ) throw new Error("convertRadix: carry overflow"); - if (!done) - continue; - else if (!digits[i]) - pos = i; - else - done = false; + if (!done) continue; + else if (!digits[i]) pos = i; + else done = false; } res.push(carry); - if (done) - break; + if (done) break; } - for (let i = 0; i < data.length - 1 && data[i] === 0; i++) - res.push(0); + for (let i = 0; i < data.length - 1 && data[i] === 0; i++) res.push(0); return res.reverse(); } - var gcd2 = (a, b) => !b ? a : gcd2(b, a % b); + var gcd2 = (a, b) => (!b ? a : gcd2(b, a % b)); var radix2carry2 = (from, to) => from + (to - gcd2(from, to)); function convertRadix22(data, from, to, padding3) { if (!Array.isArray(data)) @@ -3249,7 +3524,12 @@ zoo`.split("\n"); if (to <= 0 || to > 32) throw new Error(`convertRadix2: wrong to=${to}`); if (radix2carry2(from, to) > 32) { - throw new Error(`convertRadix2: carry overflow from=${from} to=${to} carryBits=${radix2carry2(from, to)}`); + throw new Error( + `convertRadix2: carry overflow from=${from} to=${to} carryBits=${radix2carry2( + from, + to + )}` + ); } let carry = 0; let pos = 0; @@ -3258,22 +3538,23 @@ zoo`.split("\n"); for (const n of data) { assertNumber2(n); if (n >= 2 ** from) - throw new Error(`convertRadix2: invalid data word=${n} from=${from}`); - carry = carry << from | n; + throw new Error( + `convertRadix2: invalid data word=${n} from=${from}` + ); + carry = (carry << from) | n; if (pos + from > 32) - throw new Error(`convertRadix2: carry overflow pos=${pos} from=${from}`); + throw new Error( + `convertRadix2: carry overflow pos=${pos} from=${from}` + ); pos += from; for (; pos >= to; pos -= to) - res.push((carry >> pos - to & mask) >>> 0); + res.push(((carry >> (pos - to)) & mask) >>> 0); carry &= 2 ** pos - 1; } - carry = carry << to - pos & mask; - if (!padding3 && pos >= from) - throw new Error("Excess padding"); - if (!padding3 && carry) - throw new Error(`Non-zero padding: ${carry}`); - if (padding3 && pos > 0) - res.push(carry >>> 0); + carry = (carry << (to - pos)) & mask; + if (!padding3 && pos >= from) throw new Error("Excess padding"); + if (!padding3 && carry) throw new Error(`Non-zero padding: ${carry}`); + if (padding3 && pos > 0) res.push(carry >>> 0); return res; } function radix3(num) { @@ -3285,10 +3566,13 @@ zoo`.split("\n"); return convertRadix3(Array.from(bytes2), 2 ** 8, num); }, decode: (digits) => { - if (!Array.isArray(digits) || digits.length && typeof digits[0] !== "number") + if ( + !Array.isArray(digits) || + (digits.length && typeof digits[0] !== "number") + ) throw new Error("radix.decode input should be array of strings"); return Uint8Array.from(convertRadix3(digits, num, 2 ** 8)); - } + }, }; } function radix22(bits, revPadding = false) { @@ -3304,20 +3588,22 @@ zoo`.split("\n"); return convertRadix22(Array.from(bytes2), 8, bits, !revPadding); }, decode: (digits) => { - if (!Array.isArray(digits) || digits.length && typeof digits[0] !== "number") + if ( + !Array.isArray(digits) || + (digits.length && typeof digits[0] !== "number") + ) throw new Error("radix2.decode input should be array of strings"); return Uint8Array.from(convertRadix22(digits, bits, 8, revPadding)); - } + }, }; } function unsafeWrapper2(fn) { if (typeof fn !== "function") throw new Error("unsafeWrapper fn should be function"); - return function(...args) { + return function (...args) { try { return fn.apply(null, args); - } catch (e) { - } + } catch (e) {} }; } function checksum2(len, fn) { @@ -3344,27 +3630,78 @@ zoo`.split("\n"); if (newChecksum[i] !== oldChecksum[i]) throw new Error("Invalid checksum"); return payload; - } + }, }; } - exports.utils = { alphabet: alphabet2, chain: chain2, checksum: checksum2, radix: radix3, radix2: radix22, join: join2, padding: padding2 }; - exports.base16 = chain2(radix22(4), alphabet2("0123456789ABCDEF"), join2("")); - exports.base32 = chain2(radix22(5), alphabet2("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"), padding2(5), join2("")); - exports.base32hex = chain2(radix22(5), alphabet2("0123456789ABCDEFGHIJKLMNOPQRSTUV"), padding2(5), join2("")); - exports.base32crockford = chain2(radix22(5), alphabet2("0123456789ABCDEFGHJKMNPQRSTVWXYZ"), join2(""), normalize2((s) => s.toUpperCase().replace(/O/g, "0").replace(/[IL]/g, "1"))); - exports.base64 = chain2(radix22(6), alphabet2("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"), padding2(6), join2("")); - exports.base64url = chain2(radix22(6), alphabet2("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"), padding2(6), join2("")); + exports.utils = { + alphabet: alphabet2, + chain: chain2, + checksum: checksum2, + radix: radix3, + radix2: radix22, + join: join2, + padding: padding2, + }; + exports.base16 = chain2( + radix22(4), + alphabet2("0123456789ABCDEF"), + join2("") + ); + exports.base32 = chain2( + radix22(5), + alphabet2("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"), + padding2(5), + join2("") + ); + exports.base32hex = chain2( + radix22(5), + alphabet2("0123456789ABCDEFGHIJKLMNOPQRSTUV"), + padding2(5), + join2("") + ); + exports.base32crockford = chain2( + radix22(5), + alphabet2("0123456789ABCDEFGHJKMNPQRSTVWXYZ"), + join2(""), + normalize2((s) => + s.toUpperCase().replace(/O/g, "0").replace(/[IL]/g, "1") + ) + ); + exports.base64 = chain2( + radix22(6), + alphabet2( + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" + ), + padding2(6), + join2("") + ); + exports.base64url = chain2( + radix22(6), + alphabet2( + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_" + ), + padding2(6), + join2("") + ); var genBase582 = (abc) => chain2(radix3(58), alphabet2(abc), join2("")); - exports.base58 = genBase582("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"); - exports.base58flickr = genBase582("123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"); - exports.base58xrp = genBase582("rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz"); + exports.base58 = genBase582( + "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz" + ); + exports.base58flickr = genBase582( + "123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ" + ); + exports.base58xrp = genBase582( + "rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz" + ); var XMR_BLOCK_LEN2 = [0, 2, 3, 5, 6, 7, 9, 10, 11]; exports.base58xmr = { encode(data) { let res = ""; for (let i = 0; i < data.length; i += 8) { const block = data.subarray(i, i + 8); - res += exports.base58.encode(block).padStart(XMR_BLOCK_LEN2[block.length], "1"); + res += exports.base58 + .encode(block) + .padStart(XMR_BLOCK_LEN2[block.length], "1"); } return res; }, @@ -3375,24 +3712,31 @@ zoo`.split("\n"); const blockLen = XMR_BLOCK_LEN2.indexOf(slice.length); const block = exports.base58.decode(slice); for (let j = 0; j < block.length - blockLen; j++) { - if (block[j] !== 0) - throw new Error("base58xmr: wrong padding"); + if (block[j] !== 0) throw new Error("base58xmr: wrong padding"); } res = res.concat(Array.from(block.slice(block.length - blockLen))); } return Uint8Array.from(res); - } + }, }; - var base58check3 = (sha2562) => chain2(checksum2(4, (data) => sha2562(sha2562(data))), exports.base58); + var base58check3 = (sha2562) => + chain2( + checksum2(4, (data) => sha2562(sha2562(data))), + exports.base58 + ); exports.base58check = base58check3; - var BECH_ALPHABET2 = chain2(alphabet2("qpzry9x8gf2tvdw0s3jn54khce6mua7l"), join2("")); - var POLYMOD_GENERATORS2 = [996825010, 642813549, 513874426, 1027748829, 705979059]; + var BECH_ALPHABET2 = chain2( + alphabet2("qpzry9x8gf2tvdw0s3jn54khce6mua7l"), + join2("") + ); + var POLYMOD_GENERATORS2 = [ + 996825010, 642813549, 513874426, 1027748829, 705979059, + ]; function bech32Polymod2(pre) { const b = pre >> 25; let chk = (pre & 33554431) << 5; for (let i = 0; i < POLYMOD_GENERATORS2.length; i++) { - if ((b >> i & 1) === 1) - chk ^= POLYMOD_GENERATORS2[i]; + if (((b >> i) & 1) === 1) chk ^= POLYMOD_GENERATORS2[i]; } return chk; } @@ -3401,19 +3745,18 @@ zoo`.split("\n"); let chk = 1; for (let i = 0; i < len; i++) { const c = prefix.charCodeAt(i); - if (c < 33 || c > 126) - throw new Error(`Invalid prefix (${prefix})`); - chk = bech32Polymod2(chk) ^ c >> 5; + if (c < 33 || c > 126) throw new Error(`Invalid prefix (${prefix})`); + chk = bech32Polymod2(chk) ^ (c >> 5); } chk = bech32Polymod2(chk); for (let i = 0; i < len; i++) - chk = bech32Polymod2(chk) ^ prefix.charCodeAt(i) & 31; - for (let v of words) - chk = bech32Polymod2(chk) ^ v; - for (let i = 0; i < 6; i++) - chk = bech32Polymod2(chk); + chk = bech32Polymod2(chk) ^ (prefix.charCodeAt(i) & 31); + for (let v of words) chk = bech32Polymod2(chk) ^ v; + for (let i = 0; i < 6; i++) chk = bech32Polymod2(chk); chk ^= encodingConst; - return BECH_ALPHABET2.encode(convertRadix22([chk % 2 ** 30], 30, 5, false)); + return BECH_ALPHABET2.encode( + convertRadix22([chk % 2 ** 30], 30, 5, false) + ); } function genBech322(encoding) { const ENCODING_CONST = encoding === "bech32" ? 1 : 734539939; @@ -3423,27 +3766,46 @@ zoo`.split("\n"); const fromWordsUnsafe = unsafeWrapper2(fromWords); function encode(prefix, words, limit = 90) { if (typeof prefix !== "string") - throw new Error(`bech32.encode prefix should be string, not ${typeof prefix}`); - if (!Array.isArray(words) || words.length && typeof words[0] !== "number") - throw new Error(`bech32.encode words should be array of numbers, not ${typeof words}`); + throw new Error( + `bech32.encode prefix should be string, not ${typeof prefix}` + ); + if ( + !Array.isArray(words) || + (words.length && typeof words[0] !== "number") + ) + throw new Error( + `bech32.encode words should be array of numbers, not ${typeof words}` + ); const actualLength = prefix.length + 7 + words.length; if (limit !== false && actualLength > limit) - throw new TypeError(`Length ${actualLength} exceeds limit ${limit}`); + throw new TypeError( + `Length ${actualLength} exceeds limit ${limit}` + ); prefix = prefix.toLowerCase(); - return `${prefix}1${BECH_ALPHABET2.encode(words)}${bechChecksum2(prefix, words, ENCODING_CONST)}`; + return `${prefix}1${BECH_ALPHABET2.encode(words)}${bechChecksum2( + prefix, + words, + ENCODING_CONST + )}`; } function decode2(str, limit = 90) { if (typeof str !== "string") - throw new Error(`bech32.decode input should be string, not ${typeof str}`); - if (str.length < 8 || limit !== false && str.length > limit) - throw new TypeError(`Wrong string length: ${str.length} (${str}). Expected (8..${limit})`); + throw new Error( + `bech32.decode input should be string, not ${typeof str}` + ); + if (str.length < 8 || (limit !== false && str.length > limit)) + throw new TypeError( + `Wrong string length: ${str.length} (${str}). Expected (8..${limit})` + ); const lowered = str.toLowerCase(); if (str !== lowered && str !== str.toUpperCase()) throw new Error(`String must be lowercase or uppercase`); str = lowered; const sepIndex = str.lastIndexOf("1"); if (sepIndex === 0 || sepIndex === -1) - throw new Error(`Letter "1" must be present between prefix and data only`); + throw new Error( + `Letter "1" must be present between prefix and data only` + ); const prefix = str.slice(0, sepIndex); const _words2 = str.slice(sepIndex + 1); if (_words2.length < 6) @@ -3459,19 +3821,36 @@ zoo`.split("\n"); const { prefix, words } = decode2(str, false); return { prefix, words, bytes: fromWords(words) }; } - return { encode, decode: decode2, decodeToBytes, decodeUnsafe, fromWords, fromWordsUnsafe, toWords }; + return { + encode, + decode: decode2, + decodeToBytes, + decodeUnsafe, + fromWords, + fromWordsUnsafe, + toWords, + }; } exports.bech32 = genBech322("bech32"); exports.bech32m = genBech322("bech32m"); exports.utf8 = { encode: (data) => new TextDecoder().decode(data), - decode: (str) => new TextEncoder().encode(str) + decode: (str) => new TextEncoder().encode(str), }; - exports.hex = chain2(radix22(4), alphabet2("0123456789abcdef"), join2(""), normalize2((s) => { - if (typeof s !== "string" || s.length % 2) - throw new TypeError(`hex.decode: expected string, got ${typeof s} with length ${s.length}`); - return s.toLowerCase(); - })); + exports.hex = chain2( + radix22(4), + alphabet2("0123456789abcdef"), + join2(""), + normalize2((s) => { + if (typeof s !== "string" || s.length % 2) + throw new TypeError( + `hex.decode: expected string, got ${typeof s} with length ${ + s.length + }` + ); + return s.toLowerCase(); + }) + ); var CODERS2 = { utf8: exports.utf8, hex: exports.hex, @@ -3480,9 +3859,11 @@ zoo`.split("\n"); base64: exports.base64, base64url: exports.base64url, base58: exports.base58, - base58xmr: exports.base58xmr + base58xmr: exports.base58xmr, }; - var coderTypeError2 = `Invalid encoding type. Available types: ${Object.keys(CODERS2).join(", ")}`; + var coderTypeError2 = `Invalid encoding type. Available types: ${Object.keys( + CODERS2 + ).join(", ")}`; var bytesToString = (type, bytes2) => { if (typeof type !== "string" || !CODERS2.hasOwnProperty(type)) throw new TypeError(coderTypeError2); @@ -3493,15 +3874,14 @@ zoo`.split("\n"); exports.bytesToString = bytesToString; exports.str = exports.bytesToString; var stringToBytes = (type, str) => { - if (!CODERS2.hasOwnProperty(type)) - throw new TypeError(coderTypeError2); + if (!CODERS2.hasOwnProperty(type)) throw new TypeError(coderTypeError2); if (typeof str !== "string") throw new TypeError("stringToBytes() expects string"); return CODERS2[type].decode(str); }; exports.stringToBytes = stringToBytes; exports.bytes = exports.stringToBytes; - } + }, }); // node_modules/@scure/bip39/index.js @@ -3510,14 +3890,21 @@ zoo`.split("\n"); "use strict"; init_define_process(); Object.defineProperty(exports, "__esModule", { value: true }); - exports.mnemonicToSeedSync = exports.mnemonicToSeed = exports.validateMnemonic = exports.entropyToMnemonic = exports.mnemonicToEntropy = exports.generateMnemonic = void 0; + exports.mnemonicToSeedSync = + exports.mnemonicToSeed = + exports.validateMnemonic = + exports.entropyToMnemonic = + exports.mnemonicToEntropy = + exports.generateMnemonic = + void 0; var _assert_1 = require_assert(); var pbkdf2_1 = require_pbkdf2(); var sha256_1 = require_sha256(); var sha512_1 = require_sha512(); var utils_1 = require_utils(); var base_1 = require_lib(); - var isJapanese = (wordlist2) => wordlist2[0] === "\u3042\u3044\u3053\u304F\u3057\u3093"; + var isJapanese = (wordlist2) => + wordlist2[0] === "\u3042\u3044\u3053\u304F\u3057\u3093"; function nfkd(str) { if (typeof str !== "string") throw new TypeError(`Invalid mnemonic type: ${typeof str}`); @@ -3537,21 +3924,34 @@ zoo`.split("\n"); _assert_1.default.number(strength); if (strength % 32 !== 0 || strength > 256) throw new TypeError("Invalid entropy"); - return entropyToMnemonic((0, utils_1.randomBytes)(strength / 8), wordlist2); + return entropyToMnemonic( + (0, utils_1.randomBytes)(strength / 8), + wordlist2 + ); } exports.generateMnemonic = generateMnemonic2; var calcChecksum = (entropy) => { const bitsLeft = 8 - entropy.length / 4; - return new Uint8Array([(0, sha256_1.sha256)(entropy)[0] >> bitsLeft << bitsLeft]); + return new Uint8Array([ + ((0, sha256_1.sha256)(entropy)[0] >> bitsLeft) << bitsLeft, + ]); }; function getCoder(wordlist2) { - if (!Array.isArray(wordlist2) || wordlist2.length !== 2048 || typeof wordlist2[0] !== "string") + if ( + !Array.isArray(wordlist2) || + wordlist2.length !== 2048 || + typeof wordlist2[0] !== "string" + ) throw new Error("Worlist: expected array of 2048 strings"); wordlist2.forEach((i) => { if (typeof i !== "string") throw new Error(`Wordlist: non-string element: ${i}`); }); - return base_1.utils.chain(base_1.utils.checksum(1, calcChecksum), base_1.utils.radix2(11, true), base_1.utils.alphabet(wordlist2)); + return base_1.utils.chain( + base_1.utils.checksum(1, calcChecksum), + base_1.utils.radix2(11, true), + base_1.utils.alphabet(wordlist2) + ); } function mnemonicToEntropy(mnemonic, wordlist2) { const { words } = normalize2(mnemonic); @@ -3577,14 +3977,24 @@ zoo`.split("\n"); exports.validateMnemonic = validateMnemonic2; var salt = (passphrase) => nfkd(`mnemonic${passphrase}`); function mnemonicToSeed(mnemonic, passphrase = "") { - return (0, pbkdf2_1.pbkdf2Async)(sha512_1.sha512, normalize2(mnemonic).nfkd, salt(passphrase), { c: 2048, dkLen: 64 }); + return (0, pbkdf2_1.pbkdf2Async)( + sha512_1.sha512, + normalize2(mnemonic).nfkd, + salt(passphrase), + { c: 2048, dkLen: 64 } + ); } exports.mnemonicToSeed = mnemonicToSeed; function mnemonicToSeedSync2(mnemonic, passphrase = "") { - return (0, pbkdf2_1.pbkdf2)(sha512_1.sha512, normalize2(mnemonic).nfkd, salt(passphrase), { c: 2048, dkLen: 64 }); + return (0, pbkdf2_1.pbkdf2)( + sha512_1.sha512, + normalize2(mnemonic).nfkd, + salt(passphrase), + { c: 2048, dkLen: 64 } + ); } exports.mnemonicToSeedSync = mnemonicToSeedSync2; - } + }, }); // index.ts @@ -3623,7 +4033,7 @@ zoo`.split("\n"); signEvent: () => signEvent, utils: () => utils_exports2, validateEvent: () => validateEvent, - verifySignature: () => verifySignature + verifySignature: () => verifySignature, }); init_define_process(); @@ -3646,14 +4056,14 @@ zoo`.split("\n"); throw new Error(`Wrong positive integer: ${n}`); } function bool(b) { - if (typeof b !== "boolean") - throw new Error(`Expected boolean, not ${b}`); + if (typeof b !== "boolean") throw new Error(`Expected boolean, not ${b}`); } function bytes(b, ...lengths) { - if (!(b instanceof Uint8Array)) - throw new TypeError("Expected Uint8Array"); + if (!(b instanceof Uint8Array)) throw new TypeError("Expected Uint8Array"); if (lengths.length > 0 && !lengths.includes(b.length)) - throw new TypeError(`Expected Uint8Array of length ${lengths}, not of length=${b.length}`); + throw new TypeError( + `Expected Uint8Array of length ${lengths}, not of length=${b.length}` + ); } function hash(hash2) { if (typeof hash2 !== "function" || typeof hash2.create !== "function") @@ -3662,8 +4072,7 @@ zoo`.split("\n"); number(hash2.blockLen); } function exists(instance, checkFinished = true) { - if (instance.destroyed) - throw new Error("Hash instance has been destroyed"); + if (instance.destroyed) throw new Error("Hash instance has been destroyed"); if (checkFinished && instance.finished) throw new Error("Hash#digest() has already been called"); } @@ -3671,7 +4080,9 @@ zoo`.split("\n"); bytes(out); const min = instance.outputLen; if (out.length < min) { - throw new Error(`digestInto() expects output buffer of length at least ${min}`); + throw new Error( + `digestInto() expects output buffer of length at least ${min}` + ); } } var assert = { @@ -3680,7 +4091,7 @@ zoo`.split("\n"); bytes, hash, exists, - output + output, }; var assert_default = assert; @@ -3689,18 +4100,22 @@ zoo`.split("\n"); // node_modules/@noble/hashes/esm/crypto.js init_define_process(); - var crypto2 = typeof globalThis === "object" && "crypto" in globalThis ? globalThis.crypto : void 0; + var crypto2 = + typeof globalThis === "object" && "crypto" in globalThis + ? globalThis.crypto + : void 0; // node_modules/@noble/hashes/esm/utils.js - var createView = (arr) => new DataView(arr.buffer, arr.byteOffset, arr.byteLength); - var rotr = (word, shift) => word << 32 - shift | word >>> shift; + var createView = (arr) => + new DataView(arr.buffer, arr.byteOffset, arr.byteLength); + var rotr = (word, shift) => (word << (32 - shift)) | (word >>> shift); var isLE = new Uint8Array(new Uint32Array([287454020]).buffer)[0] === 68; - if (!isLE) - throw new Error("Non little-endian hardware is not supported"); - var hexes = Array.from({ length: 256 }, (v, i) => i.toString(16).padStart(2, "0")); + if (!isLE) throw new Error("Non little-endian hardware is not supported"); + var hexes = Array.from({ length: 256 }, (v, i) => + i.toString(16).padStart(2, "0") + ); function bytesToHex(uint8a) { - if (!(uint8a instanceof Uint8Array)) - throw new Error("Uint8Array expected"); + if (!(uint8a instanceof Uint8Array)) throw new Error("Uint8Array expected"); let hex2 = ""; for (let i = 0; i < uint8a.length; i++) { hex2 += hexes[uint8a[i]]; @@ -3731,17 +4146,17 @@ zoo`.split("\n"); return new TextEncoder().encode(str); } function toBytes(data) { - if (typeof data === "string") - data = utf8ToBytes(data); + if (typeof data === "string") data = utf8ToBytes(data); if (!(data instanceof Uint8Array)) - throw new TypeError(`Expected input type is Uint8Array (got ${typeof data})`); + throw new TypeError( + `Expected input type is Uint8Array (got ${typeof data})` + ); return data; } function concatBytes(...arrays) { if (!arrays.every((a) => a instanceof Uint8Array)) throw new Error("Uint8Array list expected"); - if (arrays.length === 1) - return arrays[0]; + if (arrays.length === 1) return arrays[0]; const length = arrays.reduce((a, arr) => a + arr.length, 0); const result = new Uint8Array(length); for (let i = 0, pad = 0; i < arrays.length; i++) { @@ -3757,7 +4172,8 @@ zoo`.split("\n"); } }; function wrapConstructor(hashConstructor) { - const hashC = (message) => hashConstructor().update(toBytes(message)).digest(); + const hashC = (message) => + hashConstructor().update(toBytes(message)).digest(); const tmp = hashConstructor(); hashC.outputLen = tmp.outputLen; hashC.blockLen = tmp.blockLen; @@ -3777,7 +4193,7 @@ zoo`.split("\n"); return view.setBigUint64(byteOffset, value, isLE2); const _32n2 = BigInt(32); const _u32_max = BigInt(4294967295); - const wh = Number(value >> _32n2 & _u32_max); + const wh = Number((value >> _32n2) & _u32_max); const wl = Number(value & _u32_max); const h = isLE2 ? 4 : 0; const l = isLE2 ? 0 : 4; @@ -3835,8 +4251,7 @@ zoo`.split("\n"); this.process(view, 0); pos = 0; } - for (let i = pos; i < blockLen; i++) - buffer[i] = 0; + for (let i = pos; i < blockLen; i++) buffer[i] = 0; setBigUint64(view, blockLen - 8, BigInt(this.length * 8), isLE2); this.process(view, 0); const oview = createView(out); @@ -3847,8 +4262,7 @@ zoo`.split("\n"); const state = this.get(); if (outLen > state.length) throw new Error("_sha2: outputLen bigger than state"); - for (let i = 0; i < outLen; i++) - oview.setUint32(4 * i, state[i], isLE2); + for (let i = 0; i < outLen; i++) oview.setUint32(4 * i, state[i], isLE2); } digest() { const { buffer, outputLen } = this; @@ -3865,90 +4279,30 @@ zoo`.split("\n"); to.pos = pos; to.finished = finished; to.destroyed = destroyed; - if (length % blockLen) - to.buffer.set(buffer); + if (length % blockLen) to.buffer.set(buffer); return to; } }; // node_modules/@noble/hashes/esm/sha256.js - var Chi = (a, b, c) => a & b ^ ~a & c; - var Maj = (a, b, c) => a & b ^ a & c ^ b & c; + var Chi = (a, b, c) => (a & b) ^ (~a & c); + var Maj = (a, b, c) => (a & b) ^ (a & c) ^ (b & c); var SHA256_K = new Uint32Array([ - 1116352408, - 1899447441, - 3049323471, - 3921009573, - 961987163, - 1508970993, - 2453635748, - 2870763221, - 3624381080, - 310598401, - 607225278, - 1426881987, - 1925078388, - 2162078206, - 2614888103, - 3248222580, - 3835390401, - 4022224774, - 264347078, - 604807628, - 770255983, - 1249150122, - 1555081692, - 1996064986, - 2554220882, - 2821834349, - 2952996808, - 3210313671, - 3336571891, - 3584528711, - 113926993, - 338241895, - 666307205, - 773529912, - 1294757372, - 1396182291, - 1695183700, - 1986661051, - 2177026350, - 2456956037, - 2730485921, - 2820302411, - 3259730800, - 3345764771, - 3516065817, - 3600352804, - 4094571909, - 275423344, - 430227734, - 506948616, - 659060556, - 883997877, - 958139571, - 1322822218, - 1537002063, - 1747873779, - 1955562222, - 2024104815, - 2227730452, - 2361852424, - 2428436474, - 2756734187, - 3204031479, - 3329325298 + 1116352408, 1899447441, 3049323471, 3921009573, 961987163, 1508970993, + 2453635748, 2870763221, 3624381080, 310598401, 607225278, 1426881987, + 1925078388, 2162078206, 2614888103, 3248222580, 3835390401, 4022224774, + 264347078, 604807628, 770255983, 1249150122, 1555081692, 1996064986, + 2554220882, 2821834349, 2952996808, 3210313671, 3336571891, 3584528711, + 113926993, 338241895, 666307205, 773529912, 1294757372, 1396182291, + 1695183700, 1986661051, 2177026350, 2456956037, 2730485921, 2820302411, + 3259730800, 3345764771, 3516065817, 3600352804, 4094571909, 275423344, + 430227734, 506948616, 659060556, 883997877, 958139571, 1322822218, + 1537002063, 1747873779, 1955562222, 2024104815, 2227730452, 2361852424, + 2428436474, 2756734187, 3204031479, 3329325298, ]); var IV = new Uint32Array([ - 1779033703, - 3144134277, - 1013904242, - 2773480762, - 1359893119, - 2600822924, - 528734635, - 1541459225 + 1779033703, 3144134277, 1013904242, 2773480762, 1359893119, 2600822924, + 528734635, 1541459225, ]); var SHA256_W = new Uint32Array(64); var SHA256 = class extends SHA2 { @@ -3983,33 +4337,33 @@ zoo`.split("\n"); for (let i = 16; i < 64; i++) { const W15 = SHA256_W[i - 15]; const W2 = SHA256_W[i - 2]; - const s0 = rotr(W15, 7) ^ rotr(W15, 18) ^ W15 >>> 3; - const s1 = rotr(W2, 17) ^ rotr(W2, 19) ^ W2 >>> 10; - SHA256_W[i] = s1 + SHA256_W[i - 7] + s0 + SHA256_W[i - 16] | 0; + const s0 = rotr(W15, 7) ^ rotr(W15, 18) ^ (W15 >>> 3); + const s1 = rotr(W2, 17) ^ rotr(W2, 19) ^ (W2 >>> 10); + SHA256_W[i] = (s1 + SHA256_W[i - 7] + s0 + SHA256_W[i - 16]) | 0; } let { A, B, C, D, E, F, G, H } = this; for (let i = 0; i < 64; i++) { const sigma1 = rotr(E, 6) ^ rotr(E, 11) ^ rotr(E, 25); - const T1 = H + sigma1 + Chi(E, F, G) + SHA256_K[i] + SHA256_W[i] | 0; + const T1 = (H + sigma1 + Chi(E, F, G) + SHA256_K[i] + SHA256_W[i]) | 0; const sigma0 = rotr(A, 2) ^ rotr(A, 13) ^ rotr(A, 22); - const T2 = sigma0 + Maj(A, B, C) | 0; + const T2 = (sigma0 + Maj(A, B, C)) | 0; H = G; G = F; F = E; - E = D + T1 | 0; + E = (D + T1) | 0; D = C; C = B; B = A; - A = T1 + T2 | 0; - } - A = A + this.A | 0; - B = B + this.B | 0; - C = C + this.C | 0; - D = D + this.D | 0; - E = E + this.E | 0; - F = F + this.F | 0; - G = G + this.G | 0; - H = H + this.H | 0; + A = (T1 + T2) | 0; + } + A = (A + this.A) | 0; + B = (B + this.B) | 0; + C = (C + this.C) | 0; + D = (D + this.D) | 0; + E = (E + this.E) | 0; + F = (F + this.F) | 0; + G = (G + this.G) | 0; + H = (H + this.H) | 0; this.set(A, B, C, D, E, F, G, H); } roundClean() { @@ -4061,17 +4415,18 @@ zoo`.split("\n"); numberToHexUnpadded: () => numberToHexUnpadded, numberToVarBytesBE: () => numberToVarBytesBE, utf8ToBytes: () => utf8ToBytes2, - validateObject: () => validateObject + validateObject: () => validateObject, }); init_define_process(); var _0n = BigInt(0); var _1n = BigInt(1); var _2n = BigInt(2); var u8a = (a) => a instanceof Uint8Array; - var hexes2 = Array.from({ length: 256 }, (v, i) => i.toString(16).padStart(2, "0")); + var hexes2 = Array.from({ length: 256 }, (v, i) => + i.toString(16).padStart(2, "0") + ); function bytesToHex2(bytes2) { - if (!u8a(bytes2)) - throw new Error("Uint8Array expected"); + if (!u8a(bytes2)) throw new Error("Uint8Array expected"); let hex2 = ""; for (let i = 0; i < bytes2.length; i++) { hex2 += hexes2[bytes2[i]]; @@ -4107,11 +4462,11 @@ zoo`.split("\n"); return hexToNumber(bytesToHex2(bytes2)); } function bytesToNumberLE(bytes2) { - if (!u8a(bytes2)) - throw new Error("Uint8Array expected"); + if (!u8a(bytes2)) throw new Error("Uint8Array expected"); return hexToNumber(bytesToHex2(Uint8Array.from(bytes2).reverse())); } - var numberToBytesBE = (n, len) => hexToBytes2(n.toString(16).padStart(len * 2, "0")); + var numberToBytesBE = (n, len) => + hexToBytes2(n.toString(16).padStart(len * 2, "0")); var numberToBytesLE = (n, len) => numberToBytesBE(n, len).reverse(); var numberToVarBytesBE = (n) => hexToBytes2(numberToHexUnpadded(n)); function ensureBytes(title, hex2, expectedLength) { @@ -4120,7 +4475,9 @@ zoo`.split("\n"); try { res = hexToBytes2(hex2); } catch (e) { - throw new Error(`${title} must be valid hex string, got "${hex2}". Cause: ${e}`); + throw new Error( + `${title} must be valid hex string, got "${hex2}". Cause: ${e}` + ); } } else if (u8a(hex2)) { res = Uint8Array.from(hex2); @@ -4136,19 +4493,15 @@ zoo`.split("\n"); const r = new Uint8Array(arrs.reduce((sum, a) => sum + a.length, 0)); let pad = 0; arrs.forEach((a) => { - if (!u8a(a)) - throw new Error("Uint8Array expected"); + if (!u8a(a)) throw new Error("Uint8Array expected"); r.set(a, pad); pad += a.length; }); return r; } function equalBytes(b1, b2) { - if (b1.length !== b2.length) - return false; - for (let i = 0; i < b1.length; i++) - if (b1[i] !== b2[i]) - return false; + if (b1.length !== b2.length) return false; + for (let i = 0; i < b1.length; i++) if (b1[i] !== b2[i]) return false; return true; } function utf8ToBytes2(str) { @@ -4159,12 +4512,11 @@ zoo`.split("\n"); } function bitLen(n) { let len; - for (len = 0; n > _0n; n >>= _1n, len += 1) - ; + for (len = 0; n > _0n; n >>= _1n, len += 1); return len; } - var bitGet = (n, pos) => n >> BigInt(pos) & _1n; - var bitSet = (n, pos, value) => n | (value ? _1n : _0n) << BigInt(pos); + var bitGet = (n, pos) => (n >> BigInt(pos)) & _1n; + var bitSet = (n, pos, value) => n | ((value ? _1n : _0n) << BigInt(pos)); var bitMask = (n) => (_2n << BigInt(n - 1)) - _1n; var u8n = (data) => new Uint8Array(data); var u8fr = (arr) => Uint8Array.from(arr); @@ -4187,14 +4539,12 @@ zoo`.split("\n"); const reseed = (seed = u8n()) => { k = h(u8fr([0]), seed); v = h(); - if (seed.length === 0) - return; + if (seed.length === 0) return; k = h(u8fr([1]), seed); v = h(); }; const gen = () => { - if (i++ >= 1e3) - throw new Error("drbg: tried 1000 values"); + if (i++ >= 1e3) throw new Error("drbg: tried 1000 values"); let len = 0; const out = []; while (len < qByteLen) { @@ -4209,8 +4559,7 @@ zoo`.split("\n"); reset(); reseed(seed); let res = void 0; - while (!(res = pred(gen()))) - reseed(); + while (!(res = pred(gen()))) reseed(); reset(); return res; }; @@ -4224,7 +4573,8 @@ zoo`.split("\n"); isSafeInteger: (val) => Number.isSafeInteger(val), array: (val) => Array.isArray(val), field: (val, object) => object.Fp.isValid(val), - hash: (val) => typeof val === "function" && Number.isSafeInteger(val.outputLen) + hash: (val) => + typeof val === "function" && Number.isSafeInteger(val.outputLen), }; function validateObject(object, validators, optValidators = {}) { const checkField = (fieldName, type, isOptional) => { @@ -4232,10 +4582,13 @@ zoo`.split("\n"); if (typeof checkVal !== "function") throw new Error(`Invalid validator "${type}", expected function`); const val = object[fieldName]; - if (isOptional && val === void 0) - return; + if (isOptional && val === void 0) return; if (!checkVal(val, object)) { - throw new Error(`Invalid param ${String(fieldName)}=${val} (${typeof val}), expected ${type}`); + throw new Error( + `Invalid param ${String( + fieldName + )}=${val} (${typeof val}), expected ${type}` + ); } }; for (const [fieldName, type] of Object.entries(validators)) @@ -4262,13 +4615,11 @@ zoo`.split("\n"); function pow(num, power, modulo) { if (modulo <= _0n2 || power < _0n2) throw new Error("Expected power/modulo > 0"); - if (modulo === _1n2) - return _0n2; + if (modulo === _1n2) return _0n2; let res = _1n2; while (power > _0n2) { - if (power & _1n2) - res = res * num % modulo; - num = num * num % modulo; + if (power & _1n2) res = (res * num) % modulo; + num = (num * num) % modulo; power >>= _1n2; } return res; @@ -4283,30 +4634,32 @@ zoo`.split("\n"); } function invert(number2, modulo) { if (number2 === _0n2 || modulo <= _0n2) { - throw new Error(`invert: expected positive integers, got n=${number2} mod=${modulo}`); + throw new Error( + `invert: expected positive integers, got n=${number2} mod=${modulo}` + ); } let a = mod(number2, modulo); let b = modulo; - let x = _0n2, y = _1n2, u = _1n2, v = _0n2; + let x = _0n2, + y = _1n2, + u = _1n2, + v = _0n2; while (a !== _0n2) { const q = b / a; const r = b % a; const m = x - u * q; const n = y - v * q; - b = a, a = r, x = u, y = v, u = m, v = n; + (b = a), (a = r), (x = u), (y = v), (u = m), (v = n); } const gcd2 = b; - if (gcd2 !== _1n2) - throw new Error("invert: does not exist"); + if (gcd2 !== _1n2) throw new Error("invert: does not exist"); return mod(x, modulo); } function tonelliShanks(P) { const legendreC = (P - _1n2) / _2n2; let Q, S, Z; - for (Q = P - _1n2, S = 0; Q % _2n2 === _0n2; Q /= _2n2, S++) - ; - for (Z = _2n2; Z < P && pow(Z, legendreC, P) !== P - _1n2; Z++) - ; + for (Q = P - _1n2, S = 0; Q % _2n2 === _0n2; Q /= _2n2, S++); + for (Z = _2n2; Z < P && pow(Z, legendreC, P) !== P - _1n2; Z++); if (S === 1) { const p1div4 = (P + _1n2) / _4n; return function tonelliFast(Fp2, n) { @@ -4325,12 +4678,10 @@ zoo`.split("\n"); let x = Fp2.pow(n, Q1div2); let b = Fp2.pow(n, Q); while (!Fp2.eql(b, Fp2.ONE)) { - if (Fp2.eql(b, Fp2.ZERO)) - return Fp2.ZERO; + if (Fp2.eql(b, Fp2.ZERO)) return Fp2.ZERO; let m = 1; for (let t2 = Fp2.sqr(b); m < r; m++) { - if (Fp2.eql(t2, Fp2.ONE)) - break; + if (Fp2.eql(t2, Fp2.ONE)) break; t2 = Fp2.sqr(t2); } const ge2 = Fp2.pow(g, _1n2 << BigInt(r - m - 1)); @@ -4386,14 +4737,14 @@ zoo`.split("\n"); "addN", "subN", "mulN", - "sqrN" + "sqrN", ]; function validateField(field) { const initial = { ORDER: "bigint", MASK: "bigint", BYTES: "isSafeInteger", - BITS: "isSafeInteger" + BITS: "isSafeInteger", }; const opts = FIELD_FIELDS.reduce((map, val) => { map[val] = "function"; @@ -4402,17 +4753,13 @@ zoo`.split("\n"); return validateObject(field, opts); } function FpPow(f2, num, power) { - if (power < _0n2) - throw new Error("Expected power > 0"); - if (power === _0n2) - return f2.ONE; - if (power === _1n2) - return num; + if (power < _0n2) throw new Error("Expected power > 0"); + if (power === _0n2) return f2.ONE; + if (power === _1n2) return num; let p = f2.ONE; let d = num; while (power > _0n2) { - if (power & _1n2) - p = f2.mul(p, d); + if (power & _1n2) p = f2.mul(p, d); d = f2.sqr(d); power >>= _1n2; } @@ -4421,28 +4768,26 @@ zoo`.split("\n"); function FpInvertBatch(f2, nums) { const tmp = new Array(nums.length); const lastMultiplied = nums.reduce((acc, num, i) => { - if (f2.is0(num)) - return acc; + if (f2.is0(num)) return acc; tmp[i] = acc; return f2.mul(acc, num); }, f2.ONE); const inverted = f2.inv(lastMultiplied); nums.reduceRight((acc, num, i) => { - if (f2.is0(num)) - return acc; + if (f2.is0(num)) return acc; tmp[i] = f2.mul(acc, tmp[i]); return f2.mul(acc, num); }, inverted); return tmp; } function nLength(n, nBitLength) { - const _nBitLength = nBitLength !== void 0 ? nBitLength : n.toString(2).length; + const _nBitLength = + nBitLength !== void 0 ? nBitLength : n.toString(2).length; const nByteLength = Math.ceil(_nBitLength / 8); return { nBitLength: _nBitLength, nByteLength }; } function Field(ORDER, bitLen2, isLE2 = false, redef = {}) { - if (ORDER <= _0n2) - throw new Error(`Expected Fp ORDER > 0, got ${ORDER}`); + if (ORDER <= _0n2) throw new Error(`Expected Fp ORDER > 0, got ${ORDER}`); const { nBitLength: BITS, nByteLength: BYTES } = nLength(ORDER, bitLen2); if (BYTES > 2048) throw new Error("Field lengths over 2048 bytes are not supported"); @@ -4457,7 +4802,9 @@ zoo`.split("\n"); create: (num) => mod(num, ORDER), isValid: (num) => { if (typeof num !== "bigint") - throw new Error(`Invalid field element: expected bigint, got ${typeof num}`); + throw new Error( + `Invalid field element: expected bigint, got ${typeof num}` + ); return _0n2 <= num && num < ORDER; }, is0: (num) => num === _0n2, @@ -4477,13 +4824,16 @@ zoo`.split("\n"); inv: (num) => invert(num, ORDER), sqrt: redef.sqrt || ((n) => sqrtP(f2, n)), invertBatch: (lst) => FpInvertBatch(f2, lst), - cmov: (a, b, c) => c ? b : a, - toBytes: (num) => isLE2 ? numberToBytesLE(num, BYTES) : numberToBytesBE(num, BYTES), + cmov: (a, b, c) => (c ? b : a), + toBytes: (num) => + isLE2 ? numberToBytesLE(num, BYTES) : numberToBytesBE(num, BYTES), fromBytes: (bytes2) => { if (bytes2.length !== BYTES) - throw new Error(`Fp.fromBytes: expected ${BYTES}, got ${bytes2.length}`); + throw new Error( + `Fp.fromBytes: expected ${BYTES}, got ${bytes2.length}` + ); return isLE2 ? bytesToNumberLE(bytes2) : bytesToNumberBE(bytes2); - } + }, }); return Object.freeze(f2); } @@ -4492,7 +4842,9 @@ zoo`.split("\n"); const hashLen = hash2.length; const minLen = nLength(groupOrder).nByteLength + 8; if (minLen < 24 || hashLen < minLen || hashLen > 1024) - throw new Error(`hashToPrivateScalar: expected ${minLen}-1024 bytes of input, got ${hashLen}`); + throw new Error( + `hashToPrivateScalar: expected ${minLen}-1024 bytes of input, got ${hashLen}` + ); const num = isLE2 ? bytesToNumberLE(hash2) : bytesToNumberBE(hash2); return mod(num, groupOrder - _1n2) + _1n2; } @@ -4520,8 +4872,7 @@ zoo`.split("\n"); let p = c.ZERO; let d = elm; while (n > _0n3) { - if (n & _1n3) - p = p.add(d); + if (n & _1n3) p = p.add(d); d = d.double(); n >>= _1n3; } @@ -4580,49 +4931,65 @@ zoo`.split("\n"); } } return this.wNAF(W, comp, n); - } + }, }; } function validateBasic(curve) { validateField(curve.Fp); - validateObject(curve, { - n: "bigint", - h: "bigint", - Gx: "field", - Gy: "field" - }, { - nBitLength: "isSafeInteger", - nByteLength: "isSafeInteger" - }); + validateObject( + curve, + { + n: "bigint", + h: "bigint", + Gx: "field", + Gy: "field", + }, + { + nBitLength: "isSafeInteger", + nByteLength: "isSafeInteger", + } + ); return Object.freeze({ ...nLength(curve.n, curve.nBitLength), ...curve, - ...{ p: curve.Fp.ORDER } + ...{ p: curve.Fp.ORDER }, }); } // node_modules/@noble/curves/esm/abstract/weierstrass.js function validatePointOpts(curve) { const opts = validateBasic(curve); - validateObject(opts, { - a: "field", - b: "field" - }, { - allowedPrivateKeyLengths: "array", - wrapPrivateKey: "boolean", - isTorsionFree: "function", - clearCofactor: "function", - allowInfinityPoint: "boolean", - fromBytes: "function", - toBytes: "function" - }); + validateObject( + opts, + { + a: "field", + b: "field", + }, + { + allowedPrivateKeyLengths: "array", + wrapPrivateKey: "boolean", + isTorsionFree: "function", + clearCofactor: "function", + allowInfinityPoint: "boolean", + fromBytes: "function", + toBytes: "function", + } + ); const { endo, Fp: Fp2, a } = opts; if (endo) { if (!Fp2.eql(a, Fp2.ZERO)) { - throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0"); + throw new Error( + "Endomorphism can only be defined for Koblitz curves that have a=0" + ); } - if (typeof endo !== "object" || typeof endo.beta !== "bigint" || typeof endo.splitScalar !== "function") { - throw new Error("Expected endomorphism with beta: bigint and splitScalar: function"); + if ( + typeof endo !== "object" || + typeof endo.beta !== "bigint" || + typeof endo.splitScalar !== "function" + ) { + throw new Error( + "Expected endomorphism with beta: bigint and splitScalar: function" + ); } } return Object.freeze({ ...opts }); @@ -4642,8 +5009,7 @@ zoo`.split("\n"); const res = data.subarray(2, len + 2); if (!len || res.length !== len) throw new E("Invalid signature integer: wrong length"); - if (res[0] & 128) - throw new E("Invalid signature integer: negative"); + if (res[0] & 128) throw new E("Invalid signature integer: negative"); if (res[0] === 0 && !(res[1] & 128)) throw new E("Invalid signature integer: unnecessary leading zero"); return { d: b2n(res), l: data.subarray(len + 2) }; @@ -4651,13 +5017,10 @@ zoo`.split("\n"); toSig(hex2) { const { Err: E } = DER; const data = typeof hex2 === "string" ? h2b(hex2) : hex2; - if (!(data instanceof Uint8Array)) - throw new Error("ui8a expected"); + if (!(data instanceof Uint8Array)) throw new Error("ui8a expected"); let l = data.length; - if (l < 2 || data[0] != 48) - throw new E("Invalid signature tag"); - if (data[1] !== l - 2) - throw new E("Invalid signature: incorrect length"); + if (l < 2 || data[0] != 48) throw new E("Invalid signature tag"); + if (data[1] !== l - 2) throw new E("Invalid signature: incorrect length"); const { d: r, l: sBytes } = DER._parseInt(data.subarray(2)); const { d: s, l: rBytesLeft } = DER._parseInt(sBytes); if (rBytesLeft.length) @@ -4665,7 +5028,7 @@ zoo`.split("\n"); return { r, s }; }, hexFromSig(sig) { - const slice = (s2) => Number.parseInt(s2[0], 16) & 8 ? "00" + s2 : s2; + const slice = (s2) => (Number.parseInt(s2[0], 16) & 8 ? "00" + s2 : s2); const h = (num) => { const hex2 = num.toString(16); return hex2.length & 1 ? `0${hex2}` : hex2; @@ -4677,7 +5040,7 @@ zoo`.split("\n"); const sl = h(shl); const rl = h(rhl); return `30${h(rhl + shl + 4)}02${rl}${r}02${sl}${s}`; - } + }, }; var _0n4 = BigInt(0); var _1n4 = BigInt(1); @@ -4687,16 +5050,24 @@ zoo`.split("\n"); function weierstrassPoints(opts) { const CURVE = validatePointOpts(opts); const { Fp: Fp2 } = CURVE; - const toBytes2 = CURVE.toBytes || ((c, point, isCompressed) => { - const a = point.toAffine(); - return concatBytes2(Uint8Array.from([4]), Fp2.toBytes(a.x), Fp2.toBytes(a.y)); - }); - const fromBytes = CURVE.fromBytes || ((bytes2) => { - const tail = bytes2.subarray(1); - const x = Fp2.fromBytes(tail.subarray(0, Fp2.BYTES)); - const y = Fp2.fromBytes(tail.subarray(Fp2.BYTES, 2 * Fp2.BYTES)); - return { x, y }; - }); + const toBytes2 = + CURVE.toBytes || + ((c, point, isCompressed) => { + const a = point.toAffine(); + return concatBytes2( + Uint8Array.from([4]), + Fp2.toBytes(a.x), + Fp2.toBytes(a.y) + ); + }); + const fromBytes = + CURVE.fromBytes || + ((bytes2) => { + const tail = bytes2.subarray(1); + const x = Fp2.fromBytes(tail.subarray(0, Fp2.BYTES)); + const y = Fp2.fromBytes(tail.subarray(Fp2.BYTES, 2 * Fp2.BYTES)); + return { x, y }; + }); function weierstrassEquation(x) { const { a, b } = CURVE; const x2 = Fp2.sqr(x); @@ -4713,22 +5084,30 @@ zoo`.split("\n"); throw new Error("Expected valid bigint: 0 < bigint < curve.n"); } function normPrivateKeyToScalar(key) { - const { allowedPrivateKeyLengths: lengths, nByteLength, wrapPrivateKey, n } = CURVE; + const { + allowedPrivateKeyLengths: lengths, + nByteLength, + wrapPrivateKey, + n, + } = CURVE; if (lengths && typeof key !== "bigint") { - if (key instanceof Uint8Array) - key = bytesToHex2(key); + if (key instanceof Uint8Array) key = bytesToHex2(key); if (typeof key !== "string" || !lengths.includes(key.length)) throw new Error("Invalid key"); key = key.padStart(nByteLength * 2, "0"); } let num; try { - num = typeof key === "bigint" ? key : bytesToNumberBE(ensureBytes("private key", key, nByteLength)); + num = + typeof key === "bigint" + ? key + : bytesToNumberBE(ensureBytes("private key", key, nByteLength)); } catch (error) { - throw new Error(`private key must be ${nByteLength} bytes, hex or bigint, not ${typeof key}`); + throw new Error( + `private key must be ${nByteLength} bytes, hex or bigint, not ${typeof key}` + ); } - if (wrapPrivateKey) - num = mod(num, n); + if (wrapPrivateKey) num = mod(num, n); assertGE(num); return num; } @@ -4742,12 +5121,9 @@ zoo`.split("\n"); this.px = px; this.py = py; this.pz = pz; - if (px == null || !Fp2.isValid(px)) - throw new Error("x required"); - if (py == null || !Fp2.isValid(py)) - throw new Error("y required"); - if (pz == null || !Fp2.isValid(pz)) - throw new Error("z required"); + if (px == null || !Fp2.isValid(px)) throw new Error("x required"); + if (py == null || !Fp2.isValid(py)) throw new Error("y required"); + if (pz == null || !Fp2.isValid(pz)) throw new Error("z required"); } static fromAffine(p) { const { x, y } = p || {}; @@ -4756,8 +5132,7 @@ zoo`.split("\n"); if (p instanceof Point3) throw new Error("projective point not allowed"); const is0 = (i) => Fp2.eql(i, Fp2.ZERO); - if (is0(x) && is0(y)) - return Point3.ZERO; + if (is0(x) && is0(y)) return Point3.ZERO; return new Point3(x, y, Fp2.ONE); } get x() { @@ -4768,7 +5143,9 @@ zoo`.split("\n"); } static normalizeZ(points) { const toInv = Fp2.invertBatch(points.map((p) => p.pz)); - return points.map((p, i) => p.toAffine(toInv[i])).map(Point3.fromAffine); + return points + .map((p, i) => p.toAffine(toInv[i])) + .map(Point3.fromAffine); } static fromHex(hex2) { const P = Point3.fromAffine(fromBytes(ensureBytes("pointHex", hex2))); @@ -4784,8 +5161,7 @@ zoo`.split("\n"); } assertValidity() { if (this.is0()) { - if (CURVE.allowInfinityPoint) - return; + if (CURVE.allowInfinityPoint) return; throw new Error("bad point: ZERO"); } const { x, y } = this.toAffine(); @@ -4800,8 +5176,7 @@ zoo`.split("\n"); } hasEvenY() { const { y } = this.toAffine(); - if (Fp2.isOdd) - return !Fp2.isOdd(y); + if (Fp2.isOdd) return !Fp2.isOdd(y); throw new Error("Field doesn't support isOdd"); } equals(other) { @@ -4819,7 +5194,9 @@ zoo`.split("\n"); const { a, b } = CURVE; const b3 = Fp2.mul(b, _3n2); const { px: X1, py: Y1, pz: Z1 } = this; - let X3 = Fp2.ZERO, Y3 = Fp2.ZERO, Z3 = Fp2.ZERO; + let X3 = Fp2.ZERO, + Y3 = Fp2.ZERO, + Z3 = Fp2.ZERO; let t0 = Fp2.mul(X1, X1); let t1 = Fp2.mul(Y1, Y1); let t2 = Fp2.mul(Z1, Z1); @@ -4857,7 +5234,9 @@ zoo`.split("\n"); assertPrjPoint(other); const { px: X1, py: Y1, pz: Z1 } = this; const { px: X2, py: Y2, pz: Z2 } = other; - let X3 = Fp2.ZERO, Y3 = Fp2.ZERO, Z3 = Fp2.ZERO; + let X3 = Fp2.ZERO, + Y3 = Fp2.ZERO, + Z3 = Fp2.ZERO; const a = CURVE.a; const b3 = Fp2.mul(CURVE.b, _3n2); let t0 = Fp2.mul(X1, X2); @@ -4911,36 +5290,31 @@ zoo`.split("\n"); wNAF(n) { return wnaf.wNAFCached(this, pointPrecomputes, n, (comp) => { const toInv = Fp2.invertBatch(comp.map((p) => p.pz)); - return comp.map((p, i) => p.toAffine(toInv[i])).map(Point3.fromAffine); + return comp + .map((p, i) => p.toAffine(toInv[i])) + .map(Point3.fromAffine); }); } multiplyUnsafe(n) { const I = Point3.ZERO; - if (n === _0n4) - return I; + if (n === _0n4) return I; assertGE(n); - if (n === _1n4) - return this; + if (n === _1n4) return this; const { endo } = CURVE; - if (!endo) - return wnaf.unsafeLadder(this, n); + if (!endo) return wnaf.unsafeLadder(this, n); let { k1neg, k1, k2neg, k2 } = endo.splitScalar(n); let k1p = I; let k2p = I; let d = this; while (k1 > _0n4 || k2 > _0n4) { - if (k1 & _1n4) - k1p = k1p.add(d); - if (k2 & _1n4) - k2p = k2p.add(d); + if (k1 & _1n4) k1p = k1p.add(d); + if (k2 & _1n4) k2p = k2p.add(d); d = d.double(); k1 >>= _1n4; k2 >>= _1n4; } - if (k1neg) - k1p = k1p.negate(); - if (k2neg) - k2p = k2p.negate(); + if (k1neg) k1p = k1p.negate(); + if (k2neg) k2p = k2p.negate(); k2p = new Point3(Fp2.mul(k2p.px, endo.beta), k2p.py, k2p.pz); return k1p.add(k2p); } @@ -4967,38 +5341,36 @@ zoo`.split("\n"); } multiplyAndAddUnsafe(Q, a, b) { const G = Point3.BASE; - const mul = (P, a2) => a2 === _0n4 || a2 === _1n4 || !P.equals(G) ? P.multiplyUnsafe(a2) : P.multiply(a2); + const mul = (P, a2) => + a2 === _0n4 || a2 === _1n4 || !P.equals(G) + ? P.multiplyUnsafe(a2) + : P.multiply(a2); const sum = mul(this, a).add(mul(Q, b)); return sum.is0() ? void 0 : sum; } toAffine(iz) { const { px: x, py: y, pz: z } = this; const is0 = this.is0(); - if (iz == null) - iz = is0 ? Fp2.ONE : Fp2.inv(z); + if (iz == null) iz = is0 ? Fp2.ONE : Fp2.inv(z); const ax = Fp2.mul(x, iz); const ay = Fp2.mul(y, iz); const zz = Fp2.mul(z, iz); - if (is0) - return { x: Fp2.ZERO, y: Fp2.ZERO }; - if (!Fp2.eql(zz, Fp2.ONE)) - throw new Error("invZ was invalid"); + if (is0) return { x: Fp2.ZERO, y: Fp2.ZERO }; + if (!Fp2.eql(zz, Fp2.ONE)) throw new Error("invZ was invalid"); return { x: ax, y: ay }; } isTorsionFree() { const { h: cofactor, isTorsionFree } = CURVE; - if (cofactor === _1n4) - return true; - if (isTorsionFree) - return isTorsionFree(Point3, this); - throw new Error("isTorsionFree() has not been declared for the elliptic curve"); + if (cofactor === _1n4) return true; + if (isTorsionFree) return isTorsionFree(Point3, this); + throw new Error( + "isTorsionFree() has not been declared for the elliptic curve" + ); } clearCofactor() { const { h: cofactor, clearCofactor } = CURVE; - if (cofactor === _1n4) - return this; - if (clearCofactor) - return clearCofactor(Point3, this); + if (cofactor === _1n4) return this; + if (clearCofactor) return clearCofactor(Point3, this); return this.multiplyUnsafe(CURVE.h); } toRawBytes(isCompressed = true) { @@ -5018,20 +5390,24 @@ zoo`.split("\n"); ProjectivePoint: Point3, normPrivateKeyToScalar, weierstrassEquation, - isWithinCurveOrder + isWithinCurveOrder, }; } function validateOpts(curve) { const opts = validateBasic(curve); - validateObject(opts, { - hash: "hash", - hmac: "function", - randomBytes: "function" - }, { - bits2int: "function", - bits2int_modN: "function", - lowS: "boolean" - }); + validateObject( + opts, + { + hash: "hash", + hmac: "function", + randomBytes: "function", + }, + { + bits2int: "function", + bits2int_modN: "function", + lowS: "boolean", + } + ); return Object.freeze({ lowS: true, ...opts }); } function weierstrass(curveDef) { @@ -5048,7 +5424,12 @@ zoo`.split("\n"); function invN(a) { return invert(a, CURVE_ORDER); } - const { ProjectivePoint: Point3, normPrivateKeyToScalar, weierstrassEquation, isWithinCurveOrder } = weierstrassPoints({ + const { + ProjectivePoint: Point3, + normPrivateKeyToScalar, + weierstrassEquation, + isWithinCurveOrder, + } = weierstrassPoints({ ...CURVE, toBytes(c, point, isCompressed) { const a = point.toAffine(); @@ -5066,25 +5447,26 @@ zoo`.split("\n"); const tail = bytes2.subarray(1); if (len === compressedLen && (head === 2 || head === 3)) { const x = bytesToNumberBE(tail); - if (!isValidFieldElement(x)) - throw new Error("Point is not on curve"); + if (!isValidFieldElement(x)) throw new Error("Point is not on curve"); const y2 = weierstrassEquation(x); let y = Fp2.sqrt(y2); const isYOdd = (y & _1n4) === _1n4; const isHeadOdd = (head & 1) === 1; - if (isHeadOdd !== isYOdd) - y = Fp2.neg(y); + if (isHeadOdd !== isYOdd) y = Fp2.neg(y); return { x, y }; } else if (len === uncompressedLen && head === 4) { const x = Fp2.fromBytes(tail.subarray(0, Fp2.BYTES)); const y = Fp2.fromBytes(tail.subarray(Fp2.BYTES, 2 * Fp2.BYTES)); return { x, y }; } else { - throw new Error(`Point of length ${len} was invalid. Expected ${compressedLen} compressed bytes or ${uncompressedLen} uncompressed bytes`); + throw new Error( + `Point of length ${len} was invalid. Expected ${compressedLen} compressed bytes or ${uncompressedLen} uncompressed bytes` + ); } - } + }, }); - const numToNByteStr = (num) => bytesToHex2(numberToBytesBE(num, CURVE.nByteLength)); + const numToNByteStr = (num) => + bytesToHex2(numberToBytesBE(num, CURVE.nByteLength)); function isBiggerThanHalfOrder(number2) { const HALF = CURVE_ORDER >> _1n4; return number2 > HALF; @@ -5124,16 +5506,14 @@ zoo`.split("\n"); if (rec == null || ![0, 1, 2, 3].includes(rec)) throw new Error("recovery id invalid"); const radj = rec === 2 || rec === 3 ? r + CURVE.n : r; - if (radj >= Fp2.ORDER) - throw new Error("recovery id 2 or 3 invalid"); + if (radj >= Fp2.ORDER) throw new Error("recovery id 2 or 3 invalid"); const prefix = (rec & 1) === 0 ? "02" : "03"; const R = Point3.fromHex(prefix + numToNByteStr(radj)); const ir = invN(radj); const u1 = modN2(-h * ir); const u2 = modN2(s * ir); const Q = Point3.BASE.multiplyAndAddUnsafe(R, u1, u2); - if (!Q) - throw new Error("point at infinify"); + if (!Q) throw new Error("point at infinify"); Q.assertValidity(); return Q; } @@ -5141,7 +5521,9 @@ zoo`.split("\n"); return isBiggerThanHalfOrder(this.s); } normalizeS() { - return this.hasHighS() ? new Signature(this.r, modN2(-this.s), this.recovery) : this; + return this.hasHighS() + ? new Signature(this.r, modN2(-this.s), this.recovery) + : this; } toDERRawBytes() { return hexToBytes2(this.toDERHex()); @@ -5175,7 +5557,7 @@ zoo`.split("\n"); point._setWindowSize(windowSize); point.multiply(BigInt(3)); return point; - } + }, }; function getPublicKey2(privateKey, isCompressed = true) { return Point3.fromPrivateKey(privateKey).toRawBytes(isCompressed); @@ -5184,34 +5566,34 @@ zoo`.split("\n"); const arr = item instanceof Uint8Array; const str = typeof item === "string"; const len = (arr || str) && item.length; - if (arr) - return len === compressedLen || len === uncompressedLen; - if (str) - return len === 2 * compressedLen || len === 2 * uncompressedLen; - if (item instanceof Point3) - return true; + if (arr) return len === compressedLen || len === uncompressedLen; + if (str) return len === 2 * compressedLen || len === 2 * uncompressedLen; + if (item instanceof Point3) return true; return false; } function getSharedSecret(privateA, publicB, isCompressed = true) { - if (isProbPub(privateA)) - throw new Error("first arg must be private key"); - if (!isProbPub(publicB)) - throw new Error("second arg must be public key"); + if (isProbPub(privateA)) throw new Error("first arg must be private key"); + if (!isProbPub(publicB)) throw new Error("second arg must be public key"); const b = Point3.fromHex(publicB); - return b.multiply(normPrivateKeyToScalar(privateA)).toRawBytes(isCompressed); - } - const bits2int = CURVE.bits2int || function(bytes2) { - const num = bytesToNumberBE(bytes2); - const delta = bytes2.length * 8 - CURVE.nBitLength; - return delta > 0 ? num >> BigInt(delta) : num; - }; - const bits2int_modN = CURVE.bits2int_modN || function(bytes2) { - return modN2(bits2int(bytes2)); - }; + return b + .multiply(normPrivateKeyToScalar(privateA)) + .toRawBytes(isCompressed); + } + const bits2int = + CURVE.bits2int || + function (bytes2) { + const num = bytesToNumberBE(bytes2); + const delta = bytes2.length * 8 - CURVE.nBitLength; + return delta > 0 ? num >> BigInt(delta) : num; + }; + const bits2int_modN = + CURVE.bits2int_modN || + function (bytes2) { + return modN2(bits2int(bytes2)); + }; const ORDER_MASK = bitMask(CURVE.nBitLength); function int2octets(num) { - if (typeof num !== "bigint") - throw new Error("bigint expected"); + if (typeof num !== "bigint") throw new Error("bigint expected"); if (!(_0n4 <= num && num < ORDER_MASK)) throw new Error(`bigint expected < 2^${CURVE.nBitLength}`); return numberToBytesBE(num, CURVE.nByteLength); @@ -5221,11 +5603,9 @@ zoo`.split("\n"); throw new Error("sign() legacy options not supported"); const { hash: hash2, randomBytes: randomBytes2 } = CURVE; let { lowS, prehash, extraEntropy: ent } = opts; - if (lowS == null) - lowS = true; + if (lowS == null) lowS = true; msgHash = ensureBytes("msgHash", msgHash); - if (prehash) - msgHash = ensureBytes("prehashed msgHash", hash2(msgHash)); + if (prehash) msgHash = ensureBytes("prehashed msgHash", hash2(msgHash)); const h1int = bits2int_modN(msgHash); const d = normPrivateKeyToScalar(privateKey); const seedArgs = [int2octets(d), int2octets(h1int)]; @@ -5237,16 +5617,13 @@ zoo`.split("\n"); const m = h1int; function k2sig(kBytes) { const k = bits2int(kBytes); - if (!isWithinCurveOrder(k)) - return; + if (!isWithinCurveOrder(k)) return; const ik = invN(k); const q = Point3.BASE.multiply(k).toAffine(); const r = modN2(q.x); - if (r === _0n4) - return; + if (r === _0n4) return; const s = modN2(ik * modN2(m + r * d)); - if (s === _0n4) - return; + if (s === _0n4) return; let recovery = (q.x === r ? 0 : 2) | Number(q.y & _1n4); let normS = s; if (lowS && isBiggerThanHalfOrder(s)) { @@ -5261,7 +5638,11 @@ zoo`.split("\n"); const defaultVerOpts = { lowS: CURVE.lowS, prehash: false }; function sign(msgHash, privKey, opts = defaultSigOpts) { const { seed, k2sig } = prepSig(msgHash, privKey, opts); - const drbg = createHmacDrbg(CURVE.hash.outputLen, CURVE.nByteLength, CURVE.hmac); + const drbg = createHmacDrbg( + CURVE.hash.outputLen, + CURVE.nByteLength, + CURVE.hmac + ); return drbg(seed, k2sig); } Point3.BASE._setWindowSize(8); @@ -5279,11 +5660,14 @@ zoo`.split("\n"); try { _sig = Signature.fromDER(sg); } catch (derError) { - if (!(derError instanceof DER.Err)) - throw derError; + if (!(derError instanceof DER.Err)) throw derError; _sig = Signature.fromCompact(sg); } - } else if (typeof sg === "object" && typeof sg.r === "bigint" && typeof sg.s === "bigint") { + } else if ( + typeof sg === "object" && + typeof sg.r === "bigint" && + typeof sg.s === "bigint" + ) { const { r: r2, s: s2 } = sg; _sig = new Signature(r2, s2); } else { @@ -5292,21 +5676,20 @@ zoo`.split("\n"); P = Point3.fromHex(publicKey); } catch (error) { if (error.message === "PARSE") - throw new Error(`signature must be Signature instance, Uint8Array or hex string`); + throw new Error( + `signature must be Signature instance, Uint8Array or hex string` + ); return false; } - if (lowS && _sig.hasHighS()) - return false; - if (prehash) - msgHash = CURVE.hash(msgHash); + if (lowS && _sig.hasHighS()) return false; + if (prehash) msgHash = CURVE.hash(msgHash); const { r, s } = _sig; const h = bits2int_modN(msgHash); const is = invN(s); const u1 = modN2(h * is); const u2 = modN2(r * is); const R = Point3.BASE.multiplyAndAddUnsafe(P, u1, u2)?.toAffine(); - if (!R) - return false; + if (!R) return false; const v = modN2(R.x); return v === r; } @@ -5318,14 +5701,13 @@ zoo`.split("\n"); verify, ProjectivePoint: Point3, Signature, - utils + utils, }; } function SWUFpSqrtRatio(Fp2, Z) { const q = Fp2.ORDER; let l = _0n4; - for (let o = q - _1n4; o % _2n3 === _0n4; o /= _2n3) - l += _1n4; + for (let o = q - _1n4; o % _2n3 === _0n4; o /= _2n3) l += _1n4; const c1 = l; const c2 = (q - _1n4) / _2n3 ** c1; const c3 = (c2 - _1n4) / _2n3; @@ -5385,8 +5767,7 @@ zoo`.split("\n"); if (!Fp2.isValid(opts.A) || !Fp2.isValid(opts.B) || !Fp2.isValid(opts.Z)) throw new Error("mapToCurveSimpleSWU: invalid opts"); const sqrtRatio = SWUFpSqrtRatio(Fp2, opts.Z); - if (!Fp2.isOdd) - throw new Error("Fp.isOdd is not implemented!"); + if (!Fp2.isOdd) throw new Error("Fp.isOdd is not implemented!"); return (u) => { let tv1, tv2, tv3, tv4, tv5, tv6, x, y; tv1 = Fp2.sqr(u); @@ -5421,15 +5802,13 @@ zoo`.split("\n"); // node_modules/@noble/curves/esm/abstract/hash-to-curve.js init_define_process(); function validateDST(dst) { - if (dst instanceof Uint8Array) - return dst; - if (typeof dst === "string") - return utf8ToBytes2(dst); + if (dst instanceof Uint8Array) return dst; + if (typeof dst === "string") return utf8ToBytes2(dst); throw new Error("DST must be Uint8Array or string"); } var os2ip = bytesToNumberBE; function i2osp(value, length) { - if (value < 0 || value >= 1 << 8 * length) { + if (value < 0 || value >= 1 << (8 * length)) { throw new Error(`bad I2OSP call: value=${value} length=${length}`); } const res = Array.from({ length }).fill(0); @@ -5447,12 +5826,10 @@ zoo`.split("\n"); return arr; } function isBytes(item) { - if (!(item instanceof Uint8Array)) - throw new Error("Uint8Array expected"); + if (!(item instanceof Uint8Array)) throw new Error("Uint8Array expected"); } function isNum(item) { - if (!Number.isSafeInteger(item)) - throw new Error("number expected"); + if (!Number.isSafeInteger(item)) throw new Error("number expected"); } function expand_message_xmd(msg, DST, lenInBytes, H) { isBytes(msg); @@ -5462,8 +5839,7 @@ zoo`.split("\n"); DST = H(concatBytes2(utf8ToBytes2("H2C-OVERSIZE-DST-"), DST)); const { outputLen: b_in_bytes, blockLen: r_in_bytes } = H; const ell = Math.ceil(lenInBytes / b_in_bytes); - if (ell > 255) - throw new Error("Invalid xmd length"); + if (ell > 255) throw new Error("Invalid xmd length"); const DST_prime = concatBytes2(DST, i2osp(DST.length, 1)); const Z_pad = i2osp(0, r_in_bytes); const l_i_b_str = i2osp(lenInBytes, 2); @@ -5482,12 +5858,20 @@ zoo`.split("\n"); isBytes(DST); isNum(lenInBytes); if (DST.length > 255) { - const dkLen = Math.ceil(2 * k / 8); - DST = H.create({ dkLen }).update(utf8ToBytes2("H2C-OVERSIZE-DST-")).update(DST).digest(); + const dkLen = Math.ceil((2 * k) / 8); + DST = H.create({ dkLen }) + .update(utf8ToBytes2("H2C-OVERSIZE-DST-")) + .update(DST) + .digest(); } if (lenInBytes > 65535 || DST.length > 255) throw new Error("expand_message_xof: invalid lenInBytes"); - return H.create({ dkLen: lenInBytes }).update(msg).update(i2osp(lenInBytes, 2)).update(DST).update(i2osp(DST.length, 1)).digest(); + return H.create({ dkLen: lenInBytes }) + .update(msg) + .update(i2osp(lenInBytes, 2)) + .update(DST) + .update(i2osp(DST.length, 1)) + .digest(); } function hash_to_field(msg, count, options) { validateObject(options, { @@ -5495,7 +5879,7 @@ zoo`.split("\n"); p: "bigint", m: "isSafeInteger", k: "isSafeInteger", - hash: "hash" + hash: "hash", }); const { p, k, m, hash: hash2, expand, DST: _DST } = options; isBytes(msg); @@ -5529,7 +5913,9 @@ zoo`.split("\n"); function isogenyMap(field, map) { const COEFF = map.map((i) => Array.from(i).reverse()); return (x, y) => { - const [xNum, xDen, yNum, yDen] = COEFF.map((val) => val.reduce((acc, i) => field.add(field.mul(acc, x), i))); + const [xNum, xDen, yNum, yDen] = COEFF.map((val) => + val.reduce((acc, i) => field.add(field.mul(acc, x), i)) + ); x = field.div(xNum, xDen); y = field.mul(y, field.div(yNum, yDen)); return { x, y }; @@ -5548,11 +5934,15 @@ zoo`.split("\n"); return P; }, encodeToCurve(msg, options) { - const u = hash_to_field(msg, 1, { ...def, DST: def.encodeDST, ...options }); + const u = hash_to_field(msg, 1, { + ...def, + DST: def.encodeDST, + ...options, + }); const P = Point3.fromAffine(mapToCurve(u[0])).clearCofactor(); P.assertValidity(); return P; - } + }, }; } @@ -5570,18 +5960,20 @@ zoo`.split("\n"); const key = toBytes(_key); this.iHash = hash2.create(); if (typeof this.iHash.update !== "function") - throw new TypeError("Expected instance of class which extends utils.Hash"); + throw new TypeError( + "Expected instance of class which extends utils.Hash" + ); this.blockLen = this.iHash.blockLen; this.outputLen = this.iHash.outputLen; const blockLen = this.blockLen; const pad = new Uint8Array(blockLen); - pad.set(key.length > blockLen ? hash2.create().update(key).digest() : key); - for (let i = 0; i < pad.length; i++) - pad[i] ^= 54; + pad.set( + key.length > blockLen ? hash2.create().update(key).digest() : key + ); + for (let i = 0; i < pad.length; i++) pad[i] ^= 54; this.iHash.update(pad); this.oHash = hash2.create(); - for (let i = 0; i < pad.length; i++) - pad[i] ^= 54 ^ 92; + for (let i = 0; i < pad.length; i++) pad[i] ^= 54 ^ 92; this.oHash.update(pad); pad.fill(0); } @@ -5622,7 +6014,8 @@ zoo`.split("\n"); this.iHash.destroy(); } }; - var hmac = (hash2, key, message) => new HMAC(hash2, key).update(message).digest(); + var hmac = (hash2, key, message) => + new HMAC(hash2, key).update(message).digest(); hmac.create = (hash2, key) => new HMAC(hash2, key); // node_modules/@noble/curves/esm/_shortw_utils.js @@ -5630,7 +6023,7 @@ zoo`.split("\n"); return { hash: hash2, hmac: (key, ...msgs) => hmac(hash2, key, concatBytes(...msgs)), - randomBytes + randomBytes, }; } function createCurve(curveDef, defHash) { @@ -5639,69 +6032,84 @@ zoo`.split("\n"); } // node_modules/@noble/curves/esm/secp256k1.js - var secp256k1P = BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"); - var secp256k1N = BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"); + var secp256k1P = BigInt( + "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f" + ); + var secp256k1N = BigInt( + "0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141" + ); var _1n5 = BigInt(1); var _2n4 = BigInt(2); var divNearest = (a, b) => (a + b / _2n4) / b; function sqrtMod(y) { const P = secp256k1P; - const _3n3 = BigInt(3), _6n = BigInt(6), _11n = BigInt(11), _22n = BigInt(22); - const _23n = BigInt(23), _44n = BigInt(44), _88n = BigInt(88); - const b2 = y * y * y % P; - const b3 = b2 * b2 * y % P; - const b6 = pow2(b3, _3n3, P) * b3 % P; - const b9 = pow2(b6, _3n3, P) * b3 % P; - const b11 = pow2(b9, _2n4, P) * b2 % P; - const b22 = pow2(b11, _11n, P) * b11 % P; - const b44 = pow2(b22, _22n, P) * b22 % P; - const b88 = pow2(b44, _44n, P) * b44 % P; - const b176 = pow2(b88, _88n, P) * b88 % P; - const b220 = pow2(b176, _44n, P) * b44 % P; - const b223 = pow2(b220, _3n3, P) * b3 % P; - const t1 = pow2(b223, _23n, P) * b22 % P; - const t2 = pow2(t1, _6n, P) * b2 % P; + const _3n3 = BigInt(3), + _6n = BigInt(6), + _11n = BigInt(11), + _22n = BigInt(22); + const _23n = BigInt(23), + _44n = BigInt(44), + _88n = BigInt(88); + const b2 = (y * y * y) % P; + const b3 = (b2 * b2 * y) % P; + const b6 = (pow2(b3, _3n3, P) * b3) % P; + const b9 = (pow2(b6, _3n3, P) * b3) % P; + const b11 = (pow2(b9, _2n4, P) * b2) % P; + const b22 = (pow2(b11, _11n, P) * b11) % P; + const b44 = (pow2(b22, _22n, P) * b22) % P; + const b88 = (pow2(b44, _44n, P) * b44) % P; + const b176 = (pow2(b88, _88n, P) * b88) % P; + const b220 = (pow2(b176, _44n, P) * b44) % P; + const b223 = (pow2(b220, _3n3, P) * b3) % P; + const t1 = (pow2(b223, _23n, P) * b22) % P; + const t2 = (pow2(t1, _6n, P) * b2) % P; const root = pow2(t2, _2n4, P); - if (!Fp.eql(Fp.sqr(root), y)) - throw new Error("Cannot find square root"); + if (!Fp.eql(Fp.sqr(root), y)) throw new Error("Cannot find square root"); return root; } var Fp = Field(secp256k1P, void 0, void 0, { sqrt: sqrtMod }); - var secp256k1 = createCurve({ - a: BigInt(0), - b: BigInt(7), - Fp, - n: secp256k1N, - Gx: BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"), - Gy: BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"), - h: BigInt(1), - lowS: true, - endo: { - beta: BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"), - splitScalar: (k) => { - const n = secp256k1N; - const a1 = BigInt("0x3086d221a7d46bcde86c90e49284eb15"); - const b1 = -_1n5 * BigInt("0xe4437ed6010e88286f547fa90abfe4c3"); - const a2 = BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"); - const b2 = a1; - const POW_2_128 = BigInt("0x100000000000000000000000000000000"); - const c1 = divNearest(b2 * k, n); - const c2 = divNearest(-b1 * k, n); - let k1 = mod(k - c1 * a1 - c2 * a2, n); - let k2 = mod(-c1 * b1 - c2 * b2, n); - const k1neg = k1 > POW_2_128; - const k2neg = k2 > POW_2_128; - if (k1neg) - k1 = n - k1; - if (k2neg) - k2 = n - k2; - if (k1 > POW_2_128 || k2 > POW_2_128) { - throw new Error("splitScalar: Endomorphism failed, k=" + k); - } - return { k1neg, k1, k2neg, k2 }; - } - } - }, sha256); + var secp256k1 = createCurve( + { + a: BigInt(0), + b: BigInt(7), + Fp, + n: secp256k1N, + Gx: BigInt( + "55066263022277343669578718895168534326250603453777594175500187360389116729240" + ), + Gy: BigInt( + "32670510020758816978083085130507043184471273380659243275938904335757337482424" + ), + h: BigInt(1), + lowS: true, + endo: { + beta: BigInt( + "0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee" + ), + splitScalar: (k) => { + const n = secp256k1N; + const a1 = BigInt("0x3086d221a7d46bcde86c90e49284eb15"); + const b1 = -_1n5 * BigInt("0xe4437ed6010e88286f547fa90abfe4c3"); + const a2 = BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"); + const b2 = a1; + const POW_2_128 = BigInt("0x100000000000000000000000000000000"); + const c1 = divNearest(b2 * k, n); + const c2 = divNearest(-b1 * k, n); + let k1 = mod(k - c1 * a1 - c2 * a2, n); + let k2 = mod(-c1 * b1 - c2 * b2, n); + const k1neg = k1 > POW_2_128; + const k2neg = k2 > POW_2_128; + if (k1neg) k1 = n - k1; + if (k2neg) k2 = n - k2; + if (k1 > POW_2_128 || k2 > POW_2_128) { + throw new Error("splitScalar: Endomorphism failed, k=" + k); + } + return { k1neg, k1, k2neg, k2 }; + }, + }, + }, + sha256 + ); var _0n5 = BigInt(0); var fe = (x) => typeof x === "bigint" && _0n5 < x && x < secp256k1P; var ge = (x) => typeof x === "bigint" && _0n5 < x && x < secp256k1N; @@ -5728,13 +6136,11 @@ zoo`.split("\n"); return { scalar, bytes: pointToBytes(p) }; } function lift_x(x) { - if (!fe(x)) - throw new Error("bad x: need 0 < x < p"); + if (!fe(x)) throw new Error("bad x: need 0 < x < p"); const xx = modP(x * x); const c = modP(xx * x + BigInt(7)); let y = sqrtMod(c); - if (y % _2n4 !== _0n5) - y = modP(-y); + if (y % _2n4 !== _0n5) y = modP(-y); const p = new Point(x, y, _1n5); p.assertValidity(); return p; @@ -5752,8 +6158,7 @@ zoo`.split("\n"); const t = numTo32b(d ^ bytesToNumberBE(taggedHash("BIP0340/aux", a))); const rand = taggedHash("BIP0340/nonce", t, px, m); const k_ = modN(bytesToNumberBE(rand)); - if (k_ === _0n5) - throw new Error("sign failed: k is zero"); + if (k_ === _0n5) throw new Error("sign failed: k is zero"); const { bytes: rx, scalar: k } = schnorrGetExtPubKey(k_); const e = challenge(rx, px, m); const sig = new Uint8Array(64); @@ -5770,15 +6175,12 @@ zoo`.split("\n"); try { const P = lift_x(bytesToNumberBE(pub)); const r = bytesToNumberBE(sig.subarray(0, 32)); - if (!fe(r)) - return false; + if (!fe(r)) return false; const s = bytesToNumberBE(sig.subarray(32, 64)); - if (!ge(s)) - return false; + if (!ge(s)) return false; const e = challenge(numTo32b(r), pointToBytes(P), m); const R = GmulAdd(P, s, modN(-e)); - if (!R || !R.hasEvenY() || R.toAffine().x !== r) - return false; + if (!R || !R.hasEvenY() || R.toAffine().x !== r) return false; return true; } catch (error) { return false; @@ -5795,51 +6197,60 @@ zoo`.split("\n"); numberToBytesBE, bytesToNumberBE, taggedHash, - mod - } + mod, + }, }; - var isoMap = isogenyMap(Fp, [ - [ - "0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa8c7", - "0x7d3d4c80bc321d5b9f315cea7fd44c5d595d2fc0bf63b92dfff1044f17c6581", - "0x534c328d23f234e6e2a413deca25caece4506144037c40314ecbd0b53d9dd262", - "0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa88c" - ], - [ - "0xd35771193d94918a9ca34ccbb7b640dd86cd409542f8487d9fe6b745781eb49b", - "0xedadc6f64383dc1df7c4b2d51b54225406d36b641f5e41bbc52a56612a8c6d14", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - [ - "0x4bda12f684bda12f684bda12f684bda12f684bda12f684bda12f684b8e38e23c", - "0xc75e0c32d5cb7c0fa9d0a54b12a0a6d5647ab046d686da6fdffc90fc201d71a3", - "0x29a6194691f91a73715209ef6512e576722830a201be2018a765e85a9ecee931", - "0x2f684bda12f684bda12f684bda12f684bda12f684bda12f684bda12f38e38d84" - ], + var isoMap = isogenyMap( + Fp, [ - "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffff93b", - "0x7a06534bb8bdb49fd5e9e6632722c2989467c1bfc8e8d978dfb425d2685c2573", - "0x6484aa716545ca2cf3a70c3fa8fe337e0a3d21162f0d6299a7bf8192bfd2a76f", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ] - ].map((i) => i.map((j) => BigInt(j)))); + [ + "0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa8c7", + "0x7d3d4c80bc321d5b9f315cea7fd44c5d595d2fc0bf63b92dfff1044f17c6581", + "0x534c328d23f234e6e2a413deca25caece4506144037c40314ecbd0b53d9dd262", + "0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa88c", + ], + [ + "0xd35771193d94918a9ca34ccbb7b640dd86cd409542f8487d9fe6b745781eb49b", + "0xedadc6f64383dc1df7c4b2d51b54225406d36b641f5e41bbc52a56612a8c6d14", + "0x0000000000000000000000000000000000000000000000000000000000000001", + ], + [ + "0x4bda12f684bda12f684bda12f684bda12f684bda12f684bda12f684b8e38e23c", + "0xc75e0c32d5cb7c0fa9d0a54b12a0a6d5647ab046d686da6fdffc90fc201d71a3", + "0x29a6194691f91a73715209ef6512e576722830a201be2018a765e85a9ecee931", + "0x2f684bda12f684bda12f684bda12f684bda12f684bda12f684bda12f38e38d84", + ], + [ + "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffff93b", + "0x7a06534bb8bdb49fd5e9e6632722c2989467c1bfc8e8d978dfb425d2685c2573", + "0x6484aa716545ca2cf3a70c3fa8fe337e0a3d21162f0d6299a7bf8192bfd2a76f", + "0x0000000000000000000000000000000000000000000000000000000000000001", + ], + ].map((i) => i.map((j) => BigInt(j))) + ); var mapSWU = mapToCurveSimpleSWU(Fp, { - A: BigInt("0x3f8731abdd661adca08a5558f0f5d272e953d363cb6f0e5d405447c01a444533"), + A: BigInt( + "0x3f8731abdd661adca08a5558f0f5d272e953d363cb6f0e5d405447c01a444533" + ), B: BigInt("1771"), - Z: Fp.create(BigInt("-11")) - }); - var { hashToCurve, encodeToCurve } = createHasher(secp256k1.ProjectivePoint, (scalars) => { - const { x, y } = mapSWU(Fp.create(scalars[0])); - return isoMap(x, y); - }, { - DST: "secp256k1_XMD:SHA-256_SSWU_RO_", - encodeDST: "secp256k1_XMD:SHA-256_SSWU_NU_", - p: Fp.ORDER, - m: 1, - k: 128, - expand: "xmd", - hash: sha256 + Z: Fp.create(BigInt("-11")), }); + var { hashToCurve, encodeToCurve } = createHasher( + secp256k1.ProjectivePoint, + (scalars) => { + const { x, y } = mapSWU(Fp.create(scalars[0])); + return isoMap(x, y); + }, + { + DST: "secp256k1_XMD:SHA-256_SSWU_RO_", + encodeDST: "secp256k1_XMD:SHA-256_SSWU_NU_", + p: Fp.ORDER, + m: 1, + k: 128, + expand: "xmd", + hash: sha256, + } + ); // keys.ts function generatePrivateKey() { @@ -5864,7 +6275,7 @@ zoo`.split("\n"); insertEventIntoDescendingList: () => insertEventIntoDescendingList, normalizeURL: () => normalizeURL, utf8Decoder: () => utf8Decoder, - utf8Encoder: () => utf8Encoder + utf8Encoder: () => utf8Encoder, }); init_define_process(); var utf8Decoder = new TextDecoder("utf-8"); @@ -5872,9 +6283,11 @@ zoo`.split("\n"); function normalizeURL(url) { let p = new URL(url); p.pathname = p.pathname.replace(/\/+/g, "/"); - if (p.pathname.endsWith("/")) - p.pathname = p.pathname.slice(0, -1); - if (p.port === "80" && p.protocol === "ws:" || p.port === "443" && p.protocol === "wss:") + if (p.pathname.endsWith("/")) p.pathname = p.pathname.slice(0, -1); + if ( + (p.port === "80" && p.protocol === "ws:") || + (p.port === "443" && p.protocol === "wss:") + ) p.port = ""; p.searchParams.sort(); p.hash = ""; @@ -5911,7 +6324,7 @@ zoo`.split("\n"); return [ ...sortedArray.slice(0, position), event, - ...sortedArray.slice(position) + ...sortedArray.slice(position), ]; } return sortedArray; @@ -5947,7 +6360,7 @@ zoo`.split("\n"); return [ ...sortedArray.slice(0, position), event, - ...sortedArray.slice(position) + ...sortedArray.slice(position), ]; } return sortedArray; @@ -6012,8 +6425,7 @@ zoo`.split("\n"); return true; } dequeue() { - if (this._size === 0 || !this._first) - return null; + if (this._size === 0 || !this._first) return null; let prev = this._first; this._first = prev.next; prev.next = null; @@ -6024,30 +6436,30 @@ zoo`.split("\n"); // event.ts var Kind = /* @__PURE__ */ ((Kind3) => { - Kind3[Kind3["Metadata"] = 0] = "Metadata"; - Kind3[Kind3["Text"] = 1] = "Text"; - Kind3[Kind3["RecommendRelay"] = 2] = "RecommendRelay"; - Kind3[Kind3["Contacts"] = 3] = "Contacts"; - Kind3[Kind3["EncryptedDirectMessage"] = 4] = "EncryptedDirectMessage"; - Kind3[Kind3["EventDeletion"] = 5] = "EventDeletion"; - Kind3[Kind3["Repost"] = 6] = "Repost"; - Kind3[Kind3["Reaction"] = 7] = "Reaction"; - Kind3[Kind3["BadgeAward"] = 8] = "BadgeAward"; - Kind3[Kind3["ChannelCreation"] = 40] = "ChannelCreation"; - Kind3[Kind3["ChannelMetadata"] = 41] = "ChannelMetadata"; - Kind3[Kind3["ChannelMessage"] = 42] = "ChannelMessage"; - Kind3[Kind3["ChannelHideMessage"] = 43] = "ChannelHideMessage"; - Kind3[Kind3["ChannelMuteUser"] = 44] = "ChannelMuteUser"; - Kind3[Kind3["Blank"] = 255] = "Blank"; - Kind3[Kind3["Report"] = 1984] = "Report"; - Kind3[Kind3["ZapRequest"] = 9734] = "ZapRequest"; - Kind3[Kind3["Zap"] = 9735] = "Zap"; - Kind3[Kind3["RelayList"] = 10002] = "RelayList"; - Kind3[Kind3["ClientAuth"] = 22242] = "ClientAuth"; - Kind3[Kind3["HttpAuth"] = 27235] = "HttpAuth"; - Kind3[Kind3["ProfileBadge"] = 30008] = "ProfileBadge"; - Kind3[Kind3["BadgeDefinition"] = 30009] = "BadgeDefinition"; - Kind3[Kind3["Article"] = 30023] = "Article"; + Kind3[(Kind3["Metadata"] = 0)] = "Metadata"; + Kind3[(Kind3["Text"] = 1)] = "Text"; + Kind3[(Kind3["RecommendRelay"] = 2)] = "RecommendRelay"; + Kind3[(Kind3["Contacts"] = 3)] = "Contacts"; + Kind3[(Kind3["EncryptedDirectMessage"] = 4)] = "EncryptedDirectMessage"; + Kind3[(Kind3["EventDeletion"] = 5)] = "EventDeletion"; + Kind3[(Kind3["Repost"] = 6)] = "Repost"; + Kind3[(Kind3["Reaction"] = 7)] = "Reaction"; + Kind3[(Kind3["BadgeAward"] = 8)] = "BadgeAward"; + Kind3[(Kind3["ChannelCreation"] = 40)] = "ChannelCreation"; + Kind3[(Kind3["ChannelMetadata"] = 41)] = "ChannelMetadata"; + Kind3[(Kind3["ChannelMessage"] = 42)] = "ChannelMessage"; + Kind3[(Kind3["ChannelHideMessage"] = 43)] = "ChannelHideMessage"; + Kind3[(Kind3["ChannelMuteUser"] = 44)] = "ChannelMuteUser"; + Kind3[(Kind3["Blank"] = 255)] = "Blank"; + Kind3[(Kind3["Report"] = 1984)] = "Report"; + Kind3[(Kind3["ZapRequest"] = 9734)] = "ZapRequest"; + Kind3[(Kind3["Zap"] = 9735)] = "Zap"; + Kind3[(Kind3["RelayList"] = 10002)] = "RelayList"; + Kind3[(Kind3["ClientAuth"] = 22242)] = "ClientAuth"; + Kind3[(Kind3["HttpAuth"] = 27235)] = "HttpAuth"; + Kind3[(Kind3["ProfileBadge"] = 30008)] = "ProfileBadge"; + Kind3[(Kind3["BadgeDefinition"] = 30009)] = "BadgeDefinition"; + Kind3[(Kind3["Article"] = 30023)] = "Article"; return Kind3; })(Kind || {}); function getBlankEvent(kind = 255 /* Blank */) { @@ -6055,7 +6467,7 @@ zoo`.split("\n"); kind, content: "", tags: [], - created_at: 0 + created_at: 0, }; } function finishEvent(t, privateKey) { @@ -6074,7 +6486,7 @@ zoo`.split("\n"); evt.created_at, evt.kind, evt.tags, - evt.content + evt.content, ]); } function getEventHash(event) { @@ -6083,27 +6495,18 @@ zoo`.split("\n"); } var isRecord = (obj) => obj instanceof Object; function validateEvent(event) { - if (!isRecord(event)) - return false; - if (typeof event.kind !== "number") - return false; - if (typeof event.content !== "string") - return false; - if (typeof event.created_at !== "number") - return false; - if (typeof event.pubkey !== "string") - return false; - if (!event.pubkey.match(/^[a-f0-9]{64}$/)) - return false; - if (!Array.isArray(event.tags)) - return false; + if (!isRecord(event)) return false; + if (typeof event.kind !== "number") return false; + if (typeof event.content !== "string") return false; + if (typeof event.created_at !== "number") return false; + if (typeof event.pubkey !== "string") return false; + if (!event.pubkey.match(/^[a-f0-9]{64}$/)) return false; + if (!Array.isArray(event.tags)) return false; for (let i = 0; i < event.tags.length; i++) { let tag = event.tags[i]; - if (!Array.isArray(tag)) - return false; + if (!Array.isArray(tag)) return false; for (let j = 0; j < tag.length; j++) { - if (typeof tag[j] === "object") - return false; + if (typeof tag[j] === "object") return false; } } return true; @@ -6133,8 +6536,7 @@ zoo`.split("\n"); return false; } } - if (filter.kinds && filter.kinds.indexOf(event.kind) === -1) - return false; + if (filter.kinds && filter.kinds.indexOf(event.kind) === -1) return false; if (filter.authors && filter.authors.indexOf(event.pubkey) === -1) { if (!filter.authors.some((prefix) => event.pubkey.startsWith(prefix))) { return false; @@ -6144,22 +6546,22 @@ zoo`.split("\n"); if (f2[0] === "#") { let tagName = f2.slice(1); let values = filter[`#${tagName}`]; - if (values && !event.tags.find( - ([t, v]) => t === f2.slice(1) && values.indexOf(v) !== -1 - )) + if ( + values && + !event.tags.find( + ([t, v]) => t === f2.slice(1) && values.indexOf(v) !== -1 + ) + ) return false; } } - if (filter.since && event.created_at < filter.since) - return false; - if (filter.until && event.created_at > filter.until) - return false; + if (filter.since && event.created_at < filter.since) return false; + if (filter.until && event.created_at > filter.until) return false; return true; } function matchFilters(filters, event) { for (let i = 0; i < filters.length; i++) { - if (matchFilter(filters[i], event)) - return true; + if (matchFilter(filters[i], event)) return true; } return false; } @@ -6168,12 +6570,16 @@ zoo`.split("\n"); for (let i = 0; i < filters.length; i++) { let filter = filters[i]; Object.entries(filter).forEach(([property, values]) => { - if (property === "kinds" || property === "ids" || property === "authors" || property[0] === "#") { + if ( + property === "kinds" || + property === "ids" || + property === "authors" || + property[0] === "#" + ) { result[property] = result[property] || []; for (let v = 0; v < values.length; v++) { let value = values[v]; - if (!result[property].includes(value)) - result[property].push(value); + if (!result[property].includes(value)) result[property].push(value); } } }); @@ -6195,7 +6601,7 @@ zoo`.split("\n"); getSubscriptionId: () => getSubscriptionId, matchEventId: () => matchEventId, matchEventKind: () => matchEventKind, - matchEventPubkey: () => matchEventPubkey + matchEventPubkey: () => matchEventPubkey, }); init_define_process(); function getHex64(json, field) { @@ -6213,15 +6619,12 @@ zoo`.split("\n"); } function getSubscriptionId(json) { let idx = json.slice(0, 22).indexOf(`"EVENT"`); - if (idx === -1) - return null; + if (idx === -1) return null; let pstart = json.slice(idx + 7 + 1).indexOf(`"`); - if (pstart === -1) - return null; + if (pstart === -1) return null; let start = idx + 7 + 1 + pstart; let pend = json.slice(start + 1, 80).indexOf(`"`); - if (pend === -1) - return null; + if (pend === -1) return null; let end = start + 1 + pend; return json.slice(start + 1, end); } @@ -6241,7 +6644,7 @@ zoo`.split("\n"); disconnect: [], error: [], notice: [], - auth: [] + auth: [], }); function relayInit(url, options = {}) { let { listTimeout = 3e3, getTimeout = 3e3, countTimeout = 3e3 } = options; @@ -6252,8 +6655,7 @@ zoo`.split("\n"); var pubListeners = {}; var connectionPromise; async function connectRelay() { - if (connectionPromise) - return connectionPromise; + if (connectionPromise) return connectionPromise; connectionPromise = new Promise((resolve, reject) => { try { ws = new WebSocket(url); @@ -6288,12 +6690,15 @@ zoo`.split("\n"); return; } var json = incomingMessageQueue.dequeue(); - if (!json) - return; + if (!json) return; let subid = getSubscriptionId(json); if (subid) { let so = openSubs[subid]; - if (so && so.alreadyHaveEvent && so.alreadyHaveEvent(getHex64(json, "id"), url)) { + if ( + so && + so.alreadyHaveEvent && + so.alreadyHaveEvent(getHex64(json, "id"), url) + ) { return; } } @@ -6303,7 +6708,12 @@ zoo`.split("\n"); case "EVENT": { let id2 = data[1]; let event = data[2]; - if (validateEvent(event) && openSubs[id2] && (openSubs[id2].skipVerification || verifySignature(event)) && matchFilters(openSubs[id2].filters, event)) { + if ( + validateEvent(event) && + openSubs[id2] && + (openSubs[id2].skipVerification || verifySignature(event)) && + matchFilters(openSubs[id2].filters, event) + ) { openSubs[id2]; (subListeners[id2]?.event || []).forEach((cb) => cb(event)); } @@ -6313,7 +6723,6 @@ zoo`.split("\n"); let id = data[1]; let payload = data[2]; if (openSubs[id]) { - ; (subListeners[id]?.count || []).forEach((cb) => cb(payload)); } return; @@ -6330,10 +6739,8 @@ zoo`.split("\n"); let ok = data[2]; let reason = data[3] || ""; if (id2 in pubListeners) { - if (ok) - pubListeners[id2].ok.forEach((cb) => cb()); - else - pubListeners[id2].failed.forEach((cb) => cb(reason)); + if (ok) pubListeners[id2].ok.forEach((cb) => cb()); + else pubListeners[id2].failed.forEach((cb) => cb(reason)); pubListeners[id2].ok = []; pubListeners[id2].failed = []; } @@ -6360,8 +6767,7 @@ zoo`.split("\n"); return ws?.readyState === 1; } async function connect() { - if (connected()) - return; + if (connected()) return; await connectRelay(); } async function trySend(params) { @@ -6378,26 +6784,30 @@ zoo`.split("\n"); console.log(err); } } - const sub = (filters, { - verb = "REQ", - skipVerification = false, - alreadyHaveEvent = null, - id = Math.random().toString().slice(2) - } = {}) => { + const sub = ( + filters, + { + verb = "REQ", + skipVerification = false, + alreadyHaveEvent = null, + id = Math.random().toString().slice(2), + } = {} + ) => { let subid = id; openSubs[subid] = { id: subid, filters, skipVerification, - alreadyHaveEvent + alreadyHaveEvent, }; trySend([verb, subid, ...filters]); return { - sub: (newFilters, newOpts = {}) => sub(newFilters || filters, { - skipVerification: newOpts.skipVerification || skipVerification, - alreadyHaveEvent: newOpts.alreadyHaveEvent || alreadyHaveEvent, - id: subid - }), + sub: (newFilters, newOpts = {}) => + sub(newFilters || filters, { + skipVerification: newOpts.skipVerification || skipVerification, + alreadyHaveEvent: newOpts.alreadyHaveEvent || alreadyHaveEvent, + id: subid, + }), unsub: () => { delete openSubs[subid]; delete subListeners[subid]; @@ -6407,39 +6817,35 @@ zoo`.split("\n"); subListeners[subid] = subListeners[subid] || { event: [], count: [], - eose: [] + eose: [], }; subListeners[subid][type].push(cb); }, off: (type, cb) => { let listeners2 = subListeners[subid]; let idx = listeners2[type].indexOf(cb); - if (idx >= 0) - listeners2[type].splice(idx, 1); - } + if (idx >= 0) listeners2[type].splice(idx, 1); + }, }; }; function _publishEvent(event, type) { - if (!event.id) - throw new Error(`event ${event} has no id`); + if (!event.id) throw new Error(`event ${event} has no id`); let id = event.id; trySend([type, event]); return { on: (type2, cb) => { pubListeners[id] = pubListeners[id] || { ok: [], - failed: [] + failed: [], }; pubListeners[id][type2].push(cb); }, off: (type2, cb) => { let listeners2 = pubListeners[id]; - if (!listeners2) - return; + if (!listeners2) return; let idx = listeners2[type2].indexOf(cb); - if (idx >= 0) - listeners2[type2].splice(idx, 1); - } + if (idx >= 0) listeners2[type2].splice(idx, 1); + }, }; } return { @@ -6448,55 +6854,56 @@ zoo`.split("\n"); on: (type, cb) => { listeners[type].push(cb); if (type === "connect" && ws?.readyState === 1) { - ; cb(); } }, off: (type, cb) => { let index = listeners[type].indexOf(cb); - if (index !== -1) - listeners[type].splice(index, 1); + if (index !== -1) listeners[type].splice(index, 1); }, - list: (filters, opts) => new Promise((resolve) => { - let s = sub(filters, opts); - let events = []; - let timeout = setTimeout(() => { - s.unsub(); - resolve(events); - }, listTimeout); - s.on("eose", () => { - s.unsub(); - clearTimeout(timeout); - resolve(events); - }); - s.on("event", (event) => { - events.push(event); - }); - }), - get: (filter, opts) => new Promise((resolve) => { - let s = sub([filter], opts); - let timeout = setTimeout(() => { - s.unsub(); - resolve(null); - }, getTimeout); - s.on("event", (event) => { - s.unsub(); - clearTimeout(timeout); - resolve(event); - }); - }), - count: (filters) => new Promise((resolve) => { - let s = sub(filters, { ...sub, verb: "COUNT" }); - let timeout = setTimeout(() => { - s.unsub(); - resolve(null); - }, countTimeout); - s.on("count", (event) => { - s.unsub(); - clearTimeout(timeout); - resolve(event); - }); - }), + list: (filters, opts) => + new Promise((resolve) => { + let s = sub(filters, opts); + let events = []; + let timeout = setTimeout(() => { + s.unsub(); + resolve(events); + }, listTimeout); + s.on("eose", () => { + s.unsub(); + clearTimeout(timeout); + resolve(events); + }); + s.on("event", (event) => { + events.push(event); + }); + }), + get: (filter, opts) => + new Promise((resolve) => { + let s = sub([filter], opts); + let timeout = setTimeout(() => { + s.unsub(); + resolve(null); + }, getTimeout); + s.on("event", (event) => { + s.unsub(); + clearTimeout(timeout); + resolve(event); + }); + }), + count: (filters) => + new Promise((resolve) => { + let s = sub(filters, { ...sub, verb: "COUNT" }); + let timeout = setTimeout(() => { + s.unsub(); + resolve(null); + }, countTimeout); + s.on("count", (event) => { + s.unsub(); + clearTimeout(timeout); + resolve(event); + }); + }), publish(event) { return _publishEvent(event, "EVENT"); }, @@ -6514,7 +6921,7 @@ zoo`.split("\n"); }, get status() { return ws?.readyState ?? 3; - } + }, }; } @@ -6535,8 +6942,7 @@ zoo`.split("\n"); close(relays) { relays.forEach((url) => { let relay = this._conn[normalizeURL(url)]; - if (relay) - relay.close(); + if (relay) relay.close(); }); } async ensureRelay(url) { @@ -6544,7 +6950,7 @@ zoo`.split("\n"); if (!this._conn[nm]) { this._conn[nm] = relayInit(nm, { getTimeout: this.getTimeout * 0.9, - listTimeout: this.getTimeout * 0.9 + listTimeout: this.getTimeout * 0.9, }); } const relay = this._conn[nm]; @@ -6553,7 +6959,7 @@ zoo`.split("\n"); } sub(relays, filters, opts) { let _knownIds = /* @__PURE__ */ new Set(); - let modifiedOpts = { ...opts || {} }; + let modifiedOpts = { ...(opts || {}) }; modifiedOpts.alreadyHaveEvent = (id, url) => { if (opts?.alreadyHaveEvent?.(id, url)) { return true; @@ -6572,8 +6978,7 @@ zoo`.split("\n"); let eoseSent = false; let eoseTimeout = setTimeout(() => { eoseSent = true; - for (let cb of eoseListeners.values()) - cb(); + for (let cb of eoseListeners.values()) cb(); }, this.eoseSubTimeout); relays.forEach(async (relay) => { let r; @@ -6583,17 +6988,14 @@ zoo`.split("\n"); handleEose(); return; } - if (!r) - return; + if (!r) return; let s = r.sub(filters, modifiedOpts); s.on("event", (event) => { _knownIds.add(event.id); - for (let cb of eventListeners.values()) - cb(event); + for (let cb of eventListeners.values()) cb(event); }); s.on("eose", () => { - if (eoseSent) - return; + if (eoseSent) return; handleEose(); }); subs.push(s); @@ -6601,8 +7003,7 @@ zoo`.split("\n"); eosesMissing--; if (eosesMissing === 0) { clearTimeout(eoseTimeout); - for (let cb of eoseListeners.values()) - cb(); + for (let cb of eoseListeners.values()) cb(); } } }); @@ -6624,9 +7025,8 @@ zoo`.split("\n"); off(type, cb) { if (type === "event") { eventListeners.delete(cb); - } else if (type === "eose") - eoseListeners.delete(cb); - } + } else if (type === "eose") eoseListeners.delete(cb); + }, }; return greaterSub; } @@ -6664,9 +7064,7 @@ zoo`.split("\n"); r = await this.ensureRelay(relay); return r.publish(event); } catch (_) { - return { on() { - }, off() { - } }; + return { on() {}, off() {} }; } }); const callbackMap = /* @__PURE__ */ new Map(); @@ -6687,7 +7085,7 @@ zoo`.split("\n"); pub.off(type, callback); } }); - } + }, }; } seenOn(id) { @@ -6709,46 +7107,62 @@ zoo`.split("\n"); nprofileEncode: () => nprofileEncode, npubEncode: () => npubEncode, nrelayEncode: () => nrelayEncode, - nsecEncode: () => nsecEncode + nsecEncode: () => nsecEncode, }); init_define_process(); // node_modules/@scure/base/lib/esm/index.js init_define_process(); function assertNumber(n) { - if (!Number.isSafeInteger(n)) - throw new Error(`Wrong integer: ${n}`); + if (!Number.isSafeInteger(n)) throw new Error(`Wrong integer: ${n}`); } function chain(...args) { const wrap = (a, b) => (c) => a(b(c)); - const encode = Array.from(args).reverse().reduce((acc, i) => acc ? wrap(acc, i.encode) : i.encode, void 0); - const decode2 = args.reduce((acc, i) => acc ? wrap(acc, i.decode) : i.decode, void 0); + const encode = Array.from(args) + .reverse() + .reduce((acc, i) => (acc ? wrap(acc, i.encode) : i.encode), void 0); + const decode2 = args.reduce( + (acc, i) => (acc ? wrap(acc, i.decode) : i.decode), + void 0 + ); return { encode, decode: decode2 }; } function alphabet(alphabet2) { return { encode: (digits) => { - if (!Array.isArray(digits) || digits.length && typeof digits[0] !== "number") - throw new Error("alphabet.encode input should be an array of numbers"); + if ( + !Array.isArray(digits) || + (digits.length && typeof digits[0] !== "number") + ) + throw new Error( + "alphabet.encode input should be an array of numbers" + ); return digits.map((i) => { assertNumber(i); if (i < 0 || i >= alphabet2.length) - throw new Error(`Digit index outside alphabet: ${i} (alphabet: ${alphabet2.length})`); + throw new Error( + `Digit index outside alphabet: ${i} (alphabet: ${alphabet2.length})` + ); return alphabet2[i]; }); }, decode: (input) => { - if (!Array.isArray(input) || input.length && typeof input[0] !== "string") + if ( + !Array.isArray(input) || + (input.length && typeof input[0] !== "string") + ) throw new Error("alphabet.decode input should be array of strings"); return input.map((letter) => { if (typeof letter !== "string") throw new Error(`alphabet.decode: not string element=${letter}`); const index = alphabet2.indexOf(letter); if (index === -1) - throw new Error(`Unknown letter: "${letter}". Allowed: ${alphabet2}`); + throw new Error( + `Unknown letter: "${letter}". Allowed: ${alphabet2}` + ); return index; }); - } + }, }; } function join(separator = "") { @@ -6756,7 +7170,10 @@ zoo`.split("\n"); throw new Error("join separator should be string"); return { encode: (from) => { - if (!Array.isArray(from) || from.length && typeof from[0] !== "string") + if ( + !Array.isArray(from) || + (from.length && typeof from[0] !== "string") + ) throw new Error("join.encode input should be array of strings"); for (let i of from) if (typeof i !== "string") @@ -6767,7 +7184,7 @@ zoo`.split("\n"); if (typeof to !== "string") throw new Error("join.decode input should be string"); return to.split(separator); - } + }, }; } function padding(bits, chr = "=") { @@ -6776,30 +7193,37 @@ zoo`.split("\n"); throw new Error("padding chr should be string"); return { encode(data) { - if (!Array.isArray(data) || data.length && typeof data[0] !== "string") + if ( + !Array.isArray(data) || + (data.length && typeof data[0] !== "string") + ) throw new Error("padding.encode input should be array of strings"); for (let i of data) if (typeof i !== "string") throw new Error(`padding.encode: non-string input=${i}`); - while (data.length * bits % 8) - data.push(chr); + while ((data.length * bits) % 8) data.push(chr); return data; }, decode(input) { - if (!Array.isArray(input) || input.length && typeof input[0] !== "string") + if ( + !Array.isArray(input) || + (input.length && typeof input[0] !== "string") + ) throw new Error("padding.encode input should be array of strings"); for (let i of input) if (typeof i !== "string") throw new Error(`padding.decode: non-string input=${i}`); let end = input.length; - if (end * bits % 8) - throw new Error("Invalid padding: string should have whole number of bytes"); + if ((end * bits) % 8) + throw new Error( + "Invalid padding: string should have whole number of bytes" + ); for (; end > 0 && input[end - 1] === chr; end--) { - if (!((end - 1) * bits % 8)) + if (!(((end - 1) * bits) % 8)) throw new Error("Invalid padding: string has too much padding"); } return input.slice(0, end); - } + }, }; } function normalize(fn) { @@ -6809,20 +7233,22 @@ zoo`.split("\n"); } function convertRadix(data, from, to) { if (from < 2) - throw new Error(`convertRadix: wrong from=${from}, base cannot be less than 2`); + throw new Error( + `convertRadix: wrong from=${from}, base cannot be less than 2` + ); if (to < 2) - throw new Error(`convertRadix: wrong to=${to}, base cannot be less than 2`); + throw new Error( + `convertRadix: wrong to=${to}, base cannot be less than 2` + ); if (!Array.isArray(data)) throw new Error("convertRadix: data should be array"); - if (!data.length) - return []; + if (!data.length) return []; let pos = 0; const res = []; const digits = Array.from(data); digits.forEach((d) => { assertNumber(d); - if (d < 0 || d >= from) - throw new Error(`Wrong integer: ${d}`); + if (d < 0 || d >= from) throw new Error(`Wrong integer: ${d}`); }); while (true) { let carry = 0; @@ -6830,39 +7256,45 @@ zoo`.split("\n"); for (let i = pos; i < digits.length; i++) { const digit = digits[i]; const digitBase = from * carry + digit; - if (!Number.isSafeInteger(digitBase) || from * carry / from !== carry || digitBase - digit !== from * carry) { + if ( + !Number.isSafeInteger(digitBase) || + (from * carry) / from !== carry || + digitBase - digit !== from * carry + ) { throw new Error("convertRadix: carry overflow"); } carry = digitBase % to; digits[i] = Math.floor(digitBase / to); - if (!Number.isSafeInteger(digits[i]) || digits[i] * to + carry !== digitBase) + if ( + !Number.isSafeInteger(digits[i]) || + digits[i] * to + carry !== digitBase + ) throw new Error("convertRadix: carry overflow"); - if (!done) - continue; - else if (!digits[i]) - pos = i; - else - done = false; + if (!done) continue; + else if (!digits[i]) pos = i; + else done = false; } res.push(carry); - if (done) - break; + if (done) break; } - for (let i = 0; i < data.length - 1 && data[i] === 0; i++) - res.push(0); + for (let i = 0; i < data.length - 1 && data[i] === 0; i++) res.push(0); return res.reverse(); } - var gcd = (a, b) => !b ? a : gcd(b, a % b); + var gcd = (a, b) => (!b ? a : gcd(b, a % b)); var radix2carry = (from, to) => from + (to - gcd(from, to)); function convertRadix2(data, from, to, padding2) { if (!Array.isArray(data)) throw new Error("convertRadix2: data should be array"); if (from <= 0 || from > 32) throw new Error(`convertRadix2: wrong from=${from}`); - if (to <= 0 || to > 32) - throw new Error(`convertRadix2: wrong to=${to}`); + if (to <= 0 || to > 32) throw new Error(`convertRadix2: wrong to=${to}`); if (radix2carry(from, to) > 32) { - throw new Error(`convertRadix2: carry overflow from=${from} to=${to} carryBits=${radix2carry(from, to)}`); + throw new Error( + `convertRadix2: carry overflow from=${from} to=${to} carryBits=${radix2carry( + from, + to + )}` + ); } let carry = 0; let pos = 0; @@ -6872,21 +7304,20 @@ zoo`.split("\n"); assertNumber(n); if (n >= 2 ** from) throw new Error(`convertRadix2: invalid data word=${n} from=${from}`); - carry = carry << from | n; + carry = (carry << from) | n; if (pos + from > 32) - throw new Error(`convertRadix2: carry overflow pos=${pos} from=${from}`); + throw new Error( + `convertRadix2: carry overflow pos=${pos} from=${from}` + ); pos += from; for (; pos >= to; pos -= to) - res.push((carry >> pos - to & mask) >>> 0); + res.push(((carry >> (pos - to)) & mask) >>> 0); carry &= 2 ** pos - 1; } - carry = carry << to - pos & mask; - if (!padding2 && pos >= from) - throw new Error("Excess padding"); - if (!padding2 && carry) - throw new Error(`Non-zero padding: ${carry}`); - if (padding2 && pos > 0) - res.push(carry >>> 0); + carry = (carry << (to - pos)) & mask; + if (!padding2 && pos >= from) throw new Error("Excess padding"); + if (!padding2 && carry) throw new Error(`Non-zero padding: ${carry}`); + if (padding2 && pos > 0) res.push(carry >>> 0); return res; } function radix(num) { @@ -6898,10 +7329,13 @@ zoo`.split("\n"); return convertRadix(Array.from(bytes2), 2 ** 8, num); }, decode: (digits) => { - if (!Array.isArray(digits) || digits.length && typeof digits[0] !== "number") + if ( + !Array.isArray(digits) || + (digits.length && typeof digits[0] !== "number") + ) throw new Error("radix.decode input should be array of strings"); return Uint8Array.from(convertRadix(digits, num, 2 ** 8)); - } + }, }; } function radix2(bits, revPadding = false) { @@ -6917,20 +7351,22 @@ zoo`.split("\n"); return convertRadix2(Array.from(bytes2), 8, bits, !revPadding); }, decode: (digits) => { - if (!Array.isArray(digits) || digits.length && typeof digits[0] !== "number") + if ( + !Array.isArray(digits) || + (digits.length && typeof digits[0] !== "number") + ) throw new Error("radix2.decode input should be array of strings"); return Uint8Array.from(convertRadix2(digits, bits, 8, revPadding)); - } + }, }; } function unsafeWrapper(fn) { if (typeof fn !== "function") throw new Error("unsafeWrapper fn should be function"); - return function(...args) { + return function (...args) { try { return fn.apply(null, args); - } catch (e) { - } + } catch (e) {} }; } function checksum(len, fn) { @@ -6957,19 +7393,54 @@ zoo`.split("\n"); if (newChecksum[i] !== oldChecksum[i]) throw new Error("Invalid checksum"); return payload; - } + }, }; } var base16 = chain(radix2(4), alphabet("0123456789ABCDEF"), join("")); - var base32 = chain(radix2(5), alphabet("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"), padding(5), join("")); - var base32hex = chain(radix2(5), alphabet("0123456789ABCDEFGHIJKLMNOPQRSTUV"), padding(5), join("")); - var base32crockford = chain(radix2(5), alphabet("0123456789ABCDEFGHJKMNPQRSTVWXYZ"), join(""), normalize((s) => s.toUpperCase().replace(/O/g, "0").replace(/[IL]/g, "1"))); - var base64 = chain(radix2(6), alphabet("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"), padding(6), join("")); - var base64url = chain(radix2(6), alphabet("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"), padding(6), join("")); + var base32 = chain( + radix2(5), + alphabet("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"), + padding(5), + join("") + ); + var base32hex = chain( + radix2(5), + alphabet("0123456789ABCDEFGHIJKLMNOPQRSTUV"), + padding(5), + join("") + ); + var base32crockford = chain( + radix2(5), + alphabet("0123456789ABCDEFGHJKMNPQRSTVWXYZ"), + join(""), + normalize((s) => s.toUpperCase().replace(/O/g, "0").replace(/[IL]/g, "1")) + ); + var base64 = chain( + radix2(6), + alphabet( + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" + ), + padding(6), + join("") + ); + var base64url = chain( + radix2(6), + alphabet( + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_" + ), + padding(6), + join("") + ); var genBase58 = (abc) => chain(radix(58), alphabet(abc), join("")); - var base58 = genBase58("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"); - var base58flickr = genBase58("123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"); - var base58xrp = genBase58("rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz"); + var base58 = genBase58( + "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz" + ); + var base58flickr = genBase58( + "123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ" + ); + var base58xrp = genBase58( + "rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz" + ); var XMR_BLOCK_LEN = [0, 2, 3, 5, 6, 7, 9, 10, 11]; var base58xmr = { encode(data) { @@ -6987,23 +7458,30 @@ zoo`.split("\n"); const blockLen = XMR_BLOCK_LEN.indexOf(slice.length); const block = base58.decode(slice); for (let j = 0; j < block.length - blockLen; j++) { - if (block[j] !== 0) - throw new Error("base58xmr: wrong padding"); + if (block[j] !== 0) throw new Error("base58xmr: wrong padding"); } res = res.concat(Array.from(block.slice(block.length - blockLen))); } return Uint8Array.from(res); - } + }, }; - var base58check = (sha2562) => chain(checksum(4, (data) => sha2562(sha2562(data))), base58); - var BECH_ALPHABET = chain(alphabet("qpzry9x8gf2tvdw0s3jn54khce6mua7l"), join("")); - var POLYMOD_GENERATORS = [996825010, 642813549, 513874426, 1027748829, 705979059]; + var base58check = (sha2562) => + chain( + checksum(4, (data) => sha2562(sha2562(data))), + base58 + ); + var BECH_ALPHABET = chain( + alphabet("qpzry9x8gf2tvdw0s3jn54khce6mua7l"), + join("") + ); + var POLYMOD_GENERATORS = [ + 996825010, 642813549, 513874426, 1027748829, 705979059, + ]; function bech32Polymod(pre) { const b = pre >> 25; let chk = (pre & 33554431) << 5; for (let i = 0; i < POLYMOD_GENERATORS.length; i++) { - if ((b >> i & 1) === 1) - chk ^= POLYMOD_GENERATORS[i]; + if (((b >> i) & 1) === 1) chk ^= POLYMOD_GENERATORS[i]; } return chk; } @@ -7012,17 +7490,14 @@ zoo`.split("\n"); let chk = 1; for (let i = 0; i < len; i++) { const c = prefix.charCodeAt(i); - if (c < 33 || c > 126) - throw new Error(`Invalid prefix (${prefix})`); - chk = bech32Polymod(chk) ^ c >> 5; + if (c < 33 || c > 126) throw new Error(`Invalid prefix (${prefix})`); + chk = bech32Polymod(chk) ^ (c >> 5); } chk = bech32Polymod(chk); for (let i = 0; i < len; i++) - chk = bech32Polymod(chk) ^ prefix.charCodeAt(i) & 31; - for (let v of words) - chk = bech32Polymod(chk) ^ v; - for (let i = 0; i < 6; i++) - chk = bech32Polymod(chk); + chk = bech32Polymod(chk) ^ (prefix.charCodeAt(i) & 31); + for (let v of words) chk = bech32Polymod(chk) ^ v; + for (let i = 0; i < 6; i++) chk = bech32Polymod(chk); chk ^= encodingConst; return BECH_ALPHABET.encode(convertRadix2([chk % 2 ** 30], 30, 5, false)); } @@ -7034,27 +7509,44 @@ zoo`.split("\n"); const fromWordsUnsafe = unsafeWrapper(fromWords); function encode(prefix, words, limit = 90) { if (typeof prefix !== "string") - throw new Error(`bech32.encode prefix should be string, not ${typeof prefix}`); - if (!Array.isArray(words) || words.length && typeof words[0] !== "number") - throw new Error(`bech32.encode words should be array of numbers, not ${typeof words}`); + throw new Error( + `bech32.encode prefix should be string, not ${typeof prefix}` + ); + if ( + !Array.isArray(words) || + (words.length && typeof words[0] !== "number") + ) + throw new Error( + `bech32.encode words should be array of numbers, not ${typeof words}` + ); const actualLength = prefix.length + 7 + words.length; if (limit !== false && actualLength > limit) throw new TypeError(`Length ${actualLength} exceeds limit ${limit}`); prefix = prefix.toLowerCase(); - return `${prefix}1${BECH_ALPHABET.encode(words)}${bechChecksum(prefix, words, ENCODING_CONST)}`; + return `${prefix}1${BECH_ALPHABET.encode(words)}${bechChecksum( + prefix, + words, + ENCODING_CONST + )}`; } function decode2(str, limit = 90) { if (typeof str !== "string") - throw new Error(`bech32.decode input should be string, not ${typeof str}`); - if (str.length < 8 || limit !== false && str.length > limit) - throw new TypeError(`Wrong string length: ${str.length} (${str}). Expected (8..${limit})`); + throw new Error( + `bech32.decode input should be string, not ${typeof str}` + ); + if (str.length < 8 || (limit !== false && str.length > limit)) + throw new TypeError( + `Wrong string length: ${str.length} (${str}). Expected (8..${limit})` + ); const lowered = str.toLowerCase(); if (str !== lowered && str !== str.toUpperCase()) throw new Error(`String must be lowercase or uppercase`); str = lowered; const sepIndex = str.lastIndexOf("1"); if (sepIndex === 0 || sepIndex === -1) - throw new Error(`Letter "1" must be present between prefix and data only`); + throw new Error( + `Letter "1" must be present between prefix and data only` + ); const prefix = str.slice(0, sepIndex); const _words2 = str.slice(sepIndex + 1); if (_words2.length < 6) @@ -7070,19 +7562,34 @@ zoo`.split("\n"); const { prefix, words } = decode2(str, false); return { prefix, words, bytes: fromWords(words) }; } - return { encode, decode: decode2, decodeToBytes, decodeUnsafe, fromWords, fromWordsUnsafe, toWords }; + return { + encode, + decode: decode2, + decodeToBytes, + decodeUnsafe, + fromWords, + fromWordsUnsafe, + toWords, + }; } var bech32 = genBech32("bech32"); var bech32m = genBech32("bech32m"); var utf8 = { encode: (data) => new TextDecoder().decode(data), - decode: (str) => new TextEncoder().encode(str) + decode: (str) => new TextEncoder().encode(str), }; - var hex = chain(radix2(4), alphabet("0123456789abcdef"), join(""), normalize((s) => { - if (typeof s !== "string" || s.length % 2) - throw new TypeError(`hex.decode: expected string, got ${typeof s} with length ${s.length}`); - return s.toLowerCase(); - })); + var hex = chain( + radix2(4), + alphabet("0123456789abcdef"), + join(""), + normalize((s) => { + if (typeof s !== "string" || s.length % 2) + throw new TypeError( + `hex.decode: expected string, got ${typeof s} with length ${s.length}` + ); + return s.toLowerCase(); + }) + ); var CODERS = { utf8, hex, @@ -7091,9 +7598,11 @@ zoo`.split("\n"); base64, base64url, base58, - base58xmr + base58xmr, }; - var coderTypeError = `Invalid encoding type. Available types: ${Object.keys(CODERS).join(", ")}`; + var coderTypeError = `Invalid encoding type. Available types: ${Object.keys( + CODERS + ).join(", ")}`; // nip19.ts var Bech32MaxSize = 5e3; @@ -7104,22 +7613,20 @@ zoo`.split("\n"); switch (prefix) { case "nprofile": { let tlv = parseTLV(data); - if (!tlv[0]?.[0]) - throw new Error("missing TLV 0 for nprofile"); + if (!tlv[0]?.[0]) throw new Error("missing TLV 0 for nprofile"); if (tlv[0][0].length !== 32) throw new Error("TLV 0 should be 32 bytes"); return { type: "nprofile", data: { pubkey: bytesToHex(tlv[0][0]), - relays: tlv[1] ? tlv[1].map((d) => utf8Decoder.decode(d)) : [] - } + relays: tlv[1] ? tlv[1].map((d) => utf8Decoder.decode(d)) : [], + }, }; } case "nevent": { let tlv = parseTLV(data); - if (!tlv[0]?.[0]) - throw new Error("missing TLV 0 for nevent"); + if (!tlv[0]?.[0]) throw new Error("missing TLV 0 for nevent"); if (tlv[0][0].length !== 32) throw new Error("TLV 0 should be 32 bytes"); if (tlv[2] && tlv[2][0].length !== 32) @@ -7129,39 +7636,34 @@ zoo`.split("\n"); data: { id: bytesToHex(tlv[0][0]), relays: tlv[1] ? tlv[1].map((d) => utf8Decoder.decode(d)) : [], - author: tlv[2]?.[0] ? bytesToHex(tlv[2][0]) : void 0 - } + author: tlv[2]?.[0] ? bytesToHex(tlv[2][0]) : void 0, + }, }; } case "naddr": { let tlv = parseTLV(data); - if (!tlv[0]?.[0]) - throw new Error("missing TLV 0 for naddr"); - if (!tlv[2]?.[0]) - throw new Error("missing TLV 2 for naddr"); + if (!tlv[0]?.[0]) throw new Error("missing TLV 0 for naddr"); + if (!tlv[2]?.[0]) throw new Error("missing TLV 2 for naddr"); if (tlv[2][0].length !== 32) throw new Error("TLV 2 should be 32 bytes"); - if (!tlv[3]?.[0]) - throw new Error("missing TLV 3 for naddr"); - if (tlv[3][0].length !== 4) - throw new Error("TLV 3 should be 4 bytes"); + if (!tlv[3]?.[0]) throw new Error("missing TLV 3 for naddr"); + if (tlv[3][0].length !== 4) throw new Error("TLV 3 should be 4 bytes"); return { type: "naddr", data: { identifier: utf8Decoder.decode(tlv[0][0]), pubkey: bytesToHex(tlv[2][0]), kind: parseInt(bytesToHex(tlv[3][0]), 16), - relays: tlv[1] ? tlv[1].map((d) => utf8Decoder.decode(d)) : [] - } + relays: tlv[1] ? tlv[1].map((d) => utf8Decoder.decode(d)) : [], + }, }; } case "nrelay": { let tlv = parseTLV(data); - if (!tlv[0]?.[0]) - throw new Error("missing TLV 0 for nrelay"); + if (!tlv[0]?.[0]) throw new Error("missing TLV 0 for nrelay"); return { type: "nrelay", - data: utf8Decoder.decode(tlv[0][0]) + data: utf8Decoder.decode(tlv[0][0]), }; } case "nsec": @@ -7178,12 +7680,10 @@ zoo`.split("\n"); while (rest.length > 0) { let t = rest[0]; let l = rest[1]; - if (!l) - throw new Error(`malformed TLV ${t}`); + if (!l) throw new Error(`malformed TLV ${t}`); let v = rest.slice(2, 2 + l); rest = rest.slice(2 + l); - if (v.length < l) - throw new Error(`not enough data to read on TLV ${t}`); + if (v.length < l) throw new Error(`not enough data to read on TLV ${t}`); result[t] = result[t] || []; result[t].push(v); } @@ -7209,7 +7709,7 @@ zoo`.split("\n"); function nprofileEncode(profile) { let data = encodeTLV({ 0: [hexToBytes(profile.pubkey)], - 1: (profile.relays || []).map((url) => utf8Encoder.encode(url)) + 1: (profile.relays || []).map((url) => utf8Encoder.encode(url)), }); return encodeBech32("nprofile", data); } @@ -7217,7 +7717,7 @@ zoo`.split("\n"); let data = encodeTLV({ 0: [hexToBytes(event.id)], 1: (event.relays || []).map((url) => utf8Encoder.encode(url)), - 2: event.author ? [hexToBytes(event.author)] : [] + 2: event.author ? [hexToBytes(event.author)] : [], }); return encodeBech32("nevent", data); } @@ -7228,13 +7728,13 @@ zoo`.split("\n"); 0: [utf8Encoder.encode(addr.identifier)], 1: (addr.relays || []).map((url) => utf8Encoder.encode(url)), 2: [hexToBytes(addr.pubkey)], - 3: [new Uint8Array(kind)] + 3: [new Uint8Array(kind)], }); return encodeBech32("naddr", data); } function nrelayEncode(url) { let data = encodeTLV({ - 0: [utf8Encoder.encode(url)] + 0: [utf8Encoder.encode(url)], }); return encodeBech32("nrelay", data); } @@ -7253,7 +7753,8 @@ zoo`.split("\n"); } // references.ts - var mentionRegex = /\bnostr:((note|npub|naddr|nevent|nprofile)1\w+)\b|#\[(\d+)\]/g; + var mentionRegex = + /\bnostr:((note|npub|naddr|nevent|nprofile)1\w+)\b|#\[(\d+)\]/g; function parseReferences(evt) { let references = []; for (let ref of evt.content.matchAll(mentionRegex)) { @@ -7264,58 +7765,56 @@ zoo`.split("\n"); case "npub": { references.push({ text: ref[0], - profile: { pubkey: data, relays: [] } + profile: { pubkey: data, relays: [] }, }); break; } case "nprofile": { references.push({ text: ref[0], - profile: data + profile: data, }); break; } case "note": { references.push({ text: ref[0], - event: { id: data, relays: [] } + event: { id: data, relays: [] }, }); break; } case "nevent": { references.push({ text: ref[0], - event: data + event: data, }); break; } case "naddr": { references.push({ text: ref[0], - address: data + address: data, }); break; } } - } catch (err) { - } + } catch (err) {} } else if (ref[3]) { let idx = parseInt(ref[3], 10); let tag = evt.tags[idx]; - if (!tag) - continue; + if (!tag) continue; switch (tag[0]) { case "p": { references.push({ text: ref[0], - profile: { pubkey: tag[1], relays: tag[2] ? [tag[2]] : [] } + profile: { pubkey: tag[1], relays: tag[2] ? [tag[2]] : [] }, }); break; } case "e": { references.push({ text: ref[0], - event: { id: tag[1], relays: tag[2] ? [tag[2]] : [] } + event: { id: tag[1], relays: tag[2] ? [tag[2]] : [] }, }); break; } @@ -7328,11 +7827,10 @@ zoo`.split("\n"); identifier, pubkey, kind: parseInt(kind, 10), - relays: tag[2] ? [tag[2]] : [] - } + relays: tag[2] ? [tag[2]] : [], + }, }); - } catch (err) { - } + } catch (err) {} break; } } @@ -7345,7 +7843,7 @@ zoo`.split("\n"); var nip04_exports = {}; __export(nip04_exports, { decrypt: () => decrypt, - encrypt: () => encrypt + encrypt: () => encrypt, }); init_define_process(); if (typeof crypto !== "undefined" && !crypto.subtle && crypto.webcrypto) { @@ -7403,21 +7901,22 @@ zoo`.split("\n"); NIP05_REGEX: () => NIP05_REGEX, queryProfile: () => queryProfile, searchDomain: () => searchDomain, - useFetchImplementation: () => useFetchImplementation + useFetchImplementation: () => useFetchImplementation, }); init_define_process(); var NIP05_REGEX = /^(?:([\w.+-]+)@)?([\w.-]+)$/; var _fetch; try { _fetch = fetch; - } catch { - } + } catch {} function useFetchImplementation(fetchImplementation) { _fetch = fetchImplementation; } async function searchDomain(domain, query = "") { try { - let res = await (await _fetch(`https://${domain}/.well-known/nostr.json?name=${query}`)).json(); + let res = await ( + await _fetch(`https://${domain}/.well-known/nostr.json?name=${query}`) + ).json(); return res.names; } catch (_) { return {}; @@ -7425,11 +7924,12 @@ zoo`.split("\n"); } async function queryProfile(fullname) { const match = fullname.match(NIP05_REGEX); - if (!match) - return null; + if (!match) return null; const [_, name = "_", domain] = match; try { - const res = await _fetch(`https://${domain}/.well-known/nostr.json?name=${name}`); + const res = await _fetch( + `https://${domain}/.well-known/nostr.json?name=${name}` + ); const { names, relays } = parseNIP05Result(await res.json()); const pubkey = names[name]; return pubkey ? { pubkey, relays: relays?.[pubkey] } : null; @@ -7439,7 +7939,7 @@ zoo`.split("\n"); } function parseNIP05Result(json) { const result = { - names: {} + names: {}, }; for (const [name, pubkey] of Object.entries(json.names)) { if (typeof name === "string" && typeof pubkey === "string") { @@ -7450,7 +7950,9 @@ zoo`.split("\n"); result.relays = {}; for (const [pubkey, relays] of Object.entries(json.relays)) { if (typeof pubkey === "string" && Array.isArray(relays)) { - result.relays[pubkey] = relays.filter((relay) => typeof relay === "string"); + result.relays[pubkey] = relays.filter( + (relay) => typeof relay === "string" + ); } } } @@ -7462,7 +7964,7 @@ zoo`.split("\n"); __export(nip06_exports, { generateSeedWords: () => generateSeedWords, privateKeyFromSeedWords: () => privateKeyFromSeedWords, - validateWords: () => validateWords + validateWords: () => validateWords, }); init_define_process(); var import_english = __toESM(require_english()); @@ -7473,37 +7975,33 @@ zoo`.split("\n"); // node_modules/@noble/hashes/esm/ripemd160.js init_define_process(); - var Rho = new Uint8Array([7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8]); + var Rho = new Uint8Array([ + 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, + ]); var Id = Uint8Array.from({ length: 16 }, (_, i) => i); var Pi = Id.map((i) => (9 * i + 5) % 16); var idxL = [Id]; var idxR = [Pi]; for (let i = 0; i < 4; i++) - for (let j of [idxL, idxR]) - j.push(j[i].map((k) => Rho[k])); + for (let j of [idxL, idxR]) j.push(j[i].map((k) => Rho[k])); var shifts = [ [11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8], [12, 13, 11, 15, 6, 9, 9, 7, 12, 15, 11, 13, 7, 8, 7, 7], [13, 15, 14, 11, 7, 7, 6, 8, 13, 14, 13, 12, 5, 5, 6, 9], [14, 11, 12, 14, 8, 6, 5, 5, 15, 12, 15, 14, 9, 9, 8, 6], - [15, 12, 13, 13, 9, 5, 8, 6, 14, 11, 12, 11, 8, 6, 5, 5] + [15, 12, 13, 13, 9, 5, 8, 6, 14, 11, 12, 11, 8, 6, 5, 5], ].map((i) => new Uint8Array(i)); var shiftsL = idxL.map((idx, i) => idx.map((j) => shifts[i][j])); var shiftsR = idxR.map((idx, i) => idx.map((j) => shifts[i][j])); var Kl = new Uint32Array([0, 1518500249, 1859775393, 2400959708, 2840853838]); var Kr = new Uint32Array([1352829926, 1548603684, 1836072691, 2053994217, 0]); - var rotl = (word, shift) => word << shift | word >>> 32 - shift; + var rotl = (word, shift) => (word << shift) | (word >>> (32 - shift)); function f(group, x, y, z) { - if (group === 0) - return x ^ y ^ z; - else if (group === 1) - return x & y | ~x & z; - else if (group === 2) - return (x | ~y) ^ z; - else if (group === 3) - return x & z | y & ~z; - else - return x ^ (y | ~z); + if (group === 0) return x ^ y ^ z; + else if (group === 1) return (x & y) | (~x & z); + else if (group === 2) return (x | ~y) ^ z; + else if (group === 3) return (x & z) | (y & ~z); + else return x ^ (y | ~z); } var BUF = new Uint32Array(16); var RIPEMD160 = class extends SHA2 { @@ -7529,22 +8027,44 @@ zoo`.split("\n"); process(view, offset) { for (let i = 0; i < 16; i++, offset += 4) BUF[i] = view.getUint32(offset, true); - let al = this.h0 | 0, ar = al, bl = this.h1 | 0, br = bl, cl = this.h2 | 0, cr = cl, dl = this.h3 | 0, dr = dl, el = this.h4 | 0, er = el; + let al = this.h0 | 0, + ar = al, + bl = this.h1 | 0, + br = bl, + cl = this.h2 | 0, + cr = cl, + dl = this.h3 | 0, + dr = dl, + el = this.h4 | 0, + er = el; for (let group = 0; group < 5; group++) { const rGroup = 4 - group; - const hbl = Kl[group], hbr = Kr[group]; - const rl = idxL[group], rr = idxR[group]; - const sl = shiftsL[group], sr = shiftsR[group]; + const hbl = Kl[group], + hbr = Kr[group]; + const rl = idxL[group], + rr = idxR[group]; + const sl = shiftsL[group], + sr = shiftsR[group]; for (let i = 0; i < 16; i++) { - const tl = rotl(al + f(group, bl, cl, dl) + BUF[rl[i]] + hbl, sl[i]) + el | 0; - al = el, el = dl, dl = rotl(cl, 10) | 0, cl = bl, bl = tl; + const tl = + (rotl(al + f(group, bl, cl, dl) + BUF[rl[i]] + hbl, sl[i]) + el) | + 0; + (al = el), (el = dl), (dl = rotl(cl, 10) | 0), (cl = bl), (bl = tl); } for (let i = 0; i < 16; i++) { - const tr = rotl(ar + f(rGroup, br, cr, dr) + BUF[rr[i]] + hbr, sr[i]) + er | 0; - ar = er, er = dr, dr = rotl(cr, 10) | 0, cr = br, br = tr; + const tr = + (rotl(ar + f(rGroup, br, cr, dr) + BUF[rr[i]] + hbr, sr[i]) + er) | + 0; + (ar = er), (er = dr), (dr = rotl(cr, 10) | 0), (cr = br), (br = tr); } } - this.set(this.h1 + cl + dr | 0, this.h2 + dl + er | 0, this.h3 + el + ar | 0, this.h4 + al + br | 0, this.h0 + bl + cr | 0); + this.set( + (this.h1 + cl + dr) | 0, + (this.h2 + dl + er) | 0, + (this.h3 + el + ar) | 0, + (this.h4 + al + br) | 0, + (this.h0 + bl + cr) | 0 + ); } roundClean() { BUF.fill(0); @@ -7566,8 +8086,11 @@ zoo`.split("\n"); var _32n = BigInt(32); function fromBig(n, le = false) { if (le) - return { h: Number(n & U32_MASK64), l: Number(n >> _32n & U32_MASK64) }; - return { h: Number(n >> _32n & U32_MASK64) | 0, l: Number(n & U32_MASK64) | 0 }; + return { h: Number(n & U32_MASK64), l: Number((n >> _32n) & U32_MASK64) }; + return { + h: Number((n >> _32n) & U32_MASK64) | 0, + l: Number(n & U32_MASK64) | 0, + }; } function split(lst, le = false) { let Ah = new Uint32Array(lst.length); @@ -7578,29 +8101,33 @@ zoo`.split("\n"); } return [Ah, Al]; } - var toBig = (h, l) => BigInt(h >>> 0) << _32n | BigInt(l >>> 0); + var toBig = (h, l) => (BigInt(h >>> 0) << _32n) | BigInt(l >>> 0); var shrSH = (h, l, s) => h >>> s; - var shrSL = (h, l, s) => h << 32 - s | l >>> s; - var rotrSH = (h, l, s) => h >>> s | l << 32 - s; - var rotrSL = (h, l, s) => h << 32 - s | l >>> s; - var rotrBH = (h, l, s) => h << 64 - s | l >>> s - 32; - var rotrBL = (h, l, s) => h >>> s - 32 | l << 64 - s; + var shrSL = (h, l, s) => (h << (32 - s)) | (l >>> s); + var rotrSH = (h, l, s) => (h >>> s) | (l << (32 - s)); + var rotrSL = (h, l, s) => (h << (32 - s)) | (l >>> s); + var rotrBH = (h, l, s) => (h << (64 - s)) | (l >>> (s - 32)); + var rotrBL = (h, l, s) => (h >>> (s - 32)) | (l << (64 - s)); var rotr32H = (h, l) => l; var rotr32L = (h, l) => h; - var rotlSH = (h, l, s) => h << s | l >>> 32 - s; - var rotlSL = (h, l, s) => l << s | h >>> 32 - s; - var rotlBH = (h, l, s) => l << s - 32 | h >>> 64 - s; - var rotlBL = (h, l, s) => h << s - 32 | l >>> 64 - s; + var rotlSH = (h, l, s) => (h << s) | (l >>> (32 - s)); + var rotlSL = (h, l, s) => (l << s) | (h >>> (32 - s)); + var rotlBH = (h, l, s) => (l << (s - 32)) | (h >>> (64 - s)); + var rotlBL = (h, l, s) => (h << (s - 32)) | (l >>> (64 - s)); function add(Ah, Al, Bh, Bl) { const l = (Al >>> 0) + (Bl >>> 0); - return { h: Ah + Bh + (l / 2 ** 32 | 0) | 0, l: l | 0 }; + return { h: (Ah + Bh + ((l / 2 ** 32) | 0)) | 0, l: l | 0 }; } var add3L = (Al, Bl, Cl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0); - var add3H = (low, Ah, Bh, Ch) => Ah + Bh + Ch + (low / 2 ** 32 | 0) | 0; - var add4L = (Al, Bl, Cl, Dl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0); - var add4H = (low, Ah, Bh, Ch, Dh) => Ah + Bh + Ch + Dh + (low / 2 ** 32 | 0) | 0; - var add5L = (Al, Bl, Cl, Dl, El) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0) + (El >>> 0); - var add5H = (low, Ah, Bh, Ch, Dh, Eh) => Ah + Bh + Ch + Dh + Eh + (low / 2 ** 32 | 0) | 0; + var add3H = (low, Ah, Bh, Ch) => (Ah + Bh + Ch + ((low / 2 ** 32) | 0)) | 0; + var add4L = (Al, Bl, Cl, Dl) => + (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0); + var add4H = (low, Ah, Bh, Ch, Dh) => + (Ah + Bh + Ch + Dh + ((low / 2 ** 32) | 0)) | 0; + var add5L = (Al, Bl, Cl, Dl, El) => + (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0) + (El >>> 0); + var add5H = (low, Ah, Bh, Ch, Dh, Eh) => + (Ah + Bh + Ch + Dh + Eh + ((low / 2 ** 32) | 0)) | 0; var u64 = { fromBig, split, @@ -7623,93 +8150,95 @@ zoo`.split("\n"); add4L, add4H, add5H, - add5L + add5L, }; var u64_default = u64; // node_modules/@noble/hashes/esm/sha512.js - var [SHA512_Kh, SHA512_Kl] = u64_default.split([ - "0x428a2f98d728ae22", - "0x7137449123ef65cd", - "0xb5c0fbcfec4d3b2f", - "0xe9b5dba58189dbbc", - "0x3956c25bf348b538", - "0x59f111f1b605d019", - "0x923f82a4af194f9b", - "0xab1c5ed5da6d8118", - "0xd807aa98a3030242", - "0x12835b0145706fbe", - "0x243185be4ee4b28c", - "0x550c7dc3d5ffb4e2", - "0x72be5d74f27b896f", - "0x80deb1fe3b1696b1", - "0x9bdc06a725c71235", - "0xc19bf174cf692694", - "0xe49b69c19ef14ad2", - "0xefbe4786384f25e3", - "0x0fc19dc68b8cd5b5", - "0x240ca1cc77ac9c65", - "0x2de92c6f592b0275", - "0x4a7484aa6ea6e483", - "0x5cb0a9dcbd41fbd4", - "0x76f988da831153b5", - "0x983e5152ee66dfab", - "0xa831c66d2db43210", - "0xb00327c898fb213f", - "0xbf597fc7beef0ee4", - "0xc6e00bf33da88fc2", - "0xd5a79147930aa725", - "0x06ca6351e003826f", - "0x142929670a0e6e70", - "0x27b70a8546d22ffc", - "0x2e1b21385c26c926", - "0x4d2c6dfc5ac42aed", - "0x53380d139d95b3df", - "0x650a73548baf63de", - "0x766a0abb3c77b2a8", - "0x81c2c92e47edaee6", - "0x92722c851482353b", - "0xa2bfe8a14cf10364", - "0xa81a664bbc423001", - "0xc24b8b70d0f89791", - "0xc76c51a30654be30", - "0xd192e819d6ef5218", - "0xd69906245565a910", - "0xf40e35855771202a", - "0x106aa07032bbd1b8", - "0x19a4c116b8d2d0c8", - "0x1e376c085141ab53", - "0x2748774cdf8eeb99", - "0x34b0bcb5e19b48a8", - "0x391c0cb3c5c95a63", - "0x4ed8aa4ae3418acb", - "0x5b9cca4f7763e373", - "0x682e6ff3d6b2b8a3", - "0x748f82ee5defb2fc", - "0x78a5636f43172f60", - "0x84c87814a1f0ab72", - "0x8cc702081a6439ec", - "0x90befffa23631e28", - "0xa4506cebde82bde9", - "0xbef9a3f7b2c67915", - "0xc67178f2e372532b", - "0xca273eceea26619c", - "0xd186b8c721c0c207", - "0xeada7dd6cde0eb1e", - "0xf57d4f7fee6ed178", - "0x06f067aa72176fba", - "0x0a637dc5a2c898a6", - "0x113f9804bef90dae", - "0x1b710b35131c471b", - "0x28db77f523047d84", - "0x32caab7b40c72493", - "0x3c9ebe0a15c9bebc", - "0x431d67c49c100d4c", - "0x4cc5d4becb3e42b6", - "0x597f299cfc657e2a", - "0x5fcb6fab3ad6faec", - "0x6c44198c4a475817" - ].map((n) => BigInt(n))); + var [SHA512_Kh, SHA512_Kl] = u64_default.split( + [ + "0x428a2f98d728ae22", + "0x7137449123ef65cd", + "0xb5c0fbcfec4d3b2f", + "0xe9b5dba58189dbbc", + "0x3956c25bf348b538", + "0x59f111f1b605d019", + "0x923f82a4af194f9b", + "0xab1c5ed5da6d8118", + "0xd807aa98a3030242", + "0x12835b0145706fbe", + "0x243185be4ee4b28c", + "0x550c7dc3d5ffb4e2", + "0x72be5d74f27b896f", + "0x80deb1fe3b1696b1", + "0x9bdc06a725c71235", + "0xc19bf174cf692694", + "0xe49b69c19ef14ad2", + "0xefbe4786384f25e3", + "0x0fc19dc68b8cd5b5", + "0x240ca1cc77ac9c65", + "0x2de92c6f592b0275", + "0x4a7484aa6ea6e483", + "0x5cb0a9dcbd41fbd4", + "0x76f988da831153b5", + "0x983e5152ee66dfab", + "0xa831c66d2db43210", + "0xb00327c898fb213f", + "0xbf597fc7beef0ee4", + "0xc6e00bf33da88fc2", + "0xd5a79147930aa725", + "0x06ca6351e003826f", + "0x142929670a0e6e70", + "0x27b70a8546d22ffc", + "0x2e1b21385c26c926", + "0x4d2c6dfc5ac42aed", + "0x53380d139d95b3df", + "0x650a73548baf63de", + "0x766a0abb3c77b2a8", + "0x81c2c92e47edaee6", + "0x92722c851482353b", + "0xa2bfe8a14cf10364", + "0xa81a664bbc423001", + "0xc24b8b70d0f89791", + "0xc76c51a30654be30", + "0xd192e819d6ef5218", + "0xd69906245565a910", + "0xf40e35855771202a", + "0x106aa07032bbd1b8", + "0x19a4c116b8d2d0c8", + "0x1e376c085141ab53", + "0x2748774cdf8eeb99", + "0x34b0bcb5e19b48a8", + "0x391c0cb3c5c95a63", + "0x4ed8aa4ae3418acb", + "0x5b9cca4f7763e373", + "0x682e6ff3d6b2b8a3", + "0x748f82ee5defb2fc", + "0x78a5636f43172f60", + "0x84c87814a1f0ab72", + "0x8cc702081a6439ec", + "0x90befffa23631e28", + "0xa4506cebde82bde9", + "0xbef9a3f7b2c67915", + "0xc67178f2e372532b", + "0xca273eceea26619c", + "0xd186b8c721c0c207", + "0xeada7dd6cde0eb1e", + "0xf57d4f7fee6ed178", + "0x06f067aa72176fba", + "0x0a637dc5a2c898a6", + "0x113f9804bef90dae", + "0x1b710b35131c471b", + "0x28db77f523047d84", + "0x32caab7b40c72493", + "0x3c9ebe0a15c9bebc", + "0x431d67c49c100d4c", + "0x4cc5d4becb3e42b6", + "0x597f299cfc657e2a", + "0x5fcb6fab3ad6faec", + "0x6c44198c4a475817", + ].map((n) => BigInt(n)) + ); var SHA512_W_H = new Uint32Array(80); var SHA512_W_L = new Uint32Array(80); var SHA512 = class extends SHA2 { @@ -7733,7 +8262,8 @@ zoo`.split("\n"); this.Hl = 327033209 | 0; } get() { - const { Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl } = this; + const { Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl } = + this; return [Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl]; } set(Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl) { @@ -7757,35 +8287,84 @@ zoo`.split("\n"); process(view, offset) { for (let i = 0; i < 16; i++, offset += 4) { SHA512_W_H[i] = view.getUint32(offset); - SHA512_W_L[i] = view.getUint32(offset += 4); + SHA512_W_L[i] = view.getUint32((offset += 4)); } for (let i = 16; i < 80; i++) { const W15h = SHA512_W_H[i - 15] | 0; const W15l = SHA512_W_L[i - 15] | 0; - const s0h = u64_default.rotrSH(W15h, W15l, 1) ^ u64_default.rotrSH(W15h, W15l, 8) ^ u64_default.shrSH(W15h, W15l, 7); - const s0l = u64_default.rotrSL(W15h, W15l, 1) ^ u64_default.rotrSL(W15h, W15l, 8) ^ u64_default.shrSL(W15h, W15l, 7); + const s0h = + u64_default.rotrSH(W15h, W15l, 1) ^ + u64_default.rotrSH(W15h, W15l, 8) ^ + u64_default.shrSH(W15h, W15l, 7); + const s0l = + u64_default.rotrSL(W15h, W15l, 1) ^ + u64_default.rotrSL(W15h, W15l, 8) ^ + u64_default.shrSL(W15h, W15l, 7); const W2h = SHA512_W_H[i - 2] | 0; const W2l = SHA512_W_L[i - 2] | 0; - const s1h = u64_default.rotrSH(W2h, W2l, 19) ^ u64_default.rotrBH(W2h, W2l, 61) ^ u64_default.shrSH(W2h, W2l, 6); - const s1l = u64_default.rotrSL(W2h, W2l, 19) ^ u64_default.rotrBL(W2h, W2l, 61) ^ u64_default.shrSL(W2h, W2l, 6); - const SUMl = u64_default.add4L(s0l, s1l, SHA512_W_L[i - 7], SHA512_W_L[i - 16]); - const SUMh = u64_default.add4H(SUMl, s0h, s1h, SHA512_W_H[i - 7], SHA512_W_H[i - 16]); + const s1h = + u64_default.rotrSH(W2h, W2l, 19) ^ + u64_default.rotrBH(W2h, W2l, 61) ^ + u64_default.shrSH(W2h, W2l, 6); + const s1l = + u64_default.rotrSL(W2h, W2l, 19) ^ + u64_default.rotrBL(W2h, W2l, 61) ^ + u64_default.shrSL(W2h, W2l, 6); + const SUMl = u64_default.add4L( + s0l, + s1l, + SHA512_W_L[i - 7], + SHA512_W_L[i - 16] + ); + const SUMh = u64_default.add4H( + SUMl, + s0h, + s1h, + SHA512_W_H[i - 7], + SHA512_W_H[i - 16] + ); SHA512_W_H[i] = SUMh | 0; SHA512_W_L[i] = SUMl | 0; } - let { Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl } = this; + let { Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl } = + this; for (let i = 0; i < 80; i++) { - const sigma1h = u64_default.rotrSH(Eh, El, 14) ^ u64_default.rotrSH(Eh, El, 18) ^ u64_default.rotrBH(Eh, El, 41); - const sigma1l = u64_default.rotrSL(Eh, El, 14) ^ u64_default.rotrSL(Eh, El, 18) ^ u64_default.rotrBL(Eh, El, 41); - const CHIh = Eh & Fh ^ ~Eh & Gh; - const CHIl = El & Fl ^ ~El & Gl; - const T1ll = u64_default.add5L(Hl, sigma1l, CHIl, SHA512_Kl[i], SHA512_W_L[i]); - const T1h = u64_default.add5H(T1ll, Hh, sigma1h, CHIh, SHA512_Kh[i], SHA512_W_H[i]); + const sigma1h = + u64_default.rotrSH(Eh, El, 14) ^ + u64_default.rotrSH(Eh, El, 18) ^ + u64_default.rotrBH(Eh, El, 41); + const sigma1l = + u64_default.rotrSL(Eh, El, 14) ^ + u64_default.rotrSL(Eh, El, 18) ^ + u64_default.rotrBL(Eh, El, 41); + const CHIh = (Eh & Fh) ^ (~Eh & Gh); + const CHIl = (El & Fl) ^ (~El & Gl); + const T1ll = u64_default.add5L( + Hl, + sigma1l, + CHIl, + SHA512_Kl[i], + SHA512_W_L[i] + ); + const T1h = u64_default.add5H( + T1ll, + Hh, + sigma1h, + CHIh, + SHA512_Kh[i], + SHA512_W_H[i] + ); const T1l = T1ll | 0; - const sigma0h = u64_default.rotrSH(Ah, Al, 28) ^ u64_default.rotrBH(Ah, Al, 34) ^ u64_default.rotrBH(Ah, Al, 39); - const sigma0l = u64_default.rotrSL(Ah, Al, 28) ^ u64_default.rotrBL(Ah, Al, 34) ^ u64_default.rotrBL(Ah, Al, 39); - const MAJh = Ah & Bh ^ Ah & Ch ^ Bh & Ch; - const MAJl = Al & Bl ^ Al & Cl ^ Bl & Cl; + const sigma0h = + u64_default.rotrSH(Ah, Al, 28) ^ + u64_default.rotrBH(Ah, Al, 34) ^ + u64_default.rotrBH(Ah, Al, 39); + const sigma0l = + u64_default.rotrSL(Ah, Al, 28) ^ + u64_default.rotrBL(Ah, Al, 34) ^ + u64_default.rotrBL(Ah, Al, 39); + const MAJh = (Ah & Bh) ^ (Ah & Ch) ^ (Bh & Ch); + const MAJl = (Al & Bl) ^ (Al & Cl) ^ (Bl & Cl); Hh = Gh | 0; Hl = Gl | 0; Gh = Fh | 0; @@ -7803,14 +8382,54 @@ zoo`.split("\n"); Ah = u64_default.add3H(All, T1h, sigma0h, MAJh); Al = All | 0; } - ({ h: Ah, l: Al } = u64_default.add(this.Ah | 0, this.Al | 0, Ah | 0, Al | 0)); - ({ h: Bh, l: Bl } = u64_default.add(this.Bh | 0, this.Bl | 0, Bh | 0, Bl | 0)); - ({ h: Ch, l: Cl } = u64_default.add(this.Ch | 0, this.Cl | 0, Ch | 0, Cl | 0)); - ({ h: Dh, l: Dl } = u64_default.add(this.Dh | 0, this.Dl | 0, Dh | 0, Dl | 0)); - ({ h: Eh, l: El } = u64_default.add(this.Eh | 0, this.El | 0, Eh | 0, El | 0)); - ({ h: Fh, l: Fl } = u64_default.add(this.Fh | 0, this.Fl | 0, Fh | 0, Fl | 0)); - ({ h: Gh, l: Gl } = u64_default.add(this.Gh | 0, this.Gl | 0, Gh | 0, Gl | 0)); - ({ h: Hh, l: Hl } = u64_default.add(this.Hh | 0, this.Hl | 0, Hh | 0, Hl | 0)); + ({ h: Ah, l: Al } = u64_default.add( + this.Ah | 0, + this.Al | 0, + Ah | 0, + Al | 0 + )); + ({ h: Bh, l: Bl } = u64_default.add( + this.Bh | 0, + this.Bl | 0, + Bh | 0, + Bl | 0 + )); + ({ h: Ch, l: Cl } = u64_default.add( + this.Ch | 0, + this.Cl | 0, + Ch | 0, + Cl | 0 + )); + ({ h: Dh, l: Dl } = u64_default.add( + this.Dh | 0, + this.Dl | 0, + Dh | 0, + Dl | 0 + )); + ({ h: Eh, l: El } = u64_default.add( + this.Eh | 0, + this.El | 0, + Eh | 0, + El | 0 + )); + ({ h: Fh, l: Fl } = u64_default.add( + this.Fh | 0, + this.Fl | 0, + Fh | 0, + Fl | 0 + )); + ({ h: Gh, l: Gl } = u64_default.add( + this.Gh | 0, + this.Gl | 0, + Gh | 0, + Gl | 0 + )); + ({ h: Hh, l: Hl } = u64_default.add( + this.Hh | 0, + this.Hl | 0, + Hh | 0, + Hl | 0 + )); this.set(Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl); } roundClean() { @@ -7939,24 +8558,33 @@ zoo`.split("\n"); if (!priv) { throw new Error("No private key"); } - return base58check2.encode(this.serialize(this.versions.private, concatBytes(new Uint8Array([0]), priv))); + return base58check2.encode( + this.serialize( + this.versions.private, + concatBytes(new Uint8Array([0]), priv) + ) + ); } get publicExtendedKey() { if (!this.pubKey) { throw new Error("No public key"); } - return base58check2.encode(this.serialize(this.versions.public, this.pubKey)); + return base58check2.encode( + this.serialize(this.versions.public, this.pubKey) + ); } static fromMasterSeed(seed, versions = BITCOIN_VERSIONS) { bytes(seed); if (8 * seed.length < 128 || 8 * seed.length > 512) { - throw new Error(`HDKey: wrong seed length=${seed.length}. Should be between 128 and 512 bits; 256 bits is advised)`); + throw new Error( + `HDKey: wrong seed length=${seed.length}. Should be between 128 and 512 bits; 256 bits is advised)` + ); } const I = hmac(sha512, MASTER_SECRET, seed); return new HDKey({ versions, chainCode: I.slice(32), - privateKey: I.slice(0, 32) + privateKey: I.slice(0, 32), }); } static fromExtendedKey(base58key, versions = BITCOIN_VERSIONS) { @@ -7968,7 +8596,7 @@ zoo`.split("\n"); depth: keyBuffer[4], parentFingerprint: keyView.getUint32(5, false), index: keyView.getUint32(9, false), - chainCode: keyBuffer.slice(13, 45) + chainCode: keyBuffer.slice(13, 45), }; const key = keyBuffer.slice(45); const isPriv = key[0] === 0; @@ -7999,7 +8627,9 @@ zoo`.split("\n"); this.parentFingerprint = opt.parentFingerprint || 0; if (!this.depth) { if (this.parentFingerprint || this.index) { - throw new Error("HDKey: zero depth with non-zero index/parent fingerprint"); + throw new Error( + "HDKey: zero depth with non-zero index/parent fingerprint" + ); } } if (opt.publicKey && opt.privateKey) { @@ -8009,7 +8639,10 @@ zoo`.split("\n"); if (!secp256k1.utils.isValidPrivateKey(opt.privateKey)) { throw new Error("Invalid private key"); } - this.privKey = typeof opt.privateKey === "bigint" ? opt.privateKey : bytesToNumber(opt.privateKey); + this.privKey = + typeof opt.privateKey === "bigint" + ? opt.privateKey + : bytesToNumber(opt.privateKey); this.privKeyBytes = numberToBytes(this.privKey); this.pubKey = secp256k1.getPublicKey(opt.privateKey, true); } else if (opt.publicKey) { @@ -8069,19 +8702,25 @@ zoo`.split("\n"); chainCode, depth: this.depth + 1, parentFingerprint: this.fingerprint, - index + index, }; try { if (this.privateKey) { const added = mod(this.privKey + childTweak, secp256k1.CURVE.n); if (!secp256k1.utils.isValidPrivateKey(added)) { - throw new Error("The tweak was out of range or the resulted private key is invalid"); + throw new Error( + "The tweak was out of range or the resulted private key is invalid" + ); } opt.privateKey = added; } else { - const added = Point2.fromHex(this.pubKey).add(Point2.fromPrivateKey(childTweak)); + const added = Point2.fromHex(this.pubKey).add( + Point2.fromPrivateKey(childTweak) + ); if (added.equals(Point2.ZERO)) { - throw new Error("The tweak was equal to negative P, which made the result key invalid"); + throw new Error( + "The tweak was equal to negative P, which made the result key invalid" + ); } opt.publicKey = added.toRawBytes(true); } @@ -8122,7 +8761,7 @@ zoo`.split("\n"); toJSON() { return { xpriv: this.privateExtendedKey, - xpub: this.publicExtendedKey + xpub: this.publicExtendedKey, }; } serialize(version, key) { @@ -8130,16 +8769,24 @@ zoo`.split("\n"); throw new Error("No chainCode set"); } bytes(key, 33); - return concatBytes(toU32(version), new Uint8Array([this.depth]), toU32(this.parentFingerprint), toU32(this.index), this.chainCode, key); + return concatBytes( + toU32(version), + new Uint8Array([this.depth]), + toU32(this.parentFingerprint), + toU32(this.index), + this.chainCode, + key + ); } }; // nip06.ts function privateKeyFromSeedWords(mnemonic, passphrase) { - let root = HDKey.fromMasterSeed((0, import_bip39.mnemonicToSeedSync)(mnemonic, passphrase)); + let root = HDKey.fromMasterSeed( + (0, import_bip39.mnemonicToSeedSync)(mnemonic, passphrase) + ); let privateKey = root.derive(`m/44'/1237'/0'/0/0`).privateKey; - if (!privateKey) - throw new Error("could not derive private key"); + if (!privateKey) throw new Error("could not derive private key"); return bytesToHex(privateKey); } function generateSeedWords() { @@ -8152,7 +8799,7 @@ zoo`.split("\n"); // nip10.ts var nip10_exports = {}; __export(nip10_exports, { - parse: () => parse + parse: () => parse, }); init_define_process(); function parse(event) { @@ -8160,7 +8807,7 @@ zoo`.split("\n"); reply: void 0, root: void 0, mentions: [], - profiles: [] + profiles: [], }; const eTags = []; for (const tag of event.tags) { @@ -8170,7 +8817,7 @@ zoo`.split("\n"); if (tag[0] === "p" && tag[1]) { result.profiles.push({ pubkey: tag[1], - relays: tag[2] ? [tag[2]] : [] + relays: tag[2] ? [tag[2]] : [], }); } } @@ -8179,7 +8826,7 @@ zoo`.split("\n"); const [_, eTagEventId, eTagRelayUrl, eTagMarker] = eTag; const eventPointer = { id: eTagEventId, - relays: eTagRelayUrl ? [eTagRelayUrl] : [] + relays: eTagRelayUrl ? [eTagRelayUrl] : [], }; const isFirstETag = eTagIndex === 0; const isLastETag = eTagIndex === eTags.length - 1; @@ -8211,7 +8858,7 @@ zoo`.split("\n"); // nip13.ts var nip13_exports = {}; __export(nip13_exports, { - getPow: () => getPow + getPow: () => getPow, }); init_define_process(); function getPow(id) { @@ -8233,7 +8880,7 @@ zoo`.split("\n"); if (b === 0) { return 8; } - while (b >>= 1) { + while ((b >>= 1)) { n++; } return 7 - n; @@ -8244,20 +8891,23 @@ zoo`.split("\n"); __export(nip18_exports, { finishRepostEvent: () => finishRepostEvent, getRepostedEvent: () => getRepostedEvent, - getRepostedEventPointer: () => getRepostedEventPointer + getRepostedEventPointer: () => getRepostedEventPointer, }); init_define_process(); function finishRepostEvent(t, reposted, relayUrl, privateKey) { - return finishEvent({ - kind: 6 /* Repost */, - tags: [ - ...t.tags ?? [], - ["e", reposted.id, relayUrl], - ["p", reposted.pubkey] - ], - content: t.content === "" ? "" : JSON.stringify(reposted), - created_at: t.created_at - }, privateKey); + return finishEvent( + { + kind: 6 /* Repost */, + tags: [ + ...(t.tags ?? []), + ["e", reposted.id, relayUrl], + ["p", reposted.pubkey], + ], + content: t.content === "" ? "" : JSON.stringify(reposted), + created_at: t.created_at, + }, + privateKey + ); } function getRepostedEventPointer(event) { if (event.kind !== 6 /* Repost */) { @@ -8265,7 +8915,11 @@ zoo`.split("\n"); } let lastETag; let lastPTag; - for (let i = event.tags.length - 1; i >= 0 && (lastETag === void 0 || lastPTag === void 0); i--) { + for ( + let i = event.tags.length - 1; + i >= 0 && (lastETag === void 0 || lastPTag === void 0); + i-- + ) { const tag = event.tags[i]; if (tag.length >= 2) { if (tag[0] === "e" && lastETag === void 0) { @@ -8281,7 +8935,7 @@ zoo`.split("\n"); return { id: lastETag[1], relays: [lastETag[2], lastPTag?.[2]].filter((x) => typeof x === "string"), - author: lastPTag?.[1] + author: lastPTag?.[1], }; } function getRepostedEvent(event, { skipVerification } = {}) { @@ -8309,21 +8963,23 @@ zoo`.split("\n"); __export(nip21_exports, { NOSTR_URI_REGEX: () => NOSTR_URI_REGEX, parse: () => parse2, - test: () => test + test: () => test, }); init_define_process(); var NOSTR_URI_REGEX = new RegExp(`nostr:(${BECH32_REGEX.source})`); function test(value) { - return typeof value === "string" && new RegExp(`^${NOSTR_URI_REGEX.source}$`).test(value); + return ( + typeof value === "string" && + new RegExp(`^${NOSTR_URI_REGEX.source}$`).test(value) + ); } function parse2(uri) { const match = uri.match(new RegExp(`^${NOSTR_URI_REGEX.source}$`)); - if (!match) - throw new Error(`Invalid Nostr URI: ${uri}`); + if (!match) throw new Error(`Invalid Nostr URI: ${uri}`); return { uri: match[0], value: match[1], - decoded: decode(match[1]) + decoded: decode(match[1]), }; } @@ -8331,24 +8987,27 @@ zoo`.split("\n"); var nip25_exports = {}; __export(nip25_exports, { finishReactionEvent: () => finishReactionEvent, - getReactedEventPointer: () => getReactedEventPointer + getReactedEventPointer: () => getReactedEventPointer, }); init_define_process(); function finishReactionEvent(t, reacted, privateKey) { const inheritedTags = reacted.tags.filter( (tag) => tag.length >= 2 && (tag[0] === "e" || tag[0] === "p") ); - return finishEvent({ - ...t, - kind: 7 /* Reaction */, - tags: [ - ...t.tags ?? [], - ...inheritedTags, - ["e", reacted.id], - ["p", reacted.pubkey] - ], - content: t.content ?? "+" - }, privateKey); + return finishEvent( + { + ...t, + kind: 7 /* Reaction */, + tags: [ + ...(t.tags ?? []), + ...inheritedTags, + ["e", reacted.id], + ["p", reacted.pubkey], + ], + content: t.content ?? "+", + }, + privateKey + ); } function getReactedEventPointer(event) { if (event.kind !== 7 /* Reaction */) { @@ -8356,7 +9015,11 @@ zoo`.split("\n"); } let lastETag; let lastPTag; - for (let i = event.tags.length - 1; i >= 0 && (lastETag === void 0 || lastPTag === void 0); i--) { + for ( + let i = event.tags.length - 1; + i >= 0 && (lastETag === void 0 || lastPTag === void 0); + i-- + ) { const tag = event.tags[i]; if (tag.length >= 2) { if (tag[0] === "e" && lastETag === void 0) { @@ -8372,7 +9035,7 @@ zoo`.split("\n"); return { id: lastETag[1], relays: [lastETag[2], lastPTag[2]].filter((x) => x !== void 0), - author: lastPTag[1] + author: lastPTag[1], }; } @@ -8380,37 +9043,34 @@ zoo`.split("\n"); var nip26_exports = {}; __export(nip26_exports, { createDelegation: () => createDelegation, - getDelegator: () => getDelegator + getDelegator: () => getDelegator, }); init_define_process(); function createDelegation(privateKey, parameters) { let conditions = []; if ((parameters.kind || -1) >= 0) conditions.push(`kind=${parameters.kind}`); - if (parameters.until) - conditions.push(`created_at<${parameters.until}`); - if (parameters.since) - conditions.push(`created_at>${parameters.since}`); + if (parameters.until) conditions.push(`created_at<${parameters.until}`); + if (parameters.since) conditions.push(`created_at>${parameters.since}`); let cond = conditions.join("&"); if (cond === "") throw new Error("refusing to create a delegation without any conditions"); let sighash = sha256( utf8Encoder.encode(`nostr:delegation:${parameters.pubkey}:${cond}`) ); - let sig = bytesToHex( - schnorr.sign(sighash, privateKey) - ); + let sig = bytesToHex(schnorr.sign(sighash, privateKey)); return { from: getPublicKey(privateKey), to: parameters.pubkey, cond, - sig + sig, }; } function getDelegator(event) { - let tag = event.tags.find((tag2) => tag2[0] === "delegation" && tag2.length >= 4); - if (!tag) - return null; + let tag = event.tags.find( + (tag2) => tag2[0] === "delegation" && tag2.length >= 4 + ); + if (!tag) return null; let pubkey = tag[1]; let cond = tag[2]; let sig = tag[3]; @@ -8419,18 +9079,24 @@ zoo`.split("\n"); let [key, operator, value] = conditions[i].split(/\b/); if (key === "kind" && operator === "=" && event.kind === parseInt(value)) continue; - else if (key === "created_at" && operator === "<" && event.created_at < parseInt(value)) + else if ( + key === "created_at" && + operator === "<" && + event.created_at < parseInt(value) + ) continue; - else if (key === "created_at" && operator === ">" && event.created_at > parseInt(value)) + else if ( + key === "created_at" && + operator === ">" && + event.created_at > parseInt(value) + ) continue; - else - return null; + else return null; } let sighash = sha256( utf8Encoder.encode(`nostr:delegation:${event.pubkey}:${cond}`) ); - if (!schnorr.verify(sig, sighash, pubkey)) - return null; + if (!schnorr.verify(sig, sighash, pubkey)) return null; return pubkey; } @@ -8439,7 +9105,7 @@ zoo`.split("\n"); __export(nip27_exports, { matchAll: () => matchAll, regex: () => regex, - replaceAll: () => replaceAll + replaceAll: () => replaceAll, }); init_define_process(); var regex = () => new RegExp(`\\b${NOSTR_URI_REGEX.source}\\b`, "g"); @@ -8453,10 +9119,9 @@ zoo`.split("\n"); value, decoded: decode(value), start: match.index, - end: match.index + uri.length + end: match.index + uri.length, }; - } catch (_e) { - } + } catch (_e) {} } } function replaceAll(content, replacer) { @@ -8464,7 +9129,7 @@ zoo`.split("\n"); return replacer({ uri, value, - decoded: decode(value) + decoded: decode(value), }); }); } @@ -8473,21 +9138,25 @@ zoo`.split("\n"); var nip39_exports = {}; __export(nip39_exports, { useFetchImplementation: () => useFetchImplementation2, - validateGithub: () => validateGithub + validateGithub: () => validateGithub, }); init_define_process(); var _fetch2; try { _fetch2 = fetch; - } catch { - } + } catch {} function useFetchImplementation2(fetchImplementation) { _fetch2 = fetchImplementation; } async function validateGithub(pubkey, username, proof) { try { - let res = await (await _fetch2(`https://gist.github.com/${username}/${proof}/raw`)).text(); - return res === `Verifying that I control the following Nostr public key: ${pubkey}`; + let res = await ( + await _fetch2(`https://gist.github.com/${username}/${proof}/raw`) + ).text(); + return ( + res === + `Verifying that I control the following Nostr public key: ${pubkey}` + ); } catch (_) { return false; } @@ -8496,22 +9165,18 @@ zoo`.split("\n"); // nip42.ts var nip42_exports = {}; __export(nip42_exports, { - authenticate: () => authenticate + authenticate: () => authenticate, }); init_define_process(); - var authenticate = async ({ - challenge: challenge2, - relay, - sign - }) => { + var authenticate = async ({ challenge: challenge2, relay, sign }) => { const e = { kind: 22242 /* ClientAuth */, created_at: Math.floor(Date.now() / 1e3), tags: [ ["relay", relay.url], - ["challenge", challenge2] + ["challenge", challenge2], ], - content: "" + content: "", }; const pub = relay.auth(await sign(e)); return new Promise((resolve, reject) => { @@ -8533,14 +9198,13 @@ zoo`.split("\n"); makeZapReceipt: () => makeZapReceipt, makeZapRequest: () => makeZapRequest, useFetchImplementation: () => useFetchImplementation3, - validateZapRequest: () => validateZapRequest + validateZapRequest: () => validateZapRequest, }); init_define_process(); var _fetch3; try { _fetch3 = fetch; - } catch { - } + } catch {} function useFetchImplementation3(fetchImplementation) { _fetch3 = fetchImplementation; } @@ -8563,21 +9227,12 @@ zoo`.split("\n"); if (body.allowsNostr && body.nostrPubkey) { return body.callback; } - } catch (err) { - } + } catch (err) {} return null; } - function makeZapRequest({ - profile, - event, - amount, - relays, - comment = "" - }) { - if (!amount) - throw new Error("amount not given"); - if (!profile) - throw new Error("profile not given"); + function makeZapRequest({ profile, event, amount, relays, comment = "" }) { + if (!amount) throw new Error("amount not given"); + if (!profile) throw new Error("profile not given"); let zr = { kind: 9734, created_at: Math.round(Date.now() / 1e3), @@ -8585,8 +9240,8 @@ zoo`.split("\n"); tags: [ ["p", profile], ["amount", amount.toString()], - ["relays", ...relays] - ] + ["relays", ...relays], + ], }; if (event) { zr.tags.push(["e", event]); @@ -8605,24 +9260,17 @@ zoo`.split("\n"); if (!verifySignature(zapRequest)) return "Invalid signature on zap request."; let p = zapRequest.tags.find(([t, v]) => t === "p" && v); - if (!p) - return "Zap request doesn't have a 'p' tag."; + if (!p) return "Zap request doesn't have a 'p' tag."; if (!p[1].match(/^[a-f0-9]{64}$/)) return "Zap request 'p' tag is not valid hex."; let e = zapRequest.tags.find(([t, v]) => t === "e" && v); if (e && !e[1].match(/^[a-f0-9]{64}$/)) return "Zap request 'e' tag is not valid hex."; let relays = zapRequest.tags.find(([t, v]) => t === "relays" && v); - if (!relays) - return "Zap request doesn't have a 'relays' tag."; + if (!relays) return "Zap request doesn't have a 'relays' tag."; return null; } - function makeZapReceipt({ - zapRequest, - preimage, - bolt11, - paidAt - }) { + function makeZapReceipt({ zapRequest, preimage, bolt11, paidAt }) { let zr = JSON.parse(zapRequest); let tagsFromZapRequest = zr.tags.filter( ([t]) => t === "e" || t === "p" || t === "a" @@ -8634,8 +9282,8 @@ zoo`.split("\n"); tags: [ ...tagsFromZapRequest, ["bolt11", bolt11], - ["description", zapRequest] - ] + ["description", zapRequest], + ], }; if (preimage) { zap.tags.push(["preimage", preimage]); @@ -8647,11 +9295,16 @@ zoo`.split("\n"); var nip98_exports = {}; __export(nip98_exports, { getToken: () => getToken, - validateToken: () => validateToken + validateToken: () => validateToken, }); init_define_process(); var _authorizationScheme = "Nostr "; - async function getToken(loginUrl, httpMethod, sign, includeAuthorizationScheme = false) { + async function getToken( + loginUrl, + httpMethod, + sign, + includeAuthorizationScheme = false + ) { if (!loginUrl || !httpMethod) throw new Error("Missing loginUrl or httpMethod"); if (httpMethod !== "get" /* Get */ && httpMethod !== "post" /* Post */) @@ -8659,12 +9312,17 @@ zoo`.split("\n"); const event = getBlankEvent(27235 /* HttpAuth */); event.tags = [ ["u", loginUrl], - ["method", httpMethod] + ["method", httpMethod], ]; event.created_at = Math.round(new Date().getTime() / 1e3); const signedEvent = await sign(event); - const authorizationScheme = includeAuthorizationScheme ? _authorizationScheme : ""; - return authorizationScheme + base64.encode(utf8Encoder.encode(JSON.stringify(signedEvent))); + const authorizationScheme = includeAuthorizationScheme + ? _authorizationScheme + : ""; + return ( + authorizationScheme + + base64.encode(utf8Encoder.encode(JSON.stringify(signedEvent))) + ); } async function validateToken(token, url, method) { if (!token) { @@ -8696,7 +9354,10 @@ zoo`.split("\n"); throw new Error("Invalid nostr event, url tag invalid"); } const methodTag = event.tags.find((t) => t[0] === "method"); - if (methodTag?.length !== 1 && methodTag?.[1].toLowerCase() !== method.toLowerCase()) { + if ( + methodTag?.length !== 1 && + methodTag?.[1].toLowerCase() !== method.toLowerCase() + ) { throw new Error("Invalid nostr event, method tag invalid"); } return true; diff --git a/market/js/utils.js b/market/js/utils.js index 2e41b49..64a07fc 100644 --- a/market/js/utils.js +++ b/market/js/utils.js @@ -1,167 +1,163 @@ -var NostrTools = window.NostrTools +var NostrTools = window.NostrTools; var defaultRelays = [ - 'wss://relay.damus.io', - 'wss://relay.snort.social', - 'wss://nostr-pub.wellorder.net', - 'wss://nostr.zebedee.cloud', - 'wss://nostr.walletofsatoshi.com' -] -var eventToObj = event => { - try { - event.content = JSON.parse(event.content) || null - } catch { - - } - - - return { - ...event, - ...Object.values(event.tags).reduce((acc, tag) => { - let [key, value] = tag - if (key == 't') { - return { ...acc, [key]: [...(acc[key] || []), value] } - } else { - return { ...acc, [key]: value } - } - }, {}) - } -} + "wss://relay.damus.io", + "wss://relay.snort.social", + "wss://nostr-pub.wellorder.net", + "wss://nostr.zebedee.cloud", + "wss://nostr.walletofsatoshi.com", +]; +var eventToObj = (event) => { + try { + event.content = JSON.parse(event.content) || null; + } catch {} + + return { + ...event, + ...Object.values(event.tags).reduce((acc, tag) => { + let [key, value] = tag; + if (key == "t") { + return { ...acc, [key]: [...(acc[key] || []), value] }; + } else { + return { ...acc, [key]: value }; + } + }, {}), + }; +}; function confirm(message) { - return { - message, - ok: { - flat: true, - color: 'primary' - }, - cancel: { - flat: true, - color: 'grey' - } - } + return { + message, + ok: { + flat: true, + color: "primary", + }, + cancel: { + flat: true, + color: "grey", + }, + }; } - async function hash(string) { - const utf8 = new TextEncoder().encode(string) - const hashBuffer = await crypto.subtle.digest('SHA-256', utf8) - const hashArray = Array.from(new Uint8Array(hashBuffer)) - const hashHex = hashArray - .map(bytes => bytes.toString(16).padStart(2, '0')) - .join('') - return hashHex + const utf8 = new TextEncoder().encode(string); + const hashBuffer = await crypto.subtle.digest("SHA-256", utf8); + const hashArray = Array.from(new Uint8Array(hashBuffer)); + const hashHex = hashArray + .map((bytes) => bytes.toString(16).padStart(2, "0")) + .join(""); + return hashHex; } function isJson(str) { - if (typeof str !== 'string') { - return false - } - try { - JSON.parse(str) - return true - } catch (error) { - return false - } + if (typeof str !== "string") { + return false; + } + try { + JSON.parse(str); + return true; + } catch (error) { + return false; + } } function formatSat(value) { - return new Intl.NumberFormat(window.LOCALE).format(value) + return new Intl.NumberFormat(window.LOCALE).format(value); } function satOrBtc(val, showUnit = true, showSats = false) { - const value = showSats - ? formatSat(val) - : val == 0 - ? 0.0 - : (val / 100000000).toFixed(8) - if (!showUnit) return value - return showSats ? value + ' sat' : value + ' BTC' + const value = showSats + ? formatSat(val) + : val == 0 + ? 0.0 + : (val / 100000000).toFixed(8); + if (!showUnit) return value; + return showSats ? value + " sat" : value + " BTC"; } function timeFromNow(time) { - // Get timestamps - let unixTime = new Date(time).getTime() - if (!unixTime) return - let now = new Date().getTime() - - // Calculate difference - let difference = unixTime / 1000 - now / 1000 - - // Setup return object - let tfn = {} - - // Check if time is in the past, present, or future - tfn.when = 'now' - if (difference > 0) { - tfn.when = 'future' - } else if (difference < -1) { - tfn.when = 'past' - } - - // Convert difference to absolute - difference = Math.abs(difference) - - // Calculate time unit - if (difference / (60 * 60 * 24 * 365) > 1) { - // Years - tfn.unitOfTime = 'years' - tfn.time = Math.floor(difference / (60 * 60 * 24 * 365)) - } else if (difference / (60 * 60 * 24 * 45) > 1) { - // Months - tfn.unitOfTime = 'months' - tfn.time = Math.floor(difference / (60 * 60 * 24 * 45)) - } else if (difference / (60 * 60 * 24) > 1) { - // Days - tfn.unitOfTime = 'days' - tfn.time = Math.floor(difference / (60 * 60 * 24)) - } else if (difference / (60 * 60) > 1) { - // Hours - tfn.unitOfTime = 'hours' - tfn.time = Math.floor(difference / (60 * 60)) - } else if (difference / 60 > 1) { - // Minutes - tfn.unitOfTime = 'minutes' - tfn.time = Math.floor(difference / 60) - } else { - // Seconds - tfn.unitOfTime = 'seconds' - tfn.time = Math.floor(difference) - } - - // Return time from now data - return `${tfn.time} ${tfn.unitOfTime}` + // Get timestamps + let unixTime = new Date(time).getTime(); + if (!unixTime) return; + let now = new Date().getTime(); + + // Calculate difference + let difference = unixTime / 1000 - now / 1000; + + // Setup return object + let tfn = {}; + + // Check if time is in the past, present, or future + tfn.when = "now"; + if (difference > 0) { + tfn.when = "future"; + } else if (difference < -1) { + tfn.when = "past"; + } + + // Convert difference to absolute + difference = Math.abs(difference); + + // Calculate time unit + if (difference / (60 * 60 * 24 * 365) > 1) { + // Years + tfn.unitOfTime = "years"; + tfn.time = Math.floor(difference / (60 * 60 * 24 * 365)); + } else if (difference / (60 * 60 * 24 * 45) > 1) { + // Months + tfn.unitOfTime = "months"; + tfn.time = Math.floor(difference / (60 * 60 * 24 * 45)); + } else if (difference / (60 * 60 * 24) > 1) { + // Days + tfn.unitOfTime = "days"; + tfn.time = Math.floor(difference / (60 * 60 * 24)); + } else if (difference / (60 * 60) > 1) { + // Hours + tfn.unitOfTime = "hours"; + tfn.time = Math.floor(difference / (60 * 60)); + } else if (difference / 60 > 1) { + // Minutes + tfn.unitOfTime = "minutes"; + tfn.time = Math.floor(difference / 60); + } else { + // Seconds + tfn.unitOfTime = "seconds"; + tfn.time = Math.floor(difference); + } + + // Return time from now data + return `${tfn.time} ${tfn.unitOfTime}`; } function isValidImageUrl(string) { - let url - try { - url = new URL(string) - } catch (_) { - return false - } - return url.protocol === 'http:' || url.protocol === 'https:' + let url; + try { + url = new URL(string); + } catch (_) { + return false; + } + return url.protocol === "http:" || url.protocol === "https:"; } -function isValidKey(key, prefix = 'n') { - try { - if (key && key.startsWith(prefix)) { - let { _, data } = NostrTools.nip19.decode(key) - key = data - } - return isValidKeyHex(key) - } catch (error) { - return false +function isValidKey(key, prefix = "n") { + try { + if (key && key.startsWith(prefix)) { + let { _, data } = NostrTools.nip19.decode(key); + key = data; } + return isValidKeyHex(key); + } catch (error) { + return false; + } } function isValidKeyHex(key) { - return !!key?.toLowerCase()?.match(/^[0-9a-f]{64}$/) + return !!key?.toLowerCase()?.match(/^[0-9a-f]{64}$/); } function formatCurrency(value, currency) { - return new Intl.NumberFormat(window.LOCALE, { - style: 'currency', - currency: currency - }).format(value) + return new Intl.NumberFormat(window.LOCALE, { + style: "currency", + currency: currency, + }).format(value); } diff --git a/public/js/bolt11-decoder.js b/public/js/bolt11-decoder.js index 7b73260..a9a9920 100644 --- a/public/js/bolt11-decoder.js +++ b/public/js/bolt11-decoder.js @@ -4,198 +4,200 @@ //TODO - A reader MUST use the n field to validate the signature instead of performing signature recovery if a valid n field is provided. function decode(paymentRequest) { - let input = paymentRequest.toLowerCase() - let splitPosition = input.lastIndexOf('1') - let humanReadablePart = input.substring(0, splitPosition) - let data = input.substring(splitPosition + 1, input.length - 6) - let checksum = input.substring(input.length - 6, input.length) + let input = paymentRequest.toLowerCase(); + let splitPosition = input.lastIndexOf("1"); + let humanReadablePart = input.substring(0, splitPosition); + let data = input.substring(splitPosition + 1, input.length - 6); + let checksum = input.substring(input.length - 6, input.length); if ( !verify_checksum(humanReadablePart, bech32ToFiveBitArray(data + checksum)) ) { - throw 'Malformed request: checksum is incorrect' // A reader MUST fail if the checksum is incorrect. + throw "Malformed request: checksum is incorrect"; // A reader MUST fail if the checksum is incorrect. } return { human_readable_part: decodeHumanReadablePart(humanReadablePart), data: decodeData(data, humanReadablePart), - checksum: checksum - } + checksum: checksum, + }; } function decodeHumanReadablePart(humanReadablePart) { - let prefixes = ['lnbc', 'lntb', 'lnbcrt', 'lnsb'] - let prefix - prefixes.forEach(value => { + let prefixes = ["lnbc", "lntb", "lnbcrt", "lnsb"]; + let prefix; + prefixes.forEach((value) => { if (humanReadablePart.substring(0, value.length) === value) { - prefix = value + prefix = value; } - }) - if (prefix == null) throw 'Malformed request: unknown prefix' // A reader MUST fail if it does not understand the prefix. + }); + if (prefix == null) throw "Malformed request: unknown prefix"; // A reader MUST fail if it does not understand the prefix. let amount = decodeAmount( humanReadablePart.substring(prefix.length, humanReadablePart.length) - ) + ); return { prefix: prefix, - amount: amount - } + amount: amount, + }; } function decodeData(data, humanReadablePart) { - let date32 = data.substring(0, 7) - let dateEpoch = bech32ToInt(date32) - let signature = data.substring(data.length - 104, data.length) - let tagData = data.substring(7, data.length - 104) - let decodedTags = decodeTags(tagData) - let value = bech32ToFiveBitArray(date32 + tagData) - value = fiveBitArrayTo8BitArray(value, true) - value = textToHexString(humanReadablePart).concat(byteArrayToHexString(value)) + let date32 = data.substring(0, 7); + let dateEpoch = bech32ToInt(date32); + let signature = data.substring(data.length - 104, data.length); + let tagData = data.substring(7, data.length - 104); + let decodedTags = decodeTags(tagData); + let value = bech32ToFiveBitArray(date32 + tagData); + value = fiveBitArrayTo8BitArray(value, true); + value = textToHexString(humanReadablePart).concat( + byteArrayToHexString(value) + ); return { time_stamp: dateEpoch, tags: decodedTags, signature: decodeSignature(signature), - signing_data: value - } + signing_data: value, + }; } function decodeSignature(signature) { - let data = fiveBitArrayTo8BitArray(bech32ToFiveBitArray(signature)) - let recoveryFlag = data[data.length - 1] - let r = byteArrayToHexString(data.slice(0, 32)) - let s = byteArrayToHexString(data.slice(32, data.length - 1)) + let data = fiveBitArrayTo8BitArray(bech32ToFiveBitArray(signature)); + let recoveryFlag = data[data.length - 1]; + let r = byteArrayToHexString(data.slice(0, 32)); + let s = byteArrayToHexString(data.slice(32, data.length - 1)); return { r: r, s: s, - recovery_flag: recoveryFlag - } + recovery_flag: recoveryFlag, + }; } function decodeAmount(str) { - let multiplier = str.charAt(str.length - 1) - let amount = str.substring(0, str.length - 1) - if (amount.substring(0, 1) === '0') { - throw 'Malformed request: amount cannot contain leading zeros' + let multiplier = str.charAt(str.length - 1); + let amount = str.substring(0, str.length - 1); + if (amount.substring(0, 1) === "0") { + throw "Malformed request: amount cannot contain leading zeros"; } - amount = Number(amount) + amount = Number(amount); if (amount < 0 || !Number.isInteger(amount)) { - throw 'Malformed request: amount must be a positive decimal integer' // A reader SHOULD fail if amount contains a non-digit + throw "Malformed request: amount must be a positive decimal integer"; // A reader SHOULD fail if amount contains a non-digit } switch (multiplier) { - case '': - return 'Any amount' // A reader SHOULD indicate if amount is unspecified - case 'p': - return amount / 10 - case 'n': - return amount * 100 - case 'u': - return amount * 100000 - case 'm': - return amount * 100000000 + case "": + return "Any amount"; // A reader SHOULD indicate if amount is unspecified + case "p": + return amount / 10; + case "n": + return amount * 100; + case "u": + return amount * 100000; + case "m": + return amount * 100000000; default: // A reader SHOULD fail if amount is followed by anything except a defined multiplier. - throw 'Malformed request: undefined amount multiplier' + throw "Malformed request: undefined amount multiplier"; } } function decodeTags(tagData) { - let tags = extractTags(tagData) - let decodedTags = [] - tags.forEach(value => + let tags = extractTags(tagData); + let decodedTags = []; + tags.forEach((value) => decodedTags.push(decodeTag(value.type, value.length, value.data)) - ) - return decodedTags + ); + return decodedTags; } function extractTags(str) { - let tags = [] + let tags = []; while (str.length > 0) { - let type = str.charAt(0) - let dataLength = bech32ToInt(str.substring(1, 3)) - let data = str.substring(3, dataLength + 3) + let type = str.charAt(0); + let dataLength = bech32ToInt(str.substring(1, 3)); + let data = str.substring(3, dataLength + 3); tags.push({ type: type, length: dataLength, - data: data - }) - str = str.substring(3 + dataLength, str.length) + data: data, + }); + str = str.substring(3 + dataLength, str.length); } - return tags + return tags; } function decodeTag(type, length, data) { switch (type) { - case 'p': - if (length !== 52) break // A reader MUST skip over a 'p' field that does not have data_length 52 + case "p": + if (length !== 52) break; // A reader MUST skip over a 'p' field that does not have data_length 52 return { type: type, length: length, - description: 'payment_hash', + description: "payment_hash", value: byteArrayToHexString( fiveBitArrayTo8BitArray(bech32ToFiveBitArray(data)) - ) - } - case 'd': + ), + }; + case "d": return { type: type, length: length, - description: 'description', - value: bech32ToUTF8String(data) - } - case 'n': - if (length !== 53) break // A reader MUST skip over a 'n' field that does not have data_length 53 + description: "description", + value: bech32ToUTF8String(data), + }; + case "n": + if (length !== 53) break; // A reader MUST skip over a 'n' field that does not have data_length 53 return { type: type, length: length, - description: 'payee_public_key', + description: "payee_public_key", value: byteArrayToHexString( fiveBitArrayTo8BitArray(bech32ToFiveBitArray(data)) - ) - } - case 'h': - if (length !== 52) break // A reader MUST skip over a 'h' field that does not have data_length 52 + ), + }; + case "h": + if (length !== 52) break; // A reader MUST skip over a 'h' field that does not have data_length 52 return { type: type, length: length, - description: 'description_hash', - value: data - } - case 'x': + description: "description_hash", + value: data, + }; + case "x": return { type: type, length: length, - description: 'expiry', - value: bech32ToInt(data) - } - case 'c': + description: "expiry", + value: bech32ToInt(data), + }; + case "c": return { type: type, length: length, - description: 'min_final_cltv_expiry', - value: bech32ToInt(data) - } - case 'f': - let version = bech32ToFiveBitArray(data.charAt(0))[0] - if (version < 0 || version > 18) break // a reader MUST skip over an f field with unknown version. - data = data.substring(1, data.length) + description: "min_final_cltv_expiry", + value: bech32ToInt(data), + }; + case "f": + let version = bech32ToFiveBitArray(data.charAt(0))[0]; + if (version < 0 || version > 18) break; // a reader MUST skip over an f field with unknown version. + data = data.substring(1, data.length); return { type: type, length: length, - description: 'fallback_address', + description: "fallback_address", value: { version: version, - fallback_address: data - } - } - case 'r': - data = fiveBitArrayTo8BitArray(bech32ToFiveBitArray(data)) - let pubkey = data.slice(0, 33) - let shortChannelId = data.slice(33, 41) - let feeBaseMsat = data.slice(41, 45) - let feeProportionalMillionths = data.slice(45, 49) - let cltvExpiryDelta = data.slice(49, 51) + fallback_address: data, + }, + }; + case "r": + data = fiveBitArrayTo8BitArray(bech32ToFiveBitArray(data)); + let pubkey = data.slice(0, 33); + let shortChannelId = data.slice(33, 41); + let feeBaseMsat = data.slice(41, 45); + let feeProportionalMillionths = data.slice(45, 49); + let cltvExpiryDelta = data.slice(49, 51); return { type: type, length: length, - description: 'routing_information', + description: "routing_information", value: { public_key: byteArrayToHexString(pubkey), short_channel_id: byteArrayToHexString(shortChannelId), @@ -203,145 +205,145 @@ function decodeTag(type, length, data) { fee_proportional_millionths: byteArrayToInt( feeProportionalMillionths ), - cltv_expiry_delta: byteArrayToInt(cltvExpiryDelta) - } - } + cltv_expiry_delta: byteArrayToInt(cltvExpiryDelta), + }, + }; default: // reader MUST skip over unknown fields } } function polymod(values) { - let GEN = [0x3b6a57b2, 0x26508e6d, 0x1ea119fa, 0x3d4233dd, 0x2a1462b3] - let chk = 1 - values.forEach(value => { - let b = chk >> 25 - chk = ((chk & 0x1ffffff) << 5) ^ value + let GEN = [0x3b6a57b2, 0x26508e6d, 0x1ea119fa, 0x3d4233dd, 0x2a1462b3]; + let chk = 1; + values.forEach((value) => { + let b = chk >> 25; + chk = ((chk & 0x1ffffff) << 5) ^ value; for (let i = 0; i < 5; i++) { if (((b >> i) & 1) === 1) { - chk ^= GEN[i] + chk ^= GEN[i]; } else { - chk ^= 0 + chk ^= 0; } } - }) - return chk + }); + return chk; } function expand(str) { - let array = [] + let array = []; for (let i = 0; i < str.length; i++) { - array.push(str.charCodeAt(i) >> 5) + array.push(str.charCodeAt(i) >> 5); } - array.push(0) + array.push(0); for (let i = 0; i < str.length; i++) { - array.push(str.charCodeAt(i) & 31) + array.push(str.charCodeAt(i) & 31); } - return array + return array; } function verify_checksum(hrp, data) { - hrp = expand(hrp) - let all = hrp.concat(data) - let bool = polymod(all) - return bool === 1 + hrp = expand(hrp); + let all = hrp.concat(data); + let bool = polymod(all); + return bool === 1; } -const bech32CharValues = 'qpzry9x8gf2tvdw0s3jn54khce6mua7l' +const bech32CharValues = "qpzry9x8gf2tvdw0s3jn54khce6mua7l"; function byteArrayToInt(byteArray) { - let value = 0 + let value = 0; for (let i = 0; i < byteArray.length; ++i) { - value = (value << 8) + byteArray[i] + value = (value << 8) + byteArray[i]; } - return value + return value; } function bech32ToInt(str) { - let sum = 0 + let sum = 0; for (let i = 0; i < str.length; i++) { - sum = sum * 32 - sum = sum + bech32CharValues.indexOf(str.charAt(i)) + sum = sum * 32; + sum = sum + bech32CharValues.indexOf(str.charAt(i)); } - return sum + return sum; } function bech32ToFiveBitArray(str) { - let array = [] + let array = []; for (let i = 0; i < str.length; i++) { - array.push(bech32CharValues.indexOf(str.charAt(i))) + array.push(bech32CharValues.indexOf(str.charAt(i))); } - return array + return array; } function fiveBitArrayTo8BitArray(int5Array, includeOverflow) { - let count = 0 - let buffer = 0 - let byteArray = [] - int5Array.forEach(value => { - buffer = (buffer << 5) + value - count += 5 + let count = 0; + let buffer = 0; + let byteArray = []; + int5Array.forEach((value) => { + buffer = (buffer << 5) + value; + count += 5; if (count >= 8) { - byteArray.push((buffer >> (count - 8)) & 255) - count -= 8 + byteArray.push((buffer >> (count - 8)) & 255); + count -= 8; } - }) + }); if (includeOverflow && count > 0) { - byteArray.push((buffer << (8 - count)) & 255) + byteArray.push((buffer << (8 - count)) & 255); } - return byteArray + return byteArray; } function bech32ToUTF8String(str) { - let int5Array = bech32ToFiveBitArray(str) - let byteArray = fiveBitArrayTo8BitArray(int5Array) + let int5Array = bech32ToFiveBitArray(str); + let byteArray = fiveBitArrayTo8BitArray(int5Array); - let utf8String = '' + let utf8String = ""; for (let i = 0; i < byteArray.length; i++) { - utf8String += '%' + ('0' + byteArray[i].toString(16)).slice(-2) + utf8String += "%" + ("0" + byteArray[i].toString(16)).slice(-2); } - return decodeURIComponent(utf8String) + return decodeURIComponent(utf8String); } function byteArrayToHexString(byteArray) { return Array.prototype.map .call(byteArray, function (byte) { - return ('0' + (byte & 0xff).toString(16)).slice(-2) + return ("0" + (byte & 0xff).toString(16)).slice(-2); }) - .join('') + .join(""); } function textToHexString(text) { - let hexString = '' + let hexString = ""; for (let i = 0; i < text.length; i++) { - hexString += text.charCodeAt(i).toString(16) + hexString += text.charCodeAt(i).toString(16); } - return hexString + return hexString; } function epochToDate(int) { - let date = new Date(int * 1000) - return date.toUTCString() + let date = new Date(int * 1000); + return date.toUTCString(); } function isEmptyOrSpaces(str) { - return str === null || str.match(/^ *$/) !== null + return str === null || str.match(/^ *$/) !== null; } function toFixed(x) { if (Math.abs(x) < 1.0) { - var e = parseInt(x.toString().split('e-')[1]) + var e = parseInt(x.toString().split("e-")[1]); if (e) { - x *= Math.pow(10, e - 1) - x = '0.' + new Array(e).join('0') + x.toString().substring(2) + x *= Math.pow(10, e - 1); + x = "0." + new Array(e).join("0") + x.toString().substring(2); } } else { - var e = parseInt(x.toString().split('+')[1]) + var e = parseInt(x.toString().split("+")[1]); if (e > 20) { - e -= 20 - x /= Math.pow(10, e) - x += new Array(e + 1).join('0') + e -= 20; + x /= Math.pow(10, e); + x += new Array(e + 1).join("0"); } } - return x + return x; } diff --git a/public/js/nostr.bundle.js b/public/js/nostr.bundle.js index 0d41aa7..d0bb48f 100644 --- a/public/js/nostr.bundle.js +++ b/public/js/nostr.bundle.js @@ -6,34 +6,52 @@ var NostrTools = (() => { var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; - var __esm = (fn, res) => function __init() { - return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; - }; - var __commonJS = (cb, mod2) => function __require() { - return mod2 || (0, cb[__getOwnPropNames(cb)[0]])((mod2 = { exports: {} }).exports, mod2), mod2.exports; - }; + var __esm = (fn, res) => + function __init() { + return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])((fn = 0))), res; + }; + var __commonJS = (cb, mod2) => + function __require() { + return ( + mod2 || + (0, cb[__getOwnPropNames(cb)[0]])( + (mod2 = { exports: {} }).exports, + mod2 + ), + mod2.exports + ); + }; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { + if ((from && typeof from === "object") || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + __defProp(to, key, { + get: () => from[key], + enumerable: + !(desc = __getOwnPropDesc(from, key)) || desc.enumerable, + }); } return to; }; - var __toESM = (mod2, isNodeMode, target) => (target = mod2 != null ? __create(__getProtoOf(mod2)) : {}, __copyProps( - isNodeMode || !mod2 || !mod2.__esModule ? __defProp(target, "default", { value: mod2, enumerable: true }) : target, - mod2 - )); - var __toCommonJS = (mod2) => __copyProps(__defProp({}, "__esModule", { value: true }), mod2); + var __toESM = (mod2, isNodeMode, target) => ( + (target = mod2 != null ? __create(__getProtoOf(mod2)) : {}), + __copyProps( + isNodeMode || !mod2 || !mod2.__esModule + ? __defProp(target, "default", { value: mod2, enumerable: true }) + : target, + mod2 + ) + ); + var __toCommonJS = (mod2) => + __copyProps(__defProp({}, "__esModule", { value: true }), mod2); // var init_define_process = __esm({ - ""() { - } + ""() {}, }); // node_modules/@scure/bip39/wordlists/english.js @@ -2091,7 +2109,7 @@ zebra zero zone zoo`.split("\n"); - } + }, }); // node_modules/@noble/hashes/_assert.js @@ -2100,7 +2118,13 @@ zoo`.split("\n"); "use strict"; init_define_process(); Object.defineProperty(exports, "__esModule", { value: true }); - exports.output = exports.exists = exports.hash = exports.bytes = exports.bool = exports.number = void 0; + exports.output = + exports.exists = + exports.hash = + exports.bytes = + exports.bool = + exports.number = + void 0; function number2(n) { if (!Number.isSafeInteger(n) || n < 0) throw new Error(`Wrong positive integer: ${n}`); @@ -2115,7 +2139,9 @@ zoo`.split("\n"); if (!(b instanceof Uint8Array)) throw new TypeError("Expected Uint8Array"); if (lengths.length > 0 && !lengths.includes(b.length)) - throw new TypeError(`Expected Uint8Array of length ${lengths}, not of length=${b.length}`); + throw new TypeError( + `Expected Uint8Array of length ${lengths}, not of length=${b.length}` + ); } exports.bytes = bytes2; function hash2(hash3) { @@ -2136,7 +2162,9 @@ zoo`.split("\n"); bytes2(out); const min = instance.outputLen; if (out.length < min) { - throw new Error(`digestInto() expects output buffer of length at least ${min}`); + throw new Error( + `digestInto() expects output buffer of length at least ${min}` + ); } } exports.output = output2; @@ -2146,10 +2174,10 @@ zoo`.split("\n"); bytes: bytes2, hash: hash2, exists: exists2, - output: output2 + output: output2, }; exports.default = assert2; - } + }, }); // node_modules/@noble/hashes/crypto.js @@ -2159,8 +2187,11 @@ zoo`.split("\n"); init_define_process(); Object.defineProperty(exports, "__esModule", { value: true }); exports.crypto = void 0; - exports.crypto = typeof globalThis === "object" && "crypto" in globalThis ? globalThis.crypto : void 0; - } + exports.crypto = + typeof globalThis === "object" && "crypto" in globalThis + ? globalThis.crypto + : void 0; + }, }); // node_modules/@noble/hashes/utils.js @@ -2169,20 +2200,47 @@ zoo`.split("\n"); "use strict"; init_define_process(); Object.defineProperty(exports, "__esModule", { value: true }); - exports.randomBytes = exports.wrapConstructorWithOpts = exports.wrapConstructor = exports.checkOpts = exports.Hash = exports.concatBytes = exports.toBytes = exports.utf8ToBytes = exports.asyncLoop = exports.nextTick = exports.hexToBytes = exports.bytesToHex = exports.isLE = exports.rotr = exports.createView = exports.u32 = exports.u8 = void 0; + exports.randomBytes = + exports.wrapConstructorWithOpts = + exports.wrapConstructor = + exports.checkOpts = + exports.Hash = + exports.concatBytes = + exports.toBytes = + exports.utf8ToBytes = + exports.asyncLoop = + exports.nextTick = + exports.hexToBytes = + exports.bytesToHex = + exports.isLE = + exports.rotr = + exports.createView = + exports.u32 = + exports.u8 = + void 0; var crypto_1 = require_crypto(); - var u8 = (arr) => new Uint8Array(arr.buffer, arr.byteOffset, arr.byteLength); + var u8 = (arr) => + new Uint8Array(arr.buffer, arr.byteOffset, arr.byteLength); exports.u8 = u8; - var u32 = (arr) => new Uint32Array(arr.buffer, arr.byteOffset, Math.floor(arr.byteLength / 4)); + var u32 = (arr) => + new Uint32Array( + arr.buffer, + arr.byteOffset, + Math.floor(arr.byteLength / 4) + ); exports.u32 = u32; - var createView2 = (arr) => new DataView(arr.buffer, arr.byteOffset, arr.byteLength); + var createView2 = (arr) => + new DataView(arr.buffer, arr.byteOffset, arr.byteLength); exports.createView = createView2; - var rotr2 = (word, shift) => word << 32 - shift | word >>> shift; + var rotr2 = (word, shift) => (word << (32 - shift)) | (word >>> shift); exports.rotr = rotr2; - exports.isLE = new Uint8Array(new Uint32Array([287454020]).buffer)[0] === 68; + exports.isLE = + new Uint8Array(new Uint32Array([287454020]).buffer)[0] === 68; if (!exports.isLE) throw new Error("Non little-endian hardware is not supported"); - var hexes3 = Array.from({ length: 256 }, (v, i) => i.toString(16).padStart(2, "0")); + var hexes3 = Array.from({ length: 256 }, (v, i) => + i.toString(16).padStart(2, "0") + ); function bytesToHex3(uint8a) { if (!(uint8a instanceof Uint8Array)) throw new Error("Uint8Array expected"); @@ -2195,7 +2253,9 @@ zoo`.split("\n"); exports.bytesToHex = bytesToHex3; function hexToBytes3(hex2) { if (typeof hex2 !== "string") { - throw new TypeError("hexToBytes: expected string, got " + typeof hex2); + throw new TypeError( + "hexToBytes: expected string, got " + typeof hex2 + ); } if (hex2.length % 2) throw new Error("hexToBytes: received invalid unpadded hex"); @@ -2211,16 +2271,14 @@ zoo`.split("\n"); return array; } exports.hexToBytes = hexToBytes3; - var nextTick = async () => { - }; + var nextTick = async () => {}; exports.nextTick = nextTick; async function asyncLoop(iters, tick, cb) { let ts = Date.now(); for (let i = 0; i < iters; i++) { cb(i); const diff = Date.now() - ts; - if (diff >= 0 && diff < tick) - continue; + if (diff >= 0 && diff < tick) continue; await (0, exports.nextTick)(); ts += diff; } @@ -2234,18 +2292,18 @@ zoo`.split("\n"); } exports.utf8ToBytes = utf8ToBytes3; function toBytes2(data) { - if (typeof data === "string") - data = utf8ToBytes3(data); + if (typeof data === "string") data = utf8ToBytes3(data); if (!(data instanceof Uint8Array)) - throw new TypeError(`Expected input type is Uint8Array (got ${typeof data})`); + throw new TypeError( + `Expected input type is Uint8Array (got ${typeof data})` + ); return data; } exports.toBytes = toBytes2; function concatBytes3(...arrays) { if (!arrays.every((a) => a instanceof Uint8Array)) throw new Error("Uint8Array list expected"); - if (arrays.length === 1) - return arrays[0]; + if (arrays.length === 1) return arrays[0]; const length = arrays.reduce((a, arr) => a + arr.length, 0); const result = new Uint8Array(length); for (let i = 0, pad = 0; i < arrays.length; i++) { @@ -2262,16 +2320,22 @@ zoo`.split("\n"); } }; exports.Hash = Hash2; - var isPlainObject = (obj) => Object.prototype.toString.call(obj) === "[object Object]" && obj.constructor === Object; + var isPlainObject = (obj) => + Object.prototype.toString.call(obj) === "[object Object]" && + obj.constructor === Object; function checkOpts(defaults, opts) { - if (opts !== void 0 && (typeof opts !== "object" || !isPlainObject(opts))) + if ( + opts !== void 0 && + (typeof opts !== "object" || !isPlainObject(opts)) + ) throw new TypeError("Options should be object or undefined"); const merged = Object.assign(defaults, opts); return merged; } exports.checkOpts = checkOpts; function wrapConstructor2(hashConstructor) { - const hashC = (message) => hashConstructor().update(toBytes2(message)).digest(); + const hashC = (message) => + hashConstructor().update(toBytes2(message)).digest(); const tmp = hashConstructor(); hashC.outputLen = tmp.outputLen; hashC.blockLen = tmp.blockLen; @@ -2280,7 +2344,8 @@ zoo`.split("\n"); } exports.wrapConstructor = wrapConstructor2; function wrapConstructorWithOpts(hashCons) { - const hashC = (msg, opts) => hashCons(opts).update(toBytes2(msg)).digest(); + const hashC = (msg, opts) => + hashCons(opts).update(toBytes2(msg)).digest(); const tmp = hashCons({}); hashC.outputLen = tmp.outputLen; hashC.blockLen = tmp.blockLen; @@ -2289,13 +2354,16 @@ zoo`.split("\n"); } exports.wrapConstructorWithOpts = wrapConstructorWithOpts; function randomBytes2(bytesLength = 32) { - if (crypto_1.crypto && typeof crypto_1.crypto.getRandomValues === "function") { + if ( + crypto_1.crypto && + typeof crypto_1.crypto.getRandomValues === "function" + ) { return crypto_1.crypto.getRandomValues(new Uint8Array(bytesLength)); } throw new Error("crypto.getRandomValues must be defined"); } exports.randomBytes = randomBytes2; - } + }, }); // node_modules/@noble/hashes/hmac.js @@ -2316,18 +2384,20 @@ zoo`.split("\n"); const key = (0, utils_js_1.toBytes)(_key); this.iHash = hash2.create(); if (typeof this.iHash.update !== "function") - throw new TypeError("Expected instance of class which extends utils.Hash"); + throw new TypeError( + "Expected instance of class which extends utils.Hash" + ); this.blockLen = this.iHash.blockLen; this.outputLen = this.iHash.outputLen; const blockLen = this.blockLen; const pad = new Uint8Array(blockLen); - pad.set(key.length > blockLen ? hash2.create().update(key).digest() : key); - for (let i = 0; i < pad.length; i++) - pad[i] ^= 54; + pad.set( + key.length > blockLen ? hash2.create().update(key).digest() : key + ); + for (let i = 0; i < pad.length; i++) pad[i] ^= 54; this.iHash.update(pad); this.oHash = hash2.create(); - for (let i = 0; i < pad.length; i++) - pad[i] ^= 54 ^ 92; + for (let i = 0; i < pad.length; i++) pad[i] ^= 54 ^ 92; this.oHash.update(pad); pad.fill(0); } @@ -2352,7 +2422,8 @@ zoo`.split("\n"); } _cloneInto(to) { to || (to = Object.create(Object.getPrototypeOf(this), {})); - const { oHash, iHash, finished, destroyed, blockLen, outputLen } = this; + const { oHash, iHash, finished, destroyed, blockLen, outputLen } = + this; to = to; to.finished = finished; to.destroyed = destroyed; @@ -2368,10 +2439,11 @@ zoo`.split("\n"); this.iHash.destroy(); } }; - var hmac2 = (hash2, key, message) => new HMAC2(hash2, key).update(message).digest(); + var hmac2 = (hash2, key, message) => + new HMAC2(hash2, key).update(message).digest(); exports.hmac = hmac2; exports.hmac.create = (hash2, key) => new HMAC2(hash2, key); - } + }, }); // node_modules/@noble/hashes/pbkdf2.js @@ -2386,13 +2458,15 @@ zoo`.split("\n"); var utils_js_1 = require_utils(); function pbkdf2Init(hash2, _password, _salt, _opts) { _assert_js_1.default.hash(hash2); - const opts = (0, utils_js_1.checkOpts)({ dkLen: 32, asyncTick: 10 }, _opts); + const opts = (0, utils_js_1.checkOpts)( + { dkLen: 32, asyncTick: 10 }, + _opts + ); const { c, dkLen, asyncTick } = opts; _assert_js_1.default.number(c); _assert_js_1.default.number(dkLen); _assert_js_1.default.number(asyncTick); - if (c < 1) - throw new Error("PBKDF2: iterations (c) should be >= 1"); + if (c < 1) throw new Error("PBKDF2: iterations (c) should be >= 1"); const password = (0, utils_js_1.toBytes)(_password); const salt = (0, utils_js_1.toBytes)(_salt); const DK = new Uint8Array(dkLen); @@ -2403,13 +2477,17 @@ zoo`.split("\n"); function pbkdf2Output(PRF, PRFSalt, DK, prfW, u) { PRF.destroy(); PRFSalt.destroy(); - if (prfW) - prfW.destroy(); + if (prfW) prfW.destroy(); u.fill(0); return DK; } function pbkdf2(hash2, password, salt, opts) { - const { c, dkLen, DK, PRF, PRFSalt } = pbkdf2Init(hash2, password, salt, opts); + const { c, dkLen, DK, PRF, PRFSalt } = pbkdf2Init( + hash2, + password, + salt, + opts + ); let prfW; const arr = new Uint8Array(4); const view = (0, utils_js_1.createView)(arr); @@ -2421,15 +2499,19 @@ zoo`.split("\n"); Ti.set(u.subarray(0, Ti.length)); for (let ui = 1; ui < c; ui++) { PRF._cloneInto(prfW).update(u).digestInto(u); - for (let i = 0; i < Ti.length; i++) - Ti[i] ^= u[i]; + for (let i = 0; i < Ti.length; i++) Ti[i] ^= u[i]; } } return pbkdf2Output(PRF, PRFSalt, DK, prfW, u); } exports.pbkdf2 = pbkdf2; async function pbkdf2Async(hash2, password, salt, opts) { - const { c, dkLen, asyncTick, DK, PRF, PRFSalt } = pbkdf2Init(hash2, password, salt, opts); + const { c, dkLen, asyncTick, DK, PRF, PRFSalt } = pbkdf2Init( + hash2, + password, + salt, + opts + ); let prfW; const arr = new Uint8Array(4); const view = (0, utils_js_1.createView)(arr); @@ -2441,14 +2523,13 @@ zoo`.split("\n"); Ti.set(u.subarray(0, Ti.length)); await (0, utils_js_1.asyncLoop)(c - 1, asyncTick, (i) => { PRF._cloneInto(prfW).update(u).digestInto(u); - for (let i2 = 0; i2 < Ti.length; i2++) - Ti[i2] ^= u[i2]; + for (let i2 = 0; i2 < Ti.length; i2++) Ti[i2] ^= u[i2]; }); } return pbkdf2Output(PRF, PRFSalt, DK, prfW, u); } exports.pbkdf2Async = pbkdf2Async; - } + }, }); // node_modules/@noble/hashes/_sha2.js @@ -2465,7 +2546,7 @@ zoo`.split("\n"); return view.setBigUint64(byteOffset, value, isLE2); const _32n2 = BigInt(32); const _u32_max = BigInt(4294967295); - const wh = Number(value >> _32n2 & _u32_max); + const wh = Number((value >> _32n2) & _u32_max); const wl = Number(value & _u32_max); const h = isLE2 ? 4 : 0; const l = isLE2 ? 0 : 4; @@ -2523,8 +2604,7 @@ zoo`.split("\n"); this.process(view, 0); pos = 0; } - for (let i = pos; i < blockLen; i++) - buffer[i] = 0; + for (let i = pos; i < blockLen; i++) buffer[i] = 0; setBigUint642(view, blockLen - 8, BigInt(this.length * 8), isLE2); this.process(view, 0); const oview = (0, utils_js_1.createView)(out); @@ -2553,13 +2633,12 @@ zoo`.split("\n"); to.pos = pos; to.finished = finished; to.destroyed = destroyed; - if (length % blockLen) - to.buffer.set(buffer); + if (length % blockLen) to.buffer.set(buffer); return to; } }; exports.SHA2 = SHA22; - } + }, }); // node_modules/@noble/hashes/sha256.js @@ -2571,83 +2650,24 @@ zoo`.split("\n"); exports.sha224 = exports.sha256 = void 0; var _sha2_js_1 = require_sha2(); var utils_js_1 = require_utils(); - var Chi2 = (a, b, c) => a & b ^ ~a & c; - var Maj2 = (a, b, c) => a & b ^ a & c ^ b & c; + var Chi2 = (a, b, c) => (a & b) ^ (~a & c); + var Maj2 = (a, b, c) => (a & b) ^ (a & c) ^ (b & c); var SHA256_K2 = new Uint32Array([ - 1116352408, - 1899447441, - 3049323471, - 3921009573, - 961987163, - 1508970993, - 2453635748, - 2870763221, - 3624381080, - 310598401, - 607225278, - 1426881987, - 1925078388, - 2162078206, - 2614888103, - 3248222580, - 3835390401, - 4022224774, - 264347078, - 604807628, - 770255983, - 1249150122, - 1555081692, - 1996064986, - 2554220882, - 2821834349, - 2952996808, - 3210313671, - 3336571891, - 3584528711, - 113926993, - 338241895, - 666307205, - 773529912, - 1294757372, - 1396182291, - 1695183700, - 1986661051, - 2177026350, - 2456956037, - 2730485921, - 2820302411, - 3259730800, - 3345764771, - 3516065817, - 3600352804, - 4094571909, - 275423344, - 430227734, - 506948616, - 659060556, - 883997877, - 958139571, - 1322822218, - 1537002063, - 1747873779, - 1955562222, - 2024104815, - 2227730452, - 2361852424, - 2428436474, - 2756734187, - 3204031479, - 3329325298 + 1116352408, 1899447441, 3049323471, 3921009573, 961987163, 1508970993, + 2453635748, 2870763221, 3624381080, 310598401, 607225278, 1426881987, + 1925078388, 2162078206, 2614888103, 3248222580, 3835390401, 4022224774, + 264347078, 604807628, 770255983, 1249150122, 1555081692, 1996064986, + 2554220882, 2821834349, 2952996808, 3210313671, 3336571891, 3584528711, + 113926993, 338241895, 666307205, 773529912, 1294757372, 1396182291, + 1695183700, 1986661051, 2177026350, 2456956037, 2730485921, 2820302411, + 3259730800, 3345764771, 3516065817, 3600352804, 4094571909, 275423344, + 430227734, 506948616, 659060556, 883997877, 958139571, 1322822218, + 1537002063, 1747873779, 1955562222, 2024104815, 2227730452, 2361852424, + 2428436474, 2756734187, 3204031479, 3329325298, ]); var IV2 = new Uint32Array([ - 1779033703, - 3144134277, - 1013904242, - 2773480762, - 1359893119, - 2600822924, - 528734635, - 1541459225 + 1779033703, 3144134277, 1013904242, 2773480762, 1359893119, 2600822924, + 528734635, 1541459225, ]); var SHA256_W2 = new Uint32Array(64); var SHA2562 = class extends _sha2_js_1.SHA2 { @@ -2682,33 +2702,46 @@ zoo`.split("\n"); for (let i = 16; i < 64; i++) { const W15 = SHA256_W2[i - 15]; const W2 = SHA256_W2[i - 2]; - const s0 = (0, utils_js_1.rotr)(W15, 7) ^ (0, utils_js_1.rotr)(W15, 18) ^ W15 >>> 3; - const s1 = (0, utils_js_1.rotr)(W2, 17) ^ (0, utils_js_1.rotr)(W2, 19) ^ W2 >>> 10; - SHA256_W2[i] = s1 + SHA256_W2[i - 7] + s0 + SHA256_W2[i - 16] | 0; + const s0 = + (0, utils_js_1.rotr)(W15, 7) ^ + (0, utils_js_1.rotr)(W15, 18) ^ + (W15 >>> 3); + const s1 = + (0, utils_js_1.rotr)(W2, 17) ^ + (0, utils_js_1.rotr)(W2, 19) ^ + (W2 >>> 10); + SHA256_W2[i] = (s1 + SHA256_W2[i - 7] + s0 + SHA256_W2[i - 16]) | 0; } let { A, B, C, D, E, F, G, H } = this; for (let i = 0; i < 64; i++) { - const sigma1 = (0, utils_js_1.rotr)(E, 6) ^ (0, utils_js_1.rotr)(E, 11) ^ (0, utils_js_1.rotr)(E, 25); - const T1 = H + sigma1 + Chi2(E, F, G) + SHA256_K2[i] + SHA256_W2[i] | 0; - const sigma0 = (0, utils_js_1.rotr)(A, 2) ^ (0, utils_js_1.rotr)(A, 13) ^ (0, utils_js_1.rotr)(A, 22); - const T2 = sigma0 + Maj2(A, B, C) | 0; + const sigma1 = + (0, utils_js_1.rotr)(E, 6) ^ + (0, utils_js_1.rotr)(E, 11) ^ + (0, utils_js_1.rotr)(E, 25); + const T1 = + (H + sigma1 + Chi2(E, F, G) + SHA256_K2[i] + SHA256_W2[i]) | 0; + const sigma0 = + (0, utils_js_1.rotr)(A, 2) ^ + (0, utils_js_1.rotr)(A, 13) ^ + (0, utils_js_1.rotr)(A, 22); + const T2 = (sigma0 + Maj2(A, B, C)) | 0; H = G; G = F; F = E; - E = D + T1 | 0; + E = (D + T1) | 0; D = C; C = B; B = A; - A = T1 + T2 | 0; + A = (T1 + T2) | 0; } - A = A + this.A | 0; - B = B + this.B | 0; - C = C + this.C | 0; - D = D + this.D | 0; - E = E + this.E | 0; - F = F + this.F | 0; - G = G + this.G | 0; - H = H + this.H | 0; + A = (A + this.A) | 0; + B = (B + this.B) | 0; + C = (C + this.C) | 0; + D = (D + this.D) | 0; + E = (E + this.E) | 0; + F = (F + this.F) | 0; + G = (G + this.G) | 0; + H = (H + this.H) | 0; this.set(A, B, C, D, E, F, G, H); } roundClean() { @@ -2735,7 +2768,7 @@ zoo`.split("\n"); }; exports.sha256 = (0, utils_js_1.wrapConstructor)(() => new SHA2562()); exports.sha224 = (0, utils_js_1.wrapConstructor)(() => new SHA2242()); - } + }, }); // node_modules/@noble/hashes/_u64.js @@ -2749,8 +2782,14 @@ zoo`.split("\n"); var _32n2 = BigInt(32); function fromBig2(n, le = false) { if (le) - return { h: Number(n & U32_MASK642), l: Number(n >> _32n2 & U32_MASK642) }; - return { h: Number(n >> _32n2 & U32_MASK642) | 0, l: Number(n & U32_MASK642) | 0 }; + return { + h: Number(n & U32_MASK642), + l: Number((n >> _32n2) & U32_MASK642), + }; + return { + h: Number((n >> _32n2) & U32_MASK642) | 0, + l: Number(n & U32_MASK642) | 0, + }; } exports.fromBig = fromBig2; function split2(lst, le = false) { @@ -2763,31 +2802,36 @@ zoo`.split("\n"); return [Ah, Al]; } exports.split = split2; - var toBig2 = (h, l) => BigInt(h >>> 0) << _32n2 | BigInt(l >>> 0); + var toBig2 = (h, l) => (BigInt(h >>> 0) << _32n2) | BigInt(l >>> 0); exports.toBig = toBig2; var shrSH2 = (h, l, s) => h >>> s; - var shrSL2 = (h, l, s) => h << 32 - s | l >>> s; - var rotrSH2 = (h, l, s) => h >>> s | l << 32 - s; - var rotrSL2 = (h, l, s) => h << 32 - s | l >>> s; - var rotrBH2 = (h, l, s) => h << 64 - s | l >>> s - 32; - var rotrBL2 = (h, l, s) => h >>> s - 32 | l << 64 - s; + var shrSL2 = (h, l, s) => (h << (32 - s)) | (l >>> s); + var rotrSH2 = (h, l, s) => (h >>> s) | (l << (32 - s)); + var rotrSL2 = (h, l, s) => (h << (32 - s)) | (l >>> s); + var rotrBH2 = (h, l, s) => (h << (64 - s)) | (l >>> (s - 32)); + var rotrBL2 = (h, l, s) => (h >>> (s - 32)) | (l << (64 - s)); var rotr32H2 = (h, l) => l; var rotr32L2 = (h, l) => h; - var rotlSH2 = (h, l, s) => h << s | l >>> 32 - s; - var rotlSL2 = (h, l, s) => l << s | h >>> 32 - s; - var rotlBH2 = (h, l, s) => l << s - 32 | h >>> 64 - s; - var rotlBL2 = (h, l, s) => h << s - 32 | l >>> 64 - s; + var rotlSH2 = (h, l, s) => (h << s) | (l >>> (32 - s)); + var rotlSL2 = (h, l, s) => (l << s) | (h >>> (32 - s)); + var rotlBH2 = (h, l, s) => (l << (s - 32)) | (h >>> (64 - s)); + var rotlBL2 = (h, l, s) => (h << (s - 32)) | (l >>> (64 - s)); function add2(Ah, Al, Bh, Bl) { const l = (Al >>> 0) + (Bl >>> 0); - return { h: Ah + Bh + (l / 2 ** 32 | 0) | 0, l: l | 0 }; + return { h: (Ah + Bh + ((l / 2 ** 32) | 0)) | 0, l: l | 0 }; } exports.add = add2; var add3L2 = (Al, Bl, Cl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0); - var add3H2 = (low, Ah, Bh, Ch) => Ah + Bh + Ch + (low / 2 ** 32 | 0) | 0; - var add4L2 = (Al, Bl, Cl, Dl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0); - var add4H2 = (low, Ah, Bh, Ch, Dh) => Ah + Bh + Ch + Dh + (low / 2 ** 32 | 0) | 0; - var add5L2 = (Al, Bl, Cl, Dl, El) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0) + (El >>> 0); - var add5H2 = (low, Ah, Bh, Ch, Dh, Eh) => Ah + Bh + Ch + Dh + Eh + (low / 2 ** 32 | 0) | 0; + var add3H2 = (low, Ah, Bh, Ch) => + (Ah + Bh + Ch + ((low / 2 ** 32) | 0)) | 0; + var add4L2 = (Al, Bl, Cl, Dl) => + (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0); + var add4H2 = (low, Ah, Bh, Ch, Dh) => + (Ah + Bh + Ch + Dh + ((low / 2 ** 32) | 0)) | 0; + var add5L2 = (Al, Bl, Cl, Dl, El) => + (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0) + (El >>> 0); + var add5H2 = (low, Ah, Bh, Ch, Dh, Eh) => + (Ah + Bh + Ch + Dh + Eh + ((low / 2 ** 32) | 0)) | 0; var u642 = { fromBig: fromBig2, split: split2, @@ -2810,10 +2854,10 @@ zoo`.split("\n"); add4L: add4L2, add4H: add4H2, add5H: add5H2, - add5L: add5L2 + add5L: add5L2, }; exports.default = u642; - } + }, }); // node_modules/@noble/hashes/sha512.js @@ -2822,92 +2866,99 @@ zoo`.split("\n"); "use strict"; init_define_process(); Object.defineProperty(exports, "__esModule", { value: true }); - exports.sha384 = exports.sha512_256 = exports.sha512_224 = exports.sha512 = exports.SHA512 = void 0; + exports.sha384 = + exports.sha512_256 = + exports.sha512_224 = + exports.sha512 = + exports.SHA512 = + void 0; var _sha2_js_1 = require_sha2(); var _u64_js_1 = require_u64(); var utils_js_1 = require_utils(); - var [SHA512_Kh2, SHA512_Kl2] = _u64_js_1.default.split([ - "0x428a2f98d728ae22", - "0x7137449123ef65cd", - "0xb5c0fbcfec4d3b2f", - "0xe9b5dba58189dbbc", - "0x3956c25bf348b538", - "0x59f111f1b605d019", - "0x923f82a4af194f9b", - "0xab1c5ed5da6d8118", - "0xd807aa98a3030242", - "0x12835b0145706fbe", - "0x243185be4ee4b28c", - "0x550c7dc3d5ffb4e2", - "0x72be5d74f27b896f", - "0x80deb1fe3b1696b1", - "0x9bdc06a725c71235", - "0xc19bf174cf692694", - "0xe49b69c19ef14ad2", - "0xefbe4786384f25e3", - "0x0fc19dc68b8cd5b5", - "0x240ca1cc77ac9c65", - "0x2de92c6f592b0275", - "0x4a7484aa6ea6e483", - "0x5cb0a9dcbd41fbd4", - "0x76f988da831153b5", - "0x983e5152ee66dfab", - "0xa831c66d2db43210", - "0xb00327c898fb213f", - "0xbf597fc7beef0ee4", - "0xc6e00bf33da88fc2", - "0xd5a79147930aa725", - "0x06ca6351e003826f", - "0x142929670a0e6e70", - "0x27b70a8546d22ffc", - "0x2e1b21385c26c926", - "0x4d2c6dfc5ac42aed", - "0x53380d139d95b3df", - "0x650a73548baf63de", - "0x766a0abb3c77b2a8", - "0x81c2c92e47edaee6", - "0x92722c851482353b", - "0xa2bfe8a14cf10364", - "0xa81a664bbc423001", - "0xc24b8b70d0f89791", - "0xc76c51a30654be30", - "0xd192e819d6ef5218", - "0xd69906245565a910", - "0xf40e35855771202a", - "0x106aa07032bbd1b8", - "0x19a4c116b8d2d0c8", - "0x1e376c085141ab53", - "0x2748774cdf8eeb99", - "0x34b0bcb5e19b48a8", - "0x391c0cb3c5c95a63", - "0x4ed8aa4ae3418acb", - "0x5b9cca4f7763e373", - "0x682e6ff3d6b2b8a3", - "0x748f82ee5defb2fc", - "0x78a5636f43172f60", - "0x84c87814a1f0ab72", - "0x8cc702081a6439ec", - "0x90befffa23631e28", - "0xa4506cebde82bde9", - "0xbef9a3f7b2c67915", - "0xc67178f2e372532b", - "0xca273eceea26619c", - "0xd186b8c721c0c207", - "0xeada7dd6cde0eb1e", - "0xf57d4f7fee6ed178", - "0x06f067aa72176fba", - "0x0a637dc5a2c898a6", - "0x113f9804bef90dae", - "0x1b710b35131c471b", - "0x28db77f523047d84", - "0x32caab7b40c72493", - "0x3c9ebe0a15c9bebc", - "0x431d67c49c100d4c", - "0x4cc5d4becb3e42b6", - "0x597f299cfc657e2a", - "0x5fcb6fab3ad6faec", - "0x6c44198c4a475817" - ].map((n) => BigInt(n))); + var [SHA512_Kh2, SHA512_Kl2] = _u64_js_1.default.split( + [ + "0x428a2f98d728ae22", + "0x7137449123ef65cd", + "0xb5c0fbcfec4d3b2f", + "0xe9b5dba58189dbbc", + "0x3956c25bf348b538", + "0x59f111f1b605d019", + "0x923f82a4af194f9b", + "0xab1c5ed5da6d8118", + "0xd807aa98a3030242", + "0x12835b0145706fbe", + "0x243185be4ee4b28c", + "0x550c7dc3d5ffb4e2", + "0x72be5d74f27b896f", + "0x80deb1fe3b1696b1", + "0x9bdc06a725c71235", + "0xc19bf174cf692694", + "0xe49b69c19ef14ad2", + "0xefbe4786384f25e3", + "0x0fc19dc68b8cd5b5", + "0x240ca1cc77ac9c65", + "0x2de92c6f592b0275", + "0x4a7484aa6ea6e483", + "0x5cb0a9dcbd41fbd4", + "0x76f988da831153b5", + "0x983e5152ee66dfab", + "0xa831c66d2db43210", + "0xb00327c898fb213f", + "0xbf597fc7beef0ee4", + "0xc6e00bf33da88fc2", + "0xd5a79147930aa725", + "0x06ca6351e003826f", + "0x142929670a0e6e70", + "0x27b70a8546d22ffc", + "0x2e1b21385c26c926", + "0x4d2c6dfc5ac42aed", + "0x53380d139d95b3df", + "0x650a73548baf63de", + "0x766a0abb3c77b2a8", + "0x81c2c92e47edaee6", + "0x92722c851482353b", + "0xa2bfe8a14cf10364", + "0xa81a664bbc423001", + "0xc24b8b70d0f89791", + "0xc76c51a30654be30", + "0xd192e819d6ef5218", + "0xd69906245565a910", + "0xf40e35855771202a", + "0x106aa07032bbd1b8", + "0x19a4c116b8d2d0c8", + "0x1e376c085141ab53", + "0x2748774cdf8eeb99", + "0x34b0bcb5e19b48a8", + "0x391c0cb3c5c95a63", + "0x4ed8aa4ae3418acb", + "0x5b9cca4f7763e373", + "0x682e6ff3d6b2b8a3", + "0x748f82ee5defb2fc", + "0x78a5636f43172f60", + "0x84c87814a1f0ab72", + "0x8cc702081a6439ec", + "0x90befffa23631e28", + "0xa4506cebde82bde9", + "0xbef9a3f7b2c67915", + "0xc67178f2e372532b", + "0xca273eceea26619c", + "0xd186b8c721c0c207", + "0xeada7dd6cde0eb1e", + "0xf57d4f7fee6ed178", + "0x06f067aa72176fba", + "0x0a637dc5a2c898a6", + "0x113f9804bef90dae", + "0x1b710b35131c471b", + "0x28db77f523047d84", + "0x32caab7b40c72493", + "0x3c9ebe0a15c9bebc", + "0x431d67c49c100d4c", + "0x4cc5d4becb3e42b6", + "0x597f299cfc657e2a", + "0x5fcb6fab3ad6faec", + "0x6c44198c4a475817", + ].map((n) => BigInt(n)) + ); var SHA512_W_H2 = new Uint32Array(80); var SHA512_W_L2 = new Uint32Array(80); var SHA5122 = class extends _sha2_js_1.SHA2 { @@ -2931,8 +2982,42 @@ zoo`.split("\n"); this.Hl = 327033209 | 0; } get() { - const { Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl } = this; - return [Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl]; + const { + Ah, + Al, + Bh, + Bl, + Ch, + Cl, + Dh, + Dl, + Eh, + El, + Fh, + Fl, + Gh, + Gl, + Hh, + Hl, + } = this; + return [ + Ah, + Al, + Bh, + Bl, + Ch, + Cl, + Dh, + Dl, + Eh, + El, + Fh, + Fl, + Gh, + Gl, + Hh, + Hl, + ]; } set(Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl) { this.Ah = Ah | 0; @@ -2955,42 +3040,112 @@ zoo`.split("\n"); process(view, offset) { for (let i = 0; i < 16; i++, offset += 4) { SHA512_W_H2[i] = view.getUint32(offset); - SHA512_W_L2[i] = view.getUint32(offset += 4); + SHA512_W_L2[i] = view.getUint32((offset += 4)); } for (let i = 16; i < 80; i++) { const W15h = SHA512_W_H2[i - 15] | 0; const W15l = SHA512_W_L2[i - 15] | 0; - const s0h = _u64_js_1.default.rotrSH(W15h, W15l, 1) ^ _u64_js_1.default.rotrSH(W15h, W15l, 8) ^ _u64_js_1.default.shrSH(W15h, W15l, 7); - const s0l = _u64_js_1.default.rotrSL(W15h, W15l, 1) ^ _u64_js_1.default.rotrSL(W15h, W15l, 8) ^ _u64_js_1.default.shrSL(W15h, W15l, 7); + const s0h = + _u64_js_1.default.rotrSH(W15h, W15l, 1) ^ + _u64_js_1.default.rotrSH(W15h, W15l, 8) ^ + _u64_js_1.default.shrSH(W15h, W15l, 7); + const s0l = + _u64_js_1.default.rotrSL(W15h, W15l, 1) ^ + _u64_js_1.default.rotrSL(W15h, W15l, 8) ^ + _u64_js_1.default.shrSL(W15h, W15l, 7); const W2h = SHA512_W_H2[i - 2] | 0; const W2l = SHA512_W_L2[i - 2] | 0; - const s1h = _u64_js_1.default.rotrSH(W2h, W2l, 19) ^ _u64_js_1.default.rotrBH(W2h, W2l, 61) ^ _u64_js_1.default.shrSH(W2h, W2l, 6); - const s1l = _u64_js_1.default.rotrSL(W2h, W2l, 19) ^ _u64_js_1.default.rotrBL(W2h, W2l, 61) ^ _u64_js_1.default.shrSL(W2h, W2l, 6); - const SUMl = _u64_js_1.default.add4L(s0l, s1l, SHA512_W_L2[i - 7], SHA512_W_L2[i - 16]); - const SUMh = _u64_js_1.default.add4H(SUMl, s0h, s1h, SHA512_W_H2[i - 7], SHA512_W_H2[i - 16]); + const s1h = + _u64_js_1.default.rotrSH(W2h, W2l, 19) ^ + _u64_js_1.default.rotrBH(W2h, W2l, 61) ^ + _u64_js_1.default.shrSH(W2h, W2l, 6); + const s1l = + _u64_js_1.default.rotrSL(W2h, W2l, 19) ^ + _u64_js_1.default.rotrBL(W2h, W2l, 61) ^ + _u64_js_1.default.shrSL(W2h, W2l, 6); + const SUMl = _u64_js_1.default.add4L( + s0l, + s1l, + SHA512_W_L2[i - 7], + SHA512_W_L2[i - 16] + ); + const SUMh = _u64_js_1.default.add4H( + SUMl, + s0h, + s1h, + SHA512_W_H2[i - 7], + SHA512_W_H2[i - 16] + ); SHA512_W_H2[i] = SUMh | 0; SHA512_W_L2[i] = SUMl | 0; } - let { Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl } = this; + let { + Ah, + Al, + Bh, + Bl, + Ch, + Cl, + Dh, + Dl, + Eh, + El, + Fh, + Fl, + Gh, + Gl, + Hh, + Hl, + } = this; for (let i = 0; i < 80; i++) { - const sigma1h = _u64_js_1.default.rotrSH(Eh, El, 14) ^ _u64_js_1.default.rotrSH(Eh, El, 18) ^ _u64_js_1.default.rotrBH(Eh, El, 41); - const sigma1l = _u64_js_1.default.rotrSL(Eh, El, 14) ^ _u64_js_1.default.rotrSL(Eh, El, 18) ^ _u64_js_1.default.rotrBL(Eh, El, 41); - const CHIh = Eh & Fh ^ ~Eh & Gh; - const CHIl = El & Fl ^ ~El & Gl; - const T1ll = _u64_js_1.default.add5L(Hl, sigma1l, CHIl, SHA512_Kl2[i], SHA512_W_L2[i]); - const T1h = _u64_js_1.default.add5H(T1ll, Hh, sigma1h, CHIh, SHA512_Kh2[i], SHA512_W_H2[i]); + const sigma1h = + _u64_js_1.default.rotrSH(Eh, El, 14) ^ + _u64_js_1.default.rotrSH(Eh, El, 18) ^ + _u64_js_1.default.rotrBH(Eh, El, 41); + const sigma1l = + _u64_js_1.default.rotrSL(Eh, El, 14) ^ + _u64_js_1.default.rotrSL(Eh, El, 18) ^ + _u64_js_1.default.rotrBL(Eh, El, 41); + const CHIh = (Eh & Fh) ^ (~Eh & Gh); + const CHIl = (El & Fl) ^ (~El & Gl); + const T1ll = _u64_js_1.default.add5L( + Hl, + sigma1l, + CHIl, + SHA512_Kl2[i], + SHA512_W_L2[i] + ); + const T1h = _u64_js_1.default.add5H( + T1ll, + Hh, + sigma1h, + CHIh, + SHA512_Kh2[i], + SHA512_W_H2[i] + ); const T1l = T1ll | 0; - const sigma0h = _u64_js_1.default.rotrSH(Ah, Al, 28) ^ _u64_js_1.default.rotrBH(Ah, Al, 34) ^ _u64_js_1.default.rotrBH(Ah, Al, 39); - const sigma0l = _u64_js_1.default.rotrSL(Ah, Al, 28) ^ _u64_js_1.default.rotrBL(Ah, Al, 34) ^ _u64_js_1.default.rotrBL(Ah, Al, 39); - const MAJh = Ah & Bh ^ Ah & Ch ^ Bh & Ch; - const MAJl = Al & Bl ^ Al & Cl ^ Bl & Cl; + const sigma0h = + _u64_js_1.default.rotrSH(Ah, Al, 28) ^ + _u64_js_1.default.rotrBH(Ah, Al, 34) ^ + _u64_js_1.default.rotrBH(Ah, Al, 39); + const sigma0l = + _u64_js_1.default.rotrSL(Ah, Al, 28) ^ + _u64_js_1.default.rotrBL(Ah, Al, 34) ^ + _u64_js_1.default.rotrBL(Ah, Al, 39); + const MAJh = (Ah & Bh) ^ (Ah & Ch) ^ (Bh & Ch); + const MAJl = (Al & Bl) ^ (Al & Cl) ^ (Bl & Cl); Hh = Gh | 0; Hl = Gl | 0; Gh = Fh | 0; Gl = Fl | 0; Fh = Eh | 0; Fl = El | 0; - ({ h: Eh, l: El } = _u64_js_1.default.add(Dh | 0, Dl | 0, T1h | 0, T1l | 0)); + ({ h: Eh, l: El } = _u64_js_1.default.add( + Dh | 0, + Dl | 0, + T1h | 0, + T1l | 0 + )); Dh = Ch | 0; Dl = Cl | 0; Ch = Bh | 0; @@ -3001,15 +3156,72 @@ zoo`.split("\n"); Ah = _u64_js_1.default.add3H(All, T1h, sigma0h, MAJh); Al = All | 0; } - ({ h: Ah, l: Al } = _u64_js_1.default.add(this.Ah | 0, this.Al | 0, Ah | 0, Al | 0)); - ({ h: Bh, l: Bl } = _u64_js_1.default.add(this.Bh | 0, this.Bl | 0, Bh | 0, Bl | 0)); - ({ h: Ch, l: Cl } = _u64_js_1.default.add(this.Ch | 0, this.Cl | 0, Ch | 0, Cl | 0)); - ({ h: Dh, l: Dl } = _u64_js_1.default.add(this.Dh | 0, this.Dl | 0, Dh | 0, Dl | 0)); - ({ h: Eh, l: El } = _u64_js_1.default.add(this.Eh | 0, this.El | 0, Eh | 0, El | 0)); - ({ h: Fh, l: Fl } = _u64_js_1.default.add(this.Fh | 0, this.Fl | 0, Fh | 0, Fl | 0)); - ({ h: Gh, l: Gl } = _u64_js_1.default.add(this.Gh | 0, this.Gl | 0, Gh | 0, Gl | 0)); - ({ h: Hh, l: Hl } = _u64_js_1.default.add(this.Hh | 0, this.Hl | 0, Hh | 0, Hl | 0)); - this.set(Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl); + ({ h: Ah, l: Al } = _u64_js_1.default.add( + this.Ah | 0, + this.Al | 0, + Ah | 0, + Al | 0 + )); + ({ h: Bh, l: Bl } = _u64_js_1.default.add( + this.Bh | 0, + this.Bl | 0, + Bh | 0, + Bl | 0 + )); + ({ h: Ch, l: Cl } = _u64_js_1.default.add( + this.Ch | 0, + this.Cl | 0, + Ch | 0, + Cl | 0 + )); + ({ h: Dh, l: Dl } = _u64_js_1.default.add( + this.Dh | 0, + this.Dl | 0, + Dh | 0, + Dl | 0 + )); + ({ h: Eh, l: El } = _u64_js_1.default.add( + this.Eh | 0, + this.El | 0, + Eh | 0, + El | 0 + )); + ({ h: Fh, l: Fl } = _u64_js_1.default.add( + this.Fh | 0, + this.Fl | 0, + Fh | 0, + Fl | 0 + )); + ({ h: Gh, l: Gl } = _u64_js_1.default.add( + this.Gh | 0, + this.Gl | 0, + Gh | 0, + Gl | 0 + )); + ({ h: Hh, l: Hl } = _u64_js_1.default.add( + this.Hh | 0, + this.Hl | 0, + Hh | 0, + Hl | 0 + )); + this.set( + Ah, + Al, + Bh, + Bl, + Ch, + Cl, + Dh, + Dl, + Eh, + El, + Fh, + Fl, + Gh, + Gl, + Hh, + Hl + ); } roundClean() { SHA512_W_H2.fill(0); @@ -3088,10 +3300,14 @@ zoo`.split("\n"); } }; exports.sha512 = (0, utils_js_1.wrapConstructor)(() => new SHA5122()); - exports.sha512_224 = (0, utils_js_1.wrapConstructor)(() => new SHA512_2242()); - exports.sha512_256 = (0, utils_js_1.wrapConstructor)(() => new SHA512_2562()); + exports.sha512_224 = (0, utils_js_1.wrapConstructor)( + () => new SHA512_2242() + ); + exports.sha512_256 = (0, utils_js_1.wrapConstructor)( + () => new SHA512_2562() + ); exports.sha384 = (0, utils_js_1.wrapConstructor)(() => new SHA3842()); - } + }, }); // node_modules/@scure/base/lib/index.js @@ -3100,42 +3316,83 @@ zoo`.split("\n"); "use strict"; init_define_process(); Object.defineProperty(exports, "__esModule", { value: true }); - exports.bytes = exports.stringToBytes = exports.str = exports.bytesToString = exports.hex = exports.utf8 = exports.bech32m = exports.bech32 = exports.base58check = exports.base58xmr = exports.base58xrp = exports.base58flickr = exports.base58 = exports.base64url = exports.base64 = exports.base32crockford = exports.base32hex = exports.base32 = exports.base16 = exports.utils = exports.assertNumber = void 0; + exports.bytes = + exports.stringToBytes = + exports.str = + exports.bytesToString = + exports.hex = + exports.utf8 = + exports.bech32m = + exports.bech32 = + exports.base58check = + exports.base58xmr = + exports.base58xrp = + exports.base58flickr = + exports.base58 = + exports.base64url = + exports.base64 = + exports.base32crockford = + exports.base32hex = + exports.base32 = + exports.base16 = + exports.utils = + exports.assertNumber = + void 0; function assertNumber2(n) { - if (!Number.isSafeInteger(n)) - throw new Error(`Wrong integer: ${n}`); + if (!Number.isSafeInteger(n)) throw new Error(`Wrong integer: ${n}`); } exports.assertNumber = assertNumber2; function chain2(...args) { const wrap = (a, b) => (c) => a(b(c)); - const encode = Array.from(args).reverse().reduce((acc, i) => acc ? wrap(acc, i.encode) : i.encode, void 0); - const decode2 = args.reduce((acc, i) => acc ? wrap(acc, i.decode) : i.decode, void 0); + const encode = Array.from(args) + .reverse() + .reduce((acc, i) => (acc ? wrap(acc, i.encode) : i.encode), void 0); + const decode2 = args.reduce( + (acc, i) => (acc ? wrap(acc, i.decode) : i.decode), + void 0 + ); return { encode, decode: decode2 }; } function alphabet2(alphabet3) { return { encode: (digits) => { - if (!Array.isArray(digits) || digits.length && typeof digits[0] !== "number") - throw new Error("alphabet.encode input should be an array of numbers"); + if ( + !Array.isArray(digits) || + (digits.length && typeof digits[0] !== "number") + ) + throw new Error( + "alphabet.encode input should be an array of numbers" + ); return digits.map((i) => { assertNumber2(i); if (i < 0 || i >= alphabet3.length) - throw new Error(`Digit index outside alphabet: ${i} (alphabet: ${alphabet3.length})`); + throw new Error( + `Digit index outside alphabet: ${i} (alphabet: ${alphabet3.length})` + ); return alphabet3[i]; }); }, decode: (input) => { - if (!Array.isArray(input) || input.length && typeof input[0] !== "string") - throw new Error("alphabet.decode input should be array of strings"); + if ( + !Array.isArray(input) || + (input.length && typeof input[0] !== "string") + ) + throw new Error( + "alphabet.decode input should be array of strings" + ); return input.map((letter) => { if (typeof letter !== "string") - throw new Error(`alphabet.decode: not string element=${letter}`); + throw new Error( + `alphabet.decode: not string element=${letter}` + ); const index = alphabet3.indexOf(letter); if (index === -1) - throw new Error(`Unknown letter: "${letter}". Allowed: ${alphabet3}`); + throw new Error( + `Unknown letter: "${letter}". Allowed: ${alphabet3}` + ); return index; }); - } + }, }; } function join2(separator = "") { @@ -3143,7 +3400,10 @@ zoo`.split("\n"); throw new Error("join separator should be string"); return { encode: (from) => { - if (!Array.isArray(from) || from.length && typeof from[0] !== "string") + if ( + !Array.isArray(from) || + (from.length && typeof from[0] !== "string") + ) throw new Error("join.encode input should be array of strings"); for (let i of from) if (typeof i !== "string") @@ -3154,7 +3414,7 @@ zoo`.split("\n"); if (typeof to !== "string") throw new Error("join.decode input should be string"); return to.split(separator); - } + }, }; } function padding2(bits, chr = "=") { @@ -3163,30 +3423,41 @@ zoo`.split("\n"); throw new Error("padding chr should be string"); return { encode(data) { - if (!Array.isArray(data) || data.length && typeof data[0] !== "string") - throw new Error("padding.encode input should be array of strings"); + if ( + !Array.isArray(data) || + (data.length && typeof data[0] !== "string") + ) + throw new Error( + "padding.encode input should be array of strings" + ); for (let i of data) if (typeof i !== "string") throw new Error(`padding.encode: non-string input=${i}`); - while (data.length * bits % 8) - data.push(chr); + while ((data.length * bits) % 8) data.push(chr); return data; }, decode(input) { - if (!Array.isArray(input) || input.length && typeof input[0] !== "string") - throw new Error("padding.encode input should be array of strings"); + if ( + !Array.isArray(input) || + (input.length && typeof input[0] !== "string") + ) + throw new Error( + "padding.encode input should be array of strings" + ); for (let i of input) if (typeof i !== "string") throw new Error(`padding.decode: non-string input=${i}`); let end = input.length; - if (end * bits % 8) - throw new Error("Invalid padding: string should have whole number of bytes"); + if ((end * bits) % 8) + throw new Error( + "Invalid padding: string should have whole number of bytes" + ); for (; end > 0 && input[end - 1] === chr; end--) { - if (!((end - 1) * bits % 8)) + if (!(((end - 1) * bits) % 8)) throw new Error("Invalid padding: string has too much padding"); } return input.slice(0, end); - } + }, }; } function normalize2(fn) { @@ -3196,20 +3467,22 @@ zoo`.split("\n"); } function convertRadix3(data, from, to) { if (from < 2) - throw new Error(`convertRadix: wrong from=${from}, base cannot be less than 2`); + throw new Error( + `convertRadix: wrong from=${from}, base cannot be less than 2` + ); if (to < 2) - throw new Error(`convertRadix: wrong to=${to}, base cannot be less than 2`); + throw new Error( + `convertRadix: wrong to=${to}, base cannot be less than 2` + ); if (!Array.isArray(data)) throw new Error("convertRadix: data should be array"); - if (!data.length) - return []; + if (!data.length) return []; let pos = 0; const res = []; const digits = Array.from(data); digits.forEach((d) => { assertNumber2(d); - if (d < 0 || d >= from) - throw new Error(`Wrong integer: ${d}`); + if (d < 0 || d >= from) throw new Error(`Wrong integer: ${d}`); }); while (true) { let carry = 0; @@ -3217,29 +3490,31 @@ zoo`.split("\n"); for (let i = pos; i < digits.length; i++) { const digit = digits[i]; const digitBase = from * carry + digit; - if (!Number.isSafeInteger(digitBase) || from * carry / from !== carry || digitBase - digit !== from * carry) { + if ( + !Number.isSafeInteger(digitBase) || + (from * carry) / from !== carry || + digitBase - digit !== from * carry + ) { throw new Error("convertRadix: carry overflow"); } carry = digitBase % to; digits[i] = Math.floor(digitBase / to); - if (!Number.isSafeInteger(digits[i]) || digits[i] * to + carry !== digitBase) + if ( + !Number.isSafeInteger(digits[i]) || + digits[i] * to + carry !== digitBase + ) throw new Error("convertRadix: carry overflow"); - if (!done) - continue; - else if (!digits[i]) - pos = i; - else - done = false; + if (!done) continue; + else if (!digits[i]) pos = i; + else done = false; } res.push(carry); - if (done) - break; + if (done) break; } - for (let i = 0; i < data.length - 1 && data[i] === 0; i++) - res.push(0); + for (let i = 0; i < data.length - 1 && data[i] === 0; i++) res.push(0); return res.reverse(); } - var gcd2 = (a, b) => !b ? a : gcd2(b, a % b); + var gcd2 = (a, b) => (!b ? a : gcd2(b, a % b)); var radix2carry2 = (from, to) => from + (to - gcd2(from, to)); function convertRadix22(data, from, to, padding3) { if (!Array.isArray(data)) @@ -3249,7 +3524,12 @@ zoo`.split("\n"); if (to <= 0 || to > 32) throw new Error(`convertRadix2: wrong to=${to}`); if (radix2carry2(from, to) > 32) { - throw new Error(`convertRadix2: carry overflow from=${from} to=${to} carryBits=${radix2carry2(from, to)}`); + throw new Error( + `convertRadix2: carry overflow from=${from} to=${to} carryBits=${radix2carry2( + from, + to + )}` + ); } let carry = 0; let pos = 0; @@ -3258,22 +3538,23 @@ zoo`.split("\n"); for (const n of data) { assertNumber2(n); if (n >= 2 ** from) - throw new Error(`convertRadix2: invalid data word=${n} from=${from}`); - carry = carry << from | n; + throw new Error( + `convertRadix2: invalid data word=${n} from=${from}` + ); + carry = (carry << from) | n; if (pos + from > 32) - throw new Error(`convertRadix2: carry overflow pos=${pos} from=${from}`); + throw new Error( + `convertRadix2: carry overflow pos=${pos} from=${from}` + ); pos += from; for (; pos >= to; pos -= to) - res.push((carry >> pos - to & mask) >>> 0); + res.push(((carry >> (pos - to)) & mask) >>> 0); carry &= 2 ** pos - 1; } - carry = carry << to - pos & mask; - if (!padding3 && pos >= from) - throw new Error("Excess padding"); - if (!padding3 && carry) - throw new Error(`Non-zero padding: ${carry}`); - if (padding3 && pos > 0) - res.push(carry >>> 0); + carry = (carry << (to - pos)) & mask; + if (!padding3 && pos >= from) throw new Error("Excess padding"); + if (!padding3 && carry) throw new Error(`Non-zero padding: ${carry}`); + if (padding3 && pos > 0) res.push(carry >>> 0); return res; } function radix3(num) { @@ -3285,10 +3566,13 @@ zoo`.split("\n"); return convertRadix3(Array.from(bytes2), 2 ** 8, num); }, decode: (digits) => { - if (!Array.isArray(digits) || digits.length && typeof digits[0] !== "number") + if ( + !Array.isArray(digits) || + (digits.length && typeof digits[0] !== "number") + ) throw new Error("radix.decode input should be array of strings"); return Uint8Array.from(convertRadix3(digits, num, 2 ** 8)); - } + }, }; } function radix22(bits, revPadding = false) { @@ -3304,20 +3588,22 @@ zoo`.split("\n"); return convertRadix22(Array.from(bytes2), 8, bits, !revPadding); }, decode: (digits) => { - if (!Array.isArray(digits) || digits.length && typeof digits[0] !== "number") + if ( + !Array.isArray(digits) || + (digits.length && typeof digits[0] !== "number") + ) throw new Error("radix2.decode input should be array of strings"); return Uint8Array.from(convertRadix22(digits, bits, 8, revPadding)); - } + }, }; } function unsafeWrapper2(fn) { if (typeof fn !== "function") throw new Error("unsafeWrapper fn should be function"); - return function(...args) { + return function (...args) { try { return fn.apply(null, args); - } catch (e) { - } + } catch (e) {} }; } function checksum2(len, fn) { @@ -3344,27 +3630,78 @@ zoo`.split("\n"); if (newChecksum[i] !== oldChecksum[i]) throw new Error("Invalid checksum"); return payload; - } + }, }; } - exports.utils = { alphabet: alphabet2, chain: chain2, checksum: checksum2, radix: radix3, radix2: radix22, join: join2, padding: padding2 }; - exports.base16 = chain2(radix22(4), alphabet2("0123456789ABCDEF"), join2("")); - exports.base32 = chain2(radix22(5), alphabet2("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"), padding2(5), join2("")); - exports.base32hex = chain2(radix22(5), alphabet2("0123456789ABCDEFGHIJKLMNOPQRSTUV"), padding2(5), join2("")); - exports.base32crockford = chain2(radix22(5), alphabet2("0123456789ABCDEFGHJKMNPQRSTVWXYZ"), join2(""), normalize2((s) => s.toUpperCase().replace(/O/g, "0").replace(/[IL]/g, "1"))); - exports.base64 = chain2(radix22(6), alphabet2("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"), padding2(6), join2("")); - exports.base64url = chain2(radix22(6), alphabet2("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"), padding2(6), join2("")); + exports.utils = { + alphabet: alphabet2, + chain: chain2, + checksum: checksum2, + radix: radix3, + radix2: radix22, + join: join2, + padding: padding2, + }; + exports.base16 = chain2( + radix22(4), + alphabet2("0123456789ABCDEF"), + join2("") + ); + exports.base32 = chain2( + radix22(5), + alphabet2("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"), + padding2(5), + join2("") + ); + exports.base32hex = chain2( + radix22(5), + alphabet2("0123456789ABCDEFGHIJKLMNOPQRSTUV"), + padding2(5), + join2("") + ); + exports.base32crockford = chain2( + radix22(5), + alphabet2("0123456789ABCDEFGHJKMNPQRSTVWXYZ"), + join2(""), + normalize2((s) => + s.toUpperCase().replace(/O/g, "0").replace(/[IL]/g, "1") + ) + ); + exports.base64 = chain2( + radix22(6), + alphabet2( + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" + ), + padding2(6), + join2("") + ); + exports.base64url = chain2( + radix22(6), + alphabet2( + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_" + ), + padding2(6), + join2("") + ); var genBase582 = (abc) => chain2(radix3(58), alphabet2(abc), join2("")); - exports.base58 = genBase582("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"); - exports.base58flickr = genBase582("123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"); - exports.base58xrp = genBase582("rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz"); + exports.base58 = genBase582( + "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz" + ); + exports.base58flickr = genBase582( + "123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ" + ); + exports.base58xrp = genBase582( + "rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz" + ); var XMR_BLOCK_LEN2 = [0, 2, 3, 5, 6, 7, 9, 10, 11]; exports.base58xmr = { encode(data) { let res = ""; for (let i = 0; i < data.length; i += 8) { const block = data.subarray(i, i + 8); - res += exports.base58.encode(block).padStart(XMR_BLOCK_LEN2[block.length], "1"); + res += exports.base58 + .encode(block) + .padStart(XMR_BLOCK_LEN2[block.length], "1"); } return res; }, @@ -3375,24 +3712,31 @@ zoo`.split("\n"); const blockLen = XMR_BLOCK_LEN2.indexOf(slice.length); const block = exports.base58.decode(slice); for (let j = 0; j < block.length - blockLen; j++) { - if (block[j] !== 0) - throw new Error("base58xmr: wrong padding"); + if (block[j] !== 0) throw new Error("base58xmr: wrong padding"); } res = res.concat(Array.from(block.slice(block.length - blockLen))); } return Uint8Array.from(res); - } + }, }; - var base58check3 = (sha2562) => chain2(checksum2(4, (data) => sha2562(sha2562(data))), exports.base58); + var base58check3 = (sha2562) => + chain2( + checksum2(4, (data) => sha2562(sha2562(data))), + exports.base58 + ); exports.base58check = base58check3; - var BECH_ALPHABET2 = chain2(alphabet2("qpzry9x8gf2tvdw0s3jn54khce6mua7l"), join2("")); - var POLYMOD_GENERATORS2 = [996825010, 642813549, 513874426, 1027748829, 705979059]; + var BECH_ALPHABET2 = chain2( + alphabet2("qpzry9x8gf2tvdw0s3jn54khce6mua7l"), + join2("") + ); + var POLYMOD_GENERATORS2 = [ + 996825010, 642813549, 513874426, 1027748829, 705979059, + ]; function bech32Polymod2(pre) { const b = pre >> 25; let chk = (pre & 33554431) << 5; for (let i = 0; i < POLYMOD_GENERATORS2.length; i++) { - if ((b >> i & 1) === 1) - chk ^= POLYMOD_GENERATORS2[i]; + if (((b >> i) & 1) === 1) chk ^= POLYMOD_GENERATORS2[i]; } return chk; } @@ -3401,19 +3745,18 @@ zoo`.split("\n"); let chk = 1; for (let i = 0; i < len; i++) { const c = prefix.charCodeAt(i); - if (c < 33 || c > 126) - throw new Error(`Invalid prefix (${prefix})`); - chk = bech32Polymod2(chk) ^ c >> 5; + if (c < 33 || c > 126) throw new Error(`Invalid prefix (${prefix})`); + chk = bech32Polymod2(chk) ^ (c >> 5); } chk = bech32Polymod2(chk); for (let i = 0; i < len; i++) - chk = bech32Polymod2(chk) ^ prefix.charCodeAt(i) & 31; - for (let v of words) - chk = bech32Polymod2(chk) ^ v; - for (let i = 0; i < 6; i++) - chk = bech32Polymod2(chk); + chk = bech32Polymod2(chk) ^ (prefix.charCodeAt(i) & 31); + for (let v of words) chk = bech32Polymod2(chk) ^ v; + for (let i = 0; i < 6; i++) chk = bech32Polymod2(chk); chk ^= encodingConst; - return BECH_ALPHABET2.encode(convertRadix22([chk % 2 ** 30], 30, 5, false)); + return BECH_ALPHABET2.encode( + convertRadix22([chk % 2 ** 30], 30, 5, false) + ); } function genBech322(encoding) { const ENCODING_CONST = encoding === "bech32" ? 1 : 734539939; @@ -3423,27 +3766,46 @@ zoo`.split("\n"); const fromWordsUnsafe = unsafeWrapper2(fromWords); function encode(prefix, words, limit = 90) { if (typeof prefix !== "string") - throw new Error(`bech32.encode prefix should be string, not ${typeof prefix}`); - if (!Array.isArray(words) || words.length && typeof words[0] !== "number") - throw new Error(`bech32.encode words should be array of numbers, not ${typeof words}`); + throw new Error( + `bech32.encode prefix should be string, not ${typeof prefix}` + ); + if ( + !Array.isArray(words) || + (words.length && typeof words[0] !== "number") + ) + throw new Error( + `bech32.encode words should be array of numbers, not ${typeof words}` + ); const actualLength = prefix.length + 7 + words.length; if (limit !== false && actualLength > limit) - throw new TypeError(`Length ${actualLength} exceeds limit ${limit}`); + throw new TypeError( + `Length ${actualLength} exceeds limit ${limit}` + ); prefix = prefix.toLowerCase(); - return `${prefix}1${BECH_ALPHABET2.encode(words)}${bechChecksum2(prefix, words, ENCODING_CONST)}`; + return `${prefix}1${BECH_ALPHABET2.encode(words)}${bechChecksum2( + prefix, + words, + ENCODING_CONST + )}`; } function decode2(str, limit = 90) { if (typeof str !== "string") - throw new Error(`bech32.decode input should be string, not ${typeof str}`); - if (str.length < 8 || limit !== false && str.length > limit) - throw new TypeError(`Wrong string length: ${str.length} (${str}). Expected (8..${limit})`); + throw new Error( + `bech32.decode input should be string, not ${typeof str}` + ); + if (str.length < 8 || (limit !== false && str.length > limit)) + throw new TypeError( + `Wrong string length: ${str.length} (${str}). Expected (8..${limit})` + ); const lowered = str.toLowerCase(); if (str !== lowered && str !== str.toUpperCase()) throw new Error(`String must be lowercase or uppercase`); str = lowered; const sepIndex = str.lastIndexOf("1"); if (sepIndex === 0 || sepIndex === -1) - throw new Error(`Letter "1" must be present between prefix and data only`); + throw new Error( + `Letter "1" must be present between prefix and data only` + ); const prefix = str.slice(0, sepIndex); const _words2 = str.slice(sepIndex + 1); if (_words2.length < 6) @@ -3459,19 +3821,36 @@ zoo`.split("\n"); const { prefix, words } = decode2(str, false); return { prefix, words, bytes: fromWords(words) }; } - return { encode, decode: decode2, decodeToBytes, decodeUnsafe, fromWords, fromWordsUnsafe, toWords }; + return { + encode, + decode: decode2, + decodeToBytes, + decodeUnsafe, + fromWords, + fromWordsUnsafe, + toWords, + }; } exports.bech32 = genBech322("bech32"); exports.bech32m = genBech322("bech32m"); exports.utf8 = { encode: (data) => new TextDecoder().decode(data), - decode: (str) => new TextEncoder().encode(str) + decode: (str) => new TextEncoder().encode(str), }; - exports.hex = chain2(radix22(4), alphabet2("0123456789abcdef"), join2(""), normalize2((s) => { - if (typeof s !== "string" || s.length % 2) - throw new TypeError(`hex.decode: expected string, got ${typeof s} with length ${s.length}`); - return s.toLowerCase(); - })); + exports.hex = chain2( + radix22(4), + alphabet2("0123456789abcdef"), + join2(""), + normalize2((s) => { + if (typeof s !== "string" || s.length % 2) + throw new TypeError( + `hex.decode: expected string, got ${typeof s} with length ${ + s.length + }` + ); + return s.toLowerCase(); + }) + ); var CODERS2 = { utf8: exports.utf8, hex: exports.hex, @@ -3480,9 +3859,11 @@ zoo`.split("\n"); base64: exports.base64, base64url: exports.base64url, base58: exports.base58, - base58xmr: exports.base58xmr + base58xmr: exports.base58xmr, }; - var coderTypeError2 = `Invalid encoding type. Available types: ${Object.keys(CODERS2).join(", ")}`; + var coderTypeError2 = `Invalid encoding type. Available types: ${Object.keys( + CODERS2 + ).join(", ")}`; var bytesToString = (type, bytes2) => { if (typeof type !== "string" || !CODERS2.hasOwnProperty(type)) throw new TypeError(coderTypeError2); @@ -3493,15 +3874,14 @@ zoo`.split("\n"); exports.bytesToString = bytesToString; exports.str = exports.bytesToString; var stringToBytes = (type, str) => { - if (!CODERS2.hasOwnProperty(type)) - throw new TypeError(coderTypeError2); + if (!CODERS2.hasOwnProperty(type)) throw new TypeError(coderTypeError2); if (typeof str !== "string") throw new TypeError("stringToBytes() expects string"); return CODERS2[type].decode(str); }; exports.stringToBytes = stringToBytes; exports.bytes = exports.stringToBytes; - } + }, }); // node_modules/@scure/bip39/index.js @@ -3510,14 +3890,21 @@ zoo`.split("\n"); "use strict"; init_define_process(); Object.defineProperty(exports, "__esModule", { value: true }); - exports.mnemonicToSeedSync = exports.mnemonicToSeed = exports.validateMnemonic = exports.entropyToMnemonic = exports.mnemonicToEntropy = exports.generateMnemonic = void 0; + exports.mnemonicToSeedSync = + exports.mnemonicToSeed = + exports.validateMnemonic = + exports.entropyToMnemonic = + exports.mnemonicToEntropy = + exports.generateMnemonic = + void 0; var _assert_1 = require_assert(); var pbkdf2_1 = require_pbkdf2(); var sha256_1 = require_sha256(); var sha512_1 = require_sha512(); var utils_1 = require_utils(); var base_1 = require_lib(); - var isJapanese = (wordlist2) => wordlist2[0] === "\u3042\u3044\u3053\u304F\u3057\u3093"; + var isJapanese = (wordlist2) => + wordlist2[0] === "\u3042\u3044\u3053\u304F\u3057\u3093"; function nfkd(str) { if (typeof str !== "string") throw new TypeError(`Invalid mnemonic type: ${typeof str}`); @@ -3537,21 +3924,34 @@ zoo`.split("\n"); _assert_1.default.number(strength); if (strength % 32 !== 0 || strength > 256) throw new TypeError("Invalid entropy"); - return entropyToMnemonic((0, utils_1.randomBytes)(strength / 8), wordlist2); + return entropyToMnemonic( + (0, utils_1.randomBytes)(strength / 8), + wordlist2 + ); } exports.generateMnemonic = generateMnemonic2; var calcChecksum = (entropy) => { const bitsLeft = 8 - entropy.length / 4; - return new Uint8Array([(0, sha256_1.sha256)(entropy)[0] >> bitsLeft << bitsLeft]); + return new Uint8Array([ + ((0, sha256_1.sha256)(entropy)[0] >> bitsLeft) << bitsLeft, + ]); }; function getCoder(wordlist2) { - if (!Array.isArray(wordlist2) || wordlist2.length !== 2048 || typeof wordlist2[0] !== "string") + if ( + !Array.isArray(wordlist2) || + wordlist2.length !== 2048 || + typeof wordlist2[0] !== "string" + ) throw new Error("Worlist: expected array of 2048 strings"); wordlist2.forEach((i) => { if (typeof i !== "string") throw new Error(`Wordlist: non-string element: ${i}`); }); - return base_1.utils.chain(base_1.utils.checksum(1, calcChecksum), base_1.utils.radix2(11, true), base_1.utils.alphabet(wordlist2)); + return base_1.utils.chain( + base_1.utils.checksum(1, calcChecksum), + base_1.utils.radix2(11, true), + base_1.utils.alphabet(wordlist2) + ); } function mnemonicToEntropy(mnemonic, wordlist2) { const { words } = normalize2(mnemonic); @@ -3577,14 +3977,24 @@ zoo`.split("\n"); exports.validateMnemonic = validateMnemonic2; var salt = (passphrase) => nfkd(`mnemonic${passphrase}`); function mnemonicToSeed(mnemonic, passphrase = "") { - return (0, pbkdf2_1.pbkdf2Async)(sha512_1.sha512, normalize2(mnemonic).nfkd, salt(passphrase), { c: 2048, dkLen: 64 }); + return (0, pbkdf2_1.pbkdf2Async)( + sha512_1.sha512, + normalize2(mnemonic).nfkd, + salt(passphrase), + { c: 2048, dkLen: 64 } + ); } exports.mnemonicToSeed = mnemonicToSeed; function mnemonicToSeedSync2(mnemonic, passphrase = "") { - return (0, pbkdf2_1.pbkdf2)(sha512_1.sha512, normalize2(mnemonic).nfkd, salt(passphrase), { c: 2048, dkLen: 64 }); + return (0, pbkdf2_1.pbkdf2)( + sha512_1.sha512, + normalize2(mnemonic).nfkd, + salt(passphrase), + { c: 2048, dkLen: 64 } + ); } exports.mnemonicToSeedSync = mnemonicToSeedSync2; - } + }, }); // index.ts @@ -3623,7 +4033,7 @@ zoo`.split("\n"); signEvent: () => signEvent, utils: () => utils_exports2, validateEvent: () => validateEvent, - verifySignature: () => verifySignature + verifySignature: () => verifySignature, }); init_define_process(); @@ -3646,14 +4056,14 @@ zoo`.split("\n"); throw new Error(`Wrong positive integer: ${n}`); } function bool(b) { - if (typeof b !== "boolean") - throw new Error(`Expected boolean, not ${b}`); + if (typeof b !== "boolean") throw new Error(`Expected boolean, not ${b}`); } function bytes(b, ...lengths) { - if (!(b instanceof Uint8Array)) - throw new TypeError("Expected Uint8Array"); + if (!(b instanceof Uint8Array)) throw new TypeError("Expected Uint8Array"); if (lengths.length > 0 && !lengths.includes(b.length)) - throw new TypeError(`Expected Uint8Array of length ${lengths}, not of length=${b.length}`); + throw new TypeError( + `Expected Uint8Array of length ${lengths}, not of length=${b.length}` + ); } function hash(hash2) { if (typeof hash2 !== "function" || typeof hash2.create !== "function") @@ -3662,8 +4072,7 @@ zoo`.split("\n"); number(hash2.blockLen); } function exists(instance, checkFinished = true) { - if (instance.destroyed) - throw new Error("Hash instance has been destroyed"); + if (instance.destroyed) throw new Error("Hash instance has been destroyed"); if (checkFinished && instance.finished) throw new Error("Hash#digest() has already been called"); } @@ -3671,7 +4080,9 @@ zoo`.split("\n"); bytes(out); const min = instance.outputLen; if (out.length < min) { - throw new Error(`digestInto() expects output buffer of length at least ${min}`); + throw new Error( + `digestInto() expects output buffer of length at least ${min}` + ); } } var assert = { @@ -3680,7 +4091,7 @@ zoo`.split("\n"); bytes, hash, exists, - output + output, }; var assert_default = assert; @@ -3689,18 +4100,22 @@ zoo`.split("\n"); // node_modules/@noble/hashes/esm/crypto.js init_define_process(); - var crypto2 = typeof globalThis === "object" && "crypto" in globalThis ? globalThis.crypto : void 0; + var crypto2 = + typeof globalThis === "object" && "crypto" in globalThis + ? globalThis.crypto + : void 0; // node_modules/@noble/hashes/esm/utils.js - var createView = (arr) => new DataView(arr.buffer, arr.byteOffset, arr.byteLength); - var rotr = (word, shift) => word << 32 - shift | word >>> shift; + var createView = (arr) => + new DataView(arr.buffer, arr.byteOffset, arr.byteLength); + var rotr = (word, shift) => (word << (32 - shift)) | (word >>> shift); var isLE = new Uint8Array(new Uint32Array([287454020]).buffer)[0] === 68; - if (!isLE) - throw new Error("Non little-endian hardware is not supported"); - var hexes = Array.from({ length: 256 }, (v, i) => i.toString(16).padStart(2, "0")); + if (!isLE) throw new Error("Non little-endian hardware is not supported"); + var hexes = Array.from({ length: 256 }, (v, i) => + i.toString(16).padStart(2, "0") + ); function bytesToHex(uint8a) { - if (!(uint8a instanceof Uint8Array)) - throw new Error("Uint8Array expected"); + if (!(uint8a instanceof Uint8Array)) throw new Error("Uint8Array expected"); let hex2 = ""; for (let i = 0; i < uint8a.length; i++) { hex2 += hexes[uint8a[i]]; @@ -3731,17 +4146,17 @@ zoo`.split("\n"); return new TextEncoder().encode(str); } function toBytes(data) { - if (typeof data === "string") - data = utf8ToBytes(data); + if (typeof data === "string") data = utf8ToBytes(data); if (!(data instanceof Uint8Array)) - throw new TypeError(`Expected input type is Uint8Array (got ${typeof data})`); + throw new TypeError( + `Expected input type is Uint8Array (got ${typeof data})` + ); return data; } function concatBytes(...arrays) { if (!arrays.every((a) => a instanceof Uint8Array)) throw new Error("Uint8Array list expected"); - if (arrays.length === 1) - return arrays[0]; + if (arrays.length === 1) return arrays[0]; const length = arrays.reduce((a, arr) => a + arr.length, 0); const result = new Uint8Array(length); for (let i = 0, pad = 0; i < arrays.length; i++) { @@ -3757,7 +4172,8 @@ zoo`.split("\n"); } }; function wrapConstructor(hashConstructor) { - const hashC = (message) => hashConstructor().update(toBytes(message)).digest(); + const hashC = (message) => + hashConstructor().update(toBytes(message)).digest(); const tmp = hashConstructor(); hashC.outputLen = tmp.outputLen; hashC.blockLen = tmp.blockLen; @@ -3777,7 +4193,7 @@ zoo`.split("\n"); return view.setBigUint64(byteOffset, value, isLE2); const _32n2 = BigInt(32); const _u32_max = BigInt(4294967295); - const wh = Number(value >> _32n2 & _u32_max); + const wh = Number((value >> _32n2) & _u32_max); const wl = Number(value & _u32_max); const h = isLE2 ? 4 : 0; const l = isLE2 ? 0 : 4; @@ -3835,8 +4251,7 @@ zoo`.split("\n"); this.process(view, 0); pos = 0; } - for (let i = pos; i < blockLen; i++) - buffer[i] = 0; + for (let i = pos; i < blockLen; i++) buffer[i] = 0; setBigUint64(view, blockLen - 8, BigInt(this.length * 8), isLE2); this.process(view, 0); const oview = createView(out); @@ -3847,8 +4262,7 @@ zoo`.split("\n"); const state = this.get(); if (outLen > state.length) throw new Error("_sha2: outputLen bigger than state"); - for (let i = 0; i < outLen; i++) - oview.setUint32(4 * i, state[i], isLE2); + for (let i = 0; i < outLen; i++) oview.setUint32(4 * i, state[i], isLE2); } digest() { const { buffer, outputLen } = this; @@ -3865,90 +4279,30 @@ zoo`.split("\n"); to.pos = pos; to.finished = finished; to.destroyed = destroyed; - if (length % blockLen) - to.buffer.set(buffer); + if (length % blockLen) to.buffer.set(buffer); return to; } }; // node_modules/@noble/hashes/esm/sha256.js - var Chi = (a, b, c) => a & b ^ ~a & c; - var Maj = (a, b, c) => a & b ^ a & c ^ b & c; + var Chi = (a, b, c) => (a & b) ^ (~a & c); + var Maj = (a, b, c) => (a & b) ^ (a & c) ^ (b & c); var SHA256_K = new Uint32Array([ - 1116352408, - 1899447441, - 3049323471, - 3921009573, - 961987163, - 1508970993, - 2453635748, - 2870763221, - 3624381080, - 310598401, - 607225278, - 1426881987, - 1925078388, - 2162078206, - 2614888103, - 3248222580, - 3835390401, - 4022224774, - 264347078, - 604807628, - 770255983, - 1249150122, - 1555081692, - 1996064986, - 2554220882, - 2821834349, - 2952996808, - 3210313671, - 3336571891, - 3584528711, - 113926993, - 338241895, - 666307205, - 773529912, - 1294757372, - 1396182291, - 1695183700, - 1986661051, - 2177026350, - 2456956037, - 2730485921, - 2820302411, - 3259730800, - 3345764771, - 3516065817, - 3600352804, - 4094571909, - 275423344, - 430227734, - 506948616, - 659060556, - 883997877, - 958139571, - 1322822218, - 1537002063, - 1747873779, - 1955562222, - 2024104815, - 2227730452, - 2361852424, - 2428436474, - 2756734187, - 3204031479, - 3329325298 + 1116352408, 1899447441, 3049323471, 3921009573, 961987163, 1508970993, + 2453635748, 2870763221, 3624381080, 310598401, 607225278, 1426881987, + 1925078388, 2162078206, 2614888103, 3248222580, 3835390401, 4022224774, + 264347078, 604807628, 770255983, 1249150122, 1555081692, 1996064986, + 2554220882, 2821834349, 2952996808, 3210313671, 3336571891, 3584528711, + 113926993, 338241895, 666307205, 773529912, 1294757372, 1396182291, + 1695183700, 1986661051, 2177026350, 2456956037, 2730485921, 2820302411, + 3259730800, 3345764771, 3516065817, 3600352804, 4094571909, 275423344, + 430227734, 506948616, 659060556, 883997877, 958139571, 1322822218, + 1537002063, 1747873779, 1955562222, 2024104815, 2227730452, 2361852424, + 2428436474, 2756734187, 3204031479, 3329325298, ]); var IV = new Uint32Array([ - 1779033703, - 3144134277, - 1013904242, - 2773480762, - 1359893119, - 2600822924, - 528734635, - 1541459225 + 1779033703, 3144134277, 1013904242, 2773480762, 1359893119, 2600822924, + 528734635, 1541459225, ]); var SHA256_W = new Uint32Array(64); var SHA256 = class extends SHA2 { @@ -3983,33 +4337,33 @@ zoo`.split("\n"); for (let i = 16; i < 64; i++) { const W15 = SHA256_W[i - 15]; const W2 = SHA256_W[i - 2]; - const s0 = rotr(W15, 7) ^ rotr(W15, 18) ^ W15 >>> 3; - const s1 = rotr(W2, 17) ^ rotr(W2, 19) ^ W2 >>> 10; - SHA256_W[i] = s1 + SHA256_W[i - 7] + s0 + SHA256_W[i - 16] | 0; + const s0 = rotr(W15, 7) ^ rotr(W15, 18) ^ (W15 >>> 3); + const s1 = rotr(W2, 17) ^ rotr(W2, 19) ^ (W2 >>> 10); + SHA256_W[i] = (s1 + SHA256_W[i - 7] + s0 + SHA256_W[i - 16]) | 0; } let { A, B, C, D, E, F, G, H } = this; for (let i = 0; i < 64; i++) { const sigma1 = rotr(E, 6) ^ rotr(E, 11) ^ rotr(E, 25); - const T1 = H + sigma1 + Chi(E, F, G) + SHA256_K[i] + SHA256_W[i] | 0; + const T1 = (H + sigma1 + Chi(E, F, G) + SHA256_K[i] + SHA256_W[i]) | 0; const sigma0 = rotr(A, 2) ^ rotr(A, 13) ^ rotr(A, 22); - const T2 = sigma0 + Maj(A, B, C) | 0; + const T2 = (sigma0 + Maj(A, B, C)) | 0; H = G; G = F; F = E; - E = D + T1 | 0; + E = (D + T1) | 0; D = C; C = B; B = A; - A = T1 + T2 | 0; - } - A = A + this.A | 0; - B = B + this.B | 0; - C = C + this.C | 0; - D = D + this.D | 0; - E = E + this.E | 0; - F = F + this.F | 0; - G = G + this.G | 0; - H = H + this.H | 0; + A = (T1 + T2) | 0; + } + A = (A + this.A) | 0; + B = (B + this.B) | 0; + C = (C + this.C) | 0; + D = (D + this.D) | 0; + E = (E + this.E) | 0; + F = (F + this.F) | 0; + G = (G + this.G) | 0; + H = (H + this.H) | 0; this.set(A, B, C, D, E, F, G, H); } roundClean() { @@ -4061,17 +4415,18 @@ zoo`.split("\n"); numberToHexUnpadded: () => numberToHexUnpadded, numberToVarBytesBE: () => numberToVarBytesBE, utf8ToBytes: () => utf8ToBytes2, - validateObject: () => validateObject + validateObject: () => validateObject, }); init_define_process(); var _0n = BigInt(0); var _1n = BigInt(1); var _2n = BigInt(2); var u8a = (a) => a instanceof Uint8Array; - var hexes2 = Array.from({ length: 256 }, (v, i) => i.toString(16).padStart(2, "0")); + var hexes2 = Array.from({ length: 256 }, (v, i) => + i.toString(16).padStart(2, "0") + ); function bytesToHex2(bytes2) { - if (!u8a(bytes2)) - throw new Error("Uint8Array expected"); + if (!u8a(bytes2)) throw new Error("Uint8Array expected"); let hex2 = ""; for (let i = 0; i < bytes2.length; i++) { hex2 += hexes2[bytes2[i]]; @@ -4107,11 +4462,11 @@ zoo`.split("\n"); return hexToNumber(bytesToHex2(bytes2)); } function bytesToNumberLE(bytes2) { - if (!u8a(bytes2)) - throw new Error("Uint8Array expected"); + if (!u8a(bytes2)) throw new Error("Uint8Array expected"); return hexToNumber(bytesToHex2(Uint8Array.from(bytes2).reverse())); } - var numberToBytesBE = (n, len) => hexToBytes2(n.toString(16).padStart(len * 2, "0")); + var numberToBytesBE = (n, len) => + hexToBytes2(n.toString(16).padStart(len * 2, "0")); var numberToBytesLE = (n, len) => numberToBytesBE(n, len).reverse(); var numberToVarBytesBE = (n) => hexToBytes2(numberToHexUnpadded(n)); function ensureBytes(title, hex2, expectedLength) { @@ -4120,7 +4475,9 @@ zoo`.split("\n"); try { res = hexToBytes2(hex2); } catch (e) { - throw new Error(`${title} must be valid hex string, got "${hex2}". Cause: ${e}`); + throw new Error( + `${title} must be valid hex string, got "${hex2}". Cause: ${e}` + ); } } else if (u8a(hex2)) { res = Uint8Array.from(hex2); @@ -4136,19 +4493,15 @@ zoo`.split("\n"); const r = new Uint8Array(arrs.reduce((sum, a) => sum + a.length, 0)); let pad = 0; arrs.forEach((a) => { - if (!u8a(a)) - throw new Error("Uint8Array expected"); + if (!u8a(a)) throw new Error("Uint8Array expected"); r.set(a, pad); pad += a.length; }); return r; } function equalBytes(b1, b2) { - if (b1.length !== b2.length) - return false; - for (let i = 0; i < b1.length; i++) - if (b1[i] !== b2[i]) - return false; + if (b1.length !== b2.length) return false; + for (let i = 0; i < b1.length; i++) if (b1[i] !== b2[i]) return false; return true; } function utf8ToBytes2(str) { @@ -4159,12 +4512,11 @@ zoo`.split("\n"); } function bitLen(n) { let len; - for (len = 0; n > _0n; n >>= _1n, len += 1) - ; + for (len = 0; n > _0n; n >>= _1n, len += 1); return len; } - var bitGet = (n, pos) => n >> BigInt(pos) & _1n; - var bitSet = (n, pos, value) => n | (value ? _1n : _0n) << BigInt(pos); + var bitGet = (n, pos) => (n >> BigInt(pos)) & _1n; + var bitSet = (n, pos, value) => n | ((value ? _1n : _0n) << BigInt(pos)); var bitMask = (n) => (_2n << BigInt(n - 1)) - _1n; var u8n = (data) => new Uint8Array(data); var u8fr = (arr) => Uint8Array.from(arr); @@ -4187,14 +4539,12 @@ zoo`.split("\n"); const reseed = (seed = u8n()) => { k = h(u8fr([0]), seed); v = h(); - if (seed.length === 0) - return; + if (seed.length === 0) return; k = h(u8fr([1]), seed); v = h(); }; const gen = () => { - if (i++ >= 1e3) - throw new Error("drbg: tried 1000 values"); + if (i++ >= 1e3) throw new Error("drbg: tried 1000 values"); let len = 0; const out = []; while (len < qByteLen) { @@ -4209,8 +4559,7 @@ zoo`.split("\n"); reset(); reseed(seed); let res = void 0; - while (!(res = pred(gen()))) - reseed(); + while (!(res = pred(gen()))) reseed(); reset(); return res; }; @@ -4224,7 +4573,8 @@ zoo`.split("\n"); isSafeInteger: (val) => Number.isSafeInteger(val), array: (val) => Array.isArray(val), field: (val, object) => object.Fp.isValid(val), - hash: (val) => typeof val === "function" && Number.isSafeInteger(val.outputLen) + hash: (val) => + typeof val === "function" && Number.isSafeInteger(val.outputLen), }; function validateObject(object, validators, optValidators = {}) { const checkField = (fieldName, type, isOptional) => { @@ -4232,10 +4582,13 @@ zoo`.split("\n"); if (typeof checkVal !== "function") throw new Error(`Invalid validator "${type}", expected function`); const val = object[fieldName]; - if (isOptional && val === void 0) - return; + if (isOptional && val === void 0) return; if (!checkVal(val, object)) { - throw new Error(`Invalid param ${String(fieldName)}=${val} (${typeof val}), expected ${type}`); + throw new Error( + `Invalid param ${String( + fieldName + )}=${val} (${typeof val}), expected ${type}` + ); } }; for (const [fieldName, type] of Object.entries(validators)) @@ -4262,13 +4615,11 @@ zoo`.split("\n"); function pow(num, power, modulo) { if (modulo <= _0n2 || power < _0n2) throw new Error("Expected power/modulo > 0"); - if (modulo === _1n2) - return _0n2; + if (modulo === _1n2) return _0n2; let res = _1n2; while (power > _0n2) { - if (power & _1n2) - res = res * num % modulo; - num = num * num % modulo; + if (power & _1n2) res = (res * num) % modulo; + num = (num * num) % modulo; power >>= _1n2; } return res; @@ -4283,30 +4634,32 @@ zoo`.split("\n"); } function invert(number2, modulo) { if (number2 === _0n2 || modulo <= _0n2) { - throw new Error(`invert: expected positive integers, got n=${number2} mod=${modulo}`); + throw new Error( + `invert: expected positive integers, got n=${number2} mod=${modulo}` + ); } let a = mod(number2, modulo); let b = modulo; - let x = _0n2, y = _1n2, u = _1n2, v = _0n2; + let x = _0n2, + y = _1n2, + u = _1n2, + v = _0n2; while (a !== _0n2) { const q = b / a; const r = b % a; const m = x - u * q; const n = y - v * q; - b = a, a = r, x = u, y = v, u = m, v = n; + (b = a), (a = r), (x = u), (y = v), (u = m), (v = n); } const gcd2 = b; - if (gcd2 !== _1n2) - throw new Error("invert: does not exist"); + if (gcd2 !== _1n2) throw new Error("invert: does not exist"); return mod(x, modulo); } function tonelliShanks(P) { const legendreC = (P - _1n2) / _2n2; let Q, S, Z; - for (Q = P - _1n2, S = 0; Q % _2n2 === _0n2; Q /= _2n2, S++) - ; - for (Z = _2n2; Z < P && pow(Z, legendreC, P) !== P - _1n2; Z++) - ; + for (Q = P - _1n2, S = 0; Q % _2n2 === _0n2; Q /= _2n2, S++); + for (Z = _2n2; Z < P && pow(Z, legendreC, P) !== P - _1n2; Z++); if (S === 1) { const p1div4 = (P + _1n2) / _4n; return function tonelliFast(Fp2, n) { @@ -4325,12 +4678,10 @@ zoo`.split("\n"); let x = Fp2.pow(n, Q1div2); let b = Fp2.pow(n, Q); while (!Fp2.eql(b, Fp2.ONE)) { - if (Fp2.eql(b, Fp2.ZERO)) - return Fp2.ZERO; + if (Fp2.eql(b, Fp2.ZERO)) return Fp2.ZERO; let m = 1; for (let t2 = Fp2.sqr(b); m < r; m++) { - if (Fp2.eql(t2, Fp2.ONE)) - break; + if (Fp2.eql(t2, Fp2.ONE)) break; t2 = Fp2.sqr(t2); } const ge2 = Fp2.pow(g, _1n2 << BigInt(r - m - 1)); @@ -4386,14 +4737,14 @@ zoo`.split("\n"); "addN", "subN", "mulN", - "sqrN" + "sqrN", ]; function validateField(field) { const initial = { ORDER: "bigint", MASK: "bigint", BYTES: "isSafeInteger", - BITS: "isSafeInteger" + BITS: "isSafeInteger", }; const opts = FIELD_FIELDS.reduce((map, val) => { map[val] = "function"; @@ -4402,17 +4753,13 @@ zoo`.split("\n"); return validateObject(field, opts); } function FpPow(f2, num, power) { - if (power < _0n2) - throw new Error("Expected power > 0"); - if (power === _0n2) - return f2.ONE; - if (power === _1n2) - return num; + if (power < _0n2) throw new Error("Expected power > 0"); + if (power === _0n2) return f2.ONE; + if (power === _1n2) return num; let p = f2.ONE; let d = num; while (power > _0n2) { - if (power & _1n2) - p = f2.mul(p, d); + if (power & _1n2) p = f2.mul(p, d); d = f2.sqr(d); power >>= _1n2; } @@ -4421,28 +4768,26 @@ zoo`.split("\n"); function FpInvertBatch(f2, nums) { const tmp = new Array(nums.length); const lastMultiplied = nums.reduce((acc, num, i) => { - if (f2.is0(num)) - return acc; + if (f2.is0(num)) return acc; tmp[i] = acc; return f2.mul(acc, num); }, f2.ONE); const inverted = f2.inv(lastMultiplied); nums.reduceRight((acc, num, i) => { - if (f2.is0(num)) - return acc; + if (f2.is0(num)) return acc; tmp[i] = f2.mul(acc, tmp[i]); return f2.mul(acc, num); }, inverted); return tmp; } function nLength(n, nBitLength) { - const _nBitLength = nBitLength !== void 0 ? nBitLength : n.toString(2).length; + const _nBitLength = + nBitLength !== void 0 ? nBitLength : n.toString(2).length; const nByteLength = Math.ceil(_nBitLength / 8); return { nBitLength: _nBitLength, nByteLength }; } function Field(ORDER, bitLen2, isLE2 = false, redef = {}) { - if (ORDER <= _0n2) - throw new Error(`Expected Fp ORDER > 0, got ${ORDER}`); + if (ORDER <= _0n2) throw new Error(`Expected Fp ORDER > 0, got ${ORDER}`); const { nBitLength: BITS, nByteLength: BYTES } = nLength(ORDER, bitLen2); if (BYTES > 2048) throw new Error("Field lengths over 2048 bytes are not supported"); @@ -4457,7 +4802,9 @@ zoo`.split("\n"); create: (num) => mod(num, ORDER), isValid: (num) => { if (typeof num !== "bigint") - throw new Error(`Invalid field element: expected bigint, got ${typeof num}`); + throw new Error( + `Invalid field element: expected bigint, got ${typeof num}` + ); return _0n2 <= num && num < ORDER; }, is0: (num) => num === _0n2, @@ -4477,13 +4824,16 @@ zoo`.split("\n"); inv: (num) => invert(num, ORDER), sqrt: redef.sqrt || ((n) => sqrtP(f2, n)), invertBatch: (lst) => FpInvertBatch(f2, lst), - cmov: (a, b, c) => c ? b : a, - toBytes: (num) => isLE2 ? numberToBytesLE(num, BYTES) : numberToBytesBE(num, BYTES), + cmov: (a, b, c) => (c ? b : a), + toBytes: (num) => + isLE2 ? numberToBytesLE(num, BYTES) : numberToBytesBE(num, BYTES), fromBytes: (bytes2) => { if (bytes2.length !== BYTES) - throw new Error(`Fp.fromBytes: expected ${BYTES}, got ${bytes2.length}`); + throw new Error( + `Fp.fromBytes: expected ${BYTES}, got ${bytes2.length}` + ); return isLE2 ? bytesToNumberLE(bytes2) : bytesToNumberBE(bytes2); - } + }, }); return Object.freeze(f2); } @@ -4492,7 +4842,9 @@ zoo`.split("\n"); const hashLen = hash2.length; const minLen = nLength(groupOrder).nByteLength + 8; if (minLen < 24 || hashLen < minLen || hashLen > 1024) - throw new Error(`hashToPrivateScalar: expected ${minLen}-1024 bytes of input, got ${hashLen}`); + throw new Error( + `hashToPrivateScalar: expected ${minLen}-1024 bytes of input, got ${hashLen}` + ); const num = isLE2 ? bytesToNumberLE(hash2) : bytesToNumberBE(hash2); return mod(num, groupOrder - _1n2) + _1n2; } @@ -4520,8 +4872,7 @@ zoo`.split("\n"); let p = c.ZERO; let d = elm; while (n > _0n3) { - if (n & _1n3) - p = p.add(d); + if (n & _1n3) p = p.add(d); d = d.double(); n >>= _1n3; } @@ -4580,49 +4931,65 @@ zoo`.split("\n"); } } return this.wNAF(W, comp, n); - } + }, }; } function validateBasic(curve) { validateField(curve.Fp); - validateObject(curve, { - n: "bigint", - h: "bigint", - Gx: "field", - Gy: "field" - }, { - nBitLength: "isSafeInteger", - nByteLength: "isSafeInteger" - }); + validateObject( + curve, + { + n: "bigint", + h: "bigint", + Gx: "field", + Gy: "field", + }, + { + nBitLength: "isSafeInteger", + nByteLength: "isSafeInteger", + } + ); return Object.freeze({ ...nLength(curve.n, curve.nBitLength), ...curve, - ...{ p: curve.Fp.ORDER } + ...{ p: curve.Fp.ORDER }, }); } // node_modules/@noble/curves/esm/abstract/weierstrass.js function validatePointOpts(curve) { const opts = validateBasic(curve); - validateObject(opts, { - a: "field", - b: "field" - }, { - allowedPrivateKeyLengths: "array", - wrapPrivateKey: "boolean", - isTorsionFree: "function", - clearCofactor: "function", - allowInfinityPoint: "boolean", - fromBytes: "function", - toBytes: "function" - }); + validateObject( + opts, + { + a: "field", + b: "field", + }, + { + allowedPrivateKeyLengths: "array", + wrapPrivateKey: "boolean", + isTorsionFree: "function", + clearCofactor: "function", + allowInfinityPoint: "boolean", + fromBytes: "function", + toBytes: "function", + } + ); const { endo, Fp: Fp2, a } = opts; if (endo) { if (!Fp2.eql(a, Fp2.ZERO)) { - throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0"); + throw new Error( + "Endomorphism can only be defined for Koblitz curves that have a=0" + ); } - if (typeof endo !== "object" || typeof endo.beta !== "bigint" || typeof endo.splitScalar !== "function") { - throw new Error("Expected endomorphism with beta: bigint and splitScalar: function"); + if ( + typeof endo !== "object" || + typeof endo.beta !== "bigint" || + typeof endo.splitScalar !== "function" + ) { + throw new Error( + "Expected endomorphism with beta: bigint and splitScalar: function" + ); } } return Object.freeze({ ...opts }); @@ -4642,8 +5009,7 @@ zoo`.split("\n"); const res = data.subarray(2, len + 2); if (!len || res.length !== len) throw new E("Invalid signature integer: wrong length"); - if (res[0] & 128) - throw new E("Invalid signature integer: negative"); + if (res[0] & 128) throw new E("Invalid signature integer: negative"); if (res[0] === 0 && !(res[1] & 128)) throw new E("Invalid signature integer: unnecessary leading zero"); return { d: b2n(res), l: data.subarray(len + 2) }; @@ -4651,13 +5017,10 @@ zoo`.split("\n"); toSig(hex2) { const { Err: E } = DER; const data = typeof hex2 === "string" ? h2b(hex2) : hex2; - if (!(data instanceof Uint8Array)) - throw new Error("ui8a expected"); + if (!(data instanceof Uint8Array)) throw new Error("ui8a expected"); let l = data.length; - if (l < 2 || data[0] != 48) - throw new E("Invalid signature tag"); - if (data[1] !== l - 2) - throw new E("Invalid signature: incorrect length"); + if (l < 2 || data[0] != 48) throw new E("Invalid signature tag"); + if (data[1] !== l - 2) throw new E("Invalid signature: incorrect length"); const { d: r, l: sBytes } = DER._parseInt(data.subarray(2)); const { d: s, l: rBytesLeft } = DER._parseInt(sBytes); if (rBytesLeft.length) @@ -4665,7 +5028,7 @@ zoo`.split("\n"); return { r, s }; }, hexFromSig(sig) { - const slice = (s2) => Number.parseInt(s2[0], 16) & 8 ? "00" + s2 : s2; + const slice = (s2) => (Number.parseInt(s2[0], 16) & 8 ? "00" + s2 : s2); const h = (num) => { const hex2 = num.toString(16); return hex2.length & 1 ? `0${hex2}` : hex2; @@ -4677,7 +5040,7 @@ zoo`.split("\n"); const sl = h(shl); const rl = h(rhl); return `30${h(rhl + shl + 4)}02${rl}${r}02${sl}${s}`; - } + }, }; var _0n4 = BigInt(0); var _1n4 = BigInt(1); @@ -4687,16 +5050,24 @@ zoo`.split("\n"); function weierstrassPoints(opts) { const CURVE = validatePointOpts(opts); const { Fp: Fp2 } = CURVE; - const toBytes2 = CURVE.toBytes || ((c, point, isCompressed) => { - const a = point.toAffine(); - return concatBytes2(Uint8Array.from([4]), Fp2.toBytes(a.x), Fp2.toBytes(a.y)); - }); - const fromBytes = CURVE.fromBytes || ((bytes2) => { - const tail = bytes2.subarray(1); - const x = Fp2.fromBytes(tail.subarray(0, Fp2.BYTES)); - const y = Fp2.fromBytes(tail.subarray(Fp2.BYTES, 2 * Fp2.BYTES)); - return { x, y }; - }); + const toBytes2 = + CURVE.toBytes || + ((c, point, isCompressed) => { + const a = point.toAffine(); + return concatBytes2( + Uint8Array.from([4]), + Fp2.toBytes(a.x), + Fp2.toBytes(a.y) + ); + }); + const fromBytes = + CURVE.fromBytes || + ((bytes2) => { + const tail = bytes2.subarray(1); + const x = Fp2.fromBytes(tail.subarray(0, Fp2.BYTES)); + const y = Fp2.fromBytes(tail.subarray(Fp2.BYTES, 2 * Fp2.BYTES)); + return { x, y }; + }); function weierstrassEquation(x) { const { a, b } = CURVE; const x2 = Fp2.sqr(x); @@ -4713,22 +5084,30 @@ zoo`.split("\n"); throw new Error("Expected valid bigint: 0 < bigint < curve.n"); } function normPrivateKeyToScalar(key) { - const { allowedPrivateKeyLengths: lengths, nByteLength, wrapPrivateKey, n } = CURVE; + const { + allowedPrivateKeyLengths: lengths, + nByteLength, + wrapPrivateKey, + n, + } = CURVE; if (lengths && typeof key !== "bigint") { - if (key instanceof Uint8Array) - key = bytesToHex2(key); + if (key instanceof Uint8Array) key = bytesToHex2(key); if (typeof key !== "string" || !lengths.includes(key.length)) throw new Error("Invalid key"); key = key.padStart(nByteLength * 2, "0"); } let num; try { - num = typeof key === "bigint" ? key : bytesToNumberBE(ensureBytes("private key", key, nByteLength)); + num = + typeof key === "bigint" + ? key + : bytesToNumberBE(ensureBytes("private key", key, nByteLength)); } catch (error) { - throw new Error(`private key must be ${nByteLength} bytes, hex or bigint, not ${typeof key}`); + throw new Error( + `private key must be ${nByteLength} bytes, hex or bigint, not ${typeof key}` + ); } - if (wrapPrivateKey) - num = mod(num, n); + if (wrapPrivateKey) num = mod(num, n); assertGE(num); return num; } @@ -4742,12 +5121,9 @@ zoo`.split("\n"); this.px = px; this.py = py; this.pz = pz; - if (px == null || !Fp2.isValid(px)) - throw new Error("x required"); - if (py == null || !Fp2.isValid(py)) - throw new Error("y required"); - if (pz == null || !Fp2.isValid(pz)) - throw new Error("z required"); + if (px == null || !Fp2.isValid(px)) throw new Error("x required"); + if (py == null || !Fp2.isValid(py)) throw new Error("y required"); + if (pz == null || !Fp2.isValid(pz)) throw new Error("z required"); } static fromAffine(p) { const { x, y } = p || {}; @@ -4756,8 +5132,7 @@ zoo`.split("\n"); if (p instanceof Point3) throw new Error("projective point not allowed"); const is0 = (i) => Fp2.eql(i, Fp2.ZERO); - if (is0(x) && is0(y)) - return Point3.ZERO; + if (is0(x) && is0(y)) return Point3.ZERO; return new Point3(x, y, Fp2.ONE); } get x() { @@ -4768,7 +5143,9 @@ zoo`.split("\n"); } static normalizeZ(points) { const toInv = Fp2.invertBatch(points.map((p) => p.pz)); - return points.map((p, i) => p.toAffine(toInv[i])).map(Point3.fromAffine); + return points + .map((p, i) => p.toAffine(toInv[i])) + .map(Point3.fromAffine); } static fromHex(hex2) { const P = Point3.fromAffine(fromBytes(ensureBytes("pointHex", hex2))); @@ -4784,8 +5161,7 @@ zoo`.split("\n"); } assertValidity() { if (this.is0()) { - if (CURVE.allowInfinityPoint) - return; + if (CURVE.allowInfinityPoint) return; throw new Error("bad point: ZERO"); } const { x, y } = this.toAffine(); @@ -4800,8 +5176,7 @@ zoo`.split("\n"); } hasEvenY() { const { y } = this.toAffine(); - if (Fp2.isOdd) - return !Fp2.isOdd(y); + if (Fp2.isOdd) return !Fp2.isOdd(y); throw new Error("Field doesn't support isOdd"); } equals(other) { @@ -4819,7 +5194,9 @@ zoo`.split("\n"); const { a, b } = CURVE; const b3 = Fp2.mul(b, _3n2); const { px: X1, py: Y1, pz: Z1 } = this; - let X3 = Fp2.ZERO, Y3 = Fp2.ZERO, Z3 = Fp2.ZERO; + let X3 = Fp2.ZERO, + Y3 = Fp2.ZERO, + Z3 = Fp2.ZERO; let t0 = Fp2.mul(X1, X1); let t1 = Fp2.mul(Y1, Y1); let t2 = Fp2.mul(Z1, Z1); @@ -4857,7 +5234,9 @@ zoo`.split("\n"); assertPrjPoint(other); const { px: X1, py: Y1, pz: Z1 } = this; const { px: X2, py: Y2, pz: Z2 } = other; - let X3 = Fp2.ZERO, Y3 = Fp2.ZERO, Z3 = Fp2.ZERO; + let X3 = Fp2.ZERO, + Y3 = Fp2.ZERO, + Z3 = Fp2.ZERO; const a = CURVE.a; const b3 = Fp2.mul(CURVE.b, _3n2); let t0 = Fp2.mul(X1, X2); @@ -4911,36 +5290,31 @@ zoo`.split("\n"); wNAF(n) { return wnaf.wNAFCached(this, pointPrecomputes, n, (comp) => { const toInv = Fp2.invertBatch(comp.map((p) => p.pz)); - return comp.map((p, i) => p.toAffine(toInv[i])).map(Point3.fromAffine); + return comp + .map((p, i) => p.toAffine(toInv[i])) + .map(Point3.fromAffine); }); } multiplyUnsafe(n) { const I = Point3.ZERO; - if (n === _0n4) - return I; + if (n === _0n4) return I; assertGE(n); - if (n === _1n4) - return this; + if (n === _1n4) return this; const { endo } = CURVE; - if (!endo) - return wnaf.unsafeLadder(this, n); + if (!endo) return wnaf.unsafeLadder(this, n); let { k1neg, k1, k2neg, k2 } = endo.splitScalar(n); let k1p = I; let k2p = I; let d = this; while (k1 > _0n4 || k2 > _0n4) { - if (k1 & _1n4) - k1p = k1p.add(d); - if (k2 & _1n4) - k2p = k2p.add(d); + if (k1 & _1n4) k1p = k1p.add(d); + if (k2 & _1n4) k2p = k2p.add(d); d = d.double(); k1 >>= _1n4; k2 >>= _1n4; } - if (k1neg) - k1p = k1p.negate(); - if (k2neg) - k2p = k2p.negate(); + if (k1neg) k1p = k1p.negate(); + if (k2neg) k2p = k2p.negate(); k2p = new Point3(Fp2.mul(k2p.px, endo.beta), k2p.py, k2p.pz); return k1p.add(k2p); } @@ -4967,38 +5341,36 @@ zoo`.split("\n"); } multiplyAndAddUnsafe(Q, a, b) { const G = Point3.BASE; - const mul = (P, a2) => a2 === _0n4 || a2 === _1n4 || !P.equals(G) ? P.multiplyUnsafe(a2) : P.multiply(a2); + const mul = (P, a2) => + a2 === _0n4 || a2 === _1n4 || !P.equals(G) + ? P.multiplyUnsafe(a2) + : P.multiply(a2); const sum = mul(this, a).add(mul(Q, b)); return sum.is0() ? void 0 : sum; } toAffine(iz) { const { px: x, py: y, pz: z } = this; const is0 = this.is0(); - if (iz == null) - iz = is0 ? Fp2.ONE : Fp2.inv(z); + if (iz == null) iz = is0 ? Fp2.ONE : Fp2.inv(z); const ax = Fp2.mul(x, iz); const ay = Fp2.mul(y, iz); const zz = Fp2.mul(z, iz); - if (is0) - return { x: Fp2.ZERO, y: Fp2.ZERO }; - if (!Fp2.eql(zz, Fp2.ONE)) - throw new Error("invZ was invalid"); + if (is0) return { x: Fp2.ZERO, y: Fp2.ZERO }; + if (!Fp2.eql(zz, Fp2.ONE)) throw new Error("invZ was invalid"); return { x: ax, y: ay }; } isTorsionFree() { const { h: cofactor, isTorsionFree } = CURVE; - if (cofactor === _1n4) - return true; - if (isTorsionFree) - return isTorsionFree(Point3, this); - throw new Error("isTorsionFree() has not been declared for the elliptic curve"); + if (cofactor === _1n4) return true; + if (isTorsionFree) return isTorsionFree(Point3, this); + throw new Error( + "isTorsionFree() has not been declared for the elliptic curve" + ); } clearCofactor() { const { h: cofactor, clearCofactor } = CURVE; - if (cofactor === _1n4) - return this; - if (clearCofactor) - return clearCofactor(Point3, this); + if (cofactor === _1n4) return this; + if (clearCofactor) return clearCofactor(Point3, this); return this.multiplyUnsafe(CURVE.h); } toRawBytes(isCompressed = true) { @@ -5018,20 +5390,24 @@ zoo`.split("\n"); ProjectivePoint: Point3, normPrivateKeyToScalar, weierstrassEquation, - isWithinCurveOrder + isWithinCurveOrder, }; } function validateOpts(curve) { const opts = validateBasic(curve); - validateObject(opts, { - hash: "hash", - hmac: "function", - randomBytes: "function" - }, { - bits2int: "function", - bits2int_modN: "function", - lowS: "boolean" - }); + validateObject( + opts, + { + hash: "hash", + hmac: "function", + randomBytes: "function", + }, + { + bits2int: "function", + bits2int_modN: "function", + lowS: "boolean", + } + ); return Object.freeze({ lowS: true, ...opts }); } function weierstrass(curveDef) { @@ -5048,7 +5424,12 @@ zoo`.split("\n"); function invN(a) { return invert(a, CURVE_ORDER); } - const { ProjectivePoint: Point3, normPrivateKeyToScalar, weierstrassEquation, isWithinCurveOrder } = weierstrassPoints({ + const { + ProjectivePoint: Point3, + normPrivateKeyToScalar, + weierstrassEquation, + isWithinCurveOrder, + } = weierstrassPoints({ ...CURVE, toBytes(c, point, isCompressed) { const a = point.toAffine(); @@ -5066,25 +5447,26 @@ zoo`.split("\n"); const tail = bytes2.subarray(1); if (len === compressedLen && (head === 2 || head === 3)) { const x = bytesToNumberBE(tail); - if (!isValidFieldElement(x)) - throw new Error("Point is not on curve"); + if (!isValidFieldElement(x)) throw new Error("Point is not on curve"); const y2 = weierstrassEquation(x); let y = Fp2.sqrt(y2); const isYOdd = (y & _1n4) === _1n4; const isHeadOdd = (head & 1) === 1; - if (isHeadOdd !== isYOdd) - y = Fp2.neg(y); + if (isHeadOdd !== isYOdd) y = Fp2.neg(y); return { x, y }; } else if (len === uncompressedLen && head === 4) { const x = Fp2.fromBytes(tail.subarray(0, Fp2.BYTES)); const y = Fp2.fromBytes(tail.subarray(Fp2.BYTES, 2 * Fp2.BYTES)); return { x, y }; } else { - throw new Error(`Point of length ${len} was invalid. Expected ${compressedLen} compressed bytes or ${uncompressedLen} uncompressed bytes`); + throw new Error( + `Point of length ${len} was invalid. Expected ${compressedLen} compressed bytes or ${uncompressedLen} uncompressed bytes` + ); } - } + }, }); - const numToNByteStr = (num) => bytesToHex2(numberToBytesBE(num, CURVE.nByteLength)); + const numToNByteStr = (num) => + bytesToHex2(numberToBytesBE(num, CURVE.nByteLength)); function isBiggerThanHalfOrder(number2) { const HALF = CURVE_ORDER >> _1n4; return number2 > HALF; @@ -5124,16 +5506,14 @@ zoo`.split("\n"); if (rec == null || ![0, 1, 2, 3].includes(rec)) throw new Error("recovery id invalid"); const radj = rec === 2 || rec === 3 ? r + CURVE.n : r; - if (radj >= Fp2.ORDER) - throw new Error("recovery id 2 or 3 invalid"); + if (radj >= Fp2.ORDER) throw new Error("recovery id 2 or 3 invalid"); const prefix = (rec & 1) === 0 ? "02" : "03"; const R = Point3.fromHex(prefix + numToNByteStr(radj)); const ir = invN(radj); const u1 = modN2(-h * ir); const u2 = modN2(s * ir); const Q = Point3.BASE.multiplyAndAddUnsafe(R, u1, u2); - if (!Q) - throw new Error("point at infinify"); + if (!Q) throw new Error("point at infinify"); Q.assertValidity(); return Q; } @@ -5141,7 +5521,9 @@ zoo`.split("\n"); return isBiggerThanHalfOrder(this.s); } normalizeS() { - return this.hasHighS() ? new Signature(this.r, modN2(-this.s), this.recovery) : this; + return this.hasHighS() + ? new Signature(this.r, modN2(-this.s), this.recovery) + : this; } toDERRawBytes() { return hexToBytes2(this.toDERHex()); @@ -5175,7 +5557,7 @@ zoo`.split("\n"); point._setWindowSize(windowSize); point.multiply(BigInt(3)); return point; - } + }, }; function getPublicKey2(privateKey, isCompressed = true) { return Point3.fromPrivateKey(privateKey).toRawBytes(isCompressed); @@ -5184,34 +5566,34 @@ zoo`.split("\n"); const arr = item instanceof Uint8Array; const str = typeof item === "string"; const len = (arr || str) && item.length; - if (arr) - return len === compressedLen || len === uncompressedLen; - if (str) - return len === 2 * compressedLen || len === 2 * uncompressedLen; - if (item instanceof Point3) - return true; + if (arr) return len === compressedLen || len === uncompressedLen; + if (str) return len === 2 * compressedLen || len === 2 * uncompressedLen; + if (item instanceof Point3) return true; return false; } function getSharedSecret(privateA, publicB, isCompressed = true) { - if (isProbPub(privateA)) - throw new Error("first arg must be private key"); - if (!isProbPub(publicB)) - throw new Error("second arg must be public key"); + if (isProbPub(privateA)) throw new Error("first arg must be private key"); + if (!isProbPub(publicB)) throw new Error("second arg must be public key"); const b = Point3.fromHex(publicB); - return b.multiply(normPrivateKeyToScalar(privateA)).toRawBytes(isCompressed); - } - const bits2int = CURVE.bits2int || function(bytes2) { - const num = bytesToNumberBE(bytes2); - const delta = bytes2.length * 8 - CURVE.nBitLength; - return delta > 0 ? num >> BigInt(delta) : num; - }; - const bits2int_modN = CURVE.bits2int_modN || function(bytes2) { - return modN2(bits2int(bytes2)); - }; + return b + .multiply(normPrivateKeyToScalar(privateA)) + .toRawBytes(isCompressed); + } + const bits2int = + CURVE.bits2int || + function (bytes2) { + const num = bytesToNumberBE(bytes2); + const delta = bytes2.length * 8 - CURVE.nBitLength; + return delta > 0 ? num >> BigInt(delta) : num; + }; + const bits2int_modN = + CURVE.bits2int_modN || + function (bytes2) { + return modN2(bits2int(bytes2)); + }; const ORDER_MASK = bitMask(CURVE.nBitLength); function int2octets(num) { - if (typeof num !== "bigint") - throw new Error("bigint expected"); + if (typeof num !== "bigint") throw new Error("bigint expected"); if (!(_0n4 <= num && num < ORDER_MASK)) throw new Error(`bigint expected < 2^${CURVE.nBitLength}`); return numberToBytesBE(num, CURVE.nByteLength); @@ -5221,11 +5603,9 @@ zoo`.split("\n"); throw new Error("sign() legacy options not supported"); const { hash: hash2, randomBytes: randomBytes2 } = CURVE; let { lowS, prehash, extraEntropy: ent } = opts; - if (lowS == null) - lowS = true; + if (lowS == null) lowS = true; msgHash = ensureBytes("msgHash", msgHash); - if (prehash) - msgHash = ensureBytes("prehashed msgHash", hash2(msgHash)); + if (prehash) msgHash = ensureBytes("prehashed msgHash", hash2(msgHash)); const h1int = bits2int_modN(msgHash); const d = normPrivateKeyToScalar(privateKey); const seedArgs = [int2octets(d), int2octets(h1int)]; @@ -5237,16 +5617,13 @@ zoo`.split("\n"); const m = h1int; function k2sig(kBytes) { const k = bits2int(kBytes); - if (!isWithinCurveOrder(k)) - return; + if (!isWithinCurveOrder(k)) return; const ik = invN(k); const q = Point3.BASE.multiply(k).toAffine(); const r = modN2(q.x); - if (r === _0n4) - return; + if (r === _0n4) return; const s = modN2(ik * modN2(m + r * d)); - if (s === _0n4) - return; + if (s === _0n4) return; let recovery = (q.x === r ? 0 : 2) | Number(q.y & _1n4); let normS = s; if (lowS && isBiggerThanHalfOrder(s)) { @@ -5261,7 +5638,11 @@ zoo`.split("\n"); const defaultVerOpts = { lowS: CURVE.lowS, prehash: false }; function sign(msgHash, privKey, opts = defaultSigOpts) { const { seed, k2sig } = prepSig(msgHash, privKey, opts); - const drbg = createHmacDrbg(CURVE.hash.outputLen, CURVE.nByteLength, CURVE.hmac); + const drbg = createHmacDrbg( + CURVE.hash.outputLen, + CURVE.nByteLength, + CURVE.hmac + ); return drbg(seed, k2sig); } Point3.BASE._setWindowSize(8); @@ -5279,11 +5660,14 @@ zoo`.split("\n"); try { _sig = Signature.fromDER(sg); } catch (derError) { - if (!(derError instanceof DER.Err)) - throw derError; + if (!(derError instanceof DER.Err)) throw derError; _sig = Signature.fromCompact(sg); } - } else if (typeof sg === "object" && typeof sg.r === "bigint" && typeof sg.s === "bigint") { + } else if ( + typeof sg === "object" && + typeof sg.r === "bigint" && + typeof sg.s === "bigint" + ) { const { r: r2, s: s2 } = sg; _sig = new Signature(r2, s2); } else { @@ -5292,21 +5676,20 @@ zoo`.split("\n"); P = Point3.fromHex(publicKey); } catch (error) { if (error.message === "PARSE") - throw new Error(`signature must be Signature instance, Uint8Array or hex string`); + throw new Error( + `signature must be Signature instance, Uint8Array or hex string` + ); return false; } - if (lowS && _sig.hasHighS()) - return false; - if (prehash) - msgHash = CURVE.hash(msgHash); + if (lowS && _sig.hasHighS()) return false; + if (prehash) msgHash = CURVE.hash(msgHash); const { r, s } = _sig; const h = bits2int_modN(msgHash); const is = invN(s); const u1 = modN2(h * is); const u2 = modN2(r * is); const R = Point3.BASE.multiplyAndAddUnsafe(P, u1, u2)?.toAffine(); - if (!R) - return false; + if (!R) return false; const v = modN2(R.x); return v === r; } @@ -5318,14 +5701,13 @@ zoo`.split("\n"); verify, ProjectivePoint: Point3, Signature, - utils + utils, }; } function SWUFpSqrtRatio(Fp2, Z) { const q = Fp2.ORDER; let l = _0n4; - for (let o = q - _1n4; o % _2n3 === _0n4; o /= _2n3) - l += _1n4; + for (let o = q - _1n4; o % _2n3 === _0n4; o /= _2n3) l += _1n4; const c1 = l; const c2 = (q - _1n4) / _2n3 ** c1; const c3 = (c2 - _1n4) / _2n3; @@ -5385,8 +5767,7 @@ zoo`.split("\n"); if (!Fp2.isValid(opts.A) || !Fp2.isValid(opts.B) || !Fp2.isValid(opts.Z)) throw new Error("mapToCurveSimpleSWU: invalid opts"); const sqrtRatio = SWUFpSqrtRatio(Fp2, opts.Z); - if (!Fp2.isOdd) - throw new Error("Fp.isOdd is not implemented!"); + if (!Fp2.isOdd) throw new Error("Fp.isOdd is not implemented!"); return (u) => { let tv1, tv2, tv3, tv4, tv5, tv6, x, y; tv1 = Fp2.sqr(u); @@ -5421,15 +5802,13 @@ zoo`.split("\n"); // node_modules/@noble/curves/esm/abstract/hash-to-curve.js init_define_process(); function validateDST(dst) { - if (dst instanceof Uint8Array) - return dst; - if (typeof dst === "string") - return utf8ToBytes2(dst); + if (dst instanceof Uint8Array) return dst; + if (typeof dst === "string") return utf8ToBytes2(dst); throw new Error("DST must be Uint8Array or string"); } var os2ip = bytesToNumberBE; function i2osp(value, length) { - if (value < 0 || value >= 1 << 8 * length) { + if (value < 0 || value >= 1 << (8 * length)) { throw new Error(`bad I2OSP call: value=${value} length=${length}`); } const res = Array.from({ length }).fill(0); @@ -5447,12 +5826,10 @@ zoo`.split("\n"); return arr; } function isBytes(item) { - if (!(item instanceof Uint8Array)) - throw new Error("Uint8Array expected"); + if (!(item instanceof Uint8Array)) throw new Error("Uint8Array expected"); } function isNum(item) { - if (!Number.isSafeInteger(item)) - throw new Error("number expected"); + if (!Number.isSafeInteger(item)) throw new Error("number expected"); } function expand_message_xmd(msg, DST, lenInBytes, H) { isBytes(msg); @@ -5462,8 +5839,7 @@ zoo`.split("\n"); DST = H(concatBytes2(utf8ToBytes2("H2C-OVERSIZE-DST-"), DST)); const { outputLen: b_in_bytes, blockLen: r_in_bytes } = H; const ell = Math.ceil(lenInBytes / b_in_bytes); - if (ell > 255) - throw new Error("Invalid xmd length"); + if (ell > 255) throw new Error("Invalid xmd length"); const DST_prime = concatBytes2(DST, i2osp(DST.length, 1)); const Z_pad = i2osp(0, r_in_bytes); const l_i_b_str = i2osp(lenInBytes, 2); @@ -5482,12 +5858,20 @@ zoo`.split("\n"); isBytes(DST); isNum(lenInBytes); if (DST.length > 255) { - const dkLen = Math.ceil(2 * k / 8); - DST = H.create({ dkLen }).update(utf8ToBytes2("H2C-OVERSIZE-DST-")).update(DST).digest(); + const dkLen = Math.ceil((2 * k) / 8); + DST = H.create({ dkLen }) + .update(utf8ToBytes2("H2C-OVERSIZE-DST-")) + .update(DST) + .digest(); } if (lenInBytes > 65535 || DST.length > 255) throw new Error("expand_message_xof: invalid lenInBytes"); - return H.create({ dkLen: lenInBytes }).update(msg).update(i2osp(lenInBytes, 2)).update(DST).update(i2osp(DST.length, 1)).digest(); + return H.create({ dkLen: lenInBytes }) + .update(msg) + .update(i2osp(lenInBytes, 2)) + .update(DST) + .update(i2osp(DST.length, 1)) + .digest(); } function hash_to_field(msg, count, options) { validateObject(options, { @@ -5495,7 +5879,7 @@ zoo`.split("\n"); p: "bigint", m: "isSafeInteger", k: "isSafeInteger", - hash: "hash" + hash: "hash", }); const { p, k, m, hash: hash2, expand, DST: _DST } = options; isBytes(msg); @@ -5529,7 +5913,9 @@ zoo`.split("\n"); function isogenyMap(field, map) { const COEFF = map.map((i) => Array.from(i).reverse()); return (x, y) => { - const [xNum, xDen, yNum, yDen] = COEFF.map((val) => val.reduce((acc, i) => field.add(field.mul(acc, x), i))); + const [xNum, xDen, yNum, yDen] = COEFF.map((val) => + val.reduce((acc, i) => field.add(field.mul(acc, x), i)) + ); x = field.div(xNum, xDen); y = field.mul(y, field.div(yNum, yDen)); return { x, y }; @@ -5548,11 +5934,15 @@ zoo`.split("\n"); return P; }, encodeToCurve(msg, options) { - const u = hash_to_field(msg, 1, { ...def, DST: def.encodeDST, ...options }); + const u = hash_to_field(msg, 1, { + ...def, + DST: def.encodeDST, + ...options, + }); const P = Point3.fromAffine(mapToCurve(u[0])).clearCofactor(); P.assertValidity(); return P; - } + }, }; } @@ -5570,18 +5960,20 @@ zoo`.split("\n"); const key = toBytes(_key); this.iHash = hash2.create(); if (typeof this.iHash.update !== "function") - throw new TypeError("Expected instance of class which extends utils.Hash"); + throw new TypeError( + "Expected instance of class which extends utils.Hash" + ); this.blockLen = this.iHash.blockLen; this.outputLen = this.iHash.outputLen; const blockLen = this.blockLen; const pad = new Uint8Array(blockLen); - pad.set(key.length > blockLen ? hash2.create().update(key).digest() : key); - for (let i = 0; i < pad.length; i++) - pad[i] ^= 54; + pad.set( + key.length > blockLen ? hash2.create().update(key).digest() : key + ); + for (let i = 0; i < pad.length; i++) pad[i] ^= 54; this.iHash.update(pad); this.oHash = hash2.create(); - for (let i = 0; i < pad.length; i++) - pad[i] ^= 54 ^ 92; + for (let i = 0; i < pad.length; i++) pad[i] ^= 54 ^ 92; this.oHash.update(pad); pad.fill(0); } @@ -5622,7 +6014,8 @@ zoo`.split("\n"); this.iHash.destroy(); } }; - var hmac = (hash2, key, message) => new HMAC(hash2, key).update(message).digest(); + var hmac = (hash2, key, message) => + new HMAC(hash2, key).update(message).digest(); hmac.create = (hash2, key) => new HMAC(hash2, key); // node_modules/@noble/curves/esm/_shortw_utils.js @@ -5630,7 +6023,7 @@ zoo`.split("\n"); return { hash: hash2, hmac: (key, ...msgs) => hmac(hash2, key, concatBytes(...msgs)), - randomBytes + randomBytes, }; } function createCurve(curveDef, defHash) { @@ -5639,69 +6032,84 @@ zoo`.split("\n"); } // node_modules/@noble/curves/esm/secp256k1.js - var secp256k1P = BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"); - var secp256k1N = BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"); + var secp256k1P = BigInt( + "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f" + ); + var secp256k1N = BigInt( + "0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141" + ); var _1n5 = BigInt(1); var _2n4 = BigInt(2); var divNearest = (a, b) => (a + b / _2n4) / b; function sqrtMod(y) { const P = secp256k1P; - const _3n3 = BigInt(3), _6n = BigInt(6), _11n = BigInt(11), _22n = BigInt(22); - const _23n = BigInt(23), _44n = BigInt(44), _88n = BigInt(88); - const b2 = y * y * y % P; - const b3 = b2 * b2 * y % P; - const b6 = pow2(b3, _3n3, P) * b3 % P; - const b9 = pow2(b6, _3n3, P) * b3 % P; - const b11 = pow2(b9, _2n4, P) * b2 % P; - const b22 = pow2(b11, _11n, P) * b11 % P; - const b44 = pow2(b22, _22n, P) * b22 % P; - const b88 = pow2(b44, _44n, P) * b44 % P; - const b176 = pow2(b88, _88n, P) * b88 % P; - const b220 = pow2(b176, _44n, P) * b44 % P; - const b223 = pow2(b220, _3n3, P) * b3 % P; - const t1 = pow2(b223, _23n, P) * b22 % P; - const t2 = pow2(t1, _6n, P) * b2 % P; + const _3n3 = BigInt(3), + _6n = BigInt(6), + _11n = BigInt(11), + _22n = BigInt(22); + const _23n = BigInt(23), + _44n = BigInt(44), + _88n = BigInt(88); + const b2 = (y * y * y) % P; + const b3 = (b2 * b2 * y) % P; + const b6 = (pow2(b3, _3n3, P) * b3) % P; + const b9 = (pow2(b6, _3n3, P) * b3) % P; + const b11 = (pow2(b9, _2n4, P) * b2) % P; + const b22 = (pow2(b11, _11n, P) * b11) % P; + const b44 = (pow2(b22, _22n, P) * b22) % P; + const b88 = (pow2(b44, _44n, P) * b44) % P; + const b176 = (pow2(b88, _88n, P) * b88) % P; + const b220 = (pow2(b176, _44n, P) * b44) % P; + const b223 = (pow2(b220, _3n3, P) * b3) % P; + const t1 = (pow2(b223, _23n, P) * b22) % P; + const t2 = (pow2(t1, _6n, P) * b2) % P; const root = pow2(t2, _2n4, P); - if (!Fp.eql(Fp.sqr(root), y)) - throw new Error("Cannot find square root"); + if (!Fp.eql(Fp.sqr(root), y)) throw new Error("Cannot find square root"); return root; } var Fp = Field(secp256k1P, void 0, void 0, { sqrt: sqrtMod }); - var secp256k1 = createCurve({ - a: BigInt(0), - b: BigInt(7), - Fp, - n: secp256k1N, - Gx: BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"), - Gy: BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"), - h: BigInt(1), - lowS: true, - endo: { - beta: BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"), - splitScalar: (k) => { - const n = secp256k1N; - const a1 = BigInt("0x3086d221a7d46bcde86c90e49284eb15"); - const b1 = -_1n5 * BigInt("0xe4437ed6010e88286f547fa90abfe4c3"); - const a2 = BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"); - const b2 = a1; - const POW_2_128 = BigInt("0x100000000000000000000000000000000"); - const c1 = divNearest(b2 * k, n); - const c2 = divNearest(-b1 * k, n); - let k1 = mod(k - c1 * a1 - c2 * a2, n); - let k2 = mod(-c1 * b1 - c2 * b2, n); - const k1neg = k1 > POW_2_128; - const k2neg = k2 > POW_2_128; - if (k1neg) - k1 = n - k1; - if (k2neg) - k2 = n - k2; - if (k1 > POW_2_128 || k2 > POW_2_128) { - throw new Error("splitScalar: Endomorphism failed, k=" + k); - } - return { k1neg, k1, k2neg, k2 }; - } - } - }, sha256); + var secp256k1 = createCurve( + { + a: BigInt(0), + b: BigInt(7), + Fp, + n: secp256k1N, + Gx: BigInt( + "55066263022277343669578718895168534326250603453777594175500187360389116729240" + ), + Gy: BigInt( + "32670510020758816978083085130507043184471273380659243275938904335757337482424" + ), + h: BigInt(1), + lowS: true, + endo: { + beta: BigInt( + "0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee" + ), + splitScalar: (k) => { + const n = secp256k1N; + const a1 = BigInt("0x3086d221a7d46bcde86c90e49284eb15"); + const b1 = -_1n5 * BigInt("0xe4437ed6010e88286f547fa90abfe4c3"); + const a2 = BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"); + const b2 = a1; + const POW_2_128 = BigInt("0x100000000000000000000000000000000"); + const c1 = divNearest(b2 * k, n); + const c2 = divNearest(-b1 * k, n); + let k1 = mod(k - c1 * a1 - c2 * a2, n); + let k2 = mod(-c1 * b1 - c2 * b2, n); + const k1neg = k1 > POW_2_128; + const k2neg = k2 > POW_2_128; + if (k1neg) k1 = n - k1; + if (k2neg) k2 = n - k2; + if (k1 > POW_2_128 || k2 > POW_2_128) { + throw new Error("splitScalar: Endomorphism failed, k=" + k); + } + return { k1neg, k1, k2neg, k2 }; + }, + }, + }, + sha256 + ); var _0n5 = BigInt(0); var fe = (x) => typeof x === "bigint" && _0n5 < x && x < secp256k1P; var ge = (x) => typeof x === "bigint" && _0n5 < x && x < secp256k1N; @@ -5728,13 +6136,11 @@ zoo`.split("\n"); return { scalar, bytes: pointToBytes(p) }; } function lift_x(x) { - if (!fe(x)) - throw new Error("bad x: need 0 < x < p"); + if (!fe(x)) throw new Error("bad x: need 0 < x < p"); const xx = modP(x * x); const c = modP(xx * x + BigInt(7)); let y = sqrtMod(c); - if (y % _2n4 !== _0n5) - y = modP(-y); + if (y % _2n4 !== _0n5) y = modP(-y); const p = new Point(x, y, _1n5); p.assertValidity(); return p; @@ -5752,8 +6158,7 @@ zoo`.split("\n"); const t = numTo32b(d ^ bytesToNumberBE(taggedHash("BIP0340/aux", a))); const rand = taggedHash("BIP0340/nonce", t, px, m); const k_ = modN(bytesToNumberBE(rand)); - if (k_ === _0n5) - throw new Error("sign failed: k is zero"); + if (k_ === _0n5) throw new Error("sign failed: k is zero"); const { bytes: rx, scalar: k } = schnorrGetExtPubKey(k_); const e = challenge(rx, px, m); const sig = new Uint8Array(64); @@ -5770,15 +6175,12 @@ zoo`.split("\n"); try { const P = lift_x(bytesToNumberBE(pub)); const r = bytesToNumberBE(sig.subarray(0, 32)); - if (!fe(r)) - return false; + if (!fe(r)) return false; const s = bytesToNumberBE(sig.subarray(32, 64)); - if (!ge(s)) - return false; + if (!ge(s)) return false; const e = challenge(numTo32b(r), pointToBytes(P), m); const R = GmulAdd(P, s, modN(-e)); - if (!R || !R.hasEvenY() || R.toAffine().x !== r) - return false; + if (!R || !R.hasEvenY() || R.toAffine().x !== r) return false; return true; } catch (error) { return false; @@ -5795,51 +6197,60 @@ zoo`.split("\n"); numberToBytesBE, bytesToNumberBE, taggedHash, - mod - } + mod, + }, }; - var isoMap = isogenyMap(Fp, [ - [ - "0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa8c7", - "0x7d3d4c80bc321d5b9f315cea7fd44c5d595d2fc0bf63b92dfff1044f17c6581", - "0x534c328d23f234e6e2a413deca25caece4506144037c40314ecbd0b53d9dd262", - "0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa88c" - ], - [ - "0xd35771193d94918a9ca34ccbb7b640dd86cd409542f8487d9fe6b745781eb49b", - "0xedadc6f64383dc1df7c4b2d51b54225406d36b641f5e41bbc52a56612a8c6d14", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - [ - "0x4bda12f684bda12f684bda12f684bda12f684bda12f684bda12f684b8e38e23c", - "0xc75e0c32d5cb7c0fa9d0a54b12a0a6d5647ab046d686da6fdffc90fc201d71a3", - "0x29a6194691f91a73715209ef6512e576722830a201be2018a765e85a9ecee931", - "0x2f684bda12f684bda12f684bda12f684bda12f684bda12f684bda12f38e38d84" - ], + var isoMap = isogenyMap( + Fp, [ - "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffff93b", - "0x7a06534bb8bdb49fd5e9e6632722c2989467c1bfc8e8d978dfb425d2685c2573", - "0x6484aa716545ca2cf3a70c3fa8fe337e0a3d21162f0d6299a7bf8192bfd2a76f", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ] - ].map((i) => i.map((j) => BigInt(j)))); + [ + "0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa8c7", + "0x7d3d4c80bc321d5b9f315cea7fd44c5d595d2fc0bf63b92dfff1044f17c6581", + "0x534c328d23f234e6e2a413deca25caece4506144037c40314ecbd0b53d9dd262", + "0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa88c", + ], + [ + "0xd35771193d94918a9ca34ccbb7b640dd86cd409542f8487d9fe6b745781eb49b", + "0xedadc6f64383dc1df7c4b2d51b54225406d36b641f5e41bbc52a56612a8c6d14", + "0x0000000000000000000000000000000000000000000000000000000000000001", + ], + [ + "0x4bda12f684bda12f684bda12f684bda12f684bda12f684bda12f684b8e38e23c", + "0xc75e0c32d5cb7c0fa9d0a54b12a0a6d5647ab046d686da6fdffc90fc201d71a3", + "0x29a6194691f91a73715209ef6512e576722830a201be2018a765e85a9ecee931", + "0x2f684bda12f684bda12f684bda12f684bda12f684bda12f684bda12f38e38d84", + ], + [ + "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffff93b", + "0x7a06534bb8bdb49fd5e9e6632722c2989467c1bfc8e8d978dfb425d2685c2573", + "0x6484aa716545ca2cf3a70c3fa8fe337e0a3d21162f0d6299a7bf8192bfd2a76f", + "0x0000000000000000000000000000000000000000000000000000000000000001", + ], + ].map((i) => i.map((j) => BigInt(j))) + ); var mapSWU = mapToCurveSimpleSWU(Fp, { - A: BigInt("0x3f8731abdd661adca08a5558f0f5d272e953d363cb6f0e5d405447c01a444533"), + A: BigInt( + "0x3f8731abdd661adca08a5558f0f5d272e953d363cb6f0e5d405447c01a444533" + ), B: BigInt("1771"), - Z: Fp.create(BigInt("-11")) - }); - var { hashToCurve, encodeToCurve } = createHasher(secp256k1.ProjectivePoint, (scalars) => { - const { x, y } = mapSWU(Fp.create(scalars[0])); - return isoMap(x, y); - }, { - DST: "secp256k1_XMD:SHA-256_SSWU_RO_", - encodeDST: "secp256k1_XMD:SHA-256_SSWU_NU_", - p: Fp.ORDER, - m: 1, - k: 128, - expand: "xmd", - hash: sha256 + Z: Fp.create(BigInt("-11")), }); + var { hashToCurve, encodeToCurve } = createHasher( + secp256k1.ProjectivePoint, + (scalars) => { + const { x, y } = mapSWU(Fp.create(scalars[0])); + return isoMap(x, y); + }, + { + DST: "secp256k1_XMD:SHA-256_SSWU_RO_", + encodeDST: "secp256k1_XMD:SHA-256_SSWU_NU_", + p: Fp.ORDER, + m: 1, + k: 128, + expand: "xmd", + hash: sha256, + } + ); // keys.ts function generatePrivateKey() { @@ -5864,7 +6275,7 @@ zoo`.split("\n"); insertEventIntoDescendingList: () => insertEventIntoDescendingList, normalizeURL: () => normalizeURL, utf8Decoder: () => utf8Decoder, - utf8Encoder: () => utf8Encoder + utf8Encoder: () => utf8Encoder, }); init_define_process(); var utf8Decoder = new TextDecoder("utf-8"); @@ -5872,9 +6283,11 @@ zoo`.split("\n"); function normalizeURL(url) { let p = new URL(url); p.pathname = p.pathname.replace(/\/+/g, "/"); - if (p.pathname.endsWith("/")) - p.pathname = p.pathname.slice(0, -1); - if (p.port === "80" && p.protocol === "ws:" || p.port === "443" && p.protocol === "wss:") + if (p.pathname.endsWith("/")) p.pathname = p.pathname.slice(0, -1); + if ( + (p.port === "80" && p.protocol === "ws:") || + (p.port === "443" && p.protocol === "wss:") + ) p.port = ""; p.searchParams.sort(); p.hash = ""; @@ -5911,7 +6324,7 @@ zoo`.split("\n"); return [ ...sortedArray.slice(0, position), event, - ...sortedArray.slice(position) + ...sortedArray.slice(position), ]; } return sortedArray; @@ -5947,7 +6360,7 @@ zoo`.split("\n"); return [ ...sortedArray.slice(0, position), event, - ...sortedArray.slice(position) + ...sortedArray.slice(position), ]; } return sortedArray; @@ -6012,8 +6425,7 @@ zoo`.split("\n"); return true; } dequeue() { - if (this._size === 0 || !this._first) - return null; + if (this._size === 0 || !this._first) return null; let prev = this._first; this._first = prev.next; prev.next = null; @@ -6024,30 +6436,30 @@ zoo`.split("\n"); // event.ts var Kind = /* @__PURE__ */ ((Kind3) => { - Kind3[Kind3["Metadata"] = 0] = "Metadata"; - Kind3[Kind3["Text"] = 1] = "Text"; - Kind3[Kind3["RecommendRelay"] = 2] = "RecommendRelay"; - Kind3[Kind3["Contacts"] = 3] = "Contacts"; - Kind3[Kind3["EncryptedDirectMessage"] = 4] = "EncryptedDirectMessage"; - Kind3[Kind3["EventDeletion"] = 5] = "EventDeletion"; - Kind3[Kind3["Repost"] = 6] = "Repost"; - Kind3[Kind3["Reaction"] = 7] = "Reaction"; - Kind3[Kind3["BadgeAward"] = 8] = "BadgeAward"; - Kind3[Kind3["ChannelCreation"] = 40] = "ChannelCreation"; - Kind3[Kind3["ChannelMetadata"] = 41] = "ChannelMetadata"; - Kind3[Kind3["ChannelMessage"] = 42] = "ChannelMessage"; - Kind3[Kind3["ChannelHideMessage"] = 43] = "ChannelHideMessage"; - Kind3[Kind3["ChannelMuteUser"] = 44] = "ChannelMuteUser"; - Kind3[Kind3["Blank"] = 255] = "Blank"; - Kind3[Kind3["Report"] = 1984] = "Report"; - Kind3[Kind3["ZapRequest"] = 9734] = "ZapRequest"; - Kind3[Kind3["Zap"] = 9735] = "Zap"; - Kind3[Kind3["RelayList"] = 10002] = "RelayList"; - Kind3[Kind3["ClientAuth"] = 22242] = "ClientAuth"; - Kind3[Kind3["HttpAuth"] = 27235] = "HttpAuth"; - Kind3[Kind3["ProfileBadge"] = 30008] = "ProfileBadge"; - Kind3[Kind3["BadgeDefinition"] = 30009] = "BadgeDefinition"; - Kind3[Kind3["Article"] = 30023] = "Article"; + Kind3[(Kind3["Metadata"] = 0)] = "Metadata"; + Kind3[(Kind3["Text"] = 1)] = "Text"; + Kind3[(Kind3["RecommendRelay"] = 2)] = "RecommendRelay"; + Kind3[(Kind3["Contacts"] = 3)] = "Contacts"; + Kind3[(Kind3["EncryptedDirectMessage"] = 4)] = "EncryptedDirectMessage"; + Kind3[(Kind3["EventDeletion"] = 5)] = "EventDeletion"; + Kind3[(Kind3["Repost"] = 6)] = "Repost"; + Kind3[(Kind3["Reaction"] = 7)] = "Reaction"; + Kind3[(Kind3["BadgeAward"] = 8)] = "BadgeAward"; + Kind3[(Kind3["ChannelCreation"] = 40)] = "ChannelCreation"; + Kind3[(Kind3["ChannelMetadata"] = 41)] = "ChannelMetadata"; + Kind3[(Kind3["ChannelMessage"] = 42)] = "ChannelMessage"; + Kind3[(Kind3["ChannelHideMessage"] = 43)] = "ChannelHideMessage"; + Kind3[(Kind3["ChannelMuteUser"] = 44)] = "ChannelMuteUser"; + Kind3[(Kind3["Blank"] = 255)] = "Blank"; + Kind3[(Kind3["Report"] = 1984)] = "Report"; + Kind3[(Kind3["ZapRequest"] = 9734)] = "ZapRequest"; + Kind3[(Kind3["Zap"] = 9735)] = "Zap"; + Kind3[(Kind3["RelayList"] = 10002)] = "RelayList"; + Kind3[(Kind3["ClientAuth"] = 22242)] = "ClientAuth"; + Kind3[(Kind3["HttpAuth"] = 27235)] = "HttpAuth"; + Kind3[(Kind3["ProfileBadge"] = 30008)] = "ProfileBadge"; + Kind3[(Kind3["BadgeDefinition"] = 30009)] = "BadgeDefinition"; + Kind3[(Kind3["Article"] = 30023)] = "Article"; return Kind3; })(Kind || {}); function getBlankEvent(kind = 255 /* Blank */) { @@ -6055,7 +6467,7 @@ zoo`.split("\n"); kind, content: "", tags: [], - created_at: 0 + created_at: 0, }; } function finishEvent(t, privateKey) { @@ -6074,7 +6486,7 @@ zoo`.split("\n"); evt.created_at, evt.kind, evt.tags, - evt.content + evt.content, ]); } function getEventHash(event) { @@ -6083,27 +6495,18 @@ zoo`.split("\n"); } var isRecord = (obj) => obj instanceof Object; function validateEvent(event) { - if (!isRecord(event)) - return false; - if (typeof event.kind !== "number") - return false; - if (typeof event.content !== "string") - return false; - if (typeof event.created_at !== "number") - return false; - if (typeof event.pubkey !== "string") - return false; - if (!event.pubkey.match(/^[a-f0-9]{64}$/)) - return false; - if (!Array.isArray(event.tags)) - return false; + if (!isRecord(event)) return false; + if (typeof event.kind !== "number") return false; + if (typeof event.content !== "string") return false; + if (typeof event.created_at !== "number") return false; + if (typeof event.pubkey !== "string") return false; + if (!event.pubkey.match(/^[a-f0-9]{64}$/)) return false; + if (!Array.isArray(event.tags)) return false; for (let i = 0; i < event.tags.length; i++) { let tag = event.tags[i]; - if (!Array.isArray(tag)) - return false; + if (!Array.isArray(tag)) return false; for (let j = 0; j < tag.length; j++) { - if (typeof tag[j] === "object") - return false; + if (typeof tag[j] === "object") return false; } } return true; @@ -6133,8 +6536,7 @@ zoo`.split("\n"); return false; } } - if (filter.kinds && filter.kinds.indexOf(event.kind) === -1) - return false; + if (filter.kinds && filter.kinds.indexOf(event.kind) === -1) return false; if (filter.authors && filter.authors.indexOf(event.pubkey) === -1) { if (!filter.authors.some((prefix) => event.pubkey.startsWith(prefix))) { return false; @@ -6144,22 +6546,22 @@ zoo`.split("\n"); if (f2[0] === "#") { let tagName = f2.slice(1); let values = filter[`#${tagName}`]; - if (values && !event.tags.find( - ([t, v]) => t === f2.slice(1) && values.indexOf(v) !== -1 - )) + if ( + values && + !event.tags.find( + ([t, v]) => t === f2.slice(1) && values.indexOf(v) !== -1 + ) + ) return false; } } - if (filter.since && event.created_at < filter.since) - return false; - if (filter.until && event.created_at > filter.until) - return false; + if (filter.since && event.created_at < filter.since) return false; + if (filter.until && event.created_at > filter.until) return false; return true; } function matchFilters(filters, event) { for (let i = 0; i < filters.length; i++) { - if (matchFilter(filters[i], event)) - return true; + if (matchFilter(filters[i], event)) return true; } return false; } @@ -6168,12 +6570,16 @@ zoo`.split("\n"); for (let i = 0; i < filters.length; i++) { let filter = filters[i]; Object.entries(filter).forEach(([property, values]) => { - if (property === "kinds" || property === "ids" || property === "authors" || property[0] === "#") { + if ( + property === "kinds" || + property === "ids" || + property === "authors" || + property[0] === "#" + ) { result[property] = result[property] || []; for (let v = 0; v < values.length; v++) { let value = values[v]; - if (!result[property].includes(value)) - result[property].push(value); + if (!result[property].includes(value)) result[property].push(value); } } }); @@ -6195,7 +6601,7 @@ zoo`.split("\n"); getSubscriptionId: () => getSubscriptionId, matchEventId: () => matchEventId, matchEventKind: () => matchEventKind, - matchEventPubkey: () => matchEventPubkey + matchEventPubkey: () => matchEventPubkey, }); init_define_process(); function getHex64(json, field) { @@ -6213,15 +6619,12 @@ zoo`.split("\n"); } function getSubscriptionId(json) { let idx = json.slice(0, 22).indexOf(`"EVENT"`); - if (idx === -1) - return null; + if (idx === -1) return null; let pstart = json.slice(idx + 7 + 1).indexOf(`"`); - if (pstart === -1) - return null; + if (pstart === -1) return null; let start = idx + 7 + 1 + pstart; let pend = json.slice(start + 1, 80).indexOf(`"`); - if (pend === -1) - return null; + if (pend === -1) return null; let end = start + 1 + pend; return json.slice(start + 1, end); } @@ -6241,7 +6644,7 @@ zoo`.split("\n"); disconnect: [], error: [], notice: [], - auth: [] + auth: [], }); function relayInit(url, options = {}) { let { listTimeout = 3e3, getTimeout = 3e3, countTimeout = 3e3 } = options; @@ -6252,8 +6655,7 @@ zoo`.split("\n"); var pubListeners = {}; var connectionPromise; async function connectRelay() { - if (connectionPromise) - return connectionPromise; + if (connectionPromise) return connectionPromise; connectionPromise = new Promise((resolve, reject) => { try { ws = new WebSocket(url); @@ -6288,12 +6690,15 @@ zoo`.split("\n"); return; } var json = incomingMessageQueue.dequeue(); - if (!json) - return; + if (!json) return; let subid = getSubscriptionId(json); if (subid) { let so = openSubs[subid]; - if (so && so.alreadyHaveEvent && so.alreadyHaveEvent(getHex64(json, "id"), url)) { + if ( + so && + so.alreadyHaveEvent && + so.alreadyHaveEvent(getHex64(json, "id"), url) + ) { return; } } @@ -6303,7 +6708,12 @@ zoo`.split("\n"); case "EVENT": { let id2 = data[1]; let event = data[2]; - if (validateEvent(event) && openSubs[id2] && (openSubs[id2].skipVerification || verifySignature(event)) && matchFilters(openSubs[id2].filters, event)) { + if ( + validateEvent(event) && + openSubs[id2] && + (openSubs[id2].skipVerification || verifySignature(event)) && + matchFilters(openSubs[id2].filters, event) + ) { openSubs[id2]; (subListeners[id2]?.event || []).forEach((cb) => cb(event)); } @@ -6313,7 +6723,6 @@ zoo`.split("\n"); let id = data[1]; let payload = data[2]; if (openSubs[id]) { - ; (subListeners[id]?.count || []).forEach((cb) => cb(payload)); } return; @@ -6330,10 +6739,8 @@ zoo`.split("\n"); let ok = data[2]; let reason = data[3] || ""; if (id2 in pubListeners) { - if (ok) - pubListeners[id2].ok.forEach((cb) => cb()); - else - pubListeners[id2].failed.forEach((cb) => cb(reason)); + if (ok) pubListeners[id2].ok.forEach((cb) => cb()); + else pubListeners[id2].failed.forEach((cb) => cb(reason)); pubListeners[id2].ok = []; pubListeners[id2].failed = []; } @@ -6360,8 +6767,7 @@ zoo`.split("\n"); return ws?.readyState === 1; } async function connect() { - if (connected()) - return; + if (connected()) return; await connectRelay(); } async function trySend(params) { @@ -6378,26 +6784,30 @@ zoo`.split("\n"); console.log(err); } } - const sub = (filters, { - verb = "REQ", - skipVerification = false, - alreadyHaveEvent = null, - id = Math.random().toString().slice(2) - } = {}) => { + const sub = ( + filters, + { + verb = "REQ", + skipVerification = false, + alreadyHaveEvent = null, + id = Math.random().toString().slice(2), + } = {} + ) => { let subid = id; openSubs[subid] = { id: subid, filters, skipVerification, - alreadyHaveEvent + alreadyHaveEvent, }; trySend([verb, subid, ...filters]); return { - sub: (newFilters, newOpts = {}) => sub(newFilters || filters, { - skipVerification: newOpts.skipVerification || skipVerification, - alreadyHaveEvent: newOpts.alreadyHaveEvent || alreadyHaveEvent, - id: subid - }), + sub: (newFilters, newOpts = {}) => + sub(newFilters || filters, { + skipVerification: newOpts.skipVerification || skipVerification, + alreadyHaveEvent: newOpts.alreadyHaveEvent || alreadyHaveEvent, + id: subid, + }), unsub: () => { delete openSubs[subid]; delete subListeners[subid]; @@ -6407,39 +6817,35 @@ zoo`.split("\n"); subListeners[subid] = subListeners[subid] || { event: [], count: [], - eose: [] + eose: [], }; subListeners[subid][type].push(cb); }, off: (type, cb) => { let listeners2 = subListeners[subid]; let idx = listeners2[type].indexOf(cb); - if (idx >= 0) - listeners2[type].splice(idx, 1); - } + if (idx >= 0) listeners2[type].splice(idx, 1); + }, }; }; function _publishEvent(event, type) { - if (!event.id) - throw new Error(`event ${event} has no id`); + if (!event.id) throw new Error(`event ${event} has no id`); let id = event.id; trySend([type, event]); return { on: (type2, cb) => { pubListeners[id] = pubListeners[id] || { ok: [], - failed: [] + failed: [], }; pubListeners[id][type2].push(cb); }, off: (type2, cb) => { let listeners2 = pubListeners[id]; - if (!listeners2) - return; + if (!listeners2) return; let idx = listeners2[type2].indexOf(cb); - if (idx >= 0) - listeners2[type2].splice(idx, 1); - } + if (idx >= 0) listeners2[type2].splice(idx, 1); + }, }; } return { @@ -6448,55 +6854,56 @@ zoo`.split("\n"); on: (type, cb) => { listeners[type].push(cb); if (type === "connect" && ws?.readyState === 1) { - ; cb(); } }, off: (type, cb) => { let index = listeners[type].indexOf(cb); - if (index !== -1) - listeners[type].splice(index, 1); + if (index !== -1) listeners[type].splice(index, 1); }, - list: (filters, opts) => new Promise((resolve) => { - let s = sub(filters, opts); - let events = []; - let timeout = setTimeout(() => { - s.unsub(); - resolve(events); - }, listTimeout); - s.on("eose", () => { - s.unsub(); - clearTimeout(timeout); - resolve(events); - }); - s.on("event", (event) => { - events.push(event); - }); - }), - get: (filter, opts) => new Promise((resolve) => { - let s = sub([filter], opts); - let timeout = setTimeout(() => { - s.unsub(); - resolve(null); - }, getTimeout); - s.on("event", (event) => { - s.unsub(); - clearTimeout(timeout); - resolve(event); - }); - }), - count: (filters) => new Promise((resolve) => { - let s = sub(filters, { ...sub, verb: "COUNT" }); - let timeout = setTimeout(() => { - s.unsub(); - resolve(null); - }, countTimeout); - s.on("count", (event) => { - s.unsub(); - clearTimeout(timeout); - resolve(event); - }); - }), + list: (filters, opts) => + new Promise((resolve) => { + let s = sub(filters, opts); + let events = []; + let timeout = setTimeout(() => { + s.unsub(); + resolve(events); + }, listTimeout); + s.on("eose", () => { + s.unsub(); + clearTimeout(timeout); + resolve(events); + }); + s.on("event", (event) => { + events.push(event); + }); + }), + get: (filter, opts) => + new Promise((resolve) => { + let s = sub([filter], opts); + let timeout = setTimeout(() => { + s.unsub(); + resolve(null); + }, getTimeout); + s.on("event", (event) => { + s.unsub(); + clearTimeout(timeout); + resolve(event); + }); + }), + count: (filters) => + new Promise((resolve) => { + let s = sub(filters, { ...sub, verb: "COUNT" }); + let timeout = setTimeout(() => { + s.unsub(); + resolve(null); + }, countTimeout); + s.on("count", (event) => { + s.unsub(); + clearTimeout(timeout); + resolve(event); + }); + }), publish(event) { return _publishEvent(event, "EVENT"); }, @@ -6514,7 +6921,7 @@ zoo`.split("\n"); }, get status() { return ws?.readyState ?? 3; - } + }, }; } @@ -6535,8 +6942,7 @@ zoo`.split("\n"); close(relays) { relays.forEach((url) => { let relay = this._conn[normalizeURL(url)]; - if (relay) - relay.close(); + if (relay) relay.close(); }); } async ensureRelay(url) { @@ -6544,7 +6950,7 @@ zoo`.split("\n"); if (!this._conn[nm]) { this._conn[nm] = relayInit(nm, { getTimeout: this.getTimeout * 0.9, - listTimeout: this.getTimeout * 0.9 + listTimeout: this.getTimeout * 0.9, }); } const relay = this._conn[nm]; @@ -6553,7 +6959,7 @@ zoo`.split("\n"); } sub(relays, filters, opts) { let _knownIds = /* @__PURE__ */ new Set(); - let modifiedOpts = { ...opts || {} }; + let modifiedOpts = { ...(opts || {}) }; modifiedOpts.alreadyHaveEvent = (id, url) => { if (opts?.alreadyHaveEvent?.(id, url)) { return true; @@ -6572,8 +6978,7 @@ zoo`.split("\n"); let eoseSent = false; let eoseTimeout = setTimeout(() => { eoseSent = true; - for (let cb of eoseListeners.values()) - cb(); + for (let cb of eoseListeners.values()) cb(); }, this.eoseSubTimeout); relays.forEach(async (relay) => { let r; @@ -6583,17 +6988,14 @@ zoo`.split("\n"); handleEose(); return; } - if (!r) - return; + if (!r) return; let s = r.sub(filters, modifiedOpts); s.on("event", (event) => { _knownIds.add(event.id); - for (let cb of eventListeners.values()) - cb(event); + for (let cb of eventListeners.values()) cb(event); }); s.on("eose", () => { - if (eoseSent) - return; + if (eoseSent) return; handleEose(); }); subs.push(s); @@ -6601,8 +7003,7 @@ zoo`.split("\n"); eosesMissing--; if (eosesMissing === 0) { clearTimeout(eoseTimeout); - for (let cb of eoseListeners.values()) - cb(); + for (let cb of eoseListeners.values()) cb(); } } }); @@ -6624,9 +7025,8 @@ zoo`.split("\n"); off(type, cb) { if (type === "event") { eventListeners.delete(cb); - } else if (type === "eose") - eoseListeners.delete(cb); - } + } else if (type === "eose") eoseListeners.delete(cb); + }, }; return greaterSub; } @@ -6664,9 +7064,7 @@ zoo`.split("\n"); r = await this.ensureRelay(relay); return r.publish(event); } catch (_) { - return { on() { - }, off() { - } }; + return { on() {}, off() {} }; } }); const callbackMap = /* @__PURE__ */ new Map(); @@ -6687,7 +7085,7 @@ zoo`.split("\n"); pub.off(type, callback); } }); - } + }, }; } seenOn(id) { @@ -6709,46 +7107,62 @@ zoo`.split("\n"); nprofileEncode: () => nprofileEncode, npubEncode: () => npubEncode, nrelayEncode: () => nrelayEncode, - nsecEncode: () => nsecEncode + nsecEncode: () => nsecEncode, }); init_define_process(); // node_modules/@scure/base/lib/esm/index.js init_define_process(); function assertNumber(n) { - if (!Number.isSafeInteger(n)) - throw new Error(`Wrong integer: ${n}`); + if (!Number.isSafeInteger(n)) throw new Error(`Wrong integer: ${n}`); } function chain(...args) { const wrap = (a, b) => (c) => a(b(c)); - const encode = Array.from(args).reverse().reduce((acc, i) => acc ? wrap(acc, i.encode) : i.encode, void 0); - const decode2 = args.reduce((acc, i) => acc ? wrap(acc, i.decode) : i.decode, void 0); + const encode = Array.from(args) + .reverse() + .reduce((acc, i) => (acc ? wrap(acc, i.encode) : i.encode), void 0); + const decode2 = args.reduce( + (acc, i) => (acc ? wrap(acc, i.decode) : i.decode), + void 0 + ); return { encode, decode: decode2 }; } function alphabet(alphabet2) { return { encode: (digits) => { - if (!Array.isArray(digits) || digits.length && typeof digits[0] !== "number") - throw new Error("alphabet.encode input should be an array of numbers"); + if ( + !Array.isArray(digits) || + (digits.length && typeof digits[0] !== "number") + ) + throw new Error( + "alphabet.encode input should be an array of numbers" + ); return digits.map((i) => { assertNumber(i); if (i < 0 || i >= alphabet2.length) - throw new Error(`Digit index outside alphabet: ${i} (alphabet: ${alphabet2.length})`); + throw new Error( + `Digit index outside alphabet: ${i} (alphabet: ${alphabet2.length})` + ); return alphabet2[i]; }); }, decode: (input) => { - if (!Array.isArray(input) || input.length && typeof input[0] !== "string") + if ( + !Array.isArray(input) || + (input.length && typeof input[0] !== "string") + ) throw new Error("alphabet.decode input should be array of strings"); return input.map((letter) => { if (typeof letter !== "string") throw new Error(`alphabet.decode: not string element=${letter}`); const index = alphabet2.indexOf(letter); if (index === -1) - throw new Error(`Unknown letter: "${letter}". Allowed: ${alphabet2}`); + throw new Error( + `Unknown letter: "${letter}". Allowed: ${alphabet2}` + ); return index; }); - } + }, }; } function join(separator = "") { @@ -6756,7 +7170,10 @@ zoo`.split("\n"); throw new Error("join separator should be string"); return { encode: (from) => { - if (!Array.isArray(from) || from.length && typeof from[0] !== "string") + if ( + !Array.isArray(from) || + (from.length && typeof from[0] !== "string") + ) throw new Error("join.encode input should be array of strings"); for (let i of from) if (typeof i !== "string") @@ -6767,7 +7184,7 @@ zoo`.split("\n"); if (typeof to !== "string") throw new Error("join.decode input should be string"); return to.split(separator); - } + }, }; } function padding(bits, chr = "=") { @@ -6776,30 +7193,37 @@ zoo`.split("\n"); throw new Error("padding chr should be string"); return { encode(data) { - if (!Array.isArray(data) || data.length && typeof data[0] !== "string") + if ( + !Array.isArray(data) || + (data.length && typeof data[0] !== "string") + ) throw new Error("padding.encode input should be array of strings"); for (let i of data) if (typeof i !== "string") throw new Error(`padding.encode: non-string input=${i}`); - while (data.length * bits % 8) - data.push(chr); + while ((data.length * bits) % 8) data.push(chr); return data; }, decode(input) { - if (!Array.isArray(input) || input.length && typeof input[0] !== "string") + if ( + !Array.isArray(input) || + (input.length && typeof input[0] !== "string") + ) throw new Error("padding.encode input should be array of strings"); for (let i of input) if (typeof i !== "string") throw new Error(`padding.decode: non-string input=${i}`); let end = input.length; - if (end * bits % 8) - throw new Error("Invalid padding: string should have whole number of bytes"); + if ((end * bits) % 8) + throw new Error( + "Invalid padding: string should have whole number of bytes" + ); for (; end > 0 && input[end - 1] === chr; end--) { - if (!((end - 1) * bits % 8)) + if (!(((end - 1) * bits) % 8)) throw new Error("Invalid padding: string has too much padding"); } return input.slice(0, end); - } + }, }; } function normalize(fn) { @@ -6809,20 +7233,22 @@ zoo`.split("\n"); } function convertRadix(data, from, to) { if (from < 2) - throw new Error(`convertRadix: wrong from=${from}, base cannot be less than 2`); + throw new Error( + `convertRadix: wrong from=${from}, base cannot be less than 2` + ); if (to < 2) - throw new Error(`convertRadix: wrong to=${to}, base cannot be less than 2`); + throw new Error( + `convertRadix: wrong to=${to}, base cannot be less than 2` + ); if (!Array.isArray(data)) throw new Error("convertRadix: data should be array"); - if (!data.length) - return []; + if (!data.length) return []; let pos = 0; const res = []; const digits = Array.from(data); digits.forEach((d) => { assertNumber(d); - if (d < 0 || d >= from) - throw new Error(`Wrong integer: ${d}`); + if (d < 0 || d >= from) throw new Error(`Wrong integer: ${d}`); }); while (true) { let carry = 0; @@ -6830,39 +7256,45 @@ zoo`.split("\n"); for (let i = pos; i < digits.length; i++) { const digit = digits[i]; const digitBase = from * carry + digit; - if (!Number.isSafeInteger(digitBase) || from * carry / from !== carry || digitBase - digit !== from * carry) { + if ( + !Number.isSafeInteger(digitBase) || + (from * carry) / from !== carry || + digitBase - digit !== from * carry + ) { throw new Error("convertRadix: carry overflow"); } carry = digitBase % to; digits[i] = Math.floor(digitBase / to); - if (!Number.isSafeInteger(digits[i]) || digits[i] * to + carry !== digitBase) + if ( + !Number.isSafeInteger(digits[i]) || + digits[i] * to + carry !== digitBase + ) throw new Error("convertRadix: carry overflow"); - if (!done) - continue; - else if (!digits[i]) - pos = i; - else - done = false; + if (!done) continue; + else if (!digits[i]) pos = i; + else done = false; } res.push(carry); - if (done) - break; + if (done) break; } - for (let i = 0; i < data.length - 1 && data[i] === 0; i++) - res.push(0); + for (let i = 0; i < data.length - 1 && data[i] === 0; i++) res.push(0); return res.reverse(); } - var gcd = (a, b) => !b ? a : gcd(b, a % b); + var gcd = (a, b) => (!b ? a : gcd(b, a % b)); var radix2carry = (from, to) => from + (to - gcd(from, to)); function convertRadix2(data, from, to, padding2) { if (!Array.isArray(data)) throw new Error("convertRadix2: data should be array"); if (from <= 0 || from > 32) throw new Error(`convertRadix2: wrong from=${from}`); - if (to <= 0 || to > 32) - throw new Error(`convertRadix2: wrong to=${to}`); + if (to <= 0 || to > 32) throw new Error(`convertRadix2: wrong to=${to}`); if (radix2carry(from, to) > 32) { - throw new Error(`convertRadix2: carry overflow from=${from} to=${to} carryBits=${radix2carry(from, to)}`); + throw new Error( + `convertRadix2: carry overflow from=${from} to=${to} carryBits=${radix2carry( + from, + to + )}` + ); } let carry = 0; let pos = 0; @@ -6872,21 +7304,20 @@ zoo`.split("\n"); assertNumber(n); if (n >= 2 ** from) throw new Error(`convertRadix2: invalid data word=${n} from=${from}`); - carry = carry << from | n; + carry = (carry << from) | n; if (pos + from > 32) - throw new Error(`convertRadix2: carry overflow pos=${pos} from=${from}`); + throw new Error( + `convertRadix2: carry overflow pos=${pos} from=${from}` + ); pos += from; for (; pos >= to; pos -= to) - res.push((carry >> pos - to & mask) >>> 0); + res.push(((carry >> (pos - to)) & mask) >>> 0); carry &= 2 ** pos - 1; } - carry = carry << to - pos & mask; - if (!padding2 && pos >= from) - throw new Error("Excess padding"); - if (!padding2 && carry) - throw new Error(`Non-zero padding: ${carry}`); - if (padding2 && pos > 0) - res.push(carry >>> 0); + carry = (carry << (to - pos)) & mask; + if (!padding2 && pos >= from) throw new Error("Excess padding"); + if (!padding2 && carry) throw new Error(`Non-zero padding: ${carry}`); + if (padding2 && pos > 0) res.push(carry >>> 0); return res; } function radix(num) { @@ -6898,10 +7329,13 @@ zoo`.split("\n"); return convertRadix(Array.from(bytes2), 2 ** 8, num); }, decode: (digits) => { - if (!Array.isArray(digits) || digits.length && typeof digits[0] !== "number") + if ( + !Array.isArray(digits) || + (digits.length && typeof digits[0] !== "number") + ) throw new Error("radix.decode input should be array of strings"); return Uint8Array.from(convertRadix(digits, num, 2 ** 8)); - } + }, }; } function radix2(bits, revPadding = false) { @@ -6917,20 +7351,22 @@ zoo`.split("\n"); return convertRadix2(Array.from(bytes2), 8, bits, !revPadding); }, decode: (digits) => { - if (!Array.isArray(digits) || digits.length && typeof digits[0] !== "number") + if ( + !Array.isArray(digits) || + (digits.length && typeof digits[0] !== "number") + ) throw new Error("radix2.decode input should be array of strings"); return Uint8Array.from(convertRadix2(digits, bits, 8, revPadding)); - } + }, }; } function unsafeWrapper(fn) { if (typeof fn !== "function") throw new Error("unsafeWrapper fn should be function"); - return function(...args) { + return function (...args) { try { return fn.apply(null, args); - } catch (e) { - } + } catch (e) {} }; } function checksum(len, fn) { @@ -6957,19 +7393,54 @@ zoo`.split("\n"); if (newChecksum[i] !== oldChecksum[i]) throw new Error("Invalid checksum"); return payload; - } + }, }; } var base16 = chain(radix2(4), alphabet("0123456789ABCDEF"), join("")); - var base32 = chain(radix2(5), alphabet("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"), padding(5), join("")); - var base32hex = chain(radix2(5), alphabet("0123456789ABCDEFGHIJKLMNOPQRSTUV"), padding(5), join("")); - var base32crockford = chain(radix2(5), alphabet("0123456789ABCDEFGHJKMNPQRSTVWXYZ"), join(""), normalize((s) => s.toUpperCase().replace(/O/g, "0").replace(/[IL]/g, "1"))); - var base64 = chain(radix2(6), alphabet("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"), padding(6), join("")); - var base64url = chain(radix2(6), alphabet("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"), padding(6), join("")); + var base32 = chain( + radix2(5), + alphabet("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"), + padding(5), + join("") + ); + var base32hex = chain( + radix2(5), + alphabet("0123456789ABCDEFGHIJKLMNOPQRSTUV"), + padding(5), + join("") + ); + var base32crockford = chain( + radix2(5), + alphabet("0123456789ABCDEFGHJKMNPQRSTVWXYZ"), + join(""), + normalize((s) => s.toUpperCase().replace(/O/g, "0").replace(/[IL]/g, "1")) + ); + var base64 = chain( + radix2(6), + alphabet( + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" + ), + padding(6), + join("") + ); + var base64url = chain( + radix2(6), + alphabet( + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_" + ), + padding(6), + join("") + ); var genBase58 = (abc) => chain(radix(58), alphabet(abc), join("")); - var base58 = genBase58("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"); - var base58flickr = genBase58("123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"); - var base58xrp = genBase58("rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz"); + var base58 = genBase58( + "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz" + ); + var base58flickr = genBase58( + "123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ" + ); + var base58xrp = genBase58( + "rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz" + ); var XMR_BLOCK_LEN = [0, 2, 3, 5, 6, 7, 9, 10, 11]; var base58xmr = { encode(data) { @@ -6987,23 +7458,30 @@ zoo`.split("\n"); const blockLen = XMR_BLOCK_LEN.indexOf(slice.length); const block = base58.decode(slice); for (let j = 0; j < block.length - blockLen; j++) { - if (block[j] !== 0) - throw new Error("base58xmr: wrong padding"); + if (block[j] !== 0) throw new Error("base58xmr: wrong padding"); } res = res.concat(Array.from(block.slice(block.length - blockLen))); } return Uint8Array.from(res); - } + }, }; - var base58check = (sha2562) => chain(checksum(4, (data) => sha2562(sha2562(data))), base58); - var BECH_ALPHABET = chain(alphabet("qpzry9x8gf2tvdw0s3jn54khce6mua7l"), join("")); - var POLYMOD_GENERATORS = [996825010, 642813549, 513874426, 1027748829, 705979059]; + var base58check = (sha2562) => + chain( + checksum(4, (data) => sha2562(sha2562(data))), + base58 + ); + var BECH_ALPHABET = chain( + alphabet("qpzry9x8gf2tvdw0s3jn54khce6mua7l"), + join("") + ); + var POLYMOD_GENERATORS = [ + 996825010, 642813549, 513874426, 1027748829, 705979059, + ]; function bech32Polymod(pre) { const b = pre >> 25; let chk = (pre & 33554431) << 5; for (let i = 0; i < POLYMOD_GENERATORS.length; i++) { - if ((b >> i & 1) === 1) - chk ^= POLYMOD_GENERATORS[i]; + if (((b >> i) & 1) === 1) chk ^= POLYMOD_GENERATORS[i]; } return chk; } @@ -7012,17 +7490,14 @@ zoo`.split("\n"); let chk = 1; for (let i = 0; i < len; i++) { const c = prefix.charCodeAt(i); - if (c < 33 || c > 126) - throw new Error(`Invalid prefix (${prefix})`); - chk = bech32Polymod(chk) ^ c >> 5; + if (c < 33 || c > 126) throw new Error(`Invalid prefix (${prefix})`); + chk = bech32Polymod(chk) ^ (c >> 5); } chk = bech32Polymod(chk); for (let i = 0; i < len; i++) - chk = bech32Polymod(chk) ^ prefix.charCodeAt(i) & 31; - for (let v of words) - chk = bech32Polymod(chk) ^ v; - for (let i = 0; i < 6; i++) - chk = bech32Polymod(chk); + chk = bech32Polymod(chk) ^ (prefix.charCodeAt(i) & 31); + for (let v of words) chk = bech32Polymod(chk) ^ v; + for (let i = 0; i < 6; i++) chk = bech32Polymod(chk); chk ^= encodingConst; return BECH_ALPHABET.encode(convertRadix2([chk % 2 ** 30], 30, 5, false)); } @@ -7034,27 +7509,44 @@ zoo`.split("\n"); const fromWordsUnsafe = unsafeWrapper(fromWords); function encode(prefix, words, limit = 90) { if (typeof prefix !== "string") - throw new Error(`bech32.encode prefix should be string, not ${typeof prefix}`); - if (!Array.isArray(words) || words.length && typeof words[0] !== "number") - throw new Error(`bech32.encode words should be array of numbers, not ${typeof words}`); + throw new Error( + `bech32.encode prefix should be string, not ${typeof prefix}` + ); + if ( + !Array.isArray(words) || + (words.length && typeof words[0] !== "number") + ) + throw new Error( + `bech32.encode words should be array of numbers, not ${typeof words}` + ); const actualLength = prefix.length + 7 + words.length; if (limit !== false && actualLength > limit) throw new TypeError(`Length ${actualLength} exceeds limit ${limit}`); prefix = prefix.toLowerCase(); - return `${prefix}1${BECH_ALPHABET.encode(words)}${bechChecksum(prefix, words, ENCODING_CONST)}`; + return `${prefix}1${BECH_ALPHABET.encode(words)}${bechChecksum( + prefix, + words, + ENCODING_CONST + )}`; } function decode2(str, limit = 90) { if (typeof str !== "string") - throw new Error(`bech32.decode input should be string, not ${typeof str}`); - if (str.length < 8 || limit !== false && str.length > limit) - throw new TypeError(`Wrong string length: ${str.length} (${str}). Expected (8..${limit})`); + throw new Error( + `bech32.decode input should be string, not ${typeof str}` + ); + if (str.length < 8 || (limit !== false && str.length > limit)) + throw new TypeError( + `Wrong string length: ${str.length} (${str}). Expected (8..${limit})` + ); const lowered = str.toLowerCase(); if (str !== lowered && str !== str.toUpperCase()) throw new Error(`String must be lowercase or uppercase`); str = lowered; const sepIndex = str.lastIndexOf("1"); if (sepIndex === 0 || sepIndex === -1) - throw new Error(`Letter "1" must be present between prefix and data only`); + throw new Error( + `Letter "1" must be present between prefix and data only` + ); const prefix = str.slice(0, sepIndex); const _words2 = str.slice(sepIndex + 1); if (_words2.length < 6) @@ -7070,19 +7562,34 @@ zoo`.split("\n"); const { prefix, words } = decode2(str, false); return { prefix, words, bytes: fromWords(words) }; } - return { encode, decode: decode2, decodeToBytes, decodeUnsafe, fromWords, fromWordsUnsafe, toWords }; + return { + encode, + decode: decode2, + decodeToBytes, + decodeUnsafe, + fromWords, + fromWordsUnsafe, + toWords, + }; } var bech32 = genBech32("bech32"); var bech32m = genBech32("bech32m"); var utf8 = { encode: (data) => new TextDecoder().decode(data), - decode: (str) => new TextEncoder().encode(str) + decode: (str) => new TextEncoder().encode(str), }; - var hex = chain(radix2(4), alphabet("0123456789abcdef"), join(""), normalize((s) => { - if (typeof s !== "string" || s.length % 2) - throw new TypeError(`hex.decode: expected string, got ${typeof s} with length ${s.length}`); - return s.toLowerCase(); - })); + var hex = chain( + radix2(4), + alphabet("0123456789abcdef"), + join(""), + normalize((s) => { + if (typeof s !== "string" || s.length % 2) + throw new TypeError( + `hex.decode: expected string, got ${typeof s} with length ${s.length}` + ); + return s.toLowerCase(); + }) + ); var CODERS = { utf8, hex, @@ -7091,9 +7598,11 @@ zoo`.split("\n"); base64, base64url, base58, - base58xmr + base58xmr, }; - var coderTypeError = `Invalid encoding type. Available types: ${Object.keys(CODERS).join(", ")}`; + var coderTypeError = `Invalid encoding type. Available types: ${Object.keys( + CODERS + ).join(", ")}`; // nip19.ts var Bech32MaxSize = 5e3; @@ -7104,22 +7613,20 @@ zoo`.split("\n"); switch (prefix) { case "nprofile": { let tlv = parseTLV(data); - if (!tlv[0]?.[0]) - throw new Error("missing TLV 0 for nprofile"); + if (!tlv[0]?.[0]) throw new Error("missing TLV 0 for nprofile"); if (tlv[0][0].length !== 32) throw new Error("TLV 0 should be 32 bytes"); return { type: "nprofile", data: { pubkey: bytesToHex(tlv[0][0]), - relays: tlv[1] ? tlv[1].map((d) => utf8Decoder.decode(d)) : [] - } + relays: tlv[1] ? tlv[1].map((d) => utf8Decoder.decode(d)) : [], + }, }; } case "nevent": { let tlv = parseTLV(data); - if (!tlv[0]?.[0]) - throw new Error("missing TLV 0 for nevent"); + if (!tlv[0]?.[0]) throw new Error("missing TLV 0 for nevent"); if (tlv[0][0].length !== 32) throw new Error("TLV 0 should be 32 bytes"); if (tlv[2] && tlv[2][0].length !== 32) @@ -7129,39 +7636,34 @@ zoo`.split("\n"); data: { id: bytesToHex(tlv[0][0]), relays: tlv[1] ? tlv[1].map((d) => utf8Decoder.decode(d)) : [], - author: tlv[2]?.[0] ? bytesToHex(tlv[2][0]) : void 0 - } + author: tlv[2]?.[0] ? bytesToHex(tlv[2][0]) : void 0, + }, }; } case "naddr": { let tlv = parseTLV(data); - if (!tlv[0]?.[0]) - throw new Error("missing TLV 0 for naddr"); - if (!tlv[2]?.[0]) - throw new Error("missing TLV 2 for naddr"); + if (!tlv[0]?.[0]) throw new Error("missing TLV 0 for naddr"); + if (!tlv[2]?.[0]) throw new Error("missing TLV 2 for naddr"); if (tlv[2][0].length !== 32) throw new Error("TLV 2 should be 32 bytes"); - if (!tlv[3]?.[0]) - throw new Error("missing TLV 3 for naddr"); - if (tlv[3][0].length !== 4) - throw new Error("TLV 3 should be 4 bytes"); + if (!tlv[3]?.[0]) throw new Error("missing TLV 3 for naddr"); + if (tlv[3][0].length !== 4) throw new Error("TLV 3 should be 4 bytes"); return { type: "naddr", data: { identifier: utf8Decoder.decode(tlv[0][0]), pubkey: bytesToHex(tlv[2][0]), kind: parseInt(bytesToHex(tlv[3][0]), 16), - relays: tlv[1] ? tlv[1].map((d) => utf8Decoder.decode(d)) : [] - } + relays: tlv[1] ? tlv[1].map((d) => utf8Decoder.decode(d)) : [], + }, }; } case "nrelay": { let tlv = parseTLV(data); - if (!tlv[0]?.[0]) - throw new Error("missing TLV 0 for nrelay"); + if (!tlv[0]?.[0]) throw new Error("missing TLV 0 for nrelay"); return { type: "nrelay", - data: utf8Decoder.decode(tlv[0][0]) + data: utf8Decoder.decode(tlv[0][0]), }; } case "nsec": @@ -7178,12 +7680,10 @@ zoo`.split("\n"); while (rest.length > 0) { let t = rest[0]; let l = rest[1]; - if (!l) - throw new Error(`malformed TLV ${t}`); + if (!l) throw new Error(`malformed TLV ${t}`); let v = rest.slice(2, 2 + l); rest = rest.slice(2 + l); - if (v.length < l) - throw new Error(`not enough data to read on TLV ${t}`); + if (v.length < l) throw new Error(`not enough data to read on TLV ${t}`); result[t] = result[t] || []; result[t].push(v); } @@ -7209,7 +7709,7 @@ zoo`.split("\n"); function nprofileEncode(profile) { let data = encodeTLV({ 0: [hexToBytes(profile.pubkey)], - 1: (profile.relays || []).map((url) => utf8Encoder.encode(url)) + 1: (profile.relays || []).map((url) => utf8Encoder.encode(url)), }); return encodeBech32("nprofile", data); } @@ -7217,7 +7717,7 @@ zoo`.split("\n"); let data = encodeTLV({ 0: [hexToBytes(event.id)], 1: (event.relays || []).map((url) => utf8Encoder.encode(url)), - 2: event.author ? [hexToBytes(event.author)] : [] + 2: event.author ? [hexToBytes(event.author)] : [], }); return encodeBech32("nevent", data); } @@ -7228,13 +7728,13 @@ zoo`.split("\n"); 0: [utf8Encoder.encode(addr.identifier)], 1: (addr.relays || []).map((url) => utf8Encoder.encode(url)), 2: [hexToBytes(addr.pubkey)], - 3: [new Uint8Array(kind)] + 3: [new Uint8Array(kind)], }); return encodeBech32("naddr", data); } function nrelayEncode(url) { let data = encodeTLV({ - 0: [utf8Encoder.encode(url)] + 0: [utf8Encoder.encode(url)], }); return encodeBech32("nrelay", data); } @@ -7253,7 +7753,8 @@ zoo`.split("\n"); } // references.ts - var mentionRegex = /\bnostr:((note|npub|naddr|nevent|nprofile)1\w+)\b|#\[(\d+)\]/g; + var mentionRegex = + /\bnostr:((note|npub|naddr|nevent|nprofile)1\w+)\b|#\[(\d+)\]/g; function parseReferences(evt) { let references = []; for (let ref of evt.content.matchAll(mentionRegex)) { @@ -7264,58 +7765,56 @@ zoo`.split("\n"); case "npub": { references.push({ text: ref[0], - profile: { pubkey: data, relays: [] } + profile: { pubkey: data, relays: [] }, }); break; } case "nprofile": { references.push({ text: ref[0], - profile: data + profile: data, }); break; } case "note": { references.push({ text: ref[0], - event: { id: data, relays: [] } + event: { id: data, relays: [] }, }); break; } case "nevent": { references.push({ text: ref[0], - event: data + event: data, }); break; } case "naddr": { references.push({ text: ref[0], - address: data + address: data, }); break; } } - } catch (err) { - } + } catch (err) {} } else if (ref[3]) { let idx = parseInt(ref[3], 10); let tag = evt.tags[idx]; - if (!tag) - continue; + if (!tag) continue; switch (tag[0]) { case "p": { references.push({ text: ref[0], - profile: { pubkey: tag[1], relays: tag[2] ? [tag[2]] : [] } + profile: { pubkey: tag[1], relays: tag[2] ? [tag[2]] : [] }, }); break; } case "e": { references.push({ text: ref[0], - event: { id: tag[1], relays: tag[2] ? [tag[2]] : [] } + event: { id: tag[1], relays: tag[2] ? [tag[2]] : [] }, }); break; } @@ -7328,11 +7827,10 @@ zoo`.split("\n"); identifier, pubkey, kind: parseInt(kind, 10), - relays: tag[2] ? [tag[2]] : [] - } + relays: tag[2] ? [tag[2]] : [], + }, }); - } catch (err) { - } + } catch (err) {} break; } } @@ -7345,7 +7843,7 @@ zoo`.split("\n"); var nip04_exports = {}; __export(nip04_exports, { decrypt: () => decrypt, - encrypt: () => encrypt + encrypt: () => encrypt, }); init_define_process(); if (typeof crypto !== "undefined" && !crypto.subtle && crypto.webcrypto) { @@ -7403,21 +7901,22 @@ zoo`.split("\n"); NIP05_REGEX: () => NIP05_REGEX, queryProfile: () => queryProfile, searchDomain: () => searchDomain, - useFetchImplementation: () => useFetchImplementation + useFetchImplementation: () => useFetchImplementation, }); init_define_process(); var NIP05_REGEX = /^(?:([\w.+-]+)@)?([\w.-]+)$/; var _fetch; try { _fetch = fetch; - } catch { - } + } catch {} function useFetchImplementation(fetchImplementation) { _fetch = fetchImplementation; } async function searchDomain(domain, query = "") { try { - let res = await (await _fetch(`https://${domain}/.well-known/nostr.json?name=${query}`)).json(); + let res = await ( + await _fetch(`https://${domain}/.well-known/nostr.json?name=${query}`) + ).json(); return res.names; } catch (_) { return {}; @@ -7425,11 +7924,12 @@ zoo`.split("\n"); } async function queryProfile(fullname) { const match = fullname.match(NIP05_REGEX); - if (!match) - return null; + if (!match) return null; const [_, name = "_", domain] = match; try { - const res = await _fetch(`https://${domain}/.well-known/nostr.json?name=${name}`); + const res = await _fetch( + `https://${domain}/.well-known/nostr.json?name=${name}` + ); const { names, relays } = parseNIP05Result(await res.json()); const pubkey = names[name]; return pubkey ? { pubkey, relays: relays?.[pubkey] } : null; @@ -7439,7 +7939,7 @@ zoo`.split("\n"); } function parseNIP05Result(json) { const result = { - names: {} + names: {}, }; for (const [name, pubkey] of Object.entries(json.names)) { if (typeof name === "string" && typeof pubkey === "string") { @@ -7450,7 +7950,9 @@ zoo`.split("\n"); result.relays = {}; for (const [pubkey, relays] of Object.entries(json.relays)) { if (typeof pubkey === "string" && Array.isArray(relays)) { - result.relays[pubkey] = relays.filter((relay) => typeof relay === "string"); + result.relays[pubkey] = relays.filter( + (relay) => typeof relay === "string" + ); } } } @@ -7462,7 +7964,7 @@ zoo`.split("\n"); __export(nip06_exports, { generateSeedWords: () => generateSeedWords, privateKeyFromSeedWords: () => privateKeyFromSeedWords, - validateWords: () => validateWords + validateWords: () => validateWords, }); init_define_process(); var import_english = __toESM(require_english()); @@ -7473,37 +7975,33 @@ zoo`.split("\n"); // node_modules/@noble/hashes/esm/ripemd160.js init_define_process(); - var Rho = new Uint8Array([7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8]); + var Rho = new Uint8Array([ + 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, + ]); var Id = Uint8Array.from({ length: 16 }, (_, i) => i); var Pi = Id.map((i) => (9 * i + 5) % 16); var idxL = [Id]; var idxR = [Pi]; for (let i = 0; i < 4; i++) - for (let j of [idxL, idxR]) - j.push(j[i].map((k) => Rho[k])); + for (let j of [idxL, idxR]) j.push(j[i].map((k) => Rho[k])); var shifts = [ [11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8], [12, 13, 11, 15, 6, 9, 9, 7, 12, 15, 11, 13, 7, 8, 7, 7], [13, 15, 14, 11, 7, 7, 6, 8, 13, 14, 13, 12, 5, 5, 6, 9], [14, 11, 12, 14, 8, 6, 5, 5, 15, 12, 15, 14, 9, 9, 8, 6], - [15, 12, 13, 13, 9, 5, 8, 6, 14, 11, 12, 11, 8, 6, 5, 5] + [15, 12, 13, 13, 9, 5, 8, 6, 14, 11, 12, 11, 8, 6, 5, 5], ].map((i) => new Uint8Array(i)); var shiftsL = idxL.map((idx, i) => idx.map((j) => shifts[i][j])); var shiftsR = idxR.map((idx, i) => idx.map((j) => shifts[i][j])); var Kl = new Uint32Array([0, 1518500249, 1859775393, 2400959708, 2840853838]); var Kr = new Uint32Array([1352829926, 1548603684, 1836072691, 2053994217, 0]); - var rotl = (word, shift) => word << shift | word >>> 32 - shift; + var rotl = (word, shift) => (word << shift) | (word >>> (32 - shift)); function f(group, x, y, z) { - if (group === 0) - return x ^ y ^ z; - else if (group === 1) - return x & y | ~x & z; - else if (group === 2) - return (x | ~y) ^ z; - else if (group === 3) - return x & z | y & ~z; - else - return x ^ (y | ~z); + if (group === 0) return x ^ y ^ z; + else if (group === 1) return (x & y) | (~x & z); + else if (group === 2) return (x | ~y) ^ z; + else if (group === 3) return (x & z) | (y & ~z); + else return x ^ (y | ~z); } var BUF = new Uint32Array(16); var RIPEMD160 = class extends SHA2 { @@ -7529,22 +8027,44 @@ zoo`.split("\n"); process(view, offset) { for (let i = 0; i < 16; i++, offset += 4) BUF[i] = view.getUint32(offset, true); - let al = this.h0 | 0, ar = al, bl = this.h1 | 0, br = bl, cl = this.h2 | 0, cr = cl, dl = this.h3 | 0, dr = dl, el = this.h4 | 0, er = el; + let al = this.h0 | 0, + ar = al, + bl = this.h1 | 0, + br = bl, + cl = this.h2 | 0, + cr = cl, + dl = this.h3 | 0, + dr = dl, + el = this.h4 | 0, + er = el; for (let group = 0; group < 5; group++) { const rGroup = 4 - group; - const hbl = Kl[group], hbr = Kr[group]; - const rl = idxL[group], rr = idxR[group]; - const sl = shiftsL[group], sr = shiftsR[group]; + const hbl = Kl[group], + hbr = Kr[group]; + const rl = idxL[group], + rr = idxR[group]; + const sl = shiftsL[group], + sr = shiftsR[group]; for (let i = 0; i < 16; i++) { - const tl = rotl(al + f(group, bl, cl, dl) + BUF[rl[i]] + hbl, sl[i]) + el | 0; - al = el, el = dl, dl = rotl(cl, 10) | 0, cl = bl, bl = tl; + const tl = + (rotl(al + f(group, bl, cl, dl) + BUF[rl[i]] + hbl, sl[i]) + el) | + 0; + (al = el), (el = dl), (dl = rotl(cl, 10) | 0), (cl = bl), (bl = tl); } for (let i = 0; i < 16; i++) { - const tr = rotl(ar + f(rGroup, br, cr, dr) + BUF[rr[i]] + hbr, sr[i]) + er | 0; - ar = er, er = dr, dr = rotl(cr, 10) | 0, cr = br, br = tr; + const tr = + (rotl(ar + f(rGroup, br, cr, dr) + BUF[rr[i]] + hbr, sr[i]) + er) | + 0; + (ar = er), (er = dr), (dr = rotl(cr, 10) | 0), (cr = br), (br = tr); } } - this.set(this.h1 + cl + dr | 0, this.h2 + dl + er | 0, this.h3 + el + ar | 0, this.h4 + al + br | 0, this.h0 + bl + cr | 0); + this.set( + (this.h1 + cl + dr) | 0, + (this.h2 + dl + er) | 0, + (this.h3 + el + ar) | 0, + (this.h4 + al + br) | 0, + (this.h0 + bl + cr) | 0 + ); } roundClean() { BUF.fill(0); @@ -7566,8 +8086,11 @@ zoo`.split("\n"); var _32n = BigInt(32); function fromBig(n, le = false) { if (le) - return { h: Number(n & U32_MASK64), l: Number(n >> _32n & U32_MASK64) }; - return { h: Number(n >> _32n & U32_MASK64) | 0, l: Number(n & U32_MASK64) | 0 }; + return { h: Number(n & U32_MASK64), l: Number((n >> _32n) & U32_MASK64) }; + return { + h: Number((n >> _32n) & U32_MASK64) | 0, + l: Number(n & U32_MASK64) | 0, + }; } function split(lst, le = false) { let Ah = new Uint32Array(lst.length); @@ -7578,29 +8101,33 @@ zoo`.split("\n"); } return [Ah, Al]; } - var toBig = (h, l) => BigInt(h >>> 0) << _32n | BigInt(l >>> 0); + var toBig = (h, l) => (BigInt(h >>> 0) << _32n) | BigInt(l >>> 0); var shrSH = (h, l, s) => h >>> s; - var shrSL = (h, l, s) => h << 32 - s | l >>> s; - var rotrSH = (h, l, s) => h >>> s | l << 32 - s; - var rotrSL = (h, l, s) => h << 32 - s | l >>> s; - var rotrBH = (h, l, s) => h << 64 - s | l >>> s - 32; - var rotrBL = (h, l, s) => h >>> s - 32 | l << 64 - s; + var shrSL = (h, l, s) => (h << (32 - s)) | (l >>> s); + var rotrSH = (h, l, s) => (h >>> s) | (l << (32 - s)); + var rotrSL = (h, l, s) => (h << (32 - s)) | (l >>> s); + var rotrBH = (h, l, s) => (h << (64 - s)) | (l >>> (s - 32)); + var rotrBL = (h, l, s) => (h >>> (s - 32)) | (l << (64 - s)); var rotr32H = (h, l) => l; var rotr32L = (h, l) => h; - var rotlSH = (h, l, s) => h << s | l >>> 32 - s; - var rotlSL = (h, l, s) => l << s | h >>> 32 - s; - var rotlBH = (h, l, s) => l << s - 32 | h >>> 64 - s; - var rotlBL = (h, l, s) => h << s - 32 | l >>> 64 - s; + var rotlSH = (h, l, s) => (h << s) | (l >>> (32 - s)); + var rotlSL = (h, l, s) => (l << s) | (h >>> (32 - s)); + var rotlBH = (h, l, s) => (l << (s - 32)) | (h >>> (64 - s)); + var rotlBL = (h, l, s) => (h << (s - 32)) | (l >>> (64 - s)); function add(Ah, Al, Bh, Bl) { const l = (Al >>> 0) + (Bl >>> 0); - return { h: Ah + Bh + (l / 2 ** 32 | 0) | 0, l: l | 0 }; + return { h: (Ah + Bh + ((l / 2 ** 32) | 0)) | 0, l: l | 0 }; } var add3L = (Al, Bl, Cl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0); - var add3H = (low, Ah, Bh, Ch) => Ah + Bh + Ch + (low / 2 ** 32 | 0) | 0; - var add4L = (Al, Bl, Cl, Dl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0); - var add4H = (low, Ah, Bh, Ch, Dh) => Ah + Bh + Ch + Dh + (low / 2 ** 32 | 0) | 0; - var add5L = (Al, Bl, Cl, Dl, El) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0) + (El >>> 0); - var add5H = (low, Ah, Bh, Ch, Dh, Eh) => Ah + Bh + Ch + Dh + Eh + (low / 2 ** 32 | 0) | 0; + var add3H = (low, Ah, Bh, Ch) => (Ah + Bh + Ch + ((low / 2 ** 32) | 0)) | 0; + var add4L = (Al, Bl, Cl, Dl) => + (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0); + var add4H = (low, Ah, Bh, Ch, Dh) => + (Ah + Bh + Ch + Dh + ((low / 2 ** 32) | 0)) | 0; + var add5L = (Al, Bl, Cl, Dl, El) => + (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0) + (El >>> 0); + var add5H = (low, Ah, Bh, Ch, Dh, Eh) => + (Ah + Bh + Ch + Dh + Eh + ((low / 2 ** 32) | 0)) | 0; var u64 = { fromBig, split, @@ -7623,93 +8150,95 @@ zoo`.split("\n"); add4L, add4H, add5H, - add5L + add5L, }; var u64_default = u64; // node_modules/@noble/hashes/esm/sha512.js - var [SHA512_Kh, SHA512_Kl] = u64_default.split([ - "0x428a2f98d728ae22", - "0x7137449123ef65cd", - "0xb5c0fbcfec4d3b2f", - "0xe9b5dba58189dbbc", - "0x3956c25bf348b538", - "0x59f111f1b605d019", - "0x923f82a4af194f9b", - "0xab1c5ed5da6d8118", - "0xd807aa98a3030242", - "0x12835b0145706fbe", - "0x243185be4ee4b28c", - "0x550c7dc3d5ffb4e2", - "0x72be5d74f27b896f", - "0x80deb1fe3b1696b1", - "0x9bdc06a725c71235", - "0xc19bf174cf692694", - "0xe49b69c19ef14ad2", - "0xefbe4786384f25e3", - "0x0fc19dc68b8cd5b5", - "0x240ca1cc77ac9c65", - "0x2de92c6f592b0275", - "0x4a7484aa6ea6e483", - "0x5cb0a9dcbd41fbd4", - "0x76f988da831153b5", - "0x983e5152ee66dfab", - "0xa831c66d2db43210", - "0xb00327c898fb213f", - "0xbf597fc7beef0ee4", - "0xc6e00bf33da88fc2", - "0xd5a79147930aa725", - "0x06ca6351e003826f", - "0x142929670a0e6e70", - "0x27b70a8546d22ffc", - "0x2e1b21385c26c926", - "0x4d2c6dfc5ac42aed", - "0x53380d139d95b3df", - "0x650a73548baf63de", - "0x766a0abb3c77b2a8", - "0x81c2c92e47edaee6", - "0x92722c851482353b", - "0xa2bfe8a14cf10364", - "0xa81a664bbc423001", - "0xc24b8b70d0f89791", - "0xc76c51a30654be30", - "0xd192e819d6ef5218", - "0xd69906245565a910", - "0xf40e35855771202a", - "0x106aa07032bbd1b8", - "0x19a4c116b8d2d0c8", - "0x1e376c085141ab53", - "0x2748774cdf8eeb99", - "0x34b0bcb5e19b48a8", - "0x391c0cb3c5c95a63", - "0x4ed8aa4ae3418acb", - "0x5b9cca4f7763e373", - "0x682e6ff3d6b2b8a3", - "0x748f82ee5defb2fc", - "0x78a5636f43172f60", - "0x84c87814a1f0ab72", - "0x8cc702081a6439ec", - "0x90befffa23631e28", - "0xa4506cebde82bde9", - "0xbef9a3f7b2c67915", - "0xc67178f2e372532b", - "0xca273eceea26619c", - "0xd186b8c721c0c207", - "0xeada7dd6cde0eb1e", - "0xf57d4f7fee6ed178", - "0x06f067aa72176fba", - "0x0a637dc5a2c898a6", - "0x113f9804bef90dae", - "0x1b710b35131c471b", - "0x28db77f523047d84", - "0x32caab7b40c72493", - "0x3c9ebe0a15c9bebc", - "0x431d67c49c100d4c", - "0x4cc5d4becb3e42b6", - "0x597f299cfc657e2a", - "0x5fcb6fab3ad6faec", - "0x6c44198c4a475817" - ].map((n) => BigInt(n))); + var [SHA512_Kh, SHA512_Kl] = u64_default.split( + [ + "0x428a2f98d728ae22", + "0x7137449123ef65cd", + "0xb5c0fbcfec4d3b2f", + "0xe9b5dba58189dbbc", + "0x3956c25bf348b538", + "0x59f111f1b605d019", + "0x923f82a4af194f9b", + "0xab1c5ed5da6d8118", + "0xd807aa98a3030242", + "0x12835b0145706fbe", + "0x243185be4ee4b28c", + "0x550c7dc3d5ffb4e2", + "0x72be5d74f27b896f", + "0x80deb1fe3b1696b1", + "0x9bdc06a725c71235", + "0xc19bf174cf692694", + "0xe49b69c19ef14ad2", + "0xefbe4786384f25e3", + "0x0fc19dc68b8cd5b5", + "0x240ca1cc77ac9c65", + "0x2de92c6f592b0275", + "0x4a7484aa6ea6e483", + "0x5cb0a9dcbd41fbd4", + "0x76f988da831153b5", + "0x983e5152ee66dfab", + "0xa831c66d2db43210", + "0xb00327c898fb213f", + "0xbf597fc7beef0ee4", + "0xc6e00bf33da88fc2", + "0xd5a79147930aa725", + "0x06ca6351e003826f", + "0x142929670a0e6e70", + "0x27b70a8546d22ffc", + "0x2e1b21385c26c926", + "0x4d2c6dfc5ac42aed", + "0x53380d139d95b3df", + "0x650a73548baf63de", + "0x766a0abb3c77b2a8", + "0x81c2c92e47edaee6", + "0x92722c851482353b", + "0xa2bfe8a14cf10364", + "0xa81a664bbc423001", + "0xc24b8b70d0f89791", + "0xc76c51a30654be30", + "0xd192e819d6ef5218", + "0xd69906245565a910", + "0xf40e35855771202a", + "0x106aa07032bbd1b8", + "0x19a4c116b8d2d0c8", + "0x1e376c085141ab53", + "0x2748774cdf8eeb99", + "0x34b0bcb5e19b48a8", + "0x391c0cb3c5c95a63", + "0x4ed8aa4ae3418acb", + "0x5b9cca4f7763e373", + "0x682e6ff3d6b2b8a3", + "0x748f82ee5defb2fc", + "0x78a5636f43172f60", + "0x84c87814a1f0ab72", + "0x8cc702081a6439ec", + "0x90befffa23631e28", + "0xa4506cebde82bde9", + "0xbef9a3f7b2c67915", + "0xc67178f2e372532b", + "0xca273eceea26619c", + "0xd186b8c721c0c207", + "0xeada7dd6cde0eb1e", + "0xf57d4f7fee6ed178", + "0x06f067aa72176fba", + "0x0a637dc5a2c898a6", + "0x113f9804bef90dae", + "0x1b710b35131c471b", + "0x28db77f523047d84", + "0x32caab7b40c72493", + "0x3c9ebe0a15c9bebc", + "0x431d67c49c100d4c", + "0x4cc5d4becb3e42b6", + "0x597f299cfc657e2a", + "0x5fcb6fab3ad6faec", + "0x6c44198c4a475817", + ].map((n) => BigInt(n)) + ); var SHA512_W_H = new Uint32Array(80); var SHA512_W_L = new Uint32Array(80); var SHA512 = class extends SHA2 { @@ -7733,7 +8262,8 @@ zoo`.split("\n"); this.Hl = 327033209 | 0; } get() { - const { Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl } = this; + const { Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl } = + this; return [Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl]; } set(Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl) { @@ -7757,35 +8287,84 @@ zoo`.split("\n"); process(view, offset) { for (let i = 0; i < 16; i++, offset += 4) { SHA512_W_H[i] = view.getUint32(offset); - SHA512_W_L[i] = view.getUint32(offset += 4); + SHA512_W_L[i] = view.getUint32((offset += 4)); } for (let i = 16; i < 80; i++) { const W15h = SHA512_W_H[i - 15] | 0; const W15l = SHA512_W_L[i - 15] | 0; - const s0h = u64_default.rotrSH(W15h, W15l, 1) ^ u64_default.rotrSH(W15h, W15l, 8) ^ u64_default.shrSH(W15h, W15l, 7); - const s0l = u64_default.rotrSL(W15h, W15l, 1) ^ u64_default.rotrSL(W15h, W15l, 8) ^ u64_default.shrSL(W15h, W15l, 7); + const s0h = + u64_default.rotrSH(W15h, W15l, 1) ^ + u64_default.rotrSH(W15h, W15l, 8) ^ + u64_default.shrSH(W15h, W15l, 7); + const s0l = + u64_default.rotrSL(W15h, W15l, 1) ^ + u64_default.rotrSL(W15h, W15l, 8) ^ + u64_default.shrSL(W15h, W15l, 7); const W2h = SHA512_W_H[i - 2] | 0; const W2l = SHA512_W_L[i - 2] | 0; - const s1h = u64_default.rotrSH(W2h, W2l, 19) ^ u64_default.rotrBH(W2h, W2l, 61) ^ u64_default.shrSH(W2h, W2l, 6); - const s1l = u64_default.rotrSL(W2h, W2l, 19) ^ u64_default.rotrBL(W2h, W2l, 61) ^ u64_default.shrSL(W2h, W2l, 6); - const SUMl = u64_default.add4L(s0l, s1l, SHA512_W_L[i - 7], SHA512_W_L[i - 16]); - const SUMh = u64_default.add4H(SUMl, s0h, s1h, SHA512_W_H[i - 7], SHA512_W_H[i - 16]); + const s1h = + u64_default.rotrSH(W2h, W2l, 19) ^ + u64_default.rotrBH(W2h, W2l, 61) ^ + u64_default.shrSH(W2h, W2l, 6); + const s1l = + u64_default.rotrSL(W2h, W2l, 19) ^ + u64_default.rotrBL(W2h, W2l, 61) ^ + u64_default.shrSL(W2h, W2l, 6); + const SUMl = u64_default.add4L( + s0l, + s1l, + SHA512_W_L[i - 7], + SHA512_W_L[i - 16] + ); + const SUMh = u64_default.add4H( + SUMl, + s0h, + s1h, + SHA512_W_H[i - 7], + SHA512_W_H[i - 16] + ); SHA512_W_H[i] = SUMh | 0; SHA512_W_L[i] = SUMl | 0; } - let { Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl } = this; + let { Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl } = + this; for (let i = 0; i < 80; i++) { - const sigma1h = u64_default.rotrSH(Eh, El, 14) ^ u64_default.rotrSH(Eh, El, 18) ^ u64_default.rotrBH(Eh, El, 41); - const sigma1l = u64_default.rotrSL(Eh, El, 14) ^ u64_default.rotrSL(Eh, El, 18) ^ u64_default.rotrBL(Eh, El, 41); - const CHIh = Eh & Fh ^ ~Eh & Gh; - const CHIl = El & Fl ^ ~El & Gl; - const T1ll = u64_default.add5L(Hl, sigma1l, CHIl, SHA512_Kl[i], SHA512_W_L[i]); - const T1h = u64_default.add5H(T1ll, Hh, sigma1h, CHIh, SHA512_Kh[i], SHA512_W_H[i]); + const sigma1h = + u64_default.rotrSH(Eh, El, 14) ^ + u64_default.rotrSH(Eh, El, 18) ^ + u64_default.rotrBH(Eh, El, 41); + const sigma1l = + u64_default.rotrSL(Eh, El, 14) ^ + u64_default.rotrSL(Eh, El, 18) ^ + u64_default.rotrBL(Eh, El, 41); + const CHIh = (Eh & Fh) ^ (~Eh & Gh); + const CHIl = (El & Fl) ^ (~El & Gl); + const T1ll = u64_default.add5L( + Hl, + sigma1l, + CHIl, + SHA512_Kl[i], + SHA512_W_L[i] + ); + const T1h = u64_default.add5H( + T1ll, + Hh, + sigma1h, + CHIh, + SHA512_Kh[i], + SHA512_W_H[i] + ); const T1l = T1ll | 0; - const sigma0h = u64_default.rotrSH(Ah, Al, 28) ^ u64_default.rotrBH(Ah, Al, 34) ^ u64_default.rotrBH(Ah, Al, 39); - const sigma0l = u64_default.rotrSL(Ah, Al, 28) ^ u64_default.rotrBL(Ah, Al, 34) ^ u64_default.rotrBL(Ah, Al, 39); - const MAJh = Ah & Bh ^ Ah & Ch ^ Bh & Ch; - const MAJl = Al & Bl ^ Al & Cl ^ Bl & Cl; + const sigma0h = + u64_default.rotrSH(Ah, Al, 28) ^ + u64_default.rotrBH(Ah, Al, 34) ^ + u64_default.rotrBH(Ah, Al, 39); + const sigma0l = + u64_default.rotrSL(Ah, Al, 28) ^ + u64_default.rotrBL(Ah, Al, 34) ^ + u64_default.rotrBL(Ah, Al, 39); + const MAJh = (Ah & Bh) ^ (Ah & Ch) ^ (Bh & Ch); + const MAJl = (Al & Bl) ^ (Al & Cl) ^ (Bl & Cl); Hh = Gh | 0; Hl = Gl | 0; Gh = Fh | 0; @@ -7803,14 +8382,54 @@ zoo`.split("\n"); Ah = u64_default.add3H(All, T1h, sigma0h, MAJh); Al = All | 0; } - ({ h: Ah, l: Al } = u64_default.add(this.Ah | 0, this.Al | 0, Ah | 0, Al | 0)); - ({ h: Bh, l: Bl } = u64_default.add(this.Bh | 0, this.Bl | 0, Bh | 0, Bl | 0)); - ({ h: Ch, l: Cl } = u64_default.add(this.Ch | 0, this.Cl | 0, Ch | 0, Cl | 0)); - ({ h: Dh, l: Dl } = u64_default.add(this.Dh | 0, this.Dl | 0, Dh | 0, Dl | 0)); - ({ h: Eh, l: El } = u64_default.add(this.Eh | 0, this.El | 0, Eh | 0, El | 0)); - ({ h: Fh, l: Fl } = u64_default.add(this.Fh | 0, this.Fl | 0, Fh | 0, Fl | 0)); - ({ h: Gh, l: Gl } = u64_default.add(this.Gh | 0, this.Gl | 0, Gh | 0, Gl | 0)); - ({ h: Hh, l: Hl } = u64_default.add(this.Hh | 0, this.Hl | 0, Hh | 0, Hl | 0)); + ({ h: Ah, l: Al } = u64_default.add( + this.Ah | 0, + this.Al | 0, + Ah | 0, + Al | 0 + )); + ({ h: Bh, l: Bl } = u64_default.add( + this.Bh | 0, + this.Bl | 0, + Bh | 0, + Bl | 0 + )); + ({ h: Ch, l: Cl } = u64_default.add( + this.Ch | 0, + this.Cl | 0, + Ch | 0, + Cl | 0 + )); + ({ h: Dh, l: Dl } = u64_default.add( + this.Dh | 0, + this.Dl | 0, + Dh | 0, + Dl | 0 + )); + ({ h: Eh, l: El } = u64_default.add( + this.Eh | 0, + this.El | 0, + Eh | 0, + El | 0 + )); + ({ h: Fh, l: Fl } = u64_default.add( + this.Fh | 0, + this.Fl | 0, + Fh | 0, + Fl | 0 + )); + ({ h: Gh, l: Gl } = u64_default.add( + this.Gh | 0, + this.Gl | 0, + Gh | 0, + Gl | 0 + )); + ({ h: Hh, l: Hl } = u64_default.add( + this.Hh | 0, + this.Hl | 0, + Hh | 0, + Hl | 0 + )); this.set(Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl); } roundClean() { @@ -7939,24 +8558,33 @@ zoo`.split("\n"); if (!priv) { throw new Error("No private key"); } - return base58check2.encode(this.serialize(this.versions.private, concatBytes(new Uint8Array([0]), priv))); + return base58check2.encode( + this.serialize( + this.versions.private, + concatBytes(new Uint8Array([0]), priv) + ) + ); } get publicExtendedKey() { if (!this.pubKey) { throw new Error("No public key"); } - return base58check2.encode(this.serialize(this.versions.public, this.pubKey)); + return base58check2.encode( + this.serialize(this.versions.public, this.pubKey) + ); } static fromMasterSeed(seed, versions = BITCOIN_VERSIONS) { bytes(seed); if (8 * seed.length < 128 || 8 * seed.length > 512) { - throw new Error(`HDKey: wrong seed length=${seed.length}. Should be between 128 and 512 bits; 256 bits is advised)`); + throw new Error( + `HDKey: wrong seed length=${seed.length}. Should be between 128 and 512 bits; 256 bits is advised)` + ); } const I = hmac(sha512, MASTER_SECRET, seed); return new HDKey({ versions, chainCode: I.slice(32), - privateKey: I.slice(0, 32) + privateKey: I.slice(0, 32), }); } static fromExtendedKey(base58key, versions = BITCOIN_VERSIONS) { @@ -7968,7 +8596,7 @@ zoo`.split("\n"); depth: keyBuffer[4], parentFingerprint: keyView.getUint32(5, false), index: keyView.getUint32(9, false), - chainCode: keyBuffer.slice(13, 45) + chainCode: keyBuffer.slice(13, 45), }; const key = keyBuffer.slice(45); const isPriv = key[0] === 0; @@ -7999,7 +8627,9 @@ zoo`.split("\n"); this.parentFingerprint = opt.parentFingerprint || 0; if (!this.depth) { if (this.parentFingerprint || this.index) { - throw new Error("HDKey: zero depth with non-zero index/parent fingerprint"); + throw new Error( + "HDKey: zero depth with non-zero index/parent fingerprint" + ); } } if (opt.publicKey && opt.privateKey) { @@ -8009,7 +8639,10 @@ zoo`.split("\n"); if (!secp256k1.utils.isValidPrivateKey(opt.privateKey)) { throw new Error("Invalid private key"); } - this.privKey = typeof opt.privateKey === "bigint" ? opt.privateKey : bytesToNumber(opt.privateKey); + this.privKey = + typeof opt.privateKey === "bigint" + ? opt.privateKey + : bytesToNumber(opt.privateKey); this.privKeyBytes = numberToBytes(this.privKey); this.pubKey = secp256k1.getPublicKey(opt.privateKey, true); } else if (opt.publicKey) { @@ -8069,19 +8702,25 @@ zoo`.split("\n"); chainCode, depth: this.depth + 1, parentFingerprint: this.fingerprint, - index + index, }; try { if (this.privateKey) { const added = mod(this.privKey + childTweak, secp256k1.CURVE.n); if (!secp256k1.utils.isValidPrivateKey(added)) { - throw new Error("The tweak was out of range or the resulted private key is invalid"); + throw new Error( + "The tweak was out of range or the resulted private key is invalid" + ); } opt.privateKey = added; } else { - const added = Point2.fromHex(this.pubKey).add(Point2.fromPrivateKey(childTweak)); + const added = Point2.fromHex(this.pubKey).add( + Point2.fromPrivateKey(childTweak) + ); if (added.equals(Point2.ZERO)) { - throw new Error("The tweak was equal to negative P, which made the result key invalid"); + throw new Error( + "The tweak was equal to negative P, which made the result key invalid" + ); } opt.publicKey = added.toRawBytes(true); } @@ -8122,7 +8761,7 @@ zoo`.split("\n"); toJSON() { return { xpriv: this.privateExtendedKey, - xpub: this.publicExtendedKey + xpub: this.publicExtendedKey, }; } serialize(version, key) { @@ -8130,16 +8769,24 @@ zoo`.split("\n"); throw new Error("No chainCode set"); } bytes(key, 33); - return concatBytes(toU32(version), new Uint8Array([this.depth]), toU32(this.parentFingerprint), toU32(this.index), this.chainCode, key); + return concatBytes( + toU32(version), + new Uint8Array([this.depth]), + toU32(this.parentFingerprint), + toU32(this.index), + this.chainCode, + key + ); } }; // nip06.ts function privateKeyFromSeedWords(mnemonic, passphrase) { - let root = HDKey.fromMasterSeed((0, import_bip39.mnemonicToSeedSync)(mnemonic, passphrase)); + let root = HDKey.fromMasterSeed( + (0, import_bip39.mnemonicToSeedSync)(mnemonic, passphrase) + ); let privateKey = root.derive(`m/44'/1237'/0'/0/0`).privateKey; - if (!privateKey) - throw new Error("could not derive private key"); + if (!privateKey) throw new Error("could not derive private key"); return bytesToHex(privateKey); } function generateSeedWords() { @@ -8152,7 +8799,7 @@ zoo`.split("\n"); // nip10.ts var nip10_exports = {}; __export(nip10_exports, { - parse: () => parse + parse: () => parse, }); init_define_process(); function parse(event) { @@ -8160,7 +8807,7 @@ zoo`.split("\n"); reply: void 0, root: void 0, mentions: [], - profiles: [] + profiles: [], }; const eTags = []; for (const tag of event.tags) { @@ -8170,7 +8817,7 @@ zoo`.split("\n"); if (tag[0] === "p" && tag[1]) { result.profiles.push({ pubkey: tag[1], - relays: tag[2] ? [tag[2]] : [] + relays: tag[2] ? [tag[2]] : [], }); } } @@ -8179,7 +8826,7 @@ zoo`.split("\n"); const [_, eTagEventId, eTagRelayUrl, eTagMarker] = eTag; const eventPointer = { id: eTagEventId, - relays: eTagRelayUrl ? [eTagRelayUrl] : [] + relays: eTagRelayUrl ? [eTagRelayUrl] : [], }; const isFirstETag = eTagIndex === 0; const isLastETag = eTagIndex === eTags.length - 1; @@ -8211,7 +8858,7 @@ zoo`.split("\n"); // nip13.ts var nip13_exports = {}; __export(nip13_exports, { - getPow: () => getPow + getPow: () => getPow, }); init_define_process(); function getPow(id) { @@ -8233,7 +8880,7 @@ zoo`.split("\n"); if (b === 0) { return 8; } - while (b >>= 1) { + while ((b >>= 1)) { n++; } return 7 - n; @@ -8244,20 +8891,23 @@ zoo`.split("\n"); __export(nip18_exports, { finishRepostEvent: () => finishRepostEvent, getRepostedEvent: () => getRepostedEvent, - getRepostedEventPointer: () => getRepostedEventPointer + getRepostedEventPointer: () => getRepostedEventPointer, }); init_define_process(); function finishRepostEvent(t, reposted, relayUrl, privateKey) { - return finishEvent({ - kind: 6 /* Repost */, - tags: [ - ...t.tags ?? [], - ["e", reposted.id, relayUrl], - ["p", reposted.pubkey] - ], - content: t.content === "" ? "" : JSON.stringify(reposted), - created_at: t.created_at - }, privateKey); + return finishEvent( + { + kind: 6 /* Repost */, + tags: [ + ...(t.tags ?? []), + ["e", reposted.id, relayUrl], + ["p", reposted.pubkey], + ], + content: t.content === "" ? "" : JSON.stringify(reposted), + created_at: t.created_at, + }, + privateKey + ); } function getRepostedEventPointer(event) { if (event.kind !== 6 /* Repost */) { @@ -8265,7 +8915,11 @@ zoo`.split("\n"); } let lastETag; let lastPTag; - for (let i = event.tags.length - 1; i >= 0 && (lastETag === void 0 || lastPTag === void 0); i--) { + for ( + let i = event.tags.length - 1; + i >= 0 && (lastETag === void 0 || lastPTag === void 0); + i-- + ) { const tag = event.tags[i]; if (tag.length >= 2) { if (tag[0] === "e" && lastETag === void 0) { @@ -8281,7 +8935,7 @@ zoo`.split("\n"); return { id: lastETag[1], relays: [lastETag[2], lastPTag?.[2]].filter((x) => typeof x === "string"), - author: lastPTag?.[1] + author: lastPTag?.[1], }; } function getRepostedEvent(event, { skipVerification } = {}) { @@ -8309,21 +8963,23 @@ zoo`.split("\n"); __export(nip21_exports, { NOSTR_URI_REGEX: () => NOSTR_URI_REGEX, parse: () => parse2, - test: () => test + test: () => test, }); init_define_process(); var NOSTR_URI_REGEX = new RegExp(`nostr:(${BECH32_REGEX.source})`); function test(value) { - return typeof value === "string" && new RegExp(`^${NOSTR_URI_REGEX.source}$`).test(value); + return ( + typeof value === "string" && + new RegExp(`^${NOSTR_URI_REGEX.source}$`).test(value) + ); } function parse2(uri) { const match = uri.match(new RegExp(`^${NOSTR_URI_REGEX.source}$`)); - if (!match) - throw new Error(`Invalid Nostr URI: ${uri}`); + if (!match) throw new Error(`Invalid Nostr URI: ${uri}`); return { uri: match[0], value: match[1], - decoded: decode(match[1]) + decoded: decode(match[1]), }; } @@ -8331,24 +8987,27 @@ zoo`.split("\n"); var nip25_exports = {}; __export(nip25_exports, { finishReactionEvent: () => finishReactionEvent, - getReactedEventPointer: () => getReactedEventPointer + getReactedEventPointer: () => getReactedEventPointer, }); init_define_process(); function finishReactionEvent(t, reacted, privateKey) { const inheritedTags = reacted.tags.filter( (tag) => tag.length >= 2 && (tag[0] === "e" || tag[0] === "p") ); - return finishEvent({ - ...t, - kind: 7 /* Reaction */, - tags: [ - ...t.tags ?? [], - ...inheritedTags, - ["e", reacted.id], - ["p", reacted.pubkey] - ], - content: t.content ?? "+" - }, privateKey); + return finishEvent( + { + ...t, + kind: 7 /* Reaction */, + tags: [ + ...(t.tags ?? []), + ...inheritedTags, + ["e", reacted.id], + ["p", reacted.pubkey], + ], + content: t.content ?? "+", + }, + privateKey + ); } function getReactedEventPointer(event) { if (event.kind !== 7 /* Reaction */) { @@ -8356,7 +9015,11 @@ zoo`.split("\n"); } let lastETag; let lastPTag; - for (let i = event.tags.length - 1; i >= 0 && (lastETag === void 0 || lastPTag === void 0); i--) { + for ( + let i = event.tags.length - 1; + i >= 0 && (lastETag === void 0 || lastPTag === void 0); + i-- + ) { const tag = event.tags[i]; if (tag.length >= 2) { if (tag[0] === "e" && lastETag === void 0) { @@ -8372,7 +9035,7 @@ zoo`.split("\n"); return { id: lastETag[1], relays: [lastETag[2], lastPTag[2]].filter((x) => x !== void 0), - author: lastPTag[1] + author: lastPTag[1], }; } @@ -8380,37 +9043,34 @@ zoo`.split("\n"); var nip26_exports = {}; __export(nip26_exports, { createDelegation: () => createDelegation, - getDelegator: () => getDelegator + getDelegator: () => getDelegator, }); init_define_process(); function createDelegation(privateKey, parameters) { let conditions = []; if ((parameters.kind || -1) >= 0) conditions.push(`kind=${parameters.kind}`); - if (parameters.until) - conditions.push(`created_at<${parameters.until}`); - if (parameters.since) - conditions.push(`created_at>${parameters.since}`); + if (parameters.until) conditions.push(`created_at<${parameters.until}`); + if (parameters.since) conditions.push(`created_at>${parameters.since}`); let cond = conditions.join("&"); if (cond === "") throw new Error("refusing to create a delegation without any conditions"); let sighash = sha256( utf8Encoder.encode(`nostr:delegation:${parameters.pubkey}:${cond}`) ); - let sig = bytesToHex( - schnorr.sign(sighash, privateKey) - ); + let sig = bytesToHex(schnorr.sign(sighash, privateKey)); return { from: getPublicKey(privateKey), to: parameters.pubkey, cond, - sig + sig, }; } function getDelegator(event) { - let tag = event.tags.find((tag2) => tag2[0] === "delegation" && tag2.length >= 4); - if (!tag) - return null; + let tag = event.tags.find( + (tag2) => tag2[0] === "delegation" && tag2.length >= 4 + ); + if (!tag) return null; let pubkey = tag[1]; let cond = tag[2]; let sig = tag[3]; @@ -8419,18 +9079,24 @@ zoo`.split("\n"); let [key, operator, value] = conditions[i].split(/\b/); if (key === "kind" && operator === "=" && event.kind === parseInt(value)) continue; - else if (key === "created_at" && operator === "<" && event.created_at < parseInt(value)) + else if ( + key === "created_at" && + operator === "<" && + event.created_at < parseInt(value) + ) continue; - else if (key === "created_at" && operator === ">" && event.created_at > parseInt(value)) + else if ( + key === "created_at" && + operator === ">" && + event.created_at > parseInt(value) + ) continue; - else - return null; + else return null; } let sighash = sha256( utf8Encoder.encode(`nostr:delegation:${event.pubkey}:${cond}`) ); - if (!schnorr.verify(sig, sighash, pubkey)) - return null; + if (!schnorr.verify(sig, sighash, pubkey)) return null; return pubkey; } @@ -8439,7 +9105,7 @@ zoo`.split("\n"); __export(nip27_exports, { matchAll: () => matchAll, regex: () => regex, - replaceAll: () => replaceAll + replaceAll: () => replaceAll, }); init_define_process(); var regex = () => new RegExp(`\\b${NOSTR_URI_REGEX.source}\\b`, "g"); @@ -8453,10 +9119,9 @@ zoo`.split("\n"); value, decoded: decode(value), start: match.index, - end: match.index + uri.length + end: match.index + uri.length, }; - } catch (_e) { - } + } catch (_e) {} } } function replaceAll(content, replacer) { @@ -8464,7 +9129,7 @@ zoo`.split("\n"); return replacer({ uri, value, - decoded: decode(value) + decoded: decode(value), }); }); } @@ -8473,21 +9138,25 @@ zoo`.split("\n"); var nip39_exports = {}; __export(nip39_exports, { useFetchImplementation: () => useFetchImplementation2, - validateGithub: () => validateGithub + validateGithub: () => validateGithub, }); init_define_process(); var _fetch2; try { _fetch2 = fetch; - } catch { - } + } catch {} function useFetchImplementation2(fetchImplementation) { _fetch2 = fetchImplementation; } async function validateGithub(pubkey, username, proof) { try { - let res = await (await _fetch2(`https://gist.github.com/${username}/${proof}/raw`)).text(); - return res === `Verifying that I control the following Nostr public key: ${pubkey}`; + let res = await ( + await _fetch2(`https://gist.github.com/${username}/${proof}/raw`) + ).text(); + return ( + res === + `Verifying that I control the following Nostr public key: ${pubkey}` + ); } catch (_) { return false; } @@ -8496,22 +9165,18 @@ zoo`.split("\n"); // nip42.ts var nip42_exports = {}; __export(nip42_exports, { - authenticate: () => authenticate + authenticate: () => authenticate, }); init_define_process(); - var authenticate = async ({ - challenge: challenge2, - relay, - sign - }) => { + var authenticate = async ({ challenge: challenge2, relay, sign }) => { const e = { kind: 22242 /* ClientAuth */, created_at: Math.floor(Date.now() / 1e3), tags: [ ["relay", relay.url], - ["challenge", challenge2] + ["challenge", challenge2], ], - content: "" + content: "", }; const pub = relay.auth(await sign(e)); return new Promise((resolve, reject) => { @@ -8533,14 +9198,13 @@ zoo`.split("\n"); makeZapReceipt: () => makeZapReceipt, makeZapRequest: () => makeZapRequest, useFetchImplementation: () => useFetchImplementation3, - validateZapRequest: () => validateZapRequest + validateZapRequest: () => validateZapRequest, }); init_define_process(); var _fetch3; try { _fetch3 = fetch; - } catch { - } + } catch {} function useFetchImplementation3(fetchImplementation) { _fetch3 = fetchImplementation; } @@ -8563,21 +9227,12 @@ zoo`.split("\n"); if (body.allowsNostr && body.nostrPubkey) { return body.callback; } - } catch (err) { - } + } catch (err) {} return null; } - function makeZapRequest({ - profile, - event, - amount, - relays, - comment = "" - }) { - if (!amount) - throw new Error("amount not given"); - if (!profile) - throw new Error("profile not given"); + function makeZapRequest({ profile, event, amount, relays, comment = "" }) { + if (!amount) throw new Error("amount not given"); + if (!profile) throw new Error("profile not given"); let zr = { kind: 9734, created_at: Math.round(Date.now() / 1e3), @@ -8585,8 +9240,8 @@ zoo`.split("\n"); tags: [ ["p", profile], ["amount", amount.toString()], - ["relays", ...relays] - ] + ["relays", ...relays], + ], }; if (event) { zr.tags.push(["e", event]); @@ -8605,24 +9260,17 @@ zoo`.split("\n"); if (!verifySignature(zapRequest)) return "Invalid signature on zap request."; let p = zapRequest.tags.find(([t, v]) => t === "p" && v); - if (!p) - return "Zap request doesn't have a 'p' tag."; + if (!p) return "Zap request doesn't have a 'p' tag."; if (!p[1].match(/^[a-f0-9]{64}$/)) return "Zap request 'p' tag is not valid hex."; let e = zapRequest.tags.find(([t, v]) => t === "e" && v); if (e && !e[1].match(/^[a-f0-9]{64}$/)) return "Zap request 'e' tag is not valid hex."; let relays = zapRequest.tags.find(([t, v]) => t === "relays" && v); - if (!relays) - return "Zap request doesn't have a 'relays' tag."; + if (!relays) return "Zap request doesn't have a 'relays' tag."; return null; } - function makeZapReceipt({ - zapRequest, - preimage, - bolt11, - paidAt - }) { + function makeZapReceipt({ zapRequest, preimage, bolt11, paidAt }) { let zr = JSON.parse(zapRequest); let tagsFromZapRequest = zr.tags.filter( ([t]) => t === "e" || t === "p" || t === "a" @@ -8634,8 +9282,8 @@ zoo`.split("\n"); tags: [ ...tagsFromZapRequest, ["bolt11", bolt11], - ["description", zapRequest] - ] + ["description", zapRequest], + ], }; if (preimage) { zap.tags.push(["preimage", preimage]); @@ -8647,11 +9295,16 @@ zoo`.split("\n"); var nip98_exports = {}; __export(nip98_exports, { getToken: () => getToken, - validateToken: () => validateToken + validateToken: () => validateToken, }); init_define_process(); var _authorizationScheme = "Nostr "; - async function getToken(loginUrl, httpMethod, sign, includeAuthorizationScheme = false) { + async function getToken( + loginUrl, + httpMethod, + sign, + includeAuthorizationScheme = false + ) { if (!loginUrl || !httpMethod) throw new Error("Missing loginUrl or httpMethod"); if (httpMethod !== "get" /* Get */ && httpMethod !== "post" /* Post */) @@ -8659,12 +9312,17 @@ zoo`.split("\n"); const event = getBlankEvent(27235 /* HttpAuth */); event.tags = [ ["u", loginUrl], - ["method", httpMethod] + ["method", httpMethod], ]; event.created_at = Math.round(new Date().getTime() / 1e3); const signedEvent = await sign(event); - const authorizationScheme = includeAuthorizationScheme ? _authorizationScheme : ""; - return authorizationScheme + base64.encode(utf8Encoder.encode(JSON.stringify(signedEvent))); + const authorizationScheme = includeAuthorizationScheme + ? _authorizationScheme + : ""; + return ( + authorizationScheme + + base64.encode(utf8Encoder.encode(JSON.stringify(signedEvent))) + ); } async function validateToken(token, url, method) { if (!token) { @@ -8696,7 +9354,10 @@ zoo`.split("\n"); throw new Error("Invalid nostr event, url tag invalid"); } const methodTag = event.tags.find((t) => t[0] === "method"); - if (methodTag?.length !== 1 && methodTag?.[1].toLowerCase() !== method.toLowerCase()) { + if ( + methodTag?.length !== 1 && + methodTag?.[1].toLowerCase() !== method.toLowerCase() + ) { throw new Error("Invalid nostr event, method tag invalid"); } return true; diff --git a/public/js/utils.js b/public/js/utils.js index 2e41b49..64a07fc 100644 --- a/public/js/utils.js +++ b/public/js/utils.js @@ -1,167 +1,163 @@ -var NostrTools = window.NostrTools +var NostrTools = window.NostrTools; var defaultRelays = [ - 'wss://relay.damus.io', - 'wss://relay.snort.social', - 'wss://nostr-pub.wellorder.net', - 'wss://nostr.zebedee.cloud', - 'wss://nostr.walletofsatoshi.com' -] -var eventToObj = event => { - try { - event.content = JSON.parse(event.content) || null - } catch { - - } - - - return { - ...event, - ...Object.values(event.tags).reduce((acc, tag) => { - let [key, value] = tag - if (key == 't') { - return { ...acc, [key]: [...(acc[key] || []), value] } - } else { - return { ...acc, [key]: value } - } - }, {}) - } -} + "wss://relay.damus.io", + "wss://relay.snort.social", + "wss://nostr-pub.wellorder.net", + "wss://nostr.zebedee.cloud", + "wss://nostr.walletofsatoshi.com", +]; +var eventToObj = (event) => { + try { + event.content = JSON.parse(event.content) || null; + } catch {} + + return { + ...event, + ...Object.values(event.tags).reduce((acc, tag) => { + let [key, value] = tag; + if (key == "t") { + return { ...acc, [key]: [...(acc[key] || []), value] }; + } else { + return { ...acc, [key]: value }; + } + }, {}), + }; +}; function confirm(message) { - return { - message, - ok: { - flat: true, - color: 'primary' - }, - cancel: { - flat: true, - color: 'grey' - } - } + return { + message, + ok: { + flat: true, + color: "primary", + }, + cancel: { + flat: true, + color: "grey", + }, + }; } - async function hash(string) { - const utf8 = new TextEncoder().encode(string) - const hashBuffer = await crypto.subtle.digest('SHA-256', utf8) - const hashArray = Array.from(new Uint8Array(hashBuffer)) - const hashHex = hashArray - .map(bytes => bytes.toString(16).padStart(2, '0')) - .join('') - return hashHex + const utf8 = new TextEncoder().encode(string); + const hashBuffer = await crypto.subtle.digest("SHA-256", utf8); + const hashArray = Array.from(new Uint8Array(hashBuffer)); + const hashHex = hashArray + .map((bytes) => bytes.toString(16).padStart(2, "0")) + .join(""); + return hashHex; } function isJson(str) { - if (typeof str !== 'string') { - return false - } - try { - JSON.parse(str) - return true - } catch (error) { - return false - } + if (typeof str !== "string") { + return false; + } + try { + JSON.parse(str); + return true; + } catch (error) { + return false; + } } function formatSat(value) { - return new Intl.NumberFormat(window.LOCALE).format(value) + return new Intl.NumberFormat(window.LOCALE).format(value); } function satOrBtc(val, showUnit = true, showSats = false) { - const value = showSats - ? formatSat(val) - : val == 0 - ? 0.0 - : (val / 100000000).toFixed(8) - if (!showUnit) return value - return showSats ? value + ' sat' : value + ' BTC' + const value = showSats + ? formatSat(val) + : val == 0 + ? 0.0 + : (val / 100000000).toFixed(8); + if (!showUnit) return value; + return showSats ? value + " sat" : value + " BTC"; } function timeFromNow(time) { - // Get timestamps - let unixTime = new Date(time).getTime() - if (!unixTime) return - let now = new Date().getTime() - - // Calculate difference - let difference = unixTime / 1000 - now / 1000 - - // Setup return object - let tfn = {} - - // Check if time is in the past, present, or future - tfn.when = 'now' - if (difference > 0) { - tfn.when = 'future' - } else if (difference < -1) { - tfn.when = 'past' - } - - // Convert difference to absolute - difference = Math.abs(difference) - - // Calculate time unit - if (difference / (60 * 60 * 24 * 365) > 1) { - // Years - tfn.unitOfTime = 'years' - tfn.time = Math.floor(difference / (60 * 60 * 24 * 365)) - } else if (difference / (60 * 60 * 24 * 45) > 1) { - // Months - tfn.unitOfTime = 'months' - tfn.time = Math.floor(difference / (60 * 60 * 24 * 45)) - } else if (difference / (60 * 60 * 24) > 1) { - // Days - tfn.unitOfTime = 'days' - tfn.time = Math.floor(difference / (60 * 60 * 24)) - } else if (difference / (60 * 60) > 1) { - // Hours - tfn.unitOfTime = 'hours' - tfn.time = Math.floor(difference / (60 * 60)) - } else if (difference / 60 > 1) { - // Minutes - tfn.unitOfTime = 'minutes' - tfn.time = Math.floor(difference / 60) - } else { - // Seconds - tfn.unitOfTime = 'seconds' - tfn.time = Math.floor(difference) - } - - // Return time from now data - return `${tfn.time} ${tfn.unitOfTime}` + // Get timestamps + let unixTime = new Date(time).getTime(); + if (!unixTime) return; + let now = new Date().getTime(); + + // Calculate difference + let difference = unixTime / 1000 - now / 1000; + + // Setup return object + let tfn = {}; + + // Check if time is in the past, present, or future + tfn.when = "now"; + if (difference > 0) { + tfn.when = "future"; + } else if (difference < -1) { + tfn.when = "past"; + } + + // Convert difference to absolute + difference = Math.abs(difference); + + // Calculate time unit + if (difference / (60 * 60 * 24 * 365) > 1) { + // Years + tfn.unitOfTime = "years"; + tfn.time = Math.floor(difference / (60 * 60 * 24 * 365)); + } else if (difference / (60 * 60 * 24 * 45) > 1) { + // Months + tfn.unitOfTime = "months"; + tfn.time = Math.floor(difference / (60 * 60 * 24 * 45)); + } else if (difference / (60 * 60 * 24) > 1) { + // Days + tfn.unitOfTime = "days"; + tfn.time = Math.floor(difference / (60 * 60 * 24)); + } else if (difference / (60 * 60) > 1) { + // Hours + tfn.unitOfTime = "hours"; + tfn.time = Math.floor(difference / (60 * 60)); + } else if (difference / 60 > 1) { + // Minutes + tfn.unitOfTime = "minutes"; + tfn.time = Math.floor(difference / 60); + } else { + // Seconds + tfn.unitOfTime = "seconds"; + tfn.time = Math.floor(difference); + } + + // Return time from now data + return `${tfn.time} ${tfn.unitOfTime}`; } function isValidImageUrl(string) { - let url - try { - url = new URL(string) - } catch (_) { - return false - } - return url.protocol === 'http:' || url.protocol === 'https:' + let url; + try { + url = new URL(string); + } catch (_) { + return false; + } + return url.protocol === "http:" || url.protocol === "https:"; } -function isValidKey(key, prefix = 'n') { - try { - if (key && key.startsWith(prefix)) { - let { _, data } = NostrTools.nip19.decode(key) - key = data - } - return isValidKeyHex(key) - } catch (error) { - return false +function isValidKey(key, prefix = "n") { + try { + if (key && key.startsWith(prefix)) { + let { _, data } = NostrTools.nip19.decode(key); + key = data; } + return isValidKeyHex(key); + } catch (error) { + return false; + } } function isValidKeyHex(key) { - return !!key?.toLowerCase()?.match(/^[0-9a-f]{64}$/) + return !!key?.toLowerCase()?.match(/^[0-9a-f]{64}$/); } function formatCurrency(value, currency) { - return new Intl.NumberFormat(window.LOCALE, { - style: 'currency', - currency: currency - }).format(value) + return new Intl.NumberFormat(window.LOCALE, { + style: "currency", + currency: currency, + }).format(value); } diff --git a/src/App.vue b/src/App.vue index 38442ee..d26759d 100644 --- a/src/App.vue +++ b/src/App.vue @@ -3,9 +3,9 @@ diff --git a/src/components/CustomerMarket.vue b/src/components/CustomerMarket.vue index 5c99c49..af981c9 100644 --- a/src/components/CustomerMarket.vue +++ b/src/components/CustomerMarket.vue @@ -43,7 +43,7 @@ export default defineComponent({ startIndex: 0, lastProductIndex: 0, showProducts: true, - debounceRefreshProducts: null + debounceRefreshProducts: null, }; }, watch: { @@ -102,7 +102,7 @@ export default defineComponent({ }, }, created() { - this.debounceRefreshProducts = _.debounce(this.refreshProducts, 100) + this.debounceRefreshProducts = _.debounce(this.refreshProducts, 100); this.lastProductIndex = Math.min(this.filteredProducts.length, 24); this.partialProducts.push( ...this.filteredProducts.slice(0, this.lastProductIndex) diff --git a/src/components/CustomerStall.vue b/src/components/CustomerStall.vue index 34c272f..58b9b94 100644 --- a/src/components/CustomerStall.vue +++ b/src/components/CustomerStall.vue @@ -3,7 +3,10 @@
- +
@@ -11,46 +14,52 @@
-
- +
+
-
diff --git a/src/components/CustomerStallList.vue b/src/components/CustomerStallList.vue index e83ae25..8f12c3a 100644 --- a/src/components/CustomerStallList.vue +++ b/src/components/CustomerStallList.vue @@ -1,57 +1,77 @@ diff --git a/src/components/MarketConfig.vue b/src/components/MarketConfig.vue index 7a2252c..c9bc806 100644 --- a/src/components/MarketConfig.vue +++ b/src/components/MarketConfig.vue @@ -142,7 +142,11 @@ > - + @@ -313,7 +317,6 @@ - diff --git a/src/components/ProductCard.vue b/src/components/ProductCard.vue index 62a748a..26e4fbb 100644 --- a/src/components/ProductCard.vue +++ b/src/components/ProductCard.vue @@ -1,49 +1,74 @@ diff --git a/src/components/ProductDetail.vue b/src/components/ProductDetail.vue index ea5f28a..174cfad 100644 --- a/src/components/ProductDetail.vue +++ b/src/components/ProductDetail.vue @@ -25,7 +25,10 @@
- +
diff --git a/src/components/UserChat.vue b/src/components/UserChat.vue index c89c765..554d23f 100644 --- a/src/components/UserChat.vue +++ b/src/components/UserChat.vue @@ -123,7 +123,7 @@ diff --git a/src/pages/MarketPage.vue b/src/pages/MarketPage.vue index 2f6e62d..9edcb7c 100644 --- a/src/pages/MarketPage.vue +++ b/src/pages/MarketPage.vue @@ -1,5 +1,5 @@