From 44c7ea552f3dcebe7f7e20e2f0294b885f5c63b6 Mon Sep 17 00:00:00 2001 From: sudomarcma <1040211836@qq.com> Date: Wed, 23 Jul 2025 17:28:44 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0.gitignore=E6=96=87=E4=BB=B6?= =?UTF-8?q?=EF=BC=8C=E7=A7=BB=E9=99=A4=E4=B8=8D=E5=BF=85=E8=A6=81=E7=9A=84?= =?UTF-8?q?=E6=97=A5=E5=BF=97=E5=92=8C=E7=BC=96=E8=BE=91=E5=99=A8=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E6=96=87=E4=BB=B6=EF=BC=8C=E4=BF=9D=E7=95=99node=5Fmo?= =?UTF-8?q?dules=E7=9B=AE=E5=BD=95=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env | 4 ++ .gitignore | 31 +---------- .vscode/settings.json | 3 ++ android/.idea/.gitignore | 3 ++ android/.idea/AndroidProjectSystem.xml | 6 +++ android/.idea/compiler.xml | 6 +++ android/.idea/deploymentTargetSelector.xml | 18 +++++++ android/.idea/deviceManager.xml | 13 +++++ android/.idea/migrations.xml | 10 ++++ android/.idea/misc.xml | 9 ++++ android/.idea/runConfigurations.xml | 17 ++++++ android/.idea/studiobot.xml | 6 +++ backend/.env | 18 +++++++ dist/assets/index-B7lrTY2m.js | 58 +++++++++++++++++++++ dist/assets/index-DnygOJsq.css | 1 + dist/assets/web--OeF1eU6.js | 1 + dist/assets/web-BKuwGLdK.js | 1 + dist/assets/web-BNgMPRai.js | 1 + dist/assets/web-Bwhg1G08.js | 1 + dist/assets/web-CQxMuzG0.js | 1 + dist/assets/web-DUFOr-Wj.js | 1 + dist/assets/web-DrxU3ATE.js | 1 + dist/favicon.ico | Bin 0 -> 4286 bytes dist/index.html | 17 ++++++ 24 files changed, 197 insertions(+), 30 deletions(-) create mode 100644 .env create mode 100644 .vscode/settings.json create mode 100644 android/.idea/.gitignore create mode 100644 android/.idea/AndroidProjectSystem.xml create mode 100644 android/.idea/compiler.xml create mode 100644 android/.idea/deploymentTargetSelector.xml create mode 100644 android/.idea/deviceManager.xml create mode 100644 android/.idea/migrations.xml create mode 100644 android/.idea/misc.xml create mode 100644 android/.idea/runConfigurations.xml create mode 100644 android/.idea/studiobot.xml create mode 100644 backend/.env create mode 100644 dist/assets/index-B7lrTY2m.js create mode 100644 dist/assets/index-DnygOJsq.css create mode 100644 dist/assets/web--OeF1eU6.js create mode 100644 dist/assets/web-BKuwGLdK.js create mode 100644 dist/assets/web-BNgMPRai.js create mode 100644 dist/assets/web-Bwhg1G08.js create mode 100644 dist/assets/web-CQxMuzG0.js create mode 100644 dist/assets/web-DUFOr-Wj.js create mode 100644 dist/assets/web-DrxU3ATE.js create mode 100644 dist/favicon.ico create mode 100644 dist/index.html diff --git a/.env b/.env new file mode 100644 index 0000000..0a07187 --- /dev/null +++ b/.env @@ -0,0 +1,4 @@ +#VITE_API_BASE_URL=https://localhost:3443 +VITE_API_BASE_URL=https://myapp.ouji.com/nilai_clock_api +VITE_HTTPS_ENABLED=true +VITE_ALLOW_SELF_SIGNED=true diff --git a/.gitignore b/.gitignore index e2ff986..4e63771 100644 --- a/.gitignore +++ b/.gitignore @@ -1,31 +1,2 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - node_modules -.env -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -*.tsbuildinfo +node_modules diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..e0f15db --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "java.configuration.updateBuildConfiguration": "automatic" +} \ No newline at end of file diff --git a/android/.idea/.gitignore b/android/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/android/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/android/.idea/AndroidProjectSystem.xml b/android/.idea/AndroidProjectSystem.xml new file mode 100644 index 0000000..4a53bee --- /dev/null +++ b/android/.idea/AndroidProjectSystem.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/android/.idea/compiler.xml b/android/.idea/compiler.xml new file mode 100644 index 0000000..b86273d --- /dev/null +++ b/android/.idea/compiler.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/android/.idea/deploymentTargetSelector.xml b/android/.idea/deploymentTargetSelector.xml new file mode 100644 index 0000000..b854d7f --- /dev/null +++ b/android/.idea/deploymentTargetSelector.xml @@ -0,0 +1,18 @@ + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/deviceManager.xml b/android/.idea/deviceManager.xml new file mode 100644 index 0000000..91f9558 --- /dev/null +++ b/android/.idea/deviceManager.xml @@ -0,0 +1,13 @@ + + + + + + \ No newline at end of file diff --git a/android/.idea/migrations.xml b/android/.idea/migrations.xml new file mode 100644 index 0000000..f8051a6 --- /dev/null +++ b/android/.idea/migrations.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/android/.idea/misc.xml b/android/.idea/misc.xml new file mode 100644 index 0000000..b2c751a --- /dev/null +++ b/android/.idea/misc.xml @@ -0,0 +1,9 @@ + + + + + + + + \ No newline at end of file diff --git a/android/.idea/runConfigurations.xml b/android/.idea/runConfigurations.xml new file mode 100644 index 0000000..16660f1 --- /dev/null +++ b/android/.idea/runConfigurations.xml @@ -0,0 +1,17 @@ + + + + + + \ No newline at end of file diff --git a/android/.idea/studiobot.xml b/android/.idea/studiobot.xml new file mode 100644 index 0000000..539e3b8 --- /dev/null +++ b/android/.idea/studiobot.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/backend/.env b/backend/.env new file mode 100644 index 0000000..0506815 --- /dev/null +++ b/backend/.env @@ -0,0 +1,18 @@ +SSL_ENABLED=true +SSL_KEY_PATH=key.pem +SSL_CERT_PATH=cert.pem +HTTPS_PORT=3443 +HTTP_PORT=3000 + + +DB_HOST=localhost +DB_USER=dev +DB_PASSWORD=678954 +DB_NAME=dev +DB_PORT=3306 + +# JWT Secret - change this to a long, random string +JWT_SECRET=saofopfjaiosdfjioadjfioaspdfjoiaspfjidajf + +# Server IP for mobile testing +SERVER_IP=192.168.36.54 \ No newline at end of file diff --git a/dist/assets/index-B7lrTY2m.js b/dist/assets/index-B7lrTY2m.js new file mode 100644 index 0000000..03066b9 --- /dev/null +++ b/dist/assets/index-B7lrTY2m.js @@ -0,0 +1,58 @@ +function lf(t,r){for(var o=0;ol[u]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}(function(){const r=document.createElement("link").relList;if(r&&r.supports&&r.supports("modulepreload"))return;for(const u of document.querySelectorAll('link[rel="modulepreload"]'))l(u);new MutationObserver(u=>{for(const f of u)if(f.type==="childList")for(const g of f.addedNodes)g.tagName==="LINK"&&g.rel==="modulepreload"&&l(g)}).observe(document,{childList:!0,subtree:!0});function o(u){const f={};return u.integrity&&(f.integrity=u.integrity),u.referrerPolicy&&(f.referrerPolicy=u.referrerPolicy),u.crossOrigin==="use-credentials"?f.credentials="include":u.crossOrigin==="anonymous"?f.credentials="omit":f.credentials="same-origin",f}function l(u){if(u.ep)return;u.ep=!0;const f=o(u);fetch(u.href,f)}})();/** +* @vue/shared v3.5.17 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**//*! #__NO_SIDE_EFFECTS__ */function ka(t){const r=Object.create(null);for(const o of t.split(","))r[o]=1;return o=>o in r}const wt={},hs=[],Jn=()=>{},uf=()=>!1,oi=t=>t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&(t.charCodeAt(2)>122||t.charCodeAt(2)<97),Na=t=>t.startsWith("onUpdate:"),on=Object.assign,Ra=(t,r)=>{const o=t.indexOf(r);o>-1&&t.splice(o,1)},df=Object.prototype.hasOwnProperty,lt=(t,r)=>df.call(t,r),De=Array.isArray,gs=t=>xo(t)==="[object Map]",Ts=t=>xo(t)==="[object Set]",Tc=t=>xo(t)==="[object Date]",$e=t=>typeof t=="function",$t=t=>typeof t=="string",nr=t=>typeof t=="symbol",bt=t=>t!==null&&typeof t=="object",Cu=t=>(bt(t)||$e(t))&&$e(t.then)&&$e(t.catch),Eu=Object.prototype.toString,xo=t=>Eu.call(t),ff=t=>xo(t).slice(8,-1),Au=t=>xo(t)==="[object Object]",Oa=t=>$t(t)&&t!=="NaN"&&t[0]!=="-"&&""+parseInt(t,10)===t,Xs=ka(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),ii=t=>{const r=Object.create(null);return o=>r[o]||(r[o]=t(o))},hf=/-(\w)/g,Ln=ii(t=>t.replace(hf,(r,o)=>o?o.toUpperCase():"")),gf=/\B([A-Z])/g,zr=ii(t=>t.replace(gf,"-$1").toLowerCase()),ai=ii(t=>t.charAt(0).toUpperCase()+t.slice(1)),Wi=ii(t=>t?`on${ai(t)}`:""),Nr=(t,r)=>!Object.is(t,r),Uo=(t,...r)=>{for(let o=0;o{Object.defineProperty(t,r,{configurable:!0,enumerable:!1,writable:l,value:o})},jo=t=>{const r=parseFloat(t);return isNaN(r)?t:r};let vc;const ci=()=>vc||(vc=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Da(t){if(De(t)){const r={};for(let o=0;o{if(o){const l=o.split(pf);l.length>1&&(r[l[0].trim()]=l[1].trim())}}),r}function _n(t){let r="";if($t(t))r=t;else if(De(t))for(let o=0;owo(o,r))}const _u=t=>!!(t&&t.__v_isRef===!0),Ce=t=>$t(t)?t:t==null?"":De(t)||bt(t)&&(t.toString===Eu||!$e(t.toString))?_u(t)?Ce(t.value):JSON.stringify(t,Iu,2):String(t),Iu=(t,r)=>_u(r)?Iu(t,r.value):gs(r)?{[`Map(${r.size})`]:[...r.entries()].reduce((o,[l,u],f)=>(o[Vi(l,f)+" =>"]=u,o),{})}:Ts(r)?{[`Set(${r.size})`]:[...r.values()].map(o=>Vi(o))}:nr(r)?Vi(r):bt(r)&&!De(r)&&!Au(r)?String(r):r,Vi=(t,r="")=>{var o;return nr(t)?`Symbol(${(o=t.description)!=null?o:r})`:t};/** +* @vue/reactivity v3.5.17 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let pn;class Su{constructor(r=!1){this.detached=r,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=pn,!r&&pn&&(this.index=(pn.scopes||(pn.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let r,o;if(this.scopes)for(r=0,o=this.scopes.length;r0&&--this._on===0&&(pn=this.prevScope,this.prevScope=void 0)}stop(r){if(this._active){this._active=!1;let o,l;for(o=0,l=this.effects.length;o0)return;if(Ks){let r=Ks;for(Ks=void 0;r;){const o=r.next;r.next=void 0,r.flags&=-9,r=o}}let t;for(;Ys;){let r=Ys;for(Ys=void 0;r;){const o=r.next;if(r.next=void 0,r.flags&=-9,r.flags&1)try{r.trigger()}catch(l){t||(t=l)}r=o}}if(t)throw t}function Nu(t){for(let r=t.deps;r;r=r.nextDep)r.version=-1,r.prevActiveLink=r.dep.activeLink,r.dep.activeLink=r}function Ru(t){let r,o=t.depsTail,l=o;for(;l;){const u=l.prevDep;l.version===-1?(l===o&&(o=u),Fa(l),_f(l)):r=l,l.dep.activeLink=l.prevActiveLink,l.prevActiveLink=void 0,l=u}t.deps=r,t.depsTail=o}function oa(t){for(let r=t.deps;r;r=r.nextDep)if(r.dep.version!==r.version||r.dep.computed&&(Ou(r.dep.computed)||r.dep.version!==r.version))return!0;return!!t._dirty}function Ou(t){if(t.flags&4&&!(t.flags&16)||(t.flags&=-17,t.globalVersion===no)||(t.globalVersion=no,!t.isSSR&&t.flags&128&&(!t.deps&&!t._dirty||!oa(t))))return;t.flags|=2;const r=t.dep,o=At,l=Un;At=t,Un=!0;try{Nu(t);const u=t.fn(t._value);(r.version===0||Nr(u,t._value))&&(t.flags|=128,t._value=u,r.version++)}catch(u){throw r.version++,u}finally{At=o,Un=l,Ru(t),t.flags&=-3}}function Fa(t,r=!1){const{dep:o,prevSub:l,nextSub:u}=t;if(l&&(l.nextSub=u,t.prevSub=void 0),u&&(u.prevSub=l,t.nextSub=void 0),o.subs===t&&(o.subs=l,!l&&o.computed)){o.computed.flags&=-5;for(let f=o.computed.deps;f;f=f.nextDep)Fa(f,!0)}!r&&!--o.sc&&o.map&&o.map.delete(o.key)}function _f(t){const{prevDep:r,nextDep:o}=t;r&&(r.nextDep=o,t.prevDep=void 0),o&&(o.prevDep=r,t.nextDep=void 0)}let Un=!0;const Du=[];function gr(){Du.push(Un),Un=!1}function mr(){const t=Du.pop();Un=t===void 0?!0:t}function kc(t){const{cleanup:r}=t;if(t.cleanup=void 0,r){const o=At;At=void 0;try{r()}finally{At=o}}}let no=0;class If{constructor(r,o){this.sub=r,this.dep=o,this.version=o.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class $a{constructor(r){this.computed=r,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(r){if(!At||!Un||At===this.computed)return;let o=this.activeLink;if(o===void 0||o.sub!==At)o=this.activeLink=new If(At,this),At.deps?(o.prevDep=At.depsTail,At.depsTail.nextDep=o,At.depsTail=o):At.deps=At.depsTail=o,Pu(o);else if(o.version===-1&&(o.version=this.version,o.nextDep)){const l=o.nextDep;l.prevDep=o.prevDep,o.prevDep&&(o.prevDep.nextDep=l),o.prevDep=At.depsTail,o.nextDep=void 0,At.depsTail.nextDep=o,At.depsTail=o,At.deps===o&&(At.deps=l)}return o}trigger(r){this.version++,no++,this.notify(r)}notify(r){La();try{for(let o=this.subs;o;o=o.prevSub)o.sub.notify()&&o.sub.dep.notify()}finally{Ma()}}}function Pu(t){if(t.dep.sc++,t.sub.flags&4){const r=t.dep.computed;if(r&&!t.dep.subs){r.flags|=20;for(let l=r.deps;l;l=l.nextDep)Pu(l)}const o=t.dep.subs;o!==t&&(t.prevSub=o,o&&(o.nextSub=t)),t.dep.subs=t}}const ia=new WeakMap,Kr=Symbol(""),aa=Symbol(""),ro=Symbol("");function rn(t,r,o){if(Un&&At){let l=ia.get(t);l||ia.set(t,l=new Map);let u=l.get(o);u||(l.set(o,u=new $a),u.map=l,u.key=o),u.track()}}function lr(t,r,o,l,u,f){const g=ia.get(t);if(!g){no++;return}const p=w=>{w&&w.trigger()};if(La(),r==="clear")g.forEach(p);else{const w=De(t),x=w&&Oa(o);if(w&&o==="length"){const A=Number(l);g.forEach((C,I)=>{(I==="length"||I===ro||!nr(I)&&I>=A)&&p(C)})}else switch((o!==void 0||g.has(void 0))&&p(g.get(o)),x&&p(g.get(ro)),r){case"add":w?x&&p(g.get("length")):(p(g.get(Kr)),gs(t)&&p(g.get(aa)));break;case"delete":w||(p(g.get(Kr)),gs(t)&&p(g.get(aa)));break;case"set":gs(t)&&p(g.get(Kr));break}}Ma()}function cs(t){const r=ct(t);return r===t?r:(rn(r,"iterate",ro),Dn(t)?r:r.map(Zt))}function li(t){return rn(t=ct(t),"iterate",ro),t}const Sf={__proto__:null,[Symbol.iterator](){return Gi(this,Symbol.iterator,Zt)},concat(...t){return cs(this).concat(...t.map(r=>De(r)?cs(r):r))},entries(){return Gi(this,"entries",t=>(t[1]=Zt(t[1]),t))},every(t,r){return sr(this,"every",t,r,void 0,arguments)},filter(t,r){return sr(this,"filter",t,r,o=>o.map(Zt),arguments)},find(t,r){return sr(this,"find",t,r,Zt,arguments)},findIndex(t,r){return sr(this,"findIndex",t,r,void 0,arguments)},findLast(t,r){return sr(this,"findLast",t,r,Zt,arguments)},findLastIndex(t,r){return sr(this,"findLastIndex",t,r,void 0,arguments)},forEach(t,r){return sr(this,"forEach",t,r,void 0,arguments)},includes(...t){return ji(this,"includes",t)},indexOf(...t){return ji(this,"indexOf",t)},join(t){return cs(this).join(t)},lastIndexOf(...t){return ji(this,"lastIndexOf",t)},map(t,r){return sr(this,"map",t,r,void 0,arguments)},pop(){return Fs(this,"pop")},push(...t){return Fs(this,"push",t)},reduce(t,...r){return Nc(this,"reduce",t,r)},reduceRight(t,...r){return Nc(this,"reduceRight",t,r)},shift(){return Fs(this,"shift")},some(t,r){return sr(this,"some",t,r,void 0,arguments)},splice(...t){return Fs(this,"splice",t)},toReversed(){return cs(this).toReversed()},toSorted(t){return cs(this).toSorted(t)},toSpliced(...t){return cs(this).toSpliced(...t)},unshift(...t){return Fs(this,"unshift",t)},values(){return Gi(this,"values",Zt)}};function Gi(t,r,o){const l=li(t),u=l[r]();return l!==t&&!Dn(t)&&(u._next=u.next,u.next=()=>{const f=u._next();return f.value&&(f.value=o(f.value)),f}),u}const Tf=Array.prototype;function sr(t,r,o,l,u,f){const g=li(t),p=g!==t&&!Dn(t),w=g[r];if(w!==Tf[r]){const C=w.apply(t,f);return p?Zt(C):C}let x=o;g!==t&&(p?x=function(C,I){return o.call(this,Zt(C),I,t)}:o.length>2&&(x=function(C,I){return o.call(this,C,I,t)}));const A=w.call(g,x,l);return p&&u?u(A):A}function Nc(t,r,o,l){const u=li(t);let f=o;return u!==t&&(Dn(t)?o.length>3&&(f=function(g,p,w){return o.call(this,g,p,w,t)}):f=function(g,p,w){return o.call(this,g,Zt(p),w,t)}),u[r](f,...l)}function ji(t,r,o){const l=ct(t);rn(l,"iterate",ro);const u=l[r](...o);return(u===-1||u===!1)&&Wa(o[0])?(o[0]=ct(o[0]),l[r](...o)):u}function Fs(t,r,o=[]){gr(),La();const l=ct(t)[r].apply(t,o);return Ma(),mr(),l}const vf=ka("__proto__,__v_isRef,__isVue"),Lu=new Set(Object.getOwnPropertyNames(Symbol).filter(t=>t!=="arguments"&&t!=="caller").map(t=>Symbol[t]).filter(nr));function kf(t){nr(t)||(t=String(t));const r=ct(this);return rn(r,"has",t),r.hasOwnProperty(t)}class Mu{constructor(r=!1,o=!1){this._isReadonly=r,this._isShallow=o}get(r,o,l){if(o==="__v_skip")return r.__v_skip;const u=this._isReadonly,f=this._isShallow;if(o==="__v_isReactive")return!u;if(o==="__v_isReadonly")return u;if(o==="__v_isShallow")return f;if(o==="__v_raw")return l===(u?f?Bf:Uu:f?Bu:$u).get(r)||Object.getPrototypeOf(r)===Object.getPrototypeOf(l)?r:void 0;const g=De(r);if(!u){let w;if(g&&(w=Sf[o]))return w;if(o==="hasOwnProperty")return kf}const p=Reflect.get(r,o,en(r)?r:l);return(nr(o)?Lu.has(o):vf(o))||(u||rn(r,"get",o),f)?p:en(p)?g&&Oa(o)?p:p.value:bt(p)?u?Vu(p):ui(p):p}}class Fu extends Mu{constructor(r=!1){super(!1,r)}set(r,o,l,u){let f=r[o];if(!this._isShallow){const w=Dr(f);if(!Dn(l)&&!Dr(l)&&(f=ct(f),l=ct(l)),!De(r)&&en(f)&&!en(l))return w?!1:(f.value=l,!0)}const g=De(r)&&Oa(o)?Number(o)t,Oo=t=>Reflect.getPrototypeOf(t);function Pf(t,r,o){return function(...l){const u=this.__v_raw,f=ct(u),g=gs(f),p=t==="entries"||t===Symbol.iterator&&g,w=t==="keys"&&g,x=u[t](...l),A=o?ca:r?Xo:Zt;return!r&&rn(f,"iterate",w?aa:Kr),{next(){const{value:C,done:I}=x.next();return I?{value:C,done:I}:{value:p?[A(C[0]),A(C[1])]:A(C),done:I}},[Symbol.iterator](){return this}}}}function Do(t){return function(...r){return t==="delete"?!1:t==="clear"?void 0:this}}function Lf(t,r){const o={get(u){const f=this.__v_raw,g=ct(f),p=ct(u);t||(Nr(u,p)&&rn(g,"get",u),rn(g,"get",p));const{has:w}=Oo(g),x=r?ca:t?Xo:Zt;if(w.call(g,u))return x(f.get(u));if(w.call(g,p))return x(f.get(p));f!==g&&f.get(u)},get size(){const u=this.__v_raw;return!t&&rn(ct(u),"iterate",Kr),Reflect.get(u,"size",u)},has(u){const f=this.__v_raw,g=ct(f),p=ct(u);return t||(Nr(u,p)&&rn(g,"has",u),rn(g,"has",p)),u===p?f.has(u):f.has(u)||f.has(p)},forEach(u,f){const g=this,p=g.__v_raw,w=ct(p),x=r?ca:t?Xo:Zt;return!t&&rn(w,"iterate",Kr),p.forEach((A,C)=>u.call(f,x(A),x(C),g))}};return on(o,t?{add:Do("add"),set:Do("set"),delete:Do("delete"),clear:Do("clear")}:{add(u){!r&&!Dn(u)&&!Dr(u)&&(u=ct(u));const f=ct(this);return Oo(f).has.call(f,u)||(f.add(u),lr(f,"add",u,u)),this},set(u,f){!r&&!Dn(f)&&!Dr(f)&&(f=ct(f));const g=ct(this),{has:p,get:w}=Oo(g);let x=p.call(g,u);x||(u=ct(u),x=p.call(g,u));const A=w.call(g,u);return g.set(u,f),x?Nr(f,A)&&lr(g,"set",u,f):lr(g,"add",u,f),this},delete(u){const f=ct(this),{has:g,get:p}=Oo(f);let w=g.call(f,u);w||(u=ct(u),w=g.call(f,u)),p&&p.call(f,u);const x=f.delete(u);return w&&lr(f,"delete",u,void 0),x},clear(){const u=ct(this),f=u.size!==0,g=u.clear();return f&&lr(u,"clear",void 0,void 0),g}}),["keys","values","entries",Symbol.iterator].forEach(u=>{o[u]=Pf(u,t,r)}),o}function Ba(t,r){const o=Lf(t,r);return(l,u,f)=>u==="__v_isReactive"?!t:u==="__v_isReadonly"?t:u==="__v_raw"?l:Reflect.get(lt(o,u)&&u in l?o:l,u,f)}const Mf={get:Ba(!1,!1)},Ff={get:Ba(!1,!0)},$f={get:Ba(!0,!1)};const $u=new WeakMap,Bu=new WeakMap,Uu=new WeakMap,Bf=new WeakMap;function Uf(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Wf(t){return t.__v_skip||!Object.isExtensible(t)?0:Uf(ff(t))}function ui(t){return Dr(t)?t:Ua(t,!1,Rf,Mf,$u)}function Wu(t){return Ua(t,!1,Df,Ff,Bu)}function Vu(t){return Ua(t,!0,Of,$f,Uu)}function Ua(t,r,o,l,u){if(!bt(t)||t.__v_raw&&!(r&&t.__v_isReactive))return t;const f=Wf(t);if(f===0)return t;const g=u.get(t);if(g)return g;const p=new Proxy(t,f===2?l:o);return u.set(t,p),p}function ms(t){return Dr(t)?ms(t.__v_raw):!!(t&&t.__v_isReactive)}function Dr(t){return!!(t&&t.__v_isReadonly)}function Dn(t){return!!(t&&t.__v_isShallow)}function Wa(t){return t?!!t.__v_raw:!1}function ct(t){const r=t&&t.__v_raw;return r?ct(r):t}function Vf(t){return!lt(t,"__v_skip")&&Object.isExtensible(t)&&sa(t,"__v_skip",!0),t}const Zt=t=>bt(t)?ui(t):t,Xo=t=>bt(t)?Vu(t):t;function en(t){return t?t.__v_isRef===!0:!1}function gt(t){return Gu(t,!1)}function Hu(t){return Gu(t,!0)}function Gu(t,r){return en(t)?t:new Hf(t,r)}class Hf{constructor(r,o){this.dep=new $a,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=o?r:ct(r),this._value=o?r:Zt(r),this.__v_isShallow=o}get value(){return this.dep.track(),this._value}set value(r){const o=this._rawValue,l=this.__v_isShallow||Dn(r)||Dr(r);r=l?r:ct(r),Nr(r,o)&&(this._rawValue=r,this._value=l?r:Zt(r),this.dep.trigger())}}function Xe(t){return en(t)?t.value:t}const Gf={get:(t,r,o)=>r==="__v_raw"?t:Xe(Reflect.get(t,r,o)),set:(t,r,o,l)=>{const u=t[r];return en(u)&&!en(o)?(u.value=o,!0):Reflect.set(t,r,o,l)}};function ju(t){return ms(t)?t:new Proxy(t,Gf)}class jf{constructor(r,o,l){this.fn=r,this.setter=o,this._value=void 0,this.dep=new $a(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=no-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!o,this.isSSR=l}notify(){if(this.flags|=16,!(this.flags&8)&&At!==this)return ku(this,!0),!0}get value(){const r=this.dep.track();return Ou(this),r&&(r.version=this.dep.version),this._value}set value(r){this.setter&&this.setter(r)}}function Xf(t,r,o=!1){let l,u;return $e(t)?l=t:(l=t.get,u=t.set),new jf(l,u,o)}const Po={},Yo=new WeakMap;let Xr;function Yf(t,r=!1,o=Xr){if(o){let l=Yo.get(o);l||Yo.set(o,l=[]),l.push(t)}}function Kf(t,r,o=wt){const{immediate:l,deep:u,once:f,scheduler:g,augmentJob:p,call:w}=o,x=F=>u?F:Dn(F)||u===!1||u===0?ur(F,1):ur(F);let A,C,I,O,z=!1,U=!1;if(en(t)?(C=()=>t.value,z=Dn(t)):ms(t)?(C=()=>x(t),z=!0):De(t)?(U=!0,z=t.some(F=>ms(F)||Dn(F)),C=()=>t.map(F=>{if(en(F))return F.value;if(ms(F))return x(F);if($e(F))return w?w(F,2):F()})):$e(t)?r?C=w?()=>w(t,2):t:C=()=>{if(I){gr();try{I()}finally{mr()}}const F=Xr;Xr=A;try{return w?w(t,3,[O]):t(O)}finally{Xr=F}}:C=Jn,r&&u){const F=C,ce=u===!0?1/0:u;C=()=>ur(F(),ce)}const te=bf(),L=()=>{A.stop(),te&&te.active&&Ra(te.effects,A)};if(f&&r){const F=r;r=(...ce)=>{F(...ce),L()}}let W=U?new Array(t.length).fill(Po):Po;const V=F=>{if(!(!(A.flags&1)||!A.dirty&&!F))if(r){const ce=A.run();if(u||z||(U?ce.some((se,k)=>Nr(se,W[k])):Nr(ce,W))){I&&I();const se=Xr;Xr=A;try{const k=[ce,W===Po?void 0:U&&W[0]===Po?[]:W,O];W=ce,w?w(r,3,k):r(...k)}finally{Xr=se}}}else A.run()};return p&&p(V),A=new Tu(C),A.scheduler=g?()=>g(V,!1):V,O=F=>Yf(F,!1,A),I=A.onStop=()=>{const F=Yo.get(A);if(F){if(w)w(F,4);else for(const ce of F)ce();Yo.delete(A)}},r?l?V(!0):W=A.run():g?g(V.bind(null,!0),!0):A.run(),L.pause=A.pause.bind(A),L.resume=A.resume.bind(A),L.stop=L,L}function ur(t,r=1/0,o){if(r<=0||!bt(t)||t.__v_skip||(o=o||new Set,o.has(t)))return t;if(o.add(t),r--,en(t))ur(t.value,r,o);else if(De(t))for(let l=0;l{ur(l,r,o)});else if(Au(t)){for(const l in t)ur(t[l],r,o);for(const l of Object.getOwnPropertySymbols(t))Object.prototype.propertyIsEnumerable.call(t,l)&&ur(t[l],r,o)}return t}/** +* @vue/runtime-core v3.5.17 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function yo(t,r,o,l){try{return l?t(...l):t()}catch(u){di(u,r,o)}}function rr(t,r,o,l){if($e(t)){const u=yo(t,r,o,l);return u&&Cu(u)&&u.catch(f=>{di(f,r,o)}),u}if(De(t)){const u=[];for(let f=0;f>>1,u=un[l],f=so(u);f=so(o)?un.push(t):un.splice(qf(r),0,t),t.flags|=1,Yu()}}function Yu(){Ko||(Ko=Xu.then(zu))}function Qf(t){De(t)?ps.push(...t):Sr&&t.id===-1?Sr.splice(ls+1,0,t):t.flags&1||(ps.push(t),t.flags|=1),Yu()}function Rc(t,r,o=Qn+1){for(;oso(o)-so(l));if(ps.length=0,Sr){Sr.push(...r);return}for(Sr=r,ls=0;lst.id==null?t.flags&2?-1:1/0:t.id;function zu(t){try{for(Qn=0;Qn{l._d&&Wc(-1);const f=zo(r);let g;try{g=t(...u)}finally{zo(f),l._d&&Wc(1)}return g};return l._n=!0,l._c=!0,l._d=!0,l}function Rr(t,r){if(wn===null)return t;const o=gi(wn),l=t.dirs||(t.dirs=[]);for(let u=0;ut.__isTeleport;function Ga(t,r){t.shapeFlag&6&&t.component?(t.transition=r,Ga(t.component.subTree,r)):t.shapeFlag&128?(t.ssContent.transition=r.clone(t.ssContent),t.ssFallback.transition=r.clone(t.ssFallback)):t.transition=r}/*! #__NO_SIDE_EFFECTS__ */function Co(t,r){return $e(t)?on({name:t.name},r,{setup:t}):t}function Qu(t){t.ids=[t.ids[0]+t.ids[2]+++"-",0,0]}function zs(t,r,o,l,u=!1){if(De(t)){t.forEach((z,U)=>zs(z,r&&(De(r)?r[U]:r),o,l,u));return}if(qs(l)&&!u){l.shapeFlag&512&&l.type.__asyncResolved&&l.component.subTree.component&&zs(t,r,o,l.component.subTree);return}const f=l.shapeFlag&4?gi(l.component):l.el,g=u?null:f,{i:p,r:w}=t,x=r&&r.r,A=p.refs===wt?p.refs={}:p.refs,C=p.setupState,I=ct(C),O=C===wt?()=>!1:z=>lt(I,z);if(x!=null&&x!==w&&($t(x)?(A[x]=null,O(x)&&(C[x]=null)):en(x)&&(x.value=null)),$e(w))yo(w,p,12,[g,A]);else{const z=$t(w),U=en(w);if(z||U){const te=()=>{if(t.f){const L=z?O(w)?C[w]:A[w]:w.value;u?De(L)&&Ra(L,f):De(L)?L.includes(f)||L.push(f):z?(A[w]=[f],O(w)&&(C[w]=A[w])):(w.value=[f],t.k&&(A[t.k]=w.value))}else z?(A[w]=g,O(w)&&(C[w]=g)):U&&(w.value=g,t.k&&(A[t.k]=g))};g?(te.id=-1,An(te,o)):te()}}}ci().requestIdleCallback;ci().cancelIdleCallback;const qs=t=>!!t.type.__asyncLoader,Zu=t=>t.type.__isKeepAlive;function e0(t,r){Ju(t,"a",r)}function t0(t,r){Ju(t,"da",r)}function Ju(t,r,o=Jt){const l=t.__wdc||(t.__wdc=()=>{let u=o;for(;u;){if(u.isDeactivated)return;u=u.parent}return t()});if(fi(r,l,o),o){let u=o.parent;for(;u&&u.parent;)Zu(u.parent.vnode)&&n0(l,r,o,u),u=u.parent}}function n0(t,r,o,l){const u=fi(r,t,l,!0);Xa(()=>{Ra(l[r],u)},o)}function fi(t,r,o=Jt,l=!1){if(o){const u=o[t]||(o[t]=[]),f=r.__weh||(r.__weh=(...g)=>{gr();const p=Ao(o),w=rr(r,o,t,g);return p(),mr(),w});return l?u.unshift(f):u.push(f),f}}const pr=t=>(r,o=Jt)=>{(!co||t==="sp")&&fi(t,(...l)=>r(...l),o)},r0=pr("bm"),qr=pr("m"),s0=pr("bu"),o0=pr("u"),ja=pr("bum"),Xa=pr("um"),i0=pr("sp"),a0=pr("rtg"),c0=pr("rtc");function l0(t,r=Jt){fi("ec",t,r)}const ed="components";function td(t,r){return rd(ed,t,!0,r)||t}const nd=Symbol.for("v-ndc");function qo(t){return $t(t)?rd(ed,t,!1)||t:t||nd}function rd(t,r,o=!0,l=!1){const u=wn||Jt;if(u){const f=u.type;{const p=Q0(f,!1);if(p&&(p===r||p===Ln(r)||p===ai(Ln(r))))return f}const g=Oc(u[t]||f[t],r)||Oc(u.appContext[t],r);return!g&&l?f:g}}function Oc(t,r){return t&&(t[r]||t[Ln(r)]||t[ai(Ln(r))])}function u0(t,r,o,l){let u;const f=o,g=De(t);if(g||$t(t)){const p=g&&ms(t);let w=!1,x=!1;p&&(w=!Dn(t),x=Dr(t),t=li(t)),u=new Array(t.length);for(let A=0,C=t.length;Ar(p,w,void 0,f));else{const p=Object.keys(t);u=new Array(p.length);for(let w=0,x=p.length;wt?bd(t)?gi(t):la(t.parent):null,Qs=on(Object.create(null),{$:t=>t,$el:t=>t.vnode.el,$data:t=>t.data,$props:t=>t.props,$attrs:t=>t.attrs,$slots:t=>t.slots,$refs:t=>t.refs,$parent:t=>la(t.parent),$root:t=>la(t.root),$host:t=>t.ce,$emit:t=>t.emit,$options:t=>od(t),$forceUpdate:t=>t.f||(t.f=()=>{Ha(t.update)}),$nextTick:t=>t.n||(t.n=Va.bind(t.proxy)),$watch:t=>R0.bind(t)}),Xi=(t,r)=>t!==wt&&!t.__isScriptSetup&<(t,r),d0={get({_:t},r){if(r==="__v_skip")return!0;const{ctx:o,setupState:l,data:u,props:f,accessCache:g,type:p,appContext:w}=t;let x;if(r[0]!=="$"){const O=g[r];if(O!==void 0)switch(O){case 1:return l[r];case 2:return u[r];case 4:return o[r];case 3:return f[r]}else{if(Xi(l,r))return g[r]=1,l[r];if(u!==wt&<(u,r))return g[r]=2,u[r];if((x=t.propsOptions[0])&<(x,r))return g[r]=3,f[r];if(o!==wt&<(o,r))return g[r]=4,o[r];ua&&(g[r]=0)}}const A=Qs[r];let C,I;if(A)return r==="$attrs"&&rn(t.attrs,"get",""),A(t);if((C=p.__cssModules)&&(C=C[r]))return C;if(o!==wt&<(o,r))return g[r]=4,o[r];if(I=w.config.globalProperties,lt(I,r))return I[r]},set({_:t},r,o){const{data:l,setupState:u,ctx:f}=t;return Xi(u,r)?(u[r]=o,!0):l!==wt&<(l,r)?(l[r]=o,!0):lt(t.props,r)||r[0]==="$"&&r.slice(1)in t?!1:(f[r]=o,!0)},has({_:{data:t,setupState:r,accessCache:o,ctx:l,appContext:u,propsOptions:f}},g){let p;return!!o[g]||t!==wt&<(t,g)||Xi(r,g)||(p=f[0])&<(p,g)||lt(l,g)||lt(Qs,g)||lt(u.config.globalProperties,g)},defineProperty(t,r,o){return o.get!=null?t._.accessCache[r]=0:lt(o,"value")&&this.set(t,r,o.value,null),Reflect.defineProperty(t,r,o)}};function Dc(t){return De(t)?t.reduce((r,o)=>(r[o]=null,r),{}):t}let ua=!0;function f0(t){const r=od(t),o=t.proxy,l=t.ctx;ua=!1,r.beforeCreate&&Pc(r.beforeCreate,t,"bc");const{data:u,computed:f,methods:g,watch:p,provide:w,inject:x,created:A,beforeMount:C,mounted:I,beforeUpdate:O,updated:z,activated:U,deactivated:te,beforeDestroy:L,beforeUnmount:W,destroyed:V,unmounted:F,render:ce,renderTracked:se,renderTriggered:k,errorCaptured:re,serverPrefetch:K,expose:Te,inheritAttrs:ke,components:de,directives:Se,filters:Ke}=r;if(x&&h0(x,l,null),g)for(const ye in g){const We=g[ye];$e(We)&&(l[ye]=We.bind(o))}if(u){const ye=u.call(o,o);bt(ye)&&(t.data=ui(ye))}if(ua=!0,f)for(const ye in f){const We=f[ye],dt=$e(We)?We.bind(o,o):$e(We.get)?We.get.bind(o,o):Jn,Rt=!$e(We)&&$e(We.set)?We.set.bind(o):Jn,Ht=ht({get:dt,set:Rt});Object.defineProperty(l,ye,{enumerable:!0,configurable:!0,get:()=>Ht.value,set:Ze=>Ht.value=Ze})}if(p)for(const ye in p)sd(p[ye],l,o,ye);if(w){const ye=$e(w)?w.call(o):w;Reflect.ownKeys(ye).forEach(We=>{Wo(We,ye[We])})}A&&Pc(A,t,"c");function Ue(ye,We){De(We)?We.forEach(dt=>ye(dt.bind(o))):We&&ye(We.bind(o))}if(Ue(r0,C),Ue(qr,I),Ue(s0,O),Ue(o0,z),Ue(e0,U),Ue(t0,te),Ue(l0,re),Ue(c0,se),Ue(a0,k),Ue(ja,W),Ue(Xa,F),Ue(i0,K),De(Te))if(Te.length){const ye=t.exposed||(t.exposed={});Te.forEach(We=>{Object.defineProperty(ye,We,{get:()=>o[We],set:dt=>o[We]=dt})})}else t.exposed||(t.exposed={});ce&&t.render===Jn&&(t.render=ce),ke!=null&&(t.inheritAttrs=ke),de&&(t.components=de),Se&&(t.directives=Se),K&&Qu(t)}function h0(t,r,o=Jn){De(t)&&(t=da(t));for(const l in t){const u=t[l];let f;bt(u)?"default"in u?f=Pn(u.from||l,u.default,!0):f=Pn(u.from||l):f=Pn(u),en(f)?Object.defineProperty(r,l,{enumerable:!0,configurable:!0,get:()=>f.value,set:g=>f.value=g}):r[l]=f}}function Pc(t,r,o){rr(De(t)?t.map(l=>l.bind(r.proxy)):t.bind(r.proxy),r,o)}function sd(t,r,o,l){let u=l.includes(".")?wd(o,l):()=>o[l];if($t(t)){const f=r[t];$e(f)&&Or(u,f)}else if($e(t))Or(u,t.bind(o));else if(bt(t))if(De(t))t.forEach(f=>sd(f,r,o,l));else{const f=$e(t.handler)?t.handler.bind(o):r[t.handler];$e(f)&&Or(u,f,t)}}function od(t){const r=t.type,{mixins:o,extends:l}=r,{mixins:u,optionsCache:f,config:{optionMergeStrategies:g}}=t.appContext,p=f.get(r);let w;return p?w=p:!u.length&&!o&&!l?w=r:(w={},u.length&&u.forEach(x=>Qo(w,x,g,!0)),Qo(w,r,g)),bt(r)&&f.set(r,w),w}function Qo(t,r,o,l=!1){const{mixins:u,extends:f}=r;f&&Qo(t,f,o,!0),u&&u.forEach(g=>Qo(t,g,o,!0));for(const g in r)if(!(l&&g==="expose")){const p=g0[g]||o&&o[g];t[g]=p?p(t[g],r[g]):r[g]}return t}const g0={data:Lc,props:Mc,emits:Mc,methods:Hs,computed:Hs,beforeCreate:cn,created:cn,beforeMount:cn,mounted:cn,beforeUpdate:cn,updated:cn,beforeDestroy:cn,beforeUnmount:cn,destroyed:cn,unmounted:cn,activated:cn,deactivated:cn,errorCaptured:cn,serverPrefetch:cn,components:Hs,directives:Hs,watch:p0,provide:Lc,inject:m0};function Lc(t,r){return r?t?function(){return on($e(t)?t.call(this,this):t,$e(r)?r.call(this,this):r)}:r:t}function m0(t,r){return Hs(da(t),da(r))}function da(t){if(De(t)){const r={};for(let o=0;o1)return o&&$e(r)?r.call(l&&l.proxy):r}}const ad={},cd=()=>Object.create(ad),ld=t=>Object.getPrototypeOf(t)===ad;function y0(t,r,o,l=!1){const u={},f=cd();t.propsDefaults=Object.create(null),ud(t,r,u,f);for(const g in t.propsOptions[0])g in u||(u[g]=void 0);o?t.props=l?u:Wu(u):t.type.props?t.props=u:t.props=f,t.attrs=f}function C0(t,r,o,l){const{props:u,attrs:f,vnode:{patchFlag:g}}=t,p=ct(u),[w]=t.propsOptions;let x=!1;if((l||g>0)&&!(g&16)){if(g&8){const A=t.vnode.dynamicProps;for(let C=0;C{w=!0;const[I,O]=dd(C,r,!0);on(g,I),O&&p.push(...O)};!o&&r.mixins.length&&r.mixins.forEach(A),t.extends&&A(t.extends),t.mixins&&t.mixins.forEach(A)}if(!f&&!w)return bt(t)&&l.set(t,hs),hs;if(De(f))for(let A=0;At[0]==="_"||t==="$stable",Ka=t=>De(t)?t.map(Zn):[Zn(t)],A0=(t,r,o)=>{if(r._n)return r;const l=oo((...u)=>Ka(r(...u)),o);return l._c=!1,l},fd=(t,r,o)=>{const l=t._ctx;for(const u in t){if(Ya(u))continue;const f=t[u];if($e(f))r[u]=A0(u,f,l);else if(f!=null){const g=Ka(f);r[u]=()=>g}}},hd=(t,r)=>{const o=Ka(r);t.slots.default=()=>o},gd=(t,r,o)=>{for(const l in r)(o||!Ya(l))&&(t[l]=r[l])},b0=(t,r,o)=>{const l=t.slots=cd();if(t.vnode.shapeFlag&32){const u=r.__;u&&sa(l,"__",u,!0);const f=r._;f?(gd(l,r,o),o&&sa(l,"_",f,!0)):fd(r,l)}else r&&hd(t,r)},_0=(t,r,o)=>{const{vnode:l,slots:u}=t;let f=!0,g=wt;if(l.shapeFlag&32){const p=r._;p?o&&p===1?f=!1:gd(u,r,o):(f=!r.$stable,fd(r,u)),g=r}else r&&(hd(t,r),g={default:1});if(f)for(const p in u)!Ya(p)&&g[p]==null&&delete u[p]},An=$0;function I0(t){return S0(t)}function S0(t,r){const o=ci();o.__VUE__=!0;const{insert:l,remove:u,patchProp:f,createElement:g,createText:p,createComment:w,setText:x,setElementText:A,parentNode:C,nextSibling:I,setScopeId:O=Jn,insertStaticContent:z}=t,U=(D,R,G,ne=null,ie=null,ee=null,S=void 0,T=null,H=!!R.dynamicChildren)=>{if(D===R)return;D&&!$s(D,R)&&(ne=oe(D),Ze(D,ie,ee,!0),D=null),R.patchFlag===-2&&(H=!1,R.dynamicChildren=null);const{type:M,ref:xe,shapeFlag:ae}=R;switch(M){case Eo:te(D,R,G,ne);break;case Pr:L(D,R,G,ne);break;case Ki:D==null&&W(R,G,ne,S);break;case Rn:de(D,R,G,ne,ie,ee,S,T,H);break;default:ae&1?ce(D,R,G,ne,ie,ee,S,T,H):ae&6?Se(D,R,G,ne,ie,ee,S,T,H):(ae&64||ae&128)&&M.process(D,R,G,ne,ie,ee,S,T,H,Ae)}xe!=null&&ie?zs(xe,D&&D.ref,ee,R||D,!R):xe==null&&D&&D.ref!=null&&zs(D.ref,null,ee,D,!0)},te=(D,R,G,ne)=>{if(D==null)l(R.el=p(R.children),G,ne);else{const ie=R.el=D.el;R.children!==D.children&&x(ie,R.children)}},L=(D,R,G,ne)=>{D==null?l(R.el=w(R.children||""),G,ne):R.el=D.el},W=(D,R,G,ne)=>{[D.el,D.anchor]=z(D.children,R,G,ne,D.el,D.anchor)},V=({el:D,anchor:R},G,ne)=>{let ie;for(;D&&D!==R;)ie=I(D),l(D,G,ne),D=ie;l(R,G,ne)},F=({el:D,anchor:R})=>{let G;for(;D&&D!==R;)G=I(D),u(D),D=G;u(R)},ce=(D,R,G,ne,ie,ee,S,T,H)=>{R.type==="svg"?S="svg":R.type==="math"&&(S="mathml"),D==null?se(R,G,ne,ie,ee,S,T,H):K(D,R,ie,ee,S,T,H)},se=(D,R,G,ne,ie,ee,S,T)=>{let H,M;const{props:xe,shapeFlag:ae,transition:B,dirs:J}=D;if(H=D.el=g(D.type,ee,xe&&xe.is,xe),ae&8?A(H,D.children):ae&16&&re(D.children,H,null,ne,ie,Yi(D,ee),S,T),J&&Gr(D,null,ne,"created"),k(H,D,D.scopeId,S,ne),xe){for(const Re in xe)Re!=="value"&&!Xs(Re)&&f(H,Re,null,xe[Re],ee,ne);"value"in xe&&f(H,"value",null,xe.value,ee),(M=xe.onVnodeBeforeMount)&&zn(M,ne,D)}J&&Gr(D,null,ne,"beforeMount");const we=T0(ie,B);we&&B.beforeEnter(H),l(H,R,G),((M=xe&&xe.onVnodeMounted)||we||J)&&An(()=>{M&&zn(M,ne,D),we&&B.enter(H),J&&Gr(D,null,ne,"mounted")},ie)},k=(D,R,G,ne,ie)=>{if(G&&O(D,G),ne)for(let ee=0;ee{for(let M=H;M{const T=R.el=D.el;let{patchFlag:H,dynamicChildren:M,dirs:xe}=R;H|=D.patchFlag&16;const ae=D.props||wt,B=R.props||wt;let J;if(G&&jr(G,!1),(J=B.onVnodeBeforeUpdate)&&zn(J,G,R,D),xe&&Gr(R,D,G,"beforeUpdate"),G&&jr(G,!0),(ae.innerHTML&&B.innerHTML==null||ae.textContent&&B.textContent==null)&&A(T,""),M?Te(D.dynamicChildren,M,T,G,ne,Yi(R,ie),ee):S||We(D,R,T,null,G,ne,Yi(R,ie),ee,!1),H>0){if(H&16)ke(T,ae,B,G,ie);else if(H&2&&ae.class!==B.class&&f(T,"class",null,B.class,ie),H&4&&f(T,"style",ae.style,B.style,ie),H&8){const we=R.dynamicProps;for(let Re=0;Re{J&&zn(J,G,R,D),xe&&Gr(R,D,G,"updated")},ne)},Te=(D,R,G,ne,ie,ee,S)=>{for(let T=0;T{if(R!==G){if(R!==wt)for(const ee in R)!Xs(ee)&&!(ee in G)&&f(D,ee,R[ee],null,ie,ne);for(const ee in G){if(Xs(ee))continue;const S=G[ee],T=R[ee];S!==T&&ee!=="value"&&f(D,ee,T,S,ie,ne)}"value"in G&&f(D,"value",R.value,G.value,ie)}},de=(D,R,G,ne,ie,ee,S,T,H)=>{const M=R.el=D?D.el:p(""),xe=R.anchor=D?D.anchor:p("");let{patchFlag:ae,dynamicChildren:B,slotScopeIds:J}=R;J&&(T=T?T.concat(J):J),D==null?(l(M,G,ne),l(xe,G,ne),re(R.children||[],G,xe,ie,ee,S,T,H)):ae>0&&ae&64&&B&&D.dynamicChildren?(Te(D.dynamicChildren,B,G,ie,ee,S,T),(R.key!=null||ie&&R===ie.subTree)&&md(D,R,!0)):We(D,R,G,xe,ie,ee,S,T,H)},Se=(D,R,G,ne,ie,ee,S,T,H)=>{R.slotScopeIds=T,D==null?R.shapeFlag&512?ie.ctx.activate(R,G,ne,S,H):Ke(R,G,ne,ie,ee,S,H):Z(D,R,H)},Ke=(D,R,G,ne,ie,ee,S)=>{const T=D.component=X0(D,ne,ie);if(Zu(D)&&(T.ctx.renderer=Ae),Y0(T,!1,S),T.asyncDep){if(ie&&ie.registerDep(T,Ue,S),!D.el){const H=T.subTree=st(Pr);L(null,H,R,G)}}else Ue(T,D,R,G,ie,ee,S)},Z=(D,R,G)=>{const ne=R.component=D.component;if(M0(D,R,G))if(ne.asyncDep&&!ne.asyncResolved){ye(ne,R,G);return}else ne.next=R,ne.update();else R.el=D.el,ne.vnode=R},Ue=(D,R,G,ne,ie,ee,S)=>{const T=()=>{if(D.isMounted){let{next:ae,bu:B,u:J,parent:we,vnode:Re}=D;{const Cn=pd(D);if(Cn){ae&&(ae.el=Re.el,ye(D,ae,S)),Cn.asyncDep.then(()=>{D.isUnmounted||T()});return}}let Me=ae,qe;jr(D,!1),ae?(ae.el=Re.el,ye(D,ae,S)):ae=Re,B&&Uo(B),(qe=ae.props&&ae.props.onVnodeBeforeUpdate)&&zn(qe,we,ae,Re),jr(D,!0);const vt=Bc(D),Yt=D.subTree;D.subTree=vt,U(Yt,vt,C(Yt.el),oe(Yt),D,ie,ee),ae.el=vt.el,Me===null&&F0(D,vt.el),J&&An(J,ie),(qe=ae.props&&ae.props.onVnodeUpdated)&&An(()=>zn(qe,we,ae,Re),ie)}else{let ae;const{el:B,props:J}=R,{bm:we,m:Re,parent:Me,root:qe,type:vt}=D,Yt=qs(R);jr(D,!1),we&&Uo(we),!Yt&&(ae=J&&J.onVnodeBeforeMount)&&zn(ae,Me,R),jr(D,!0);{qe.ce&&qe.ce._def.shadowRoot!==!1&&qe.ce._injectChildStyle(vt);const Cn=D.subTree=Bc(D);U(null,Cn,G,ne,D,ie,ee),R.el=Cn.el}if(Re&&An(Re,ie),!Yt&&(ae=J&&J.onVnodeMounted)){const Cn=R;An(()=>zn(ae,Me,Cn),ie)}(R.shapeFlag&256||Me&&qs(Me.vnode)&&Me.vnode.shapeFlag&256)&&D.a&&An(D.a,ie),D.isMounted=!0,R=G=ne=null}};D.scope.on();const H=D.effect=new Tu(T);D.scope.off();const M=D.update=H.run.bind(H),xe=D.job=H.runIfDirty.bind(H);xe.i=D,xe.id=D.uid,H.scheduler=()=>Ha(xe),jr(D,!0),M()},ye=(D,R,G)=>{R.component=D;const ne=D.vnode.props;D.vnode=R,D.next=null,C0(D,R.props,ne,G),_0(D,R.children,G),gr(),Rc(D),mr()},We=(D,R,G,ne,ie,ee,S,T,H=!1)=>{const M=D&&D.children,xe=D?D.shapeFlag:0,ae=R.children,{patchFlag:B,shapeFlag:J}=R;if(B>0){if(B&128){Rt(M,ae,G,ne,ie,ee,S,T,H);return}else if(B&256){dt(M,ae,G,ne,ie,ee,S,T,H);return}}J&8?(xe&16&&Ee(M,ie,ee),ae!==M&&A(G,ae)):xe&16?J&16?Rt(M,ae,G,ne,ie,ee,S,T,H):Ee(M,ie,ee,!0):(xe&8&&A(G,""),J&16&&re(ae,G,ne,ie,ee,S,T,H))},dt=(D,R,G,ne,ie,ee,S,T,H)=>{D=D||hs,R=R||hs;const M=D.length,xe=R.length,ae=Math.min(M,xe);let B;for(B=0;Bxe?Ee(D,ie,ee,!0,!1,ae):re(R,G,ne,ie,ee,S,T,H,ae)},Rt=(D,R,G,ne,ie,ee,S,T,H)=>{let M=0;const xe=R.length;let ae=D.length-1,B=xe-1;for(;M<=ae&&M<=B;){const J=D[M],we=R[M]=H?Tr(R[M]):Zn(R[M]);if($s(J,we))U(J,we,G,null,ie,ee,S,T,H);else break;M++}for(;M<=ae&&M<=B;){const J=D[ae],we=R[B]=H?Tr(R[B]):Zn(R[B]);if($s(J,we))U(J,we,G,null,ie,ee,S,T,H);else break;ae--,B--}if(M>ae){if(M<=B){const J=B+1,we=JB)for(;M<=ae;)Ze(D[M],ie,ee,!0),M++;else{const J=M,we=M,Re=new Map;for(M=we;M<=B;M++){const Je=R[M]=H?Tr(R[M]):Zn(R[M]);Je.key!=null&&Re.set(Je.key,M)}let Me,qe=0;const vt=B-we+1;let Yt=!1,Cn=0;const Ct=new Array(vt);for(M=0;M=vt){Ze(Je,ie,ee,!0);continue}let je;if(Je.key!=null)je=Re.get(Je.key);else for(Me=we;Me<=B;Me++)if(Ct[Me-we]===0&&$s(Je,R[Me])){je=Me;break}je===void 0?Ze(Je,ie,ee,!0):(Ct[je-we]=M+1,je>=Cn?Cn=je:Yt=!0,U(Je,R[je],G,null,ie,ee,S,T,H),qe++)}const me=Yt?v0(Ct):hs;for(Me=me.length-1,M=vt-1;M>=0;M--){const Je=we+M,je=R[Je],_t=Je+1{const{el:ee,type:S,transition:T,children:H,shapeFlag:M}=D;if(M&6){Ht(D.component.subTree,R,G,ne);return}if(M&128){D.suspense.move(R,G,ne);return}if(M&64){S.move(D,R,G,Ae);return}if(S===Rn){l(ee,R,G);for(let ae=0;aeT.enter(ee),ie);else{const{leave:ae,delayLeave:B,afterLeave:J}=T,we=()=>{D.ctx.isUnmounted?u(ee):l(ee,R,G)},Re=()=>{ae(ee,()=>{we(),J&&J()})};B?B(ee,we,Re):Re()}else l(ee,R,G)},Ze=(D,R,G,ne=!1,ie=!1)=>{const{type:ee,props:S,ref:T,children:H,dynamicChildren:M,shapeFlag:xe,patchFlag:ae,dirs:B,cacheIndex:J}=D;if(ae===-2&&(ie=!1),T!=null&&(gr(),zs(T,null,G,D,!0),mr()),J!=null&&(R.renderCache[J]=void 0),xe&256){R.ctx.deactivate(D);return}const we=xe&1&&B,Re=!qs(D);let Me;if(Re&&(Me=S&&S.onVnodeBeforeUnmount)&&zn(Me,R,D),xe&6)Mn(D.component,G,ne);else{if(xe&128){D.suspense.unmount(G,ne);return}we&&Gr(D,null,R,"beforeUnmount"),xe&64?D.type.remove(D,R,G,Ae,ne):M&&!M.hasOnce&&(ee!==Rn||ae>0&&ae&64)?Ee(M,R,G,!1,!0):(ee===Rn&&ae&384||!ie&&xe&16)&&Ee(H,R,G),ne&&Gt(D)}(Re&&(Me=S&&S.onVnodeUnmounted)||we)&&An(()=>{Me&&zn(Me,R,D),we&&Gr(D,null,R,"unmounted")},G)},Gt=D=>{const{type:R,el:G,anchor:ne,transition:ie}=D;if(R===Rn){yt(G,ne);return}if(R===Ki){F(D);return}const ee=()=>{u(G),ie&&!ie.persisted&&ie.afterLeave&&ie.afterLeave()};if(D.shapeFlag&1&&ie&&!ie.persisted){const{leave:S,delayLeave:T}=ie,H=()=>S(G,ee);T?T(D.el,ee,H):H()}else ee()},yt=(D,R)=>{let G;for(;D!==R;)G=I(D),u(D),D=G;u(R)},Mn=(D,R,G)=>{const{bum:ne,scope:ie,job:ee,subTree:S,um:T,m:H,a:M,parent:xe,slots:{__:ae}}=D;$c(H),$c(M),ne&&Uo(ne),xe&&De(ae)&&ae.forEach(B=>{xe.renderCache[B]=void 0}),ie.stop(),ee&&(ee.flags|=8,Ze(S,D,R,G)),T&&An(T,R),An(()=>{D.isUnmounted=!0},R),R&&R.pendingBranch&&!R.isUnmounted&&D.asyncDep&&!D.asyncResolved&&D.suspenseId===R.pendingId&&(R.deps--,R.deps===0&&R.resolve())},Ee=(D,R,G,ne=!1,ie=!1,ee=0)=>{for(let S=ee;S{if(D.shapeFlag&6)return oe(D.component.subTree);if(D.shapeFlag&128)return D.suspense.next();const R=I(D.anchor||D.el),G=R&&R[Zf];return G?I(G):R};let he=!1;const pe=(D,R,G)=>{D==null?R._vnode&&Ze(R._vnode,null,null,!0):U(R._vnode||null,D,R,null,null,null,G),R._vnode=D,he||(he=!0,Rc(),Ku(),he=!1)},Ae={p:U,um:Ze,m:Ht,r:Gt,mt:Ke,mc:re,pc:We,pbc:Te,n:oe,o:t};return{render:pe,hydrate:void 0,createApp:w0(pe)}}function Yi({type:t,props:r},o){return o==="svg"&&t==="foreignObject"||o==="mathml"&&t==="annotation-xml"&&r&&r.encoding&&r.encoding.includes("html")?void 0:o}function jr({effect:t,job:r},o){o?(t.flags|=32,r.flags|=4):(t.flags&=-33,r.flags&=-5)}function T0(t,r){return(!t||t&&!t.pendingBranch)&&r&&!r.persisted}function md(t,r,o=!1){const l=t.children,u=r.children;if(De(l)&&De(u))for(let f=0;f>1,t[o[p]]0&&(r[l]=o[f-1]),o[f]=l)}}for(f=o.length,g=o[f-1];f-- >0;)o[f]=g,g=r[g];return o}function pd(t){const r=t.subTree.component;if(r)return r.asyncDep&&!r.asyncResolved?r:pd(r)}function $c(t){if(t)for(let r=0;rPn(k0);function Or(t,r,o){return xd(t,r,o)}function xd(t,r,o=wt){const{immediate:l,deep:u,flush:f,once:g}=o,p=on({},o),w=r&&l||!r&&f!=="post";let x;if(co){if(f==="sync"){const O=N0();x=O.__watcherHandles||(O.__watcherHandles=[])}else if(!w){const O=()=>{};return O.stop=Jn,O.resume=Jn,O.pause=Jn,O}}const A=Jt;p.call=(O,z,U)=>rr(O,A,z,U);let C=!1;f==="post"?p.scheduler=O=>{An(O,A&&A.suspense)}:f!=="sync"&&(C=!0,p.scheduler=(O,z)=>{z?O():Ha(O)}),p.augmentJob=O=>{r&&(O.flags|=4),C&&(O.flags|=2,A&&(O.id=A.uid,O.i=A))};const I=Kf(t,r,p);return co&&(x?x.push(I):w&&I()),I}function R0(t,r,o){const l=this.proxy,u=$t(t)?t.includes(".")?wd(l,t):()=>l[t]:t.bind(l,l);let f;$e(r)?f=r:(f=r.handler,o=r);const g=Ao(this),p=xd(u,f.bind(l),o);return g(),p}function wd(t,r){const o=r.split(".");return()=>{let l=t;for(let u=0;ur==="modelValue"||r==="model-value"?t.modelModifiers:t[`${r}Modifiers`]||t[`${Ln(r)}Modifiers`]||t[`${zr(r)}Modifiers`];function D0(t,r,...o){if(t.isUnmounted)return;const l=t.vnode.props||wt;let u=o;const f=r.startsWith("update:"),g=f&&O0(l,r.slice(7));g&&(g.trim&&(u=o.map(A=>$t(A)?A.trim():A)),g.number&&(u=o.map(jo)));let p,w=l[p=Wi(r)]||l[p=Wi(Ln(r))];!w&&f&&(w=l[p=Wi(zr(r))]),w&&rr(w,t,6,u);const x=l[p+"Once"];if(x){if(!t.emitted)t.emitted={};else if(t.emitted[p])return;t.emitted[p]=!0,rr(x,t,6,u)}}function yd(t,r,o=!1){const l=r.emitsCache,u=l.get(t);if(u!==void 0)return u;const f=t.emits;let g={},p=!1;if(!$e(t)){const w=x=>{const A=yd(x,r,!0);A&&(p=!0,on(g,A))};!o&&r.mixins.length&&r.mixins.forEach(w),t.extends&&w(t.extends),t.mixins&&t.mixins.forEach(w)}return!f&&!p?(bt(t)&&l.set(t,null),null):(De(f)?f.forEach(w=>g[w]=null):on(g,f),bt(t)&&l.set(t,g),g)}function hi(t,r){return!t||!oi(r)?!1:(r=r.slice(2).replace(/Once$/,""),lt(t,r[0].toLowerCase()+r.slice(1))||lt(t,zr(r))||lt(t,r))}function Bc(t){const{type:r,vnode:o,proxy:l,withProxy:u,propsOptions:[f],slots:g,attrs:p,emit:w,render:x,renderCache:A,props:C,data:I,setupState:O,ctx:z,inheritAttrs:U}=t,te=zo(t);let L,W;try{if(o.shapeFlag&4){const F=u||l,ce=F;L=Zn(x.call(ce,F,A,C,O,I,z)),W=p}else{const F=r;L=Zn(F.length>1?F(C,{attrs:p,slots:g,emit:w}):F(C,null)),W=r.props?p:P0(p)}}catch(F){Zs.length=0,di(F,t,1),L=st(Pr)}let V=L;if(W&&U!==!1){const F=Object.keys(W),{shapeFlag:ce}=V;F.length&&ce&7&&(f&&F.some(Na)&&(W=L0(W,f)),V=Cs(V,W,!1,!0))}return o.dirs&&(V=Cs(V,null,!1,!0),V.dirs=V.dirs?V.dirs.concat(o.dirs):o.dirs),o.transition&&Ga(V,o.transition),L=V,zo(te),L}const P0=t=>{let r;for(const o in t)(o==="class"||o==="style"||oi(o))&&((r||(r={}))[o]=t[o]);return r},L0=(t,r)=>{const o={};for(const l in t)(!Na(l)||!(l.slice(9)in r))&&(o[l]=t[l]);return o};function M0(t,r,o){const{props:l,children:u,component:f}=t,{props:g,children:p,patchFlag:w}=r,x=f.emitsOptions;if(r.dirs||r.transition)return!0;if(o&&w>=0){if(w&1024)return!0;if(w&16)return l?Uc(l,g,x):!!g;if(w&8){const A=r.dynamicProps;for(let C=0;Ct.__isSuspense;function $0(t,r){r&&r.pendingBranch?De(t)?r.effects.push(...t):r.effects.push(t):Qf(t)}const Rn=Symbol.for("v-fgt"),Eo=Symbol.for("v-txt"),Pr=Symbol.for("v-cmt"),Ki=Symbol.for("v-stc"),Zs=[];let In=null;function Fe(t=!1){Zs.push(In=t?null:[])}function B0(){Zs.pop(),In=Zs[Zs.length-1]||null}let io=1;function Wc(t,r=!1){io+=t,t<0&&In&&r&&(In.hasOnce=!0)}function Ed(t){return t.dynamicChildren=io>0?In||hs:null,B0(),io>0&&In&&In.push(t),t}function Ge(t,r,o,l,u,f){return Ed(Y(t,r,o,l,u,f,!0))}function ys(t,r,o,l,u){return Ed(st(t,r,o,l,u,!0))}function Zo(t){return t?t.__v_isVNode===!0:!1}function $s(t,r){return t.type===r.type&&t.key===r.key}const Ad=({key:t})=>t??null,Vo=({ref:t,ref_key:r,ref_for:o})=>(typeof t=="number"&&(t=""+t),t!=null?$t(t)||en(t)||$e(t)?{i:wn,r:t,k:r,f:!!o}:t:null);function Y(t,r=null,o=null,l=0,u=null,f=t===Rn?0:1,g=!1,p=!1){const w={__v_isVNode:!0,__v_skip:!0,type:t,props:r,key:r&&Ad(r),ref:r&&Vo(r),scopeId:qu,slotScopeIds:null,children:o,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:f,patchFlag:l,dynamicProps:u,dynamicChildren:null,appContext:null,ctx:wn};return p?(za(w,o),f&128&&t.normalize(w)):o&&(w.shapeFlag|=$t(o)?8:16),io>0&&!g&&In&&(w.patchFlag>0||f&6)&&w.patchFlag!==32&&In.push(w),w}const st=U0;function U0(t,r=null,o=null,l=0,u=null,f=!1){if((!t||t===nd)&&(t=Pr),Zo(t)){const p=Cs(t,r,!0);return o&&za(p,o),io>0&&!f&&In&&(p.shapeFlag&6?In[In.indexOf(t)]=p:In.push(p)),p.patchFlag=-2,p}if(Z0(t)&&(t=t.__vccOpts),r){r=W0(r);let{class:p,style:w}=r;p&&!$t(p)&&(r.class=_n(p)),bt(w)&&(Wa(w)&&!De(w)&&(w=on({},w)),r.style=Da(w))}const g=$t(t)?1:Cd(t)?128:Jf(t)?64:bt(t)?4:$e(t)?2:0;return Y(t,r,o,l,u,g,f,!0)}function W0(t){return t?Wa(t)||ld(t)?on({},t):t:null}function Cs(t,r,o=!1,l=!1){const{props:u,ref:f,patchFlag:g,children:p,transition:w}=t,x=r?H0(u||{},r):u,A={__v_isVNode:!0,__v_skip:!0,type:t.type,props:x,key:x&&Ad(x),ref:r&&r.ref?o&&f?De(f)?f.concat(Vo(r)):[f,Vo(r)]:Vo(r):f,scopeId:t.scopeId,slotScopeIds:t.slotScopeIds,children:p,target:t.target,targetStart:t.targetStart,targetAnchor:t.targetAnchor,staticCount:t.staticCount,shapeFlag:t.shapeFlag,patchFlag:r&&t.type!==Rn?g===-1?16:g|16:g,dynamicProps:t.dynamicProps,dynamicChildren:t.dynamicChildren,appContext:t.appContext,dirs:t.dirs,transition:w,component:t.component,suspense:t.suspense,ssContent:t.ssContent&&Cs(t.ssContent),ssFallback:t.ssFallback&&Cs(t.ssFallback),el:t.el,anchor:t.anchor,ctx:t.ctx,ce:t.ce};return w&&l&&Ga(A,w.clone(A)),A}function V0(t=" ",r=0){return st(Eo,null,t,r)}function xn(t="",r=!1){return r?(Fe(),ys(Pr,null,t)):st(Pr,null,t)}function Zn(t){return t==null||typeof t=="boolean"?st(Pr):De(t)?st(Rn,null,t.slice()):Zo(t)?Tr(t):st(Eo,null,String(t))}function Tr(t){return t.el===null&&t.patchFlag!==-1||t.memo?t:Cs(t)}function za(t,r){let o=0;const{shapeFlag:l}=t;if(r==null)r=null;else if(De(r))o=16;else if(typeof r=="object")if(l&65){const u=r.default;u&&(u._c&&(u._d=!1),za(t,u()),u._c&&(u._d=!0));return}else{o=32;const u=r._;!u&&!ld(r)?r._ctx=wn:u===3&&wn&&(wn.slots._===1?r._=1:(r._=2,t.patchFlag|=1024))}else $e(r)?(r={default:r,_ctx:wn},o=32):(r=String(r),l&64?(o=16,r=[V0(r)]):o=8);t.children=r,t.shapeFlag|=o}function H0(...t){const r={};for(let o=0;oJt||wn;let Jo,ha;{const t=ci(),r=(o,l)=>{let u;return(u=t[o])||(u=t[o]=[]),u.push(l),f=>{u.length>1?u.forEach(g=>g(f)):u[0](f)}};Jo=r("__VUE_INSTANCE_SETTERS__",o=>Jt=o),ha=r("__VUE_SSR_SETTERS__",o=>co=o)}const Ao=t=>{const r=Jt;return Jo(t),t.scope.on(),()=>{t.scope.off(),Jo(r)}},Vc=()=>{Jt&&Jt.scope.off(),Jo(null)};function bd(t){return t.vnode.shapeFlag&4}let co=!1;function Y0(t,r=!1,o=!1){r&&ha(r);const{props:l,children:u}=t.vnode,f=bd(t);y0(t,l,f,r),b0(t,u,o||r);const g=f?K0(t,r):void 0;return r&&ha(!1),g}function K0(t,r){const o=t.type;t.accessCache=Object.create(null),t.proxy=new Proxy(t.ctx,d0);const{setup:l}=o;if(l){gr();const u=t.setupContext=l.length>1?q0(t):null,f=Ao(t),g=yo(l,t,0,[t.props,u]),p=Cu(g);if(mr(),f(),(p||t.sp)&&!qs(t)&&Qu(t),p){if(g.then(Vc,Vc),r)return g.then(w=>{Hc(t,w)}).catch(w=>{di(w,t,0)});t.asyncDep=g}else Hc(t,g)}else _d(t)}function Hc(t,r,o){$e(r)?t.type.__ssrInlineRender?t.ssrRender=r:t.render=r:bt(r)&&(t.setupState=ju(r)),_d(t)}function _d(t,r,o){const l=t.type;t.render||(t.render=l.render||Jn);{const u=Ao(t);gr();try{f0(t)}finally{mr(),u()}}}const z0={get(t,r){return rn(t,"get",""),t[r]}};function q0(t){const r=o=>{t.exposed=o||{}};return{attrs:new Proxy(t.attrs,z0),slots:t.slots,emit:t.emit,expose:r}}function gi(t){return t.exposed?t.exposeProxy||(t.exposeProxy=new Proxy(ju(Vf(t.exposed)),{get(r,o){if(o in r)return r[o];if(o in Qs)return Qs[o](t)},has(r,o){return o in r||o in Qs}})):t.proxy}function Q0(t,r=!0){return $e(t)?t.displayName||t.name:t.name||r&&t.__name}function Z0(t){return $e(t)&&"__vccOpts"in t}const ht=(t,r)=>Xf(t,r,co);function mi(t,r,o){const l=arguments.length;return l===2?bt(r)&&!De(r)?Zo(r)?st(t,null,[r]):st(t,r):st(t,null,r):(l>3?o=Array.prototype.slice.call(arguments,2):l===3&&Zo(o)&&(o=[o]),st(t,r,o))}const J0="3.5.17";/** +* @vue/runtime-dom v3.5.17 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let ga;const Gc=typeof window<"u"&&window.trustedTypes;if(Gc)try{ga=Gc.createPolicy("vue",{createHTML:t=>t})}catch{}const Id=ga?t=>ga.createHTML(t):t=>t,eh="http://www.w3.org/2000/svg",th="http://www.w3.org/1998/Math/MathML",cr=typeof document<"u"?document:null,jc=cr&&cr.createElement("template"),nh={insert:(t,r,o)=>{r.insertBefore(t,o||null)},remove:t=>{const r=t.parentNode;r&&r.removeChild(t)},createElement:(t,r,o,l)=>{const u=r==="svg"?cr.createElementNS(eh,t):r==="mathml"?cr.createElementNS(th,t):o?cr.createElement(t,{is:o}):cr.createElement(t);return t==="select"&&l&&l.multiple!=null&&u.setAttribute("multiple",l.multiple),u},createText:t=>cr.createTextNode(t),createComment:t=>cr.createComment(t),setText:(t,r)=>{t.nodeValue=r},setElementText:(t,r)=>{t.textContent=r},parentNode:t=>t.parentNode,nextSibling:t=>t.nextSibling,querySelector:t=>cr.querySelector(t),setScopeId(t,r){t.setAttribute(r,"")},insertStaticContent(t,r,o,l,u,f){const g=o?o.previousSibling:r.lastChild;if(u&&(u===f||u.nextSibling))for(;r.insertBefore(u.cloneNode(!0),o),!(u===f||!(u=u.nextSibling)););else{jc.innerHTML=Id(l==="svg"?`${t}`:l==="mathml"?`${t}`:t);const p=jc.content;if(l==="svg"||l==="mathml"){const w=p.firstChild;for(;w.firstChild;)p.appendChild(w.firstChild);p.removeChild(w)}r.insertBefore(p,o)}return[g?g.nextSibling:r.firstChild,o?o.previousSibling:r.lastChild]}},rh=Symbol("_vtc");function sh(t,r,o){const l=t[rh];l&&(r=(r?[r,...l]:[...l]).join(" ")),r==null?t.removeAttribute("class"):o?t.setAttribute("class",r):t.className=r}const ei=Symbol("_vod"),Sd=Symbol("_vsh"),oh={beforeMount(t,{value:r},{transition:o}){t[ei]=t.style.display==="none"?"":t.style.display,o&&r?o.beforeEnter(t):Bs(t,r)},mounted(t,{value:r},{transition:o}){o&&r&&o.enter(t)},updated(t,{value:r,oldValue:o},{transition:l}){!r!=!o&&(l?r?(l.beforeEnter(t),Bs(t,!0),l.enter(t)):l.leave(t,()=>{Bs(t,!1)}):Bs(t,r))},beforeUnmount(t,{value:r}){Bs(t,r)}};function Bs(t,r){t.style.display=r?t[ei]:"none",t[Sd]=!r}const ih=Symbol(""),ah=/(^|;)\s*display\s*:/;function ch(t,r,o){const l=t.style,u=$t(o);let f=!1;if(o&&!u){if(r)if($t(r))for(const g of r.split(";")){const p=g.slice(0,g.indexOf(":")).trim();o[p]==null&&Ho(l,p,"")}else for(const g in r)o[g]==null&&Ho(l,g,"");for(const g in o)g==="display"&&(f=!0),Ho(l,g,o[g])}else if(u){if(r!==o){const g=l[ih];g&&(o+=";"+g),l.cssText=o,f=ah.test(o)}}else r&&t.removeAttribute("style");ei in t&&(t[ei]=f?l.display:"",t[Sd]&&(l.display="none"))}const Xc=/\s*!important$/;function Ho(t,r,o){if(De(o))o.forEach(l=>Ho(t,r,l));else if(o==null&&(o=""),r.startsWith("--"))t.setProperty(r,o);else{const l=lh(t,r);Xc.test(o)?t.setProperty(zr(l),o.replace(Xc,""),"important"):t[l]=o}}const Yc=["Webkit","Moz","ms"],zi={};function lh(t,r){const o=zi[r];if(o)return o;let l=Ln(r);if(l!=="filter"&&l in t)return zi[r]=l;l=ai(l);for(let u=0;uqi||(hh.then(()=>qi=0),qi=Date.now());function mh(t,r){const o=l=>{if(!l._vts)l._vts=Date.now();else if(l._vts<=o.attached)return;rr(ph(l,o.value),r,5,[l])};return o.value=t,o.attached=gh(),o}function ph(t,r){if(De(r)){const o=t.stopImmediatePropagation;return t.stopImmediatePropagation=()=>{o.call(t),t._stopped=!0},r.map(l=>u=>!u._stopped&&l&&l(u))}else return r}const Jc=t=>t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&t.charCodeAt(2)>96&&t.charCodeAt(2)<123,xh=(t,r,o,l,u,f)=>{const g=u==="svg";r==="class"?sh(t,l,g):r==="style"?ch(t,o,l):oi(r)?Na(r)||dh(t,r,o,l,f):(r[0]==="."?(r=r.slice(1),!0):r[0]==="^"?(r=r.slice(1),!1):wh(t,r,l,g))?(qc(t,r,l),!t.tagName.includes("-")&&(r==="value"||r==="checked"||r==="selected")&&zc(t,r,l,g,f,r!=="value")):t._isVueCE&&(/[A-Z]/.test(r)||!$t(l))?qc(t,Ln(r),l,f,r):(r==="true-value"?t._trueValue=l:r==="false-value"&&(t._falseValue=l),zc(t,r,l,g))};function wh(t,r,o,l){if(l)return!!(r==="innerHTML"||r==="textContent"||r in t&&Jc(r)&&$e(o));if(r==="spellcheck"||r==="draggable"||r==="translate"||r==="autocorrect"||r==="form"||r==="list"&&t.tagName==="INPUT"||r==="type"&&t.tagName==="TEXTAREA")return!1;if(r==="width"||r==="height"){const u=t.tagName;if(u==="IMG"||u==="VIDEO"||u==="CANVAS"||u==="SOURCE")return!1}return Jc(r)&&$t(o)?!1:r in t}const Es=t=>{const r=t.props["onUpdate:modelValue"]||!1;return De(r)?o=>Uo(r,o):r};function yh(t){t.target.composing=!0}function el(t){const r=t.target;r.composing&&(r.composing=!1,r.dispatchEvent(new Event("input")))}const hr=Symbol("_assign"),Js={created(t,{modifiers:{lazy:r,trim:o,number:l}},u){t[hr]=Es(u);const f=l||u.props&&u.props.type==="number";kr(t,r?"change":"input",g=>{if(g.target.composing)return;let p=t.value;o&&(p=p.trim()),f&&(p=jo(p)),t[hr](p)}),o&&kr(t,"change",()=>{t.value=t.value.trim()}),r||(kr(t,"compositionstart",yh),kr(t,"compositionend",el),kr(t,"change",el))},mounted(t,{value:r}){t.value=r??""},beforeUpdate(t,{value:r,oldValue:o,modifiers:{lazy:l,trim:u,number:f}},g){if(t[hr]=Es(g),t.composing)return;const p=(f||t.type==="number")&&!/^0\d/.test(t.value)?jo(t.value):t.value,w=r??"";p!==w&&(document.activeElement===t&&t.type!=="range"&&(l&&r===o||u&&t.value.trim()===w)||(t.value=w))}},Ch={deep:!0,created(t,r,o){t[hr]=Es(o),kr(t,"change",()=>{const l=t._modelValue,u=lo(t),f=t.checked,g=t[hr];if(De(l)){const p=Pa(l,u),w=p!==-1;if(f&&!w)g(l.concat(u));else if(!f&&w){const x=[...l];x.splice(p,1),g(x)}}else if(Ts(l)){const p=new Set(l);f?p.add(u):p.delete(u),g(p)}else g(Td(t,f))})},mounted:tl,beforeUpdate(t,r,o){t[hr]=Es(o),tl(t,r,o)}};function tl(t,{value:r,oldValue:o},l){t._modelValue=r;let u;if(De(r))u=Pa(r,l.props.value)>-1;else if(Ts(r))u=r.has(l.props.value);else{if(r===o)return;u=wo(r,Td(t,!0))}t.checked!==u&&(t.checked=u)}const Eh={deep:!0,created(t,{value:r,modifiers:{number:o}},l){const u=Ts(r);kr(t,"change",()=>{const f=Array.prototype.filter.call(t.options,g=>g.selected).map(g=>o?jo(lo(g)):lo(g));t[hr](t.multiple?u?new Set(f):f:f[0]),t._assigning=!0,Va(()=>{t._assigning=!1})}),t[hr]=Es(l)},mounted(t,{value:r}){nl(t,r)},beforeUpdate(t,r,o){t[hr]=Es(o)},updated(t,{value:r}){t._assigning||nl(t,r)}};function nl(t,r){const o=t.multiple,l=De(r);if(!(o&&!l&&!Ts(r))){for(let u=0,f=t.options.length;uString(x)===String(p)):g.selected=Pa(r,p)>-1}else g.selected=r.has(p);else if(wo(lo(g),r)){t.selectedIndex!==u&&(t.selectedIndex=u);return}}!o&&t.selectedIndex!==-1&&(t.selectedIndex=-1)}}function lo(t){return"_value"in t?t._value:t.value}function Td(t,r){const o=r?"_trueValue":"_falseValue";return o in t?t[o]:r}const Ah=["ctrl","shift","alt","meta"],bh={stop:t=>t.stopPropagation(),prevent:t=>t.preventDefault(),self:t=>t.target!==t.currentTarget,ctrl:t=>!t.ctrlKey,shift:t=>!t.shiftKey,alt:t=>!t.altKey,meta:t=>!t.metaKey,left:t=>"button"in t&&t.button!==0,middle:t=>"button"in t&&t.button!==1,right:t=>"button"in t&&t.button!==2,exact:(t,r)=>Ah.some(o=>t[`${o}Key`]&&!r.includes(o))},vd=(t,r)=>{const o=t._withMods||(t._withMods={}),l=r.join(".");return o[l]||(o[l]=(u,...f)=>{for(let g=0;g{const r=Ih().createApp(...t),{mount:o}=r;return r.mount=l=>{const u=vh(l);if(!u)return;const f=r._component;!$e(f)&&!f.render&&!f.template&&(f.template=u.innerHTML),u.nodeType===1&&(u.textContent="");const g=o(u,!1,Th(u));return u instanceof Element&&(u.removeAttribute("v-cloak"),u.setAttribute("data-v-app","")),g},r};function Th(t){if(t instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&t instanceof MathMLElement)return"mathml"}function vh(t){return $t(t)?document.querySelector(t):t}/*! + * vue-router v4.5.1 + * (c) 2025 Eduardo San Martin Morote + * @license MIT + */const us=typeof document<"u";function kd(t){return typeof t=="object"||"displayName"in t||"props"in t||"__vccOpts"in t}function kh(t){return t.__esModule||t[Symbol.toStringTag]==="Module"||t.default&&kd(t.default)}const at=Object.assign;function Qi(t,r){const o={};for(const l in r){const u=r[l];o[l]=Wn(u)?u.map(t):t(u)}return o}const eo=()=>{},Wn=Array.isArray,Nd=/#/g,Nh=/&/g,Rh=/\//g,Oh=/=/g,Dh=/\?/g,Rd=/\+/g,Ph=/%5B/g,Lh=/%5D/g,Od=/%5E/g,Mh=/%60/g,Dd=/%7B/g,Fh=/%7C/g,Pd=/%7D/g,$h=/%20/g;function qa(t){return encodeURI(""+t).replace(Fh,"|").replace(Ph,"[").replace(Lh,"]")}function Bh(t){return qa(t).replace(Dd,"{").replace(Pd,"}").replace(Od,"^")}function ma(t){return qa(t).replace(Rd,"%2B").replace($h,"+").replace(Nd,"%23").replace(Nh,"%26").replace(Mh,"`").replace(Dd,"{").replace(Pd,"}").replace(Od,"^")}function Uh(t){return ma(t).replace(Oh,"%3D")}function Wh(t){return qa(t).replace(Nd,"%23").replace(Dh,"%3F")}function Vh(t){return t==null?"":Wh(t).replace(Rh,"%2F")}function uo(t){try{return decodeURIComponent(""+t)}catch{}return""+t}const Hh=/\/$/,Gh=t=>t.replace(Hh,"");function Zi(t,r,o="/"){let l,u={},f="",g="";const p=r.indexOf("#");let w=r.indexOf("?");return p=0&&(w=-1),w>-1&&(l=r.slice(0,w),f=r.slice(w+1,p>-1?p:r.length),u=t(f)),p>-1&&(l=l||r.slice(0,p),g=r.slice(p,r.length)),l=Kh(l??r,o),{fullPath:l+(f&&"?")+f+g,path:l,query:u,hash:uo(g)}}function jh(t,r){const o=r.query?t(r.query):"";return r.path+(o&&"?")+o+(r.hash||"")}function sl(t,r){return!r||!t.toLowerCase().startsWith(r.toLowerCase())?t:t.slice(r.length)||"/"}function Xh(t,r,o){const l=r.matched.length-1,u=o.matched.length-1;return l>-1&&l===u&&As(r.matched[l],o.matched[u])&&Ld(r.params,o.params)&&t(r.query)===t(o.query)&&r.hash===o.hash}function As(t,r){return(t.aliasOf||t)===(r.aliasOf||r)}function Ld(t,r){if(Object.keys(t).length!==Object.keys(r).length)return!1;for(const o in t)if(!Yh(t[o],r[o]))return!1;return!0}function Yh(t,r){return Wn(t)?ol(t,r):Wn(r)?ol(r,t):t===r}function ol(t,r){return Wn(r)?t.length===r.length&&t.every((o,l)=>o===r[l]):t.length===1&&t[0]===r}function Kh(t,r){if(t.startsWith("/"))return t;if(!t)return r;const o=r.split("/"),l=t.split("/"),u=l[l.length-1];(u===".."||u===".")&&l.push("");let f=o.length-1,g,p;for(g=0;g1&&f--;else break;return o.slice(0,f).join("/")+"/"+l.slice(g).join("/")}const _r={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};var fo;(function(t){t.pop="pop",t.push="push"})(fo||(fo={}));var to;(function(t){t.back="back",t.forward="forward",t.unknown=""})(to||(to={}));function zh(t){if(!t)if(us){const r=document.querySelector("base");t=r&&r.getAttribute("href")||"/",t=t.replace(/^\w+:\/\/[^\/]+/,"")}else t="/";return t[0]!=="/"&&t[0]!=="#"&&(t="/"+t),Gh(t)}const qh=/^[^#]+#/;function Qh(t,r){return t.replace(qh,"#")+r}function Zh(t,r){const o=document.documentElement.getBoundingClientRect(),l=t.getBoundingClientRect();return{behavior:r.behavior,left:l.left-o.left-(r.left||0),top:l.top-o.top-(r.top||0)}}const pi=()=>({left:window.scrollX,top:window.scrollY});function Jh(t){let r;if("el"in t){const o=t.el,l=typeof o=="string"&&o.startsWith("#"),u=typeof o=="string"?l?document.getElementById(o.slice(1)):document.querySelector(o):o;if(!u)return;r=Zh(u,t)}else r=t;"scrollBehavior"in document.documentElement.style?window.scrollTo(r):window.scrollTo(r.left!=null?r.left:window.scrollX,r.top!=null?r.top:window.scrollY)}function il(t,r){return(history.state?history.state.position-r:-1)+t}const pa=new Map;function eg(t,r){pa.set(t,r)}function tg(t){const r=pa.get(t);return pa.delete(t),r}let ng=()=>location.protocol+"//"+location.host;function Md(t,r){const{pathname:o,search:l,hash:u}=r,f=t.indexOf("#");if(f>-1){let p=u.includes(t.slice(f))?t.slice(f).length:1,w=u.slice(p);return w[0]!=="/"&&(w="/"+w),sl(w,"")}return sl(o,t)+l+u}function rg(t,r,o,l){let u=[],f=[],g=null;const p=({state:I})=>{const O=Md(t,location),z=o.value,U=r.value;let te=0;if(I){if(o.value=O,r.value=I,g&&g===z){g=null;return}te=U?I.position-U.position:0}else l(O);u.forEach(L=>{L(o.value,z,{delta:te,type:fo.pop,direction:te?te>0?to.forward:to.back:to.unknown})})};function w(){g=o.value}function x(I){u.push(I);const O=()=>{const z=u.indexOf(I);z>-1&&u.splice(z,1)};return f.push(O),O}function A(){const{history:I}=window;I.state&&I.replaceState(at({},I.state,{scroll:pi()}),"")}function C(){for(const I of f)I();f=[],window.removeEventListener("popstate",p),window.removeEventListener("beforeunload",A)}return window.addEventListener("popstate",p),window.addEventListener("beforeunload",A,{passive:!0}),{pauseListeners:w,listen:x,destroy:C}}function al(t,r,o,l=!1,u=!1){return{back:t,current:r,forward:o,replaced:l,position:window.history.length,scroll:u?pi():null}}function sg(t){const{history:r,location:o}=window,l={value:Md(t,o)},u={value:r.state};u.value||f(l.value,{back:null,current:l.value,forward:null,position:r.length-1,replaced:!0,scroll:null},!0);function f(w,x,A){const C=t.indexOf("#"),I=C>-1?(o.host&&document.querySelector("base")?t:t.slice(C))+w:ng()+t+w;try{r[A?"replaceState":"pushState"](x,"",I),u.value=x}catch(O){console.error(O),o[A?"replace":"assign"](I)}}function g(w,x){const A=at({},r.state,al(u.value.back,w,u.value.forward,!0),x,{position:u.value.position});f(w,A,!0),l.value=w}function p(w,x){const A=at({},u.value,r.state,{forward:w,scroll:pi()});f(A.current,A,!0);const C=at({},al(l.value,w,null),{position:A.position+1},x);f(w,C,!1),l.value=w}return{location:l,state:u,push:p,replace:g}}function og(t){t=zh(t);const r=sg(t),o=rg(t,r.state,r.location,r.replace);function l(f,g=!0){g||o.pauseListeners(),history.go(f)}const u=at({location:"",base:t,go:l,createHref:Qh.bind(null,t)},r,o);return Object.defineProperty(u,"location",{enumerable:!0,get:()=>r.location.value}),Object.defineProperty(u,"state",{enumerable:!0,get:()=>r.state.value}),u}function ig(t){return t=location.host?t||location.pathname+location.search:"",t.includes("#")||(t+="#"),og(t)}function ag(t){return typeof t=="string"||t&&typeof t=="object"}function Fd(t){return typeof t=="string"||typeof t=="symbol"}const $d=Symbol("");var cl;(function(t){t[t.aborted=4]="aborted",t[t.cancelled=8]="cancelled",t[t.duplicated=16]="duplicated"})(cl||(cl={}));function bs(t,r){return at(new Error,{type:t,[$d]:!0},r)}function or(t,r){return t instanceof Error&&$d in t&&(r==null||!!(t.type&r))}const ll="[^/]+?",cg={sensitive:!1,strict:!1,start:!0,end:!0},lg=/[.+*?^${}()[\]/\\]/g;function ug(t,r){const o=at({},cg,r),l=[];let u=o.start?"^":"";const f=[];for(const x of t){const A=x.length?[]:[90];o.strict&&!x.length&&(u+="/");for(let C=0;Cr.length?r.length===1&&r[0]===80?1:-1:0}function Bd(t,r){let o=0;const l=t.score,u=r.score;for(;o0&&r[r.length-1]<0}const fg={type:0,value:""},hg=/[a-zA-Z0-9_]/;function gg(t){if(!t)return[[]];if(t==="/")return[[fg]];if(!t.startsWith("/"))throw new Error(`Invalid path "${t}"`);function r(O){throw new Error(`ERR (${o})/"${x}": ${O}`)}let o=0,l=o;const u=[];let f;function g(){f&&u.push(f),f=[]}let p=0,w,x="",A="";function C(){x&&(o===0?f.push({type:0,value:x}):o===1||o===2||o===3?(f.length>1&&(w==="*"||w==="+")&&r(`A repeatable param (${x}) must be alone in its segment. eg: '/:ids+.`),f.push({type:1,value:x,regexp:A,repeatable:w==="*"||w==="+",optional:w==="*"||w==="?"})):r("Invalid state to consume buffer"),x="")}function I(){x+=w}for(;p{g(V)}:eo}function g(C){if(Fd(C)){const I=l.get(C);I&&(l.delete(C),o.splice(o.indexOf(I),1),I.children.forEach(g),I.alias.forEach(g))}else{const I=o.indexOf(C);I>-1&&(o.splice(I,1),C.record.name&&l.delete(C.record.name),C.children.forEach(g),C.alias.forEach(g))}}function p(){return o}function w(C){const I=yg(C,o);o.splice(I,0,C),C.record.name&&!hl(C)&&l.set(C.record.name,C)}function x(C,I){let O,z={},U,te;if("name"in C&&C.name){if(O=l.get(C.name),!O)throw bs(1,{location:C});te=O.record.name,z=at(dl(I.params,O.keys.filter(V=>!V.optional).concat(O.parent?O.parent.keys.filter(V=>V.optional):[]).map(V=>V.name)),C.params&&dl(C.params,O.keys.map(V=>V.name))),U=O.stringify(z)}else if(C.path!=null)U=C.path,O=o.find(V=>V.re.test(U)),O&&(z=O.parse(U),te=O.record.name);else{if(O=I.name?l.get(I.name):o.find(V=>V.re.test(I.path)),!O)throw bs(1,{location:C,currentLocation:I});te=O.record.name,z=at({},I.params,C.params),U=O.stringify(z)}const L=[];let W=O;for(;W;)L.unshift(W.record),W=W.parent;return{name:te,path:U,params:z,matched:L,meta:wg(L)}}t.forEach(C=>f(C));function A(){o.length=0,l.clear()}return{addRoute:f,resolve:x,removeRoute:g,clearRoutes:A,getRoutes:p,getRecordMatcher:u}}function dl(t,r){const o={};for(const l of r)l in t&&(o[l]=t[l]);return o}function fl(t){const r={path:t.path,redirect:t.redirect,name:t.name,meta:t.meta||{},aliasOf:t.aliasOf,beforeEnter:t.beforeEnter,props:xg(t),children:t.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in t?t.components||null:t.component&&{default:t.component}};return Object.defineProperty(r,"mods",{value:{}}),r}function xg(t){const r={},o=t.props||!1;if("component"in t)r.default=o;else for(const l in t.components)r[l]=typeof o=="object"?o[l]:o;return r}function hl(t){for(;t;){if(t.record.aliasOf)return!0;t=t.parent}return!1}function wg(t){return t.reduce((r,o)=>at(r,o.meta),{})}function gl(t,r){const o={};for(const l in t)o[l]=l in r?r[l]:t[l];return o}function yg(t,r){let o=0,l=r.length;for(;o!==l;){const f=o+l>>1;Bd(t,r[f])<0?l=f:o=f+1}const u=Cg(t);return u&&(l=r.lastIndexOf(u,l-1)),l}function Cg(t){let r=t;for(;r=r.parent;)if(Ud(r)&&Bd(t,r)===0)return r}function Ud({record:t}){return!!(t.name||t.components&&Object.keys(t.components).length||t.redirect)}function Eg(t){const r={};if(t===""||t==="?")return r;const l=(t[0]==="?"?t.slice(1):t).split("&");for(let u=0;uf&&ma(f)):[l&&ma(l)]).forEach(f=>{f!==void 0&&(r+=(r.length?"&":"")+o,f!=null&&(r+="="+f))})}return r}function Ag(t){const r={};for(const o in t){const l=t[o];l!==void 0&&(r[o]=Wn(l)?l.map(u=>u==null?null:""+u):l==null?l:""+l)}return r}const bg=Symbol(""),pl=Symbol(""),xi=Symbol(""),Qa=Symbol(""),xa=Symbol("");function Us(){let t=[];function r(l){return t.push(l),()=>{const u=t.indexOf(l);u>-1&&t.splice(u,1)}}function o(){t=[]}return{add:r,list:()=>t.slice(),reset:o}}function vr(t,r,o,l,u,f=g=>g()){const g=l&&(l.enterCallbacks[u]=l.enterCallbacks[u]||[]);return()=>new Promise((p,w)=>{const x=I=>{I===!1?w(bs(4,{from:o,to:r})):I instanceof Error?w(I):ag(I)?w(bs(2,{from:r,to:I})):(g&&l.enterCallbacks[u]===g&&typeof I=="function"&&g.push(I),p())},A=f(()=>t.call(l&&l.instances[u],r,o,x));let C=Promise.resolve(A);t.length<3&&(C=C.then(x)),C.catch(I=>w(I))})}function Ji(t,r,o,l,u=f=>f()){const f=[];for(const g of t)for(const p in g.components){let w=g.components[p];if(!(r!=="beforeRouteEnter"&&!g.instances[p]))if(kd(w)){const A=(w.__vccOpts||w)[r];A&&f.push(vr(A,o,l,g,p,u))}else{let x=w();f.push(()=>x.then(A=>{if(!A)throw new Error(`Couldn't resolve component "${p}" at "${g.path}"`);const C=kh(A)?A.default:A;g.mods[p]=A,g.components[p]=C;const O=(C.__vccOpts||C)[r];return O&&vr(O,o,l,g,p,u)()}))}}return f}function xl(t){const r=Pn(xi),o=Pn(Qa),l=ht(()=>{const w=Xe(t.to);return r.resolve(w)}),u=ht(()=>{const{matched:w}=l.value,{length:x}=w,A=w[x-1],C=o.matched;if(!A||!C.length)return-1;const I=C.findIndex(As.bind(null,A));if(I>-1)return I;const O=wl(w[x-2]);return x>1&&wl(A)===O&&C[C.length-1].path!==O?C.findIndex(As.bind(null,w[x-2])):I}),f=ht(()=>u.value>-1&&vg(o.params,l.value.params)),g=ht(()=>u.value>-1&&u.value===o.matched.length-1&&Ld(o.params,l.value.params));function p(w={}){if(Tg(w)){const x=r[Xe(t.replace)?"replace":"push"](Xe(t.to)).catch(eo);return t.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>x),x}return Promise.resolve()}return{route:l,href:ht(()=>l.value.href),isActive:f,isExactActive:g,navigate:p}}function _g(t){return t.length===1?t[0]:t}const Ig=Co({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"},viewTransition:Boolean},useLink:xl,setup(t,{slots:r}){const o=ui(xl(t)),{options:l}=Pn(xi),u=ht(()=>({[yl(t.activeClass,l.linkActiveClass,"router-link-active")]:o.isActive,[yl(t.exactActiveClass,l.linkExactActiveClass,"router-link-exact-active")]:o.isExactActive}));return()=>{const f=r.default&&_g(r.default(o));return t.custom?f:mi("a",{"aria-current":o.isExactActive?t.ariaCurrentValue:null,href:o.href,onClick:o.navigate,class:u.value},f)}}}),Sg=Ig;function Tg(t){if(!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)&&!t.defaultPrevented&&!(t.button!==void 0&&t.button!==0)){if(t.currentTarget&&t.currentTarget.getAttribute){const r=t.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(r))return}return t.preventDefault&&t.preventDefault(),!0}}function vg(t,r){for(const o in r){const l=r[o],u=t[o];if(typeof l=="string"){if(l!==u)return!1}else if(!Wn(u)||u.length!==l.length||l.some((f,g)=>f!==u[g]))return!1}return!0}function wl(t){return t?t.aliasOf?t.aliasOf.path:t.path:""}const yl=(t,r,o)=>t??r??o,kg=Co({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(t,{attrs:r,slots:o}){const l=Pn(xa),u=ht(()=>t.route||l.value),f=Pn(pl,0),g=ht(()=>{let x=Xe(f);const{matched:A}=u.value;let C;for(;(C=A[x])&&!C.components;)x++;return x}),p=ht(()=>u.value.matched[g.value]);Wo(pl,ht(()=>g.value+1)),Wo(bg,p),Wo(xa,u);const w=gt();return Or(()=>[w.value,p.value,t.name],([x,A,C],[I,O,z])=>{A&&(A.instances[C]=x,O&&O!==A&&x&&x===I&&(A.leaveGuards.size||(A.leaveGuards=O.leaveGuards),A.updateGuards.size||(A.updateGuards=O.updateGuards))),x&&A&&(!O||!As(A,O)||!I)&&(A.enterCallbacks[C]||[]).forEach(U=>U(x))},{flush:"post"}),()=>{const x=u.value,A=t.name,C=p.value,I=C&&C.components[A];if(!I)return Cl(o.default,{Component:I,route:x});const O=C.props[A],z=O?O===!0?x.params:typeof O=="function"?O(x):O:null,te=mi(I,at({},z,r,{onVnodeUnmounted:L=>{L.component.isUnmounted&&(C.instances[A]=null)},ref:w}));return Cl(o.default,{Component:te,route:x})||te}}});function Cl(t,r){if(!t)return null;const o=t(r);return o.length===1?o[0]:o}const Wd=kg;function Ng(t){const r=pg(t.routes,t),o=t.parseQuery||Eg,l=t.stringifyQuery||ml,u=t.history,f=Us(),g=Us(),p=Us(),w=Hu(_r);let x=_r;us&&t.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const A=Qi.bind(null,oe=>""+oe),C=Qi.bind(null,Vh),I=Qi.bind(null,uo);function O(oe,he){let pe,Ae;return Fd(oe)?(pe=r.getRecordMatcher(oe),Ae=he):Ae=oe,r.addRoute(Ae,pe)}function z(oe){const he=r.getRecordMatcher(oe);he&&r.removeRoute(he)}function U(){return r.getRoutes().map(oe=>oe.record)}function te(oe){return!!r.getRecordMatcher(oe)}function L(oe,he){if(he=at({},he||w.value),typeof oe=="string"){const G=Zi(o,oe,he.path),ne=r.resolve({path:G.path},he),ie=u.createHref(G.fullPath);return at(G,ne,{params:I(ne.params),hash:uo(G.hash),redirectedFrom:void 0,href:ie})}let pe;if(oe.path!=null)pe=at({},oe,{path:Zi(o,oe.path,he.path).path});else{const G=at({},oe.params);for(const ne in G)G[ne]==null&&delete G[ne];pe=at({},oe,{params:C(G)}),he.params=C(he.params)}const Ae=r.resolve(pe,he),Le=oe.hash||"";Ae.params=A(I(Ae.params));const D=jh(l,at({},oe,{hash:Bh(Le),path:Ae.path})),R=u.createHref(D);return at({fullPath:D,hash:Le,query:l===ml?Ag(oe.query):oe.query||{}},Ae,{redirectedFrom:void 0,href:R})}function W(oe){return typeof oe=="string"?Zi(o,oe,w.value.path):at({},oe)}function V(oe,he){if(x!==oe)return bs(8,{from:he,to:oe})}function F(oe){return k(oe)}function ce(oe){return F(at(W(oe),{replace:!0}))}function se(oe){const he=oe.matched[oe.matched.length-1];if(he&&he.redirect){const{redirect:pe}=he;let Ae=typeof pe=="function"?pe(oe):pe;return typeof Ae=="string"&&(Ae=Ae.includes("?")||Ae.includes("#")?Ae=W(Ae):{path:Ae},Ae.params={}),at({query:oe.query,hash:oe.hash,params:Ae.path!=null?{}:oe.params},Ae)}}function k(oe,he){const pe=x=L(oe),Ae=w.value,Le=oe.state,D=oe.force,R=oe.replace===!0,G=se(pe);if(G)return k(at(W(G),{state:typeof G=="object"?at({},Le,G.state):Le,force:D,replace:R}),he||pe);const ne=pe;ne.redirectedFrom=he;let ie;return!D&&Xh(l,Ae,pe)&&(ie=bs(16,{to:ne,from:Ae}),Ht(Ae,Ae,!0,!1)),(ie?Promise.resolve(ie):Te(ne,Ae)).catch(ee=>or(ee)?or(ee,2)?ee:Rt(ee):We(ee,ne,Ae)).then(ee=>{if(ee){if(or(ee,2))return k(at({replace:R},W(ee.to),{state:typeof ee.to=="object"?at({},Le,ee.to.state):Le,force:D}),he||ne)}else ee=de(ne,Ae,!0,R,Le);return ke(ne,Ae,ee),ee})}function re(oe,he){const pe=V(oe,he);return pe?Promise.reject(pe):Promise.resolve()}function K(oe){const he=yt.values().next().value;return he&&typeof he.runWithContext=="function"?he.runWithContext(oe):oe()}function Te(oe,he){let pe;const[Ae,Le,D]=Rg(oe,he);pe=Ji(Ae.reverse(),"beforeRouteLeave",oe,he);for(const G of Ae)G.leaveGuards.forEach(ne=>{pe.push(vr(ne,oe,he))});const R=re.bind(null,oe,he);return pe.push(R),Ee(pe).then(()=>{pe=[];for(const G of f.list())pe.push(vr(G,oe,he));return pe.push(R),Ee(pe)}).then(()=>{pe=Ji(Le,"beforeRouteUpdate",oe,he);for(const G of Le)G.updateGuards.forEach(ne=>{pe.push(vr(ne,oe,he))});return pe.push(R),Ee(pe)}).then(()=>{pe=[];for(const G of D)if(G.beforeEnter)if(Wn(G.beforeEnter))for(const ne of G.beforeEnter)pe.push(vr(ne,oe,he));else pe.push(vr(G.beforeEnter,oe,he));return pe.push(R),Ee(pe)}).then(()=>(oe.matched.forEach(G=>G.enterCallbacks={}),pe=Ji(D,"beforeRouteEnter",oe,he,K),pe.push(R),Ee(pe))).then(()=>{pe=[];for(const G of g.list())pe.push(vr(G,oe,he));return pe.push(R),Ee(pe)}).catch(G=>or(G,8)?G:Promise.reject(G))}function ke(oe,he,pe){p.list().forEach(Ae=>K(()=>Ae(oe,he,pe)))}function de(oe,he,pe,Ae,Le){const D=V(oe,he);if(D)return D;const R=he===_r,G=us?history.state:{};pe&&(Ae||R?u.replace(oe.fullPath,at({scroll:R&&G&&G.scroll},Le)):u.push(oe.fullPath,Le)),w.value=oe,Ht(oe,he,pe,R),Rt()}let Se;function Ke(){Se||(Se=u.listen((oe,he,pe)=>{if(!Mn.listening)return;const Ae=L(oe),Le=se(Ae);if(Le){k(at(Le,{replace:!0,force:!0}),Ae).catch(eo);return}x=Ae;const D=w.value;us&&eg(il(D.fullPath,pe.delta),pi()),Te(Ae,D).catch(R=>or(R,12)?R:or(R,2)?(k(at(W(R.to),{force:!0}),Ae).then(G=>{or(G,20)&&!pe.delta&&pe.type===fo.pop&&u.go(-1,!1)}).catch(eo),Promise.reject()):(pe.delta&&u.go(-pe.delta,!1),We(R,Ae,D))).then(R=>{R=R||de(Ae,D,!1),R&&(pe.delta&&!or(R,8)?u.go(-pe.delta,!1):pe.type===fo.pop&&or(R,20)&&u.go(-1,!1)),ke(Ae,D,R)}).catch(eo)}))}let Z=Us(),Ue=Us(),ye;function We(oe,he,pe){Rt(oe);const Ae=Ue.list();return Ae.length?Ae.forEach(Le=>Le(oe,he,pe)):console.error(oe),Promise.reject(oe)}function dt(){return ye&&w.value!==_r?Promise.resolve():new Promise((oe,he)=>{Z.add([oe,he])})}function Rt(oe){return ye||(ye=!oe,Ke(),Z.list().forEach(([he,pe])=>oe?pe(oe):he()),Z.reset()),oe}function Ht(oe,he,pe,Ae){const{scrollBehavior:Le}=t;if(!us||!Le)return Promise.resolve();const D=!pe&&tg(il(oe.fullPath,0))||(Ae||!pe)&&history.state&&history.state.scroll||null;return Va().then(()=>Le(oe,he,D)).then(R=>R&&Jh(R)).catch(R=>We(R,oe,he))}const Ze=oe=>u.go(oe);let Gt;const yt=new Set,Mn={currentRoute:w,listening:!0,addRoute:O,removeRoute:z,clearRoutes:r.clearRoutes,hasRoute:te,getRoutes:U,resolve:L,options:t,push:F,replace:ce,go:Ze,back:()=>Ze(-1),forward:()=>Ze(1),beforeEach:f.add,beforeResolve:g.add,afterEach:p.add,onError:Ue.add,isReady:dt,install(oe){const he=this;oe.component("RouterLink",Sg),oe.component("RouterView",Wd),oe.config.globalProperties.$router=he,Object.defineProperty(oe.config.globalProperties,"$route",{enumerable:!0,get:()=>Xe(w)}),us&&!Gt&&w.value===_r&&(Gt=!0,F(u.location).catch(Le=>{}));const pe={};for(const Le in _r)Object.defineProperty(pe,Le,{get:()=>w.value[Le],enumerable:!0});oe.provide(xi,he),oe.provide(Qa,Wu(pe)),oe.provide(xa,w);const Ae=oe.unmount;yt.add(oe),oe.unmount=function(){yt.delete(oe),yt.size<1&&(x=_r,Se&&Se(),Se=null,w.value=_r,Gt=!1,ye=!1),Ae()}}};function Ee(oe){return oe.reduce((he,pe)=>he.then(()=>K(pe)),Promise.resolve())}return Mn}function Rg(t,r){const o=[],l=[],u=[],f=Math.max(r.matched.length,t.matched.length);for(let g=0;gAs(x,p))?l.push(p):o.push(p));const w=t.matched[g];w&&(r.matched.find(x=>As(x,w))||u.push(w))}return[o,l,u]}function Qr(){return Pn(xi)}function Vd(t){return Pn(Qa)}/*! + * shared v11.1.8 + * (c) 2025 kazuya kawaguchi + * Released under the MIT License. + */const ti=typeof window<"u",Lr=(t,r=!1)=>r?Symbol.for(t):Symbol(t),Og=(t,r,o)=>Dg({l:t,k:r,s:o}),Dg=t=>JSON.stringify(t).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),Bt=t=>typeof t=="number"&&isFinite(t),Pg=t=>Za(t)==="[object Date]",_s=t=>Za(t)==="[object RegExp]",wi=t=>Ye(t)&&Object.keys(t).length===0,Vt=Object.assign,Lg=Object.create,mt=(t=null)=>Lg(t);let El;const Yr=()=>El||(El=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:mt());function Al(t){return t.replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}const Mg=Object.prototype.hasOwnProperty;function Bn(t,r){return Mg.call(t,r)}const Lt=Array.isArray,Tt=t=>typeof t=="function",Ie=t=>typeof t=="string",tt=t=>typeof t=="boolean",ot=t=>t!==null&&typeof t=="object",Fg=t=>ot(t)&&Tt(t.then)&&Tt(t.catch),Hd=Object.prototype.toString,Za=t=>Hd.call(t),Ye=t=>Za(t)==="[object Object]",$g=t=>t==null?"":Lt(t)||Ye(t)&&t.toString===Hd?JSON.stringify(t,null,2):String(t);function Ja(t,r=""){return t.reduce((o,l,u)=>u===0?o+l:o+r+l,"")}function Bg(t,r){typeof console<"u"&&(console.warn("[intlify] "+t),r&&console.warn(r.stack))}const Lo=t=>!ot(t)||Lt(t);function Go(t,r){if(Lo(t)||Lo(r))throw new Error("Invalid value");const o=[{src:t,des:r}];for(;o.length;){const{src:l,des:u}=o.pop();Object.keys(l).forEach(f=>{f!=="__proto__"&&(ot(l[f])&&!ot(u[f])&&(u[f]=Array.isArray(l[f])?[]:mt()),Lo(u[f])||Lo(l[f])?u[f]=l[f]:o.push({src:l[f],des:u[f]}))})}}/*! + * message-compiler v11.1.8 + * (c) 2025 kazuya kawaguchi + * Released under the MIT License. + */function Ug(t,r,o){return{line:t,column:r,offset:o}}function wa(t,r,o){return{start:t,end:r}}const ut={EXPECTED_TOKEN:1,INVALID_TOKEN_IN_PLACEHOLDER:2,UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER:3,UNKNOWN_ESCAPE_SEQUENCE:4,INVALID_UNICODE_ESCAPE_SEQUENCE:5,UNBALANCED_CLOSING_BRACE:6,UNTERMINATED_CLOSING_BRACE:7,EMPTY_PLACEHOLDER:8,NOT_ALLOW_NEST_PLACEHOLDER:9,INVALID_LINKED_FORMAT:10,MUST_HAVE_MESSAGES_IN_PLURAL:11,UNEXPECTED_EMPTY_LINKED_MODIFIER:12,UNEXPECTED_EMPTY_LINKED_KEY:13,UNEXPECTED_LEXICAL_ANALYSIS:14},Wg=17;function yi(t,r,o={}){const{domain:l,messages:u,args:f}=o,g=t,p=new SyntaxError(String(g));return p.code=t,r&&(p.location=r),p.domain=l,p}function Vg(t){throw t}const ir=" ",Hg="\r",ln=` +`,Gg="\u2028",jg="\u2029";function Xg(t){const r=t;let o=0,l=1,u=1,f=0;const g=k=>r[k]===Hg&&r[k+1]===ln,p=k=>r[k]===ln,w=k=>r[k]===jg,x=k=>r[k]===Gg,A=k=>g(k)||p(k)||w(k)||x(k),C=()=>o,I=()=>l,O=()=>u,z=()=>f,U=k=>g(k)||w(k)||x(k)?ln:r[k],te=()=>U(o),L=()=>U(o+f);function W(){return f=0,A(o)&&(l++,u=0),g(o)&&o++,o++,u++,r[o]}function V(){return g(o+f)&&f++,f++,r[o+f]}function F(){o=0,l=1,u=1,f=0}function ce(k=0){f=k}function se(){const k=o+f;for(;k!==o;)W();f=0}return{index:C,line:I,column:O,peekOffset:z,charAt:U,currentChar:te,currentPeek:L,next:W,peek:V,reset:F,resetPeek:ce,skipToPeek:se}}const Ir=void 0,Yg=".",bl="'",Kg="tokenizer";function zg(t,r={}){const o=r.location!==!1,l=Xg(t),u=()=>l.index(),f=()=>Ug(l.line(),l.column(),l.index()),g=f(),p=u(),w={currentType:13,offset:p,startLoc:g,endLoc:g,lastType:13,lastOffset:p,lastStartLoc:g,lastEndLoc:g,braceNest:0,inLinked:!1,text:""},x=()=>w,{onError:A}=r;function C(S,T,H,...M){const xe=x();if(T.column+=H,T.offset+=H,A){const ae=o?wa(xe.startLoc,T):null,B=yi(S,ae,{domain:Kg,args:M});A(B)}}function I(S,T,H){S.endLoc=f(),S.currentType=T;const M={type:T};return o&&(M.loc=wa(S.startLoc,S.endLoc)),H!=null&&(M.value=H),M}const O=S=>I(S,13);function z(S,T){return S.currentChar()===T?(S.next(),T):(C(ut.EXPECTED_TOKEN,f(),0,T),"")}function U(S){let T="";for(;S.currentPeek()===ir||S.currentPeek()===ln;)T+=S.currentPeek(),S.peek();return T}function te(S){const T=U(S);return S.skipToPeek(),T}function L(S){if(S===Ir)return!1;const T=S.charCodeAt(0);return T>=97&&T<=122||T>=65&&T<=90||T===95}function W(S){if(S===Ir)return!1;const T=S.charCodeAt(0);return T>=48&&T<=57}function V(S,T){const{currentType:H}=T;if(H!==2)return!1;U(S);const M=L(S.currentPeek());return S.resetPeek(),M}function F(S,T){const{currentType:H}=T;if(H!==2)return!1;U(S);const M=S.currentPeek()==="-"?S.peek():S.currentPeek(),xe=W(M);return S.resetPeek(),xe}function ce(S,T){const{currentType:H}=T;if(H!==2)return!1;U(S);const M=S.currentPeek()===bl;return S.resetPeek(),M}function se(S,T){const{currentType:H}=T;if(H!==7)return!1;U(S);const M=S.currentPeek()===".";return S.resetPeek(),M}function k(S,T){const{currentType:H}=T;if(H!==8)return!1;U(S);const M=L(S.currentPeek());return S.resetPeek(),M}function re(S,T){const{currentType:H}=T;if(!(H===7||H===11))return!1;U(S);const M=S.currentPeek()===":";return S.resetPeek(),M}function K(S,T){const{currentType:H}=T;if(H!==9)return!1;const M=()=>{const ae=S.currentPeek();return ae==="{"?L(S.peek()):ae==="@"||ae==="|"||ae===":"||ae==="."||ae===ir||!ae?!1:ae===ln?(S.peek(),M()):ke(S,!1)},xe=M();return S.resetPeek(),xe}function Te(S){U(S);const T=S.currentPeek()==="|";return S.resetPeek(),T}function ke(S,T=!0){const H=(xe=!1,ae="")=>{const B=S.currentPeek();return B==="{"||B==="@"||!B?xe:B==="|"?!(ae===ir||ae===ln):B===ir?(S.peek(),H(!0,ir)):B===ln?(S.peek(),H(!0,ln)):!0},M=H();return T&&S.resetPeek(),M}function de(S,T){const H=S.currentChar();return H===Ir?Ir:T(H)?(S.next(),H):null}function Se(S){const T=S.charCodeAt(0);return T>=97&&T<=122||T>=65&&T<=90||T>=48&&T<=57||T===95||T===36}function Ke(S){return de(S,Se)}function Z(S){const T=S.charCodeAt(0);return T>=97&&T<=122||T>=65&&T<=90||T>=48&&T<=57||T===95||T===36||T===45}function Ue(S){return de(S,Z)}function ye(S){const T=S.charCodeAt(0);return T>=48&&T<=57}function We(S){return de(S,ye)}function dt(S){const T=S.charCodeAt(0);return T>=48&&T<=57||T>=65&&T<=70||T>=97&&T<=102}function Rt(S){return de(S,dt)}function Ht(S){let T="",H="";for(;T=We(S);)H+=T;return H}function Ze(S){let T="";for(;;){const H=S.currentChar();if(H==="{"||H==="}"||H==="@"||H==="|"||!H)break;if(H===ir||H===ln)if(ke(S))T+=H,S.next();else{if(Te(S))break;T+=H,S.next()}else T+=H,S.next()}return T}function Gt(S){te(S);let T="",H="";for(;T=Ue(S);)H+=T;return S.currentChar()===Ir&&C(ut.UNTERMINATED_CLOSING_BRACE,f(),0),H}function yt(S){te(S);let T="";return S.currentChar()==="-"?(S.next(),T+=`-${Ht(S)}`):T+=Ht(S),S.currentChar()===Ir&&C(ut.UNTERMINATED_CLOSING_BRACE,f(),0),T}function Mn(S){return S!==bl&&S!==ln}function Ee(S){te(S),z(S,"'");let T="",H="";for(;T=de(S,Mn);)T==="\\"?H+=oe(S):H+=T;const M=S.currentChar();return M===ln||M===Ir?(C(ut.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,f(),0),M===ln&&(S.next(),z(S,"'")),H):(z(S,"'"),H)}function oe(S){const T=S.currentChar();switch(T){case"\\":case"'":return S.next(),`\\${T}`;case"u":return he(S,T,4);case"U":return he(S,T,6);default:return C(ut.UNKNOWN_ESCAPE_SEQUENCE,f(),0,T),""}}function he(S,T,H){z(S,T);let M="";for(let xe=0;xe{const M=S.currentChar();return M==="{"||M==="@"||M==="|"||M==="("||M===")"||!M||M===ir?H:(H+=M,S.next(),T(H))};return T("")}function R(S){te(S);const T=z(S,"|");return te(S),T}function G(S,T){let H=null;switch(S.currentChar()){case"{":return T.braceNest>=1&&C(ut.NOT_ALLOW_NEST_PLACEHOLDER,f(),0),S.next(),H=I(T,2,"{"),te(S),T.braceNest++,H;case"}":return T.braceNest>0&&T.currentType===2&&C(ut.EMPTY_PLACEHOLDER,f(),0),S.next(),H=I(T,3,"}"),T.braceNest--,T.braceNest>0&&te(S),T.inLinked&&T.braceNest===0&&(T.inLinked=!1),H;case"@":return T.braceNest>0&&C(ut.UNTERMINATED_CLOSING_BRACE,f(),0),H=ne(S,T)||O(T),T.braceNest=0,H;default:{let xe=!0,ae=!0,B=!0;if(Te(S))return T.braceNest>0&&C(ut.UNTERMINATED_CLOSING_BRACE,f(),0),H=I(T,1,R(S)),T.braceNest=0,T.inLinked=!1,H;if(T.braceNest>0&&(T.currentType===4||T.currentType===5||T.currentType===6))return C(ut.UNTERMINATED_CLOSING_BRACE,f(),0),T.braceNest=0,ie(S,T);if(xe=V(S,T))return H=I(T,4,Gt(S)),te(S),H;if(ae=F(S,T))return H=I(T,5,yt(S)),te(S),H;if(B=ce(S,T))return H=I(T,6,Ee(S)),te(S),H;if(!xe&&!ae&&!B)return H=I(T,12,Ae(S)),C(ut.INVALID_TOKEN_IN_PLACEHOLDER,f(),0,H.value),te(S),H;break}}return H}function ne(S,T){const{currentType:H}=T;let M=null;const xe=S.currentChar();switch((H===7||H===8||H===11||H===9)&&(xe===ln||xe===ir)&&C(ut.INVALID_LINKED_FORMAT,f(),0),xe){case"@":return S.next(),M=I(T,7,"@"),T.inLinked=!0,M;case".":return te(S),S.next(),I(T,8,".");case":":return te(S),S.next(),I(T,9,":");default:return Te(S)?(M=I(T,1,R(S)),T.braceNest=0,T.inLinked=!1,M):se(S,T)||re(S,T)?(te(S),ne(S,T)):k(S,T)?(te(S),I(T,11,Le(S))):K(S,T)?(te(S),xe==="{"?G(S,T)||M:I(T,10,D(S))):(H===7&&C(ut.INVALID_LINKED_FORMAT,f(),0),T.braceNest=0,T.inLinked=!1,ie(S,T))}}function ie(S,T){let H={type:13};if(T.braceNest>0)return G(S,T)||O(T);if(T.inLinked)return ne(S,T)||O(T);switch(S.currentChar()){case"{":return G(S,T)||O(T);case"}":return C(ut.UNBALANCED_CLOSING_BRACE,f(),0),S.next(),I(T,3,"}");case"@":return ne(S,T)||O(T);default:{if(Te(S))return H=I(T,1,R(S)),T.braceNest=0,T.inLinked=!1,H;if(ke(S))return I(T,0,Ze(S));break}}return H}function ee(){const{currentType:S,offset:T,startLoc:H,endLoc:M}=w;return w.lastType=S,w.lastOffset=T,w.lastStartLoc=H,w.lastEndLoc=M,w.offset=u(),w.startLoc=f(),l.currentChar()===Ir?I(w,13):ie(l,w)}return{nextToken:ee,currentOffset:u,currentPosition:f,context:x}}const qg="parser",Qg=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function Zg(t,r,o){switch(t){case"\\\\":return"\\";case"\\'":return"'";default:{const l=parseInt(r||o,16);return l<=55295||l>=57344?String.fromCodePoint(l):"�"}}}function Jg(t={}){const r=t.location!==!1,{onError:o}=t;function l(L,W,V,F,...ce){const se=L.currentPosition();if(se.offset+=F,se.column+=F,o){const k=r?wa(V,se):null,re=yi(W,k,{domain:qg,args:ce});o(re)}}function u(L,W,V){const F={type:L};return r&&(F.start=W,F.end=W,F.loc={start:V,end:V}),F}function f(L,W,V,F){r&&(L.end=W,L.loc&&(L.loc.end=V))}function g(L,W){const V=L.context(),F=u(3,V.offset,V.startLoc);return F.value=W,f(F,L.currentOffset(),L.currentPosition()),F}function p(L,W){const V=L.context(),{lastOffset:F,lastStartLoc:ce}=V,se=u(5,F,ce);return se.index=parseInt(W,10),L.nextToken(),f(se,L.currentOffset(),L.currentPosition()),se}function w(L,W){const V=L.context(),{lastOffset:F,lastStartLoc:ce}=V,se=u(4,F,ce);return se.key=W,L.nextToken(),f(se,L.currentOffset(),L.currentPosition()),se}function x(L,W){const V=L.context(),{lastOffset:F,lastStartLoc:ce}=V,se=u(9,F,ce);return se.value=W.replace(Qg,Zg),L.nextToken(),f(se,L.currentOffset(),L.currentPosition()),se}function A(L){const W=L.nextToken(),V=L.context(),{lastOffset:F,lastStartLoc:ce}=V,se=u(8,F,ce);return W.type!==11?(l(L,ut.UNEXPECTED_EMPTY_LINKED_MODIFIER,V.lastStartLoc,0),se.value="",f(se,F,ce),{nextConsumeToken:W,node:se}):(W.value==null&&l(L,ut.UNEXPECTED_LEXICAL_ANALYSIS,V.lastStartLoc,0,qn(W)),se.value=W.value||"",f(se,L.currentOffset(),L.currentPosition()),{node:se})}function C(L,W){const V=L.context(),F=u(7,V.offset,V.startLoc);return F.value=W,f(F,L.currentOffset(),L.currentPosition()),F}function I(L){const W=L.context(),V=u(6,W.offset,W.startLoc);let F=L.nextToken();if(F.type===8){const ce=A(L);V.modifier=ce.node,F=ce.nextConsumeToken||L.nextToken()}switch(F.type!==9&&l(L,ut.UNEXPECTED_LEXICAL_ANALYSIS,W.lastStartLoc,0,qn(F)),F=L.nextToken(),F.type===2&&(F=L.nextToken()),F.type){case 10:F.value==null&&l(L,ut.UNEXPECTED_LEXICAL_ANALYSIS,W.lastStartLoc,0,qn(F)),V.key=C(L,F.value||"");break;case 4:F.value==null&&l(L,ut.UNEXPECTED_LEXICAL_ANALYSIS,W.lastStartLoc,0,qn(F)),V.key=w(L,F.value||"");break;case 5:F.value==null&&l(L,ut.UNEXPECTED_LEXICAL_ANALYSIS,W.lastStartLoc,0,qn(F)),V.key=p(L,F.value||"");break;case 6:F.value==null&&l(L,ut.UNEXPECTED_LEXICAL_ANALYSIS,W.lastStartLoc,0,qn(F)),V.key=x(L,F.value||"");break;default:{l(L,ut.UNEXPECTED_EMPTY_LINKED_KEY,W.lastStartLoc,0);const ce=L.context(),se=u(7,ce.offset,ce.startLoc);return se.value="",f(se,ce.offset,ce.startLoc),V.key=se,f(V,ce.offset,ce.startLoc),{nextConsumeToken:F,node:V}}}return f(V,L.currentOffset(),L.currentPosition()),{node:V}}function O(L){const W=L.context(),V=W.currentType===1?L.currentOffset():W.offset,F=W.currentType===1?W.endLoc:W.startLoc,ce=u(2,V,F);ce.items=[];let se=null;do{const K=se||L.nextToken();switch(se=null,K.type){case 0:K.value==null&&l(L,ut.UNEXPECTED_LEXICAL_ANALYSIS,W.lastStartLoc,0,qn(K)),ce.items.push(g(L,K.value||""));break;case 5:K.value==null&&l(L,ut.UNEXPECTED_LEXICAL_ANALYSIS,W.lastStartLoc,0,qn(K)),ce.items.push(p(L,K.value||""));break;case 4:K.value==null&&l(L,ut.UNEXPECTED_LEXICAL_ANALYSIS,W.lastStartLoc,0,qn(K)),ce.items.push(w(L,K.value||""));break;case 6:K.value==null&&l(L,ut.UNEXPECTED_LEXICAL_ANALYSIS,W.lastStartLoc,0,qn(K)),ce.items.push(x(L,K.value||""));break;case 7:{const Te=I(L);ce.items.push(Te.node),se=Te.nextConsumeToken||null;break}}}while(W.currentType!==13&&W.currentType!==1);const k=W.currentType===1?W.lastOffset:L.currentOffset(),re=W.currentType===1?W.lastEndLoc:L.currentPosition();return f(ce,k,re),ce}function z(L,W,V,F){const ce=L.context();let se=F.items.length===0;const k=u(1,W,V);k.cases=[],k.cases.push(F);do{const re=O(L);se||(se=re.items.length===0),k.cases.push(re)}while(ce.currentType!==13);return se&&l(L,ut.MUST_HAVE_MESSAGES_IN_PLURAL,V,0),f(k,L.currentOffset(),L.currentPosition()),k}function U(L){const W=L.context(),{offset:V,startLoc:F}=W,ce=O(L);return W.currentType===13?ce:z(L,V,F,ce)}function te(L){const W=zg(L,Vt({},t)),V=W.context(),F=u(0,V.offset,V.startLoc);return r&&F.loc&&(F.loc.source=L),F.body=U(W),t.onCacheKey&&(F.cacheKey=t.onCacheKey(L)),V.currentType!==13&&l(W,ut.UNEXPECTED_LEXICAL_ANALYSIS,V.lastStartLoc,0,L[V.offset]||""),f(F,W.currentOffset(),W.currentPosition()),F}return{parse:te}}function qn(t){if(t.type===13)return"EOF";const r=(t.value||"").replace(/\r?\n/gu,"\\n");return r.length>10?r.slice(0,9)+"…":r}function e2(t,r={}){const o={ast:t,helpers:new Set};return{context:()=>o,helper:f=>(o.helpers.add(f),f)}}function _l(t,r){for(let o=0;oIl(o)),t}function Il(t){if(t.items.length===1){const r=t.items[0];(r.type===3||r.type===9)&&(t.static=r.value,delete r.value)}else{const r=[];for(let o=0;og;function w(U,te){g.code+=U}function x(U,te=!0){const L=te?l:"";w(u?L+" ".repeat(U):L)}function A(U=!0){const te=++g.indentLevel;U&&x(te)}function C(U=!0){const te=--g.indentLevel;U&&x(te)}function I(){x(g.indentLevel)}return{context:p,push:w,indent:A,deindent:C,newline:I,helper:U=>`_${U}`,needIndent:()=>g.needIndent}}function s2(t,r){const{helper:o}=t;t.push(`${o("linked")}(`),Is(t,r.key),r.modifier?(t.push(", "),Is(t,r.modifier),t.push(", _type")):t.push(", undefined, _type"),t.push(")")}function o2(t,r){const{helper:o,needIndent:l}=t;t.push(`${o("normalize")}([`),t.indent(l());const u=r.items.length;for(let f=0;f1){t.push(`${o("plural")}([`),t.indent(l());const u=r.cases.length;for(let f=0;f{const o=Ie(r.mode)?r.mode:"normal",l=Ie(r.filename)?r.filename:"message.intl";r.sourceMap;const u=r.breakLineCode!=null?r.breakLineCode:o==="arrow"?";":` +`,f=r.needIndent?r.needIndent:o!=="arrow",g=t.helpers||[],p=r2(t,{filename:l,breakLineCode:u,needIndent:f});p.push(o==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),p.indent(f),g.length>0&&(p.push(`const { ${Ja(g.map(A=>`${A}: _${A}`),", ")} } = ctx`),p.newline()),p.push("return "),Is(p,t),p.deindent(f),p.push("}"),delete t.helpers;const{code:w,map:x}=p.context();return{ast:t,code:w,map:x?x.toJSON():void 0}};function l2(t,r={}){const o=Vt({},r),l=!!o.jit,u=!!o.minify,f=o.optimize==null?!0:o.optimize,p=Jg(o).parse(t);return l?(f&&n2(p),u&&ds(p),{ast:p,code:""}):(t2(p,o),c2(p,o))}/*! + * core-base v11.1.8 + * (c) 2025 kazuya kawaguchi + * Released under the MIT License. + */function u2(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Yr().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Yr().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function er(t){return ot(t)&&tc(t)===0&&(Bn(t,"b")||Bn(t,"body"))}const Gd=["b","body"];function d2(t){return Mr(t,Gd)}const jd=["c","cases"];function f2(t){return Mr(t,jd,[])}const Xd=["s","static"];function h2(t){return Mr(t,Xd)}const Yd=["i","items"];function g2(t){return Mr(t,Yd,[])}const Kd=["t","type"];function tc(t){return Mr(t,Kd)}const zd=["v","value"];function Mo(t,r){const o=Mr(t,zd);if(o!=null)return o;throw ho(r)}const qd=["m","modifier"];function m2(t){return Mr(t,qd)}const Qd=["k","key"];function p2(t){const r=Mr(t,Qd);if(r)return r;throw ho(6)}function Mr(t,r,o){for(let l=0;lx2(o,t)}function x2(t,r){const o=d2(r);if(o==null)throw ho(0);if(tc(o)===1){const f=f2(o);return t.plural(f.reduce((g,p)=>[...g,Sl(t,p)],[]))}else return Sl(t,o)}function Sl(t,r){const o=h2(r);if(o!=null)return t.type==="text"?o:t.normalize([o]);{const l=g2(r).reduce((u,f)=>[...u,ya(t,f)],[]);return t.normalize(l)}}function ya(t,r){const o=tc(r);switch(o){case 3:return Mo(r,o);case 9:return Mo(r,o);case 4:{const l=r;if(Bn(l,"k")&&l.k)return t.interpolate(t.named(l.k));if(Bn(l,"key")&&l.key)return t.interpolate(t.named(l.key));throw ho(o)}case 5:{const l=r;if(Bn(l,"i")&&Bt(l.i))return t.interpolate(t.list(l.i));if(Bn(l,"index")&&Bt(l.index))return t.interpolate(t.list(l.index));throw ho(o)}case 6:{const l=r,u=m2(l),f=p2(l);return t.linked(ya(t,f),u?ya(t,u):void 0,t.type)}case 7:return Mo(r,o);case 8:return Mo(r,o);default:throw new Error(`unhandled node on format message part: ${o}`)}}const w2=t=>t;let Fo=mt();function y2(t,r={}){let o=!1;const l=r.onError||Vg;return r.onError=u=>{o=!0,l(u)},{...l2(t,r),detectError:o}}function C2(t,r){if(!__INTLIFY_DROP_MESSAGE_COMPILER__&&Ie(t)){tt(r.warnHtmlMessage)&&r.warnHtmlMessage;const l=(r.onCacheKey||w2)(t),u=Fo[l];if(u)return u;const{ast:f,detectError:g}=y2(t,{...r,location:!1,jit:!0}),p=ea(f);return g?p:Fo[l]=p}else{const o=t.cacheKey;if(o){const l=Fo[o];return l||(Fo[o]=ea(t))}else return ea(t)}}let go=null;function E2(t){go=t}function A2(t,r,o){go&&go.emit("i18n:init",{timestamp:Date.now(),i18n:t,version:r,meta:o})}const b2=_2("function:translate");function _2(t){return r=>go&&go.emit(t,r)}const dr={INVALID_ARGUMENT:Wg,INVALID_DATE_ARGUMENT:18,INVALID_ISO_DATE_ARGUMENT:19,NOT_SUPPORT_LOCALE_PROMISE_VALUE:21,NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:22,NOT_SUPPORT_LOCALE_TYPE:23},I2=24;function fr(t){return yi(t,null,void 0)}function nc(t,r){return r.locale!=null?Tl(r.locale):Tl(t.locale)}let ta;function Tl(t){if(Ie(t))return t;if(Tt(t)){if(t.resolvedOnce&&ta!=null)return ta;if(t.constructor.name==="Function"){const r=t();if(Fg(r))throw fr(dr.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return ta=r}else throw fr(dr.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw fr(dr.NOT_SUPPORT_LOCALE_TYPE)}function S2(t,r,o){return[...new Set([o,...Lt(r)?r:ot(r)?Object.keys(r):Ie(r)?[r]:[o]])]}function Jd(t,r,o){const l=Ie(o)?o:mo,u=t;u.__localeChainCache||(u.__localeChainCache=new Map);let f=u.__localeChainCache.get(l);if(!f){f=[];let g=[o];for(;Lt(g);)g=vl(f,g,r);const p=Lt(r)||!Ye(r)?r:r.default?r.default:null;g=Ie(p)?[p]:p,Lt(g)&&vl(f,g,!1),u.__localeChainCache.set(l,f)}return f}function vl(t,r,o){let l=!0;for(let u=0;u{g===void 0?g=p:g+=p},I[1]=()=>{g!==void 0&&(r.push(g),g=void 0)},I[2]=()=>{I[0](),u++},I[3]=()=>{if(u>0)u--,l=4,I[0]();else{if(u=0,g===void 0||(g=D2(g),g===!1))return!1;I[1]()}};function O(){const z=t[o+1];if(l===5&&z==="'"||l===6&&z==='"')return o++,p="\\"+z,I[0](),!0}for(;l!==null;)if(o++,f=t[o],!(f==="\\"&&O())){if(w=O2(f),C=Fr[l],x=C[w]||C.l||8,x===8||(l=x[0],x[1]!==void 0&&(A=I[x[1]],A&&(p=f,A()===!1))))return;if(l===7)return r}}const kl=new Map;function L2(t,r){return ot(t)?t[r]:null}function M2(t,r){if(!ot(t))return null;let o=kl.get(r);if(o||(o=P2(r),o&&kl.set(r,o)),!o)return null;const l=o.length;let u=t,f=0;for(;f`${t.charAt(0).toLocaleUpperCase()}${t.substr(1)}`;function $2(){return{upper:(t,r)=>r==="text"&&Ie(t)?t.toUpperCase():r==="vnode"&&ot(t)&&"__v_isVNode"in t?t.children.toUpperCase():t,lower:(t,r)=>r==="text"&&Ie(t)?t.toLowerCase():r==="vnode"&&ot(t)&&"__v_isVNode"in t?t.children.toLowerCase():t,capitalize:(t,r)=>r==="text"&&Ie(t)?Rl(t):r==="vnode"&&ot(t)&&"__v_isVNode"in t?Rl(t.children):t}}let e1;function B2(t){e1=t}let t1;function U2(t){t1=t}let n1;function W2(t){n1=t}let r1=null;const V2=t=>{r1=t},H2=()=>r1;let s1=null;const Ol=t=>{s1=t},G2=()=>s1;let Dl=0;function j2(t={}){const r=Tt(t.onWarn)?t.onWarn:Bg,o=Ie(t.version)?t.version:F2,l=Ie(t.locale)||Tt(t.locale)?t.locale:mo,u=Tt(l)?mo:l,f=Lt(t.fallbackLocale)||Ye(t.fallbackLocale)||Ie(t.fallbackLocale)||t.fallbackLocale===!1?t.fallbackLocale:u,g=Ye(t.messages)?t.messages:na(u),p=Ye(t.datetimeFormats)?t.datetimeFormats:na(u),w=Ye(t.numberFormats)?t.numberFormats:na(u),x=Vt(mt(),t.modifiers,$2()),A=t.pluralRules||mt(),C=Tt(t.missing)?t.missing:null,I=tt(t.missingWarn)||_s(t.missingWarn)?t.missingWarn:!0,O=tt(t.fallbackWarn)||_s(t.fallbackWarn)?t.fallbackWarn:!0,z=!!t.fallbackFormat,U=!!t.unresolving,te=Tt(t.postTranslation)?t.postTranslation:null,L=Ye(t.processor)?t.processor:null,W=tt(t.warnHtmlMessage)?t.warnHtmlMessage:!0,V=!!t.escapeParameter,F=Tt(t.messageCompiler)?t.messageCompiler:e1,ce=Tt(t.messageResolver)?t.messageResolver:t1||L2,se=Tt(t.localeFallbacker)?t.localeFallbacker:n1||S2,k=ot(t.fallbackContext)?t.fallbackContext:void 0,re=t,K=ot(re.__datetimeFormatters)?re.__datetimeFormatters:new Map,Te=ot(re.__numberFormatters)?re.__numberFormatters:new Map,ke=ot(re.__meta)?re.__meta:{};Dl++;const de={version:o,cid:Dl,locale:l,fallbackLocale:f,messages:g,modifiers:x,pluralRules:A,missing:C,missingWarn:I,fallbackWarn:O,fallbackFormat:z,unresolving:U,postTranslation:te,processor:L,warnHtmlMessage:W,escapeParameter:V,messageCompiler:F,messageResolver:ce,localeFallbacker:se,fallbackContext:k,onWarn:r,__meta:ke};return de.datetimeFormats=p,de.numberFormats=w,de.__datetimeFormatters=K,de.__numberFormatters=Te,__INTLIFY_PROD_DEVTOOLS__&&A2(de,o,ke),de}const na=t=>({[t]:mt()});function rc(t,r,o,l,u){const{missing:f,onWarn:g}=t;if(f!==null){const p=f(t,o,r,u);return Ie(p)?p:r}else return r}function Ws(t,r,o){const l=t;l.__localeChainCache=new Map,t.localeFallbacker(t,o,r)}function X2(t,r){return t===r?!1:t.split("-")[0]===r.split("-")[0]}function Y2(t,r){const o=r.indexOf(t);if(o===-1)return!1;for(let l=o+1;l{o1.includes(w)?g[w]=o[w]:f[w]=o[w]}),Ie(l)?f.locale=l:Ye(l)&&(g=l),Ye(u)&&(g=u),[f.key||"",p,f,g]}function Ll(t,r,o){const l=t;for(const u in o){const f=`${r}__${u}`;l.__datetimeFormatters.has(f)&&l.__datetimeFormatters.delete(f)}}function Ml(t,...r){const{numberFormats:o,unresolving:l,fallbackLocale:u,onWarn:f,localeFallbacker:g}=t,{__numberFormatters:p}=t,[w,x,A,C]=Ea(...r),I=tt(A.missingWarn)?A.missingWarn:t.missingWarn;tt(A.fallbackWarn)?A.fallbackWarn:t.fallbackWarn;const O=!!A.part,z=nc(t,A),U=g(t,u,z);if(!Ie(w)||w==="")return new Intl.NumberFormat(z,C).format(x);let te={},L,W=null;const V="number format";for(let se=0;se{i1.includes(w)?g[w]=o[w]:f[w]=o[w]}),Ie(l)?f.locale=l:Ye(l)&&(g=l),Ye(u)&&(g=u),[f.key||"",p,f,g]}function Fl(t,r,o){const l=t;for(const u in o){const f=`${r}__${u}`;l.__numberFormatters.has(f)&&l.__numberFormatters.delete(f)}}const K2=t=>t,z2=t=>"",q2="text",Q2=t=>t.length===0?"":Ja(t),Z2=$g;function $l(t,r){return t=Math.abs(t),r===2?t?t>1?1:0:1:t?Math.min(t,2):0}function J2(t){const r=Bt(t.pluralIndex)?t.pluralIndex:-1;return t.named&&(Bt(t.named.count)||Bt(t.named.n))?Bt(t.named.count)?t.named.count:Bt(t.named.n)?t.named.n:r:r}function em(t,r){r.count||(r.count=t),r.n||(r.n=t)}function tm(t={}){const r=t.locale,o=J2(t),l=ot(t.pluralRules)&&Ie(r)&&Tt(t.pluralRules[r])?t.pluralRules[r]:$l,u=ot(t.pluralRules)&&Ie(r)&&Tt(t.pluralRules[r])?$l:void 0,f=L=>L[l(o,L.length,u)],g=t.list||[],p=L=>g[L],w=t.named||mt();Bt(t.pluralIndex)&&em(o,w);const x=L=>w[L];function A(L,W){const V=Tt(t.messages)?t.messages(L,!!W):ot(t.messages)?t.messages[L]:!1;return V||(t.parent?t.parent.message(L):z2)}const C=L=>t.modifiers?t.modifiers[L]:K2,I=Ye(t.processor)&&Tt(t.processor.normalize)?t.processor.normalize:Q2,O=Ye(t.processor)&&Tt(t.processor.interpolate)?t.processor.interpolate:Z2,z=Ye(t.processor)&&Ie(t.processor.type)?t.processor.type:q2,te={list:p,named:x,plural:f,linked:(L,...W)=>{const[V,F]=W;let ce="text",se="";W.length===1?ot(V)?(se=V.modifier||se,ce=V.type||ce):Ie(V)&&(se=V||se):W.length===2&&(Ie(V)&&(se=V||se),Ie(F)&&(ce=F||ce));const k=A(L,!0)(te),re=ce==="vnode"&&Lt(k)&&se?k[0]:k;return se?C(se)(re,ce):re},message:A,type:z,interpolate:O,normalize:I,values:Vt(mt(),g,w)};return te}const Bl=()=>"",On=t=>Tt(t);function Ul(t,...r){const{fallbackFormat:o,postTranslation:l,unresolving:u,messageCompiler:f,fallbackLocale:g,messages:p}=t,[w,x]=Aa(...r),A=tt(x.missingWarn)?x.missingWarn:t.missingWarn,C=tt(x.fallbackWarn)?x.fallbackWarn:t.fallbackWarn,I=tt(x.escapeParameter)?x.escapeParameter:t.escapeParameter,O=!!x.resolvedMessage,z=Ie(x.default)||tt(x.default)?tt(x.default)?f?w:()=>w:x.default:o?f?w:()=>w:null,U=o||z!=null&&(Ie(z)||Tt(z)),te=nc(t,x);I&&nm(x);let[L,W,V]=O?[w,te,p[te]||mt()]:a1(t,w,te,g,C,A),F=L,ce=w;if(!O&&!(Ie(F)||er(F)||On(F))&&U&&(F=z,ce=F),!O&&(!(Ie(F)||er(F)||On(F))||!Ie(W)))return u?Ci:w;let se=!1;const k=()=>{se=!0},re=On(F)?F:c1(t,w,W,F,ce,k);if(se)return F;const K=om(t,W,V,x),Te=tm(K),ke=rm(t,re,Te),de=l?l(ke,w):ke;if(__INTLIFY_PROD_DEVTOOLS__){const Se={timestamp:Date.now(),key:Ie(w)?w:On(F)?F.key:"",locale:W||(On(F)?F.locale:""),format:Ie(F)?F:On(F)?F.source:"",message:de};Se.meta=Vt({},t.__meta,H2()||{}),b2(Se)}return de}function nm(t){Lt(t.list)?t.list=t.list.map(r=>Ie(r)?Al(r):r):ot(t.named)&&Object.keys(t.named).forEach(r=>{Ie(t.named[r])&&(t.named[r]=Al(t.named[r]))})}function a1(t,r,o,l,u,f){const{messages:g,onWarn:p,messageResolver:w,localeFallbacker:x}=t,A=x(t,l,o);let C=mt(),I,O=null;const z="translate";for(let U=0;Ul;return x.locale=o,x.key=r,x}const w=g(l,sm(t,o,u,l,p,f));return w.locale=o,w.key=r,w.source=l,w}function rm(t,r,o){return r(o)}function Aa(...t){const[r,o,l]=t,u=mt();if(!Ie(r)&&!Bt(r)&&!On(r)&&!er(r))throw fr(dr.INVALID_ARGUMENT);const f=Bt(r)?String(r):(On(r),r);return Bt(o)?u.plural=o:Ie(o)?u.default=o:Ye(o)&&!wi(o)?u.named=o:Lt(o)&&(u.list=o),Bt(l)?u.plural=l:Ie(l)?u.default=l:Ye(l)&&Vt(u,l),[f,u]}function sm(t,r,o,l,u,f){return{locale:r,key:o,warnHtmlMessage:u,onError:g=>{throw f&&f(g),g},onCacheKey:g=>Og(r,o,g)}}function om(t,r,o,l){const{modifiers:u,pluralRules:f,messageResolver:g,fallbackLocale:p,fallbackWarn:w,missingWarn:x,fallbackContext:A}=t,I={locale:r,modifiers:u,pluralRules:f,messages:(O,z)=>{let U=g(o,O);if(U==null&&(A||z)){const[,,te]=a1(A||t,O,r,p,w,x);U=g(te,O)}if(Ie(U)||er(U)){let te=!1;const W=c1(t,O,r,U,O,()=>{te=!0});return te?Bl:W}else return On(U)?U:Bl}};return t.processor&&(I.processor=t.processor),l.list&&(I.list=l.list),l.named&&(I.named=l.named),Bt(l.plural)&&(I.pluralIndex=l.plural),I}u2();/*! + * vue-i18n v11.1.8 + * (c) 2025 kazuya kawaguchi + * Released under the MIT License. + */const im="11.1.8";function am(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(Yr().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(Yr().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Yr().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Yr().__INTLIFY_PROD_DEVTOOLS__=!1)}const yn={UNEXPECTED_RETURN_TYPE:I2,INVALID_ARGUMENT:25,MUST_BE_CALL_SETUP_TOP:26,NOT_INSTALLED:27,REQUIRED_VALUE:28,INVALID_VALUE:29,NOT_INSTALLED_WITH_PROVIDE:31,UNEXPECTED_ERROR:32};function Sn(t,...r){return yi(t,null,void 0)}const ba=Lr("__translateVNode"),_a=Lr("__datetimeParts"),Ia=Lr("__numberParts"),l1=Lr("__setPluralRules"),u1=Lr("__injectWithOption"),Sa=Lr("__dispose");function po(t){if(!ot(t)||er(t))return t;for(const r in t)if(Bn(t,r))if(!r.includes("."))ot(t[r])&&po(t[r]);else{const o=r.split("."),l=o.length-1;let u=t,f=!1;for(let g=0;g{if("locale"in p&&"resource"in p){const{locale:w,resource:x}=p;w?(g[w]=g[w]||mt(),Go(x,g[w])):Go(x,g)}else Ie(p)&&Go(JSON.parse(p),g)}),u==null&&f)for(const p in g)Bn(g,p)&&po(g[p]);return g}function d1(t){return t.type}function f1(t,r,o){let l=ot(r.messages)?r.messages:mt();"__i18nGlobal"in o&&(l=sc(t.locale.value,{messages:l,__i18n:o.__i18nGlobal}));const u=Object.keys(l);u.length&&u.forEach(f=>{t.mergeLocaleMessage(f,l[f])});{if(ot(r.datetimeFormats)){const f=Object.keys(r.datetimeFormats);f.length&&f.forEach(g=>{t.mergeDateTimeFormat(g,r.datetimeFormats[g])})}if(ot(r.numberFormats)){const f=Object.keys(r.numberFormats);f.length&&f.forEach(g=>{t.mergeNumberFormat(g,r.numberFormats[g])})}}}function Wl(t){return st(Eo,null,t,0)}const Vl="__INTLIFY_META__",Hl=()=>[],cm=()=>!1;let Gl=0;function jl(t){return(r,o,l,u)=>t(o,l,ao()||void 0,u)}const lm=()=>{const t=ao();let r=null;return t&&(r=d1(t)[Vl])?{[Vl]:r}:null};function oc(t={}){const{__root:r,__injectWithOption:o}=t,l=r===void 0,u=t.flatJson,f=ti?gt:Hu;let g=tt(t.inheritLocale)?t.inheritLocale:!0;const p=f(r&&g?r.locale.value:Ie(t.locale)?t.locale:mo),w=f(r&&g?r.fallbackLocale.value:Ie(t.fallbackLocale)||Lt(t.fallbackLocale)||Ye(t.fallbackLocale)||t.fallbackLocale===!1?t.fallbackLocale:p.value),x=f(sc(p.value,t)),A=f(Ye(t.datetimeFormats)?t.datetimeFormats:{[p.value]:{}}),C=f(Ye(t.numberFormats)?t.numberFormats:{[p.value]:{}});let I=r?r.missingWarn:tt(t.missingWarn)||_s(t.missingWarn)?t.missingWarn:!0,O=r?r.fallbackWarn:tt(t.fallbackWarn)||_s(t.fallbackWarn)?t.fallbackWarn:!0,z=r?r.fallbackRoot:tt(t.fallbackRoot)?t.fallbackRoot:!0,U=!!t.fallbackFormat,te=Tt(t.missing)?t.missing:null,L=Tt(t.missing)?jl(t.missing):null,W=Tt(t.postTranslation)?t.postTranslation:null,V=r?r.warnHtmlMessage:tt(t.warnHtmlMessage)?t.warnHtmlMessage:!0,F=!!t.escapeParameter;const ce=r?r.modifiers:Ye(t.modifiers)?t.modifiers:{};let se=t.pluralRules||r&&r.pluralRules,k;k=(()=>{l&&Ol(null);const B={version:im,locale:p.value,fallbackLocale:w.value,messages:x.value,modifiers:ce,pluralRules:se,missing:L===null?void 0:L,missingWarn:I,fallbackWarn:O,fallbackFormat:U,unresolving:!0,postTranslation:W===null?void 0:W,warnHtmlMessage:V,escapeParameter:F,messageResolver:t.messageResolver,messageCompiler:t.messageCompiler,__meta:{framework:"vue"}};B.datetimeFormats=A.value,B.numberFormats=C.value,B.__datetimeFormatters=Ye(k)?k.__datetimeFormatters:void 0,B.__numberFormatters=Ye(k)?k.__numberFormatters:void 0;const J=j2(B);return l&&Ol(J),J})(),Ws(k,p.value,w.value);function K(){return[p.value,w.value,x.value,A.value,C.value]}const Te=ht({get:()=>p.value,set:B=>{k.locale=B,p.value=B}}),ke=ht({get:()=>w.value,set:B=>{k.fallbackLocale=B,w.value=B,Ws(k,p.value,B)}}),de=ht(()=>x.value),Se=ht(()=>A.value),Ke=ht(()=>C.value);function Z(){return Tt(W)?W:null}function Ue(B){W=B,k.postTranslation=B}function ye(){return te}function We(B){B!==null&&(L=jl(B)),te=B,k.missing=L}const dt=(B,J,we,Re,Me,qe)=>{K();let vt;try{__INTLIFY_PROD_DEVTOOLS__,l||(k.fallbackContext=r?G2():void 0),vt=B(k)}finally{__INTLIFY_PROD_DEVTOOLS__,l||(k.fallbackContext=void 0)}if(we!=="translate exists"&&Bt(vt)&&vt===Ci||we==="translate exists"&&!vt){const[Yt,Cn]=J();return r&&z?Re(r):Me(Yt)}else{if(qe(vt))return vt;throw Sn(yn.UNEXPECTED_RETURN_TYPE)}};function Rt(...B){return dt(J=>Reflect.apply(Ul,null,[J,...B]),()=>Aa(...B),"translate",J=>Reflect.apply(J.t,J,[...B]),J=>J,J=>Ie(J))}function Ht(...B){const[J,we,Re]=B;if(Re&&!ot(Re))throw Sn(yn.INVALID_ARGUMENT);return Rt(J,we,Vt({resolvedMessage:!0},Re||{}))}function Ze(...B){return dt(J=>Reflect.apply(Pl,null,[J,...B]),()=>Ca(...B),"datetime format",J=>Reflect.apply(J.d,J,[...B]),()=>Nl,J=>Ie(J)||Lt(J))}function Gt(...B){return dt(J=>Reflect.apply(Ml,null,[J,...B]),()=>Ea(...B),"number format",J=>Reflect.apply(J.n,J,[...B]),()=>Nl,J=>Ie(J)||Lt(J))}function yt(B){return B.map(J=>Ie(J)||Bt(J)||tt(J)?Wl(String(J)):J)}const Ee={normalize:yt,interpolate:B=>B,type:"vnode"};function oe(...B){return dt(J=>{let we;const Re=J;try{Re.processor=Ee,we=Reflect.apply(Ul,null,[Re,...B])}finally{Re.processor=null}return we},()=>Aa(...B),"translate",J=>J[ba](...B),J=>[Wl(J)],J=>Lt(J))}function he(...B){return dt(J=>Reflect.apply(Ml,null,[J,...B]),()=>Ea(...B),"number format",J=>J[Ia](...B),Hl,J=>Ie(J)||Lt(J))}function pe(...B){return dt(J=>Reflect.apply(Pl,null,[J,...B]),()=>Ca(...B),"datetime format",J=>J[_a](...B),Hl,J=>Ie(J)||Lt(J))}function Ae(B){se=B,k.pluralRules=se}function Le(B,J){return dt(()=>{if(!B)return!1;const we=Ie(J)?J:p.value,Re=G(we),Me=k.messageResolver(Re,B);return er(Me)||On(Me)||Ie(Me)},()=>[B],"translate exists",we=>Reflect.apply(we.te,we,[B,J]),cm,we=>tt(we))}function D(B){let J=null;const we=Jd(k,w.value,p.value);for(let Re=0;Re{g&&(p.value=B,k.locale=B,Ws(k,p.value,w.value))}),Or(r.fallbackLocale,B=>{g&&(w.value=B,k.fallbackLocale=B,Ws(k,p.value,w.value))}));const ae={id:Gl,locale:Te,fallbackLocale:ke,get inheritLocale(){return g},set inheritLocale(B){g=B,B&&r&&(p.value=r.locale.value,w.value=r.fallbackLocale.value,Ws(k,p.value,w.value))},get availableLocales(){return Object.keys(x.value).sort()},messages:de,get modifiers(){return ce},get pluralRules(){return se||{}},get isGlobal(){return l},get missingWarn(){return I},set missingWarn(B){I=B,k.missingWarn=I},get fallbackWarn(){return O},set fallbackWarn(B){O=B,k.fallbackWarn=O},get fallbackRoot(){return z},set fallbackRoot(B){z=B},get fallbackFormat(){return U},set fallbackFormat(B){U=B,k.fallbackFormat=U},get warnHtmlMessage(){return V},set warnHtmlMessage(B){V=B,k.warnHtmlMessage=B},get escapeParameter(){return F},set escapeParameter(B){F=B,k.escapeParameter=B},t:Rt,getLocaleMessage:G,setLocaleMessage:ne,mergeLocaleMessage:ie,getPostTranslationHandler:Z,setPostTranslationHandler:Ue,getMissingHandler:ye,setMissingHandler:We,[l1]:Ae};return ae.datetimeFormats=Se,ae.numberFormats=Ke,ae.rt=Ht,ae.te=Le,ae.tm=R,ae.d=Ze,ae.n=Gt,ae.getDateTimeFormat=ee,ae.setDateTimeFormat=S,ae.mergeDateTimeFormat=T,ae.getNumberFormat=H,ae.setNumberFormat=M,ae.mergeNumberFormat=xe,ae[u1]=o,ae[ba]=oe,ae[_a]=pe,ae[Ia]=he,ae}function um(t){const r=Ie(t.locale)?t.locale:mo,o=Ie(t.fallbackLocale)||Lt(t.fallbackLocale)||Ye(t.fallbackLocale)||t.fallbackLocale===!1?t.fallbackLocale:r,l=Tt(t.missing)?t.missing:void 0,u=tt(t.silentTranslationWarn)||_s(t.silentTranslationWarn)?!t.silentTranslationWarn:!0,f=tt(t.silentFallbackWarn)||_s(t.silentFallbackWarn)?!t.silentFallbackWarn:!0,g=tt(t.fallbackRoot)?t.fallbackRoot:!0,p=!!t.formatFallbackMessages,w=Ye(t.modifiers)?t.modifiers:{},x=t.pluralizationRules,A=Tt(t.postTranslation)?t.postTranslation:void 0,C=Ie(t.warnHtmlInMessage)?t.warnHtmlInMessage!=="off":!0,I=!!t.escapeParameterHtml,O=tt(t.sync)?t.sync:!0;let z=t.messages;if(Ye(t.sharedMessages)){const ce=t.sharedMessages;z=Object.keys(ce).reduce((k,re)=>{const K=k[re]||(k[re]={});return Vt(K,ce[re]),k},z||{})}const{__i18n:U,__root:te,__injectWithOption:L}=t,W=t.datetimeFormats,V=t.numberFormats,F=t.flatJson;return{locale:r,fallbackLocale:o,messages:z,flatJson:F,datetimeFormats:W,numberFormats:V,missing:l,missingWarn:u,fallbackWarn:f,fallbackRoot:g,fallbackFormat:p,modifiers:w,pluralRules:x,postTranslation:A,warnHtmlMessage:C,escapeParameter:I,messageResolver:t.messageResolver,inheritLocale:O,__i18n:U,__root:te,__injectWithOption:L}}function Ta(t={}){const r=oc(um(t)),{__extender:o}=t,l={id:r.id,get locale(){return r.locale.value},set locale(u){r.locale.value=u},get fallbackLocale(){return r.fallbackLocale.value},set fallbackLocale(u){r.fallbackLocale.value=u},get messages(){return r.messages.value},get datetimeFormats(){return r.datetimeFormats.value},get numberFormats(){return r.numberFormats.value},get availableLocales(){return r.availableLocales},get missing(){return r.getMissingHandler()},set missing(u){r.setMissingHandler(u)},get silentTranslationWarn(){return tt(r.missingWarn)?!r.missingWarn:r.missingWarn},set silentTranslationWarn(u){r.missingWarn=tt(u)?!u:u},get silentFallbackWarn(){return tt(r.fallbackWarn)?!r.fallbackWarn:r.fallbackWarn},set silentFallbackWarn(u){r.fallbackWarn=tt(u)?!u:u},get modifiers(){return r.modifiers},get formatFallbackMessages(){return r.fallbackFormat},set formatFallbackMessages(u){r.fallbackFormat=u},get postTranslation(){return r.getPostTranslationHandler()},set postTranslation(u){r.setPostTranslationHandler(u)},get sync(){return r.inheritLocale},set sync(u){r.inheritLocale=u},get warnHtmlInMessage(){return r.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(u){r.warnHtmlMessage=u!=="off"},get escapeParameterHtml(){return r.escapeParameter},set escapeParameterHtml(u){r.escapeParameter=u},get pluralizationRules(){return r.pluralRules||{}},__composer:r,t(...u){return Reflect.apply(r.t,r,[...u])},rt(...u){return Reflect.apply(r.rt,r,[...u])},te(u,f){return r.te(u,f)},tm(u){return r.tm(u)},getLocaleMessage(u){return r.getLocaleMessage(u)},setLocaleMessage(u,f){r.setLocaleMessage(u,f)},mergeLocaleMessage(u,f){r.mergeLocaleMessage(u,f)},d(...u){return Reflect.apply(r.d,r,[...u])},getDateTimeFormat(u){return r.getDateTimeFormat(u)},setDateTimeFormat(u,f){r.setDateTimeFormat(u,f)},mergeDateTimeFormat(u,f){r.mergeDateTimeFormat(u,f)},n(...u){return Reflect.apply(r.n,r,[...u])},getNumberFormat(u){return r.getNumberFormat(u)},setNumberFormat(u,f){r.setNumberFormat(u,f)},mergeNumberFormat(u,f){r.mergeNumberFormat(u,f)}};return l.__extender=o,l}function dm(t,r,o){return{beforeCreate(){const l=ao();if(!l)throw Sn(yn.UNEXPECTED_ERROR);const u=this.$options;if(u.i18n){const f=u.i18n;if(u.__i18n&&(f.__i18n=u.__i18n),f.__root=r,this===this.$root)this.$i18n=Xl(t,f);else{f.__injectWithOption=!0,f.__extender=o.__vueI18nExtend,this.$i18n=Ta(f);const g=this.$i18n;g.__extender&&(g.__disposer=g.__extender(this.$i18n))}}else if(u.__i18n)if(this===this.$root)this.$i18n=Xl(t,u);else{this.$i18n=Ta({__i18n:u.__i18n,__injectWithOption:!0,__extender:o.__vueI18nExtend,__root:r});const f=this.$i18n;f.__extender&&(f.__disposer=f.__extender(this.$i18n))}else this.$i18n=t;u.__i18nGlobal&&f1(r,u,u),this.$t=(...f)=>this.$i18n.t(...f),this.$rt=(...f)=>this.$i18n.rt(...f),this.$te=(f,g)=>this.$i18n.te(f,g),this.$d=(...f)=>this.$i18n.d(...f),this.$n=(...f)=>this.$i18n.n(...f),this.$tm=f=>this.$i18n.tm(f),o.__setInstance(l,this.$i18n)},mounted(){},unmounted(){const l=ao();if(!l)throw Sn(yn.UNEXPECTED_ERROR);const u=this.$i18n;delete this.$t,delete this.$rt,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,u.__disposer&&(u.__disposer(),delete u.__disposer,delete u.__extender),o.__deleteInstance(l),delete this.$i18n}}}function Xl(t,r){t.locale=r.locale||t.locale,t.fallbackLocale=r.fallbackLocale||t.fallbackLocale,t.missing=r.missing||t.missing,t.silentTranslationWarn=r.silentTranslationWarn||t.silentFallbackWarn,t.silentFallbackWarn=r.silentFallbackWarn||t.silentFallbackWarn,t.formatFallbackMessages=r.formatFallbackMessages||t.formatFallbackMessages,t.postTranslation=r.postTranslation||t.postTranslation,t.warnHtmlInMessage=r.warnHtmlInMessage||t.warnHtmlInMessage,t.escapeParameterHtml=r.escapeParameterHtml||t.escapeParameterHtml,t.sync=r.sync||t.sync,t.__composer[l1](r.pluralizationRules||t.pluralizationRules);const o=sc(t.locale,{messages:r.messages,__i18n:r.__i18n});return Object.keys(o).forEach(l=>t.mergeLocaleMessage(l,o[l])),r.datetimeFormats&&Object.keys(r.datetimeFormats).forEach(l=>t.mergeDateTimeFormat(l,r.datetimeFormats[l])),r.numberFormats&&Object.keys(r.numberFormats).forEach(l=>t.mergeNumberFormat(l,r.numberFormats[l])),t}const ic={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:t=>t==="parent"||t==="global",default:"parent"},i18n:{type:Object}};function fm({slots:t},r){return r.length===1&&r[0]==="default"?(t.default?t.default():[]).reduce((l,u)=>[...l,...u.type===Rn?u.children:[u]],[]):r.reduce((o,l)=>{const u=t[l];return u&&(o[l]=u()),o},mt())}function h1(){return Rn}const hm=Co({name:"i18n-t",props:Vt({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:t=>Bt(t)||!isNaN(t)}},ic),setup(t,r){const{slots:o,attrs:l}=r,u=t.i18n||xr({useScope:t.scope,__useComponent:!0});return()=>{const f=Object.keys(o).filter(C=>C[0]!=="_"),g=mt();t.locale&&(g.locale=t.locale),t.plural!==void 0&&(g.plural=Ie(t.plural)?+t.plural:t.plural);const p=fm(r,f),w=u[ba](t.keypath,p,g),x=Vt(mt(),l),A=Ie(t.tag)||ot(t.tag)?t.tag:h1();return mi(A,x,w)}}}),Yl=hm;function gm(t){return Lt(t)&&!Ie(t[0])}function g1(t,r,o,l){const{slots:u,attrs:f}=r;return()=>{const g={part:!0};let p=mt();t.locale&&(g.locale=t.locale),Ie(t.format)?g.key=t.format:ot(t.format)&&(Ie(t.format.key)&&(g.key=t.format.key),p=Object.keys(t.format).reduce((I,O)=>o.includes(O)?Vt(mt(),I,{[O]:t.format[O]}):I,mt()));const w=l(t.value,g,p);let x=[g.key];Lt(w)?x=w.map((I,O)=>{const z=u[I.type],U=z?z({[I.type]:I.value,index:O,parts:w}):[I.value];return gm(U)&&(U[0].key=`${I.type}-${O}`),U}):Ie(w)&&(x=[w]);const A=Vt(mt(),f),C=Ie(t.tag)||ot(t.tag)?t.tag:h1();return mi(C,A,x)}}const mm=Co({name:"i18n-n",props:Vt({value:{type:Number,required:!0},format:{type:[String,Object]}},ic),setup(t,r){const o=t.i18n||xr({useScope:t.scope,__useComponent:!0});return g1(t,r,i1,(...l)=>o[Ia](...l))}}),Kl=mm;function pm(t,r){const o=t;if(t.mode==="composition")return o.__getInstance(r)||t.global;{const l=o.__getInstance(r);return l!=null?l.__composer:t.global.__composer}}function xm(t){const r=g=>{const{instance:p,value:w}=g;if(!p||!p.$)throw Sn(yn.UNEXPECTED_ERROR);const x=pm(t,p.$),A=zl(w);return[Reflect.apply(x.t,x,[...ql(A)]),x]};return{created:(g,p)=>{const[w,x]=r(p);ti&&t.global===x&&(g.__i18nWatcher=Or(x.locale,()=>{p.instance&&p.instance.$forceUpdate()})),g.__composer=x,g.textContent=w},unmounted:g=>{ti&&g.__i18nWatcher&&(g.__i18nWatcher(),g.__i18nWatcher=void 0,delete g.__i18nWatcher),g.__composer&&(g.__composer=void 0,delete g.__composer)},beforeUpdate:(g,{value:p})=>{if(g.__composer){const w=g.__composer,x=zl(p);g.textContent=Reflect.apply(w.t,w,[...ql(x)])}},getSSRProps:g=>{const[p]=r(g);return{textContent:p}}}}function zl(t){if(Ie(t))return{path:t};if(Ye(t)){if(!("path"in t))throw Sn(yn.REQUIRED_VALUE,"path");return t}else throw Sn(yn.INVALID_VALUE)}function ql(t){const{path:r,locale:o,args:l,choice:u,plural:f}=t,g={},p=l||{};return Ie(o)&&(g.locale=o),Bt(u)&&(g.plural=u),Bt(f)&&(g.plural=f),[r,p,g]}function wm(t,r,...o){const l=Ye(o[0])?o[0]:{};(tt(l.globalInstall)?l.globalInstall:!0)&&([Yl.name,"I18nT"].forEach(f=>t.component(f,Yl)),[Kl.name,"I18nN"].forEach(f=>t.component(f,Kl)),[Zl.name,"I18nD"].forEach(f=>t.component(f,Zl))),t.directive("t",xm(r))}const ym=Lr("global-vue-i18n");function Cm(t={}){const r=__VUE_I18N_LEGACY_API__&&tt(t.legacy)?t.legacy:__VUE_I18N_LEGACY_API__,o=tt(t.globalInjection)?t.globalInjection:!0,l=new Map,[u,f]=Em(t,r),g=Lr("");function p(C){return l.get(C)||null}function w(C,I){l.set(C,I)}function x(C){l.delete(C)}const A={get mode(){return __VUE_I18N_LEGACY_API__&&r?"legacy":"composition"},async install(C,...I){if(C.__VUE_I18N_SYMBOL__=g,C.provide(C.__VUE_I18N_SYMBOL__,A),Ye(I[0])){const U=I[0];A.__composerExtend=U.__composerExtend,A.__vueI18nExtend=U.__vueI18nExtend}let O=null;!r&&o&&(O=km(C,A.global)),__VUE_I18N_FULL_INSTALL__&&wm(C,A,...I),__VUE_I18N_LEGACY_API__&&r&&C.mixin(dm(f,f.__composer,A));const z=C.unmount;C.unmount=()=>{O&&O(),A.dispose(),z()}},get global(){return f},dispose(){u.stop()},__instances:l,__getInstance:p,__setInstance:w,__deleteInstance:x};return A}function xr(t={}){const r=ao();if(r==null)throw Sn(yn.MUST_BE_CALL_SETUP_TOP);if(!r.isCE&&r.appContext.app!=null&&!r.appContext.app.__VUE_I18N_SYMBOL__)throw Sn(yn.NOT_INSTALLED);const o=Am(r),l=_m(o),u=d1(r),f=bm(t,u);if(f==="global")return f1(l,t,u),l;if(f==="parent"){let w=Im(o,r,t.__useComponent);return w==null&&(w=l),w}const g=o;let p=g.__getInstance(r);if(p==null){const w=Vt({},t);"__i18n"in u&&(w.__i18n=u.__i18n),l&&(w.__root=l),p=oc(w),g.__composerExtend&&(p[Sa]=g.__composerExtend(p)),Tm(g,r,p),g.__setInstance(r,p)}return p}function Em(t,r){const o=Af(),l=__VUE_I18N_LEGACY_API__&&r?o.run(()=>Ta(t)):o.run(()=>oc(t));if(l==null)throw Sn(yn.UNEXPECTED_ERROR);return[o,l]}function Am(t){const r=Pn(t.isCE?ym:t.appContext.app.__VUE_I18N_SYMBOL__);if(!r)throw Sn(t.isCE?yn.NOT_INSTALLED_WITH_PROVIDE:yn.UNEXPECTED_ERROR);return r}function bm(t,r){return wi(t)?"__i18n"in r?"local":"global":t.useScope?t.useScope:"local"}function _m(t){return t.mode==="composition"?t.global:t.global.__composer}function Im(t,r,o=!1){let l=null;const u=r.root;let f=Sm(r,o);for(;f!=null;){const g=t;if(t.mode==="composition")l=g.__getInstance(f);else if(__VUE_I18N_LEGACY_API__){const p=g.__getInstance(f);p!=null&&(l=p.__composer,o&&l&&!l[u1]&&(l=null))}if(l!=null||u===f)break;f=f.parent}return l}function Sm(t,r=!1){return t==null?null:r&&t.vnode.ctx||t.parent}function Tm(t,r,o){qr(()=>{},r),Xa(()=>{const l=o;t.__deleteInstance(r);const u=l[Sa];u&&(u(),delete l[Sa])},r)}const vm=["locale","fallbackLocale","availableLocales"],Ql=["t","rt","d","n","tm","te"];function km(t,r){const o=Object.create(null);return vm.forEach(u=>{const f=Object.getOwnPropertyDescriptor(r,u);if(!f)throw Sn(yn.UNEXPECTED_ERROR);const g=en(f.value)?{get(){return f.value.value},set(p){f.value.value=p}}:{get(){return f.get&&f.get()}};Object.defineProperty(o,u,g)}),t.config.globalProperties.$i18n=o,Ql.forEach(u=>{const f=Object.getOwnPropertyDescriptor(r,u);if(!f||!f.value)throw Sn(yn.UNEXPECTED_ERROR);Object.defineProperty(t.config.globalProperties,`$${u}`,f)}),()=>{delete t.config.globalProperties.$i18n,Ql.forEach(u=>{delete t.config.globalProperties[`$${u}`]})}}const Nm=Co({name:"i18n-d",props:Vt({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},ic),setup(t,r){const o=t.i18n||xr({useScope:t.scope,__useComponent:!0});return g1(t,r,o1,(...l)=>o[_a](...l))}}),Zl=Nm;am();B2(C2);U2(M2);W2(Jd);if(__INTLIFY_PROD_DEVTOOLS__){const t=Yr();t.__INTLIFY__=!0,E2(t.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const Rm="modulepreload",Om=function(t){return"/"+t},Jl={},Zr=function(r,o,l){let u=Promise.resolve();if(o&&o.length>0){let g=function(x){return Promise.all(x.map(A=>Promise.resolve(A).then(C=>({status:"fulfilled",value:C}),C=>({status:"rejected",reason:C}))))};document.getElementsByTagName("link");const p=document.querySelector("meta[property=csp-nonce]"),w=(p==null?void 0:p.nonce)||(p==null?void 0:p.getAttribute("nonce"));u=g(o.map(x=>{if(x=Om(x),x in Jl)return;Jl[x]=!0;const A=x.endsWith(".css"),C=A?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${x}"]${C}`))return;const I=document.createElement("link");if(I.rel=A?"stylesheet":Rm,A||(I.as="script"),I.crossOrigin="",I.href=x,w&&I.setAttribute("nonce",w),document.head.appendChild(I),A)return new Promise((O,z)=>{I.addEventListener("load",O),I.addEventListener("error",()=>z(new Error(`Unable to preload CSS for ${x}`)))})}))}function f(g){const p=new Event("vite:preloadError",{cancelable:!0});if(p.payload=g,window.dispatchEvent(p),!p.defaultPrevented)throw g}return u.then(g=>{for(const p of g||[])p.status==="rejected"&&f(p.reason);return r().catch(f)})};/*! Capacitor: https://capacitorjs.com/ - MIT License */var Ss;(function(t){t.Unimplemented="UNIMPLEMENTED",t.Unavailable="UNAVAILABLE"})(Ss||(Ss={}));class ra extends Error{constructor(r,o,l){super(r),this.message=r,this.code=o,this.data=l}}const Dm=t=>{var r,o;return t!=null&&t.androidBridge?"android":!((o=(r=t==null?void 0:t.webkit)===null||r===void 0?void 0:r.messageHandlers)===null||o===void 0)&&o.bridge?"ios":"web"},Pm=t=>{const r=t.CapacitorCustomPlatform||null,o=t.Capacitor||{},l=o.Plugins=o.Plugins||{},u=()=>r!==null?r.name:Dm(t),f=()=>u()!=="web",g=C=>{const I=x.get(C);return!!(I!=null&&I.platforms.has(u())||p(C))},p=C=>{var I;return(I=o.PluginHeaders)===null||I===void 0?void 0:I.find(O=>O.name===C)},w=C=>t.console.error(C),x=new Map,A=(C,I={})=>{const O=x.get(C);if(O)return console.warn(`Capacitor plugin "${C}" already registered. Cannot register plugins twice.`),O.proxy;const z=u(),U=p(C);let te;const L=async()=>(!te&&z in I?te=typeof I[z]=="function"?te=await I[z]():te=I[z]:r!==null&&!te&&"web"in I&&(te=typeof I.web=="function"?te=await I.web():te=I.web),te),W=(re,K)=>{var Te,ke;if(U){const de=U==null?void 0:U.methods.find(Se=>K===Se.name);if(de)return de.rtype==="promise"?Se=>o.nativePromise(C,K.toString(),Se):(Se,Ke)=>o.nativeCallback(C,K.toString(),Se,Ke);if(re)return(Te=re[K])===null||Te===void 0?void 0:Te.bind(re)}else{if(re)return(ke=re[K])===null||ke===void 0?void 0:ke.bind(re);throw new ra(`"${C}" plugin is not implemented on ${z}`,Ss.Unimplemented)}},V=re=>{let K;const Te=(...ke)=>{const de=L().then(Se=>{const Ke=W(Se,re);if(Ke){const Z=Ke(...ke);return K=Z==null?void 0:Z.remove,Z}else throw new ra(`"${C}.${re}()" is not implemented on ${z}`,Ss.Unimplemented)});return re==="addListener"&&(de.remove=async()=>K()),de};return Te.toString=()=>`${re.toString()}() { [capacitor code] }`,Object.defineProperty(Te,"name",{value:re,writable:!1,configurable:!1}),Te},F=V("addListener"),ce=V("removeListener"),se=(re,K)=>{const Te=F({eventName:re},K),ke=async()=>{const Se=await Te;ce({eventName:re,callbackId:Se},K)},de=new Promise(Se=>Te.then(()=>Se({remove:ke})));return de.remove=async()=>{console.warn("Using addListener() without 'await' is deprecated."),await ke()},de},k=new Proxy({},{get(re,K){switch(K){case"$$typeof":return;case"toJSON":return()=>({});case"addListener":return U?se:F;case"removeListener":return ce;default:return V(K)}}});return l[C]=k,x.set(C,{name:C,proxy:k,platforms:new Set([...Object.keys(I),...U?[z]:[]])}),k};return o.convertFileSrc||(o.convertFileSrc=C=>C),o.getPlatform=u,o.handleError=w,o.isNativePlatform=f,o.isPluginAvailable=g,o.registerPlugin=A,o.Exception=ra,o.DEBUG=!!o.DEBUG,o.isLoggingEnabled=!!o.isLoggingEnabled,o},Lm=t=>t.Capacitor=Pm(t),sn=Lm(typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}),Vn=sn.registerPlugin;class m1{constructor(){this.listeners={},this.retainedEventArguments={},this.windowListeners={}}addListener(r,o){let l=!1;this.listeners[r]||(this.listeners[r]=[],l=!0),this.listeners[r].push(o);const f=this.windowListeners[r];f&&!f.registered&&this.addWindowListener(f),l&&this.sendRetainedArgumentsForEvent(r);const g=async()=>this.removeListener(r,o);return Promise.resolve({remove:g})}async removeAllListeners(){this.listeners={};for(const r in this.windowListeners)this.removeWindowListener(this.windowListeners[r]);this.windowListeners={}}notifyListeners(r,o,l){const u=this.listeners[r];if(!u){if(l){let f=this.retainedEventArguments[r];f||(f=[]),f.push(o),this.retainedEventArguments[r]=f}return}u.forEach(f=>f(o))}hasListeners(r){var o;return!!(!((o=this.listeners[r])===null||o===void 0)&&o.length)}registerWindowListener(r,o){this.windowListeners[o]={registered:!1,windowEventName:r,pluginEventName:o,handler:l=>{this.notifyListeners(o,l)}}}unimplemented(r="not implemented"){return new sn.Exception(r,Ss.Unimplemented)}unavailable(r="not available"){return new sn.Exception(r,Ss.Unavailable)}async removeListener(r,o){const l=this.listeners[r];if(!l)return;const u=l.indexOf(o);this.listeners[r].splice(u,1),this.listeners[r].length||this.removeWindowListener(this.windowListeners[r])}addWindowListener(r){window.addEventListener(r.windowEventName,r.handler),r.registered=!0}removeWindowListener(r){r&&(window.removeEventListener(r.windowEventName,r.handler),r.registered=!1)}sendRetainedArgumentsForEvent(r){const o=this.retainedEventArguments[r];o&&(delete this.retainedEventArguments[r],o.forEach(l=>{this.notifyListeners(r,l)}))}}const eu=t=>encodeURIComponent(t).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape),tu=t=>t.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent);class Mm extends m1{async getCookies(){const r=document.cookie,o={};return r.split(";").forEach(l=>{if(l.length<=0)return;let[u,f]=l.replace(/=/,"CAP_COOKIE").split("CAP_COOKIE");u=tu(u).trim(),f=tu(f).trim(),o[u]=f}),o}async setCookie(r){try{const o=eu(r.key),l=eu(r.value),u=`; expires=${(r.expires||"").replace("expires=","")}`,f=(r.path||"/").replace("path=",""),g=r.url!=null&&r.url.length>0?`domain=${r.url}`:"";document.cookie=`${o}=${l||""}${u}; path=${f}; ${g};`}catch(o){return Promise.reject(o)}}async deleteCookie(r){try{document.cookie=`${r.key}=; Max-Age=0`}catch(o){return Promise.reject(o)}}async clearCookies(){try{const r=document.cookie.split(";")||[];for(const o of r)document.cookie=o.replace(/^ +/,"").replace(/=.*/,`=;expires=${new Date().toUTCString()};path=/`)}catch(r){return Promise.reject(r)}}async clearAllCookies(){try{await this.clearCookies()}catch(r){return Promise.reject(r)}}}Vn("CapacitorCookies",{web:()=>new Mm});const Fm=async t=>new Promise((r,o)=>{const l=new FileReader;l.onload=()=>{const u=l.result;r(u.indexOf(",")>=0?u.split(",")[1]:u)},l.onerror=u=>o(u),l.readAsDataURL(t)}),$m=(t={})=>{const r=Object.keys(t);return Object.keys(t).map(u=>u.toLocaleLowerCase()).reduce((u,f,g)=>(u[f]=t[r[g]],u),{})},Bm=(t,r=!0)=>t?Object.entries(t).reduce((l,u)=>{const[f,g]=u;let p,w;return Array.isArray(g)?(w="",g.forEach(x=>{p=r?encodeURIComponent(x):x,w+=`${f}=${p}&`}),w.slice(0,-1)):(p=r?encodeURIComponent(g):g,w=`${f}=${p}`),`${l}&${w}`},"").substr(1):null,Um=(t,r={})=>{const o=Object.assign({method:t.method||"GET",headers:t.headers},r),u=$m(t.headers)["content-type"]||"";if(typeof t.data=="string")o.body=t.data;else if(u.includes("application/x-www-form-urlencoded")){const f=new URLSearchParams;for(const[g,p]of Object.entries(t.data||{}))f.set(g,p);o.body=f.toString()}else if(u.includes("multipart/form-data")||t.data instanceof FormData){const f=new FormData;if(t.data instanceof FormData)t.data.forEach((p,w)=>{f.append(w,p)});else for(const p of Object.keys(t.data))f.append(p,t.data[p]);o.body=f;const g=new Headers(o.headers);g.delete("content-type"),o.headers=g}else(u.includes("application/json")||typeof t.data=="object")&&(o.body=JSON.stringify(t.data));return o};class Wm extends m1{async request(r){const o=Um(r,r.webFetchExtra),l=Bm(r.params,r.shouldEncodeUrlParams),u=l?`${r.url}?${l}`:r.url,f=await fetch(u,o),g=f.headers.get("content-type")||"";let{responseType:p="text"}=f.ok?r:{};g.includes("application/json")&&(p="json");let w,x;switch(p){case"arraybuffer":case"blob":x=await f.blob(),w=await Fm(x);break;case"json":w=await f.json();break;case"document":case"text":default:w=await f.text()}const A={};return f.headers.forEach((C,I)=>{A[I]=C}),{data:w,headers:A,status:f.status,url:f.url}}async get(r){return this.request(Object.assign(Object.assign({},r),{method:"GET"}))}async post(r){return this.request(Object.assign(Object.assign({},r),{method:"POST"}))}async put(r){return this.request(Object.assign(Object.assign({},r),{method:"PUT"}))}async patch(r){return this.request(Object.assign(Object.assign({},r),{method:"PATCH"}))}async delete(r){return this.request(Object.assign(Object.assign({},r),{method:"DELETE"}))}}Vn("CapacitorHttp",{web:()=>new Wm});const nu=Vn("App",{web:()=>Zr(()=>import("./web-DUFOr-Wj.js"),[]).then(t=>new t.AppWeb)}),Vm=Vn("SafeArea",{web:()=>Zr(()=>import("./web-CQxMuzG0.js"),[]).then(t=>new t.SafeAreaWeb)});function $o(t){var r;typeof document<"u"&&((r=document.querySelector(":root"))===null||r===void 0||r.style.setProperty(`--safe-area-inset-${t}`,`max(env(safe-area-inset-${t}), 0px)`))}function Hm(){$o("top"),$o("left"),$o("bottom"),$o("right")}Hm();const ws=Vn("Preferences",{web:()=>Zr(()=>import("./web-BKuwGLdK.js"),[]).then(t=>new t.PreferencesWeb)}),Gm="https://myapp.ouji.com/nilai_clock_api";async function tr(t,r={}){let o=await Mt.getAuthToken();o||(o=sessionStorage.getItem("token"));const l={"ngrok-skip-browser-warning":"true","Content-Type":"application/json",...r.headers};o&&(l.Authorization=`Bearer ${o}`);const u=await fetch(`${Gm}${t}`,{...r,headers:l});if(!u.ok){const f=await u.json();throw new Error(f.message||`API call failed with status: ${u.status}`)}return u.status===204?null:u.json()}const ru=Vn("Device",{web:()=>Zr(()=>import("./web--OeF1eU6.js"),[]).then(t=>new t.DeviceWeb)});class jm{constructor(){this.isNative=sn.isNativePlatform(),this.deviceUuidKey="device_uuid",this.deviceInfoKey="device_info",this.deviceRegistrationKey="device_registered",this.cachedDeviceUuid=null,this.cachedDeviceInfo=null}async initialize(){try{return this.cachedDeviceUuid=await this.getOrCreateDeviceUuid(),this.cachedDeviceInfo=await this.getDeviceInfo(),!0}catch(r){return console.error("Failed to initialize device UUID service:",r),!1}}async getOrCreateDeviceUuid(){try{let r=await this.getSecureItem(this.deviceUuidKey);return r?(console.log("Found existing device UUID:",r),r):(r=await this.generateDeviceUuid(),await this.setSecureItem(this.deviceUuidKey,r),r)}catch(r){return console.error("Failed to get/create device UUID:",r),this.generateFallbackUuid()}}async generateDeviceUuid(){try{let r="";if(this.isNative){const l=await ru.getInfo(),u=await ru.getId();r=[l.platform||"unknown",l.model||"unknown",l.manufacturer||"unknown",u.identifier||"unknown",l.osVersion||"unknown"].join("-")}else r=[navigator.userAgent,navigator.language,screen.width,screen.height,new Date().getTimezoneOffset()].join("-");return await this.hashStringToUuid(r)}catch(r){return console.error("Failed to generate device UUID:",r),this.generateFallbackUuid()}}async hashStringToUuid(r){try{let o=0;for(let g=0;gl}catch(o){return console.error("Failed to validate token:",o),!1}}async refreshToken(){try{if(!await this.getAuthToken())throw new Error("No token available for refresh");const o=await tr("/api/auth/refresh",{method:"POST"});if(o&&o.token)return await this.setSecureItem(this.tokenKey,o.token),this.isNative||sessionStorage.setItem("token",o.token),o.token;throw new Error("Token refresh failed")}catch(r){throw console.error("Failed to refresh token:",r),r}}async getCachedWorkerData(r){try{const o=await this.getSecureItem(`worker_data_${r}`);return o?JSON.parse(o):null}catch(o){return console.error("Failed to get cached worker data:",o),null}}async cacheWorkerData(r,o){try{return await this.setSecureItem(`worker_data_${r}`,JSON.stringify(o)),!0}catch(l){return console.error("Failed to cache worker data:",l),!1}}async setSecureItem(r,o){this.isNative?await ws.set({key:r,value:o}):localStorage.setItem(r,o)}async getSecureItem(r){return this.isNative?(await ws.get({key:r})).value:localStorage.getItem(r)}async removeSecureItem(r){this.isNative?await ws.remove({key:r}):localStorage.removeItem(r)}async forceClockOut(r){try{const o=await this.getUserId();if(!o){console.warn("No user ID found, cannot force clock out.");return}let l,u;l=0,u=0,await tr("/api/clock",{method:"POST",body:JSON.stringify({userId:o,eventType:"clock_out",notes:r,latitude:l,longitude:u,qrCodeValue:"FORCE_CLOCK_OUT"})}),await this.logout(),window.dispatchEvent(new CustomEvent("user-forced-clock-out",{detail:{note:r}})),console.log(`User ${o} has been forcibly clocked out with note: ${r}`)}catch(o){console.error("Failed to force clock out:",o)}}}const Mt=new Xm;function Ym(t){t.CapacitorUtils.Synapse=new Proxy({},{get(r,o){return new Proxy({},{get(l,u){return(f,g,p)=>{const w=t.Capacitor.Plugins[o];if(w===void 0){p(new Error(`Capacitor plugin ${o} not found`));return}if(typeof w[u]!="function"){p(new Error(`Method ${u} not found in Capacitor plugin ${o}`));return}(async()=>{try{const x=await w[u](f);g(x)}catch(x){p(x)}})()}}})}})}function Km(t){t.CapacitorUtils.Synapse=new Proxy({},{get(r,o){return t.cordova.plugins[o]}})}function zm(t=!1){typeof window>"u"||(window.CapacitorUtils=window.CapacitorUtils||{},window.Capacitor!==void 0&&!t?Ym(window):window.cordova!==void 0&&Km(window))}const Gs=Vn("Geolocation",{web:()=>Zr(()=>import("./web-DrxU3ATE.js"),[]).then(t=>new t.GeolocationWeb)});zm();var su;(function(t){t[t.Sunday=1]="Sunday",t[t.Monday=2]="Monday",t[t.Tuesday=3]="Tuesday",t[t.Wednesday=4]="Wednesday",t[t.Thursday=5]="Thursday",t[t.Friday=6]="Friday",t[t.Saturday=7]="Saturday"})(su||(su={}));const Vs=Vn("LocalNotifications",{web:()=>Zr(()=>import("./web-Bwhg1G08.js"),[]).then(t=>new t.LocalNotificationsWeb)}),ou=Vn("Network",{web:()=>Zr(()=>import("./web-BNgMPRai.js"),[]).then(t=>new t.NetworkWeb)}),iu=Vn("BackgroundGeolocation");class qm{constructor(){this.isInitialized=!1,this.isTracking=!1,this.isClockedIn=!1,this.locationUpdateInterval=30*60*1e3,this.periodicUpdateTimer=null,this.watcherId=null,this.PENDING_LOCATIONS_KEY="pendingLocationUpdates",this.CLOCK_STATUS_KEY="workerClockStatus",this.isOnline=!0,this.networkListener=null}getNotificationMessages(){const r=localStorage.getItem("lang")||"en",o={en:{title:"Check in Successfully",message:"Location tracking active for work attendance"},ms:{title:"Daftar masuk berjaya",message:"Penjejakan lokasi aktif untuk kehadiran kerja"}};return o[r]||o.en}async initialize(){if(this.isInitialized)return!0;try{if((await Gs.requestPermissions()).location!=="granted")return console.error("Location permission denied"),!1;if(sn.isNativePlatform()){const o=this.getNotificationMessages();try{this.watcherId=await iu.addWatcher({requestPermissions:!0,stale:!1,distanceFilter:50,backgroundMessage:o.message,backgroundTitle:o.title},(l,u)=>{if(u){console.error("Background location error:",u);return}l&&this.handleLocationUpdate(l)}),console.log(`initialize: BackgroundGeolocation watcher added with ID: ${this.watcherId}`)}catch(l){return console.error("initialize: Failed to add BackgroundGeolocation watcher:",l),this.watcherId=null,!1}}return await this.initializeNetworkMonitoring(),await this.restoreClockStatus(),this.isInitialized=!0,console.log("Background location service initialized"),!0}catch(r){return console.error("Failed to initialize background location service:",r),!1}}async initializeNetworkMonitoring(){try{if(sn.isNativePlatform()){const r=await ou.getStatus();this.isOnline=r.connected,this.networkListener=ou.addListener("networkStatusChange",o=>{const l=this.isOnline;this.isOnline=o.connected,!l&&o.connected&&this.syncPendingLocationData()})}else this.isOnline=navigator.onLine,window.addEventListener("online",()=>{this.isOnline=!0,this.syncPendingLocationData()}),window.addEventListener("offline",()=>{this.isOnline=!1})}catch(r){console.error("Failed to initialize network monitoring:",r),this.isOnline=!0}}async startTracking(){if(!this.isInitialized&&!await this.initialize())throw new Error("Failed to initialize background location service");if(this.watcherId)return console.log("startTracking: watcherId already exists, proceeding with tracking."),this.isTracking=!0,this.startPeriodicUpdates(),!0;if(console.log("startTracking: watcherId is null, attempting to re-initialize."),await this.initialize()){if(this.watcherId)return this.isTracking=!0,this.startPeriodicUpdates(),!0;throw console.error("startTracking: Failed to re-initialize watcher, watcherId is still null."),new Error("Background location watcher not available after re-initialization attempt.")}else throw console.error("startTracking: Failed to initialize background location service during re-initialization attempt."),new Error("Failed to initialize background location service during re-initialization attempt.")}async stopTracking(){try{return this.watcherId!==null?(console.log(`stopTracking: Removing watcher with ID: ${this.watcherId}`),await iu.removeWatcher({id:this.watcherId}),this.watcherId=null):console.log("stopTracking: watcherId is already null, no watcher to remove."),this.isTracking=!1,this.stopPeriodicUpdates(),this.networkListener&&(this.networkListener.remove(),this.networkListener=null),!0}catch(r){throw console.error("Failed to stop location tracking:",r),r}}startPeriodicUpdates(){this.stopPeriodicUpdates(),console.log(`Starting periodic updates every ${this.locationUpdateInterval/6e4} minutes`),this.periodicUpdateTimer=setInterval(async()=>{if(this.isClockedIn)try{await this.getCurrentLocationAndSend({eventType:"periodic_30min",checkGeofence:!0})}catch(r){console.error("Periodic location update failed:",r)}},this.locationUpdateInterval)}stopPeriodicUpdates(){this.periodicUpdateTimer&&(clearInterval(this.periodicUpdateTimer),this.periodicUpdateTimer=null)}async getCurrentLocationAndSend(r={}){try{const o=await Gs.getCurrentPosition({timeout:3e4,maximumAge:3e4,enableHighAccuracy:!1}),l={coords:{latitude:o.coords.latitude,longitude:o.coords.longitude},timestamp:o.timestamp};return await this.sendLocationToServer(l,r),l}catch(o){throw console.error("Failed to get current location:",o),o}}async sendLocationToServer(r,o={}){if(this.isClockedIn)try{const l=localStorage.getItem("token")||sessionStorage.getItem("token"),u=localStorage.getItem("userId")||sessionStorage.getItem("userId");if(!l||!u){console.warn("No authentication token or user ID available");return}const f={userId:u,longitude:r.coords.longitude,latitude:r.coords.latitude};if(o.checkGeofence&&(f.checkGeofence=!0),o.eventType&&(f.eventType=o.eventType),!this.isOnline){await this.storeLocationForRetry(r,o);return}const g=await fetch("https://myapp.ouji.com/nilai_clock_api/api/location/update",{method:"POST",body:JSON.stringify(f),headers:{"Content-Type":"application/json",Authorization:`Bearer ${l}`}});if(!g.ok)throw new Error(`HTTP error! status: ${g.status}`);console.log("Location sent to server successfully via patched fetch")}catch(l){console.error("Failed to send location to server:",l),await this.storeLocationForRetry(r,o)}}async storeLocationForRetry(r,o={}){try{const l=JSON.parse(localStorage.getItem(this.PENDING_LOCATIONS_KEY)||"[]"),u={location:r,options:o,timestamp:Date.now(),retryCount:0};l.push(u),l.length>50&&l.splice(0,l.length-50),localStorage.setItem(this.PENDING_LOCATIONS_KEY,JSON.stringify(l))}catch(l){console.error("Failed to store location for retry:",l)}}async storeClockStatus(r){try{const o={isClockedIn:r,timestamp:Date.now()};localStorage.setItem(this.CLOCK_STATUS_KEY,JSON.stringify(o))}catch(o){console.error("Failed to store clock status:",o)}}async restoreClockStatus(){try{const r=localStorage.getItem(this.CLOCK_STATUS_KEY);if(r){const o=JSON.parse(r);if(Date.now()-o.timestamp<24*60*60*1e3)return this.isClockedIn=o.isClockedIn,o.isClockedIn}return!1}catch(r){return console.error("Failed to restore clock status:",r),!1}}async syncPendingLocationData(){try{const r=JSON.parse(localStorage.getItem(this.PENDING_LOCATIONS_KEY)||"[]");if(r.length===0)return;const o=[];for(const l of r)if(!(l.retryCount>=3))try{await this.sendLocationToServer(l.location,l.options||{})}catch{l.retryCount=(l.retryCount||0)+1,o.push(l)}localStorage.setItem(this.PENDING_LOCATIONS_KEY,JSON.stringify(o))}catch(r){console.error("Failed to sync pending location data:",r)}}async onAppResume(){try{if(await this.restoreClockStatus(),this.isClockedIn){console.log("onAppResume: User is clocked in. Attempting to capture location and ensure tracking.");try{await this.getCurrentLocationAndSend({eventType:"app_resume",checkGeofence:!0})}catch(r){console.error("onAppResume: Failed to capture app resume location:",r)}if(this.isTracking)console.log("onAppResume: Tracking is already active.");else{console.log("onAppResume: Tracking is not active, attempting to start tracking.");try{await this.startTracking()}catch(r){console.error("onAppResume: Failed to start tracking on app resume:",r)}}await this.syncPendingLocationData()}else console.log("onAppResume: User is not clocked in. No action needed.")}catch(r){console.error("Failed to handle app resume:",r)}}handleLocationUpdate(r){if(!this.isClockedIn)return;const o={coords:{latitude:r.latitude,longitude:r.longitude},timestamp:r.time||Date.now()};this.sendLocationToServer(o).catch(l=>{console.error("Failed to send background location update:",l)})}isLocationTrackingActive(){return this.isTracking}async setClockedInStatus(r){const o=this.isClockedIn;if(this.isClockedIn=r,await this.storeClockStatus(r),r){if(!await this.checkPermissions())return console.error("Cannot start location tracking - permissions denied"),!1;if(!o)try{await this.getCurrentLocationAndSend({checkGeofence:!0,eventType:"clock_in"})}catch(u){console.error("Failed to capture clock-in location:",u)}if(!this.isTracking)try{await this.startTracking()}catch(u){return console.error("Failed to start location tracking:",u),!1}return await this.startForegroundService(),!0}else return this.isTracking&&await this.stopTracking(),await this.stopForegroundService(),await this.syncPendingLocationData(),!0}async checkPermissions(){if(!sn.isNativePlatform())return!0;try{return!((await Gs.checkPermissions()).location!=="granted"&&(await Gs.requestPermissions()).location!=="granted"||(await Vs.checkPermissions()).display!=="granted"&&(await Vs.requestPermissions()).display!=="granted")}catch(r){return console.error("Failed to check permissions:",r),!1}}getClockedInStatus(){return this.isClockedIn}async startForegroundService(){if(!sn.isNativePlatform())return!0;try{if((await Vs.requestPermissions()).display!=="granted")return console.error("Notification permission denied"),!1;const o=this.getNotificationMessages();return await Vs.schedule({notifications:[{title:o.title,body:o.notificationText,id:999,sound:null,smallIcon:"ic_stat_location_on",iconColor:"#0066CC",ongoing:!0,autoCancel:!1,extra:{priority:"high",category:"service",visibility:"public"}}]}),!0}catch(r){return console.error("Failed to start foreground service:",r),!1}}async stopForegroundService(){if(sn.isNativePlatform())try{await Vs.cancel({notifications:[{id:999}]})}catch(r){console.error("Failed to stop foreground service:",r)}}}const Qm=new qm,Zm=Vn("AppSecurity");class Jm{constructor(){this.isNative=sn.isNativePlatform(),this.blacklistCache=null,this.blacklistCacheTime=null,this.gpsSpooferBlacklist=["com.lexa.fakegps","com.incorporateapps.fakegps.fre","com.blogspot.newapphorizons.fakegps","com.theappninjas.gpsjoystick"]}async initialize(){if(!this.isNative){console.warn("Anti-spoofing detection is only available on native platforms");return}console.log("Anti-spoofing service initialized, but security checks are deferred until after login.")}startSecurityChecks(){this.isNative&&(console.log("Starting periodic security checks..."),this.performSecurityCheck(),setInterval(()=>this.performSecurityCheck(),5*60*1e3))}async fetchBlacklistFromServer(){const r=new Date().getTime();if(this.blacklistCache&&this.blacklistCacheTime&&r-this.blacklistCacheTime<3600*1e3)return this.blacklistCache;try{const o=await tr("/api/security/app-blacklist");return this.blacklistCache=o,this.blacklistCacheTime=r,o}catch(o){return console.error("Failed to fetch blacklist from server, using fallback:",o),this.gpsSpooferBlacklist}}async performSecurityCheck(){if(this.isNative){console.log("ANTI-SPOOFING: Performing security check...");try{if(!await Mt.isAuthenticated()){console.warn("ANTI-SPOOFING: User not authenticated, skipping security check.");return}console.log("ANTI-SPOOFING: User is authenticated, proceeding with security check.");const o=await this.fetchBlacklistFromServer();console.log("ANTI-SPOOFING: Blacklist:",o);const u=(await Zm.getInstalledApps()).packages;for(const f of u)if(o.includes(f)){console.warn(`ANTI-SPOOFING: Blacklisted app detected: ${f}`);const g=new CustomEvent("app-blocked",{detail:{appName:f,message:`For security reasons, the application cannot be used while ${f} is installed.`}});window.dispatchEvent(g),console.log("ANTI-SPOOFING: Forcing clock out due to blacklisted app."),await Mt.forceClockOut("Blacklisted App Detected");return}console.log("ANTI-SPOOFING: Security check complete, no blacklisted apps found.")}catch(r){console.error("ANTI-SPOOFING: Security check failed:",r)}}}}const x1=new Jm;class ep{constructor(){this.isNative=sn.isNativePlatform(),this.isInitialized=!1,this.services={auth:Mt,location:Qm,antiSpoofing:x1,deviceUuid:p1},this.initializationPromise=null}async initialize(){return this.initializationPromise?this.initializationPromise:(this.initializationPromise=this._performInitialization(),this.initializationPromise)}async _performInitialization(){if(this.isInitialized)return!0;console.log("Initializing native services manager...");try{const r={};return console.log("Initializing device UUID service..."),r.deviceUuid=await this.services.deviceUuid.initialize(),console.log("Initializing auth service..."),r.auth=!0,console.log("Initializing anti-spoofing service..."),r.antiSpoofing=await this.services.antiSpoofing.initialize(),console.log("Initializing background location service..."),r.location=await this.services.location.initialize(),console.log("Native services initialization results:",r),this.isInitialized=!0,!0}catch(r){return console.error("Failed to initialize native services:",r),!1}}async startServices(){this.isInitialized||await this.initialize();try{console.log("🔄 NATIVE SERVICES: Starting all services...");try{this.isNative&&(await this.services.location.startTracking(),console.log("Background location tracking started"))}catch(r){console.error("Failed to start location tracking:",r)}try{console.log("Performing initial security check..."),await this.services.antiSpoofing.performSecurityCheck()}catch(r){console.error("Failed to perform security check:",r)}try{this.startPeriodicTasks()}catch(r){console.error("Failed to start periodic tasks:",r)}return console.log("✅ NATIVE SERVICES: Initialization completed (some services may have failed)"),!0}catch(r){return console.error("❌ NATIVE SERVICES: Critical error in startup:",r),!1}}async stopServices(){try{return console.log("Stopping native services..."),this.services.location.isLocationTrackingActive()&&await this.services.location.stopTracking(),this.stopPeriodicTasks(),console.log("All native services stopped"),!0}catch(r){return console.error("Failed to stop native services:",r),!1}}startPeriodicTasks(){this.securityCheckInterval=setInterval(async()=>{try{await this.services.antiSpoofing.performSecurityCheck()}catch(r){console.error("Periodic security check failed:",r)}},24*60*60*1e3),this.retryInterval=setInterval(async()=>{try{await this.services.location.syncPendingLocationData()}catch(r){console.error("Retry operations failed:",r)}},5*60*1e3)}stopPeriodicTasks(){this.securityCheckInterval&&(clearInterval(this.securityCheckInterval),this.securityCheckInterval=null),this.retryInterval&&(clearInterval(this.retryInterval),this.retryInterval=null)}async onAppBackground(){console.log("App going to background - ensuring services continue");try{this.isNative&&this.services.location.getClockedInStatus()&&!this.services.location.isLocationTrackingActive()&&(console.log("Worker is clocked in, restarting location tracking for background"),await this.services.location.startTracking())}catch(r){console.error("Failed to handle app background:",r)}}async onAppForeground(){console.log("OPTIMIZED: App coming to foreground - checking service status");try{if(this.isNative&&this.services.location.getClockedInStatus()&&!this.services.location.isLocationTrackingActive()&&(console.log("OPTIMIZED: Worker is clocked in but location tracking stopped, restarting..."),await this.services.location.startTracking()),this.isNative&&this.services.location.getClockedInStatus()){console.log("OPTIMIZED: Performing geofence check on app resume");try{await this.services.location.getCurrentLocationAndSend({checkGeofence:!0})}catch(r){console.error("OPTIMIZED: Failed to perform geofence check on app resume:",r)}}await this.services.location.syncPendingLocationData()}catch(r){console.error("OPTIMIZED: Failed to handle app foreground:",r)}}async onUserLogin(){console.log("🔄 NATIVE SERVICES: User logged in - starting services");const r=await this.startServices();return console.log("🔄 NATIVE SERVICES: Start services result:",r),r}async onUserLogout(){return console.log("User logged out - stopping native services"),await this.stopServices()}getServiceStatus(){return{isInitialized:this.isInitialized,isNative:this.isNative,services:{location:{initialized:this.services.location.isInitialized,tracking:this.services.location.isLocationTrackingActive(),lastUpdate:null},antiSpoofing:{initialized:!0,lastCheck:null},deviceUuid:{initialized:!0,uuid:"simplified"}}}}async forceSecurityCheck(){return await this.services.antiSpoofing.performSecurityCheck()}async getCurrentLocation(){return await this.services.location.getCurrentLocationAndSend()}async validateDevice(){return!0}isNativePlatform(){return this.isNative}async getDeviceUuid(){return"simplified-device-uuid"}async resetServices(){try{return await this.stopServices(),await this.services.auth.clearStoredCredentials(),this.isInitialized=!1,this.initializationPromise=null,console.log("All services reset successfully"),!0}catch(r){return console.error("Failed to reset services:",r),!1}}}const Qt=new ep;function tp(t,r){return Fe(),Ge("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[Y("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m9 12.75 3 3m0 0 3-3m-3 3v-7.5M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z"})])}function ac(t,r){return Fe(),Ge("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[Y("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M10.5 19.5 3 12m0 0 7.5-7.5M3 12h18"})])}function w1(t,r){return Fe(),Ge("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[Y("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M15.75 9V5.25A2.25 2.25 0 0 0 13.5 3h-6a2.25 2.25 0 0 0-2.25 2.25v13.5A2.25 2.25 0 0 0 7.5 21h6a2.25 2.25 0 0 0 2.25-2.25V15m3 0 3-3m0 0-3-3m3 3H9"})])}function np(t,r){return Fe(),Ge("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[Y("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m15 11.25-3-3m0 0-3 3m3-3v7.5M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z"})])}function rp(t,r){return Fe(),Ge("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[Y("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M6.827 6.175A2.31 2.31 0 0 1 5.186 7.23c-.38.054-.757.112-1.134.175C2.999 7.58 2.25 8.507 2.25 9.574V18a2.25 2.25 0 0 0 2.25 2.25h15A2.25 2.25 0 0 0 21.75 18V9.574c0-1.067-.75-1.994-1.802-2.169a47.865 47.865 0 0 0-1.134-.175 2.31 2.31 0 0 1-1.64-1.055l-.822-1.316a2.192 2.192 0 0 0-1.736-1.039 48.774 48.774 0 0 0-5.232 0 2.192 2.192 0 0 0-1.736 1.039l-.821 1.316Z"}),Y("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M16.5 12.75a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0ZM18.75 10.5h.008v.008h-.008V10.5Z"})])}function y1(t,r){return Fe(),Ge("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[Y("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M3 13.125C3 12.504 3.504 12 4.125 12h2.25c.621 0 1.125.504 1.125 1.125v6.75C7.5 20.496 6.996 21 6.375 21h-2.25A1.125 1.125 0 0 1 3 19.875v-6.75ZM9.75 8.625c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125v11.25c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125V8.625ZM16.5 4.125c0-.621.504-1.125 1.125-1.125h2.25C20.496 3 21 3.504 21 4.125v15.75c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125V4.125Z"})])}function sp(t,r){return Fe(),Ge("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[Y("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M9 12.75 11.25 15 15 9.75M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z"})])}function au(t,r){return Fe(),Ge("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[Y("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m8.25 4.5 7.5 7.5-7.5 7.5"})])}function C1(t,r){return Fe(),Ge("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[Y("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M12 6v6h4.5m4.5 0a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z"})])}function op(t,r){return Fe(),Ge("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[Y("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M9.594 3.94c.09-.542.56-.94 1.11-.94h2.593c.55 0 1.02.398 1.11.94l.213 1.281c.063.374.313.686.645.87.074.04.147.083.22.127.325.196.72.257 1.075.124l1.217-.456a1.125 1.125 0 0 1 1.37.49l1.296 2.247a1.125 1.125 0 0 1-.26 1.431l-1.003.827c-.293.241-.438.613-.43.992a7.723 7.723 0 0 1 0 .255c-.008.378.137.75.43.991l1.004.827c.424.35.534.955.26 1.43l-1.298 2.247a1.125 1.125 0 0 1-1.369.491l-1.217-.456c-.355-.133-.75-.072-1.076.124a6.47 6.47 0 0 1-.22.128c-.331.183-.581.495-.644.869l-.213 1.281c-.09.543-.56.94-1.11.94h-2.594c-.55 0-1.019-.398-1.11-.94l-.213-1.281c-.062-.374-.312-.686-.644-.87a6.52 6.52 0 0 1-.22-.127c-.325-.196-.72-.257-1.076-.124l-1.217.456a1.125 1.125 0 0 1-1.369-.49l-1.297-2.247a1.125 1.125 0 0 1 .26-1.431l1.004-.827c.292-.24.437-.613.43-.991a6.932 6.932 0 0 1 0-.255c.007-.38-.138-.751-.43-.992l-1.004-.827a1.125 1.125 0 0 1-.26-1.43l1.297-2.247a1.125 1.125 0 0 1 1.37-.491l1.216.456c.356.133.751.072 1.076-.124.072-.044.146-.086.22-.128.332-.183.582-.495.644-.869l.214-1.28Z"}),Y("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z"})])}function ip(t,r){return Fe(),Ge("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[Y("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m10.5 21 5.25-11.25L21 21m-9-3h7.5M3 5.621a48.474 48.474 0 0 1 6-.371m0 0c1.12 0 2.233.038 3.334.114M9 5.25V3m3.334 2.364C11.176 10.658 7.69 15.08 3 17.502m9.334-12.138c.896.061 1.785.147 2.666.257m-4.589 8.495a18.023 18.023 0 0 1-3.827-5.802"})])}function ap(t,r){return Fe(),Ge("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[Y("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M16.5 10.5V6.75a4.5 4.5 0 1 0-9 0v3.75m-.75 11.25h10.5a2.25 2.25 0 0 0 2.25-2.25v-6.75a2.25 2.25 0 0 0-2.25-2.25H6.75a2.25 2.25 0 0 0-2.25 2.25v6.75a2.25 2.25 0 0 0 2.25 2.25Z"})])}function cp(t,r){return Fe(),Ge("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[Y("path",{"fill-rule":"evenodd",d:"M12 2.25c-5.385 0-9.75 4.365-9.75 9.75s4.365 9.75 9.75 9.75 9.75-4.365 9.75-9.75S17.385 2.25 12 2.25ZM12.75 6a.75.75 0 0 0-1.5 0v6c0 .414.336.75.75.75h4.5a.75.75 0 0 0 0-1.5h-3.75V6Z","clip-rule":"evenodd"})])}function lp(t,r){return Fe(),Ge("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[Y("path",{"fill-rule":"evenodd",d:"M11.078 2.25c-.917 0-1.699.663-1.85 1.567L9.05 4.889c-.02.12-.115.26-.297.348a7.493 7.493 0 0 0-.986.57c-.166.115-.334.126-.45.083L6.3 5.508a1.875 1.875 0 0 0-2.282.819l-.922 1.597a1.875 1.875 0 0 0 .432 2.385l.84.692c.095.078.17.229.154.43a7.598 7.598 0 0 0 0 1.139c.015.2-.059.352-.153.43l-.841.692a1.875 1.875 0 0 0-.432 2.385l.922 1.597a1.875 1.875 0 0 0 2.282.818l1.019-.382c.115-.043.283-.031.45.082.312.214.641.405.985.57.182.088.277.228.297.35l.178 1.071c.151.904.933 1.567 1.85 1.567h1.844c.916 0 1.699-.663 1.85-1.567l.178-1.072c.02-.12.114-.26.297-.349.344-.165.673-.356.985-.57.167-.114.335-.125.45-.082l1.02.382a1.875 1.875 0 0 0 2.28-.819l.923-1.597a1.875 1.875 0 0 0-.432-2.385l-.84-.692c-.095-.078-.17-.229-.154-.43a7.614 7.614 0 0 0 0-1.139c-.016-.2.059-.352.153-.43l.84-.692c.708-.582.891-1.59.433-2.385l-.922-1.597a1.875 1.875 0 0 0-2.282-.818l-1.02.382c-.114.043-.282.031-.449-.083a7.49 7.49 0 0 0-.985-.57c-.183-.087-.277-.227-.297-.348l-.179-1.072a1.875 1.875 0 0 0-1.85-1.567h-1.843ZM12 15.75a3.75 3.75 0 1 0 0-7.5 3.75 3.75 0 0 0 0 7.5Z","clip-rule":"evenodd"})])}const Ei=(t,r)=>{const o=t.__vccOpts||t;for(const[l,u]of r)o[l]=u;return o},up={class:"bottom-nav-container"},dp={class:"bottom-nav-content"},fp={class:"text-xs font-medium"},hp={class:"text-xs font-medium"},gp={__name:"BottomNavigation",setup(t){const r=Vd(),o=ht(()=>r.path==="/worker/dashboard"),l=ht(()=>r.path.includes("/worker/settings")||r.path.includes("/worker/history")||r.path.includes("/worker/change-password")||r.path.includes("/worker/services-status"));return(u,f)=>{const g=td("router-link");return Fe(),Ge("nav",up,[Y("div",dp,[st(g,{to:"/worker/dashboard",class:_n(["flex-1 flex flex-col items-center py-3 px-2 text-center transition-colors duration-200",o.value?"text-blue-600 bg-blue-50":"text-gray-600 hover:text-blue-600 hover:bg-gray-50"])},{default:oo(()=>[(Fe(),ys(qo(o.value?Xe(cp):Xe(C1)),{class:"w-7 h-7 mb-1"})),Y("span",fp,Ce(u.$t("clockIn")),1)]),_:1},8,["class"]),st(g,{to:"/worker/settings",class:_n(["flex-1 flex flex-col items-center py-3 px-2 text-center transition-colors duration-200",l.value?"text-blue-600 bg-blue-50":"text-gray-600 hover:text-blue-600 hover:bg-gray-50"])},{default:oo(()=>[(Fe(),ys(qo(l.value?Xe(lp):Xe(op)),{class:"w-7 h-7 mb-1"})),Y("span",hp,Ce(u.$t("setting")),1)]),_:1},8,["class"])])])}}},mp=Ei(gp,[["__scopeId","data-v-0c472705"]]),pp={class:"min-h-screen bg-gray-100 text-gray-900"},xp={key:0,class:"blocker-overlay"},wp={class:"blocker-content"},yp={class:"blocker-message"},Cp={key:1,class:"safe-area-main"},Ep={__name:"App",setup(t){const{locale:r}=xr(),o=Qr(),l=Vd(),u=gt(!1),f=gt(!1),g=gt(""),p=ht(()=>l.path.startsWith("/worker/")),w=()=>{let C=0,I=0,O=!1;document.addEventListener("touchstart",U=>{C=U.touches[0].clientY,I=U.touches[0].clientX,O=!1},{passive:!1}),document.addEventListener("touchmove",U=>{if(O)return;const te=U.touches[0].clientY-C,L=U.touches[0].clientX-I;Math.abs(te)>Math.abs(L)&&(U.preventDefault(),O=!0)},{passive:!1}),document.addEventListener("touchmove",U=>{if(O)return;const te=U.touches[0].clientY-C,L=U.touches[0].clientX-I;Math.abs(te)(U.preventDefault(),!1));let z=0;document.addEventListener("touchend",U=>{const te=new Date().getTime();te-z<=300&&U.preventDefault(),z=te},!1)};Or(()=>l.path,async()=>{u.value=await Mt.isAuthenticated()}),qr(async()=>{if(window.addEventListener("app-blocked",x),window.addEventListener("user-forced-clock-out",A),sn.isNativePlatform()){try{await Vm.enable({config:{customColorsForSystemBars:!0,statusBarColor:"#2563eb",statusBarContent:"light",navigationBarColor:"#ffffff",navigationBarContent:"dark",offset:0}})}catch(I){console.error("Failed to initialize SafeArea:",I)}w()}const C=localStorage.getItem("lang");C&&(r.value=C),u.value=await Mt.isAuthenticated();try{console.log("Initializing native services..."),await Qt.initialize(),sn.isNativePlatform()&&nu.addListener("appStateChange",({isActive:O})=>{O?Qt.onAppForeground():Qt.onAppBackground()});const I=await Mt.attemptAutoLogin();if(I.success){console.log("Auto-login successful"),u.value=!0,sessionStorage.setItem("userId",I.userId.toString()),sessionStorage.setItem("userRole",I.userRole);const O=await Mt.getAuthToken();O&&sessionStorage.setItem("token",O);const z=await Mt.getCachedWorkerData(I.userId);z&&z.username&&sessionStorage.setItem("username",z.username),await Qt.onUserLogin(),I.userRole==="worker"?o.push("/worker/dashboard"):I.userRole==="manager"&&o.push("/manager/dashboard")}}catch(I){console.error("Failed to initialize app:",I)}});const x=C=>{f.value=!0,g.value=C.detail.message},A=C=>{f.value=!0,g.value=`You have been automatically clocked out. Reason: ${C.detail.note}`};return ja(()=>{window.removeEventListener("app-blocked",x),window.removeEventListener("user-forced-clock-out",A),sn.isNativePlatform()&&nu.removeAllListeners()}),(C,I)=>(Fe(),Ge("div",pp,[f.value?(Fe(),Ge("div",xp,[Y("div",wp,[I[0]||(I[0]=Y("h1",{class:"blocker-title"},"Application Blocked",-1)),Y("p",yp,Ce(g.value),1)])])):xn("",!0),f.value?xn("",!0):(Fe(),Ge("main",Cp,[st(Xe(Wd))])),p.value&&!f.value?(Fe(),ys(mp,{key:2})):xn("",!0)]))}},Ap=Ei(Ep,[["__scopeId","data-v-1669ff40"]]),bp={class:"flex justify-center items-center mobile-viewport bg-gray-100 safe-top safe-bottom"},_p={class:"w-full max-w-sm p-8 space-y-3 bg-white rounded-2xl shadow-lg"},Ip={class:"flex justify-center"},Sp={class:"text-3xl font-extrabold text-center text-gray-900"},Tp={for:"username",class:"sr-only"},vp=["placeholder"],kp={for:"password",class:"sr-only"},Np=["placeholder"],Rp={class:"flex items-center justify-between"},Op={class:"flex items-center"},Dp={for:"rememberMe",class:"ml-2 block text-sm text-gray-900"},Pp=["disabled"],Lp={key:0,class:"text-sm text-center text-red-600 mt-4"},Mp={__name:"LoginView",setup(t){const{t:r}=xr(),o=Qr(),l=gt(""),u=gt(""),f=gt(!1),g=gt(""),p=gt(!1),w=async()=>{p.value=!0,g.value="";try{const x=await Mt.login(l.value,u.value,f.value);if(x.success)if(console.log("✅ LOGIN SUCCESS:",x),sessionStorage.setItem("userId",x.userId.toString()),sessionStorage.setItem("userRole",x.userRole),sessionStorage.setItem("token",x.token),sessionStorage.setItem("username",l.value),console.log("✅ SESSION STORAGE SET:",{userId:sessionStorage.getItem("userId"),userRole:sessionStorage.getItem("userRole")}),x.userRole==="worker"){console.log("🔄 WORKER LOGIN - Starting native services...");try{await Qt.onUserLogin(),console.log("✅ NATIVE SERVICES STARTED"),x1.startSecurityChecks()}catch(A){console.error("❌ NATIVE SERVICES FAILED:",A)}console.log("🔄 NAVIGATING TO WORKER DASHBOARD...");try{await o.push("/worker/dashboard"),console.log("✅ NAVIGATION COMPLETED")}catch(A){console.error("❌ NAVIGATION FAILED:",A)}}else console.log("ℹ️ NON-WORKER LOGIN - Worker client app only"),g.value="This application is designed for workers only.",await Mt.logout();else x.error.includes("Device not authorized")?g.value="deviceNotAuthorized":x.error.includes("Invalid credentials")?g.value="invalidCredentials":x.error.includes("Network error")?g.value="failedConnection":g.value=x.error}catch(x){console.error("Login error:",x),g.value="failedConnection"}finally{p.value=!1}};return(x,A)=>(Fe(),Ge("div",bp,[Y("div",_p,[Y("div",Ip,[st(Xe(w1),{class:"w-16 h-16 text-blue-600"})]),Y("h2",Sp,Ce(Xe(r)("login")),1),Y("form",{onSubmit:vd(w,["prevent"]),class:"space-y-6"},[Y("div",null,[Y("label",Tp,Ce(Xe(r)("username")),1),Rr(Y("input",{type:"text",id:"username","onUpdate:modelValue":A[0]||(A[0]=C=>l.value=C),autocomplete:"username",class:"w-full px-4 py-3 text-gray-700 bg-gray-50 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent",placeholder:Xe(r)("username"),required:""},null,8,vp),[[Js,l.value]])]),Y("div",null,[Y("label",kp,Ce(Xe(r)("password")),1),Rr(Y("input",{type:"password",id:"password","onUpdate:modelValue":A[1]||(A[1]=C=>u.value=C),autocomplete:"current-password",class:"w-full px-4 py-3 text-gray-700 bg-gray-50 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent",placeholder:Xe(r)("password"),required:""},null,8,Np),[[Js,u.value]])]),Y("div",Rp,[Y("div",Op,[Rr(Y("input",{type:"checkbox",id:"rememberMe","onUpdate:modelValue":A[2]||(A[2]=C=>f.value=C),class:"w-4 h-4 text-blue-600 bg-gray-100 border-gray-300 rounded focus:ring-blue-500"},null,512),[[Ch,f.value]]),Y("label",Dp,Ce(Xe(r)("rememberMe")),1)])]),Y("button",{type:"submit",class:"w-full py-3 text-lg font-semibold text-white bg-blue-600 rounded-lg hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 transition-transform transform hover:scale-105 disabled:opacity-60 disabled:cursor-not-allowed shadow-md",disabled:p.value},Ce(p.value?Xe(r)("loggingIn"):Xe(r)("login")),9,Pp),g.value?(Fe(),Ge("p",Lp,Ce(Xe(r)(g.value)!==g.value?Xe(r)(g.value):g.value),1)):xn("",!0)],32)])]))}},Fp=Ei(Mp,[["__scopeId","data-v-e1012e83"]]);var _e;(function(t){t[t.QR_CODE=0]="QR_CODE",t[t.AZTEC=1]="AZTEC",t[t.CODABAR=2]="CODABAR",t[t.CODE_39=3]="CODE_39",t[t.CODE_93=4]="CODE_93",t[t.CODE_128=5]="CODE_128",t[t.DATA_MATRIX=6]="DATA_MATRIX",t[t.MAXICODE=7]="MAXICODE",t[t.ITF=8]="ITF",t[t.EAN_13=9]="EAN_13",t[t.EAN_8=10]="EAN_8",t[t.PDF_417=11]="PDF_417",t[t.RSS_14=12]="RSS_14",t[t.RSS_EXPANDED=13]="RSS_EXPANDED",t[t.UPC_A=14]="UPC_A",t[t.UPC_E=15]="UPC_E",t[t.UPC_EAN_EXTENSION=16]="UPC_EAN_EXTENSION"})(_e||(_e={}));var cu=new Map([[_e.QR_CODE,"QR_CODE"],[_e.AZTEC,"AZTEC"],[_e.CODABAR,"CODABAR"],[_e.CODE_39,"CODE_39"],[_e.CODE_93,"CODE_93"],[_e.CODE_128,"CODE_128"],[_e.DATA_MATRIX,"DATA_MATRIX"],[_e.MAXICODE,"MAXICODE"],[_e.ITF,"ITF"],[_e.EAN_13,"EAN_13"],[_e.EAN_8,"EAN_8"],[_e.PDF_417,"PDF_417"],[_e.RSS_14,"RSS_14"],[_e.RSS_EXPANDED,"RSS_EXPANDED"],[_e.UPC_A,"UPC_A"],[_e.UPC_E,"UPC_E"],[_e.UPC_EAN_EXTENSION,"UPC_EAN_EXTENSION"]]),lu;(function(t){t[t.UNKNOWN=0]="UNKNOWN",t[t.URL=1]="URL"})(lu||(lu={}));function $p(t){return Object.values(_e).includes(t)}var ni;(function(t){t[t.SCAN_TYPE_CAMERA=0]="SCAN_TYPE_CAMERA",t[t.SCAN_TYPE_FILE=1]="SCAN_TYPE_FILE"})(ni||(ni={}));var Bp=function(){function t(){}return t.GITHUB_PROJECT_URL="https://github.com/mebjas/html5-qrcode",t.SCAN_DEFAULT_FPS=2,t.DEFAULT_DISABLE_FLIP=!1,t.DEFAULT_REMEMBER_LAST_CAMERA_USED=!0,t.DEFAULT_SUPPORTED_SCAN_TYPE=[ni.SCAN_TYPE_CAMERA,ni.SCAN_TYPE_FILE],t}(),E1=function(){function t(r,o){this.format=r,this.formatName=o}return t.prototype.toString=function(){return this.formatName},t.create=function(r){if(!cu.has(r))throw"".concat(r," not in html5QrcodeSupportedFormatsTextMap");return new t(r,cu.get(r))},t}(),uu=function(){function t(){}return t.createFromText=function(r){var o={text:r};return{decodedText:r,result:o}},t.createFromQrcodeResult=function(r){return{decodedText:r.text,result:r}},t}(),va;(function(t){t[t.UNKWOWN_ERROR=0]="UNKWOWN_ERROR",t[t.IMPLEMENTATION_ERROR=1]="IMPLEMENTATION_ERROR",t[t.NO_CODE_FOUND_ERROR=2]="NO_CODE_FOUND_ERROR"})(va||(va={}));var Up=function(){function t(){}return t.createFrom=function(r){return{errorMessage:r,type:va.UNKWOWN_ERROR}},t}(),Wp=function(){function t(r){this.verbose=r}return t.prototype.log=function(r){this.verbose&&console.log(r)},t.prototype.warn=function(r){this.verbose&&console.warn(r)},t.prototype.logError=function(r,o){(this.verbose||o===!0)&&console.error(r)},t.prototype.logErrors=function(r){if(r.length===0)throw"Logger#logError called without arguments";this.verbose&&console.error(r)},t}();function ar(t){return typeof t>"u"||t===null}var fs=function(){function t(){}return t.codeParseError=function(r){return"QR code parse error, error = ".concat(r)},t.errorGettingUserMedia=function(r){return"Error getting userMedia, error = ".concat(r)},t.onlyDeviceSupportedError=function(){return"The device doesn't support navigator.mediaDevices , only supported cameraIdOrConfig in this case is deviceId parameter (string)."},t.cameraStreamingNotSupported=function(){return"Camera streaming not supported by the browser."},t.unableToQuerySupportedDevices=function(){return"Unable to query supported devices, unknown error."},t.insecureContextCameraQueryError=function(){return"Camera access is only supported in secure context like https or localhost."},t.scannerPaused=function(){return"Scanner paused"},t}(),A1=function(){function t(){}return t.isMediaStreamConstraintsValid=function(r,o){if(typeof r!="object"){var l=typeof r;return o.logError("videoConstraints should be of type object, the "+"object passed is of type ".concat(l,"."),!0),!1}for(var u=["autoGainControl","channelCount","echoCancellation","latency","noiseSuppression","sampleRate","sampleSize","volume"],f=new Set(u),g=Object.keys(r),p=0,w=g;ps)throw new C("fromIndex("+n+") > toIndex("+s+")");if(n<0)throw new L(n);if(s>e)throw new L(s)}static asList(...e){return e}static create(e,n,s){return Array.from({length:e}).map(a=>Array.from({length:n}).fill(s))}static createInt32Array(e,n,s){return Array.from({length:e}).map(a=>Int32Array.from({length:n}).fill(s))}static equals(e,n){if(!e||!n||!e.length||!n.length||e.length!==n.length)return!1;for(let s=0,i=e.length;s>1,d=s(n,e[c]);if(d>0)i=c+1;else if(d<0)a=c-1;else return c}return-i-1}static numberComparator(e,n){return e-n}}class V{static numberOfTrailingZeros(e){let n;if(e===0)return 32;let s=31;return n=e<<16,n!==0&&(s-=16,e=n),n=e<<8,n!==0&&(s-=8,e=n),n=e<<4,n!==0&&(s-=4,e=n),n=e<<2,n!==0&&(s-=2,e=n),s-(e<<1>>>31)}static numberOfLeadingZeros(e){if(e===0)return 32;let n=1;return e>>>16||(n+=16,e<<=16),e>>>24||(n+=8,e<<=8),e>>>28||(n+=4,e<<=4),e>>>30||(n+=2,e<<=2),n-=e>>>31,n}static toHexString(e){return e.toString(16)}static toBinaryString(e){return String(parseInt(String(e),2))}static bitCount(e){return e=e-(e>>>1&1431655765),e=(e&858993459)+(e>>>2&858993459),e=e+(e>>>4)&252645135,e=e+(e>>>8),e=e+(e>>>16),e&63}static truncDivision(e,n){return Math.trunc(e/n)}static parseInt(e,n=void 0){return parseInt(e,n)}}V.MIN_VALUE_32_BITS=-2147483648,V.MAX_VALUE=Number.MAX_SAFE_INTEGER;class F{constructor(e,n){e===void 0?(this.size=0,this.bits=new Int32Array(1)):(this.size=e,n==null?this.bits=F.makeArray(e):this.bits=n)}getSize(){return this.size}getSizeInBytes(){return Math.floor((this.size+7)/8)}ensureCapacity(e){if(e>this.bits.length*32){const n=F.makeArray(e);U.arraycopy(this.bits,0,n,0,this.bits.length),this.bits=n}}get(e){return(this.bits[Math.floor(e/32)]&1<<(e&31))!==0}set(e){this.bits[Math.floor(e/32)]|=1<<(e&31)}flip(e){this.bits[Math.floor(e/32)]^=1<<(e&31)}getNextSet(e){const n=this.size;if(e>=n)return n;const s=this.bits;let i=Math.floor(e/32),a=s[i];a&=~((1<<(e&31))-1);const c=s.length;for(;a===0;){if(++i===c)return n;a=s[i]}const d=i*32+V.numberOfTrailingZeros(a);return d>n?n:d}getNextUnset(e){const n=this.size;if(e>=n)return n;const s=this.bits;let i=Math.floor(e/32),a=~s[i];a&=~((1<<(e&31))-1);const c=s.length;for(;a===0;){if(++i===c)return n;a=~s[i]}const d=i*32+V.numberOfTrailingZeros(a);return d>n?n:d}setBulk(e,n){this.bits[Math.floor(e/32)]=n}setRange(e,n){if(nthis.size)throw new C;if(n===e)return;n--;const s=Math.floor(e/32),i=Math.floor(n/32),a=this.bits;for(let c=s;c<=i;c++){const d=c>s?0:e&31,m=(2<<(cthis.size)throw new C;if(n===e)return!0;n--;const i=Math.floor(e/32),a=Math.floor(n/32),c=this.bits;for(let d=i;d<=a;d++){const h=d>i?0:e&31,y=(2<<(d32)throw new C("Num bits must be between 0 and 32");this.ensureCapacity(this.size+n);for(let s=n;s>0;s--)this.appendBit((e>>s-1&1)===1)}appendBitArray(e){const n=e.size;this.ensureCapacity(this.size+n);for(let s=0;s>1&1431655765|(c&1431655765)<<1,c=c>>2&858993459|(c&858993459)<<2,c=c>>4&252645135|(c&252645135)<<4,c=c>>8&16711935|(c&16711935)<<8,c=c>>16&65535|(c&65535)<<16,e[n-a]=c}if(this.size!==s*32){const a=s*32-this.size;let c=e[0]>>>a;for(let d=1;d>>a}e[s-1]=c}this.bits=e}static makeArray(e){return new Int32Array(Math.floor((e+31)/32))}equals(e){if(!(e instanceof F))return!1;const n=e;return this.size===n.size&&W.equals(this.bits,n.bits)}hashCode(){return 31*this.size+W.hashCode(this.bits)}toString(){let e="";for(let n=0,s=this.size;n=900)throw new k("incorect value");const n=K.VALUES_TO_ECI.get(e);if(n===void 0)throw new k("incorect value");return n}static getCharacterSetECIByName(e){const n=K.NAME_TO_ECI.get(e);if(n===void 0)throw new k("incorect value");return n}equals(e){if(!(e instanceof K))return!1;const n=e;return this.getName()===n.getName()}}K.VALUE_IDENTIFIER_TO_ECI=new Map,K.VALUES_TO_ECI=new Map,K.NAME_TO_ECI=new Map,K.Cp437=new K(re.Cp437,Int32Array.from([0,2]),"Cp437"),K.ISO8859_1=new K(re.ISO8859_1,Int32Array.from([1,3]),"ISO-8859-1","ISO88591","ISO8859_1"),K.ISO8859_2=new K(re.ISO8859_2,4,"ISO-8859-2","ISO88592","ISO8859_2"),K.ISO8859_3=new K(re.ISO8859_3,5,"ISO-8859-3","ISO88593","ISO8859_3"),K.ISO8859_4=new K(re.ISO8859_4,6,"ISO-8859-4","ISO88594","ISO8859_4"),K.ISO8859_5=new K(re.ISO8859_5,7,"ISO-8859-5","ISO88595","ISO8859_5"),K.ISO8859_6=new K(re.ISO8859_6,8,"ISO-8859-6","ISO88596","ISO8859_6"),K.ISO8859_7=new K(re.ISO8859_7,9,"ISO-8859-7","ISO88597","ISO8859_7"),K.ISO8859_8=new K(re.ISO8859_8,10,"ISO-8859-8","ISO88598","ISO8859_8"),K.ISO8859_9=new K(re.ISO8859_9,11,"ISO-8859-9","ISO88599","ISO8859_9"),K.ISO8859_10=new K(re.ISO8859_10,12,"ISO-8859-10","ISO885910","ISO8859_10"),K.ISO8859_11=new K(re.ISO8859_11,13,"ISO-8859-11","ISO885911","ISO8859_11"),K.ISO8859_13=new K(re.ISO8859_13,15,"ISO-8859-13","ISO885913","ISO8859_13"),K.ISO8859_14=new K(re.ISO8859_14,16,"ISO-8859-14","ISO885914","ISO8859_14"),K.ISO8859_15=new K(re.ISO8859_15,17,"ISO-8859-15","ISO885915","ISO8859_15"),K.ISO8859_16=new K(re.ISO8859_16,18,"ISO-8859-16","ISO885916","ISO8859_16"),K.SJIS=new K(re.SJIS,20,"SJIS","Shift_JIS"),K.Cp1250=new K(re.Cp1250,21,"Cp1250","windows-1250"),K.Cp1251=new K(re.Cp1251,22,"Cp1251","windows-1251"),K.Cp1252=new K(re.Cp1252,23,"Cp1252","windows-1252"),K.Cp1256=new K(re.Cp1256,24,"Cp1256","windows-1256"),K.UnicodeBigUnmarked=new K(re.UnicodeBigUnmarked,25,"UnicodeBigUnmarked","UTF-16BE","UnicodeBig"),K.UTF8=new K(re.UTF8,26,"UTF8","UTF-8"),K.ASCII=new K(re.ASCII,Int32Array.from([27,170]),"ASCII","US-ASCII"),K.Big5=new K(re.Big5,28,"Big5"),K.GB18030=new K(re.GB18030,29,"GB18030","GB2312","EUC_CN","GBK"),K.EUC_KR=new K(re.EUC_KR,30,"EUC_KR","EUC-KR");class Te extends x{}Te.kind="UnsupportedOperationException";class ke{static decode(e,n){const s=this.encodingName(n);return this.customDecoder?this.customDecoder(e,s):typeof TextDecoder>"u"||this.shouldDecodeOnFallback(s)?this.decodeFallback(e,s):new TextDecoder(s).decode(e)}static shouldDecodeOnFallback(e){return!ke.isBrowser()&&e==="ISO-8859-1"}static encode(e,n){const s=this.encodingName(n);return this.customEncoder?this.customEncoder(e,s):typeof TextEncoder>"u"?this.encodeFallback(e):new TextEncoder().encode(e)}static isBrowser(){return typeof window<"u"&&{}.toString.call(window)==="[object Window]"}static encodingName(e){return typeof e=="string"?e:e.getName()}static encodingCharacterSet(e){return e instanceof K?e:K.getCharacterSetECIByName(e)}static decodeFallback(e,n){const s=this.encodingCharacterSet(n);if(ke.isDecodeFallbackSupported(s)){let i="";for(let a=0,c=e.length;a3&&e[0]===239&&e[1]===187&&e[2]===191;for(let ge=0;ge0?(ue&128)===0?c=!1:d--:(ue&128)!==0&&((ue&64)===0?c=!1:(d++,(ue&32)===0?h++:(d++,(ue&16)===0?m++:(d++,(ue&8)===0?y++:c=!1))))),i&&(ue>127&&ue<160?i=!1:ue>159&&(ue<192||ue===215||ue===247)&&Q++),a&&(b>0?ue<64||ue===127||ue>252?a=!1:b--:ue===128||ue===160||ue>239?a=!1:ue>160&&ue<224?(_++,P=0,N++,N>$&&($=N)):ue>127?(b++,N=0,P++,P>j&&(j=P)):(N=0,P=0))}return c&&d>0&&(c=!1),a&&b>0&&(a=!1),c&&(fe||h+m+y>0)?de.UTF8:a&&(de.ASSUME_SHIFT_JIS||$>=3||j>=3)?de.SHIFT_JIS:i&&a?$===2&&_===2||Q*10>=s?de.SHIFT_JIS:de.ISO88591:i?de.ISO88591:a?de.SHIFT_JIS:c?de.UTF8:de.PLATFORM_DEFAULT_ENCODING}static format(e,...n){let s=-1;function i(c,d,h,m,y,b){if(c==="%%")return"%";if(n[++s]===void 0)return;c=m?parseInt(m.substr(1)):void 0;let _=y?parseInt(y.substr(1)):void 0,N;switch(b){case"s":N=n[s];break;case"c":N=n[s][0];break;case"f":N=parseFloat(n[s]).toFixed(c);break;case"p":N=parseFloat(n[s]).toPrecision(c);break;case"e":N=parseFloat(n[s]).toExponential(c);break;case"x":N=parseInt(n[s]).toString(_||16);break;case"d":N=parseFloat(parseInt(n[s],_||10).toPrecision(c)).toFixed(0);break}N=typeof N=="object"?JSON.stringify(N):(+N).toString(_);let P=parseInt(h),$=h&&h[0]+""=="0"?"0":" ";for(;N.lengthc){if(d===-1)d=a-c;else if(a-c!==d)throw new C("row lengths do not match");c=a,h++}m++}else if(e.substring(m,m+n.length)===n)m+=n.length,i[a]=!0,a++;else if(e.substring(m,m+s.length)===s)m+=s.length,i[a]=!1,a++;else throw new C("illegal character encountered: "+e.substring(m));if(a>c){if(d===-1)d=a-c;else if(a-c!==d)throw new C("row lengths do not match");h++}const y=new Ke(d,h);for(let b=0;b>>(e&31)&1)!==0}set(e,n){const s=n*this.rowSize+Math.floor(e/32);this.bits[s]|=1<<(e&31)&4294967295}unset(e,n){const s=n*this.rowSize+Math.floor(e/32);this.bits[s]&=~(1<<(e&31)&4294967295)}flip(e,n){const s=n*this.rowSize+Math.floor(e/32);this.bits[s]^=1<<(e&31)&4294967295}xor(e){if(this.width!==e.getWidth()||this.height!==e.getHeight()||this.rowSize!==e.getRowSize())throw new C("input matrix dimensions do not match");const n=new F(Math.floor(this.width/32)+1),s=this.rowSize,i=this.bits;for(let a=0,c=this.height;athis.height||a>this.width)throw new C("The region must fit inside the matrix");const d=this.rowSize,h=this.bits;for(let m=n;mh&&(h=m),y*32d){let _=31;for(;!(b>>>_);)_--;y*32+_>d&&(d=y*32+_)}}}return d=0&&n[s]===0;)s--;if(s<0)return null;const i=Math.floor(s/e);let a=Math.floor(s%e)*32;const c=n[s];let d=31;for(;!(c>>>d);)d--;return a+=d,Int32Array.from([a,i])}getWidth(){return this.width}getHeight(){return this.height}getRowSize(){return this.rowSize}equals(e){if(!(e instanceof Ke))return!1;const n=e;return this.width===n.width&&this.height===n.height&&this.rowSize===n.rowSize&&W.equals(this.bits,n.bits)}hashCode(){let e=this.width;return e=31*e+this.width,e=31*e+this.height,e=31*e+this.rowSize,e=31*e+W.hashCode(this.bits),e}toString(e="X ",n=" ",s=` +`){return this.buildToString(e,n,s)}buildToString(e,n,s){let i=new Se;for(let a=0,c=this.height;a>Ue.LUMINANCE_SHIFT]++;const d=Ue.estimateBlackPoint(c);if(i<3)for(let h=0;h>Ue.LUMINANCE_SHIFT]++}}const c=Ue.estimateBlackPoint(a),d=e.getMatrix();for(let h=0;ha&&(i=y,a=e[y]),e[y]>s&&(s=e[y]);let c=0,d=0;for(let y=0;yd&&(c=y,d=_)}if(i>c){const y=i;i=c,c=y}if(c-i<=n/16)throw new Z;let h=c-1,m=-1;for(let y=c-1;y>i;y--){const b=y-i,_=b*b*(c-y)*(s-e[y]);_>m&&(h=y,m=_)}return h<=ye.MINIMUM_DIMENSION&&s>=ye.MINIMUM_DIMENSION){const i=e.getMatrix();let a=n>>ye.BLOCK_SIZE_POWER;(n&ye.BLOCK_SIZE_MASK)!==0&&a++;let c=s>>ye.BLOCK_SIZE_POWER;(s&ye.BLOCK_SIZE_MASK)!==0&&c++;const d=ye.calculateBlackPoints(i,a,c,n,s),h=new Ke(n,s);ye.calculateThresholdForBlock(i,a,c,n,s,d,h),this.matrix=h}else this.matrix=super.getBlackMatrix();return this.matrix}createBinarizer(e){return new ye(e)}static calculateThresholdForBlock(e,n,s,i,a,c,d){const h=a-ye.BLOCK_SIZE,m=i-ye.BLOCK_SIZE;for(let y=0;yh&&(b=h);const _=ye.cap(y,2,s-3);for(let N=0;Nm&&(P=m);const $=ye.cap(N,2,n-3);let j=0;for(let fe=-2;fe<=2;fe++){const ge=c[_+fe];j+=ge[$-2]+ge[$-1]+ge[$]+ge[$+1]+ge[$+2]}const Q=j/25;ye.thresholdBlock(e,P,b,Q,i,d)}}}static cap(e,n,s){return es?s:e}static thresholdBlock(e,n,s,i,a,c){for(let d=0,h=s*a+n;dc&&(y=c);for(let b=0;bd&&(_=d);let N=0,P=255,$=0;for(let Q=0,fe=y*i+_;Q$&&($=ue)}if($-P>ye.MIN_DYNAMIC_RANGE)for(Q++,fe+=i;Q>ye.BLOCK_SIZE_POWER*2;if($-P<=ye.MIN_DYNAMIC_RANGE&&(j=P/2,m>0&&b>0)){const Q=(h[m-1][b]+2*h[m][b-1]+h[m-1][b-1])/4;P>10}i[c]=h}return i}getRow(e,n){if(e<0||e>=this.getHeight())throw new C("Requested row is outside the image: "+e);const s=this.getWidth(),i=e*s;return n===null?n=this.buffer.slice(i,i+s):(n.lengthnew Ht(n.deviceId,n.label))})}findDeviceById(e){return Ze(this,void 0,void 0,function*(){const n=yield this.listVideoInputDevices();return n?n.find(s=>s.deviceId===e):null})}decodeFromInputVideoDevice(e,n){return Ze(this,void 0,void 0,function*(){return yield this.decodeOnceFromVideoDevice(e,n)})}decodeOnceFromVideoDevice(e,n){return Ze(this,void 0,void 0,function*(){this.reset();let s;e?s={deviceId:{exact:e}}:s={facingMode:"environment"};const i={video:s};return yield this.decodeOnceFromConstraints(i,n)})}decodeOnceFromConstraints(e,n){return Ze(this,void 0,void 0,function*(){const s=yield navigator.mediaDevices.getUserMedia(e);return yield this.decodeOnceFromStream(s,n)})}decodeOnceFromStream(e,n){return Ze(this,void 0,void 0,function*(){this.reset();const s=yield this.attachStreamToVideo(e,n);return yield this.decodeOnce(s)})}decodeFromInputVideoDeviceContinuously(e,n,s){return Ze(this,void 0,void 0,function*(){return yield this.decodeFromVideoDevice(e,n,s)})}decodeFromVideoDevice(e,n,s){return Ze(this,void 0,void 0,function*(){let i;e?i={deviceId:{exact:e}}:i={facingMode:"environment"};const a={video:i};return yield this.decodeFromConstraints(a,n,s)})}decodeFromConstraints(e,n,s){return Ze(this,void 0,void 0,function*(){const i=yield navigator.mediaDevices.getUserMedia(e);return yield this.decodeFromStream(i,n,s)})}decodeFromStream(e,n,s){return Ze(this,void 0,void 0,function*(){this.reset();const i=yield this.attachStreamToVideo(e,n);return yield this.decodeContinuously(i,s)})}stopAsyncDecode(){this._stopAsyncDecode=!0}stopContinuousDecode(){this._stopContinuousDecode=!0}attachStreamToVideo(e,n){return Ze(this,void 0,void 0,function*(){const s=this.prepareVideoElement(n);return this.addVideoSource(s,e),this.videoElement=s,this.stream=e,yield this.playVideoOnLoadAsync(s),s})}playVideoOnLoadAsync(e){return new Promise((n,s)=>this.playVideoOnLoad(e,()=>n()))}playVideoOnLoad(e,n){this.videoEndedListener=()=>this.stopStreams(),this.videoCanPlayListener=()=>this.tryPlayVideo(e),e.addEventListener("ended",this.videoEndedListener),e.addEventListener("canplay",this.videoCanPlayListener),e.addEventListener("playing",n),this.tryPlayVideo(e)}isVideoPlaying(e){return e.currentTime>0&&!e.paused&&!e.ended&&e.readyState>2}tryPlayVideo(e){return Ze(this,void 0,void 0,function*(){if(this.isVideoPlaying(e)){console.warn("Trying to play video that is already playing.");return}try{yield e.play()}catch{console.warn("It was not possible to play the video.")}})}getMediaElement(e,n){const s=document.getElementById(e);if(!s)throw new A(`element with id '${e}' not found`);if(s.nodeName.toLowerCase()!==n.toLowerCase())throw new A(`element with id '${e}' must be an ${n} element`);return s}decodeFromImage(e,n){if(!e&&!n)throw new A("either imageElement with a src set or an url must be provided");return n&&!e?this.decodeFromImageUrl(n):this.decodeFromImageElement(e)}decodeFromVideo(e,n){if(!e&&!n)throw new A("Either an element with a src set or an URL must be provided");return n&&!e?this.decodeFromVideoUrl(n):this.decodeFromVideoElement(e)}decodeFromVideoContinuously(e,n,s){if(e===void 0&&n===void 0)throw new A("Either an element with a src set or an URL must be provided");return n&&!e?this.decodeFromVideoUrlContinuously(n,s):this.decodeFromVideoElementContinuously(e,s)}decodeFromImageElement(e){if(!e)throw new A("An image element must be provided.");this.reset();const n=this.prepareImageElement(e);this.imageElement=n;let s;return this.isImageLoaded(n)?s=this.decodeOnce(n,!1,!0):s=this._decodeOnLoadImage(n),s}decodeFromVideoElement(e){const n=this._decodeFromVideoElementSetup(e);return this._decodeOnLoadVideo(n)}decodeFromVideoElementContinuously(e,n){const s=this._decodeFromVideoElementSetup(e);return this._decodeOnLoadVideoContinuously(s,n)}_decodeFromVideoElementSetup(e){if(!e)throw new A("A video element must be provided.");this.reset();const n=this.prepareVideoElement(e);return this.videoElement=n,n}decodeFromImageUrl(e){if(!e)throw new A("An URL must be provided.");this.reset();const n=this.prepareImageElement();this.imageElement=n;const s=this._decodeOnLoadImage(n);return n.src=e,s}decodeFromVideoUrl(e){if(!e)throw new A("An URL must be provided.");this.reset();const n=this.prepareVideoElement(),s=this.decodeFromVideoElement(n);return n.src=e,s}decodeFromVideoUrlContinuously(e,n){if(!e)throw new A("An URL must be provided.");this.reset();const s=this.prepareVideoElement(),i=this.decodeFromVideoElementContinuously(s,n);return s.src=e,i}_decodeOnLoadImage(e){return new Promise((n,s)=>{this.imageLoadedListener=()=>this.decodeOnce(e,!1,!0).then(n,s),e.addEventListener("load",this.imageLoadedListener)})}_decodeOnLoadVideo(e){return Ze(this,void 0,void 0,function*(){return yield this.playVideoOnLoadAsync(e),yield this.decodeOnce(e)})}_decodeOnLoadVideoContinuously(e,n){return Ze(this,void 0,void 0,function*(){yield this.playVideoOnLoadAsync(e),this.decodeContinuously(e,n)})}isImageLoaded(e){return!(!e.complete||e.naturalWidth===0)}prepareImageElement(e){let n;return typeof e>"u"&&(n=document.createElement("img"),n.width=200,n.height=200),typeof e=="string"&&(n=this.getMediaElement(e,"img")),e instanceof HTMLImageElement&&(n=e),n}prepareVideoElement(e){let n;return!e&&typeof document<"u"&&(n=document.createElement("video"),n.width=200,n.height=200),typeof e=="string"&&(n=this.getMediaElement(e,"video")),e instanceof HTMLVideoElement&&(n=e),n.setAttribute("autoplay","true"),n.setAttribute("muted","true"),n.setAttribute("playsinline","true"),n}decodeOnce(e,n=!0,s=!0){this._stopAsyncDecode=!1;const i=(a,c)=>{if(this._stopAsyncDecode){c(new Z("Video stream has ended before any code could be detected.")),this._stopAsyncDecode=void 0;return}try{const d=this.decode(e);a(d)}catch(d){const h=n&&d instanceof Z,y=(d instanceof O||d instanceof k)&&s;if(h||y)return setTimeout(i,this._timeBetweenDecodingAttempts,a,c);c(d)}};return new Promise((a,c)=>i(a,c))}decodeContinuously(e,n){this._stopContinuousDecode=!1;const s=()=>{if(this._stopContinuousDecode){this._stopContinuousDecode=void 0;return}try{const i=this.decode(e);n(i,null),setTimeout(s,this.timeBetweenScansMillis)}catch(i){n(null,i);const a=i instanceof O||i instanceof k,c=i instanceof Z;(a||c)&&setTimeout(s,this._timeBetweenDecodingAttempts)}};s()}decode(e){const n=this.createBinaryBitmap(e);return this.decodeBitmap(n)}_isHTMLVideoElement(e){return e.videoWidth!==0}drawFrameOnCanvas(e,n,s){n||(n={sx:0,sy:0,sWidth:e.videoWidth,sHeight:e.videoHeight,dx:0,dy:0,dWidth:e.videoWidth,dHeight:e.videoHeight}),s||(s=this.captureCanvasContext),s.drawImage(e,n.sx,n.sy,n.sWidth,n.sHeight,n.dx,n.dy,n.dWidth,n.dHeight)}drawImageOnCanvas(e,n,s=this.captureCanvasContext){n||(n={sx:0,sy:0,sWidth:e.naturalWidth,sHeight:e.naturalHeight,dx:0,dy:0,dWidth:e.naturalWidth,dHeight:e.naturalHeight}),s||(s=this.captureCanvasContext),s.drawImage(e,n.sx,n.sy,n.sWidth,n.sHeight,n.dx,n.dy,n.dWidth,n.dHeight)}createBinaryBitmap(e){this.getCaptureCanvasContext(e),this._isHTMLVideoElement(e)?this.drawFrameOnCanvas(e):this.drawImageOnCanvas(e);const n=this.getCaptureCanvas(e),s=new Rt(n),i=new ye(s);return new I(i)}getCaptureCanvasContext(e){if(!this.captureCanvasContext){const s=this.getCaptureCanvas(e).getContext("2d");this.captureCanvasContext=s}return this.captureCanvasContext}getCaptureCanvas(e){if(!this.captureCanvas){const n=this.createCaptureCanvas(e);this.captureCanvas=n}return this.captureCanvas}decodeBitmap(e){return this.reader.decode(e,this._hints)}createCaptureCanvas(e){if(typeof document>"u")return this._destroyCaptureCanvas(),null;const n=document.createElement("canvas");let s,i;return typeof e<"u"&&(e instanceof HTMLVideoElement?(s=e.videoWidth,i=e.videoHeight):e instanceof HTMLImageElement&&(s=e.naturalWidth||e.width,i=e.naturalHeight||e.height)),n.style.width=s+"px",n.style.height=i+"px",n.width=s,n.height=i,n}stopStreams(){this.stream&&(this.stream.getVideoTracks().forEach(e=>e.stop()),this.stream=void 0),this._stopAsyncDecode===!1&&this.stopAsyncDecode(),this._stopContinuousDecode===!1&&this.stopContinuousDecode()}reset(){this.stopStreams(),this._destroyVideoElement(),this._destroyImageElement(),this._destroyCaptureCanvas()}_destroyVideoElement(){this.videoElement&&(typeof this.videoEndedListener<"u"&&this.videoElement.removeEventListener("ended",this.videoEndedListener),typeof this.videoPlayingEventListener<"u"&&this.videoElement.removeEventListener("playing",this.videoPlayingEventListener),typeof this.videoCanPlayListener<"u"&&this.videoElement.removeEventListener("loadedmetadata",this.videoCanPlayListener),this.cleanVideoSource(this.videoElement),this.videoElement=void 0)}_destroyImageElement(){this.imageElement&&(this.imageLoadedListener!==void 0&&this.imageElement.removeEventListener("load",this.imageLoadedListener),this.imageElement.src=void 0,this.imageElement.removeAttribute("src"),this.imageElement=void 0)}_destroyCaptureCanvas(){this.captureCanvasContext=void 0,this.captureCanvas=void 0}addVideoSource(e,n){try{e.srcObject=n}catch{e.src=URL.createObjectURL(n)}}cleanVideoSource(e){try{e.srcObject=null}catch{e.src=""}this.videoElement.removeAttribute("src")}}class yt{constructor(e,n,s=n==null?0:8*n.length,i,a,c=U.currentTimeMillis()){this.text=e,this.rawBytes=n,this.numBits=s,this.resultPoints=i,this.format=a,this.timestamp=c,this.text=e,this.rawBytes=n,s==null?this.numBits=n==null?0:8*n.length:this.numBits=s,this.resultPoints=i,this.format=a,this.resultMetadata=null,c==null?this.timestamp=U.currentTimeMillis():this.timestamp=c}getText(){return this.text}getRawBytes(){return this.rawBytes}getNumBits(){return this.numBits}getResultPoints(){return this.resultPoints}getBarcodeFormat(){return this.format}getResultMetadata(){return this.resultMetadata}putMetadata(e,n){this.resultMetadata===null&&(this.resultMetadata=new Map),this.resultMetadata.set(e,n)}putAllMetadata(e){e!==null&&(this.resultMetadata===null?this.resultMetadata=e:this.resultMetadata=new Map(e))}addResultPoints(e){const n=this.resultPoints;if(n===null)this.resultPoints=e;else if(e!==null&&e.length>0){const s=new Array(n.length+e.length);U.arraycopy(n,0,s,0,n.length),U.arraycopy(e,0,s,n.length,e.length),this.resultPoints=s}}getTimestamp(){return this.timestamp}toString(){return this.text}}var Mn;(function(E){E[E.AZTEC=0]="AZTEC",E[E.CODABAR=1]="CODABAR",E[E.CODE_39=2]="CODE_39",E[E.CODE_93=3]="CODE_93",E[E.CODE_128=4]="CODE_128",E[E.DATA_MATRIX=5]="DATA_MATRIX",E[E.EAN_8=6]="EAN_8",E[E.EAN_13=7]="EAN_13",E[E.ITF=8]="ITF",E[E.MAXICODE=9]="MAXICODE",E[E.PDF_417=10]="PDF_417",E[E.QR_CODE=11]="QR_CODE",E[E.RSS_14=12]="RSS_14",E[E.RSS_EXPANDED=13]="RSS_EXPANDED",E[E.UPC_A=14]="UPC_A",E[E.UPC_E=15]="UPC_E",E[E.UPC_EAN_EXTENSION=16]="UPC_EAN_EXTENSION"})(Mn||(Mn={}));var Ee=Mn,oe;(function(E){E[E.OTHER=0]="OTHER",E[E.ORIENTATION=1]="ORIENTATION",E[E.BYTE_SEGMENTS=2]="BYTE_SEGMENTS",E[E.ERROR_CORRECTION_LEVEL=3]="ERROR_CORRECTION_LEVEL",E[E.ISSUE_NUMBER=4]="ISSUE_NUMBER",E[E.SUGGESTED_PRICE=5]="SUGGESTED_PRICE",E[E.POSSIBLE_COUNTRY=6]="POSSIBLE_COUNTRY",E[E.UPC_EAN_EXTENSION=7]="UPC_EAN_EXTENSION",E[E.PDF417_EXTRA_METADATA=8]="PDF417_EXTRA_METADATA",E[E.STRUCTURED_APPEND_SEQUENCE=9]="STRUCTURED_APPEND_SEQUENCE",E[E.STRUCTURED_APPEND_PARITY=10]="STRUCTURED_APPEND_PARITY"})(oe||(oe={}));var he=oe;class pe{constructor(e,n,s,i,a=-1,c=-1){this.rawBytes=e,this.text=n,this.byteSegments=s,this.ecLevel=i,this.structuredAppendSequenceNumber=a,this.structuredAppendParity=c,this.numBits=e==null?0:8*e.length}getRawBytes(){return this.rawBytes}getNumBits(){return this.numBits}setNumBits(e){this.numBits=e}getText(){return this.text}getByteSegments(){return this.byteSegments}getECLevel(){return this.ecLevel}getErrorsCorrected(){return this.errorsCorrected}setErrorsCorrected(e){this.errorsCorrected=e}getErasures(){return this.erasures}setErasures(e){this.erasures=e}getOther(){return this.other}setOther(e){this.other=e}hasStructuredAppend(){return this.structuredAppendParity>=0&&this.structuredAppendSequenceNumber>=0}getStructuredAppendParity(){return this.structuredAppendParity}getStructuredAppendSequenceNumber(){return this.structuredAppendSequenceNumber}}class Ae{exp(e){return this.expTable[e]}log(e){if(e===0)throw new C;return this.logTable[e]}static addOrSubtract(e,n){return e^n}}class Le{constructor(e,n){if(n.length===0)throw new C;this.field=e;const s=n.length;if(s>1&&n[0]===0){let i=1;for(;is.length){const c=n;n=s,s=c}let i=new Int32Array(s.length);const a=s.length-n.length;U.arraycopy(s,0,i,0,a);for(let c=a;c=e.getDegree()&&!i.isZero();){const d=i.getDegree()-e.getDegree(),h=n.multiply(i.getCoefficient(i.getDegree()),c),m=e.multiplyByMonomial(d,h),y=n.buildMonomial(d,h);s=s.addOrSubtract(y),i=i.addOrSubtract(m)}return[s,i]}toString(){let e="";for(let n=this.getDegree();n>=0;n--){let s=this.getCoefficient(n);if(s!==0){if(s<0?(e+=" - ",s=-s):e.length>0&&(e+=" + "),n===0||s!==1){const i=this.field.log(s);i===0?e+="1":i===1?e+="a":(e+="a^",e+=i)}n!==0&&(n===1?e+="x":(e+="x^",e+=n))}}return e}}class D extends x{}D.kind="ArithmeticException";class R extends Ae{constructor(e,n,s){super(),this.primitive=e,this.size=n,this.generatorBase=s;const i=new Int32Array(n);let a=1;for(let d=0;d=n&&(a^=e,a&=n-1);this.expTable=i;const c=new Int32Array(n);for(let d=0;d=(s/2|0);){let N=a,P=d;if(a=c,d=h,a.isZero())throw new G("r_{i-1} was zero");c=N;let $=i.getZero();const j=a.getCoefficient(a.getDegree()),Q=i.inverse(j);for(;c.getDegree()>=a.getDegree()&&!c.isZero();){const fe=c.getDegree()-a.getDegree(),ge=i.multiply(c.getCoefficient(c.getDegree()),Q);$=$.addOrSubtract(i.buildMonomial(fe,ge)),c=c.addOrSubtract(a.multiplyByMonomial(fe,ge))}if(h=$.multiply(d).addOrSubtract(P),c.getDegree()>=a.getDegree())throw new ne("Division algorithm failed to reduce polynomial?")}const m=h.getCoefficient(0);if(m===0)throw new G("sigmaTilde(0) was zero");const y=i.inverse(m),b=h.multiplyScalar(y),_=c.multiplyScalar(y);return[b,_]}findErrorLocations(e){const n=e.getDegree();if(n===1)return Int32Array.from([e.getCoefficient(1)]);const s=new Int32Array(n);let i=0;const a=this.field;for(let c=1;c1,b,b+s-1),b+=s-1;else for(let P=s-1;P>=0;--P)y[b++]=(N&1<=8?S.readCode(e,n,8):S.readCode(e,n,s)<<8-s}static convertBoolArrayToByteArray(e){let n=new Uint8Array((e.length+7)/8);for(let s=0;s","?","[","]","{","}","CTRL_UL"],S.DIGIT_TABLE=["CTRL_PS"," ","0","1","2","3","4","5","6","7","8","9",",",".","CTRL_UL","CTRL_US"];class T{constructor(){}static round(e){return e===NaN?0:e<=Number.MIN_SAFE_INTEGER?Number.MIN_SAFE_INTEGER:e>=Number.MAX_SAFE_INTEGER?Number.MAX_SAFE_INTEGER:e+(e<0?-.5:.5)|0}static distance(e,n,s,i){const a=e-s,c=n-i;return Math.sqrt(a*a+c*c)}static sum(e){let n=0;for(let s=0,i=e.length;s!==i;s++){const a=e[s];n+=a}return n}}class H{static floatToIntBits(e){return e}}H.MAX_VALUE=Number.MAX_SAFE_INTEGER;class M{constructor(e,n){this.x=e,this.y=n}getX(){return this.x}getY(){return this.y}equals(e){if(e instanceof M){const n=e;return this.x===n.x&&this.y===n.y}return!1}hashCode(){return 31*H.floatToIntBits(this.x)+H.floatToIntBits(this.y)}toString(){return"("+this.x+","+this.y+")"}static orderBestPatterns(e){const n=this.distance(e[0],e[1]),s=this.distance(e[1],e[2]),i=this.distance(e[0],e[2]);let a,c,d;if(s>=n&&s>=i?(c=e[0],a=e[1],d=e[2]):i>=s&&i>=n?(c=e[1],a=e[0],d=e[2]):(c=e[2],a=e[0],d=e[1]),this.crossProductZ(a,c,d)<0){const h=a;a=d,d=h}e[0]=a,e[1]=c,e[2]=d}static distance(e,n){return T.distance(e.x,e.y,n.x,n.y)}static crossProductZ(e,n,s){const i=n.x,a=n.y;return(s.x-i)*(e.y-a)-(s.y-a)*(e.x-i)}}class xe{constructor(e,n){this.bits=e,this.points=n}getBits(){return this.bits}getPoints(){return this.points}}class ae extends xe{constructor(e,n,s,i,a){super(e,n),this.compact=s,this.nbDatablocks=i,this.nbLayers=a}getNbLayers(){return this.nbLayers}getNbDatablocks(){return this.nbDatablocks}isCompact(){return this.compact}}class B{constructor(e,n,s,i){this.image=e,this.height=e.getHeight(),this.width=e.getWidth(),n==null&&(n=B.INIT_SIZE),s==null&&(s=e.getWidth()/2|0),i==null&&(i=e.getHeight()/2|0);const a=n/2|0;if(this.leftInit=s-a,this.rightInit=s+a,this.upInit=i-a,this.downInit=i+a,this.upInit<0||this.leftInit<0||this.downInit>=this.height||this.rightInit>=this.width)throw new Z}detect(){let e=this.leftInit,n=this.rightInit,s=this.upInit,i=this.downInit,a=!1,c=!0,d=!1,h=!1,m=!1,y=!1,b=!1;const _=this.width,N=this.height;for(;c;){c=!1;let P=!0;for(;(P||!h)&&n<_;)P=this.containsBlackPoint(s,i,n,!1),P?(n++,c=!0,h=!0):h||n++;if(n>=_){a=!0;break}let $=!0;for(;($||!m)&&i=N){a=!0;break}let j=!0;for(;(j||!y)&&e>=0;)j=this.containsBlackPoint(s,i,e,!1),j?(e--,c=!0,y=!0):y||e--;if(e<0){a=!0;break}let Q=!0;for(;(Q||!b)&&s>=0;)Q=this.containsBlackPoint(e,n,s,!0),Q?(s--,c=!0,b=!0):b||s--;if(s<0){a=!0;break}c&&(d=!0)}if(!a&&d){const P=n-e;let $=null;for(let ge=1;$===null&&ges||h<-1||h>i)throw new Z;a=!1,d===-1?(n[c]=0,a=!0):d===s&&(n[c]=s-1,a=!0),h===-1?(n[c+1]=0,a=!0):h===i&&(n[c+1]=i-1,a=!0)}a=!0;for(let c=n.length-2;c>=0&&a;c-=2){const d=Math.floor(n[c]),h=Math.floor(n[c+1]);if(d<-1||d>s||h<-1||h>i)throw new Z;a=!1,d===-1?(n[c]=0,a=!0):d===s&&(n[c]=s-1,a=!0),h===-1?(n[c+1]=0,a=!0):h===i&&(n[c+1]=i-1,a=!0)}}}class we{constructor(e,n,s,i,a,c,d,h,m){this.a11=e,this.a21=n,this.a31=s,this.a12=i,this.a22=a,this.a32=c,this.a13=d,this.a23=h,this.a33=m}static quadrilateralToQuadrilateral(e,n,s,i,a,c,d,h,m,y,b,_,N,P,$,j){const Q=we.quadrilateralToSquare(e,n,s,i,a,c,d,h);return we.squareToQuadrilateral(m,y,b,_,N,P,$,j).times(Q)}transformPoints(e){const n=e.length,s=this.a11,i=this.a12,a=this.a13,c=this.a21,d=this.a22,h=this.a23,m=this.a31,y=this.a32,b=this.a33;for(let _=0;_>1&127):(i<<=10,i+=(d>>2&992)+(d>>1&31))}let a=this.getCorrectedParameterData(i,this.compact);this.compact?(this.nbLayers=(a>>6)+1,this.nbDataBlocks=(a&63)+1):(this.nbLayers=(a>>11)+1,this.nbDataBlocks=(a&2047)+1)}getRotation(e,n){let s=0;e.forEach((i,a,c)=>{let d=(i>>n-2<<1)+(i&1);s=(s<<3)+d}),s=((s&1)<<11)+(s>>1);for(let i=0;i<4;i++)if(V.bitCount(s^this.EXPECTED_CORNER_BITS[i])<=2)return i;throw new Z}getCorrectedParameterData(e,n){let s,i;n?(s=7,i=2):(s=10,i=4);let a=s-i,c=new Int32Array(s);for(let h=s-1;h>=0;--h)c[h]=e&15,e>>=4;try{new ie(R.AZTEC_PARAM).decode(c,a)}catch{throw new Z}let d=0;for(let h=0;h2){let $=this.distancePoint(P,b)*this.nbCenterLayers/(this.distancePoint(a,n)*(this.nbCenterLayers+2));if($<.75||$>1.25||!this.isWhiteOrBlackRectangle(b,_,N,P))break}n=b,s=_,i=N,a=P,c=!c}if(this.nbCenterLayers!==5&&this.nbCenterLayers!==7)throw new Z;this.compact=this.nbCenterLayers===5;let d=new M(n.getX()+.5,n.getY()-.5),h=new M(s.getX()+.5,s.getY()+.5),m=new M(i.getX()-.5,i.getY()+.5),y=new M(a.getX()-.5,a.getY()-.5);return this.expandSquare([d,h,m,y],2*this.nbCenterLayers-3,2*this.nbCenterLayers)}getMatrixCenter(){let e,n,s,i;try{let d=new B(this.image).detect();e=d[0],n=d[1],s=d[2],i=d[3]}catch{let h=this.image.getWidth()/2,m=this.image.getHeight()/2;e=this.getFirstDifferent(new qe(h+7,m-7),!1,1,-1).toResultPoint(),n=this.getFirstDifferent(new qe(h+7,m+7),!1,1,1).toResultPoint(),s=this.getFirstDifferent(new qe(h-7,m+7),!1,-1,1).toResultPoint(),i=this.getFirstDifferent(new qe(h-7,m-7),!1,-1,-1).toResultPoint()}let a=T.round((e.getX()+i.getX()+n.getX()+s.getX())/4),c=T.round((e.getY()+i.getY()+n.getY()+s.getY())/4);try{let d=new B(this.image,15,a,c).detect();e=d[0],n=d[1],s=d[2],i=d[3]}catch{e=this.getFirstDifferent(new qe(a+7,c-7),!1,1,-1).toResultPoint(),n=this.getFirstDifferent(new qe(a+7,c+7),!1,1,1).toResultPoint(),s=this.getFirstDifferent(new qe(a-7,c+7),!1,-1,1).toResultPoint(),i=this.getFirstDifferent(new qe(a-7,c-7),!1,-1,-1).toResultPoint()}return a=T.round((e.getX()+i.getX()+n.getX()+s.getX())/4),c=T.round((e.getY()+i.getY()+n.getY()+s.getY())/4),new qe(a,c)}getMatrixCornerPoints(e){return this.expandSquare(e,2*this.nbCenterLayers,this.getDimension())}sampleGrid(e,n,s,i,a){let c=Me.getInstance(),d=this.getDimension(),h=d/2-this.nbCenterLayers,m=d/2+this.nbCenterLayers;return c.sampleGrid(e,d,d,h,h,m,h,m,m,h,m,n.getX(),n.getY(),s.getX(),s.getY(),i.getX(),i.getY(),a.getX(),a.getY())}sampleLine(e,n,s){let i=0,a=this.distanceResultPoint(e,n),c=a/s,d=e.getX(),h=e.getY(),m=c*(n.getX()-e.getX())/a,y=c*(n.getY()-e.getY())/a;for(let b=0;b.1&&b<.9?0:b<=.1===m?1:-1}getFirstDifferent(e,n,s,i){let a=e.getX()+s,c=e.getY()+i;for(;this.isValid(a,c)&&this.image.get(a,c)===n;)a+=s,c+=i;for(a-=s,c-=i;this.isValid(a,c)&&this.image.get(a,c)===n;)a+=s;for(a-=s;this.isValid(a,c)&&this.image.get(a,c)===n;)c+=i;return c-=i,new qe(a,c)}expandSquare(e,n,s){let i=s/(2*n),a=e[0].getX()-e[2].getX(),c=e[0].getY()-e[2].getY(),d=(e[0].getX()+e[2].getX())/2,h=(e[0].getY()+e[2].getY())/2,m=new M(d+i*a,h+i*c),y=new M(d-i*a,h-i*c);a=e[1].getX()-e[3].getX(),c=e[1].getY()-e[3].getY(),d=(e[1].getX()+e[3].getX())/2,h=(e[1].getY()+e[3].getY())/2;let b=new M(d+i*a,h+i*c),_=new M(d-i*a,h-i*c);return[m,b,y,_]}isValid(e,n){return e>=0&&e0&&n{s.foundPossibleResultPoint(i)})}}reset(){}}class Cn extends Gt{constructor(e=500){super(new Yt,e)}}class Ct{decode(e,n){try{return this.doDecode(e,n)}catch{if(n&&n.get(se.TRY_HARDER)===!0&&e.isRotateSupported()){const a=e.rotateCounterClockwise(),c=this.doDecode(a,n),d=c.getResultMetadata();let h=270;d!==null&&d.get(he.ORIENTATION)===!0&&(h=h+d.get(he.ORIENTATION)%360),c.putMetadata(he.ORIENTATION,h);const m=c.getResultPoints();if(m!==null){const y=a.getHeight();for(let b=0;b>(c?8:5));let h;c?h=i:h=15;const m=Math.trunc(i/2);for(let y=0;y=i)break;try{a=e.getBlackRow(N,a)}catch{continue}for(let P=0;P<2;P++){if(P===1&&(a.reverse(),n&&n.get(se.NEED_RESULT_POINT_CALLBACK)===!0)){const $=new Map;n.forEach((j,Q)=>$.set(Q,j)),$.delete(se.NEED_RESULT_POINT_CALLBACK),n=$}try{const $=this.decodeRow(N,a,n);if(P===1){$.putMetadata(he.ORIENTATION,180);const j=$.getResultPoints();j!==null&&(j[0]=new M(s-j[0].getX()-1,j[0].getY()),j[1]=new M(s-j[1].getX()-1,j[1].getY()))}return $}catch{}}}throw new Z}static recordPattern(e,n,s){const i=s.length;for(let m=0;m=a)throw new Z;let c=!e.get(n),d=0,h=n;for(;h0&&i>=0;)e.get(--n)!==a&&(i--,a=!a);if(i>=0)throw new Z;Ct.recordPattern(e,n+1,s)}static patternMatchVariance(e,n,s){const i=e.length;let a=0,c=0;for(let m=0;mb?y-b:b-y;if(_>s)return Number.POSITIVE_INFINITY;h+=_}return h/a}}class me extends Ct{static findStartPattern(e){const n=e.getSize(),s=e.getNextSet(0);let i=0,a=Int32Array.from([0,0,0,0,0,0]),c=s,d=!1;const h=6;for(let m=s;m=0&&e.isRange(Math.max(0,c-(m-c)/2),c,!1))return Int32Array.from([c,m,b]);c+=a[0]+a[1],a=a.slice(2,a.length-1),a[i-1]=0,a[i]=0,i--}else i++;a[i]=1,d=!d}throw new Z}static decodeCode(e,n,s){Ct.recordPattern(e,s,n);let i=me.MAX_AVG_VARIANCE,a=-1;for(let c=0;c=0)return a;throw new Z}decodeRow(e,n,s){const i=s&&s.get(se.ASSUME_GS1)===!0,a=me.findStartPattern(n),c=a[2];let d=0;const h=new Uint8Array(20);h[d++]=c;let m;switch(c){case me.CODE_START_A:m=me.CODE_CODE_A;break;case me.CODE_START_B:m=me.CODE_CODE_B;break;case me.CODE_START_C:m=me.CODE_CODE_C;break;default:throw new k}let y=!1,b=!1,_="",N=a[0],P=a[1];const $=Int32Array.from([0,0,0,0,0,0]);let j=0,Q=0,fe=c,ge=0,ue=!0,ze=!1,Be=!1;for(;!y;){const as=b;switch(b=!1,j=Q,Q=me.decodeCode(n,$,P),h[d++]=Q,Q!==me.CODE_STOP&&(ue=!0),Q!==me.CODE_STOP&&(ge++,fe+=ge*Q),N=P,P+=$.reduce((af,cf)=>af+cf,0),Q){case me.CODE_START_A:case me.CODE_START_B:case me.CODE_START_C:throw new k}switch(m){case me.CODE_CODE_A:if(Q<64)Be===ze?_+=String.fromCharCode(32+Q):_+=String.fromCharCode(32+Q+128),Be=!1;else if(Q<96)Be===ze?_+=String.fromCharCode(Q-64):_+=String.fromCharCode(Q+64),Be=!1;else switch(Q!==me.CODE_STOP&&(ue=!1),Q){case me.CODE_FNC_1:i&&(_.length===0?_+="]C1":_+="");break;case me.CODE_FNC_2:case me.CODE_FNC_3:break;case me.CODE_FNC_4_A:!ze&&Be?(ze=!0,Be=!1):ze&&Be?(ze=!1,Be=!1):Be=!0;break;case me.CODE_SHIFT:b=!0,m=me.CODE_CODE_B;break;case me.CODE_CODE_B:m=me.CODE_CODE_B;break;case me.CODE_CODE_C:m=me.CODE_CODE_C;break;case me.CODE_STOP:y=!0;break}break;case me.CODE_CODE_B:if(Q<96)Be===ze?_+=String.fromCharCode(32+Q):_+=String.fromCharCode(32+Q+128),Be=!1;else switch(Q!==me.CODE_STOP&&(ue=!1),Q){case me.CODE_FNC_1:i&&(_.length===0?_+="]C1":_+="");break;case me.CODE_FNC_2:case me.CODE_FNC_3:break;case me.CODE_FNC_4_B:!ze&&Be?(ze=!0,Be=!1):ze&&Be?(ze=!1,Be=!1):Be=!0;break;case me.CODE_SHIFT:b=!0,m=me.CODE_CODE_A;break;case me.CODE_CODE_A:m=me.CODE_CODE_A;break;case me.CODE_CODE_C:m=me.CODE_CODE_C;break;case me.CODE_STOP:y=!0;break}break;case me.CODE_CODE_C:if(Q<100)Q<10&&(_+="0"),_+=Q;else switch(Q!==me.CODE_STOP&&(ue=!1),Q){case me.CODE_FNC_1:i&&(_.length===0?_+="]C1":_+="");break;case me.CODE_CODE_A:m=me.CODE_CODE_A;break;case me.CODE_CODE_B:m=me.CODE_CODE_B;break;case me.CODE_STOP:y=!0;break}break}as&&(m=m===me.CODE_CODE_A?me.CODE_CODE_B:me.CODE_CODE_A)}const gn=P-N;if(P=n.getNextUnset(P),!n.isRange(P,Math.min(n.getSize(),P+(P-N)/2),!1))throw new Z;if(fe-=ge*j,fe%103!==j)throw new O;const $n=_.length;if($n===0)throw new Z;$n>0&&ue&&(m===me.CODE_CODE_C?_=_.substring(0,$n-2):_=_.substring(0,$n-1));const mn=(a[1]+a[0])/2,xt=N+gn/2,qt=h.length,En=new Uint8Array(qt);for(let as=0;ass&&(a=h);s=a,i=0;let c=0,d=0;for(let h=0;hs&&(d|=1<0;h++){let m=e[h];if(m>s&&(i--,m*2>=c))return-1}return d}}while(i>3);return-1}static patternToChar(e){for(let n=0;n="A"&&c<="Z")d=String.fromCharCode(c.charCodeAt(0)+32);else throw new k;break;case"$":if(c>="A"&&c<="Z")d=String.fromCharCode(c.charCodeAt(0)-64);else throw new k;break;case"%":if(c>="A"&&c<="E")d=String.fromCharCode(c.charCodeAt(0)-38);else if(c>="F"&&c<="J")d=String.fromCharCode(c.charCodeAt(0)-11);else if(c>="K"&&c<="O")d=String.fromCharCode(c.charCodeAt(0)+16);else if(c>="P"&&c<="T")d=String.fromCharCode(c.charCodeAt(0)+43);else if(c==="U")d="\0";else if(c==="V")d="@";else if(c==="W")d="`";else if(c==="X"||c==="Y"||c==="Z")d="";else throw new k;break;case"/":if(c>="A"&&c<="O")d=String.fromCharCode(c.charCodeAt(0)-32);else if(c==="Z")d=":";else throw new k;break}s+=d,i++}else s+=a}return s}}Je.ALPHABET_STRING="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%",Je.CHARACTER_ENCODINGS=[52,289,97,352,49,304,112,37,292,100,265,73,328,25,280,88,13,268,76,28,259,67,322,19,274,82,7,262,70,22,385,193,448,145,400,208,133,388,196,168,162,138,42],Je.ASTERISK_ENCODING=148;class je extends Ct{constructor(){super(...arguments),this.narrowLineWidth=-1}decodeRow(e,n,s){let i=this.decodeStart(n),a=this.decodeEnd(n),c=new Se;je.decodeMiddle(n,i[1],a[0],c);let d=c.toString(),h=null;s!=null&&(h=s.get(se.ALLOWED_LENGTHS)),h==null&&(h=je.DEFAULT_ALLOWED_LENGTHS);let m=d.length,y=!1,b=0;for(let P of h){if(m===P){y=!0;break}P>b&&(b=P)}if(!y&&m>b&&(y=!0),!y)throw new k;const _=[new M(i[1],e),new M(a[0],e)];return new yt(d,null,0,_,Ee.ITF,new Date().getTime())}static decodeMiddle(e,n,s,i){let a=new Int32Array(10),c=new Int32Array(5),d=new Int32Array(5);for(a.fill(0),c.fill(0),d.fill(0);n0&&i>=0&&!e.get(i);i--)s--;if(s!==0)throw new Z}static skipWhiteSpace(e){const n=e.getSize(),s=e.getNextSet(0);if(s===n)throw new Z;return s}decodeEnd(e){e.reverse();try{let n=je.skipWhiteSpace(e),s;try{s=je.findGuardPattern(e,n,je.END_PATTERN_REVERSED[0])}catch(a){a instanceof Z&&(s=je.findGuardPattern(e,n,je.END_PATTERN_REVERSED[1]))}this.validateQuietZone(e,s[0]);let i=s[0];return s[0]=e.getSize()-s[1],s[1]=e.getSize()-i,s}finally{e.reverse()}}static findGuardPattern(e,n,s){let i=s.length,a=new Int32Array(i),c=e.getSize(),d=!1,h=0,m=n;a.fill(0);for(let y=n;y=0)return s%10;throw new Z}}je.PATTERNS=[Int32Array.from([1,1,2,2,1]),Int32Array.from([2,1,1,1,2]),Int32Array.from([1,2,1,1,2]),Int32Array.from([2,2,1,1,1]),Int32Array.from([1,1,2,1,2]),Int32Array.from([2,1,2,1,1]),Int32Array.from([1,2,2,1,1]),Int32Array.from([1,1,1,2,2]),Int32Array.from([2,1,1,2,1]),Int32Array.from([1,2,1,2,1]),Int32Array.from([1,1,3,3,1]),Int32Array.from([3,1,1,1,3]),Int32Array.from([1,3,1,1,3]),Int32Array.from([3,3,1,1,1]),Int32Array.from([1,1,3,1,3]),Int32Array.from([3,1,3,1,1]),Int32Array.from([1,3,3,1,1]),Int32Array.from([1,1,1,3,3]),Int32Array.from([3,1,1,3,1]),Int32Array.from([1,3,1,3,1])],je.MAX_AVG_VARIANCE=.38,je.MAX_INDIVIDUAL_VARIANCE=.5,je.DEFAULT_ALLOWED_LENGTHS=[6,8,10,12,14],je.START_PATTERN=Int32Array.from([1,1,1,1]),je.END_PATTERN_REVERSED=[Int32Array.from([1,1,2]),Int32Array.from([1,1,3])];class _t extends Ct{constructor(){super(...arguments),this.decodeRowStringBuffer=""}static findStartGuardPattern(e){let n=!1,s,i=0,a=Int32Array.from([0,0,0]);for(;!n;){a=Int32Array.from([0,0,0]),s=_t.findGuardPattern(e,i,!1,this.START_END_PATTERN,a);let c=s[0];i=s[1];let d=c-(i-c);d>=0&&(n=e.isRange(d,c,!1))}return s}static checkChecksum(e){return _t.checkStandardUPCEANChecksum(e)}static checkStandardUPCEANChecksum(e){let n=e.length;if(n===0)return!1;let s=parseInt(e.charAt(n-1),10);return _t.getStandardUPCEANChecksum(e.substring(0,n-1))===s}static getStandardUPCEANChecksum(e){let n=e.length,s=0;for(let i=n-1;i>=0;i-=2){let a=e.charAt(i).charCodeAt(0)-48;if(a<0||a>9)throw new k;s+=a}s*=3;for(let i=n-2;i>=0;i-=2){let a=e.charAt(i).charCodeAt(0)-48;if(a<0||a>9)throw new k;s+=a}return(1e3-s)%10}static decodeEnd(e,n){return _t.findGuardPattern(e,n,!1,_t.START_END_PATTERN,new Int32Array(_t.START_END_PATTERN.length).fill(0))}static findGuardPatternWithoutCounters(e,n,s,i){return this.findGuardPattern(e,n,s,i,new Int32Array(i.length))}static findGuardPattern(e,n,s,i,a){let c=e.getSize();n=s?e.getNextUnset(n):e.getNextSet(n);let d=0,h=n,m=i.length,y=s;for(let b=n;b=0)return c;throw new Z}}_t.MAX_AVG_VARIANCE=.48,_t.MAX_INDIVIDUAL_VARIANCE=.7,_t.START_END_PATTERN=Int32Array.from([1,1,1]),_t.MIDDLE_PATTERN=Int32Array.from([1,1,1,1,1]),_t.END_PATTERN=Int32Array.from([1,1,1,1,1,1]),_t.L_PATTERNS=[Int32Array.from([3,2,1,1]),Int32Array.from([2,2,2,1]),Int32Array.from([2,1,2,2]),Int32Array.from([1,4,1,1]),Int32Array.from([1,1,3,2]),Int32Array.from([1,2,3,1]),Int32Array.from([1,1,1,4]),Int32Array.from([1,3,1,2]),Int32Array.from([1,2,1,3]),Int32Array.from([3,1,1,2])];class vs{constructor(){this.CHECK_DIGIT_ENCODINGS=[24,20,18,17,12,6,3,10,9,5],this.decodeMiddleCounters=Int32Array.from([0,0,0,0]),this.decodeRowStringBuffer=""}decodeRow(e,n,s){let i=this.decodeRowStringBuffer,a=this.decodeMiddle(n,s,i),c=i.toString(),d=vs.parseExtensionString(c),h=[new M((s[0]+s[1])/2,e),new M(a,e)],m=new yt(c,null,0,h,Ee.UPC_EAN_EXTENSION,new Date().getTime());return d!=null&&m.putAllMetadata(d),m}decodeMiddle(e,n,s){let i=this.decodeMiddleCounters;i[0]=0,i[1]=0,i[2]=0,i[3]=0;let a=e.getSize(),c=n[1],d=0;for(let m=0;m<5&&c=10&&(d|=1<<4-m),m!==4&&(c=e.getNextSet(c),c=e.getNextUnset(c))}if(s.length!==5)throw new Z;let h=this.determineCheckDigit(d);if(vs.extensionChecksum(s.toString())!==h)throw new Z;return c}static extensionChecksum(e){let n=e.length,s=0;for(let i=n-2;i>=0;i-=2)s+=e.charAt(i).charCodeAt(0)-48;s*=3;for(let i=n-1;i>=0;i-=2)s+=e.charAt(i).charCodeAt(0)-48;return s*=3,s%10}determineCheckDigit(e){for(let n=0;n<10;n++)if(e===this.CHECK_DIGIT_ENCODINGS[n])return n;throw new Z}static parseExtensionString(e){if(e.length!==5)return null;let n=vs.parseExtension5String(e);return n==null?null:new Map([[he.SUGGESTED_PRICE,n]])}static parseExtension5String(e){let n;switch(e.charAt(0)){case"0":n="£";break;case"5":n="$";break;case"9":switch(e){case"90000":return null;case"99991":return"0.00";case"99990":return"Used"}n="";break;default:n="";break}let s=parseInt(e.substring(1)),i=(s/100).toString(),a=s%100,c=a<10?"0"+a:a.toString();return n+i+"."+c}}class Ai{constructor(){this.decodeMiddleCounters=Int32Array.from([0,0,0,0]),this.decodeRowStringBuffer=""}decodeRow(e,n,s){let i=this.decodeRowStringBuffer,a=this.decodeMiddle(n,s,i),c=i.toString(),d=Ai.parseExtensionString(c),h=[new M((s[0]+s[1])/2,e),new M(a,e)],m=new yt(c,null,0,h,Ee.UPC_EAN_EXTENSION,new Date().getTime());return d!=null&&m.putAllMetadata(d),m}decodeMiddle(e,n,s){let i=this.decodeMiddleCounters;i[0]=0,i[1]=0,i[2]=0,i[3]=0;let a=e.getSize(),c=n[1],d=0;for(let h=0;h<2&&c=10&&(d|=1<<1-h),h!==1&&(c=e.getNextSet(c),c=e.getNextUnset(c))}if(s.length!==2)throw new Z;if(parseInt(s.toString())%4!==d)throw new Z;return c}static parseExtensionString(e){return e.length!==2?null:new Map([[he.ISSUE_NUMBER,parseInt(e)]])}}class uc{static decodeRow(e,n,s){let i=_t.findGuardPattern(n,s,!1,this.EXTENSION_START_PATTERN,new Int32Array(this.EXTENSION_START_PATTERN.length).fill(0));try{return new vs().decodeRow(e,n,i)}catch{return new Ai().decodeRow(e,n,i)}}}uc.EXTENSION_START_PATTERN=Int32Array.from([1,1,2]);class nt extends _t{constructor(){super(),this.decodeRowStringBuffer="",nt.L_AND_G_PATTERNS=nt.L_PATTERNS.map(e=>Int32Array.from(e));for(let e=10;e<20;e++){let n=nt.L_PATTERNS[e-10],s=new Int32Array(n.length);for(let i=0;i=n.getSize()||!n.isRange(y,b,!1))throw new Z;let _=h.toString();if(_.length<8)throw new k;if(!nt.checkChecksum(_))throw new O;let N=(i[1]+i[0])/2,P=(m[1]+m[0])/2,$=this.getBarcodeFormat(),j=[new M(N,e),new M(P,e)],Q=new yt(_,null,0,j,$,new Date().getTime()),fe=0;try{let ue=uc.decodeRow(e,n,m[1]);Q.putMetadata(he.UPC_EAN_EXTENSION,ue.getText()),Q.putAllMetadata(ue.getResultMetadata()),Q.addResultPoints(ue.getResultPoints()),fe=ue.getText().length}catch{}let ge=s==null?null:s.get(se.ALLOWED_EAN_EXTENSIONS);if(ge!=null){let ue=!1;for(let ze in ge)if(fe.toString()===ze){ue=!0;break}if(!ue)throw new Z}return Q}decodeEnd(e,n){return nt.findGuardPattern(e,n,!1,nt.START_END_PATTERN,new Int32Array(nt.START_END_PATTERN.length).fill(0))}static checkChecksum(e){return nt.checkStandardUPCEANChecksum(e)}static checkStandardUPCEANChecksum(e){let n=e.length;if(n===0)return!1;let s=parseInt(e.charAt(n-1),10);return nt.getStandardUPCEANChecksum(e.substring(0,n-1))===s}static getStandardUPCEANChecksum(e){let n=e.length,s=0;for(let i=n-1;i>=0;i-=2){let a=e.charAt(i).charCodeAt(0)-48;if(a<0||a>9)throw new k;s+=a}s*=3;for(let i=n-2;i>=0;i-=2){let a=e.charAt(i).charCodeAt(0)-48;if(a<0||a>9)throw new k;s+=a}return(1e3-s)%10}}class $r extends nt{constructor(){super(),this.decodeMiddleCounters=Int32Array.from([0,0,0,0])}decodeMiddle(e,n,s){let i=this.decodeMiddleCounters;i[0]=0,i[1]=0,i[2]=0,i[3]=0;let a=e.getSize(),c=n[1],d=0;for(let m=0;m<6&&c=10&&(d|=1<<5-m)}s=$r.determineFirstDigit(s,d),c=nt.findGuardPattern(e,c,!0,nt.MIDDLE_PATTERN,new Int32Array(nt.MIDDLE_PATTERN.length).fill(0))[1];for(let m=0;m<6&&cm);i[0]=0,i[1]=0,i[2]=0,i[3]=0;const a=e.getSize();let c=n[1],d=0;for(let m=0;m<6&&c=10&&(d|=1<<5-m)}let h=Fn.determineNumSysAndCheckDigit(s,d);return{rowOffset:c,resultString:h}}decodeEnd(e,n){return Fn.findGuardPatternWithoutCounters(e,n,!0,Fn.MIDDLE_END_PATTERN)}checkChecksum(e){return nt.checkChecksum(Fn.convertUPCEtoUPCA(e))}static determineNumSysAndCheckDigit(e,n){for(let s=0;s<=1;s++)for(let i=0;i<10;i++)if(n===this.NUMSYS_AND_CHECK_DIGIT_PATTERNS[s][i]){let a=String.fromCharCode(48+s),c=String.fromCharCode(48+i);return a+e+c}throw Z.getNotFoundInstance()}getBarcodeFormat(){return Ee.UPC_E}static convertUPCEtoUPCA(e){const n=e.slice(1,7).split("").map(a=>a.charCodeAt(0)),s=new Se;s.append(e.charAt(0));let i=n[5];switch(i){case 0:case 1:case 2:s.appendChars(n,0,2),s.append(i),s.append("0000"),s.appendChars(n,2,3);break;case 3:s.appendChars(n,0,3),s.append("00000"),s.appendChars(n,3,2);break;case 4:s.appendChars(n,0,4),s.append("00000"),s.append(n[4]);break;default:s.appendChars(n,0,5),s.append("0000"),s.append(i);break}return e.length>=8&&s.append(e.charAt(7)),s.toString()}}Fn.MIDDLE_END_PATTERN=Int32Array.from([1,1,1,1,1,1]),Fn.NUMSYS_AND_CHECK_DIGIT_PATTERNS=[Int32Array.from([56,52,50,49,44,38,35,42,41,37]),Int32Array.from([7,11,13,14,19,25,28,21,22,26])];class bi extends Ct{constructor(e){super();let n=e==null?null:e.get(se.POSSIBLE_FORMATS),s=[];l(n)?(s.push(new $r),s.push(new fc),s.push(new dc),s.push(new Fn)):(n.indexOf(Ee.EAN_13)>-1&&s.push(new $r),n.indexOf(Ee.UPC_A)>-1&&s.push(new fc),n.indexOf(Ee.EAN_8)>-1&&s.push(new dc),n.indexOf(Ee.UPC_E)>-1&&s.push(new Fn)),this.readers=s}decodeRow(e,n,s){for(let i of this.readers)try{const a=i.decodeRow(e,n,s),c=a.getBarcodeFormat()===Ee.EAN_13&&a.getText().charAt(0)==="0",d=s==null?null:s.get(se.POSSIBLE_FORMATS),h=d==null||d.includes(Ee.UPC_A);if(c&&h){const m=a.getRawBytes(),y=new yt(a.getText().substring(1),m,m?m.length:null,a.getResultPoints(),Ee.UPC_A);return y.putAllMetadata(a.getResultMetadata()),y}return a}catch{}throw new Z}reset(){for(let e of this.readers)e.reset()}}class tn extends Ct{constructor(){super(),this.decodeFinderCounters=new Int32Array(4),this.dataCharacterCounters=new Int32Array(8),this.oddRoundingErrors=new Array(4),this.evenRoundingErrors=new Array(4),this.oddCounts=new Array(this.dataCharacterCounters.length/2),this.evenCounts=new Array(this.dataCharacterCounters.length/2)}getDecodeFinderCounters(){return this.decodeFinderCounters}getDataCharacterCounters(){return this.dataCharacterCounters}getOddRoundingErrors(){return this.oddRoundingErrors}getEvenRoundingErrors(){return this.evenRoundingErrors}getOddCounts(){return this.oddCounts}getEvenCounts(){return this.evenCounts}parseFinderValue(e,n){for(let s=0;si&&(i=n[a],s=a);e[s]++}static decrement(e,n){let s=0,i=n[0];for(let a=1;a=tn.MIN_FINDER_PATTERN_RATIO&&i<=tn.MAX_FINDER_PATTERN_RATIO){let a=Number.MAX_SAFE_INTEGER,c=Number.MIN_SAFE_INTEGER;for(let d of e)d>c&&(c=d),d=d-h-1&&(y-=Hn.combins(i-m-(d-h),d-h-2)),d-h-1>1){let b=0;for(let _=i-m-(d-h-2);_>n;_--)b+=Hn.combins(i-m-_-1,d-h-3);y-=b*(d-1-h)}else i-m>n&&y--;a+=y}i-=m}return a}static combins(e,n){let s,i;e-n>n?(i=n,s=e-n):(i=e-n,s=n);let a=1,c=1;for(let d=e;d>s;d--)a*=d,c<=i&&(a/=c,c++);for(;c<=i;)a/=c,c++;return a}}class O1{static buildBitArray(e){let n=e.length*2-1;e[e.length-1].getRightChar()==null&&(n-=1);let s=12*n,i=new F(s),a=0,d=e[0].getRightChar().getValue();for(let h=11;h>=0;--h)(d&1<=0;--b)(y&1<=0;--_)(b&1<<_)!=0&&i.set(a),a++}}return i}}class Br{constructor(e,n){n?this.decodedInformation=null:(this.finished=e,this.decodedInformation=n)}getDecodedInformation(){return this.decodedInformation}isFinished(){return this.finished}}class _i{constructor(e){this.newPosition=e}getNewPosition(){return this.newPosition}}class dn extends _i{constructor(e,n){super(e),this.value=n}getValue(){return this.value}isFNC1(){return this.value===dn.FNC1}}dn.FNC1="$";class Ur extends _i{constructor(e,n,s){super(e),s?(this.remaining=!0,this.remainingValue=this.remainingValue):(this.remaining=!1,this.remainingValue=0),this.newString=n}getNewString(){return this.newString}isRemaining(){return this.remaining}getRemainingValue(){return this.remainingValue}}class Tn extends _i{constructor(e,n,s){if(super(e),n<0||n>10||s<0||s>10)throw new k;this.firstDigit=n,this.secondDigit=s}getFirstDigit(){return this.firstDigit}getSecondDigit(){return this.secondDigit}getValue(){return this.firstDigit*10+this.secondDigit}isFirstDigitFNC1(){return this.firstDigit===Tn.FNC1}isSecondDigitFNC1(){return this.secondDigit===Tn.FNC1}isAnyFNC1(){return this.firstDigit===Tn.FNC1||this.secondDigit===Tn.FNC1}}Tn.FNC1=10;class be{constructor(){}static parseFieldsInGeneralPurpose(e){if(!e)return null;if(e.length<2)throw new Z;let n=e.substring(0,2);for(let a of be.TWO_DIGIT_DATA_LENGTH)if(a[0]===n)return a[1]===be.VARIABLE_LENGTH?be.processVariableAI(2,a[2],e):be.processFixedAI(2,a[1],e);if(e.length<3)throw new Z;let s=e.substring(0,3);for(let a of be.THREE_DIGIT_DATA_LENGTH)if(a[0]===s)return a[1]===be.VARIABLE_LENGTH?be.processVariableAI(3,a[2],e):be.processFixedAI(3,a[1],e);for(let a of be.THREE_DIGIT_PLUS_DIGIT_DATA_LENGTH)if(a[0]===s)return a[1]===be.VARIABLE_LENGTH?be.processVariableAI(4,a[2],e):be.processFixedAI(4,a[1],e);if(e.length<4)throw new Z;let i=e.substring(0,4);for(let a of be.FOUR_DIGIT_DATA_LENGTH)if(a[0]===i)return a[1]===be.VARIABLE_LENGTH?be.processVariableAI(4,a[2],e):be.processFixedAI(4,a[1],e);throw new Z}static processFixedAI(e,n,s){if(s.lengththis.information.getSize())return e+4<=this.information.getSize();for(let n=e;nthis.information.getSize()){let a=this.extractNumericValueFromBitArray(e,4);return a===0?new Tn(this.information.getSize(),Tn.FNC1,Tn.FNC1):new Tn(this.information.getSize(),a-1,Tn.FNC1)}let n=this.extractNumericValueFromBitArray(e,7),s=(n-8)/11,i=(n-8)%11;return new Tn(e+7,s,i)}extractNumericValueFromBitArray(e,n){return es.extractNumericValueFromBitArray(this.information,e,n)}static extractNumericValueFromBitArray(e,n,s){let i=0;for(let a=0;athis.information.getSize())return!1;let n=this.extractNumericValueFromBitArray(e,5);if(n>=5&&n<16)return!0;if(e+7>this.information.getSize())return!1;let s=this.extractNumericValueFromBitArray(e,7);if(s>=64&&s<116)return!0;if(e+8>this.information.getSize())return!1;let i=this.extractNumericValueFromBitArray(e,8);return i>=232&&i<253}decodeIsoIec646(e){let n=this.extractNumericValueFromBitArray(e,5);if(n===15)return new dn(e+5,dn.FNC1);if(n>=5&&n<15)return new dn(e+5,"0"+(n-5));let s=this.extractNumericValueFromBitArray(e,7);if(s>=64&&s<90)return new dn(e+7,""+(s+1));if(s>=90&&s<116)return new dn(e+7,""+(s+7));let i=this.extractNumericValueFromBitArray(e,8),a;switch(i){case 232:a="!";break;case 233:a='"';break;case 234:a="%";break;case 235:a="&";break;case 236:a="'";break;case 237:a="(";break;case 238:a=")";break;case 239:a="*";break;case 240:a="+";break;case 241:a=",";break;case 242:a="-";break;case 243:a=".";break;case 244:a="/";break;case 245:a=":";break;case 246:a=";";break;case 247:a="<";break;case 248:a="=";break;case 249:a=">";break;case 250:a="?";break;case 251:a="_";break;case 252:a=" ";break;default:throw new k}return new dn(e+8,a)}isStillAlpha(e){if(e+5>this.information.getSize())return!1;let n=this.extractNumericValueFromBitArray(e,5);if(n>=5&&n<16)return!0;if(e+6>this.information.getSize())return!1;let s=this.extractNumericValueFromBitArray(e,6);return s>=16&&s<63}decodeAlphanumeric(e){let n=this.extractNumericValueFromBitArray(e,5);if(n===15)return new dn(e+5,dn.FNC1);if(n>=5&&n<15)return new dn(e+5,"0"+(n-5));let s=this.extractNumericValueFromBitArray(e,6);if(s>=32&&s<58)return new dn(e+6,""+(s+33));let i;switch(s){case 58:i="*";break;case 59:i=",";break;case 60:i="-";break;case 61:i=".";break;case 62:i="/";break;default:throw new ne("Decoding invalid alphanumeric value: "+s)}return new dn(e+6,i)}isAlphaTo646ToAlphaLatch(e){if(e+1>this.information.getSize())return!1;for(let n=0;n<5&&n+ethis.information.getSize())return!1;for(let n=e;nthis.information.getSize())return!1;for(let n=0;n<4&&n+e{n.forEach(c=>{i.getLeftChar().getValue()===c.getLeftChar().getValue()&&i.getRightChar().getValue()===c.getRightChar().getValue()&&i.getFinderPatter().getValue()===c.getFinderPatter().getValue()&&(s=!0)})}),s}}class le extends tn{constructor(e){super(...arguments),this.pairs=new Array(le.MAX_PAIRS),this.rows=new Array,this.startEnd=[2],this.verbose=e===!0}decodeRow(e,n,s){this.pairs.length=0,this.startFromEven=!1;try{return le.constructResult(this.decodeRow2pairs(e,n))}catch(i){this.verbose&&console.log(i)}return this.pairs.length=0,this.startFromEven=!0,le.constructResult(this.decodeRow2pairs(e,n))}reset(){this.pairs.length=0,this.rows.length=0}decodeRow2pairs(e,n){let s=!1;for(;!s;)try{this.pairs.push(this.retrieveNextPair(n,this.pairs,e))}catch(a){if(a instanceof Z){if(!this.pairs.length)throw new Z;s=!0}}if(this.checkChecksum())return this.pairs;let i;if(this.rows.length?i=!0:i=!1,this.storeRow(e,!1),i){let a=this.checkRowsBoolean(!1);if(a!=null||(a=this.checkRowsBoolean(!0),a!=null))return a}throw new Z}checkRowsBoolean(e){if(this.rows.length>25)return this.rows.length=0,null;this.pairs.length=0,e&&(this.rows=this.rows.reverse());let n=null;try{n=this.checkRows(new Array,0)}catch(s){this.verbose&&console.log(s)}return e&&(this.rows=this.rows.reverse()),n}checkRows(e,n){for(let s=n;sn.length)continue;let s=!0;for(let i=0;ie){a=c.isEquivalent(this.pairs);break}i=c.isEquivalent(this.pairs),s++}a||i||le.isPartialRow(this.pairs,this.rows)||(this.rows.push(s,new Si(this.pairs,e,n)),this.removePartialRows(this.pairs,this.rows))}removePartialRows(e,n){for(let s of n)if(s.getPairs().length!==e.length){for(let i of s.getPairs())for(let a of e)if(wr.equals(i,a))break}}static isPartialRow(e,n){for(let s of n){let i=!0;for(let a of e){let c=!1;for(let d of s.getPairs())if(a.equals(d)){c=!0;break}if(!c){i=!1;break}}if(i)return!0}return!1}getRows(){return this.rows}static constructResult(e){let n=O1.buildBitArray(e),i=hc(n).parseInformation(),a=e[0].getFinderPattern().getResultPoints(),c=e[e.length-1].getFinderPattern().getResultPoints(),d=[a[0],a[1],c[0],c[1]];return new yt(i,null,null,d,Ee.RSS_EXPANDED,null)}checkChecksum(){let e=this.pairs.get(0),n=e.getLeftChar(),s=e.getRightChar();if(s==null)return!1;let i=s.getChecksumPortion(),a=2;for(let d=1;d=0?c=s:this.isEmptyPair(n)?c=0:c=n[n.length-1].getFinderPattern().getStartEnd()[1];let d=n.length%2!=0;this.startFromEven&&(d=!d);let h=!1;for(;c=0&&!e.get(m);)m--;m++,i=this.startEnd[0]-m,a=m,c=this.startEnd[1]}else a=this.startEnd[0],c=e.getNextUnset(this.startEnd[1]+1),i=c-this.startEnd[1];let d=this.getDecodeFinderCounters();U.arraycopy(d,0,d,1,d.length-1),d[0]=i;let h;try{h=this.parseFinderValue(d,le.FINDER_PATTERNS)}catch{return null}return new bo(h,[a,c],a,c,n)}decodeDataCharacter(e,n,s,i){let a=this.getDataCharacterCounters();for(let xt=0;xt.3)throw new Z;let m=this.getOddCounts(),y=this.getEvenCounts(),b=this.getOddRoundingErrors(),_=this.getEvenRoundingErrors();for(let xt=0;xt8){if(qt>8.7)throw new Z;En=8}let is=xt/2;(xt&1)==0?(m[is]=En,b[is]=qt-En):(y[is]=En,_[is]=qt-En)}this.adjustOddEvenCounts(c);let N=4*n.getValue()+(s?0:2)+(i?0:1)-1,P=0,$=0;for(let xt=m.length-1;xt>=0;xt--){if(le.isNotA1left(n,s,i)){let qt=le.WEIGHTS[N][2*xt];$+=m[xt]*qt}P+=m[xt]}let j=0;for(let xt=y.length-1;xt>=0;xt--)if(le.isNotA1left(n,s,i)){let qt=le.WEIGHTS[N][2*xt+1];j+=y[xt]*qt}let Q=$+j;if((P&1)!=0||P>13||P<4)throw new Z;let fe=(13-P)/2,ge=le.SYMBOL_WIDEST[fe],ue=9-ge,ze=Hn.getRSSvalue(m,ge,!0),Be=Hn.getRSSvalue(y,ue,!1),gn=le.EVEN_TOTAL_SUBSET[fe],$n=le.GSUM[fe],mn=ze*gn+Be+$n;return new Jr(mn,Q)}static isNotA1left(e,n,s){return!(e.getValue()==0&&n&&s)}adjustOddEvenCounts(e){let n=T.sum(new Int32Array(this.getOddCounts())),s=T.sum(new Int32Array(this.getEvenCounts())),i=!1,a=!1;n>13?a=!0:n<4&&(i=!0);let c=!1,d=!1;s>13?d=!0:s<4&&(c=!0);let h=n+s-e,m=(n&1)==1,y=(s&1)==0;if(h==1)if(m){if(y)throw new Z;a=!0}else{if(!y)throw new Z;d=!0}else if(h==-1)if(m){if(y)throw new Z;i=!0}else{if(!y)throw new Z;c=!0}else if(h==0){if(m){if(!y)throw new Z;n1){for(let d of this.possibleRightPairs)if(d.getCount()>1&&Ot.checkChecksum(c,d))return Ot.constructResult(c,d)}throw new Z}static addOrTally(e,n){if(n==null)return;let s=!1;for(let i of e)if(i.getValue()===n.getValue()){i.incrementCount(),s=!0;break}s||e.push(n)}reset(){this.possibleLeftPairs.length=0,this.possibleRightPairs.length=0}static constructResult(e,n){let s=4537077*e.getValue()+n.getValue(),i=new String(s).toString(),a=new Se;for(let m=13-i.length;m>0;m--)a.append("0");a.append(i);let c=0;for(let m=0;m<13;m++){let y=a.charAt(m).charCodeAt(0)-48;c+=(m&1)===0?3*y:y}c=10-c%10,c===10&&(c=0),a.append(c.toString());let d=e.getFinderPattern().getResultPoints(),h=n.getFinderPattern().getResultPoints();return new yt(a.toString(),null,0,[d[0],d[1],h[0],h[1]],Ee.RSS_14,new Date().getTime())}static checkChecksum(e,n){let s=(e.getChecksumPortion()+16*n.getChecksumPortion())%79,i=9*e.getFinderPattern().getValue()+n.getFinderPattern().getValue();return i>72&&i--,i>8&&i--,s===i}decodePair(e,n,s,i){try{let a=this.findFinderPattern(e,n),c=this.parseFoundFinderPattern(e,s,n,a),d=i==null?null:i.get(se.NEED_RESULT_POINT_CALLBACK);if(d!=null){let y=(a[0]+a[1])/2;n&&(y=e.getSize()-1-y),d.foundPossibleResultPoint(new M(y,s))}let h=this.decodeDataCharacter(e,c,!0),m=this.decodeDataCharacter(e,c,!1);return new L1(1597*h.getValue()+m.getValue(),h.getChecksumPortion()+4*m.getChecksumPortion(),c)}catch{return null}}decodeDataCharacter(e,n,s){let i=this.getDataCharacterCounters();for(let j=0;j8&&(fe=8);let ge=Math.floor(j/2);(j&1)===0?(d[ge]=fe,m[ge]=Q-fe):(h[ge]=fe,y[ge]=Q-fe)}this.adjustOddEvenCounts(s,a);let b=0,_=0;for(let j=d.length-1;j>=0;j--)_*=9,_+=d[j],b+=d[j];let N=0,P=0;for(let j=h.length-1;j>=0;j--)N*=9,N+=h[j],P+=h[j];let $=_+3*N;if(s){if((b&1)!==0||b>12||b<4)throw new Z;let j=(12-b)/2,Q=Ot.OUTSIDE_ODD_WIDEST[j],fe=9-Q,ge=Hn.getRSSvalue(d,Q,!1),ue=Hn.getRSSvalue(h,fe,!0),ze=Ot.OUTSIDE_EVEN_TOTAL_SUBSET[j],Be=Ot.OUTSIDE_GSUM[j];return new Jr(ge*ze+ue+Be,$)}else{if((P&1)!==0||P>10||P<4)throw new Z;let j=(10-P)/2,Q=Ot.INSIDE_ODD_WIDEST[j],fe=9-Q,ge=Hn.getRSSvalue(d,Q,!0),ue=Hn.getRSSvalue(h,fe,!1),ze=Ot.INSIDE_ODD_TOTAL_SUBSET[j],Be=Ot.INSIDE_GSUM[j];return new Jr(ue*ze+ge+Be,$)}}findFinderPattern(e,n){let s=this.getDecodeFinderCounters();s[0]=0,s[1]=0,s[2]=0,s[3]=0;let i=e.getSize(),a=!1,c=0;for(;c=0&&a!==e.get(c);)c--;c++;const d=i[0]-c,h=this.getDecodeFinderCounters(),m=new Int32Array(h.length);U.arraycopy(h,0,m,1,h.length-1),m[0]=d;const y=this.parseFinderValue(m,Ot.FINDER_PATTERNS);let b=c,_=i[1];return s&&(b=e.getSize()-1-b,_=e.getSize()-1-_),new bo(y,[c,i[1]],b,_,n)}adjustOddEvenCounts(e,n){let s=T.sum(new Int32Array(this.getOddCounts())),i=T.sum(new Int32Array(this.getEvenCounts())),a=!1,c=!1,d=!1,h=!1;e?(s>12?c=!0:s<4&&(a=!0),i>12?h=!0:i<4&&(d=!0)):(s>11?c=!0:s<5&&(a=!0),i>10?h=!0:i<4&&(d=!0));let m=s+i-n,y=(s&1)===(e?1:0),b=(i&1)===1;if(m===1)if(y){if(b)throw new Z;c=!0}else{if(!b)throw new Z;h=!0}else if(m===-1)if(y){if(b)throw new Z;a=!0}else{if(!b)throw new Z;d=!0}else if(m===0){if(y){if(!b)throw new Z;se.reset())}}class M1 extends Gt{constructor(e=500,n){super(new ns(n),e,n)}}class it{constructor(e,n,s){this.ecCodewords=e,this.ecBlocks=[n],s&&this.ecBlocks.push(s)}getECCodewords(){return this.ecCodewords}getECBlocks(){return this.ecBlocks}}class rt{constructor(e,n){this.count=e,this.dataCodewords=n}getCount(){return this.count}getDataCodewords(){return this.dataCodewords}}class Qe{constructor(e,n,s,i,a,c){this.versionNumber=e,this.symbolSizeRows=n,this.symbolSizeColumns=s,this.dataRegionSizeRows=i,this.dataRegionSizeColumns=a,this.ecBlocks=c;let d=0;const h=c.getECCodewords(),m=c.getECBlocks();for(let y of m)d+=y.getCount()*(y.getDataCodewords()+h);this.totalCodewords=d}getVersionNumber(){return this.versionNumber}getSymbolSizeRows(){return this.symbolSizeRows}getSymbolSizeColumns(){return this.symbolSizeColumns}getDataRegionSizeRows(){return this.dataRegionSizeRows}getDataRegionSizeColumns(){return this.dataRegionSizeColumns}getTotalCodewords(){return this.totalCodewords}getECBlocks(){return this.ecBlocks}static getVersionForDimensions(e,n){if((e&1)!==0||(n&1)!==0)throw new k;for(let s of Qe.VERSIONS)if(s.symbolSizeRows===e&&s.symbolSizeColumns===n)return s;throw new k}toString(){return""+this.versionNumber}static buildVersions(){return[new Qe(1,10,10,8,8,new it(5,new rt(1,3))),new Qe(2,12,12,10,10,new it(7,new rt(1,5))),new Qe(3,14,14,12,12,new it(10,new rt(1,8))),new Qe(4,16,16,14,14,new it(12,new rt(1,12))),new Qe(5,18,18,16,16,new it(14,new rt(1,18))),new Qe(6,20,20,18,18,new it(18,new rt(1,22))),new Qe(7,22,22,20,20,new it(20,new rt(1,30))),new Qe(8,24,24,22,22,new it(24,new rt(1,36))),new Qe(9,26,26,24,24,new it(28,new rt(1,44))),new Qe(10,32,32,14,14,new it(36,new rt(1,62))),new Qe(11,36,36,16,16,new it(42,new rt(1,86))),new Qe(12,40,40,18,18,new it(48,new rt(1,114))),new Qe(13,44,44,20,20,new it(56,new rt(1,144))),new Qe(14,48,48,22,22,new it(68,new rt(1,174))),new Qe(15,52,52,24,24,new it(42,new rt(2,102))),new Qe(16,64,64,14,14,new it(56,new rt(2,140))),new Qe(17,72,72,16,16,new it(36,new rt(4,92))),new Qe(18,80,80,18,18,new it(48,new rt(4,114))),new Qe(19,88,88,20,20,new it(56,new rt(4,144))),new Qe(20,96,96,22,22,new it(68,new rt(4,174))),new Qe(21,104,104,24,24,new it(56,new rt(6,136))),new Qe(22,120,120,18,18,new it(68,new rt(6,175))),new Qe(23,132,132,20,20,new it(62,new rt(8,163))),new Qe(24,144,144,22,22,new it(62,new rt(8,156),new rt(2,155))),new Qe(25,8,18,6,16,new it(7,new rt(1,5))),new Qe(26,8,32,6,14,new it(11,new rt(1,10))),new Qe(27,12,26,10,24,new it(14,new rt(1,16))),new Qe(28,12,36,10,16,new it(18,new rt(1,22))),new Qe(29,16,36,14,16,new it(24,new rt(1,32))),new Qe(30,16,48,14,22,new it(28,new rt(1,49)))]}}Qe.VERSIONS=Qe.buildVersions();class Ti{constructor(e){const n=e.getHeight();if(n<8||n>144||(n&1)!==0)throw new k;this.version=Ti.readVersion(e),this.mappingBitMatrix=this.extractDataRegion(e),this.readMappingMatrix=new Ke(this.mappingBitMatrix.getWidth(),this.mappingBitMatrix.getHeight())}getVersion(){return this.version}static readVersion(e){const n=e.getHeight(),s=e.getWidth();return Qe.getVersionForDimensions(n,s)}readCodewords(){const e=new Int8Array(this.version.getTotalCodewords());let n=0,s=4,i=0;const a=this.mappingBitMatrix.getHeight(),c=this.mappingBitMatrix.getWidth();let d=!1,h=!1,m=!1,y=!1;do if(s===a&&i===0&&!d)e[n++]=this.readCorner1(a,c)&255,s-=2,i+=2,d=!0;else if(s===a-2&&i===0&&(c&3)!==0&&!h)e[n++]=this.readCorner2(a,c)&255,s-=2,i+=2,h=!0;else if(s===a+4&&i===2&&(c&7)===0&&!m)e[n++]=this.readCorner3(a,c)&255,s-=2,i+=2,m=!0;else if(s===a-2&&i===0&&(c&7)===4&&!y)e[n++]=this.readCorner4(a,c)&255,s-=2,i+=2,y=!0;else{do s=0&&!this.readMappingMatrix.get(i,s)&&(e[n++]=this.readUtah(s,i,a,c)&255),s-=2,i+=2;while(s>=0&&i=0&&i=0);s+=3,i+=1}while(s7?$-1:$;c[Q].codewords[fe]=e[b++]}if(b!==e.length)throw new C;return c}getNumDataCodewords(){return this.numDataCodewords}getCodewords(){return this.codewords}}class ki{constructor(e){this.bytes=e,this.byteOffset=0,this.bitOffset=0}getBitOffset(){return this.bitOffset}getByteOffset(){return this.byteOffset}readBits(e){if(e<1||e>32||e>this.available())throw new C(""+e);let n=0,s=this.bitOffset,i=this.byteOffset;const a=this.bytes;if(s>0){const c=8-s,d=e>8-d<>h,e-=d,s+=d,s===8&&(s=0,i++)}if(e>0){for(;e>=8;)n=n<<8|a[i]&255,i++,e-=8;if(e>0){const c=8-e,d=255>>c<>c,s+=e}}return this.bitOffset=s,this.byteOffset=i,n}available(){return 8*(this.bytes.length-this.byteOffset)-this.bitOffset}}var Ut;(function(E){E[E.PAD_ENCODE=0]="PAD_ENCODE",E[E.ASCII_ENCODE=1]="ASCII_ENCODE",E[E.C40_ENCODE=2]="C40_ENCODE",E[E.TEXT_ENCODE=3]="TEXT_ENCODE",E[E.ANSIX12_ENCODE=4]="ANSIX12_ENCODE",E[E.EDIFACT_ENCODE=5]="EDIFACT_ENCODE",E[E.BASE256_ENCODE=6]="BASE256_ENCODE"})(Ut||(Ut={}));class yr{static decode(e){const n=new ki(e),s=new Se,i=new Se,a=new Array;let c=Ut.ASCII_ENCODE;do if(c===Ut.ASCII_ENCODE)c=this.decodeAsciiSegment(n,s,i);else{switch(c){case Ut.C40_ENCODE:this.decodeC40Segment(n,s);break;case Ut.TEXT_ENCODE:this.decodeTextSegment(n,s);break;case Ut.ANSIX12_ENCODE:this.decodeAnsiX12Segment(n,s);break;case Ut.EDIFACT_ENCODE:this.decodeEdifactSegment(n,s);break;case Ut.BASE256_ENCODE:this.decodeBase256Segment(n,s,a);break;default:throw new k}c=Ut.ASCII_ENCODE}while(c!==Ut.PAD_ENCODE&&n.available()>0);return i.length()>0&&s.append(i.toString()),new pe(e,s.toString(),a.length===0?null:a,null)}static decodeAsciiSegment(e,n,s){let i=!1;do{let a=e.readBits(8);if(a===0)throw new k;if(a<=128)return i&&(a+=128),n.append(String.fromCharCode(a-1)),Ut.ASCII_ENCODE;if(a===129)return Ut.PAD_ENCODE;if(a<=229){const c=a-130;c<10&&n.append("0"),n.append(""+c)}else switch(a){case 230:return Ut.C40_ENCODE;case 231:return Ut.BASE256_ENCODE;case 232:n.append("");break;case 233:case 234:break;case 235:i=!0;break;case 236:n.append("[)>05"),s.insert(0,"");break;case 237:n.append("[)>06"),s.insert(0,"");break;case 238:return Ut.ANSIX12_ENCODE;case 239:return Ut.TEXT_ENCODE;case 240:return Ut.EDIFACT_ENCODE;case 241:break;default:if(a!==254||e.available()!==0)throw new k;break}}while(e.available()>0);return Ut.ASCII_ENCODE}static decodeC40Segment(e,n){let s=!1;const i=[];let a=0;do{if(e.available()===8)return;const c=e.readBits(8);if(c===254)return;this.parseTwoBytes(c,e.readBits(8),i);for(let d=0;d<3;d++){const h=i[d];switch(a){case 0:if(h<3)a=h+1;else if(h0)}static decodeTextSegment(e,n){let s=!1,i=[],a=0;do{if(e.available()===8)return;const c=e.readBits(8);if(c===254)return;this.parseTwoBytes(c,e.readBits(8),i);for(let d=0;d<3;d++){const h=i[d];switch(a){case 0:if(h<3)a=h+1;else if(h0)}static decodeAnsiX12Segment(e,n){const s=[];do{if(e.available()===8)return;const i=e.readBits(8);if(i===254)return;this.parseTwoBytes(i,e.readBits(8),s);for(let a=0;a<3;a++){const c=s[a];switch(c){case 0:n.append("\r");break;case 1:n.append("*");break;case 2:n.append(">");break;case 3:n.append(" ");break;default:if(c<14)n.append(String.fromCharCode(c+44));else if(c<40)n.append(String.fromCharCode(c+51));else throw new k;break}}}while(e.available()>0)}static parseTwoBytes(e,n,s){let i=(e<<8)+n-1,a=Math.floor(i/1600);s[0]=a,i-=a*1600,a=Math.floor(i/40),s[1]=a,s[2]=i-a*40}static decodeEdifactSegment(e,n){do{if(e.available()<=16)return;for(let s=0;s<4;s++){let i=e.readBits(6);if(i===31){const a=8-e.getBitOffset();a!==8&&e.readBits(a);return}(i&32)===0&&(i|=64),n.append(String.fromCharCode(i))}}while(e.available()>0)}static decodeBase256Segment(e,n,s){let i=1+e.getByteOffset();const a=this.unrandomize255State(e.readBits(8),i++);let c;if(a===0?c=e.available()/8|0:a<250?c=a:c=250*(a-249)+this.unrandomize255State(e.readBits(8),i++),c<0)throw new k;const d=new Uint8Array(c);for(let h=0;h=0?i:i+256}}yr.C40_BASIC_SET_CHARS=["*","*","*"," ","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"],yr.C40_SHIFT2_SET_CHARS=["!",'"',"#","$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","?","@","[","\\","]","^","_"],yr.TEXT_BASIC_SET_CHARS=["*","*","*"," ","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"],yr.TEXT_SHIFT2_SET_CHARS=yr.C40_SHIFT2_SET_CHARS,yr.TEXT_SHIFT3_SET_CHARS=["`","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","{","|","}","~",""];class F1{constructor(){this.rsDecoder=new ie(R.DATA_MATRIX_FIELD_256)}decode(e){const n=new Ti(e),s=n.getVersion(),i=n.readCodewords(),a=vi.getDataBlocks(i,s);let c=0;for(let m of a)c+=m.getNumDataCodewords();const d=new Uint8Array(c),h=a.length;for(let m=0;md&&(y=d,b[0]=n,b[1]=s,b[2]=i,b[3]=a),y>h&&(y=h,b[0]=s,b[1]=i,b[2]=a,b[3]=n),y>m&&(b[0]=i,b[1]=a,b[2]=n,b[3]=s),b}detectSolid2(e){let n=e[0],s=e[1],i=e[2],a=e[3],c=this.transitionsBetween(n,a),d=Ft.shiftPoint(s,i,(c+1)*4),h=Ft.shiftPoint(i,s,(c+1)*4),m=this.transitionsBetween(d,n),y=this.transitionsBetween(h,a);return mN?y:b}shiftToModuleCenter(e){let n=e[0],s=e[1],i=e[2],a=e[3],c=this.transitionsBetween(n,a)+1,d=this.transitionsBetween(i,a)+1,h=Ft.shiftPoint(n,s,d*4),m=Ft.shiftPoint(i,s,c*4);c=this.transitionsBetween(h,a)+1,d=this.transitionsBetween(m,a)+1,(c&1)===1&&(c+=1),(d&1)===1&&(d+=1);let y=(n.getX()+s.getX()+i.getX()+a.getX())/4,b=(n.getY()+s.getY()+i.getY()+a.getY())/4;n=Ft.moveAway(n,y,b),s=Ft.moveAway(s,y,b),i=Ft.moveAway(i,y,b),a=Ft.moveAway(a,y,b);let _,N;return h=Ft.shiftPoint(n,s,d*4),h=Ft.shiftPoint(h,a,c*4),_=Ft.shiftPoint(s,n,d*4),_=Ft.shiftPoint(_,i,c*4),m=Ft.shiftPoint(i,a,d*4),m=Ft.shiftPoint(m,s,c*4),N=Ft.shiftPoint(a,i,d*4),N=Ft.shiftPoint(N,n,c*4),[h,_,m,N]}isValid(e){return e.getX()>=0&&e.getX()0&&e.getY()Math.abs(a-s);if(d){let $=s;s=i,i=$,$=a,a=c,c=$}let h=Math.abs(a-s),m=Math.abs(c-i),y=-h/2,b=i0){if(j===c)break;j+=b,y-=h}}return N}}class Cr{constructor(){this.decoder=new F1}decode(e,n=null){let s,i;if(n!=null&&n.has(se.PURE_BARCODE)){const m=Cr.extractPureBits(e.getBlackMatrix());s=this.decoder.decode(m),i=Cr.NO_POINTS}else{const m=new Ft(e.getBlackMatrix()).detect();s=this.decoder.decode(m.getBits()),i=m.getPoints()}const a=s.getRawBytes(),c=new yt(s.getText(),a,8*a.length,i,Ee.DATA_MATRIX,U.currentTimeMillis()),d=s.getByteSegments();d!=null&&c.putMetadata(he.BYTE_SEGMENTS,d);const h=s.getECLevel();return h!=null&&c.putMetadata(he.ERROR_CORRECTION_LEVEL,h),c}reset(){}static extractPureBits(e){const n=e.getTopLeftOnBit(),s=e.getBottomRightOnBit();if(n==null||s==null)throw new Z;const i=this.moduleSize(n,e);let a=n[1];const c=s[1];let d=n[0];const m=(s[0]-d+1)/i,y=(c-a+1)/i;if(m<=0||y<=0)throw new Z;const b=i/2;a+=b,d+=b;const _=new Ke(m,y);for(let N=0;N=Et.FOR_BITS.size)throw new C;return Et.FOR_BITS.get(e)}}Et.FOR_BITS=new Map,Et.FOR_VALUE=new Map,Et.L=new Et(rs.L,"L",1),Et.M=new Et(rs.M,"M",0),Et.Q=new Et(rs.Q,"Q",3),Et.H=new Et(rs.H,"H",2);class nn{constructor(e){this.errorCorrectionLevel=Et.forBits(e>>3&3),this.dataMask=e&7}static numBitsDiffering(e,n){return V.bitCount(e^n)}static decodeFormatInformation(e,n){const s=nn.doDecodeFormatInformation(e,n);return s!==null?s:nn.doDecodeFormatInformation(e^nn.FORMAT_INFO_MASK_QR,n^nn.FORMAT_INFO_MASK_QR)}static doDecodeFormatInformation(e,n){let s=Number.MAX_SAFE_INTEGER,i=0;for(const a of nn.FORMAT_INFO_DECODE_LOOKUP){const c=a[0];if(c===e||c===n)return new nn(a[1]);let d=nn.numBitsDiffering(e,c);d40)throw new C;return ve.VERSIONS[e-1]}static decodeVersionInformation(e){let n=Number.MAX_SAFE_INTEGER,s=0;for(let i=0;i6&&(n.setRegion(e-11,0,3,6),n.setRegion(0,e-11,6,3)),n}toString(){return""+this.versionNumber}}ve.VERSION_DECODE_INFO=Int32Array.from([31892,34236,39577,42195,48118,51042,55367,58893,63784,68472,70749,76311,79154,84390,87683,92361,96236,102084,102881,110507,110734,117786,119615,126325,127568,133589,136944,141498,145311,150283,152622,158308,161089,167017]),ve.VERSIONS=[new ve(1,new Int32Array(0),new X(7,new v(1,19)),new X(10,new v(1,16)),new X(13,new v(1,13)),new X(17,new v(1,9))),new ve(2,Int32Array.from([6,18]),new X(10,new v(1,34)),new X(16,new v(1,28)),new X(22,new v(1,22)),new X(28,new v(1,16))),new ve(3,Int32Array.from([6,22]),new X(15,new v(1,55)),new X(26,new v(1,44)),new X(18,new v(2,17)),new X(22,new v(2,13))),new ve(4,Int32Array.from([6,26]),new X(20,new v(1,80)),new X(18,new v(2,32)),new X(26,new v(2,24)),new X(16,new v(4,9))),new ve(5,Int32Array.from([6,30]),new X(26,new v(1,108)),new X(24,new v(2,43)),new X(18,new v(2,15),new v(2,16)),new X(22,new v(2,11),new v(2,12))),new ve(6,Int32Array.from([6,34]),new X(18,new v(2,68)),new X(16,new v(4,27)),new X(24,new v(4,19)),new X(28,new v(4,15))),new ve(7,Int32Array.from([6,22,38]),new X(20,new v(2,78)),new X(18,new v(4,31)),new X(18,new v(2,14),new v(4,15)),new X(26,new v(4,13),new v(1,14))),new ve(8,Int32Array.from([6,24,42]),new X(24,new v(2,97)),new X(22,new v(2,38),new v(2,39)),new X(22,new v(4,18),new v(2,19)),new X(26,new v(4,14),new v(2,15))),new ve(9,Int32Array.from([6,26,46]),new X(30,new v(2,116)),new X(22,new v(3,36),new v(2,37)),new X(20,new v(4,16),new v(4,17)),new X(24,new v(4,12),new v(4,13))),new ve(10,Int32Array.from([6,28,50]),new X(18,new v(2,68),new v(2,69)),new X(26,new v(4,43),new v(1,44)),new X(24,new v(6,19),new v(2,20)),new X(28,new v(6,15),new v(2,16))),new ve(11,Int32Array.from([6,30,54]),new X(20,new v(4,81)),new X(30,new v(1,50),new v(4,51)),new X(28,new v(4,22),new v(4,23)),new X(24,new v(3,12),new v(8,13))),new ve(12,Int32Array.from([6,32,58]),new X(24,new v(2,92),new v(2,93)),new X(22,new v(6,36),new v(2,37)),new X(26,new v(4,20),new v(6,21)),new X(28,new v(7,14),new v(4,15))),new ve(13,Int32Array.from([6,34,62]),new X(26,new v(4,107)),new X(22,new v(8,37),new v(1,38)),new X(24,new v(8,20),new v(4,21)),new X(22,new v(12,11),new v(4,12))),new ve(14,Int32Array.from([6,26,46,66]),new X(30,new v(3,115),new v(1,116)),new X(24,new v(4,40),new v(5,41)),new X(20,new v(11,16),new v(5,17)),new X(24,new v(11,12),new v(5,13))),new ve(15,Int32Array.from([6,26,48,70]),new X(22,new v(5,87),new v(1,88)),new X(24,new v(5,41),new v(5,42)),new X(30,new v(5,24),new v(7,25)),new X(24,new v(11,12),new v(7,13))),new ve(16,Int32Array.from([6,26,50,74]),new X(24,new v(5,98),new v(1,99)),new X(28,new v(7,45),new v(3,46)),new X(24,new v(15,19),new v(2,20)),new X(30,new v(3,15),new v(13,16))),new ve(17,Int32Array.from([6,30,54,78]),new X(28,new v(1,107),new v(5,108)),new X(28,new v(10,46),new v(1,47)),new X(28,new v(1,22),new v(15,23)),new X(28,new v(2,14),new v(17,15))),new ve(18,Int32Array.from([6,30,56,82]),new X(30,new v(5,120),new v(1,121)),new X(26,new v(9,43),new v(4,44)),new X(28,new v(17,22),new v(1,23)),new X(28,new v(2,14),new v(19,15))),new ve(19,Int32Array.from([6,30,58,86]),new X(28,new v(3,113),new v(4,114)),new X(26,new v(3,44),new v(11,45)),new X(26,new v(17,21),new v(4,22)),new X(26,new v(9,13),new v(16,14))),new ve(20,Int32Array.from([6,34,62,90]),new X(28,new v(3,107),new v(5,108)),new X(26,new v(3,41),new v(13,42)),new X(30,new v(15,24),new v(5,25)),new X(28,new v(15,15),new v(10,16))),new ve(21,Int32Array.from([6,28,50,72,94]),new X(28,new v(4,116),new v(4,117)),new X(26,new v(17,42)),new X(28,new v(17,22),new v(6,23)),new X(30,new v(19,16),new v(6,17))),new ve(22,Int32Array.from([6,26,50,74,98]),new X(28,new v(2,111),new v(7,112)),new X(28,new v(17,46)),new X(30,new v(7,24),new v(16,25)),new X(24,new v(34,13))),new ve(23,Int32Array.from([6,30,54,78,102]),new X(30,new v(4,121),new v(5,122)),new X(28,new v(4,47),new v(14,48)),new X(30,new v(11,24),new v(14,25)),new X(30,new v(16,15),new v(14,16))),new ve(24,Int32Array.from([6,28,54,80,106]),new X(30,new v(6,117),new v(4,118)),new X(28,new v(6,45),new v(14,46)),new X(30,new v(11,24),new v(16,25)),new X(30,new v(30,16),new v(2,17))),new ve(25,Int32Array.from([6,32,58,84,110]),new X(26,new v(8,106),new v(4,107)),new X(28,new v(8,47),new v(13,48)),new X(30,new v(7,24),new v(22,25)),new X(30,new v(22,15),new v(13,16))),new ve(26,Int32Array.from([6,30,58,86,114]),new X(28,new v(10,114),new v(2,115)),new X(28,new v(19,46),new v(4,47)),new X(28,new v(28,22),new v(6,23)),new X(30,new v(33,16),new v(4,17))),new ve(27,Int32Array.from([6,34,62,90,118]),new X(30,new v(8,122),new v(4,123)),new X(28,new v(22,45),new v(3,46)),new X(30,new v(8,23),new v(26,24)),new X(30,new v(12,15),new v(28,16))),new ve(28,Int32Array.from([6,26,50,74,98,122]),new X(30,new v(3,117),new v(10,118)),new X(28,new v(3,45),new v(23,46)),new X(30,new v(4,24),new v(31,25)),new X(30,new v(11,15),new v(31,16))),new ve(29,Int32Array.from([6,30,54,78,102,126]),new X(30,new v(7,116),new v(7,117)),new X(28,new v(21,45),new v(7,46)),new X(30,new v(1,23),new v(37,24)),new X(30,new v(19,15),new v(26,16))),new ve(30,Int32Array.from([6,26,52,78,104,130]),new X(30,new v(5,115),new v(10,116)),new X(28,new v(19,47),new v(10,48)),new X(30,new v(15,24),new v(25,25)),new X(30,new v(23,15),new v(25,16))),new ve(31,Int32Array.from([6,30,56,82,108,134]),new X(30,new v(13,115),new v(3,116)),new X(28,new v(2,46),new v(29,47)),new X(30,new v(42,24),new v(1,25)),new X(30,new v(23,15),new v(28,16))),new ve(32,Int32Array.from([6,34,60,86,112,138]),new X(30,new v(17,115)),new X(28,new v(10,46),new v(23,47)),new X(30,new v(10,24),new v(35,25)),new X(30,new v(19,15),new v(35,16))),new ve(33,Int32Array.from([6,30,58,86,114,142]),new X(30,new v(17,115),new v(1,116)),new X(28,new v(14,46),new v(21,47)),new X(30,new v(29,24),new v(19,25)),new X(30,new v(11,15),new v(46,16))),new ve(34,Int32Array.from([6,34,62,90,118,146]),new X(30,new v(13,115),new v(6,116)),new X(28,new v(14,46),new v(23,47)),new X(30,new v(44,24),new v(7,25)),new X(30,new v(59,16),new v(1,17))),new ve(35,Int32Array.from([6,30,54,78,102,126,150]),new X(30,new v(12,121),new v(7,122)),new X(28,new v(12,47),new v(26,48)),new X(30,new v(39,24),new v(14,25)),new X(30,new v(22,15),new v(41,16))),new ve(36,Int32Array.from([6,24,50,76,102,128,154]),new X(30,new v(6,121),new v(14,122)),new X(28,new v(6,47),new v(34,48)),new X(30,new v(46,24),new v(10,25)),new X(30,new v(2,15),new v(64,16))),new ve(37,Int32Array.from([6,28,54,80,106,132,158]),new X(30,new v(17,122),new v(4,123)),new X(28,new v(29,46),new v(14,47)),new X(30,new v(49,24),new v(10,25)),new X(30,new v(24,15),new v(46,16))),new ve(38,Int32Array.from([6,32,58,84,110,136,162]),new X(30,new v(4,122),new v(18,123)),new X(28,new v(13,46),new v(32,47)),new X(30,new v(48,24),new v(14,25)),new X(30,new v(42,15),new v(32,16))),new ve(39,Int32Array.from([6,26,54,82,110,138,166]),new X(30,new v(20,117),new v(4,118)),new X(28,new v(40,47),new v(7,48)),new X(30,new v(43,24),new v(22,25)),new X(30,new v(10,15),new v(67,16))),new ve(40,Int32Array.from([6,30,58,86,114,142,170]),new X(30,new v(19,118),new v(6,119)),new X(28,new v(18,47),new v(31,48)),new X(30,new v(34,24),new v(34,25)),new X(30,new v(20,15),new v(61,16)))];var jt;(function(E){E[E.DATA_MASK_000=0]="DATA_MASK_000",E[E.DATA_MASK_001=1]="DATA_MASK_001",E[E.DATA_MASK_010=2]="DATA_MASK_010",E[E.DATA_MASK_011=3]="DATA_MASK_011",E[E.DATA_MASK_100=4]="DATA_MASK_100",E[E.DATA_MASK_101=5]="DATA_MASK_101",E[E.DATA_MASK_110=6]="DATA_MASK_110",E[E.DATA_MASK_111=7]="DATA_MASK_111"})(jt||(jt={}));class vn{constructor(e,n){this.value=e,this.isMasked=n}unmaskBitMatrix(e,n){for(let s=0;s(E+e&1)===0)],[jt.DATA_MASK_001,new vn(jt.DATA_MASK_001,(E,e)=>(E&1)===0)],[jt.DATA_MASK_010,new vn(jt.DATA_MASK_010,(E,e)=>e%3===0)],[jt.DATA_MASK_011,new vn(jt.DATA_MASK_011,(E,e)=>(E+e)%3===0)],[jt.DATA_MASK_100,new vn(jt.DATA_MASK_100,(E,e)=>(Math.floor(E/2)+Math.floor(e/3)&1)===0)],[jt.DATA_MASK_101,new vn(jt.DATA_MASK_101,(E,e)=>E*e%6===0)],[jt.DATA_MASK_110,new vn(jt.DATA_MASK_110,(E,e)=>E*e%6<3)],[jt.DATA_MASK_111,new vn(jt.DATA_MASK_111,(E,e)=>(E+e+E*e%3&1)===0)]]);class B1{constructor(e){const n=e.getHeight();if(n<21||(n&3)!==1)throw new k;this.bitMatrix=e}readFormatInformation(){if(this.parsedFormatInfo!==null&&this.parsedFormatInfo!==void 0)return this.parsedFormatInfo;let e=0;for(let a=0;a<6;a++)e=this.copyBit(a,8,e);e=this.copyBit(7,8,e),e=this.copyBit(8,8,e),e=this.copyBit(8,7,e);for(let a=5;a>=0;a--)e=this.copyBit(8,a,e);const n=this.bitMatrix.getHeight();let s=0;const i=n-7;for(let a=n-1;a>=i;a--)s=this.copyBit(8,a,s);for(let a=n-8;a=0;c--)for(let d=e-9;d>=i;d--)s=this.copyBit(d,c,s);let a=ve.decodeVersionInformation(s);if(a!==null&&a.getDimensionForVersion()===e)return this.parsedVersion=a,a;s=0;for(let c=5;c>=0;c--)for(let d=e-9;d>=i;d--)s=this.copyBit(c,d,s);if(a=ve.decodeVersionInformation(s),a!==null&&a.getDimensionForVersion()===e)return this.parsedVersion=a,a;throw new k}copyBit(e,n,s){return(this.isMirror?this.bitMatrix.get(n,e):this.bitMatrix.get(e,n))?s<<1|1:s<<1}readCodewords(){const e=this.readFormatInformation(),n=this.readVersion(),s=vn.values.get(e.getDataMask()),i=this.bitMatrix.getHeight();s.unmaskBitMatrix(this.bitMatrix,i);const a=n.buildFunctionPattern();let c=!0;const d=new Uint8Array(n.getTotalCodewords());let h=0,m=0,y=0;for(let b=i-1;b>0;b-=2){b===6&&b--;for(let _=0;_=0&&d[y].codewords.length!==m;)y--;y++;const b=m-i.getECCodewordsPerBlock();let _=0;for(let P=0;Pe.available())throw new k;const i=new Uint8Array(2*s);let a=0;for(;s>0;){const c=e.readBits(13);let d=c/96<<8&4294967295|c%96;d<959?d+=41377:d+=42657,i[a]=d>>8&255,i[a+1]=d&255,a+=2,s--}try{n.append(ke.decode(i,de.GB2312))}catch(c){throw new k(c)}}static decodeKanjiSegment(e,n,s){if(s*13>e.available())throw new k;const i=new Uint8Array(2*s);let a=0;for(;s>0;){const c=e.readBits(13);let d=c/192<<8&4294967295|c%192;d<7936?d+=33088:d+=49472,i[a]=d>>8,i[a+1]=d,a+=2,s--}try{n.append(ke.decode(i,de.SHIFT_JIS))}catch(c){throw new k(c)}}static decodeByteSegment(e,n,s,i,a,c){if(8*s>e.available())throw new k;const d=new Uint8Array(s);for(let m=0;m=Nt.ALPHANUMERIC_CHARS.length)throw new k;return Nt.ALPHANUMERIC_CHARS[e]}static decodeAlphanumericSegment(e,n,s,i){const a=n.length();for(;s>1;){if(e.available()<11)throw new k;const c=e.readBits(11);n.append(Nt.toAlphaNumericChar(Math.floor(c/45))),n.append(Nt.toAlphaNumericChar(c%45)),s-=2}if(s===1){if(e.available()<6)throw new k;n.append(Nt.toAlphaNumericChar(e.readBits(6)))}if(i)for(let c=a;c=3;){if(e.available()<10)throw new k;const i=e.readBits(10);if(i>=1e3)throw new k;n.append(Nt.toAlphaNumericChar(Math.floor(i/100))),n.append(Nt.toAlphaNumericChar(Math.floor(i/10)%10)),n.append(Nt.toAlphaNumericChar(i%10)),s-=3}if(s===2){if(e.available()<7)throw new k;const i=e.readBits(7);if(i>=100)throw new k;n.append(Nt.toAlphaNumericChar(Math.floor(i/10))),n.append(Nt.toAlphaNumericChar(i%10))}else if(s===1){if(e.available()<4)throw new k;const i=e.readBits(4);if(i>=10)throw new k;n.append(Nt.toAlphaNumericChar(i))}}static parseECIValue(e){const n=e.readBits(8);if((n&128)===0)return n&127;if((n&192)===128){const s=e.readBits(8);return(n&63)<<8&4294967295|s}if((n&224)===192){const s=e.readBits(16);return(n&31)<<16&4294967295|s}throw new k}}Nt.ALPHANUMERIC_CHARS="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:",Nt.GB2312_SUBSET=1;class gc{constructor(e){this.mirrored=e}isMirrored(){return this.mirrored}applyMirroredCorrection(e){if(!this.mirrored||e===null||e.length<3)return;const n=e[0];e[0]=e[2],e[2]=n}}class U1{constructor(){this.rsDecoder=new ie(R.QR_CODE_FIELD_256)}decodeBooleanArray(e,n){return this.decodeBitMatrix(Ke.parseFromBooleanArray(e),n)}decodeBitMatrix(e,n){const s=new B1(e);let i=null;try{return this.decodeBitMatrixParser(s,n)}catch(a){i=a}try{s.remask(),s.setMirror(!0),s.readVersion(),s.readFormatInformation(),s.mirror();const a=this.decodeBitMatrixParser(s,n);return a.setOther(new gc(!0)),a}catch(a){throw i!==null?i:a}}decodeBitMatrixParser(e,n){const s=e.readVersion(),i=e.readFormatInformation().getErrorCorrectionLevel(),a=e.readCodewords(),c=Ni.getDataBlocks(a,s,i);let d=0;for(const y of c)d+=y.getNumDataCodewords();const h=new Uint8Array(d);let m=0;for(const y of c){const b=y.getCodewords(),_=y.getNumDataCodewords();this.correctErrors(b,_);for(let N=0;N<_;N++)h[m++]=b[N]}return Nt.decode(h,s,i,n)}correctErrors(e,n){const s=new Int32Array(e);try{this.rsDecoder.decode(s,e.length-n)}catch{throw new O}for(let i=0;i=s)return!1;return!0}crossCheckVertical(e,n,s,i){const a=this.image,c=a.getHeight(),d=this.crossCheckStateCount;d[0]=0,d[1]=0,d[2]=0;let h=e;for(;h>=0&&a.get(n,h)&&d[1]<=s;)d[1]++,h--;if(h<0||d[1]>s)return NaN;for(;h>=0&&!a.get(n,h)&&d[0]<=s;)d[0]++,h--;if(d[0]>s)return NaN;for(h=e+1;hs)return NaN;for(;hs)return NaN;const m=d[0]+d[1]+d[2];return 5*Math.abs(m-i)>=2*i?NaN:this.foundPatternCross(d)?So.centerFromEnd(d,h):NaN}handlePossibleCenter(e,n,s){const i=e[0]+e[1]+e[2],a=So.centerFromEnd(e,s),c=this.crossCheckVertical(n,a,2*e[1],i);if(!isNaN(c)){const d=(e[0]+e[1]+e[2])/3;for(const m of this.possibleCenters)if(m.aboutEquals(d,c,a))return m.combineEstimate(c,a,d);const h=new Ri(a,c,d);this.possibleCenters.push(h),this.resultPointCallback!==null&&this.resultPointCallback!==void 0&&this.resultPointCallback.foundPossibleResultPoint(h)}return null}}class Oi extends M{constructor(e,n,s,i){super(e,n),this.estimatedModuleSize=s,this.count=i,i===void 0&&(this.count=1)}getEstimatedModuleSize(){return this.estimatedModuleSize}getCount(){return this.count}aboutEquals(e,n,s){if(Math.abs(n-this.getY())<=e&&Math.abs(s-this.getX())<=e){const i=Math.abs(e-this.estimatedModuleSize);return i<=1||i<=this.estimatedModuleSize}return!1}combineEstimate(e,n,s){const i=this.count+1,a=(this.count*this.getX()+n)/i,c=(this.count*this.getY()+e)/i,d=(this.count*this.estimatedModuleSize+s)/i;return new Oi(a,c,d,i)}}class W1{constructor(e){this.bottomLeft=e[0],this.topLeft=e[1],this.topRight=e[2]}getBottomLeft(){return this.bottomLeft}getTopLeft(){return this.topLeft}getTopRight(){return this.topRight}}class Xt{constructor(e,n){this.image=e,this.resultPointCallback=n,this.possibleCenters=[],this.crossCheckStateCount=new Int32Array(5),this.resultPointCallback=n}getImage(){return this.image}getPossibleCenters(){return this.possibleCenters}find(e){const n=e!=null&&e.get(se.TRY_HARDER)!==void 0,s=e!=null&&e.get(se.PURE_BARCODE)!==void 0,i=this.image,a=i.getHeight(),c=i.getWidth();let d=Math.floor(3*a/(4*Xt.MAX_MODULES));(dm[2]&&(b+=$-m[2]-d,N=c-1)}else{m[0]=m[2],m[1]=m[3],m[2]=m[4],m[3]=1,m[4]=0,_=3;continue}_=0,m[0]=0,m[1]=0,m[2]=0,m[3]=0,m[4]=0}else m[0]=m[2],m[1]=m[3],m[2]=m[4],m[3]=1,m[4]=0,_=3;else m[++_]++;else m[_]++;Xt.foundPatternCross(m)&&this.handlePossibleCenter(m,b,c,s)===!0&&(d=m[0],this.hasSkipped&&(h=this.haveMultiplyConfirmedCenters()))}const y=this.selectBestPatterns();return M.orderBestPatterns(y),new W1(y)}static centerFromEnd(e,n){return n-e[4]-e[3]-e[2]/2}static foundPatternCross(e){let n=0;for(let a=0;a<5;a++){const c=e[a];if(c===0)return!1;n+=c}if(n<7)return!1;const s=n/7,i=s/2;return Math.abs(s-e[0])=c&&n>=c&&d.get(n-c,e-c);)a[2]++,c++;if(e=c&&n>=c&&!d.get(n-c,e-c)&&a[1]<=s;)a[1]++,c++;if(es)return!1;for(;e>=c&&n>=c&&d.get(n-c,e-c)&&a[0]<=s;)a[0]++,c++;if(a[0]>s)return!1;const h=d.getHeight(),m=d.getWidth();for(c=1;e+c=h||n+c>=m)return!1;for(;e+c=h||n+c>=m||a[3]>=s)return!1;for(;e+c=s)return!1;const y=a[0]+a[1]+a[2]+a[3]+a[4];return Math.abs(y-i)<2*i&&Xt.foundPatternCross(a)}crossCheckVertical(e,n,s,i){const a=this.image,c=a.getHeight(),d=this.getCrossCheckStateCount();let h=e;for(;h>=0&&a.get(n,h);)d[2]++,h--;if(h<0)return NaN;for(;h>=0&&!a.get(n,h)&&d[1]<=s;)d[1]++,h--;if(h<0||d[1]>s)return NaN;for(;h>=0&&a.get(n,h)&&d[0]<=s;)d[0]++,h--;if(d[0]>s)return NaN;for(h=e+1;h=s)return NaN;for(;h=s)return NaN;const m=d[0]+d[1]+d[2]+d[3]+d[4];return 5*Math.abs(m-i)>=2*i?NaN:Xt.foundPatternCross(d)?Xt.centerFromEnd(d,h):NaN}crossCheckHorizontal(e,n,s,i){const a=this.image,c=a.getWidth(),d=this.getCrossCheckStateCount();let h=e;for(;h>=0&&a.get(h,n);)d[2]++,h--;if(h<0)return NaN;for(;h>=0&&!a.get(h,n)&&d[1]<=s;)d[1]++,h--;if(h<0||d[1]>s)return NaN;for(;h>=0&&a.get(h,n)&&d[0]<=s;)d[0]++,h--;if(d[0]>s)return NaN;for(h=e+1;h=s)return NaN;for(;h=s)return NaN;const m=d[0]+d[1]+d[2]+d[3]+d[4];return 5*Math.abs(m-i)>=i?NaN:Xt.foundPatternCross(d)?Xt.centerFromEnd(d,h):NaN}handlePossibleCenter(e,n,s,i){const a=e[0]+e[1]+e[2]+e[3]+e[4];let c=Xt.centerFromEnd(e,s),d=this.crossCheckVertical(n,Math.floor(c),e[2],a);if(!isNaN(d)&&(c=this.crossCheckHorizontal(Math.floor(c),Math.floor(d),e[2],a),!isNaN(c)&&(!i||this.crossCheckDiagonal(Math.floor(d),Math.floor(c),e[2],a)))){const h=a/7;let m=!1;const y=this.possibleCenters;for(let b=0,_=y.length;b<_;b++){const N=y[b];if(N.aboutEquals(h,d,c)){y[b]=N.combineEstimate(d,c,h),m=!0;break}}if(!m){const b=new Oi(c,d,h);y.push(b),this.resultPointCallback!==null&&this.resultPointCallback!==void 0&&this.resultPointCallback.foundPossibleResultPoint(b)}return!0}return!1}findRowSkip(){if(this.possibleCenters.length<=1)return 0;let n=null;for(const s of this.possibleCenters)if(s.getCount()>=Xt.CENTER_QUORUM)if(n==null)n=s;else return this.hasSkipped=!0,Math.floor((Math.abs(n.getX()-s.getX())-Math.abs(n.getY()-s.getY()))/2);return 0}haveMultiplyConfirmedCenters(){let e=0,n=0;const s=this.possibleCenters.length;for(const c of this.possibleCenters)c.getCount()>=Xt.CENTER_QUORUM&&(e++,n+=c.getEstimatedModuleSize());if(e<3)return!1;const i=n/s;let a=0;for(const c of this.possibleCenters)a+=Math.abs(c.getEstimatedModuleSize()-i);return a<=.05*n}selectBestPatterns(){const e=this.possibleCenters.length;if(e<3)throw new Z;const n=this.possibleCenters;let s;if(e>3){let i=0,a=0;for(const h of this.possibleCenters){const m=h.getEstimatedModuleSize();i+=m,a+=m*m}s=i/e;let c=Math.sqrt(a/e-s*s);n.sort((h,m)=>{const y=Math.abs(m.getEstimatedModuleSize()-s),b=Math.abs(h.getEstimatedModuleSize()-s);return yb?1:0});const d=Math.max(.2*s,c);for(let h=0;h3;h++){const m=n[h];Math.abs(m.getEstimatedModuleSize()-s)>d&&(n.splice(h,1),h--)}}if(n.length>3){let i=0;for(const a of n)i+=a.getEstimatedModuleSize();s=i/n.length,n.sort((a,c)=>{if(c.getCount()===a.getCount()){const d=Math.abs(c.getEstimatedModuleSize()-s),h=Math.abs(a.getEstimatedModuleSize()-s);return dh?-1:0}else return c.getCount()-a.getCount()}),n.splice(3)}return[n[0],n[1],n[2]]}}Xt.CENTER_QUORUM=2,Xt.MIN_SKIP=3,Xt.MAX_MODULES=57;class ks{constructor(e){this.image=e}getImage(){return this.image}getResultPointCallback(){return this.resultPointCallback}detect(e){this.resultPointCallback=e==null?null:e.get(se.NEED_RESULT_POINT_CALLBACK);const s=new Xt(this.image,this.resultPointCallback).find(e);return this.processFinderPatternInfo(s)}processFinderPatternInfo(e){const n=e.getTopLeft(),s=e.getTopRight(),i=e.getBottomLeft(),a=this.calculateModuleSize(n,s,i);if(a<1)throw new Z("No pattern found in proccess finder.");const c=ks.computeDimension(n,s,i,a),d=ve.getProvisionalVersionForDimension(c),h=d.getDimensionForVersion()-7;let m=null;if(d.getAlignmentPatternCenters().length>0){const N=s.getX()-n.getX()+i.getX(),P=s.getY()-n.getY()+i.getY(),$=1-3/h,j=Math.floor(n.getX()+$*(N-n.getX())),Q=Math.floor(n.getY()+$*(P-n.getY()));for(let fe=4;fe<=16;fe<<=1)try{m=this.findAlignmentInRegion(a,j,Q,fe);break}catch(ge){if(!(ge instanceof Z))throw ge}}const y=ks.createTransform(n,s,i,m,c),b=ks.sampleGrid(this.image,y,c);let _;return m===null?_=[i,n,s]:_=[i,n,s,m],new xe(b,_)}static createTransform(e,n,s,i,a){const c=a-3.5;let d,h,m,y;return i!==null?(d=i.getX(),h=i.getY(),m=c-3,y=m):(d=n.getX()-e.getX()+s.getX(),h=n.getY()-e.getY()+s.getY(),m=c,y=c),we.quadrilateralToQuadrilateral(3.5,3.5,c,3.5,m,y,3.5,c,e.getX(),e.getY(),n.getX(),n.getY(),d,h,s.getX(),s.getY())}static sampleGrid(e,n,s){return Me.getInstance().sampleGridWithTransform(e,s,s,n)}static computeDimension(e,n,s,i){const a=T.round(M.distance(e,n)/i),c=T.round(M.distance(e,s)/i);let d=Math.floor((a+c)/2)+7;switch(d&3){case 0:d++;break;case 2:d--;break;case 3:throw new Z("Dimensions could be not found.")}return d}calculateModuleSize(e,n,s){return(this.calculateModuleSizeOneWay(e,n)+this.calculateModuleSizeOneWay(e,s))/2}calculateModuleSizeOneWay(e,n){const s=this.sizeOfBlackWhiteBlackRunBothWays(Math.floor(e.getX()),Math.floor(e.getY()),Math.floor(n.getX()),Math.floor(n.getY())),i=this.sizeOfBlackWhiteBlackRunBothWays(Math.floor(n.getX()),Math.floor(n.getY()),Math.floor(e.getX()),Math.floor(e.getY()));return isNaN(s)?i/7:isNaN(i)?s/7:(s+i)/14}sizeOfBlackWhiteBlackRunBothWays(e,n,s,i){let a=this.sizeOfBlackWhiteBlackRun(e,n,s,i),c=1,d=e-(s-e);d<0?(c=e/(e-d),d=0):d>=this.image.getWidth()&&(c=(this.image.getWidth()-1-e)/(d-e),d=this.image.getWidth()-1);let h=Math.floor(n-(i-n)*c);return c=1,h<0?(c=n/(n-h),h=0):h>=this.image.getHeight()&&(c=(this.image.getHeight()-1-n)/(h-n),h=this.image.getHeight()-1),d=Math.floor(e+(d-e)*c),a+=this.sizeOfBlackWhiteBlackRun(e,n,d,h),a-1}sizeOfBlackWhiteBlackRun(e,n,s,i){const a=Math.abs(i-n)>Math.abs(s-e);if(a){let N=e;e=n,n=N,N=s,s=i,i=N}const c=Math.abs(s-e),d=Math.abs(i-n);let h=-c/2;const m=e0){if(P===i)break;P+=y,h-=c}}return b===2?T.distance(s+m,i,e,n):NaN}findAlignmentInRegion(e,n,s,i){const a=Math.floor(i*e),c=Math.max(0,n-a),d=Math.min(this.image.getWidth()-1,n+a);if(d-c=h||a>=c)throw new Z;if(c-a!==h-d&&(h=d+(c-a),h>=e.getWidth()))throw new Z;const m=Math.round((h-d+1)/i),y=Math.round((c-a+1)/i);if(m<=0||y<=0)throw new Z;if(y!==m)throw new Z;const b=Math.floor(i/2);a+=b,d+=b;const _=d+Math.floor((m-1)*i)-h;if(_>0){if(_>b)throw new Z;d-=_}const N=a+Math.floor((y-1)*i)-c;if(N>0){if(N>b)throw new Z;a-=N}const P=new Ke(m,y);for(let $=0;$0;){const _=Ve.findGuardPattern(e,a,--i,s,!1,c,m);if(_!=null)b=_;else{i++;break}}d[0]=new M(b[0],i),d[1]=new M(b[1],i),h=!0;break}}let y=i+1;if(h){let b=0,_=Int32Array.from([Math.trunc(d[0].getX()),Math.trunc(d[1].getX())]);for(;yVe.SKIPPED_ROW_COUNT_MAX)break;b++}}y-=b+1,d[2]=new M(_[0],y),d[3]=new M(_[1],y)}return y-i0&&m++b?y-b:b-y;if(_>s)return 1/0;h+=_}return h/a}}Ve.INDEXES_START_PATTERN=Int32Array.from([0,4,1,5]),Ve.INDEXES_STOP_PATTERN=Int32Array.from([6,2,7,3]),Ve.MAX_AVG_VARIANCE=.42,Ve.MAX_INDIVIDUAL_VARIANCE=.8,Ve.START_PATTERN=Int32Array.from([8,1,1,1,1,1,1,3]),Ve.STOP_PATTERN=Int32Array.from([7,1,1,3,1,1,1,2,1]),Ve.MAX_PIXEL_DRIFT=3,Ve.MAX_PATTERN_DRIFT=5,Ve.SKIPPED_ROW_COUNT_MAX=25,Ve.ROW_STEP=5,Ve.BARCODE_MIN_HEIGHT=10;class Kt{constructor(e,n){if(n.length===0)throw new C;this.field=e;let s=n.length;if(s>1&&n[0]===0){let i=1;for(;is.length){let c=n;n=s,s=c}let i=new Int32Array(s.length),a=s.length-n.length;U.arraycopy(s,0,i,0,a);for(let c=a;c=0;n--){let s=this.getCoefficient(n);s!==0&&(s<0?(e.append(" - "),s=-s):e.length()>0&&e.append(" + "),(n===0||s!==1)&&e.append(s),n!==0&&(n===1?e.append("x"):(e.append("x^"),e.append(n))))}return e.toString()}}class H1{add(e,n){return(e+n)%this.modulus}subtract(e,n){return(this.modulus+e-n)%this.modulus}exp(e){return this.expTable[e]}log(e){if(e===0)throw new C;return this.logTable[e]}inverse(e){if(e===0)throw new D;return this.expTable[this.modulus-this.logTable[e]-1]}multiply(e,n){return e===0||n===0?0:this.expTable[(this.logTable[e]+this.logTable[n])%(this.modulus-1)]}getSize(){return this.modulus}equals(e){return e===this}}class Di extends H1{constructor(e,n){super(),this.modulus=e,this.expTable=new Int32Array(e),this.logTable=new Int32Array(e);let s=1;for(let i=0;i0;P--){let $=i.evaluateAt(this.field.exp(P));a[n-P]=$,$!==0&&(c=!0)}if(!c)return 0;let d=this.field.getOne();if(s!=null)for(const P of s){let $=this.field.exp(e.length-1-P),j=new Kt(this.field,new Int32Array([this.field.subtract(0,$),1]));d=d.multiply(j)}let h=new Kt(this.field,a),m=this.runEuclideanAlgorithm(this.field.buildMonomial(n,1),h,n),y=m[0],b=m[1],_=this.findErrorLocations(y),N=this.findErrorMagnitudes(b,y,_);for(let P=0;P<_.length;P++){let $=e.length-1-this.field.log(_[P]);if($<0)throw O.getChecksumInstance();e[$]=this.field.subtract(e[$],N[P])}return _.length}runEuclideanAlgorithm(e,n,s){if(e.getDegree()=Math.round(s/2);){let _=i,N=c;if(i=a,c=d,i.isZero())throw O.getChecksumInstance();a=_;let P=this.field.getZero(),$=i.getCoefficient(i.getDegree()),j=this.field.inverse($);for(;a.getDegree()>=i.getDegree()&&!a.isZero();){let Q=a.getDegree()-i.getDegree(),fe=this.field.multiply(a.getCoefficient(a.getDegree()),j);P=P.add(this.field.buildMonomial(Q,fe)),a=a.subtract(i.multiplyByMonomial(Q,fe))}d=P.multiply(c).subtract(N).negative()}let h=d.getCoefficient(0);if(h===0)throw O.getChecksumInstance();let m=this.field.inverse(h),y=d.multiply(m),b=a.multiply(m);return[y,b]}findErrorLocations(e){let n=e.getDegree(),s=new Int32Array(n),i=0;for(let a=1;a0){let h=s?this.topLeft:this.topRight,m=Math.trunc(h.getY()-e);m<0&&(m=0);let y=new M(h.getX(),m);s?i=y:c=y}if(n>0){let h=s?this.bottomLeft:this.bottomRight,m=Math.trunc(h.getY()+n);m>=this.image.getHeight()&&(m=this.image.getHeight()-1);let y=new M(h.getX(),m);s?a=y:d=y}return new Wr(this.image,i,a,c,d)}getMinX(){return this.minX}getMaxX(){return this.maxX}getMinY(){return this.minY}getMaxY(){return this.maxY}getTopLeft(){return this.topLeft}getTopRight(){return this.topRight}getBottomLeft(){return this.bottomLeft}getBottomRight(){return this.bottomRight}}class G1{constructor(e,n,s,i){this.columnCount=e,this.errorCorrectionLevel=i,this.rowCountUpperPart=n,this.rowCountLowerPart=s,this.rowCount=n+s}getColumnCount(){return this.columnCount}getErrorCorrectionLevel(){return this.errorCorrectionLevel}getRowCount(){return this.rowCount}getRowCountUpperPart(){return this.rowCountUpperPart}getRowCountLowerPart(){return this.rowCountLowerPart}}class Ns{constructor(){this.buffer=""}static form(e,n){let s=-1;function i(c,d,h,m,y,b){if(c==="%%")return"%";if(n[++s]===void 0)return;c=m?parseInt(m.substr(1)):void 0;let _=y?parseInt(y.substr(1)):void 0,N;switch(b){case"s":N=n[s];break;case"c":N=n[s][0];break;case"f":N=parseFloat(n[s]).toFixed(c);break;case"p":N=parseFloat(n[s]).toPrecision(c);break;case"e":N=parseFloat(n[s]).toExponential(c);break;case"x":N=parseInt(n[s]).toString(_||16);break;case"d":N=parseFloat(parseInt(n[s],_||10).toPrecision(c)).toFixed(0);break}N=typeof N=="object"?JSON.stringify(N):(+N).toString(_);let P=parseInt(h),$=h&&h[0]+""=="0"?"0":" ";for(;N.length=0&&(n=this.codewords[i],n!=null)||(i=this.imageRowToCodewordIndex(e)+s,is,getValue:()=>i};a.getValue()>e?(e=a.getValue(),n=[],n.push(a.getKey())):a.getValue()===e&&n.push(a.getKey())}return Pe.toIntArray(n)}getConfidence(e){return this.values.get(e)}}class pc extends Rs{constructor(e,n){super(e),this._isLeft=n}setRowNumbers(){for(let e of this.getCodewords())e!=null&&e.setRowNumberAsRowIndicatorColumn()}adjustCompleteIndicatorColumnRowNumbers(e){let n=this.getCodewords();this.setRowNumbers(),this.removeIncorrectCodewords(n,e);let s=this.getBoundingBox(),i=this._isLeft?s.getTopLeft():s.getTopRight(),a=this._isLeft?s.getBottomLeft():s.getBottomRight(),c=this.imageRowToCodewordIndex(Math.trunc(i.getY())),d=this.imageRowToCodewordIndex(Math.trunc(a.getY())),h=-1,m=1,y=0;for(let b=c;b=e.getRowCount()||N>b)n[b]=null;else{let P;m>2?P=(m-2)*N:P=N;let $=P>=b;for(let j=1;j<=P&&!$;j++)$=n[b-j]!=null;$?n[b]=null:(h=_.getRowNumber(),y=1)}}}getRowHeights(){let e=this.getBarcodeMetadata();if(e==null)return null;this.adjustIncompleteIndicatorColumnRowNumbers(e);let n=new Int32Array(e.getRowCount());for(let s of this.getCodewords())if(s!=null){let i=s.getRowNumber();if(i>=n.length)continue;n[i]++}return n}adjustIncompleteIndicatorColumnRowNumbers(e){let n=this.getBoundingBox(),s=this._isLeft?n.getTopLeft():n.getTopRight(),i=this._isLeft?n.getBottomLeft():n.getBottomRight(),a=this.imageRowToCodewordIndex(Math.trunc(s.getY())),c=this.imageRowToCodewordIndex(Math.trunc(i.getY())),d=this.getCodewords(),h=-1;for(let m=a;m=e.getRowCount()?d[m]=null:h=y.getRowNumber())}}getBarcodeMetadata(){let e=this.getCodewords(),n=new Os,s=new Os,i=new Os,a=new Os;for(let d of e){if(d==null)continue;d.setRowNumberAsRowIndicatorColumn();let h=d.getValue()%30,m=d.getRowNumber();switch(this._isLeft||(m+=2),m%3){case 0:s.setValue(h*3+1);break;case 1:a.setValue(h/3),i.setValue(h%3);break;case 2:n.setValue(h+1);break}}if(n.getValue().length===0||s.getValue().length===0||i.getValue().length===0||a.getValue().length===0||n.getValue()[0]<1||s.getValue()[0]+i.getValue()[0]Pe.MAX_ROWS_IN_BARCODE)return null;let c=new G1(n.getValue()[0],s.getValue()[0],i.getValue()[0],a.getValue()[0]);return this.removeIncorrectCodewords(e,c),c}removeIncorrectCodewords(e,n){for(let s=0;sn.getRowCount()){e[s]=null;continue}switch(this._isLeft||(c+=2),c%3){case 0:a*3+1!==n.getRowCountUpperPart()&&(e[s]=null);break;case 1:(Math.trunc(a/3)!==n.getErrorCorrectionLevel()||a%3!==n.getRowCountLowerPart())&&(e[s]=null);break;case 2:a+1!==n.getColumnCount()&&(e[s]=null);break}}}isLeft(){return this._isLeft}toString(){return"IsLeft: "+this._isLeft+` +`+super.toString()}}class Ds{constructor(e,n){this.ADJUST_ROW_NUMBER_SKIP=2,this.barcodeMetadata=e,this.barcodeColumnCount=e.getColumnCount(),this.boundingBox=n,this.detectionResultColumns=new Array(this.barcodeColumnCount+2)}getDetectionResultColumns(){this.adjustIndicatorColumnRowNumbers(this.detectionResultColumns[0]),this.adjustIndicatorColumnRowNumbers(this.detectionResultColumns[this.barcodeColumnCount+1]);let e=Pe.MAX_CODEWORDS_IN_BARCODE,n;do n=e,e=this.adjustRowNumbersAndGetCount();while(e>0&&e0&&a0&&(d[0]=s[n-1],d[4]=a[n-1],d[5]=c[n-1]),n>1&&(d[8]=s[n-2],d[10]=a[n-2],d[11]=c[n-2]),n>=1;s=n&1,hn.RATIOS_TABLE[e]||(hn.RATIOS_TABLE[e]=new Array(Pe.BARS_IN_MODULE)),hn.RATIOS_TABLE[e][Pe.BARS_IN_MODULE-i-1]=Math.fround(a/Pe.MODULES_IN_CODEWORD)}}this.bSymbolTableReady=!0}static getDecodedValue(e){let n=hn.getDecodedCodewordValue(hn.sampleBitCounts(e));return n!==-1?n:hn.getClosestDecodedValue(e)}static sampleBitCounts(e){let n=T.sum(e),s=new Int32Array(Pe.BARS_IN_MODULE),i=0,a=0;for(let c=0;c1)for(let c=0;c=i)break}dnew Array(Pe.BARS_IN_MODULE));class xc{constructor(){this.segmentCount=-1,this.fileSize=-1,this.timestamp=-1,this.checksum=-1}getSegmentIndex(){return this.segmentIndex}setSegmentIndex(e){this.segmentIndex=e}getFileId(){return this.fileId}setFileId(e){this.fileId=e}getOptionalData(){return this.optionalData}setOptionalData(e){this.optionalData=e}isLastSegment(){return this.lastSegment}setLastSegment(e){this.lastSegment=e}getSegmentCount(){return this.segmentCount}setSegmentCount(e){this.segmentCount=e}getSender(){return this.sender||null}setSender(e){this.sender=e}getAddressee(){return this.addressee||null}setAddressee(e){this.addressee=e}getFileName(){return this.fileName}setFileName(e){this.fileName=e}getFileSize(){return this.fileSize}setFileSize(e){this.fileSize=e}getChecksum(){return this.checksum}setChecksum(e){this.checksum=e}getTimestamp(){return this.timestamp}setTimestamp(e){this.timestamp=e}}class wc{static parseLong(e,n=void 0){return parseInt(e,n)}}class yc extends x{}yc.kind="NullPointerException";class j1{writeBytes(e){this.writeBytesOffset(e,0,e.length)}writeBytesOffset(e,n,s){if(e==null)throw new yc;if(n<0||n>e.length||s<0||n+s>e.length||n+s<0)throw new te;if(s===0)return;for(let i=0;i0&&this.grow(e)}grow(e){let s=this.buf.length<<1;if(s-e<0&&(s=e),s<0){if(e<0)throw new X1;s=V.MAX_VALUE}this.buf=W.copyOfUint8Array(this.buf,s)}write(e){this.ensureCapacity(this.count+1),this.buf[this.count]=e,this.count+=1}writeBytesOffset(e,n,s){if(n<0||n>e.length||s<0||n+s-e.length>0)throw new te;this.ensureCapacity(this.count+s),U.arraycopy(e,n,this.buf,this.count,s),this.count+=s}writeTo(e){e.writeBytesOffset(this.buf,0,this.count)}reset(){this.count=0}toByteArray(){return W.copyOfUint8Array(this.buf,this.count)}size(){return this.count}toString(e){return e?typeof e=="string"?this.toString_string(e):this.toString_number(e):this.toString_void()}toString_void(){return new String(this.buf).toString()}toString_string(e){return new String(this.buf).toString()}toString_number(e){return new String(this.buf).toString()}close(){}}var ft;(function(E){E[E.ALPHA=0]="ALPHA",E[E.LOWER=1]="LOWER",E[E.MIXED=2]="MIXED",E[E.PUNCT=3]="PUNCT",E[E.ALPHA_SHIFT=4]="ALPHA_SHIFT",E[E.PUNCT_SHIFT=5]="PUNCT_SHIFT"})(ft||(ft={}));function Cc(){if(typeof window<"u")return window.BigInt||null;if(typeof Bo<"u")return Bo.BigInt||null;if(typeof self<"u")return self.BigInt||null;throw new Error("Can't search globals for BigInt!")}let To;function Ar(E){if(typeof To>"u"&&(To=Cc()),To===null)throw new Error("BigInt is not supported!");return To(E)}function K1(){let E=[];E[0]=Ar(1);let e=Ar(900);E[1]=e;for(let n=2;n<16;n++)E[n]=E[n-1]*e;return E}class q{static decode(e,n){let s=new Se(""),i=K.ISO8859_1;s.enableDecoding(i);let a=1,c=e[a++],d=new xc;for(;ae[0])throw k.getFormatInstance();let i=new Int32Array(q.NUMBER_OF_SEQUENCE_CODEWORDS);for(let d=0;d0){for(let _=0;_<6;++_)c.write(Number(Ar(h)>>Ar(8*(5-_))));h=0,d=0}break}i===n[0]&&b0){for(let N=0;N<6;++N)c.write(Number(Ar(h)>>Ar(8*(5-N))));h=0,d=0}}break}return a.append(ke.decode(c.toByteArray(),s)),i}static numericCompaction(e,n,s){let i=0,a=!1,c=new Int32Array(q.MAX_NUMERIC_CODEWORDS);for(;n0&&(s.append(q.decodeBase900toBase10(c,i)),i=0)}return n}static decodeBase900toBase10(e,n){let s=Ar(0);for(let a=0;a@[\\]_\`~!\r ,: +-.$/"|*()?{}'`,q.MIXED_CHARS="0123456789&\r ,:#-.$/+%*=^",q.EXP900=Cc()?K1():[],q.NUMBER_OF_SEQUENCE_CODEWORDS=2;class He{constructor(){}static decode(e,n,s,i,a,c,d){let h=new Wr(e,n,s,i,a),m=null,y=null,b;for(let P=!0;;P=!1){if(n!=null&&(m=He.getRowIndicatorColumn(e,h,n,!0,c,d)),i!=null&&(y=He.getRowIndicatorColumn(e,h,i,!1,c,d)),b=He.merge(m,y),b==null)throw Z.getNotFoundInstance();let $=b.getBoundingBox();if(P&&$!=null&&($.getMinY()h.getMaxY()))h=$;else break}b.setBoundingBox(h);let _=b.getBarcodeColumnCount()+1;b.setDetectionResultColumn(0,m),b.setDetectionResultColumn(_,y);let N=m!=null;for(let P=1;P<=_;P++){let $=N?P:_-P;if(b.getDetectionResultColumn($)!==void 0)continue;let j;$===0||$===_?j=new pc(h,$===0):j=new Rs(h),b.setDetectionResultColumn($,j);let Q=-1,fe=Q;for(let ge=h.getMinY();ge<=h.getMaxY();ge++){if(Q=He.getStartColumn(b,$,ge,N),Q<0||Q>h.getMaxX()){if(fe===-1)continue;Q=fe}let ue=He.detectCodeword(e,h.getMinX(),h.getMaxX(),N,Q,ge,c,d);ue!=null&&(j.setCodeword(ge,ue),fe=Q,c=Math.min(c,ue.getWidth()),d=Math.max(d,ue.getWidth()))}}return He.createDecoderResult(b)}static merge(e,n){if(e==null&&n==null)return null;let s=He.getBarcodeMetadata(e,n);if(s==null)return null;let i=Wr.merge(He.adjustBoundingBox(e),He.adjustBoundingBox(n));return new Ds(s,i)}static adjustBoundingBox(e){if(e==null)return null;let n=e.getRowHeights();if(n==null)return null;let s=He.getMax(n),i=0;for(let d of n)if(i+=s-d,d>0)break;let a=e.getCodewords();for(let d=0;i>0&&a[d]==null;d++)i--;let c=0;for(let d=n.length-1;d>=0&&(c+=s-n[d],!(n[d]>0));d--);for(let d=a.length-1;c>0&&a[d]==null;d--)c--;return e.getBoundingBox().addMissingRows(i,c,e.isLeft())}static getMax(e){let n=-1;for(let s of e)n=Math.max(n,s);return n}static getBarcodeMetadata(e,n){let s;if(e==null||(s=e.getBarcodeMetadata())==null)return n==null?null:n.getBarcodeMetadata();let i;return n==null||(i=n.getBarcodeMetadata())==null?s:s.getColumnCount()!==i.getColumnCount()&&s.getErrorCorrectionLevel()!==i.getErrorCorrectionLevel()&&s.getRowCount()!==i.getRowCount()?null:s}static getRowIndicatorColumn(e,n,s,i,a,c){let d=new pc(n,i);for(let h=0;h<2;h++){let m=h===0?1:-1,y=Math.trunc(Math.trunc(s.getX()));for(let b=Math.trunc(Math.trunc(s.getY()));b<=n.getMaxY()&&b>=n.getMinY();b+=m){let _=He.detectCodeword(e,0,e.getWidth(),i,y,b,a,c);_!=null&&(d.setCodeword(b,_),i?y=_.getStartX():y=_.getEndX())}}return d}static adjustCodewordCount(e,n){let s=n[0][1],i=s.getValue(),a=e.getBarcodeColumnCount()*e.getBarcodeRowCount()-He.getNumberOfECCodeWords(e.getBarcodeECLevel());if(i.length===0){if(a<1||a>Pe.MAX_CODEWORDS_IN_BARCODE)throw Z.getNotFoundInstance();s.setValue(a)}else i[0]!==a&&s.setValue(a)}static createDecoderResult(e){let n=He.createBarcodeMatrix(e);He.adjustCodewordCount(e,n);let s=new Array,i=new Int32Array(e.getBarcodeRowCount()*e.getBarcodeColumnCount()),a=[],c=new Array;for(let h=0;h0;){for(let h=0;hnew Array(e.getBarcodeColumnCount()+2));for(let i=0;i=0){if(c>=n.length)continue;n[c][s].setValue(a.getValue())}}}s++}return n}static isValidBarcodeColumn(e,n){return n>=0&&n<=e.getBarcodeColumnCount()+1}static getStartColumn(e,n,s,i){let a=i?1:-1,c=null;if(He.isValidBarcodeColumn(e,n-a)&&(c=e.getDetectionResultColumn(n-a).getCodeword(s)),c!=null)return i?c.getEndX():c.getStartX();if(c=e.getDetectionResultColumn(n).getCodewordNearby(s),c!=null)return i?c.getStartX():c.getEndX();if(He.isValidBarcodeColumn(e,n-a)&&(c=e.getDetectionResultColumn(n-a).getCodewordNearby(s)),c!=null)return i?c.getEndX():c.getStartX();let d=0;for(;He.isValidBarcodeColumn(e,n-a);){n-=a;for(let h of e.getDetectionResultColumn(n).getCodewords())if(h!=null)return(i?h.getEndX():h.getStartX())+a*d*(h.getEndX()-h.getStartX());d++}return i?e.getBoundingBox().getMinX():e.getBoundingBox().getMaxX()}static detectCodeword(e,n,s,i,a,c,d,h){a=He.adjustCodewordStartColumn(e,n,s,i,a,c);let m=He.getModuleBitCount(e,n,s,i,a,c);if(m==null)return null;let y,b=T.sum(m);if(i)y=a+b;else{for(let P=0;P=n)&&m=n:dHe.CODEWORD_SKEW_SIZE)return a;d+=h}h=-h,i=!i}return d}static checkCodewordSkew(e,n,s){return n-He.CODEWORD_SKEW_SIZE<=e&&e<=s+He.CODEWORD_SKEW_SIZE}static decodeCodewords(e,n,s){if(e.length===0)throw k.getFormatInstance();let i=1<s/2+He.MAX_ERRORS||s<0||s>He.MAX_EC_CODEWORDS)throw O.getChecksumInstance();return He.errorCorrection.decode(e,s,n)}static verifyCodewordCount(e,n){if(e.length<4)throw k.getFormatInstance();let s=e[0];if(s>e.length)throw k.getFormatInstance();if(s===0)if(n>=1;return n}static getCodewordBucketNumber(e){return e instanceof Int32Array?this.getCodewordBucketNumber_Int32Array(e):this.getCodewordBucketNumber_number(e)}static getCodewordBucketNumber_number(e){return He.getCodewordBucketNumber(He.getBitCountForCodeword(e))}static getCodewordBucketNumber_Int32Array(e){return(e[0]-e[2]+e[4]-e[6]+9)%9}static toString(e){let n=new Ns;for(let s=0;sc)}static getMaxWidth(e,n){return e==null||n==null?0:Math.trunc(Math.abs(e.getX()-n.getX()))}static getMinWidth(e,n){return e==null||n==null?V.MAX_VALUE:Math.trunc(Math.abs(e.getX()-n.getX()))}static getMaxCodewordWidth(e){return Math.floor(Math.max(Math.max(zt.getMaxWidth(e[0],e[4]),zt.getMaxWidth(e[6],e[2])*Pe.MODULES_IN_CODEWORD/Pe.MODULES_IN_STOP_PATTERN),Math.max(zt.getMaxWidth(e[1],e[5]),zt.getMaxWidth(e[7],e[3])*Pe.MODULES_IN_CODEWORD/Pe.MODULES_IN_STOP_PATTERN)))}static getMinCodewordWidth(e){return Math.floor(Math.min(Math.min(zt.getMinWidth(e[0],e[4]),zt.getMinWidth(e[6],e[2])*Pe.MODULES_IN_CODEWORD/Pe.MODULES_IN_STOP_PATTERN),Math.min(zt.getMinWidth(e[1],e[5]),zt.getMinWidth(e[7],e[3])*Pe.MODULES_IN_CODEWORD/Pe.MODULES_IN_STOP_PATTERN)))}reset(){}}class vo extends x{}vo.kind="ReaderException";class Ec{constructor(e,n){this.verbose=e===!0,n&&this.setHints(n)}decode(e,n){return n&&this.setHints(n),this.decodeInternal(e)}decodeWithState(e){return(this.readers===null||this.readers===void 0)&&this.setHints(null),this.decodeInternal(e)}setHints(e){this.hints=e;const n=!l(e)&&e.get(se.TRY_HARDER)===!0,s=l(e)?null:e.get(se.POSSIBLE_FORMATS),i=new Array;if(!l(s)){const a=s.some(c=>c===Ee.UPC_A||c===Ee.UPC_E||c===Ee.EAN_13||c===Ee.EAN_8||c===Ee.CODABAR||c===Ee.CODE_39||c===Ee.CODE_93||c===Ee.CODE_128||c===Ee.ITF||c===Ee.RSS_14||c===Ee.RSS_EXPANDED);a&&!n&&i.push(new ns(e,this.verbose)),s.includes(Ee.QR_CODE)&&i.push(new Er),s.includes(Ee.DATA_MATRIX)&&i.push(new Cr),s.includes(Ee.AZTEC)&&i.push(new Yt),s.includes(Ee.PDF_417)&&i.push(new zt),a&&n&&i.push(new ns(e,this.verbose))}i.length===0&&(n||i.push(new ns(e,this.verbose)),i.push(new Er),i.push(new Cr),i.push(new Yt),i.push(new zt),n&&i.push(new ns(e,this.verbose))),this.readers=i}reset(){if(this.readers!==null)for(const e of this.readers)e.reset()}decodeInternal(e){if(this.readers===null)throw new vo("No readers where selected, nothing can be read.");for(const n of this.readers)try{return n.decode(e,this.hints)}catch(s){if(s instanceof vo)continue}throw new Z("No MultiFormat Readers were able to detect the code.")}}class z1 extends Gt{constructor(e=null,n=500){const s=new Ec;s.setHints(e),super(s,n)}decodeBitmap(e){return this.reader.decodeWithState(e)}}class q1 extends Gt{constructor(e=500){super(new zt,e)}}class Q1 extends Gt{constructor(e=500){super(new Er,e)}}var Pi;(function(E){E[E.ERROR_CORRECTION=0]="ERROR_CORRECTION",E[E.CHARACTER_SET=1]="CHARACTER_SET",E[E.DATA_MATRIX_SHAPE=2]="DATA_MATRIX_SHAPE",E[E.MIN_SIZE=3]="MIN_SIZE",E[E.MAX_SIZE=4]="MAX_SIZE",E[E.MARGIN=5]="MARGIN",E[E.PDF417_COMPACT=6]="PDF417_COMPACT",E[E.PDF417_COMPACTION=7]="PDF417_COMPACTION",E[E.PDF417_DIMENSIONS=8]="PDF417_DIMENSIONS",E[E.AZTEC_LAYERS=9]="AZTEC_LAYERS",E[E.QR_VERSION=10]="QR_VERSION"})(Pi||(Pi={}));var Wt=Pi;class Li{constructor(e){this.field=e,this.cachedGenerators=[],this.cachedGenerators.push(new Le(e,Int32Array.from([1])))}buildGenerator(e){const n=this.cachedGenerators;if(e>=n.length){let s=n[n.length-1];const i=this.field;for(let a=n.length;a<=e;a++){const c=s.multiply(new Le(i,Int32Array.from([1,i.exp(a-1+i.getGeneratorBase())])));n.push(c),s=c}}return n[e]}encode(e,n){if(n===0)throw new C("No error correction bytes");const s=e.length-n;if(s<=0)throw new C("No data bytes provided");const i=this.buildGenerator(n),a=new Int32Array(s);U.arraycopy(e,0,a,0,s);let c=new Le(this.field,a);c=c.multiplyByMonomial(n,1);const h=c.divide(i)[1].getCoefficients(),m=n-h.length;for(let y=0;y=5&&(s+=Dt.N1+(h-5)),h=1,m=b)}h>=5&&(s+=Dt.N1+(h-5))}return s}}Dt.N1=3,Dt.N2=3,Dt.N3=40,Dt.N4=10;class ko{constructor(e,n){this.width=e,this.height=n;const s=new Array(n);for(let i=0;i!==n;i++)s[i]=new Uint8Array(e);this.bytes=s}getHeight(){return this.height}getWidth(){return this.width}get(e,n){return this.bytes[n][e]}getArray(){return this.bytes}setNumber(e,n,s){this.bytes[n][e]=s}setBoolean(e,n,s){this.bytes[n][e]=s?1:0}clear(e){for(const n of this.bytes)W.fill(n,e)}equals(e){if(!(e instanceof ko))return!1;const n=e;if(this.width!==n.width||this.height!==n.height)return!1;for(let s=0,i=this.height;s> +`),e.toString()}setMode(e){this.mode=e}setECLevel(e){this.ecLevel=e}setVersion(e){this.version=e}setMaskPattern(e){this.maskPattern=e}setMatrix(e){this.matrix=e}static isValidMaskPattern(e){return e>=0&&e0;){for(c===6&&(c-=1);d>=0&&d=s;)e^=n<=0)for(let h=0;h!==c;h++){const m=i[h];m>=0&&Oe.isEmpty(n.get(m,d))&&Oe.embedPositionAdjustmentPattern(m-2,d-2,n)}}}}Oe.POSITION_DETECTION_PATTERN=Array.from([Int32Array.from([1,1,1,1,1,1,1]),Int32Array.from([1,0,0,0,0,0,1]),Int32Array.from([1,0,1,1,1,0,1]),Int32Array.from([1,0,1,1,1,0,1]),Int32Array.from([1,0,1,1,1,0,1]),Int32Array.from([1,0,0,0,0,0,1]),Int32Array.from([1,1,1,1,1,1,1])]),Oe.POSITION_ADJUSTMENT_PATTERN=Array.from([Int32Array.from([1,1,1,1,1]),Int32Array.from([1,0,0,0,1]),Int32Array.from([1,0,1,0,1]),Int32Array.from([1,0,0,0,1]),Int32Array.from([1,1,1,1,1])]),Oe.POSITION_ADJUSTMENT_PATTERN_COORDINATE_TABLE=Array.from([Int32Array.from([-1,-1,-1,-1,-1,-1,-1]),Int32Array.from([6,18,-1,-1,-1,-1,-1]),Int32Array.from([6,22,-1,-1,-1,-1,-1]),Int32Array.from([6,26,-1,-1,-1,-1,-1]),Int32Array.from([6,30,-1,-1,-1,-1,-1]),Int32Array.from([6,34,-1,-1,-1,-1,-1]),Int32Array.from([6,22,38,-1,-1,-1,-1]),Int32Array.from([6,24,42,-1,-1,-1,-1]),Int32Array.from([6,26,46,-1,-1,-1,-1]),Int32Array.from([6,28,50,-1,-1,-1,-1]),Int32Array.from([6,30,54,-1,-1,-1,-1]),Int32Array.from([6,32,58,-1,-1,-1,-1]),Int32Array.from([6,34,62,-1,-1,-1,-1]),Int32Array.from([6,26,46,66,-1,-1,-1]),Int32Array.from([6,26,48,70,-1,-1,-1]),Int32Array.from([6,26,50,74,-1,-1,-1]),Int32Array.from([6,30,54,78,-1,-1,-1]),Int32Array.from([6,30,56,82,-1,-1,-1]),Int32Array.from([6,30,58,86,-1,-1,-1]),Int32Array.from([6,34,62,90,-1,-1,-1]),Int32Array.from([6,28,50,72,94,-1,-1]),Int32Array.from([6,26,50,74,98,-1,-1]),Int32Array.from([6,30,54,78,102,-1,-1]),Int32Array.from([6,28,54,80,106,-1,-1]),Int32Array.from([6,32,58,84,110,-1,-1]),Int32Array.from([6,30,58,86,114,-1,-1]),Int32Array.from([6,34,62,90,118,-1,-1]),Int32Array.from([6,26,50,74,98,122,-1]),Int32Array.from([6,30,54,78,102,126,-1]),Int32Array.from([6,26,52,78,104,130,-1]),Int32Array.from([6,30,56,82,108,134,-1]),Int32Array.from([6,34,60,86,112,138,-1]),Int32Array.from([6,30,58,86,114,142,-1]),Int32Array.from([6,34,62,90,118,146,-1]),Int32Array.from([6,30,54,78,102,126,150]),Int32Array.from([6,24,50,76,102,128,154]),Int32Array.from([6,28,54,80,106,132,158]),Int32Array.from([6,32,58,84,110,136,162]),Int32Array.from([6,26,54,82,110,138,166]),Int32Array.from([6,30,58,86,114,142,170])]),Oe.TYPE_INFO_COORDINATES=Array.from([Int32Array.from([8,0]),Int32Array.from([8,1]),Int32Array.from([8,2]),Int32Array.from([8,3]),Int32Array.from([8,4]),Int32Array.from([8,5]),Int32Array.from([8,7]),Int32Array.from([8,8]),Int32Array.from([7,8]),Int32Array.from([5,8]),Int32Array.from([4,8]),Int32Array.from([3,8]),Int32Array.from([2,8]),Int32Array.from([1,8]),Int32Array.from([0,8])]),Oe.VERSION_INFO_POLY=7973,Oe.TYPE_INFO_POLY=1335,Oe.TYPE_INFO_MASK_PATTERN=21522;class Z1{constructor(e,n){this.dataBytes=e,this.errorCorrectionBytes=n}getDataBytes(){return this.dataBytes}getErrorCorrectionBytes(){return this.errorCorrectionBytes}}class It{constructor(){}static calculateMaskPenalty(e){return Dt.applyMaskPenaltyRule1(e)+Dt.applyMaskPenaltyRule2(e)+Dt.applyMaskPenaltyRule3(e)+Dt.applyMaskPenaltyRule4(e)}static encode(e,n,s=null){let i=It.DEFAULT_BYTE_MODE_ENCODING;const a=s!==null&&s.get(Wt.CHARACTER_SET)!==void 0;a&&(i=s.get(Wt.CHARACTER_SET).toString());const c=this.chooseMode(e,i),d=new F;if(c===Ne.BYTE&&(a||It.DEFAULT_BYTE_MODE_ENCODING!==i)){const ge=K.getCharacterSetECIByName(i);ge!==void 0&&this.appendECI(ge,d)}this.appendModeInfo(c,d);const h=new F;this.appendBytes(e,c,h,i);let m;if(s!==null&&s.get(Wt.QR_VERSION)!==void 0){const ge=Number.parseInt(s.get(Wt.QR_VERSION).toString(),10);m=ve.getVersionForNumber(ge);const ue=this.calculateBitsNeeded(c,d,h,m);if(!this.willFit(ue,m,n))throw new pt("Data too big for requested version")}else m=this.recommendVersion(n,c,d,h);const y=new F;y.appendBitArray(d);const b=c===Ne.BYTE?h.getSizeInBytes():e.length;this.appendLengthInfo(b,m,c,y),y.appendBitArray(h);const _=m.getECBlocksForLevel(n),N=m.getTotalCodewords()-_.getTotalECCodewords();this.terminateBits(N,y);const P=this.interleaveWithECBytes(y,m.getTotalCodewords(),N,_.getNumBlocks()),$=new Vr;$.setECLevel(n),$.setMode(c),$.setVersion(m);const j=m.getDimensionForVersion(),Q=new ko(j,j),fe=this.chooseMaskPattern(P,n,m,Q);return $.setMaskPattern(fe),Oe.buildMatrix(P,n,m,fe,Q),$.setMatrix(Q),$}static recommendVersion(e,n,s,i){const a=this.calculateBitsNeeded(n,s,i,ve.getVersionForNumber(1)),c=this.chooseVersion(a,e),d=this.calculateBitsNeeded(n,s,i,c);return this.chooseVersion(d,e)}static calculateBitsNeeded(e,n,s,i){return n.getSize()+e.getCharacterCountBits(i)+s.getSize()}static getAlphanumericCode(e){return e159)&&(a<224||a>235))return!1}return!0}static chooseMaskPattern(e,n,s,i){let a=Number.MAX_SAFE_INTEGER,c=-1;for(let d=0;d=h}static terminateBits(e,n){const s=e*8;if(n.getSize()>s)throw new pt("data bits cannot fit in the QR Code"+n.getSize()+" > "+s);for(let c=0;c<4&&n.getSize()0)for(let c=i;c<8;c++)n.appendBit(!1);const a=e-n.getSizeInBytes();for(let c=0;c=s)throw new pt("Block ID too large");const d=e%s,h=s-d,m=Math.floor(e/s),y=m+1,b=Math.floor(n/s),_=b+1,N=m-b,P=y-_;if(N!==P)throw new pt("EC bytes mismatch");if(s!==h+d)throw new pt("RS blocks mismatch");if(e!==(b+N)*h+(_+P)*d)throw new pt("Total bytes mismatch");i=1<=0&&n<=9}static appendNumericBytes(e,n){const s=e.length;let i=0;for(;i=33088&&h<=40956?m=h-33088:h>=57408&&h<=60351&&(m=h-49472),m===-1)throw new pt("Invalid byte sequence");const y=(m>>8)*192+(m&255);n.appendBits(y,13)}}static appendECI(e,n){n.appendBits(Ne.ECI.getBits(),4),n.appendBits(e.getValue(),8)}}It.ALPHANUMERIC_TABLE=Int32Array.from([-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,36,-1,-1,-1,37,38,-1,-1,-1,-1,39,40,-1,41,42,43,0,1,2,3,4,5,6,7,8,9,44,-1,-1,-1,-1,-1,-1,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,-1,-1,-1,-1,-1]),It.DEFAULT_BYTE_MODE_ENCODING=K.UTF8.getName();class Hr{write(e,n,s,i=null){if(e.length===0)throw new C("Found empty contents");if(n<0||s<0)throw new C("Requested dimensions are too small: "+n+"x"+s);let a=Et.L,c=Hr.QUIET_ZONE_SIZE;i!==null&&(i.get(Wt.ERROR_CORRECTION)!==void 0&&(a=Et.fromString(i.get(Wt.ERROR_CORRECTION).toString())),i.get(Wt.MARGIN)!==void 0&&(c=Number.parseInt(i.get(Wt.MARGIN).toString(),10)));const d=It.encode(e,a,i);return this.renderResult(d,n,s,c)}writeToDom(e,n,s,i,a=null){typeof e=="string"&&(e=document.querySelector(e));const c=this.write(n,s,i,a);e&&e.appendChild(c)}renderResult(e,n,s,i){const a=e.getMatrix();if(a===null)throw new ne;const c=a.getWidth(),d=a.getHeight(),h=c+i*2,m=d+i*2,y=Math.max(n,h),b=Math.max(s,m),_=Math.min(Math.floor(y/h),Math.floor(b/m)),N=Math.floor((y-c*_)/2),P=Math.floor((b-d*_)/2),$=this.createSVGElement(y,b);for(let j=0,Q=P;jn||a+d>s)throw new C("Crop rectangle does not fit within image data.");h&&this.reverseHorizontal(c,d)}getRow(e,n){if(e<0||e>=this.getHeight())throw new C("Requested row is outside the image: "+e);const s=this.getWidth();(n==null||n.length>16&255,N=b>>7&510,P=b&255;m[y]=(_+N+P)/4&255}this.luminances=m}else this.luminances=e;if(i===void 0&&(this.dataWidth=n),a===void 0&&(this.dataHeight=s),c===void 0&&(this.left=0),d===void 0&&(this.top=0),this.left+n>this.dataWidth||this.top+s>this.dataHeight)throw new C("Crop rectangle does not fit within image data.")}getRow(e,n){if(e<0||e>=this.getHeight())throw new C("Requested row is outside the image: "+e);const s=this.getWidth();(n==null||n.length"}}class $i extends os{constructor(e,n,s){super(e,0,0),this.binaryShiftStart=n,this.binaryShiftByteCount=s}appendTo(e,n){for(let s=0;s62?e.appendBits(this.binaryShiftByteCount-31,16):s===0?e.appendBits(Math.min(this.binaryShiftByteCount,31),5):e.appendBits(this.binaryShiftByteCount-31,5)),e.appendBits(n[this.binaryShiftStart+s],8)}addBinaryShift(e,n){return new $i(this,e,n)}toString(){return"<"+this.binaryShiftStart+"::"+(this.binaryShiftStart+this.binaryShiftByteCount-1)+">"}}function tf(E,e,n){return new $i(E,e,n)}function Ls(E,e,n){return new os(E,e,n)}const nf=["UPPER","LOWER","DIGIT","MIXED","PUNCT"],br=0,No=1,Nn=2,Ic=3,Yn=4,rf=new os(null,0,0),Bi=[Int32Array.from([0,(5<<16)+28,(5<<16)+30,(5<<16)+29,656318]),Int32Array.from([(9<<16)+480+14,0,(5<<16)+30,(5<<16)+29,656318]),Int32Array.from([(4<<16)+14,(9<<16)+448+28,0,(9<<16)+448+29,932798]),Int32Array.from([(5<<16)+29,(5<<16)+28,656318,0,(5<<16)+30]),Int32Array.from([(5<<16)+31,656380,656382,656381,0])];function sf(E){for(let e of E)W.fill(e,-1);return E[br][Yn]=0,E[No][Yn]=0,E[No][br]=28,E[Ic][Yn]=0,E[Nn][Yn]=0,E[Nn][br]=15,E}const Sc=sf(W.createInt32Array(6,6));class Kn{constructor(e,n,s,i){this.token=e,this.mode=n,this.binaryShiftByteCount=s,this.bitCount=i}getMode(){return this.mode}getToken(){return this.token}getBinaryShiftByteCount(){return this.binaryShiftByteCount}getBitCount(){return this.bitCount}latchAndAppend(e,n){let s=this.bitCount,i=this.token;if(e!==this.mode){let c=Bi[this.mode][e];i=Ls(i,c&65535,c>>16),s+=c>>16}let a=e===Nn?4:5;return i=Ls(i,n,a),new Kn(i,e,0,s+a)}shiftAndAppend(e,n){let s=this.token,i=this.mode===Nn?4:5;return s=Ls(s,Sc[this.mode][e],i),s=Ls(s,n,5),new Kn(s,this.mode,0,this.bitCount+i+5)}addBinaryShiftChar(e){let n=this.token,s=this.mode,i=this.bitCount;if(this.mode===Yn||this.mode===Nn){let d=Bi[s][br];n=Ls(n,d&65535,d>>16),i+=d>>16,s=br}let a=this.binaryShiftByteCount===0||this.binaryShiftByteCount===31?18:this.binaryShiftByteCount===62?9:8,c=new Kn(n,s,this.binaryShiftByteCount+1,i+a);return c.binaryShiftByteCount===2078&&(c=c.endBinaryShift(e+1)),c}endBinaryShift(e){if(this.binaryShiftByteCount===0)return this;let n=this.token;return n=tf(n,e-this.binaryShiftByteCount,this.binaryShiftByteCount),new Kn(n,this.mode,0,this.bitCount)}isBetterThanOrEqualTo(e){let n=this.bitCount+(Bi[this.mode][e.mode]>>16);return this.binaryShiftByteCounte.binaryShiftByteCount&&e.binaryShiftByteCount>0&&(n+=10),n<=e.bitCount}toBitArray(e){let n=[];for(let i=this.endBinaryShift(e.length).token;i!==null;i=i.getPrevious())n.unshift(i);let s=new F;for(const i of n)i.appendTo(s,e);return s}toString(){return de.format("%s bits=%d bytes=%d",nf[this.mode],this.bitCount,this.binaryShiftByteCount)}static calculateBinaryShiftCost(e){return e.binaryShiftByteCount>62?21:e.binaryShiftByteCount>31?20:e.binaryShiftByteCount>0?10:0}}Kn.INITIAL_STATE=new Kn(rf,br,0,0);function of(E){const e=de.getCharCode(" "),n=de.getCharCode("."),s=de.getCharCode(",");E[br][e]=1;const i=de.getCharCode("Z"),a=de.getCharCode("A");for(let _=a;_<=i;_++)E[br][_]=_-a+2;E[No][e]=1;const c=de.getCharCode("z"),d=de.getCharCode("a");for(let _=d;_<=c;_++)E[No][_]=_-d+2;E[Nn][e]=1;const h=de.getCharCode("9"),m=de.getCharCode("0");for(let _=m;_<=h;_++)E[Nn][_]=_-m+2;E[Nn][s]=12,E[Nn][n]=13;const y=["\0"," ","","","","","","","\x07","\b"," ",` +`,"\v","\f","\r","\x1B","","","","","@","\\","^","_","`","|","~",""];for(let _=0;_","?","[","]","{","}"];for(let _=0;_0&&(E[Yn][de.getCharCode(b[_])]=_);return E}const Ui=of(W.createInt32Array(5,256));class Ms{constructor(e){this.text=e}encode(){const e=de.getCharCode(" "),n=de.getCharCode(` +`);let s=_c.singletonList(Kn.INITIAL_STATE);for(let a=0;a0?(s=Ms.updateStateListForPair(s,a,c),a++):s=this.updateStateListForChar(s,a)}return _c.min(s,(a,c)=>a.getBitCount()-c.getBitCount()).toBitArray(this.text)}updateStateListForChar(e,n){const s=[];for(let i of e)this.updateStateForChar(i,n,s);return Ms.simplifyStates(s)}updateStateForChar(e,n,s){let i=this.text[n]&255,a=Ui[e.getMode()][i]>0,c=null;for(let d=0;d<=Yn;d++){let h=Ui[d][i];if(h>0){if(c==null&&(c=e.endBinaryShift(n)),!a||d===e.getMode()||d===Nn){const m=c.latchAndAppend(d,h);s.push(m)}if(!a&&Sc[e.getMode()][d]>=0){const m=c.shiftAndAppend(d,h);s.push(m)}}}if(e.getBinaryShiftByteCount()>0||Ui[e.getMode()][i]===0){let d=e.addBinaryShiftChar(n);s.push(d)}}static updateStateListForPair(e,n,s){const i=[];for(let a of e)this.updateStateForPair(a,n,s,i);return this.simplifyStates(i)}static updateStateForPair(e,n,s,i){let a=e.endBinaryShift(n);if(i.push(a.latchAndAppend(Yn,s)),e.getMode()!==Yn&&i.push(a.shiftAndAppend(Yn,s)),s===3||s===4){let c=a.latchAndAppend(Nn,16-s).latchAndAppend(Nn,1);i.push(c)}if(e.getBinaryShiftByteCount()>0){let c=e.addBinaryShiftChar(n).addBinaryShiftChar(n+1);i.push(c)}}static simplifyStates(e){let n=[];for(const s of e){let i=!0;for(const a of n){if(a.isBetterThanOrEqualTo(s)){i=!1;break}s.isBetterThanOrEqualTo(a)&&(n=n.filter(c=>c!==a))}i&&n.push(s)}return n}}class et{constructor(){}static encodeBytes(e){return et.encode(e,et.DEFAULT_EC_PERCENT,et.DEFAULT_AZTEC_LAYERS)}static encode(e,n,s){let i=new Ms(e).encode(),a=V.truncDivision(i.getSize()*n,100)+11,c=i.getSize()+a,d,h,m,y,b;if(s!==et.DEFAULT_AZTEC_LAYERS){if(d=s<0,h=Math.abs(s),h>(d?et.MAX_NB_BITS_COMPACT:et.MAX_NB_BITS))throw new C(de.format("Illegal value %s for layers",s));m=et.totalBitsInLayer(h,d),y=et.WORD_SIZE[h];let ue=m-m%y;if(b=et.stuffBits(i,y),b.getSize()+a>ue)throw new C("Data to large for user specified layer");if(d&&b.getSize()>y*64)throw new C("Data to large for user specified layer")}else{y=0,b=null;for(let ue=0;;ue++){if(ue>et.MAX_NB_BITS)throw new C("Data too large for an Aztec code");if(d=ue<=3,h=d?ue+1:ue,m=et.totalBitsInLayer(h,d),c>m)continue;(b==null||y!==et.WORD_SIZE[h])&&(y=et.WORD_SIZE[h],b=et.stuffBits(i,y));let ze=m-m%y;if(!(d&&b.getSize()>y*64)&&b.getSize()+a<=ze)break}}let _=et.generateCheckWords(b,m,y),N=b.getSize()/y,P=et.generateModeMessage(d,h,N),$=(d?11:14)+h*4,j=new Int32Array($),Q;if(d){Q=$;for(let ue=0;ue=i||e.get(c+h))&&(d|=1<0&&f[f.length-1])&&(x[0]===6||x[0]===2)){o=0;continue}if(x[0]===3&&(!f||x[1]>f[0]&&x[1]l&&(l=p,o=g)}if(!o)throw"No largest barcode found";return o},t.prototype.createBarcodeDetectorFormats=function(r){for(var o=[],l=0,u=r;l0&&f[f.length-1])&&(x[0]===6||x[0]===2)){o=0;continue}if(x[0]===3&&(!f||x[1]>f[0]&&x[1]0&&f[f.length-1])&&(x[0]===6||x[0]===2)){o=0;continue}if(x[0]===3&&(!f||x[1]>f[0]&&x[1]=f&&(r.isClosed=!0,r.parentElement.removeChild(r.surface),o())})})},t.prototype.getCapabilities=function(){return new Jp(this.getFirstTrackOrFail())},t}(),tx=function(){function t(r){this.mediaStream=r}return t.prototype.render=function(r,o,l){return ri(this,void 0,void 0,function(){return si(this,function(u){return[2,ex.create(r,this.mediaStream,o,l)]})})},t.create=function(r){return ri(this,void 0,void 0,function(){var o,l;return si(this,function(u){switch(u.label){case 0:if(!navigator.mediaDevices)throw"navigator.mediaDevices not supported";return o={audio:!1,video:r},[4,navigator.mediaDevices.getUserMedia(o)];case 1:return l=u.sent(),[2,new t(l)]}})})},t}(),pu=function(t,r,o,l){function u(f){return f instanceof o?f:new o(function(g){g(f)})}return new(o||(o=Promise))(function(f,g){function p(A){try{x(l.next(A))}catch(C){g(C)}}function w(A){try{x(l.throw(A))}catch(C){g(C)}}function x(A){A.done?f(A.value):u(A.value).then(p,w)}x((l=l.apply(t,r||[])).next())})},xu=function(t,r){var o={label:0,sent:function(){if(f[0]&1)throw f[1];return f[1]},trys:[],ops:[]},l,u,f,g;return g={next:p(0),throw:p(1),return:p(2)},typeof Symbol=="function"&&(g[Symbol.iterator]=function(){return this}),g;function p(x){return function(A){return w([x,A])}}function w(x){if(l)throw new TypeError("Generator is already executing.");for(;g&&(g=0,x[0]&&(o=0)),o;)try{if(l=1,u&&(f=x[0]&2?u.return:x[0]?u.throw||((f=u.return)&&f.call(u),0):u.next)&&!(f=f.call(u,x[1])).done)return f;switch(u=0,f&&(x=[x[0]&2,f.value]),x[0]){case 0:case 1:f=x;break;case 4:return o.label++,{value:x[1],done:!1};case 5:o.label++,u=x[1],x=[0];continue;case 7:x=o.ops.pop(),o.trys.pop();continue;default:if(f=o.trys,!(f=f.length>0&&f[f.length-1])&&(x[0]===6||x[0]===2)){o=0;continue}if(x[0]===3&&(!f||x[1]>f[0]&&x[1]0&&f[f.length-1])&&(x[0]===6||x[0]===2)){o=0;continue}if(x[0]===3&&(!f||x[1]>f[0]&&x[1]r&&(u.logger.warn("`qrbox.width` or `qrbox` is larger than the width of the root element. The width will be truncated to the width of root element."),x=r),x};p(g.width),p(g.height),g.width=w(g.width)},t.prototype.validateQrboxConfig=function(r){if(typeof r!="number"&&typeof r!="function"&&(r.width===void 0||r.height===void 0))throw"Invalid instance of QrDimensions passed for 'config.qrbox'. Both 'width' and 'height' should be set."},t.prototype.toQrdimensions=function(r,o,l){if(typeof l=="number")return{width:l,height:l};if(typeof l=="function")try{return l(r,o)}catch(u){throw new Error("qrbox config was passed as a function but it failed with unknown error"+u)}return l},t.prototype.setupUi=function(r,o,l){l.isShadedBoxEnabled()&&this.validateQrboxSize(r,o,l);var u=ar(l.qrbox)?{width:r,height:o}:l.qrbox;this.validateQrboxConfig(u);var f=this.toQrdimensions(r,o,u);f.height>o&&this.logger.warn("[Html5Qrcode] config.qrbox has height that isgreater than the height of the video stream. Shading will be ignored");var g=l.isShadedBoxEnabled()&&f.height<=o,p={x:0,y:0,width:r,height:o},w=g?this.getShadedRegionBounds(r,o,f):p,x=this.createCanvasElement(w.width,w.height),A={willReadFrequently:!0},C=x.getContext("2d",A);C.canvas.width=w.width,C.canvas.height=w.height,this.element.append(x),g&&this.possiblyInsertShadingElement(this.element,r,o,f),this.createScannerPausedUiElement(this.element),this.qrRegion=w,this.context=C,this.canvasElement=x},t.prototype.createScannerPausedUiElement=function(r){var o=document.createElement("div");o.innerText=fs.scannerPaused(),o.style.display="none",o.style.position="absolute",o.style.top="0px",o.style.zIndex="1",o.style.background="rgba(9, 9, 9, 0.46)",o.style.color="#FFECEC",o.style.textAlign="center",o.style.width="100%",r.appendChild(o),this.scannerPausedUiElement=o},t.prototype.scanContext=function(r,o){var l=this;return this.stateManagerProxy.isPaused()?Promise.resolve(!1):this.qrcode.decodeAsync(this.canvasElement).then(function(u){return r(u.text,uu.createFromQrcodeResult(u)),l.possiblyUpdateShaders(!0),!0}).catch(function(u){l.possiblyUpdateShaders(!1);var f=fs.codeParseError(u);return o(f,Up.createFrom(f)),!1})},t.prototype.foreverScan=function(r,o,l){var u=this;if(this.shouldScan&&this.renderedCamera){var f=this.renderedCamera.getSurface(),g=f.videoWidth/f.clientWidth,p=f.videoHeight/f.clientHeight;if(!this.qrRegion)throw"qrRegion undefined when localMediaStream is ready.";var w=this.qrRegion.width*g,x=this.qrRegion.height*p,A=this.qrRegion.x*g,C=this.qrRegion.y*p;this.context.drawImage(f,A,C,w,x,0,0,this.qrRegion.width,this.qrRegion.height);var I=function(){u.foreverScanTimeout=setTimeout(function(){u.foreverScan(r,o,l)},u.getTimeoutFps(r.fps))};this.scanContext(o,l).then(function(O){!O&&r.disableFlip!==!0?(u.context.translate(u.context.canvas.width,0),u.context.scale(-1,1),u.scanContext(o,l).finally(function(){I()})):I()}).catch(function(O){u.logger.logError("Error happend while scanning context",O),I()})}},t.prototype.createVideoConstraints=function(r){if(typeof r=="string")return{deviceId:{exact:r}};if(typeof r=="object"){var o="facingMode",l="deviceId",u={user:!0,environment:!0},f="exact",g=function(z){if(z in u)return!0;throw"config has invalid 'facingMode' value = "+"'".concat(z,"'")},p=Object.keys(r);if(p.length!==1)throw"'cameraIdOrConfig' object should have exactly 1 key,"+" if passed as an object, found ".concat(p.length," keys");var w=Object.keys(r)[0];if(w!==o&&w!==l)throw"Only '".concat(o,"' and '").concat(l,"' ")+" are supported for 'cameraIdOrConfig'";if(w===o){var x=r.facingMode;if(typeof x=="string"){if(g(x))return{facingMode:x}}else if(typeof x=="object")if(f in x){if(g(x["".concat(f)]))return{facingMode:{exact:x["".concat(f)]}}}else throw"'facingMode' should be string or object with"+" ".concat(f," as key.");else{var A=typeof x;throw"Invalid type of 'facingMode' = ".concat(A)}}else{var C=r.deviceId;if(typeof C=="string")return{deviceId:C};if(typeof C=="object"){if(f in C)return{deviceId:{exact:C["".concat(f)]}};throw"'deviceId' should be string or object with"+" ".concat(f," as key.")}else{var I=typeof C;throw"Invalid type of 'deviceId' = ".concat(I)}}}var O=typeof r;throw"Invalid type of 'cameraIdOrConfig' = ".concat(O)},t.prototype.computeCanvasDrawConfig=function(r,o,l,u){if(r<=l&&o<=u){var f=(l-r)/2,g=(u-o)/2;return{x:f,y:g,width:r,height:o}}else{var p=r,w=o;return r>l&&(o=l/r*o,r=l),o>u&&(r=u/o*r,o=u),this.logger.log("Image downsampled from "+"".concat(p,"X").concat(w)+" to ".concat(r,"X").concat(o,".")),this.computeCanvasDrawConfig(r,o,l,u)}},t.prototype.clearElement=function(){if(this.stateManagerProxy.isScanning())throw"Cannot clear while scan is ongoing, close it first.";var r=document.getElementById(this.elementId);r&&(r.innerHTML="")},t.prototype.possiblyUpdateShaders=function(r){this.qrMatch!==r&&(this.hasBorderShaders&&this.borderShaders&&this.borderShaders.length&&this.borderShaders.forEach(function(o){o.style.backgroundColor=r?bn.BORDER_SHADER_MATCH_COLOR:bn.BORDER_SHADER_DEFAULT_COLOR}),this.qrMatch=r)},t.prototype.possiblyCloseLastScanImageFile=function(){this.lastScanImageFile&&(URL.revokeObjectURL(this.lastScanImageFile),this.lastScanImageFile=null)},t.prototype.createCanvasElement=function(r,o,l){var u=r,f=o,g=document.createElement("canvas");return g.style.width="".concat(u,"px"),g.style.height="".concat(f,"px"),g.style.display="none",g.id=ar(l)?"qr-canvas":l,g},t.prototype.getShadedRegionBounds=function(r,o,l){if(l.width>r||l.height>o)throw"'config.qrbox' dimensions should not be greater than the dimensions of the root HTML element.";return{x:(r-l.width)/2,y:(o-l.height)/2,width:l.width,height:l.height}},t.prototype.possiblyInsertShadingElement=function(r,o,l,u){if(!(o-u.width<1||l-u.height<1)){var f=document.createElement("div");f.style.position="absolute";var g=(o-u.width)/2,p=(l-u.height)/2;if(f.style.borderLeft="".concat(g,"px solid rgba(0, 0, 0, 0.48)"),f.style.borderRight="".concat(g,"px solid rgba(0, 0, 0, 0.48)"),f.style.borderTop="".concat(p,"px solid rgba(0, 0, 0, 0.48)"),f.style.borderBottom="".concat(p,"px solid rgba(0, 0, 0, 0.48)"),f.style.boxSizing="border-box",f.style.top="0px",f.style.bottom="0px",f.style.left="0px",f.style.right="0px",f.id="".concat(bn.SHADED_REGION_ELEMENT_ID),o-u.width<11||l-u.height<11)this.hasBorderShaders=!1;else{var w=5,x=40;this.insertShaderBorders(f,x,w,-w,null,0,!0),this.insertShaderBorders(f,x,w,-w,null,0,!1),this.insertShaderBorders(f,x,w,null,-w,0,!0),this.insertShaderBorders(f,x,w,null,-w,0,!1),this.insertShaderBorders(f,w,x+w,-w,null,-w,!0),this.insertShaderBorders(f,w,x+w,null,-w,-w,!0),this.insertShaderBorders(f,w,x+w,-w,null,-w,!1),this.insertShaderBorders(f,w,x+w,null,-w,-w,!1),this.hasBorderShaders=!0}r.append(f)}},t.prototype.insertShaderBorders=function(r,o,l,u,f,g,p){var w=document.createElement("div");w.style.position="absolute",w.style.backgroundColor=bn.BORDER_SHADER_DEFAULT_COLOR,w.style.width="".concat(o,"px"),w.style.height="".concat(l,"px"),u!==null&&(w.style.top="".concat(u,"px")),f!==null&&(w.style.bottom="".concat(f,"px")),p?w.style.left="".concat(g,"px"):w.style.right="".concat(g,"px"),this.borderShaders||(this.borderShaders=[]),this.borderShaders.push(w),r.appendChild(w)},t.prototype.showPausedState=function(){if(!this.scannerPausedUiElement)throw"[internal error] scanner paused UI element not found";this.scannerPausedUiElement.style.display="block"},t.prototype.hidePausedState=function(){if(!this.scannerPausedUiElement)throw"[internal error] scanner paused UI element not found";this.scannerPausedUiElement.style.display="none"},t.prototype.getTimeoutFps=function(r){return 1e3/r},t}(),yu;(function(t){t[t.STATUS_DEFAULT=0]="STATUS_DEFAULT",t[t.STATUS_SUCCESS=1]="STATUS_SUCCESS",t[t.STATUS_WARNING=2]="STATUS_WARNING",t[t.STATUS_REQUESTING_PERMISSION=3]="STATUS_REQUESTING_PERMISSION"})(yu||(yu={}));const dx={class:"mobile-viewport bg-gray-100 dark:bg-gray-900 min-h-screen"},fx={class:"fixed-header-safe bg-blue-600 text-white shadow-lg"},hx={class:"px-4 py-6"},gx={class:"text-3xl font-bold text-center"},mx={class:"main-with-fixed-header px-4 py-8 space-y-8"},px={class:"bg-white dark:bg-gray-800 rounded-2xl shadow-lg p-6 text-center mt-16"},xx={class:"text-2xl font-bold text-gray-900 dark:text-gray-100 mb-2"},wx={class:"text-gray-600 dark:text-gray-400 mb-4"},yx={class:"flex items-center justify-center gap-4 mb-4"},Cx={class:"text-lg text-gray-600 dark:text-gray-400 mb-1"},Ex={key:0,class:"bg-green-100 dark:bg-green-900 border-l-4 border-green-500 text-green-700 dark:text-green-300 p-4 rounded-lg shadow-md"},Ax={key:1,class:"bg-red-100 dark:bg-red-900 border-l-4 border-red-500 text-red-700 dark:text-red-300 p-4 rounded-lg shadow-md"},bx={class:"bg-white dark:bg-gray-800 rounded-2xl shadow-lg p-6"},_x={key:0,class:"space-y-4 text-center"},Ix={class:"text-xl font-semibold text-gray-800 dark:text-gray-200 mb-4"},Sx={id:"qr-reader-container",class:"fixed inset-0 bg-black bg-opacity-90 flex flex-col items-center justify-center z-50 p-4"},Tx={class:"bg-white dark:bg-gray-800 rounded-2xl p-6 w-full max-w-md"},vx={class:"text-2xl font-bold text-gray-900 dark:text-gray-100 text-center mb-4"},kx={__name:"WorkerDashboardView",setup(t){const{t:r}=xr();let o=null;const l=gt(null),u=Qr(),f=gt(!1),g=gt(!1),p=gt(""),w=gt(""),x=gt(""),A=gt("");let C=sessionStorage.getItem("userId");const I=ht(()=>f.value?r("clockedIn"):r("clockedOut")),O=async()=>{try{const k=await Mt.getCachedWorkerData(C);if(k&&k.full_name){x.value=k.full_name;return}}catch(k){console.log("No cached worker data available, fetching from API:",k)}try{const k=await tr(`/api/workers/${C}`);k&&(x.value=k.full_name,await Mt.cacheWorkerData(C,{full_name:k.full_name,username:A.value}))}catch(k){p.value=r("couldNotLoadWorkerInfo")+`: ${k.message}`}},z=async()=>{try{console.log("🔍 DASHBOARD: Fetching current clock status from server...");const k=await tr(`/api/worker/status/${C}`);if(k){const re=k.eventType==="clock_in";f.value=re,console.log("📊 DASHBOARD: Current clock status from server:",re);try{console.log("🔄 DASHBOARD: Syncing clock status with location service..."),await Qt.services.location.setClockedInStatus(re),console.log("✅ DASHBOARD: Clock status synced with location service")}catch(K){console.error("❌ DASHBOARD: Failed to sync clock status with location service:",K)}}}catch(k){p.value=r("couldNotVerifyStatus")+`: ${k.message}`}},U=async(k,re,K)=>{const Te=f.value?"clock_out":"clock_in";try{const ke=await tr("/api/clock",{method:"POST",body:JSON.stringify({userId:C,eventType:Te,qrCodeValue:k,latitude:re,longitude:K})}),de=!f.value;f.value=de;try{console.log("🔄 DASHBOARD: Setting clock status in location service:",de),await Qt.services.location.setClockedInStatus(de),console.log(de?"✅ DASHBOARD: Clock-in successful - background location tracking started":"✅ DASHBOARD: Clock-out successful - background location tracking stopped")}catch(Se){console.error("❌ DASHBOARD: Failed to update background location service:",Se)}w.value=r("successfullyClocked",{action:r(Te)})+` ${ke.location||r("site")}.`}catch(ke){p.value=r("errorOccurred")+`: ${ke.message}`}};qr(async()=>{if(window.addEventListener("user-forced-clock-out",te),C||(C=await Mt.getUserId()),!C){u.push("/");return}try{const re=Qt.getServiceStatus();re.isInitialized||await Qt.initialize(),await Mt.isAuthenticated()&&!re.services.location.tracking&&await Qt.startServices();try{await Qt.services.location.onAppResume(),await Qt.services.location.restoreClockStatus()&&console.log("PRODUCTION: Restored previous clock-in status from app resume")}catch(Te){console.error("PRODUCTION: Failed to handle app resume with location service:",Te)}}catch(re){console.error("Failed to initialize native services:",re)}const k=sessionStorage.getItem("username");k?A.value=k:A.value=r("username"),O(),z()}),ja(()=>{window.removeEventListener("user-forced-clock-out",te),o&&o.isScanning&&V();try{Qt.onAppBackground()}catch(k){console.error("Failed to handle app background:",k)}});const te=()=>{f.value=!1},L=()=>{p.value="",w.value=""},W=()=>{g.value=!0,L(),setTimeout(()=>{try{o=new wu("qr-reader");const k={fps:10,qrbox:{width:250,height:250}};o.start({facingMode:"environment"},k,ce,se)}catch{p.value=r("unableToStartCamera"),g.value=!1}},300)},V=()=>{o&&o.isScanning&&o.stop().catch(k=>console.error("Failed to stop scanner cleanly.",k)),g.value=!1},F=k=>{const re=k.target.files[0];re&&(L(),o||(o=new wu("qr-reader",!1)),o.scanFile(re,!0).then(ce).catch(()=>{se(r("tryAgain"))}))},ce=async k=>{w.value=r("qrDetectedGettingLocation"),V();try{const re=await Gs.getCurrentPosition({enableHighAccuracy:!0,timeout:1e4,maximumAge:36e5});await U(k,re.coords.latitude,re.coords.longitude),setTimeout(()=>{window.scrollTo({top:document.body.scrollHeight,behavior:"smooth"})},300)}catch(re){console.error("Geolocation error:",re),p.value=r("unableToRetrieveLocation",{message:re.message})}},se=()=>{};return(k,re)=>(Fe(),Ge("div",dx,[Y("header",fx,[Y("div",hx,[Y("h1",gx,Ce(k.$t("appTitle")),1)])]),Y("main",mx,[Y("div",px,[Y("h1",xx,Ce(x.value),1),Y("p",wx,Ce(A.value),1),Y("div",yx,[(Fe(),ys(qo(f.value?Xe(sp):Xe(C1)),{class:_n(["w-16 h-16",f.value?"text-green-500 dark:text-green-400":"text-red-500 dark:text-red-400"])},null,8,["class"]))]),Y("p",Cx,Ce(k.$t("yourStatus")),1),Y("h2",{class:_n(["text-3xl font-bold",f.value?"text-green-600 dark:text-green-400":"text-red-600 dark:text-red-400"])},Ce(I.value),3)]),w.value?(Fe(),Ge("div",Ex,Ce(w.value),1)):xn("",!0),p.value?(Fe(),Ge("div",Ax,Ce(p.value),1)):xn("",!0),Y("div",bx,[g.value?xn("",!0):(Fe(),Ge("div",_x,[Y("h3",Ix,Ce(k.$t("scanToClock",{action:k.$t(f.value?"out":"in")})),1),Y("button",{onClick:W,class:"w-full py-4 text-xl flex items-center justify-center gap-3 bg-blue-600 hover:bg-blue-700 text-white font-bold rounded-xl transition-transform transform hover:scale-105 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 shadow-lg"},[st(Xe(rp),{class:"w-8 h-8"}),Y("span",null,Ce(k.$t("openCamera")),1)]),Y("input",{ref_key:"fileInput",ref:l,type:"file",accept:"image/*",onChange:F,hidden:""},null,544)])),Rr(Y("div",Sx,[Y("div",Tx,[Y("h3",vx,Ce(k.$t("scanQRCode")),1),re[0]||(re[0]=Y("div",{id:"qr-reader",class:"w-full rounded-lg overflow-hidden border-4 border-gray-300 dark:border-gray-600"},null,-1))]),Y("button",{onClick:V,class:"mt-8 bg-red-600 hover:bg-red-700 text-white font-bold px-10 py-4 rounded-xl transition-transform transform hover:scale-105 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-red-500 shadow-lg"},Ce(k.$t("cancel")),1)],512),[[oh,g.value]])])])]))}},Nx={class:"mobile-viewport bg-gray-100 dark:bg-gray-900 min-h-screen"},Rx={class:"fixed left-0 right-0 top-0 z-50 bg-blue-600 text-white shadow-lg"},Ox={class:"px-4 py-6",style:{"padding-top":"calc(var(--safe-area-inset-top) + 1.5rem)"}},Dx={class:"flex items-center"},Px={class:"text-3xl font-bold"},Lx={class:"main-with-fixed-header-and-nav px-4 py-8"},Mx={key:0,class:"text-center py-16 mt-8"},Fx={class:"text-2xl font-semibold text-gray-700 dark:text-gray-300"},$x={class:"text-gray-500 dark:text-gray-400 mt-2"},Bx={key:1,class:"space-y-4 mt-8 mb-10"},Ux={class:"flex-grow"},Wx={class:"font-bold text-lg text-gray-900 dark:text-gray-100"},Vx={class:"text-sm text-gray-600 dark:text-gray-400"},Hx={class:"text-right"},Gx={class:"font-medium text-gray-800 dark:text-gray-200"},jx={class:"text-sm text-gray-500 dark:text-gray-400"},Xx={__name:"WorkerHistoryView",setup(t){const{t:r}=xr(),o=Qr(),l=gt([]),u=sessionStorage.getItem("userId");qr(async()=>{if(!u){o.push("/");return}try{const g=await tr(`/api/worker/clock-history/${u}`);g&&(l.value=g.filter(p=>p.event_type!=="failed"))}catch(g){console.error(r("clockHistoryFetchFail"),g)}});const f=()=>{o.back()};return(g,p)=>(Fe(),Ge("div",Nx,[Y("header",Rx,[Y("div",Ox,[Y("div",Dx,[Y("button",{onClick:f,class:"mr-4 p-2 hover:bg-blue-700 rounded-lg transition-colors"},[st(Xe(ac),{class:"w-6 h-6"})]),Y("h1",Px,Ce(g.$t("myClockHistory")),1)])])]),Y("main",Lx,[l.value.length?(Fe(),Ge("div",Bx,[(Fe(!0),Ge(Rn,null,u0(l.value,w=>(Fe(),Ge("div",{key:w.id,class:"bg-white dark:bg-gray-800 rounded-2xl shadow-lg p-5 flex items-center space-x-4"},[Y("div",{class:_n(["w-12 h-12 rounded-full flex items-center justify-center",w.event_type==="clock_in"?"bg-green-100 dark:bg-green-900/50":"bg-red-100 dark:bg-red-900/50"])},[(Fe(),ys(qo(w.event_type==="clock_in"?Xe(tp):Xe(np)),{class:_n(["w-8 h-8",w.event_type==="clock_in"?"text-green-600 dark:text-green-400":"text-red-600 dark:text-red-400"])},null,8,["class"]))],2),Y("div",Ux,[Y("div",Wx,Ce(g.$t(w.event_type)),1),Y("div",Vx,Ce(w.qrCodeUsedName),1)]),Y("div",Hx,[Y("div",Gx,Ce(new Date(w.timestamp).toLocaleDateString()),1),Y("div",jx,Ce(new Date(w.timestamp).toLocaleTimeString()),1)])]))),128))])):(Fe(),Ge("div",Mx,[st(Xe(y1),{class:"w-16 h-16 text-gray-400 dark:text-gray-500 mx-auto mb-4"}),Y("h2",Fx,Ce(g.$t("noClockHistory")),1),Y("p",$x,Ce(g.$t("clockHistoryEmptyState")),1)]))])]))}},Yx={class:"mobile-viewport bg-gray-100 dark:bg-gray-900 min-h-screen"},Kx={class:"fixed left-0 right-0 top-0 z-50 bg-blue-600 text-white shadow-lg"},zx={class:"px-4 py-6",style:{"padding-top":"calc(var(--safe-area-inset-top) + 1.5rem)"}},qx={class:"flex items-center"},Qx={class:"text-3xl font-bold"},Zx={class:"main-with-fixed-header-and-nav px-4 py-8"},Jx={class:"bg-white dark:bg-gray-800 rounded-2xl shadow-lg p-8 w-full max-w-lg mx-auto mt-8"},ew={key:0,class:"bg-green-100 dark:bg-green-900 border-l-4 border-green-500 text-green-700 dark:text-green-300 p-4 rounded-lg"},tw={key:1,class:"bg-red-100 dark:bg-red-900 border-l-4 border-red-500 text-red-700 dark:text-red-300 p-4 rounded-lg"},nw={for:"currentPassword",class:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2"},rw={for:"newPassword",class:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2"},sw={for:"confirmPassword",class:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2"},ow=["disabled"],iw={__name:"ChangePasswordView",setup(t){const r=Qr(),o=gt({currentPassword:"",newPassword:"",confirmPassword:""}),l=gt(!1),u=gt(""),f=gt(""),g=async()=>{if(u.value="",f.value="",o.value.newPassword!==o.value.confirmPassword){u.value="passwordsNoMatch";return}if(o.value.newPassword.length<6){u.value="passwordTooShort";return}l.value=!0;try{const w=await tr("/api/worker/change-password",{method:"PUT",body:JSON.stringify({currentPassword:o.value.currentPassword,newPassword:o.value.newPassword})});if(!w.ok){const x=await w.json();w.status===401?u.value="invalidCurrentPassword":u.value=x.message||"passwordUpdateError";return}f.value="passwordUpdated",o.value={currentPassword:"",newPassword:"",confirmPassword:""}}catch(w){u.value=w.message||"passwordUpdateError"}finally{l.value=!1}},p=()=>{r.back()};return(w,x)=>(Fe(),Ge("div",Yx,[Y("header",Kx,[Y("div",zx,[Y("div",qx,[Y("button",{onClick:p,class:"mr-4 p-2 hover:bg-blue-700 rounded-lg transition-colors"},[st(Xe(ac),{class:"w-6 h-6"})]),Y("h1",Qx,Ce(w.$t("changePasswordTitle")),1)])])]),Y("main",Zx,[Y("div",Jx,[Y("form",{onSubmit:vd(g,["prevent"]),class:"space-y-6"},[f.value?(Fe(),Ge("div",ew,Ce(w.$t(f.value)),1)):xn("",!0),u.value?(Fe(),Ge("div",tw,Ce(w.$t(u.value)),1)):xn("",!0),Y("div",null,[Y("label",nw,Ce(w.$t("currentPassword")),1),Rr(Y("input",{type:"password",id:"currentPassword","onUpdate:modelValue":x[0]||(x[0]=A=>o.value.currentPassword=A),required:"",class:"w-full px-4 py-3 text-gray-700 dark:text-gray-200 bg-gray-50 dark:bg-gray-700 border border-gray-300 dark:border-gray-600 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent"},null,512),[[Js,o.value.currentPassword]])]),Y("div",null,[Y("label",rw,Ce(w.$t("newPassword")),1),Rr(Y("input",{type:"password",id:"newPassword","onUpdate:modelValue":x[1]||(x[1]=A=>o.value.newPassword=A),required:"",class:"w-full px-4 py-3 text-gray-700 dark:text-gray-200 bg-gray-50 dark:bg-gray-700 border border-gray-300 dark:border-gray-600 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent"},null,512),[[Js,o.value.newPassword]])]),Y("div",null,[Y("label",sw,Ce(w.$t("confirmNewPassword")),1),Rr(Y("input",{type:"password",id:"confirmPassword","onUpdate:modelValue":x[2]||(x[2]=A=>o.value.confirmPassword=A),required:"",class:"w-full px-4 py-3 text-gray-700 dark:text-gray-200 bg-gray-50 dark:bg-gray-700 border border-gray-300 dark:border-gray-600 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent"},null,512),[[Js,o.value.confirmPassword]])]),Y("button",{type:"submit",disabled:l.value,class:"w-full py-3 text-lg font-semibold text-white bg-blue-600 rounded-lg hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 transition-transform transform hover:scale-105 disabled:opacity-60 disabled:cursor-not-allowed shadow-md"},Ce(l.value?w.$t("updating"):w.$t("updatePassword")),9,ow)],32)])])]))}},aw={class:"mobile-viewport bg-gray-100 min-h-screen"},cw={class:"fixed-header-safe bg-blue-600 text-white shadow-lg"},lw={class:"px-4 py-6"},uw={class:"text-3xl font-bold text-center"},dw={class:"main-with-fixed-header-and-nav px-4 py-8 space-y-4"},fw={class:"bg-white dark:bg-gray-800 rounded-2xl shadow-lg overflow-hidden mt-8"},hw={class:"w-12 h-12 bg-blue-100 rounded-xl flex items-center justify-center mr-5"},gw={class:"flex-grow"},mw={class:"font-semibold text-lg text-gray-900"},pw={class:"text-sm text-gray-500"},xw={class:"w-12 h-12 bg-orange-100 rounded-xl flex items-center justify-center mr-5"},ww={class:"flex-grow"},yw={class:"font-semibold text-lg text-gray-900"},Cw={class:"text-sm text-gray-500"},Ew={class:"flex items-center p-5"},Aw={class:"w-12 h-12 bg-purple-100 rounded-xl flex items-center justify-center mr-5"},bw={class:"flex-grow"},_w={class:"font-semibold text-lg text-gray-900 mb-2"},Iw={value:"en"},Sw={value:"ms"},Tw={value:"tm"},vw={value:"bd"},kw={value:"my"},Nw={value:"np"},Rw={class:"bg-white rounded-2xl shadow-lg p-6"},Ow={class:"font-semibold text-lg text-gray-900 mb-4"},Dw={class:"space-y-3"},Pw={class:"flex justify-between"},Lw={class:"text-gray-600"},Mw={class:"flex justify-between"},Fw={class:"text-gray-600"},$w={class:"font-medium text-gray-900"},Bw={class:"w-12 h-12 bg-red-100 rounded-xl flex items-center justify-center mr-5"},Uw={class:"flex-grow text-left"},Ww={class:"font-semibold text-lg text-red-600"},Vw={class:"text-sm text-red-500"},Hw={__name:"SettingsView",setup(t){const{locale:r}=xr(),o=Qr(),l=gt(r.value);qr(()=>{const g=localStorage.getItem("lang");g&&(l.value=g)});const u=()=>{r.value=l.value,localStorage.setItem("lang",l.value)},f=async()=>{try{await Mt.logout(),await Qt.onUserLogout(),sessionStorage.removeItem("userId"),sessionStorage.removeItem("userRole"),sessionStorage.removeItem("token"),o.push("/")}catch(g){console.error("Logout error:",g),sessionStorage.clear(),o.push("/")}};return(g,p)=>{const w=td("router-link");return Fe(),Ge("div",aw,[Y("header",cw,[Y("div",lw,[Y("h1",uw,Ce(g.$t("setting")),1)])]),Y("main",dw,[Y("div",fw,[st(w,{to:"/worker/history",class:"flex items-center p-5 border-b border-gray-200 hover:bg-gray-50 transition-colors"},{default:oo(()=>[Y("div",hw,[st(Xe(y1),{class:"w-8 h-8 text-blue-600"})]),Y("div",gw,[Y("h3",mw,Ce(g.$t("clockHistory")),1),Y("p",pw,Ce(g.$t("viewMyClockHistory")),1)]),st(Xe(au),{class:"w-6 h-6 text-gray-400"})]),_:1}),st(w,{to:"/worker/change-password",class:"flex items-center p-5 border-b border-gray-200 hover:bg-gray-50 transition-colors"},{default:oo(()=>[Y("div",xw,[st(Xe(ap),{class:"w-8 h-8 text-orange-600"})]),Y("div",ww,[Y("h3",yw,Ce(g.$t("changePassword")),1),Y("p",Cw,Ce(g.$t("updateYourPassword")),1)]),st(Xe(au),{class:"w-6 h-6 text-gray-400"})]),_:1}),Y("div",Ew,[Y("div",Aw,[st(Xe(ip),{class:"w-8 h-8 text-purple-600"})]),Y("div",bw,[Y("h3",_w,Ce(g.$t("language")),1),Rr(Y("select",{"onUpdate:modelValue":p[0]||(p[0]=x=>l.value=x),onChange:u,class:"w-full px-4 py-3 border border-gray-300 bg-white text-gray-900 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent"},[Y("option",Iw,Ce(g.$t("english")),1),Y("option",Sw,Ce(g.$t("malay")),1),Y("option",Tw,Ce(g.$t("tamil")),1),Y("option",vw,Ce(g.$t("bengali")),1),Y("option",kw,Ce(g.$t("burmese")),1),Y("option",Nw,Ce(g.$t("nepali")),1)],544),[[Eh,l.value]])])])]),Y("div",Rw,[Y("h3",Ow,Ce(g.$t("appInformation")),1),Y("div",Dw,[Y("div",Pw,[Y("span",Lw,Ce(g.$t("version")),1),p[1]||(p[1]=Y("span",{class:"font-medium text-gray-900"},"1.0.0",-1))]),Y("div",Mw,[Y("span",Fw,Ce(g.$t("platform")),1),Y("span",$w,Ce(g.$t("android")),1)])])]),Y("button",{onClick:f,class:"w-full flex items-center justify-center p-5 bg-white rounded-2xl shadow-lg hover:bg-red-50 transition-colors"},[Y("div",Bw,[st(Xe(w1),{class:"w-8 h-8 text-red-600"})]),Y("div",Uw,[Y("h3",Ww,Ce(g.$t("logout")),1),Y("p",Vw,Ce(g.$t("signOutOfAccount")),1)])])])])}}},Gw={class:"mobile-viewport bg-gray-100 flex flex-col overflow-hidden"},jw={class:"fixed left-0 right-0 top-0 z-50 bg-blue-600 text-white shadow-lg"},Xw={class:"px-4 py-6",style:{"padding-top":"calc(var(--safe-area-inset-top) + 1.5rem)"}},Yw={class:"flex items-center"},Kw={class:"text-3xl font-bold"},zw={class:"px-4 py-8 space-y-8 mt-[calc(100px+env(safe-area-inset-top))]"},qw={class:"bg-white rounded-2xl shadow-lg p-6 mt-8"},Qw={class:"space-y-2"},Zw={class:"flex items-center justify-between"},Jw={class:"text-sm text-gray-600 dark:text-gray-300"},e3={class:"flex items-center justify-between"},t3={class:"text-sm text-gray-600 dark:text-gray-300"},n3={class:"flex items-center gap-2"},r3={class:"flex items-center justify-between"},s3={class:"text-sm text-gray-600 dark:text-gray-300"},o3={class:"flex items-center justify-between"},i3={class:"text-sm text-gray-600 dark:text-gray-300"},a3={class:"flex items-center gap-2"},c3=["disabled"],l3={key:0,class:"flex items-center justify-between"},u3={class:"text-sm text-gray-600 dark:text-gray-300"},d3={class:"text-xs text-gray-500 dark:text-gray-400"},f3={key:1,class:"flex items-center justify-between"},h3={class:"text-sm text-gray-600 dark:text-gray-300"},g3={class:"text-xs text-gray-500 dark:text-gray-400 font-mono"},m3={class:"mt-6 flex justify-end"},p3=["disabled"],x3={key:0,class:"mt-4 p-4 bg-red-100 text-red-700 rounded-xl text-sm"},w3={key:1,class:"mt-4 p-4 bg-green-100 text-green-700 rounded-xl text-sm"},y3={__name:"NativeServicesStatus",setup(t){const{t:r}=xr(),o=Qr(),l=gt({}),u=gt(!1),f=gt(!1),g=gt(""),p=gt(""),w=sn.isNativePlatform(),x=ht(()=>l.value.isInitialized?"text-green-500 text-sm":"text-red-500 text-sm"),A=ht(()=>l.value.isInitialized?r("ready"):r("notInitialized")),C=ht(()=>{var k,re;return w?(re=(k=l.value.services)==null?void 0:k.location)!=null&&re.tracking?"text-green-500 text-sm":"text-red-500 text-sm":"text-gray-500 text-sm"}),I=ht(()=>{var k,re;return w?(re=(k=l.value.services)==null?void 0:k.location)!=null&&re.tracking?r("active"):r("inactive"):r("webOnly")}),O=ht(()=>{var k,re;return(re=(k=l.value.services)==null?void 0:k.deviceUuid)!=null&&re.uuid?"text-green-500 text-sm":"text-yellow-500 text-sm"}),z=ht(()=>{var k,re;return(re=(k=l.value.services)==null?void 0:k.deviceUuid)!=null&&re.uuid?r("registered"):r("pending")}),U=ht(()=>{var K,Te;const k=(Te=(K=l.value.services)==null?void 0:K.antiSpoofing)==null?void 0:Te.lastCheck;return!k||(Date.now()-new Date(k).getTime())/(1e3*60*60)>24?"text-yellow-500 text-sm":"text-green-500 text-sm"}),te=ht(()=>{var K,Te;const k=(Te=(K=l.value.services)==null?void 0:K.antiSpoofing)==null?void 0:Te.lastCheck;return k?(Date.now()-new Date(k).getTime())/(1e3*60*60)>24?r("outdated"):r("current"):r("notChecked")}),L=async()=>{u.value=!0,g.value="";try{l.value=Qt.getServiceStatus()}catch(k){console.error("Failed to refresh status:",k),g.value=r("failedToRefreshStatus")}finally{u.value=!1}},W=async()=>{try{g.value="",p.value="",await Qt.startServices(),p.value=r("locationTrackingStarted"),await L()}catch(k){console.error("Failed to start location tracking:",k),g.value=r("failedToStartLocationTracking")}},V=async()=>{f.value=!0,g.value="",p.value="";try{await Qt.forceSecurityCheck(),p.value=r("securityCheckComplete"),await L()}catch(k){console.error("Security check failed:",k),g.value=r("securityCheckFailed")}finally{f.value=!1}},F=k=>{if(!k)return r("never");const re=new Date(k),Te=Math.floor((new Date-re)/(1e3*60));if(Te<1)return r("justNow");if(Te<60)return r("minutesAgo",{minutes:Te});const ke=Math.floor(Te/60);if(ke<24)return r("hoursAgo",{hours:ke});const de=Math.floor(ke/24);return r("daysAgo",{days:de})},ce=()=>{g.value="",p.value=""},se=()=>{o.back()};return qr(async()=>{await L(),setInterval(L,3e4),setInterval(ce,5e3)}),(k,re)=>{var K,Te,ke,de,Se,Ke;return Fe(),Ge("div",Gw,[Y("header",jw,[Y("div",Xw,[Y("div",Yw,[Y("button",{onClick:se,class:"mr-4 p-2 hover:bg-blue-700 rounded-lg transition-colors"},[st(Xe(ac),{class:"w-6 h-6"})]),Y("h1",Kw,Ce(k.$t("servicesStatus")),1)])])]),Y("main",zw,[Y("div",qw,[Y("div",Qw,[Y("div",Zw,[Y("span",Jw,Ce(k.$t("overallStatus")),1),Y("span",{class:_n(x.value)},Ce(A.value),3)]),Y("div",e3,[Y("span",t3,Ce(k.$t("locationTracking")),1),Y("div",n3,[Y("span",{class:_n(C.value)},Ce(I.value),3),Xe(w)&&!((Te=(K=l.value.services)==null?void 0:K.location)!=null&&Te.tracking)?(Fe(),Ge("button",{key:0,onClick:W,class:"text-xs bg-blue-500 text-white px-2 py-1 rounded hover:bg-blue-600"},Ce(k.$t("start")),1)):xn("",!0)])]),Y("div",r3,[Y("span",s3,Ce(k.$t("deviceRegistration")),1),Y("span",{class:_n(O.value)},Ce(z.value),3)]),Y("div",o3,[Y("span",i3,Ce(k.$t("securityStatus")),1),Y("div",a3,[Y("span",{class:_n(U.value)},Ce(te.value),3),Y("button",{onClick:V,disabled:f.value,class:"text-xs bg-green-500 text-white px-2 py-1 rounded hover:bg-green-600 disabled:opacity-50"},Ce(f.value?k.$t("checking"):k.$t("check")),9,c3)])]),(de=(ke=l.value.services)==null?void 0:ke.location)!=null&&de.lastUpdate?(Fe(),Ge("div",l3,[Y("span",u3,Ce(k.$t("lastLocationUpdate")),1),Y("span",d3,Ce(F(l.value.services.location.lastUpdate)),1)])):xn("",!0),(Ke=(Se=l.value.services)==null?void 0:Se.deviceUuid)!=null&&Ke.uuid?(Fe(),Ge("div",f3,[Y("span",h3,Ce(k.$t("deviceId")),1),Y("span",g3,Ce(l.value.services.deviceUuid.uuid.substring(0,8))+"... ",1)])):xn("",!0)]),Y("div",m3,[Y("button",{onClick:L,disabled:u.value,class:"bg-blue-600 text-white px-6 py-3 rounded-xl hover:bg-blue-700 disabled:opacity-50 font-medium"},Ce(u.value?k.$t("refreshing"):k.$t("refresh")),9,p3)]),g.value?(Fe(),Ge("div",x3,Ce(g.value),1)):xn("",!0),p.value?(Fe(),Ge("div",w3,Ce(p.value),1)):xn("",!0)])])])}}},C3=Ei(y3,[["__scopeId","data-v-208d910c"]]),_1=Ng({history:ig(),routes:[{path:"/",name:"login",component:Fp},{path:"/worker/dashboard",name:"worker-dashboard",component:kx,meta:{requiresAuth:!0,role:"worker"}},{path:"/worker/history",name:"worker-history",component:Xx,meta:{requiresAuth:!0,role:"worker"}},{path:"/worker/change-password",name:"worker-change-password",component:iw,meta:{requiresAuth:!0,role:"worker"}},{path:"/worker/services-status",name:"worker-services-status",component:C3,meta:{requiresAuth:!0,role:"worker"}},{path:"/worker/settings",name:"worker-settings",component:Hw,meta:{requiresAuth:!0,role:"worker"}}]});_1.beforeEach(async(t,r,o)=>{const l=await Mt.isAuthenticated();let u=await Mt.getUserRole();u||(u=sessionStorage.getItem("userRole")),console.log("🛡️ ROUTER GUARD:",{to:t.path,from:r.path,isAuthenticated:l,userRole:u,requiresAuth:t.meta.requiresAuth,requiredRole:t.meta.role}),t.meta.requiresAuth?l?t.meta.role&&t.meta.role===u?(console.log("✅ ACCESS GRANTED - Correct role"),o()):u==="worker"?(console.log("🔄 REDIRECTING WORKER to dashboard"),o("/worker/dashboard")):(console.log("❌ NON-WORKER ACCESS DENIED - Worker client app only"),o("/")):(console.log("❌ NOT AUTHENTICATED - Redirecting to login"),o("/")):(console.log("✅ PUBLIC ROUTE - Allowing access"),o())});const E3="Attendance System",A3="Logout",b3="Login",_3="Username",I3="Password",S3="Logging in...",T3="Language",v3="Failed to connect to the server.",k3="Invalid token received from server.",N3="Invalid username or password.",R3="English",O3="Malay",D3="Tamil",P3="Bengali",L3="Burmese",M3="Nepali",F3="Status",$3="Clocked In",B3="Clocked Out",U3="Clock In",W3="Clock Out",V3="Clock In",H3="Clock Out",G3="Scan to Clock {action}",j3="Out",X3="Cancel",Y3="View My Clock History",K3="Change My Password",z3="My Clock History",q3="Back to Dashboard",Q3="You have no clocking history.",Z3="Failed to fetch clock history:",J3="View My Clock History",ey="Change My Password",ty="Invalid current password.",ny="Successfully clocked in.",ry="Successfully clocked out.",sy="Could not detect a QR code. Please try again.",oy="Unable to retrieve your location: {message}. Please enable location services.",iy="Successfully clocked at {location}.",ay="Change Password",cy="Current Password",ly="New Password",uy="Confirm New Password",dy="Updating...",fy="Personnel",hy="Attendance",gy="QR Codes",my="Upload QR Image",py="Could not load worker information",xy="Could not verify current status from server",wy="Successfully clocked {action} at",yy="site",Cy="Error occurred",Ey="Unable to start camera.",Ay="Try Again",by="QR Code detected. Getting location...",_y="Geolocation is not supported by your browser.",Iy="Unable to retrieve your location: {message}. Please enable location services.",Sy="Could not detect a QR code. Please try again.",Ty="Update Password",vy="New passwords do not match.",ky="New password must be at least 6 characters long.",Ny="Password updated successfully! You can now use your new password to log in.",Ry="An error occurred while updating the password.",Oy="Attendance Log for",Dy="Add Manual Clock-Out",Py="Use this form if the worker forgot to clock out. The last event must be a clock-in.",Ly="Clock-Out Time",My='Reason (e.g., "Forgot to clock out")',Fy="Enter a brief note",$y="Add Record",By="Start Date",Uy="End Date",Wy="Filter Records",Vy="Event",Hy="Timestamp",Gy="Location Name",jy="Coordinates",Xy="Notes",Yy="No records found for this period.",Ky="Show on map",zy="N/A",qy="Please select a timestamp for the clock-out.",Qy="Please provide a reason/note for the manual entry.",Zy="Manual clock-out recorded successfully!",Jy="An error occurred: {message}",eC="1. Select Workers",tC="Search for a worker...",nC="Select All",rC="Add all workers from a tag",sC="-- Choose a tag --",oC="Add by Tag",iC="Selected for Report ({count})",aC="All Workers ({count}) Selected",cC="No workers selected.",lC="2. Report Settings",uC="Setting",dC="Monthly Salary (RM)",fC="Applied to all selected workers.",hC="e.g., 3000",gC="OT Factors",mC="Weekend Factor",pC="Holiday Factor",xC="Select Public Holidays",wC="Generate Attendance & OT Report",yC="Overtime Pay Summary",CC="Export OT Summary (CSV)",EC="Worker",AC="Total Hours Worked",bC="Total OT Pay (RM)",_C="Raw Attendance Data",IC="Loading Report...",SC="Could not load workers for the selected tag.",TC="Please select workers, set valid date range, and enter a salary.",vC="An error occurred while generating the report.",kC="Add New User",NC="Full Name",RC="e.g. John Smith",OC="e.g. jsmith",DC="e.g. 123456",PC="As Manager",LC="Adding...",MC="Add User",FC="Manage Tags",$C="Create New Tag",BC="e.g. Team",UC="Create Tag",WC="Tags",VC="Worker Roster",HC="Search by name or username",GC="Filter by tag",jC="Clear filter",XC="Date Joined",YC="Actions",KC="Edit Tags",zC="View Records",qC="Loading workers...",QC="No workers found.",ZC="Previous",JC="Next",eE="Page {current} of {total}",tE="No tags available.",nE="Done",rE="Bulk Edit Tags",sE="Clear Selection",oE="For user",iE="Save Password",aE="Saving...",cE="Failed to update tags. Please try again.",lE="Tag deleted successfully.",uE="Failed to fetch workers.",dE="Failed to load page data.",fE="An error occurred while adding the user.",hE="Failed to delete worker.",gE="Are you sure you want to delete this worker account?",mE="Are you sure you want to delete this tag? This will remove it from all workers.",pE="Failed to delete tag.",xE="Passwords do not match.",wE="Create New QR Code",yE="QR Code Name",CE="e.g., 'West Gate Entrance'",EE="Create",AE="New Code Created!",bE="Save this image or use the ID below. This will disappear on refresh.",_E="ID",IE="Existing QR Codes",SE="Name",TE="Status",vE="Deactivate",kE="Activate",NE="Download",RE="No QR codes found. Create one above!",OE="Are you sure you want to delete this QR code? This cannot be undone.",DE="Sorry, the QR code could not be downloaded.",PE="Remember me for auto-login",LE="This device is not authorized for your account. Please contact your administrator.",ME="Location tracking is active in the background",FE="Performing security check...",$E="Security check completed successfully",BE="High security risk detected. Please contact your administrator.",UE="Device registered successfully",WE="Auto-login enabled for this device",VE="Background location tracking enabled",HE="Location permissions are required for attendance tracking",GE="Please disable battery optimization for this app to ensure continuous location tracking",jE="GPS spoofing application detected. This may affect attendance accuracy.",XE="Mock location is enabled. Please disable it for accurate attendance tracking.",YE="Device security warning: Suspicious applications detected",KE="Failed to update location. Will retry automatically.",zE="Initializing native services...",qE="All services are ready",QE="Auto-login failed. Please log in manually.",ZE="Device validation failed. Please contact support.",JE="Services Status",eA="Overall Status",tA="Location Tracking",nA="Device Registration",rA="Security Status",sA="Last Location Update",oA="Device ID",iA="Start",aA="Check",cA="Checking...",lA="Refresh",uA="Refreshing...",dA="Not Initialized",fA="Ready",hA="Web Only",gA="Active",mA="Inactive",pA="Registered",xA="Pending",wA="Not Checked",yA="Outdated",CA="Current",EA="Never",AA="Just now",bA="{minutes}m ago",_A="{hours}h ago",IA="{days}d ago",SA="Failed to refresh status",TA="Location tracking started successfully",vA="Failed to start location tracking",kA="Security check failed",NA="Personal",RA="Clock History",OA="Open Camera",DA="Scan QR Code",PA="Services",LA="System services and security status",MA="Update your account password",FA="Sign out of your account",$A="Work Location Tracking",BA="Location tracking active for work attendance",UA="Monitoring location for work attendance",WA="App Information",VA="Version",HA="Platform",GA="Android",jA="Web",XA="Dark Mode",YA="Enable dark mode",KA="Disable dark mode",I1={appTitle:E3,logout:A3,login:b3,username:_3,password:I3,loggingIn:S3,language:T3,failedConnection:v3,invalidToken:k3,invalidCredentials:N3,english:R3,malay:O3,tamil:D3,bengali:P3,burmese:L3,nepali:M3,yourStatus:F3,clockedIn:$3,clockedOut:B3,clockIn:U3,clockOut:W3,clock_in:V3,clock_out:H3,scanToClock:G3,in:"In",out:j3,cancel:X3,viewMyClockHistory:Y3,changeMyPassword:K3,myClockHistory:z3,backToDashboard:q3,noClockHistory:Q3,clockHistoryFetchFail:Z3,viewClockHistory:J3,changePassword:ey,invalidCurrentPassword:ty,successClockIn:ny,successClockOut:ry,qrFail:sy,geoFail:oy,successClock:iy,changePasswordTitle:ay,currentPassword:cy,newPassword:ly,confirmNewPassword:uy,updating:dy,tabPersonnel:fy,tabAttendance:hy,tabQrCodes:gy,uploadQrImage:my,couldNotLoadWorkerInfo:py,couldNotVerifyStatus:xy,successfullyClocked:wy,site:yy,errorOccurred:Cy,unableToStartCamera:Ey,tryAgain:Ay,qrDetectedGettingLocation:by,geolocationNotSupported:_y,unableToRetrieveLocation:Iy,qrNotDetectedTryAgain:Sy,updatePassword:Ty,passwordsNoMatch:vy,passwordTooShort:ky,passwordUpdated:Ny,passwordUpdateError:Ry,attendanceLogFor:Oy,addManualClockOut:Dy,manualClockOutInstruction:Py,clockOutTime:Ly,reason:My,enterBriefNote:Fy,addRecord:$y,startDate:By,endDate:Uy,filterRecords:Wy,event:Vy,timestamp:Hy,locationName:Gy,coordinates:jy,notes:Xy,noRecordsFound:Yy,showOnMap:Ky,nA:zy,pleaseSelectTimestamp:qy,pleaseProvideReason:Qy,manualClockOutSuccess:Zy,manualClockOutError:Jy,selectWorkers:eC,searchWorkerPlaceholder:tC,selectAll:nC,addWorkersByTag:rC,chooseTag:sC,addByTag:oC,selectedForReport:iC,allWorkersSelected:aC,noWorkersSelected:cC,reportSettings:lC,setting:uC,monthlySalary:dC,salaryAppliedNote:fC,salaryPlaceholder:hC,otFactors:gC,weekendFactor:mC,holidayFactor:pC,selectPublicHolidays:xC,generateReport:wC,overtimePaySummary:yC,exportOtSummary:CC,worker:EC,totalHoursWorked:AC,totalOtPay:bC,rawAttendanceData:_C,loadingReport:IC,tagLoadError:SC,generateReportError:TC,reportGenerationError:vC,addNewUser:kC,fullName:NC,egJohnSmith:RC,egJsmith:OC,eg123456:DC,asManager:PC,adding:LC,addUser:MC,manageTags:FC,createNewTag:$C,egTeam:BC,createTag:UC,tags:WC,workerRoster:VC,searchByNameOrUsername:HC,filterByTag:GC,clearFilter:jC,dateJoined:XC,actions:YC,editTags:KC,viewRecords:zC,delete:"Delete",loadingWorkers:qC,noWorkersFound:QC,previous:ZC,next:JC,pageOf:eE,noTagsAvailable:tE,done:nE,bulkEditTags:rE,clearSelection:sE,forUser:oE,savePassword:iE,saving:aE,failedToUpdateTags:cE,tagDeleted:lE,failedToFetchWorkers:uE,failedToLoadPageData:dE,errorAddingUser:fE,failedToDeleteWorker:hE,areYouSureDeleteWorker:gE,areYouSureDeleteTag:mE,failedToDeleteTag:pE,passwordsDoNotMatch:xE,createQrCode:wE,qrCodeName:yE,qrNamePlaceholder:CE,create:EE,newCodeCreated:AE,saveQrInstruction:bE,id:_E,existingQrCodes:IE,name:SE,status:TE,deactivate:vE,activate:kE,download:NE,noQrCodesFound:RE,deleteQrConfirm:OE,qrDownloadError:DE,rememberMe:PE,deviceNotAuthorized:LE,locationTrackingActive:ME,securityCheckInProgress:FE,securityCheckComplete:$E,highSecurityRisk:BE,deviceRegistered:UE,autoLoginEnabled:WE,backgroundLocationEnabled:VE,permissionsRequired:HE,batteryOptimizationWarning:GE,gpsSpooferDetected:jE,mockLocationEnabled:XE,deviceSecurityWarning:YE,locationUpdateFailed:KE,servicesInitializing:zE,servicesReady:qE,autoLoginFailed:QE,deviceValidationFailed:ZE,servicesStatus:JE,overallStatus:eA,locationTracking:tA,deviceRegistration:nA,securityStatus:rA,lastLocationUpdate:sA,deviceId:oA,start:iA,check:aA,checking:cA,refresh:lA,refreshing:uA,notInitialized:dA,ready:fA,webOnly:hA,active:gA,inactive:mA,registered:pA,pending:xA,notChecked:wA,outdated:yA,current:CA,never:EA,justNow:AA,minutesAgo:bA,hoursAgo:_A,daysAgo:IA,failedToRefreshStatus:SA,locationTrackingStarted:TA,failedToStartLocationTracking:vA,securityCheckFailed:kA,personal:NA,clockHistory:RA,openCamera:OA,scanQRCode:DA,services:PA,systemServicesStatus:LA,updateYourPassword:MA,signOutOfAccount:FA,workLocationTracking:$A,locationTrackingForAttendance:BA,monitoringLocation:UA,appInformation:WA,version:VA,platform:HA,android:GA,web:jA,darkMode:XA,enableDarkMode:YA,disableDarkMode:KA},zA="Sistem Kehadiran",qA="Log Keluar",QA="Log Masuk",ZA="Nama Pengguna",JA="Kata Laluan",eb="Sedang log masuk...",tb="Bahasa",nb="Gagal untuk berhubung dengan pelayan.",rb="Nama pengguna atau kata laluan tidak sah.",sb="Token tidak sah diterima dari pelayan.",ob="Inggeris",ib="Melayu",ab="Tamil",cb="Bengali",lb="Burma",ub="Nepal",db="Status Anda",fb="Sudah Masuk",hb="Sudah Keluar",gb="Masuk Kerja",mb="Keluar Kerja",pb="Masuk Kerja",xb="Keluar Kerja",wb="Imbas untuk {action} Kerja",yb="Keluar",Cb="Batal",Eb="Lihat Sejarah",Ab="Tukar Kata Laluan Saya",bb="Sejarah Kehadiran Saya",_b="Kembali ke Papan Pemuka",Ib="Tiada rekod kehadiran.",Sb="Gagal untuk dapatkan sejarah kehadiran:",Tb="Lihat Sejarah Kehadiran Saya",vb="Tukar Kata Laluan Saya",kb="Kata laluan semasa tidak sah.",Nb="Berjaya masuk kerja.",Rb="Berjaya keluar kerja.",Ob="Kod QR tidak dapat dikesan. Sila cuba lagi.",Db="Tidak dapat mengambil lokasi anda: {message}. Sila benarkan perkhidmatan lokasi.",Pb="Berjaya daftar di {location}.",Lb="Tukar Kata Laluan",Mb="Kata Laluan Semasa",Fb="Kata Laluan Baharu",$b="Sahkan Kata Laluan Baharu",Bb="Mengemaskini...",Ub="Tetapan",Wb="Personel",Vb="Kehadiran",Hb="Kod QR",Gb="Muat Naik Imej QR",jb="Tidak dapat memuatkan maklumat pekerja",Xb="Tidak dapat mengesahkan status semasa dari pelayan",Yb="Berjaya {action} di",Kb="tapak",zb="Ralat telah berlaku",qb="Tidak dapat menghidupkan kamera.",Qb="Cuba Lagi",Zb="Kod QR dikesan. Mengambil lokasi...",Jb="Geolokasi tidak disokong oleh pelayar anda.",e_="Tidak dapat mengambil lokasi anda: {message}. Sila benarkan perkhidmatan lokasi.",t_="Kod QR tidak dapat dikesan. Sila cuba lagi.",n_="Kemaskini Kata Laluan",r_="Kata laluan baharu tidak sepadan.",s_="Kata laluan baharu mesti sekurang-kurangnya 6 aksara.",o_="Kata laluan berjaya dikemaskini! Anda boleh guna kata laluan baharu untuk log masuk.",i_="Ralat semasa mengemaskini kata laluan.",a_="Log Kehadiran untuk",c_="Tambah Clock-Out Manual",l_="Gunakan borang ini jika pekerja lupa untuk clock-out. Acara terakhir mesti clock-in.",u_="Masa Clock-Out",d_='Sebab (cth: "Lupa clock-out")',f_="Masukkan nota ringkas",h_="Tambah Rekod",g_="Tarikh Mula",m_="Tarikh Tamat",p_="Tapis Rekod",x_="Acara",w_="Cap Masa",y_="Nama Lokasi",C_="Koordinat",E_="Nota",A_="Tiada rekod untuk tempoh ini.",b_="Papar di peta",__="Tiada",I_="Sila pilih cap masa untuk clock-out.",S_="Sila berikan sebab/nota untuk kemasukan manual.",T_="Clock-out manual berjaya direkod!",v_="Ralat berlaku: {message}",k_="1. Pilih Pekerja",N_="Cari pekerja...",R_="Pilih Semua",O_="Tambah semua pekerja berdasarkan tag",D_="-- Pilih tag --",P_="Tambah melalui Tag",L_="Dipilih untuk Laporan ({count})",M_="Semua Pekerja ({count}) Dipilih",F_="Tiada pekerja dipilih.",$_="2. Tetapan Laporan",B_="Gaji Bulanan (RM)",U_="Diguna untuk semua pekerja yang dipilih.",W_="cth: 3000",V_="Faktor OT",H_="Faktor Hujung Minggu",G_="Faktor Cuti Umum",j_="Pilih Cuti Umum",X_="Jana Laporan Kehadiran & OT",Y_="Ringkasan Bayaran OT",K_="Eksport Ringkasan OT (CSV)",z_="Pekerja",q_="Jumlah Jam Bekerja",Q_="Jumlah Bayaran OT (RM)",Z_="Data Kehadiran Mentah",J_="Memuatkan Laporan...",e4="Tidak dapat memuatkan pekerja untuk tag yang dipilih.",t4="Sila pilih pekerja, tetapkan tarikh, dan masukkan gaji.",n4="Ralat semasa menjana laporan.",r4="Tambah Pengguna Baharu",s4="Nama Penuh",o4="cth. John Smith",i4="cth. jsmith",a4="cth. 123456",c4="Sebagai Pengurus",l4="Sedang menambah...",u4="Tambah Pengguna",d4="Urus Tag",f4="Cipta Tag Baharu",h4="cth. Pasukan",g4="Cipta Tag",m4="Tag",p4="Senarai Pekerja",x4="Cari mengikut nama atau nama pengguna",w4="Tapis mengikut tag",y4="Padam tapisan",C4="Tarikh Sertai",E4="Tindakan",A4="Sunting Tag",b4="Lihat Rekod",_4="Memuatkan pekerja...",I4="Tiada pekerja dijumpai.",S4="Sebelum",T4="Seterusnya",v4="Halaman {current} daripada {total}",k4="Tiada tag tersedia.",N4="Selesai",R4="Sunting Tag Secara Berkumpulan",O4="Padam Pilihan",D4="Untuk pengguna",P4="Simpan Kata Laluan",L4="Menyimpan...",M4="Gagal mengemas kini tag. Sila cuba lagi.",F4="Tag berjaya dipadam.",$4="Gagal memuatkan pekerja.",B4="Gagal memuatkan data halaman.",U4="Ralat semasa menambah pengguna.",W4="Gagal memadam pekerja.",V4="Adakah anda pasti mahu memadam akaun pekerja ini?",H4="Adakah anda pasti mahu memadam tag ini? Ia akan dikeluarkan daripada semua pekerja.",G4="Gagal memadam tag.",j4="Kata laluan tidak sepadan.",X4="Cipta Kod QR Baharu",Y4="Nama Kod QR",K4="cth: 'Pintu Masuk Barat'",z4="Cipta",q4="Kod Baharu Telah Dicipta!",Q4="Simpan imej ini atau gunakan ID di bawah. Ini akan hilang selepas segar semula.",Z4="ID",J4="Kod QR Sedia Ada",e8="Nama",t8="Status",n8="Aktif",r8="Tidak Aktif",s8="Nyahaktif",o8="Aktifkan",i8="Muat Turun",a8="Tiada kod QR dijumpai. Sila cipta di atas!",c8="Adakah anda pasti ingin memadam kod QR ini? Tindakan ini tidak boleh diundur.",l8="Maaf, kod QR tidak dapat dimuat turun.",u8="Ingat saya untuk log masuk automatik",d8="Peranti ini tidak dibenarkan untuk akaun anda. Sila hubungi pentadbir.",f8="Penjejakan lokasi aktif di latar belakang",h8="Menjalankan pemeriksaan keselamatan...",g8="Pemeriksaan keselamatan selesai dengan jayanya",m8="Risiko keselamatan tinggi dikesan. Sila hubungi pentadbir anda.",p8="Peranti berjaya didaftarkan",x8="Log masuk automatik diaktifkan untuk peranti ini",w8="Penjejakan lokasi latar belakang diaktifkan",y8="Kebenaran lokasi diperlukan untuk penjejakan kehadiran",C8="Sila lumpuhkan pengoptimuman bateri untuk aplikasi ini bagi memastikan penjejakan lokasi berterusan",E8="Aplikasi pemalsuan GPS dikesan. Ini mungkin menjejaskan ketepatan kehadiran.",A8="Lokasi palsu diaktifkan. Sila lumpuhkannya untuk penjejakan kehadiran yang tepat.",b8="Amaran keselamatan peranti: Aplikasi mencurigakan dikesan",_8="Gagal mengemas kini lokasi. Akan cuba semula secara automatik.",I8="Memulakan perkhidmatan asli...",S8="Semua perkhidmatan sedia",T8="Log masuk automatik gagal. Sila log masuk secara manual.",v8="Pengesahan peranti gagal. Sila hubungi sokongan.",k8="Peribadi",N8="Sejarah Kehadiran",R8="Buka Kamera",O8="Imbas Kod QR",D8="Perkhidmatan",P8="Status perkhidmatan sistem dan keselamatan",L8="Kemas Kini Kata Laluan",M8="Keluar Akaun",F8="Status Perkhidmatan",$8="Status Keseluruhan",B8="Penjejakan Lokasi",U8="Pendaftaran Peranti",W8="Status Keselamatan",V8="Kemaskini Lokasi Terakhir",H8="ID Peranti",G8="Mula",j8="Periksa",X8="Memeriksa...",Y8="Segar Semula",K8="Menyegar Semula...",z8="Tidak Dimulakan",q8="Sedia",Q8="Web Sahaja",Z8="Didaftarkan",J8="Menunggu",eI="Tidak Diperiksa",tI="Lapuk",nI="Semasa",rI="Tidak Pernah",sI="Baru Sahaja",oI="{minutes}m lalu",iI="{hours}j lalu",aI="{days}h lalu",cI="Gagal menyegar semula status",lI="Penjejakan lokasi dimulakan dengan jayanya",uI="Gagal memulakan penjejakan lokasi",dI="Pemeriksaan keselamatan gagal",fI="Penjejakan Lokasi Kerja",hI="Penjejakan lokasi aktif untuk kehadiran kerja",gI="Memantau lokasi untuk kehadiran kerja",mI="Gagal untuk mengesahkan status semasa dari pelayan.",pI="Maklumat Aplikasi",xI="Versi",wI="Platform",yI="Android",CI="Web",EI="Mod Gelap",AI="Aktifkan mod gelap",bI="Nyahaktifkan mod gelap",S1={appTitle:zA,logout:qA,login:QA,username:ZA,password:JA,loggingIn:eb,language:tb,failedConnection:nb,invalidCredentials:rb,invalidToken:sb,english:ob,malay:ib,tamil:ab,bengali:cb,burmese:lb,nepali:ub,yourStatus:db,clockedIn:fb,clockedOut:hb,clockIn:gb,clockOut:mb,clock_in:pb,clock_out:xb,scanToClock:wb,in:"Masuk",out:yb,cancel:Cb,viewMyClockHistory:Eb,changeMyPassword:Ab,myClockHistory:bb,backToDashboard:_b,noClockHistory:Ib,clockHistoryFetchFail:Sb,viewClockHistory:Tb,changePassword:vb,invalidCurrentPassword:kb,successClockIn:Nb,successClockOut:Rb,qrFail:Ob,geoFail:Db,successClock:Pb,changePasswordTitle:Lb,currentPassword:Mb,newPassword:Fb,confirmNewPassword:$b,updating:Bb,setting:Ub,tabPersonnel:Wb,tabAttendance:Vb,tabQrCodes:Hb,uploadQrImage:Gb,couldNotLoadWorkerInfo:jb,couldNotVerifyStatus:Xb,successfullyClocked:Yb,site:Kb,errorOccurred:zb,unableToStartCamera:qb,tryAgain:Qb,qrDetectedGettingLocation:Zb,geolocationNotSupported:Jb,unableToRetrieveLocation:e_,qrNotDetectedTryAgain:t_,updatePassword:n_,passwordsNoMatch:r_,passwordTooShort:s_,passwordUpdated:o_,passwordUpdateError:i_,attendanceLogFor:a_,addManualClockOut:c_,manualClockOutInstruction:l_,clockOutTime:u_,reason:d_,enterBriefNote:f_,addRecord:h_,startDate:g_,endDate:m_,filterRecords:p_,event:x_,timestamp:w_,locationName:y_,coordinates:C_,notes:E_,noRecordsFound:A_,showOnMap:b_,nA:__,pleaseSelectTimestamp:I_,pleaseProvideReason:S_,manualClockOutSuccess:T_,manualClockOutError:v_,selectWorkers:k_,searchWorkerPlaceholder:N_,selectAll:R_,addWorkersByTag:O_,chooseTag:D_,addByTag:P_,selectedForReport:L_,allWorkersSelected:M_,noWorkersSelected:F_,reportSettings:$_,monthlySalary:B_,salaryAppliedNote:U_,salaryPlaceholder:W_,otFactors:V_,weekendFactor:H_,holidayFactor:G_,selectPublicHolidays:j_,generateReport:X_,overtimePaySummary:Y_,exportOtSummary:K_,worker:z_,totalHoursWorked:q_,totalOtPay:Q_,rawAttendanceData:Z_,loadingReport:J_,tagLoadError:e4,generateReportError:t4,reportGenerationError:n4,addNewUser:r4,fullName:s4,egJohnSmith:o4,egJsmith:i4,eg123456:a4,asManager:c4,adding:l4,addUser:u4,manageTags:d4,createNewTag:f4,egTeam:h4,createTag:g4,tags:m4,workerRoster:p4,searchByNameOrUsername:x4,filterByTag:w4,clearFilter:y4,dateJoined:C4,actions:E4,editTags:A4,viewRecords:b4,delete:"Padam",loadingWorkers:_4,noWorkersFound:I4,previous:S4,next:T4,pageOf:v4,noTagsAvailable:k4,done:N4,bulkEditTags:R4,clearSelection:O4,forUser:D4,savePassword:P4,saving:L4,failedToUpdateTags:M4,tagDeleted:F4,failedToFetchWorkers:$4,failedToLoadPageData:B4,errorAddingUser:U4,failedToDeleteWorker:W4,areYouSureDeleteWorker:V4,areYouSureDeleteTag:H4,failedToDeleteTag:G4,passwordsDoNotMatch:j4,createQrCode:X4,qrCodeName:Y4,qrNamePlaceholder:K4,create:z4,newCodeCreated:q4,saveQrInstruction:Q4,id:Z4,existingQrCodes:J4,name:e8,status:t8,active:n8,inactive:r8,deactivate:s8,activate:o8,download:i8,noQrCodesFound:a8,deleteQrConfirm:c8,qrDownloadError:l8,rememberMe:u8,deviceNotAuthorized:d8,locationTrackingActive:f8,securityCheckInProgress:h8,securityCheckComplete:g8,highSecurityRisk:m8,deviceRegistered:p8,autoLoginEnabled:x8,backgroundLocationEnabled:w8,permissionsRequired:y8,batteryOptimizationWarning:C8,gpsSpooferDetected:E8,mockLocationEnabled:A8,deviceSecurityWarning:b8,locationUpdateFailed:_8,servicesInitializing:I8,servicesReady:S8,autoLoginFailed:T8,deviceValidationFailed:v8,personal:k8,clockHistory:N8,openCamera:R8,scanQRCode:O8,services:D8,systemServicesStatus:P8,updateYourPassword:L8,signOutOfAccount:M8,servicesStatus:F8,overallStatus:$8,locationTracking:B8,deviceRegistration:U8,securityStatus:W8,lastLocationUpdate:V8,deviceId:H8,start:G8,check:j8,checking:X8,refresh:Y8,refreshing:K8,notInitialized:z8,ready:q8,webOnly:Q8,registered:Z8,pending:J8,notChecked:eI,outdated:tI,current:nI,never:rI,justNow:sI,minutesAgo:oI,hoursAgo:iI,daysAgo:aI,failedToRefreshStatus:cI,locationTrackingStarted:lI,failedToStartLocationTracking:uI,securityCheckFailed:dI,workLocationTracking:fI,locationTrackingForAttendance:hI,monitoringLocation:gI,failedToVerifyStatus:mI,appInformation:pI,version:xI,platform:wI,android:yI,web:CI,darkMode:EI,enableDarkMode:AI,disableDarkMode:bI},_I="வருகை அமைப்பு",II="வெளியேறு",SI="உள்நுழை",TI="பயனர் பெயர்",vI="கடவுச்சொல்",kI="உள்நுழைகிறது...",NI="மொழி",RI="சர்வருடன் இணைக்க முடியவில்லை.",OI="சர்வரிலிருந்து தவறான டோக்கன் பெறப்பட்டது.",DI="தவறான பயனர் பெயர் அல்லது கடவுச்சொல்.",PI="ஆங்கிலம்",LI="மலாய்",MI="தமிழ்",FI="பெங்காலி",$I="பர்மா",BI="நேபாளி",UI="நிலைமை",WI="வருகை பதிவு செய்யப்பட்டது",VI="வெளியேறல் பதிவு செய்யப்பட்டது",HI="வருகை பதிவு",GI="வெளியேறல் பதிவு",jI="வருகை பதிவு",XI="வெளியேறல் பதிவு",YI="{action} பதிவு செய்ய ஸ்கேன் செய்யவும்",KI="வெளியேறல்",zI="ரத்து",qI="என் வருகை வரலாற்றைப் பார்க்கவும்",QI="என் கடவுச்சொல்லை மாற்றவும்",ZI="என் வருகை வரலாறு",JI="டாஷ்போர்டுக்குத் திரும்பு",eS="உங்களுக்கு வருகை வரலாறு இல்லை.",tS="வருகை வரலாற்றை பெற முடியவில்லை:",nS="என் வருகை வரலாற்றைப் பார்க்கவும்",rS="என் கடவுச்சொல்லை மாற்றவும்",sS="தற்போதைய கடவுச்சொல் தவறானது.",oS="வெற்றிகரமாக வருகை பதிவு செய்யப்பட்டது.",iS="வெற்றிகரமாக வெளியேறல் பதிவு செய்யப்பட்டது.",aS="QR கோட்டைக் கண்டறிய முடியவில்லை. தயவுசெய்து மீண்டும் முயற்சிக்கவும்.",cS="உங்கள் இருப்பிடத்தைப் பெற முடியவில்லை: {message}. தயவுசெய்து இருப்பிட சேவைகளை இயக்கவும்.",lS="{location} இல் வெற்றிகரமாக பதிவு செய்யப்பட்டது.",uS="கடவுச்சொல்லை மாற்று",dS="தற்போதைய கடவுச்சொல்",fS="புதிய கடவுச்சொல்",hS="புதிய கடவுச்சொல்லை உறுதிப்படுத்து",gS="புதுப்பிக்கிறது...",mS="பணியாளர்கள்",pS="வருகை",xS="QR கோட்கள்",wS="QR படத்தைப் பதிவேற்று",yS="பணியாளர் தகவலைப் பெற முடியவில்லை",CS="சர்வரிலிருந்து தற்போதைய நிலைமையை சரிபார்க்க முடியவில்லை",ES="வெற்றிகரமாக {action} பதிவு செய்யப்பட்டது",AS="இடத்தில்",bS="பிழை நிகழ்ந்தது",_S="கேமராவைத் தொடங்க முடியவில்லை.",IS="மீண்டும் முயற்சிக்கவும்",SS="QR கோட் கண்டறியப்பட்டது. இருப்பிடத்தைப் பெறுகிறது...",TS="உங்கள் உலாவியால் புவியிருப்பிடம் ஆதரிக்கப்படவில்லை.",vS="உங்கள் இருப்பிடத்தைப் பெற முடியவில்லை: {message}. தயவுசெய்து இருப்பிட சேவைகளை இயக்கவும்.",kS="QR கோட்டைக் கண்டறிய முடியவில்லை. தயவுசெய்து மீண்டும் முயற்சிக்கவும்.",NS="கடவுச்சொல்லைப் புதுப்பிக்கவும்",RS="புதிய கடவுச்சொற்கள் பொருந்தவில்லை.",OS="புதிய கடவுச்சொல் குறைந்தது 6 எழுத்துக்களாக இருக்க வேண்டும்.",DS="கடவுச்சொல் வெற்றிகரமாக புதுப்பிக்கப்பட்டது! நீங்கள் இப்போது உங்கள் புதிய கடவுச்சொல்லை உள்நுழைய பயன்படுத்தலாம்.",PS="கடவுச்சொல்லை புதுப்பிக்கும்போது பிழை ஏற்பட்டது.",LS="வருகை பதிவு -",MS="கைமுறை வெளியேறல் பதிவு சேர்க்கவும்",FS="பணியாளர் வெளியேறல் பதிவு செய்ய மறந்தால் இந்த படிவத்தைப் பயன்படுத்தவும். கடைசி நிகழ்வு வருகை பதிவாக இருக்க வேண்டும்.",$S="வெளியேறல் நேரம்",BS='காரணம் (எ.கா., "வெளியேறல் பதிவு செய்ய மறந்துவிட்டார்")',US="சுருக்கமான குறிப்பை உள்ளிடவும்",WS="பதிவு சேர்க்கவும்",VS="தொடக்க தேதி",HS="இறுதி தேதி",GS="பதிவுகளை வடிகட்டு",jS="நிகழ்வு",XS="நேர முத்திரை",YS="இடத்தின் பெயர்",KS="ஆயத்தொலைவுகள்",zS="குறிப்புகள்",qS="இந்த காலத்திற்கான பதிவுகள் எதுவும் கிடைக்கவில்லை.",QS="வரைபடத்தில் காட்டு",ZS="கிடையாது",JS="தயவுசெய்து வெளியேறலுக்கான நேர முத்திரையைத் தேர்ந்தெடுக்கவும்.",eT="தயவுசெய்து கைமுறை பதிவிற்கான காரணம்/குறிப்பை வழங்கவும்.",tT="கைமுறை வெளியேறல் வெற்றிகரமாக பதிவு செய்யப்பட்டது!",nT="பிழை ஏற்பட்டது: {message}",rT="1. பணியாளர்களைத் தேர்ந்தெடுக்கவும்",sT="ஒரு பணியாளரைத் தேடவும்...",oT="அனைத்தையும் தேர்ந்தெடு",iT="ஒரு டேக்கிலிருந்து அனைத்து பணியாளர்களையும் சேர்க்கவும்",aT="-- ஒரு டேக்கைத் தேர்ந்தெடுக்கவும் --",cT="டேக் மூலம் சேர்க்கவும்",lT="அறிக்கைக்காக தேர்ந்தெடுக்கப்பட்டவை ({count})",uT="அனைத்து பணியாளர்கள் ({count}) தேர்ந்தெடுக்கப்பட்டனர்",dT="பணியாளர்கள் எதுவும் தேர்ந்தெடுக்கப்படவில்லை.",fT="2. அறிக்கை அமைப்புகள்",hT="அமைப்பு",gT="மாதச் சம்பளம் (RM)",mT="தேர்ந்தெடுக்கப்பட்ட அனைத்து பணியாளர்களுக்கும் பயன்படுத்தப்படும்.",pT="எ.கா., 3000",xT="மேல்நேர காரணிகள்",wT="வாரக்கடைசி காரணி",yT="விடுமுறை காரணி",CT="பொது விடுமுறைகளைத் தேர்ந்தெடுக்கவும்",ET="வருகை & மேல்நேர அறிக்கையை உருவாக்கு",AT="மேல்நேர ஊதிய சுருக்கம்",bT="மேல்நேர சுருக்கத்தை ஏற்றுமதி செய் (CSV)",_T="பணியாளர்",IT="மொத்த வேலை நேரங்கள்",ST="மொத்த மேல்நேர ஊதியம் (RM)",TT="மூல வருகை தரவு",vT="அறிக்கை ஏற்றுகிறது...",kT="தேர்ந்தெடுக்கப்பட்ட டேக்கிற்கான பணியாளர்களை ஏற்ற முடியவில்லை.",NT="தயவுசெய்து பணியாளர்களைத் தேர்ந்தெடுத்து, சரியான தேதி வரம்பை அமைத்து, சம்பளத்தை உள்ளிடவும்.",RT="அறிக்கையை உருவாக்கும்போது பிழை ஏற்பட்டது.",OT="புதிய பயனரைச் சேர்க்கவும்",DT="முழு பெயர்",PT="எ.கா. John Smith",LT="எ.கா. jsmith",MT="எ.கா. 123456",FT="மேலாளராக",$T="சேர்க்கிறது...",BT="பயனரைச் சேர்க்கவும்",UT="டேக்குகளை நிர்வகிக்கவும்",WT="புதிய டேக் உருவாக்கவும்",VT="எ.கா. குழு",HT="டேக் உருவாக்கவும்",GT="டேக்குகள்",jT="பணியாளர் பட்டியல்",XT="பெயர் அல்லது பயனர் பெயர் மூலம் தேடவும்",YT="டேக் மூலம் வடிகட்டவும்",KT="வடிகட்டியைத் துடைக்கவும்",zT="சேர்ந்த தேதி",qT="செயல்கள்",QT="டேக்குகளைத் திருத்து",ZT="பதிவுகளைப் பார்க்கவும்",JT="பணியாளர்கள் ஏற்றப்படுகிறது...",ev="பணியாளர்கள் எதுவும் கிடைக்கவில்லை.",tv="முந்தைய",nv="அடுத்த",rv="பக்கம் {current} / {total}",sv="டேக்குகள் எதுவும் கிடைக்கவில்லை.",ov="முடிந்தது",iv="பல டேக்குகளைத் திருத்து",av="தேர்வைத் துடைக்கவும்",cv="பயனருக்கு",lv="கடவுச்சொல்லைச் சேமிக்கவும்",uv="சேமிக்கிறது...",dv="டேக்குகளை புதுப்பிக்க முடியவில்லை. தயவுசெய்து மீண்டும் முயற்சிக்கவும்.",fv="டேக் வெற்றிகரமாக நீக்கப்பட்டது.",hv="பணியாளர்களைப் பெற முடியவில்லை.",gv="பக்க தரவை ஏற்ற முடியவில்லை.",mv="பயனரைச் சேர்க்கும்போது பிழை ஏற்பட்டது.",pv="பணியாளரை நீக்க முடியவில்லை.",xv="இந்த பணியாளர் கணக்கை நீக்க நீங்கள் உறுதியாக உள்ளீர்களா?",wv="இந்த டேக்கை நீக்க நீங்கள் உறுதியாக உள்ளீர்களா? இது அனைத்து பணியாளர்களிடமிருந்தும் அகற்றப்படும்.",yv="டேக்கை நீக்க முடியவில்லை.",Cv="கடவுச்சொற்கள் பொருந்தவில்லை.",Ev="புதிய QR கோட் உருவாக்கவும்",Av="QR கோட்டின் பெயர்",bv="எ.கா., 'மேற்கு வாயில் நுழைவாயில்'",_v="உருவாக்கு",Iv="புதிய கோட் உருவாக்கப்பட்டது!",Sv="இந்த படத்தைச் சேமிக்கவும் அல்லது கீழே உள்ள ID ஐப் பயன்படுத்தவும். இது புதுப்பிப்பில் மறைந்துவிடும்.",Tv="ஐடி",vv="ஏற்கனவே உள்ள QR கோட்கள்",kv="பெயர்",Nv="நிலைமை",Rv="செயலிழக்கச் செய்",Ov="செயல்படுத்து",Dv="பதிவிறக்கு",Pv="QR கோட்கள் எதுவும் கிடைக்கவில்லை. மேலே ஒன்றை உருவாக்கவும்!",Lv="இந்த QR கோட்டை நீக்க நீங்கள் உறுதியாக உள்ளீர்களா? இதை மாற்ற முடியாது.",Mv="மன்னிக்கவும், QR கோட்டைப் பதிவிறக்க முடியவில்லை.",Fv="தானியங்கு உள்நுழைவுக்காக என்னை நினைவில் வைக்கவும்",$v="இந்த சாதனம் உங்கள் கணக்குக்கு அங்கீகரிக்கப்படவில்லை. தயவுசெய்து உங்கள் நிர்வாகியைத் தொடர்பு கொள்ளவும்.",Bv="இருப்பிட கண்காணிப்பு பின்னணியில் செயல்படுகிறது",Uv="பாதுகாப்பு சரிபார்ப்பு நடைபெறுகிறது...",Wv="பாதுகாப்பு சரிபார்ப்பு வெற்றிகரமாக முடிவடைந்தது",Vv="அதிக பாதுகாப்பு அபாயம் கண்டறியப்பட்டது. தயவுசெய்து உங்கள் நிர்வாகியைத் தொடர்பு கொள்ளவும்.",Hv="சாதனம் வெற்றிகரமாக பதிவு செய்யப்பட்டது",Gv="இந்த சாதனத்திற்கு தானியங்கு உள்நுழைவு இயக்கப்பட்டது",jv="பின்னணி இருப்பிட கண்காணிப்பு இயக்கப்பட்டது",Xv="வருகை கண்காணிப்புக்கு இருப்பிட அனுமதிகள் தேவை",Yv="தொடர்ச்சியான இருப்பிட கண்காணிப்பை உறுதிப்படுத்த இந்த பயன்பாட்டிற்கு பேட்டரி மேம்படுத்தலை முடக்கவும்",Kv="GPS போலிப் பயன்பாடு கண்டறியப்பட்டது. இது வருகை துல்லியத்தைப் பாதிக்கலாம்.",zv="போலி இருப்பிடம் இயக்கப்பட்டுள்ளது. துல்லியமான வருகை கண்காணிப்புக்கு அதை முடக்கவும்.",qv="சாதன பாதுகாப்பு எச்சரிக்கை: சந்தேகத்திற்குரிய பயன்பாடுகள் கண்டறியப்பட்டன",Qv="இருப்பிடத்தை புதுப்பிக்க முடியவில்லை. தானாகவே மீண்டும் முயற்சிக்கும்.",Zv="அடிப்படை சேவைகளை துவக்குகிறது...",Jv="அனைத்து சேவைகளும் தயாராக உள்ளன",ek="தானியங்கு உள்நுழைவு தோல்வி. தயவுசெய்து கைமுறையாக உள்நுழைக.",tk="சாதன சரிபார்ப்பு தோல்வி. தயவுசெய்து ஆதரவைத் தொடர்பு கொள்ளவும்.",nk="சேவைகளின் நிலை",rk="ஒட்டுமொத்த நிலை",sk="இருப்பிட கண்காணிப்பு",ok="சாதன பதிவு",ik="பாதுகாப்பு நிலை",ak="கடைசி இருப்பிட புதுப்பிப்பு",ck="சாதன ஐடி",lk="தொடங்கு",uk="சரிபார்க்கவும்",dk="சரிபார்க்கிறது...",fk="புதுப்பிக்கவும்",hk="புதுப்பிக்கிறது...",gk="துவக்கப்படவில்லை",mk="தயார்",pk="வலை மட்டும்",xk="செயலில்",wk="செயலில் இல்லை",yk="பதிவு செய்யப்பட்டது",Ck="நிலுவையில்",Ek="சரிபார்க்கப்படவில்லை",Ak="காலாவதியானது",bk="தற்போதைய",_k="ஒருபோதும் இல்லை",Ik="இப்போதுதான்",Sk="{minutes} நி முன்",Tk="{hours} மணி முன்",vk="{days} நா முன்",kk="நிலையை புதுப்பிக்க முடியவில்லை",Nk="இருப்பிட கண்காணிப்பு வெற்றிகரமாக தொடங்கப்பட்டது",Rk="இருப்பிட கண்காணிப்பைத் தொடங்க முடியவில்லை",Ok="பாதுகாப்பு சரிபார்ப்பு தோல்வி",Dk="தனிப்பட்ட",Pk="வருகை வரலாறு",Lk="கேமராவைத் திற",Mk="QR கோட் ஸ்கேன் செய்",Fk="சேவைகள்",$k="அமைப்பு சேவைகள் மற்றும் பாதுகாப்பு நிலை",Bk="உங்கள் கணக்கு கடவுச்சொல்லை புதுப்பிக்கவும்",Uk="உங்கள் கணக்கிலிருந்து வெளியேறவும்",Wk="பணியிட இருப்பிட கண்காணிப்பு",Vk="பணி வருகைக்காக இருப்பிட கண்காணிப்பு செயலில்",Hk="பணி வருகைக்காக இருப்பிடத்தைக் கண்காணிக்கிறது",T1={appTitle:_I,logout:II,login:SI,username:TI,password:vI,loggingIn:kI,language:NI,failedConnection:RI,invalidToken:OI,invalidCredentials:DI,english:PI,malay:LI,tamil:MI,bengali:FI,burmese:$I,nepali:BI,yourStatus:UI,clockedIn:WI,clockedOut:VI,clockIn:HI,clockOut:GI,clock_in:jI,clock_out:XI,scanToClock:YI,in:"வருகை",out:KI,cancel:zI,viewMyClockHistory:qI,changeMyPassword:QI,myClockHistory:ZI,backToDashboard:JI,noClockHistory:eS,clockHistoryFetchFail:tS,viewClockHistory:nS,changePassword:rS,invalidCurrentPassword:sS,successClockIn:oS,successClockOut:iS,qrFail:aS,geoFail:cS,successClock:lS,changePasswordTitle:uS,currentPassword:dS,newPassword:fS,confirmNewPassword:hS,updating:gS,tabPersonnel:mS,tabAttendance:pS,tabQrCodes:xS,uploadQrImage:wS,couldNotLoadWorkerInfo:yS,couldNotVerifyStatus:CS,successfullyClocked:ES,site:AS,errorOccurred:bS,unableToStartCamera:_S,tryAgain:IS,qrDetectedGettingLocation:SS,geolocationNotSupported:TS,unableToRetrieveLocation:vS,qrNotDetectedTryAgain:kS,updatePassword:NS,passwordsNoMatch:RS,passwordTooShort:OS,passwordUpdated:DS,passwordUpdateError:PS,attendanceLogFor:LS,addManualClockOut:MS,manualClockOutInstruction:FS,clockOutTime:$S,reason:BS,enterBriefNote:US,addRecord:WS,startDate:VS,endDate:HS,filterRecords:GS,event:jS,timestamp:XS,locationName:YS,coordinates:KS,notes:zS,noRecordsFound:qS,showOnMap:QS,nA:ZS,pleaseSelectTimestamp:JS,pleaseProvideReason:eT,manualClockOutSuccess:tT,manualClockOutError:nT,selectWorkers:rT,searchWorkerPlaceholder:sT,selectAll:oT,addWorkersByTag:iT,chooseTag:aT,addByTag:cT,selectedForReport:lT,allWorkersSelected:uT,noWorkersSelected:dT,reportSettings:fT,setting:hT,monthlySalary:gT,salaryAppliedNote:mT,salaryPlaceholder:pT,otFactors:xT,weekendFactor:wT,holidayFactor:yT,selectPublicHolidays:CT,generateReport:ET,overtimePaySummary:AT,exportOtSummary:bT,worker:_T,totalHoursWorked:IT,totalOtPay:ST,rawAttendanceData:TT,loadingReport:vT,tagLoadError:kT,generateReportError:NT,reportGenerationError:RT,addNewUser:OT,fullName:DT,egJohnSmith:PT,egJsmith:LT,eg123456:MT,asManager:FT,adding:$T,addUser:BT,manageTags:UT,createNewTag:WT,egTeam:VT,createTag:HT,tags:GT,workerRoster:jT,searchByNameOrUsername:XT,filterByTag:YT,clearFilter:KT,dateJoined:zT,actions:qT,editTags:QT,viewRecords:ZT,delete:"நீக்கு",loadingWorkers:JT,noWorkersFound:ev,previous:tv,next:nv,pageOf:rv,noTagsAvailable:sv,done:ov,bulkEditTags:iv,clearSelection:av,forUser:cv,savePassword:lv,saving:uv,failedToUpdateTags:dv,tagDeleted:fv,failedToFetchWorkers:hv,failedToLoadPageData:gv,errorAddingUser:mv,failedToDeleteWorker:pv,areYouSureDeleteWorker:xv,areYouSureDeleteTag:wv,failedToDeleteTag:yv,passwordsDoNotMatch:Cv,createQrCode:Ev,qrCodeName:Av,qrNamePlaceholder:bv,create:_v,newCodeCreated:Iv,saveQrInstruction:Sv,id:Tv,existingQrCodes:vv,name:kv,status:Nv,deactivate:Rv,activate:Ov,download:Dv,noQrCodesFound:Pv,deleteQrConfirm:Lv,qrDownloadError:Mv,rememberMe:Fv,deviceNotAuthorized:$v,locationTrackingActive:Bv,securityCheckInProgress:Uv,securityCheckComplete:Wv,highSecurityRisk:Vv,deviceRegistered:Hv,autoLoginEnabled:Gv,backgroundLocationEnabled:jv,permissionsRequired:Xv,batteryOptimizationWarning:Yv,gpsSpooferDetected:Kv,mockLocationEnabled:zv,deviceSecurityWarning:qv,locationUpdateFailed:Qv,servicesInitializing:Zv,servicesReady:Jv,autoLoginFailed:ek,deviceValidationFailed:tk,servicesStatus:nk,overallStatus:rk,locationTracking:sk,deviceRegistration:ok,securityStatus:ik,lastLocationUpdate:ak,deviceId:ck,start:lk,check:uk,checking:dk,refresh:fk,refreshing:hk,notInitialized:gk,ready:mk,webOnly:pk,active:xk,inactive:wk,registered:yk,pending:Ck,notChecked:Ek,outdated:Ak,current:bk,never:_k,justNow:Ik,minutesAgo:Sk,hoursAgo:Tk,daysAgo:vk,failedToRefreshStatus:kk,locationTrackingStarted:Nk,failedToStartLocationTracking:Rk,securityCheckFailed:Ok,personal:Dk,clockHistory:Pk,openCamera:Lk,scanQRCode:Mk,services:Fk,systemServicesStatus:$k,updateYourPassword:Bk,signOutOfAccount:Uk,workLocationTracking:Wk,locationTrackingForAttendance:Vk,monitoringLocation:Hk},Gk="উপস্থিতি ব্যবস্থা",jk="লগ আউট",Xk="লগ ইন",Yk="ইউজারনেম",Kk="পাসওয়ার্ড",zk="লগ ইন করা হচ্ছে...",qk="ভাষা",Qk="সার্ভারের সাথে সংযোগ করতে পারেনি।",Zk="সার্ভার থেকে অবৈধ টোকেন পাওয়া গেছে।",Jk="ভুল ইউজারনেম বা পাসওয়ার্ড।",e6="ইংরেজি",t6="মালয়",n6="তামিল",r6="বাংলা",s6="বর্মী",o6="নেপালি",i6="স্ট্যাটাস",a6="উপস্থিতি রেকর্ড হয়েছে",c6="প্রস্থান রেকর্ড হয়েছে",l6="উপস্থিতি রেকর্ড",u6="প্রস্থান রেকর্ড",d6="উপস্থিতি রেকর্ড",f6="প্রস্থান রেকর্ড",h6="{action} রেকর্ড করতে স্ক্যান করুন",g6="প্রস্থান",m6="বাতিল",p6="আমার উপস্থিতির ইতিহাস দেখুন",x6="আমার পাসওয়ার্ড পরিবর্তন করুন",w6="আমার উপস্থিতির ইতিহাস",y6="ড্যাশবোর্ডে ফিরে যান",C6="আপনার কোনো উপস্থিতির ইতিহাস নেই।",E6="উপস্থিতির ইতিহাস পেতে পারেনি:",A6="আমার উপস্থিতির ইতিহাস দেখুন",b6="আমার পাসওয়ার্ড পরিবর্তন করুন",_6="বর্তমান পাসওয়ার্ড ভুল।",I6="সফলভাবে উপস্থিতি রেকর্ড হয়েছে।",S6="সফলভাবে প্রস্থান রেকর্ড হয়েছে।",T6="QR কোড খুঁজে পাওয়া যায়নি। অনুগ্রহ করে আবার চেষ্টা করুন।",v6="আপনার অবস্থান খুঁজে পাওয়া যায়নি: {message}। অনুগ্রহ করে লোকেশন সার্ভিস চালু করুন।",k6="{location} এ সফলভাবে রেকর্ড হয়েছে।",N6="পাসওয়ার্ড পরিবর্তন করুন",R6="বর্তমান পাসওয়ার্ড",O6="নতুন পাসওয়ার্ড",D6="নতুন পাসওয়ার্ড নিশ্চিত করুন",P6="আপডেট করা হচ্ছে...",L6="কর্মী",M6="উপস্থিতি",F6="QR কোড",$6="QR ছবি আপলোড করুন",B6="কর্মীর তথ্য লোড করতে পারেনি",U6="সার্ভার থেকে বর্তমান স্ট্যাটাস যাচাই করতে পারেনি",W6="সফলভাবে {action} রেকর্ড হয়েছে",V6="স্থানে",H6="একটি ত্রুটি ঘটেছে",G6="ক্যামেরা চালু করতে পারেনি।",j6="আবার চেষ্টা করুন",X6="QR কোড পাওয়া গেছে। অবস্থান খুঁজে বের করা হচ্ছে...",Y6="আপনার ব্রাউজার জিওলোকেশন সাপোর্ট করে না।",K6="আপনার অবস্থান খুঁজে পাওয়া যায়নি: {message}। অনুগ্রহ করে লোকেশন সার্ভিস চালু করুন।",z6="QR কোড খুঁজে পাওয়া যায়নি। অনুগ্রহ করে আবার চেষ্টা করুন।",q6="পাসওয়ার্ড আপডেট করুন",Q6="নতুন পাসওয়ার্ড মিলছে না।",Z6="নতুন পাসওয়ার্ড কমপক্ষে ৬ অক্ষরের হতে হবে।",J6="পাসওয়ার্ড সফলভাবে আপডেট হয়েছে! এখন আপনি নতুন পাসওয়ার্ড দিয়ে লগ ইন করতে পারবেন।",e5="পাসওয়ার্ড আপডেট করার সময় একটি ত্রুটি হয়েছে।",t5="উপস্থিতির রেকর্ড -",n5="ম্যানুয়াল প্রস্থান রেকর্ড যোগ করুন",r5="কর্মী প্রস্থান রেকর্ড করতে ভুলে গেলে এই ফর্মটি ব্যবহার করুন। শেষ ইভেন্ট অবশ্যই উপস্থিতি রেকর্ড হতে হবে।",s5="প্রস্থানের সময়",o5='কারণ (যেমন, "প্রস্থান রেকর্ড করতে ভুলে গেছেন")',i5="সংক্ষিপ্ত নোট লিখুন",a5="রেকর্ড যোগ করুন",c5="শুরুর তারিখ",l5="শেষ তারিখ",u5="রেকর্ড ফিল্টার করুন",d5="ইভেন্ট",f5="সময়ের স্ট্যাম্প",h5="স্থানের নাম",g5="স্থানাঙ্ক",m5="নোট",p5="এই সময়ের জন্য কোনো রেকর্ড পাওয়া যায়নি।",x5="মানচিত্রে দেখুন",w5="নেই",y5="অনুগ্রহ করে প্রস্থানের জন্য সময়ের স্ট্যাম্প নির্বাচন করুন।",C5="অনুগ্রহ করে ম্যানুয়াল এন্ট্রির জন্য কারণ/নোট প্রদান করুন।",E5="ম্যানুয়াল প্রস্থান সফলভাবে রেকর্ড হয়েছে!",A5="একটি ত্রুটি ঘটেছে: {message}",b5="১. কর্মী নির্বাচন করুন",_5="একজন কর্মী খুঁজুন...",I5="সব নির্বাচন করুন",S5="একটি ট্যাগ থেকে সব কর্মী যোগ করুন",T5="-- একটি ট্যাগ বেছে নিন --",v5="ট্যাগ দ্বারা যোগ করুন",k5="রিপোর্টের জন্য নির্বাচিত ({count})",N5="সব কর্মী ({count}) নির্বাচিত",R5="কোনো কর্মী নির্বাচিত নয়।",O5="২. রিপোর্ট সেটিংস",D5="সেটিং",P5="মাসিক বেতন (RM)",L5="নির্বাচিত সব কর্মীর জন্য প্রযোজ্য।",M5="যেমন, ৩০০০",F5="ওভারটাইম ফ্যাক্টর",$5="সাপ্তাহিক ছুটির ফ্যাক্টর",B5="ছুটির দিনের ফ্যাক্টর",U5="সরকারি ছুটির দিন নির্বাচন করুন",W5="উপস্থিতি ও ওভারটাইম রিপোর্ট তৈরি করুন",V5="ওভারটাইম বেতনের সারসংক্ষেপ",H5="ওভারটাইম সারসংক্ষেপ রপ্তানি করুন (CSV)",G5="কর্মী",j5="মোট কাজের ঘন্টা",X5="মোট ওভারটাইম বেতন (RM)",Y5="কাঁচা উপস্থিতির তথ্য",K5="রিপোর্ট লোড করা হচ্ছে...",z5="নির্বাচিত ট্যাগের জন্য কর্মীদের লোড করতে পারেনি।",q5="অনুগ্রহ করে কর্মী নির্বাচন করুন, সঠিক তারিখের সীমা নির্ধারণ করুন এবং বেতন লিখুন।",Q5="রিপোর্ট তৈরি করার সময় একটি ত্রুটি ঘটেছে।",Z5="নতুন ইউজার যোগ করুন",J5="পূর্ণ নাম",eN="যেমন John Smith",tN="যেমন jsmith",nN="যেমন ১২৩৪৫৬",rN="ম্যানেজার হিসেবে",sN="যোগ করা হচ্ছে...",oN="ইউজার যোগ করুন",iN="ট্যাগ পরিচালনা করুন",aN="নতুন ট্যাগ তৈরি করুন",cN="যেমন টিম",lN="ট্যাগ তৈরি করুন",uN="ট্যাগ",dN="কর্মীদের তালিকা",fN="নাম বা ইউজারনেম দিয়ে খুঁজুন",hN="ট্যাগ দিয়ে ফিল্টার করুন",gN="ফিল্টার পরিষ্কার করুন",mN="যোগদানের তারিখ",pN="কার্যক্রম",xN="ট্যাগ সম্পাদনা করুন",wN="রেকর্ড দেখুন",yN="কর্মীরা লোড হচ্ছে...",CN="কোনো কর্মী পাওয়া যায়নি।",EN="পূর্ববর্তী",AN="পরবর্তী",bN="পৃষ্ঠা {current} এর {total}",_N="কোনো ট্যাগ উপলব্ধ নেই।",IN="সম্পন্ন",SN="একাধিক ট্যাগ সম্পাদনা করুন",TN="নির্বাচন পরিষ্কার করুন",vN="ইউজারের জন্য",kN="পাসওয়ার্ড সেভ করুন",NN="সেভ করা হচ্ছে...",RN="ট্যাগ আপডেট করতে পারেনি। অনুগ্রহ করে আবার চেষ্টা করুন।",ON="ট্যাগ সফলভাবে মুছে ফেলা হয়েছে।",DN="কর্মীদের তথ্য পেতে পারেনি।",PN="পেজের তথ্য লোড করতে পারেনি।",LN="ইউজার যোগ করার সময় একটি ত্রুটি ঘটেছে।",MN="কর্মী মুছে ফেলতে পারেনি।",FN="আপনি কি নিশ্চিত এই কর্মীর অ্যাকাউন্ট মুছে ফেলতে চান?",$N="আপনি কি নিশ্চিত এই ট্যাগটি মুছে ফেলতে চান? এটি সব কর্মী থেকে সরিয়ে দেওয়া হবে।",BN="ট্যাগ মুছে ফেলতে পারেনি।",UN="পাসওয়ার্ড মিলছে না।",WN="নতুন QR কোড তৈরি করুন",VN="QR কোডের নাম",HN="যেমন, 'পশ্চিম গেট প্রবেশদ্বার'",GN="তৈরি করুন",jN="নতুন কোড তৈরি হয়েছে!",XN="এই ছবিটি সেভ করুন বা নিচের ID ব্যবহার করুন। এটি রিফ্রেশে অদৃশ্য হয়ে যাবে।",YN="আইডি",KN="বিদ্যমান QR কোড",zN="নাম",qN="স্ট্যাটাস",QN="সক্রিয়",ZN="নিষ্ক্রিয়",JN="নিষ্ক্রিয় করুন",eR="সক্রিয় করুন",tR="ডাউনলোড",nR="কোনো QR কোড পাওয়া যায়নি। উপরে একটি তৈরি করুন!",rR="আপনি কি নিশ্চিত এই QR কোডটি মুছে ফেলতে চান? এটি পূর্বাবস্থায় ফেরানো যাবে না।",sR="দুঃখিত, QR কোড ডাউনলোড করা যায়নি।",oR="অটো লগইনের জন্য আমাকে মনে রাখুন",iR="এই ডিভাইসটি আপনার অ্যাকাউন্টের জন্য অনুমোদিত নয়। অনুগ্রহ করে আপনার অ্যাডমিনিস্ট্রেটরের সাথে যোগাযোগ করুন।",aR="লোকেশন ট্র্যাকিং পেছনে চালু আছে",cR="নিরাপত্তা যাচাই চলছে...",lR="নিরাপত্তা যাচাই সফলভাবে সম্পন্ন",uR="উচ্চ নিরাপত্তা ঝুঁকি শনাক্ত। অনুগ্রহ করে আপনার অ্যাডমিনিস্ট্রেটরের সাথে যোগাযোগ করুন।",dR="ডিভাইস সফলভাবে নিবন্ধিত হয়েছে",fR="এই ডিভাইসের জন্য অটো লগইন চালু করা হয়েছে",hR="পেছনের লোকেশন ট্র্যাকিং চালু করা হয়েছে",gR="উপস্থিতি ট্র্যাকিংয়ের জন্য লোকেশন অনুমতি প্রয়োজন",mR="অবিরাম লোকেশন ট্র্যাকিং নিশ্চিত করতে এই অ্যাপের জন্য ব্যাটারি অপটিমাইজেশন বন্ধ করুন",pR="GPS স্পুফিং অ্যাপ্লিকেশন শনাক্ত হয়েছে। এটি উপস্থিতির নির্ভুলতা প্রভাবিত করতে পারে।",xR="মক লোকেশন চালু আছে। নির্ভুল উপস্থিতি ট্র্যাকিংয়ের জন্য এটি বন্ধ করুন।",wR="ডিভাইস নিরাপত্তা সতর্কতা: সন্দেহজনক অ্যাপ্লিকেশন শনাক্ত",yR="লোকেশন আপডেট করতে পারেনি। স্বয়ংক্রিয়ভাবে আবার চেষ্টা করা হবে।",CR="নেটিভ সার্ভিস চালু করা হচ্ছে...",ER="সব সার্ভিস প্রস্তুত",AR="অটো লগইন ব্যর্থ। অনুগ্রহ করে ম্যানুয়ালি লগ ইন করুন।",bR="ডিভাইস ভেরিফিকেশন ব্যর্থ। অনুগ্রহ করে সাপোর্টের সাথে যোগাযোগ করুন।",_R="সার্ভিসের স্ট্যাটাস",IR="সামগ্রিক স্ট্যাটাস",SR="লোকেশন ট্র্যাকিং",TR="ডিভাইস নিবন্ধন",vR="নিরাপত্তার স্ট্যাটাস",kR="শেষ লোকেশন আপডেট",NR="ডিভাইস আইডি",RR="শুরু করুন",OR="যাচাই করুন",DR="যাচাই করা হচ্ছে...",PR="রিফ্রেশ করুন",LR="রিফ্রেশ করা হচ্ছে...",MR="চালু করা হয়নি",FR="প্রস্তুত",$R="শুধু ওয়েব",BR="নিবন্ধিত",UR="অপেক্ষমান",WR="যাচাই করা হয়নি",VR="পুরোনো",HR="বর্তমান",GR="কখনো না",jR="এইমাত্র",XR="{minutes} মিনিট আগে",YR="{hours} ঘন্টা আগে",KR="{days} দিন আগে",zR="স্ট্যাটাস রিফ্রেশ করতে পারেনি",qR="লোকেশন ট্র্যাকিং সফলভাবে শুরু হয়েছে",QR="লোকেশন ট্র্যাকিং শুরু করতে পারেনি",ZR="নিরাপত্তা যাচাই ব্যর্থ",JR="ব্যক্তিগত",eO="উপস্থিতির ইতিহাস",tO="ক্যামেরা খুলুন",nO="QR কোড স্ক্যান করুন",rO="সার্ভিস",sO="সিস্টেম সার্ভিস এবং নিরাপত্তার স্ট্যাটাস",oO="আপনার অ্যাকাউন্টের পাসওয়ার্ড আপডেট করুন",iO="আপনার অ্যাকাউন্ট থেকে সাইন আউট করুন",aO="কর্মক্ষেত্রের লোকেশন ট্র্যাকিং",cO="কাজের উপস্থিতির জন্য লোকেশন ট্র্যাকিং সক্রিয়",lO="কাজের উপস্থিতির জন্য লোকেশন নিরীক্ষণ করা হচ্ছে",v1={appTitle:Gk,logout:jk,login:Xk,username:Yk,password:Kk,loggingIn:zk,language:qk,failedConnection:Qk,invalidToken:Zk,invalidCredentials:Jk,english:e6,malay:t6,tamil:n6,bengali:r6,burmese:s6,nepali:o6,yourStatus:i6,clockedIn:a6,clockedOut:c6,clockIn:l6,clockOut:u6,clock_in:d6,clock_out:f6,scanToClock:h6,in:"উপস্থিতি",out:g6,cancel:m6,viewMyClockHistory:p6,changeMyPassword:x6,myClockHistory:w6,backToDashboard:y6,noClockHistory:C6,clockHistoryFetchFail:E6,viewClockHistory:A6,changePassword:b6,invalidCurrentPassword:_6,successClockIn:I6,successClockOut:S6,qrFail:T6,geoFail:v6,successClock:k6,changePasswordTitle:N6,currentPassword:R6,newPassword:O6,confirmNewPassword:D6,updating:P6,tabPersonnel:L6,tabAttendance:M6,tabQrCodes:F6,uploadQrImage:$6,couldNotLoadWorkerInfo:B6,couldNotVerifyStatus:U6,successfullyClocked:W6,site:V6,errorOccurred:H6,unableToStartCamera:G6,tryAgain:j6,qrDetectedGettingLocation:X6,geolocationNotSupported:Y6,unableToRetrieveLocation:K6,qrNotDetectedTryAgain:z6,updatePassword:q6,passwordsNoMatch:Q6,passwordTooShort:Z6,passwordUpdated:J6,passwordUpdateError:e5,attendanceLogFor:t5,addManualClockOut:n5,manualClockOutInstruction:r5,clockOutTime:s5,reason:o5,enterBriefNote:i5,addRecord:a5,startDate:c5,endDate:l5,filterRecords:u5,event:d5,timestamp:f5,locationName:h5,coordinates:g5,notes:m5,noRecordsFound:p5,showOnMap:x5,nA:w5,pleaseSelectTimestamp:y5,pleaseProvideReason:C5,manualClockOutSuccess:E5,manualClockOutError:A5,selectWorkers:b5,searchWorkerPlaceholder:_5,selectAll:I5,addWorkersByTag:S5,chooseTag:T5,addByTag:v5,selectedForReport:k5,allWorkersSelected:N5,noWorkersSelected:R5,reportSettings:O5,setting:D5,monthlySalary:P5,salaryAppliedNote:L5,salaryPlaceholder:M5,otFactors:F5,weekendFactor:$5,holidayFactor:B5,selectPublicHolidays:U5,generateReport:W5,overtimePaySummary:V5,exportOtSummary:H5,worker:G5,totalHoursWorked:j5,totalOtPay:X5,rawAttendanceData:Y5,loadingReport:K5,tagLoadError:z5,generateReportError:q5,reportGenerationError:Q5,addNewUser:Z5,fullName:J5,egJohnSmith:eN,egJsmith:tN,eg123456:nN,asManager:rN,adding:sN,addUser:oN,manageTags:iN,createNewTag:aN,egTeam:cN,createTag:lN,tags:uN,workerRoster:dN,searchByNameOrUsername:fN,filterByTag:hN,clearFilter:gN,dateJoined:mN,actions:pN,editTags:xN,viewRecords:wN,delete:"মুছে ফেলুন",loadingWorkers:yN,noWorkersFound:CN,previous:EN,next:AN,pageOf:bN,noTagsAvailable:_N,done:IN,bulkEditTags:SN,clearSelection:TN,forUser:vN,savePassword:kN,saving:NN,failedToUpdateTags:RN,tagDeleted:ON,failedToFetchWorkers:DN,failedToLoadPageData:PN,errorAddingUser:LN,failedToDeleteWorker:MN,areYouSureDeleteWorker:FN,areYouSureDeleteTag:$N,failedToDeleteTag:BN,passwordsDoNotMatch:UN,createQrCode:WN,qrCodeName:VN,qrNamePlaceholder:HN,create:GN,newCodeCreated:jN,saveQrInstruction:XN,id:YN,existingQrCodes:KN,name:zN,status:qN,active:QN,inactive:ZN,deactivate:JN,activate:eR,download:tR,noQrCodesFound:nR,deleteQrConfirm:rR,qrDownloadError:sR,rememberMe:oR,deviceNotAuthorized:iR,locationTrackingActive:aR,securityCheckInProgress:cR,securityCheckComplete:lR,highSecurityRisk:uR,deviceRegistered:dR,autoLoginEnabled:fR,backgroundLocationEnabled:hR,permissionsRequired:gR,batteryOptimizationWarning:mR,gpsSpooferDetected:pR,mockLocationEnabled:xR,deviceSecurityWarning:wR,locationUpdateFailed:yR,servicesInitializing:CR,servicesReady:ER,autoLoginFailed:AR,deviceValidationFailed:bR,servicesStatus:_R,overallStatus:IR,locationTracking:SR,deviceRegistration:TR,securityStatus:vR,lastLocationUpdate:kR,deviceId:NR,start:RR,check:OR,checking:DR,refresh:PR,refreshing:LR,notInitialized:MR,ready:FR,webOnly:$R,registered:BR,pending:UR,notChecked:WR,outdated:VR,current:HR,never:GR,justNow:jR,minutesAgo:XR,hoursAgo:YR,daysAgo:KR,failedToRefreshStatus:zR,locationTrackingStarted:qR,failedToStartLocationTracking:QR,securityCheckFailed:ZR,personal:JR,clockHistory:eO,openCamera:tO,scanQRCode:nO,services:rO,systemServicesStatus:sO,updateYourPassword:oO,signOutOfAccount:iO,workLocationTracking:aO,locationTrackingForAttendance:cO,monitoringLocation:lO},uO="တက်ရောက်မှု စနစ်",dO="ထွက်ရန်",fO="ဝင်ရောက်ရန်",hO="အသုံးပြုသူအမည်",gO="လျှို့ဝှက်နံပါတ်",mO="ဝင်ရောက်နေသည်...",pO="ဘာသာစကား",xO="ဆာဗာနှင့် ချိတ်ဆက်၍မရပါ။",wO="ဆာဗာမှ မမှန်ကန်သော တိုကင်ရရှိခဲ့သည်။",yO="အသုံးပြုသူအမည် သို့မဟုတ် လျှို့ဝှက်နံပါတ် မမှန်ကန်ပါ။",CO="အင်္ဂလိပ်",EO="မလေး",AO="တမီးလ်",bO="ဘင်္ဂါလီ",_O="မြန်မာ",IO="နီပေါ",SO="သင်၏အခြေအနေ",TO="အချိန်ဝင်ပြီး",vO="အချိန်ထွက်ပြီး",kO="အချိန်ဝင်ရန်",NO="အချိန်ထွက်ရန်",RO="အချိန်ဝင်ရန်",OO="အချိန်ထွက်ရန်",DO="{action} အတွက် စကင်န်ဖတ်ပါ",PO="ထွက်",LO="ပယ်ဖျက်ရန်",MO="ကျွန်ုပ်၏ အချိန်မှတ်တမ်းကြည့်ရန်",FO="ကျွန်ုပ်၏ လျှို့ဝှက်နံပါတ်ပြောင်းရန်",$O="ကျွန်ုပ်၏ အချိန်မှတ်တမ်း",BO="ပင်မစာမျက်နှာသို့ ပြန်ရန်",UO="သင့်တွင် အချိန်မှတ်တမ်း မရှိပါ။",WO="အချိန်မှတ်တမ်း ရယူ၍မရပါ:",VO="ကျွန်ုပ်၏ အချိန်မှတ်တမ်းကြည့်ရန်",HO="လျှို့ဝှက်နံပါတ်ပြောင်းရန်",GO="လက်ရှိလျှို့ဝှက်နံပါတ် မမှန်ကန်ပါ။",jO="အချိန်ဝင်ခြင်း အောင်မြင်ပါသည်။",XO="အချိန်ထွက်ခြင်း အောင်မြင်ပါသည်။",YO="QR ကုဒ်ကို ဖတ်၍မရပါ။ ထပ်မံကြိုးစားပါ။",KO="သင့်တည်နေရာကို ရယူ၍မရပါ: {message}။ တည်နေရာဝန်ဆောင်မှုများကို ဖွင့်ထားပါ။",zO="{location} တွင် အချိန်မှတ်ခြင်း အောင်မြင်ပါသည်။",qO="လျှို့ဝှက်နံပါတ်ပြောင်းရန်",QO="လက်ရှိလျှို့ဝှက်နံပါတ်",ZO="လျှို့ဝှက်နံပါတ်အသစ်",JO="လျှို့ဝှက်နံပါတ်အသစ် အတည်ပြုပါ",e7="အပ်ဒိတ်လုပ်နေသည်...",t7="ဝန်ထမ်းများ",n7="တက်ရောက်မှု",r7="QR ကုဒ်များ",s7="QR ပုံအပ်လုဒ်လုပ်ရန်",o7="အလုပ်သမားအချက်အလက်များ ရယူ၍မရပါ",i7="ဆာဗာမှ လက်ရှိအခြေအနေကို အတည်ပြု၍မရပါ",a7="{action} အချိန်မှတ်ခြင်း အောင်မြင်ပါသည်",c7="နေရာ",l7="အမှားအယွင်း ဖြစ်ပွားခဲ့သည်",u7="ကင်မရာကို ဖွင့်၍မရပါ။",d7="ထပ်မံကြိုးစားပါ",f7="QR ကုဒ် တွေ့ရှိပြီး။ တည်နေရာရယူနေသည်...",h7="သင့်ဘရောက်ဇာတွင် တည်နေရာဝန်ဆောင်မှု မပါဝင်ပါ။",g7="သင့်တည်နေရာကို ရယူ၍မရပါ: {message}။ တည်နေရာဝန်ဆောင်မှုများကို ဖွင့်ထားပါ။",m7="QR ကုဒ်ကို ဖတ်၍မရပါ။ ထပ်မံကြိုးစားပါ။",p7="လျှို့ဝှက်နံပါတ် အပ်ဒိတ်လုပ်ရန်",x7="လျှို့ဝှက်နံပါတ်အသစ်များ မတူညီပါ။",w7="လျှို့ဝှက်နံပါတ်အသစ်သည် အနည်းဆုံး ၆လုံး ရှိရပါမည်။",y7="လျှို့ဝှက်နံပါတ် အပ်ဒိတ်လုပ်ပြီးပါပြီ။ လျှို့ဝှက်နံပါတ်အသစ်ဖြင့် ဝင်ရောက်နိုင်ပါပြီ။",C7="လျှို့ဝှက်နံပါတ် အပ်ဒိတ်လုပ်စဉ် အမှားအယွင်း ဖြစ်ပွားခဲ့သည်။",E7="အတွက် တက်ရောက်မှုမှတ်တမ်း",A7="လက်ဖြင့် အချိန်ထွက် ထည့်သွင်းရန်",b7="အလုပ်သမားက အချိန်ထွက်ရန် မေ့လျော့ပါက ဤပုံစံကို အသုံးပြုပါ။ နောက်ဆုံးဖြစ်ရပ်သည် အချိန်ဝင်ခြင်း ဖြစ်ရပါမည်။",_7="အချိန်ထွက် အချိန်",I7='အကြောင်းပြချက် (ဥပမာ "အချိန်ထွက်ရန် မေ့လျော့ခဲ့သည်")',S7="အကျဉ်းချုပ် မှတ်စုရေးပါ",T7="မှတ်တမ်း ထည့်သွင်းရန်",v7="စတင်ရက်",k7="ပြီးဆုံးရက်",N7="မှတ်တမ်းများ စစ်ထုတ်ရန်",R7="ဖြစ်ရပ်",O7="အချိန်တံဆိပ်",D7="နေရာအမည်",P7="ကိုအော်ဒီနိတ်များ",L7="မှတ်စုများ",M7="ဤကာလအတွင်း မှတ်တမ်းများ မတွေ့ပါ။",F7="မြေပုံပေါ်တွင် ပြရန်",$7="မရှိ",B7="အချိန်ထွက်အတွက် အချိန်တံဆိပ်ကို ရွေးချယ်ပါ။",U7="လက်ဖြင့်ထည့်သွင်းရန်အတွက် အကြောင်းပြချက်/မှတ်စု ပေးပါ။",W7="လက်ဖြင့် အချိန်ထွက် မှတ်တမ်း အောင်မြင်စွာ ပြုလုပ်ပြီးပါပြီ။",V7="အမှားအယွင်း ဖြစ်ပွားခဲ့သည်: {message}",H7="၁။ အလုပ်သမားများ ရွေးချယ်ရန်",G7="အလုပ်သမား ရှာဖွေပါ...",j7="အားလုံး ရွေးချယ်ရန်",X7="တက်မှ အလုပ်သမားအားလုံးကို ထည့်ရန်",Y7="-- တက် ရွေးချယ်ပါ --",K7="တက်ဖြင့် ထည့်ရန်",z7="အစီရင်ခံစာအတွက် ရွေးချယ်ပြီး ({count})",q7="အလုပ်သမားအားလုံး ({count}) ရွေးချယ်ပြီး",Q7="အလုပ်သမား မရွေးချယ်ရသေးပါ။",Z7="၂။ အစီရင်ခံစာ ဆက်တင်များ",J7="ဆက်တင်",eD="လစာ (ရူပီး)",tD="ရွေးချယ်ထားသော အလုပ်သမားအားလုံးအတွက် အသုံးပြုသည်။",nD="ဥပမာ ၃၀၀၀",rD="အပိုအချိန် အချက်များ",sD="စနေတနင်္ဂနွေ အချက်",oD="အားလပ်ရက် အချက်",iD="အများပြည်သူ အားလပ်ရက်များ ရွေးချယ်ရန်",aD="တက်ရောက်မှုနှင့် အပိုအချိန် အစီရင်ခံစာ ထုတ်လုပ်ရန်",cD="အပိုအချိन် လစာအကျဉ်းချုပ်",lD="အပိုအချိန် အကျဉ်းချုပ် ပို့ထုတ်ရန် (CSV)",uD="အလုပ်သမား",dD="စုစုပေါင်း အလုပ်လုပ်ခဲ့သော နာရီများ",fD="စုစုပေါင်း အပိုအချိန် လစာ (ရူပီး)",hD="တက်ရောက်မှု အချက်အလက်များ",gD="အစီရင်ခံစာ ရယူနေသည်...",mD="ရွေးချယ်ထားသော တက်အတွက် အလုပ်သမားများကို ရယူ၍မရပါ။",pD="အလုပ်သမားများ ရွေးချယ်ပါ၊ မှန်ကန်သော ရက်စွဲအပိုင်းအခြား သတ်မှတ်ပါ နှင့် လစာထည့်ပါ။",xD="အစီရင်ခံစာ ထုတ်လုပ်စဉ် အမှားအယွင်း ဖြစ်ပွားခဲ့သည်။",wD="အသုံးပြုသူအသစ် ထည့်သွင်းရန်",yD="အမည်အပြည့်အစုံ",CD="ဥပမာ မောင်ကျော်",ED="ဥပမာ mkyaw",AD="ဥပမာ ၁၂၃၄၅၆",bD="မန်နေဂျာအနေဖြင့်",_D="ထည့်သွင်းနေသည်...",ID="အသုံးပြုသူ ထည့်သွင်းရန်",SD="တက်များ စီမံခန့်ခွဲရန်",TD="တက်အသစ် ဖန်တီးရန်",vD="ဥပမာ အဖွဲ့",kD="တက် ဖန်တီးရန်",ND="တက်များ",RD="အလုပ်သမား စာရင်း",OD="အမည် သို့မဟုတ် အသုံးပြုသူအမည်ဖြင့် ရှာပါ",DD="တက်ဖြင့် စစ်ထုတ်ပါ",PD="စစ်ထုတ်မှု ရှင်းလင်းရန်",LD="ဝင်ရောက်သည့်ရက်",MD="လုပ်ဆောင်ချက်များ",FD="တက်များ တည်းဖြတ်ရန်",$D="မှတ်တမ်းများ ကြည့်ရန်",BD="အလုပ်သမားများ ရယူနေသည်...",UD="အလုပ်သမား မတွေ့ပါ။",WD="ရှေ့သို့",VD="နောက်သို့",HD="စာမျက်နှာ {current} / {total}",GD="အသုံးပြုနိုင်သော တက် မရှိပါ။",jD="ပြီးပါပြီ",XD="တက်များ အစုလိုက် တည်းဖြတ်ရန်",YD="ရွေးချယ်မှု ရှင်းလင်းရန်",KD="အသုံးပြုသူအတွက်",zD="လျှို့ဝှက်နံပါတ် သိမ်းဆည်းရန်",qD="သိမ်းဆည်းနေသည်...",QD="တက်များ အပ်ဒိတ်လုပ်၍မရပါ။ ထပ်မံကြိုးစားပါ။",ZD="တက် ဖျက်ပြီးပါပြီ။",JD="အလုပ်သမားများ ရယူ၍မရပါ။",e9="စာမျက်နှာ အချက်အလက်များ ရယူ၍မရပါ။",t9="အသုံးပြုသူ ထည့်သွင်းစဉ် အမှားအယွင်း ဖြစ်ပွားခဲ့သည်။",n9="အလုပ်သမား ဖျက်၍မရပါ။",r9="ဤအလုပ်သမား အကောင့်ကို ဖျက်မည်မှာ သေချာပါသလား။",s9="ဤတက်ကို ဖျက်မည်မှာ သေချာပါသလား။ ဤသည်က အလုပ်သမားအားလုံးမှ ဖယ်ရှားလိမ့်မည်။",o9="တက် ဖျက်၍မရပါ။",i9="လျှို့ဝှက်နံပါတ်များ မတူညီပါ။",a9="QR ကုဒ်အသစ် ဖန်တီးရန်",c9="QR ကုဒ် အမည်",l9="ဥပမာ 'အနောက်ဂိတ် ဝင်ပေါက်'",u9="ဖန်တီးရန်",d9="ကုဒ်အသစ် ဖန်တီးပြီးပါပြီ။",f9="ဤပုံကို သိမ်းဆည်းပါ သို့မဟုတ် အောက်ပါ ID ကို အသုံးပြုပါ။ ဤသည်က ပြန်လည်ရယူမှုတွင် ပျောက်ကွယ်သွားလိမ့်မည်။",h9="အိုင်ဒီ",g9="ရှိပြီးသား QR ကုဒ်များ",m9="အမည်",p9="အခြေအနေ",x9="ပိတ်ရန်",w9="ဖွင့်ရန်",y9="ဒေါင်းလုဒ်လုပ်ရန်",C9="QR ကုဒ် မတွေ့ပါ။ အထက်တွင် တစ်ခု ဖန်တီးပါ။",E9="ဤ QR ကုဒ်ကို ဖျက်မည်မှာ သေချာပါသလား။ ဤသည်ကို နောက်ပြန်မပြောင်းနိုင်ပါ။",A9="စိတ်မကောင်းပါ၊ QR ကုဒ်ကို ဒေါင်းလုဒ်လုပ်၍မရပါ။",b9="အလိုအလျောက်ဝင်ရောက်ရန် ကျွန်ုပ်ကို မှတ်ထားပါ",_9="ဤစက်ပစ္စည်းသည် သင့်အကောင့်အတွက် ခွင့်ပြုချက် မရှိပါ။ သင့်စီမံခန့်ခွဲသူကို ဆက်သွယ်ပါ။",I9="နောက်ကွယ်တွင် တည်နေရာခြေရာခံမှု အသက်ဝင်နေသည်",S9="လုံခြုံရေးစစ်ဆေးမှု ပြုလုပ်နေသည်...",T9="လုံခြုံရေးစစ်ဆေးမှု အောင်မြင်စွာ ပြီးဆုံးပါပြီ",v9="မြင့်မားသော လုံခြုံရေးအန္တရာယ် တွေ့ရှိရသည်။ သင့်စီမံခန့်ခွဲသူကို ဆက်သွယ်ပါ။",k9="စက်ပစ္စည်း အောင်မြင်စွာ မှတ်ပုံတင်ပြီးပါပြီ",N9="ဤစက်ပစ္စည်းအတွက် အလိုအလျောက်ဝင်ရောက်မှု ဖွင့်ပြီးပါပြီ",R9="နောက်ကွယ် တည်နေရာခြေရာခံမှု ဖွင့်ပြီးပါပြီ",O9="တက်ရောက်မှုခြေရာခံမှုအတွက် တည်နေရာခွင့်ပြုချက်များ လိုအပ်သည်",D9="ဆက်တိုက် တည်နေရာခြေရာခံမှုအတွက် ဤအပ်ပ်အတွက် ဘက်ထရီ အကောင်းဆုံးလုပ်ခြင်းကို ပိတ်ပါ",P9="GPS အတုအပ် အပလီကေးရှင်း တွေ့ရှိရသည်။ ဤသည်က တက်ရောက်မှု တိကျမှုကို ထိခိုက်စေနိုင်သည်။",L9="အတု တည်နေရာ ဖွင့်ထားသည်။ တိကျသော တက်ရောက်မှု ခြေရာခံမှုအတွက် ပိတ်ပါ။",M9="စက်ပစ္စည်း လုံခြုံရေး သတိပေးချက်: သံသယဖြစ်ဖွယ် အပလီကေးရှင်းများ တွေ့ရှိရသည်",F9="တည်နေရာ အပ်ဒိတ်လုပ်၍မရပါ။ အလိုအလျောက် ထပ်မံကြိုးစားလိမ့်မည်။",$9="မူလဝန်ဆောင်မှုများ စတင်နေသည်...",B9="ဝန်ဆောင်မှုများ အားလုံး အဆင်သင့်ပါပြီ",U9="အလိုအလျောက်ဝင်ရောက်မှု မအောင်မြင်ပါ။ လက်ဖြင့် ဝင်ရောက်ပါ။",W9="စက်ပစ္စည်း အတည်ပြုခြင်း မအောင်မြင်ပါ။ ပံ့ပိုးမှုကို ဆက်သွယ်ပါ။",V9="ဝန်ဆောင်မှုများ အခြေအနေ",H9="ခြုံငုံအခြေအနေ",G9="တည်နေရာခြေရာခံမှု",j9="စက်ပစ္စည်း မှတ်ပုံတင်မှု",X9="လုံခြုံရေး အခြေအနေ",Y9="နောက်ဆုံး တည်နေရာ အပ်ဒိတ်",K9="စက်ပစ္စည်း အိုင်ဒီ",z9="စတင်ရန်",q9="စစ်ဆေးရန်",Q9="စစ်ဆေးနေသည်...",Z9="ပြန်လည်ရယူရန်",J9="ပြန်လည်ရယူနေသည်...",eP="မစတင်ရသေးပါ",tP="အဆင်သင့်",nP="ဝက်ဘ်တွင်သာ",rP="လှုပ်ရှားနေသည်",sP="အလုပ်မလုပ်တော့ပါ",oP="မှတ်ပုံတင်ပြီး",iP="ဆိုင်းငံ့နေသည်",aP="စစ်ဆေးထားခြင်း မရှိပါ",cP="အဆန်းပြားသွားပါပြီ",lP="လက်ရှိ",uP="မတိုင်မီ",dP="ယခုတင်",fP="{minutes} မိနစ် အကြာ",hP="{hours} နာရီ အကြာ",gP="{days} ရက် အကြာ",mP="အခြေအနေ ပြန်လည်ရယူ၍မရပါ",pP="တည်နေရာခြေရာခံမှု အောင်မြင်စွာ စတင်သည်",xP="တည်နေရာခြေရာခံမှု စတင်၍မရပါ",wP="လုံခြုံရေး စစ်ဆေးမှု မအောင်မြင်ပါ",yP="ပုဂ္ဂိုလ်ရေး",CP="အချိန်မှတ်တမ်း",EP="ကင်မရာ ဖွင့်ရန်",AP="QR ကုဒ် စကင်ဖတ်ရန်",bP="ဝန်ဆောင်မှုများ",_P="စနစ်ဝန်ဆောင်မှုများနှင့် လုံခြုံရေးအခြေအနေ",IP="သင့်အကောင့် လျှို့ဝှက်နံပါတ် အပ်ဒိတ်လုပ်ပါ",SP="သင့်အကောင့်မှ ထွက်ရန်",TP="အလုပ်တည်နေရာ ခြေရာခံမှု",vP="အလုပ်တက်ရောက်မှုအတွက် တည်နေရာခြေရာခံမှု အသက်ဝင်နေသည်",kP="အလုပ်တက်ရောက်မှုအတွက် တည်နေရာကို ကြည့်ရှုနေသည်",k1={appTitle:uO,logout:dO,login:fO,username:hO,password:gO,loggingIn:mO,language:pO,failedConnection:xO,invalidToken:wO,invalidCredentials:yO,english:CO,malay:EO,tamil:AO,bengali:bO,burmese:_O,nepali:IO,yourStatus:SO,clockedIn:TO,clockedOut:vO,clockIn:kO,clockOut:NO,clock_in:RO,clock_out:OO,scanToClock:DO,in:"ဝင်",out:PO,cancel:LO,viewMyClockHistory:MO,changeMyPassword:FO,myClockHistory:$O,backToDashboard:BO,noClockHistory:UO,clockHistoryFetchFail:WO,viewClockHistory:VO,changePassword:HO,invalidCurrentPassword:GO,successClockIn:jO,successClockOut:XO,qrFail:YO,geoFail:KO,successClock:zO,changePasswordTitle:qO,currentPassword:QO,newPassword:ZO,confirmNewPassword:JO,updating:e7,tabPersonnel:t7,tabAttendance:n7,tabQrCodes:r7,uploadQrImage:s7,couldNotLoadWorkerInfo:o7,couldNotVerifyStatus:i7,successfullyClocked:a7,site:c7,errorOccurred:l7,unableToStartCamera:u7,tryAgain:d7,qrDetectedGettingLocation:f7,geolocationNotSupported:h7,unableToRetrieveLocation:g7,qrNotDetectedTryAgain:m7,updatePassword:p7,passwordsNoMatch:x7,passwordTooShort:w7,passwordUpdated:y7,passwordUpdateError:C7,attendanceLogFor:E7,addManualClockOut:A7,manualClockOutInstruction:b7,clockOutTime:_7,reason:I7,enterBriefNote:S7,addRecord:T7,startDate:v7,endDate:k7,filterRecords:N7,event:R7,timestamp:O7,locationName:D7,coordinates:P7,notes:L7,noRecordsFound:M7,showOnMap:F7,nA:$7,pleaseSelectTimestamp:B7,pleaseProvideReason:U7,manualClockOutSuccess:W7,manualClockOutError:V7,selectWorkers:H7,searchWorkerPlaceholder:G7,selectAll:j7,addWorkersByTag:X7,chooseTag:Y7,addByTag:K7,selectedForReport:z7,allWorkersSelected:q7,noWorkersSelected:Q7,reportSettings:Z7,setting:J7,monthlySalary:eD,salaryAppliedNote:tD,salaryPlaceholder:nD,otFactors:rD,weekendFactor:sD,holidayFactor:oD,selectPublicHolidays:iD,generateReport:aD,overtimePaySummary:cD,exportOtSummary:lD,worker:uD,totalHoursWorked:dD,totalOtPay:fD,rawAttendanceData:hD,loadingReport:gD,tagLoadError:mD,generateReportError:pD,reportGenerationError:xD,addNewUser:wD,fullName:yD,egJohnSmith:CD,egJsmith:ED,eg123456:AD,asManager:bD,adding:_D,addUser:ID,manageTags:SD,createNewTag:TD,egTeam:vD,createTag:kD,tags:ND,workerRoster:RD,searchByNameOrUsername:OD,filterByTag:DD,clearFilter:PD,dateJoined:LD,actions:MD,editTags:FD,viewRecords:$D,delete:"ဖျက်ရန်",loadingWorkers:BD,noWorkersFound:UD,previous:WD,next:VD,pageOf:HD,noTagsAvailable:GD,done:jD,bulkEditTags:XD,clearSelection:YD,forUser:KD,savePassword:zD,saving:qD,failedToUpdateTags:QD,tagDeleted:ZD,failedToFetchWorkers:JD,failedToLoadPageData:e9,errorAddingUser:t9,failedToDeleteWorker:n9,areYouSureDeleteWorker:r9,areYouSureDeleteTag:s9,failedToDeleteTag:o9,passwordsDoNotMatch:i9,createQrCode:a9,qrCodeName:c9,qrNamePlaceholder:l9,create:u9,newCodeCreated:d9,saveQrInstruction:f9,id:h9,existingQrCodes:g9,name:m9,status:p9,deactivate:x9,activate:w9,download:y9,noQrCodesFound:C9,deleteQrConfirm:E9,qrDownloadError:A9,rememberMe:b9,deviceNotAuthorized:_9,locationTrackingActive:I9,securityCheckInProgress:S9,securityCheckComplete:T9,highSecurityRisk:v9,deviceRegistered:k9,autoLoginEnabled:N9,backgroundLocationEnabled:R9,permissionsRequired:O9,batteryOptimizationWarning:D9,gpsSpooferDetected:P9,mockLocationEnabled:L9,deviceSecurityWarning:M9,locationUpdateFailed:F9,servicesInitializing:$9,servicesReady:B9,autoLoginFailed:U9,deviceValidationFailed:W9,servicesStatus:V9,overallStatus:H9,locationTracking:G9,deviceRegistration:j9,securityStatus:X9,lastLocationUpdate:Y9,deviceId:K9,start:z9,check:q9,checking:Q9,refresh:Z9,refreshing:J9,notInitialized:eP,ready:tP,webOnly:nP,active:rP,inactive:sP,registered:oP,pending:iP,notChecked:aP,outdated:cP,current:lP,never:uP,justNow:dP,minutesAgo:fP,hoursAgo:hP,daysAgo:gP,failedToRefreshStatus:mP,locationTrackingStarted:pP,failedToStartLocationTracking:xP,securityCheckFailed:wP,personal:yP,clockHistory:CP,openCamera:EP,scanQRCode:AP,services:bP,systemServicesStatus:_P,updateYourPassword:IP,signOutOfAccount:SP,workLocationTracking:TP,locationTrackingForAttendance:vP,monitoringLocation:kP},NP="उपस्थिति प्रणाली",RP="लगआउट",OP="लगइन",DP="प्रयोगकर्ता नाम",PP="पासवर्ड",LP="लगइन गर्दै...",MP="भाषा",FP="सर्भरसँग जडान गर्न सकिएन।",$P="सर्भरबाट अमान्य टोकन प्राप्त भयो।",BP="गलत प्रयोगकर्ता नाम वा पासवर्ड।",UP="अंग्रेजी",WP="मलय",VP="तामिल",HP="बङ्गाली",GP="बर्मेली",jP="नेपाली",XP="स्थिति",YP="उपस्थित भएको",KP="अनुपस्थित भएको",zP="उपस्थित हुनुहोस्",qP="अनुपस्थित हुनुहोस्",QP="उपस्थित हुनुहोस्",ZP="अनुपस्थित हुनुहोस्",JP="{action} को लागि स्क्यान गर्नुहोस्",eL="बाहिर",tL="रद्द गर्नुहोस्",nL="मेरो उपस्थिति इतिहास हेर्नुहोस्",rL="मेरो पासवर्ड परिवर्तन गर्नुहोस्",sL="मेरो उपस्थिति इतिहास",oL="ड्यासबोर्डमा फर्कनुहोस्",iL="तपाईंको कुनै उपस्थिति इतिहास छैन।",aL="उपस्थिति इतिहास ल्याउन सकिएन:",cL="मेरो उपस्थिति इतिहास हेर्नुहोस्",lL="मेरो पासवर्ड परिवर्तन गर्नुहोस्",uL="गलत वर्तमान पासवर्ड।",dL="सफलतापूर्वक उपस्थित भएको।",fL="सफलतापूर्वक अनुपस्थित भएको।",hL="QR कोड पत्ता लगाउन सकिएन। कृपया पुनः प्रयास गर्नुहोस्।",gL="तपाईंको स्थान पत्ता लगाउन सकिएन: {message}। कृपया स्थान सेवाहरू सक्षम पार्नुहोस्।",mL="{location} मा सफलतापूर्वक उपस्थित भएको।",pL="पासवर्ड परिवर्तन गर्नुहोस्",xL="वर्तमान पासवर्ड",wL="नयाँ पासवर्ड",yL="नयाँ पासवर्ड पुष्टि गर्नुहोस्",CL="अपडेट गर्दै...",EL="कर्मचारी",AL="उपस्थिति",bL="QR कोडहरू",_L="QR छवि अपलोड गर्नुहोस्",IL="कर्मचारी जानकारी लोड गर्न सकिएन",SL="सर्भरबाट वर्तमान स्थिति प्रमाणित गर्न सकिएन",TL="सफलतापूर्वक {action} भएको",vL="साइट",kL="त्रुटि भयो",NL="क्यामेरा सुरु गर्न सकिएन।",RL="पुनः प्रयास गर्नुहोस्",OL="QR कोड पत्ता लाग्यो। स्थान प्राप्त गर्दै...",DL="तपाईंको ब्राउजरले भौगोलिक स्थान समर्थन गर्दैन।",PL="तपाईंको स्थान पत्ता लगाउन सकिएन: {message}। कृपया स्थान सेवाहरू सक्षम पार्नुहोस्।",LL="QR कोड पत्ता लगाउन सकिएन। कृपया पुनः प्रयास गर्नुहोस्।",ML="पासवर्ड अपडेट गर्नुहोस्",FL="नयाँ पासवर्डहरू मेल खाँदैनन्।",$L="नयाँ पासवर्ड कम्तिमा ६ वर्णको हुनुपर्छ।",BL="पासवर्ड सफलतापूर्वक अपडेट भयो! तपाईं अब आफ्नो नयाँ पासवर्ड प्रयोग गरेर लगइन गर्न सक्नुहुन्छ।",UL="पासवर्ड अपडेट गर्दा त्रुटि भयो।",WL="को लागि उपस्थिति लग",VL="म्यानुअल क्लक-आउट थप्नुहोस्",HL="यदि कर्मचारी क्लक आउट गर्न बिर्सिएका छन् भने यो फारम प्रयोग गर्नुहोस्। अन्तिम घटना क्लक-इन हुनुपर्छ।",GL="क्लक-आउट समय",jL='कारण (जस्तै, "क्लक आउट गर्न बिर्सियो")',XL="छोटो टिप्पणी प्रविष्ट गर्नुहोस्",YL="रेकर्ड थप्नुहोस्",KL="सुरु मिति",zL="अन्त्य मिति",qL="रेकर्डहरू फिल्टर गर्नुहोस्",QL="घटना",ZL="समय छाप",JL="स्थानको नाम",eM="निर्देशाङ्क",tM="टिप्पणीहरू",nM="यस अवधिको लागि कुनै रेकर्ड भेटिएन।",rM="नक्सामा देखाउनुहोस्",sM="उपलब्ध छैन",oM="कृपया क्लक-आउटको लागि समय छाप चयन गर्नुहोस्।",iM="कृपया म्यानुअल प्रविष्टिको लागि कारण/टिप्पणी प्रदान गर्नुहोस्।",aM="म्यानुअल क्लक-आउट सफलतापूर्वक रेकर्ड भयो!",cM="त्रुटि भयो: {message}",lM="१. कर्मचारी चयन गर्नुहोस्",uM="कर्मचारी खोज्नुहोस्...",dM="सबै चयन गर्नुहोस्",fM="ट्यागबाट सबै कर्मचारी थप्नुहोस्",hM="-- ट्याग छान्नुहोस् --",gM="ट्यागद्वारा थप्नुहोस्",mM="रिपोर्टको लागि चयनित ({count})",pM="सबै कर्मचारी ({count}) चयनित",xM="कुनै कर्मचारी चयनित छैन।",wM="२. रिपोर्ट सेटिङहरू",yM="सेटिङ",CM="मासिक तलब (RM)",EM="सबै चयनित कर्मचारीहरूमा लागू।",AM="जस्तै, ३०००",bM="OT फ्याक्टरहरू",_M="सप्ताहन्त फ्याक्टर",IM="छुट्टी फ्याक्टर",SM="सार्वजनिक छुट्टीहरू चयन गर्नुहोस्",TM="उपस्थिति र OT रिपोर्ट उत्पन्न गर्नुहोस्",vM="ओभरटाइम भुक्तानी सारांश",kM="OT सारांश निर्यात गर्नुहोस् (CSV)",NM="कर्मचारी",RM="कुल काम गरेको घण्टा",OM="कुल OT भुक्तानी (RM)",DM="कच्चा उपस्थिति डेटा",PM="रिपोर्ट लोड गर्दै...",LM="चयनित ट्यागको लागि कर्मचारी लोड गर्न सकिएन।",MM="कृपया कर्मचारी चयन गर्नुहोस्, मान्य मिति दायरा सेट गर्नुहोस्, र तलब प्रविष्ट गर्नुहोस्।",FM="रिपोर्ट उत्पन्न गर्दा त्रुटि भयो।",$M="नयाँ प्रयोगकर्ता थप्नुहोस्",BM="पूरा नाम",UM="जस्तै जोन स्मिथ",WM="जस्तै jsmith",VM="जस्तै १२३४५६",HM="प्रबन्धकको रूपमा",GM="थप्दै...",jM="प्रयोगकर्ता थप्नुहोस्",XM="ट्यागहरू व्यवस्थापन गर्नुहोस्",YM="नयाँ ट्याग सिर्जना गर्नुहोस्",KM="जस्तै टिम",zM="ट्याग सिर्जना गर्नुहोस्",qM="ट्यागहरू",QM="कर्मचारी सूची",ZM="नाम वा प्रयोगकर्ता नामद्वारा खोज्नुहोस्",JM="ट्यागद्वारा फिल्टर गर्नुहोस्",eF="फिल्टर हटाउनुहोस्",tF="सामेल भएको मिति",nF="कार्यहरू",rF="ट्यागहरू सम्पादन गर्नुहोस्",sF="रेकर्डहरू हेर्नुहोस्",oF="कर्मचारी लोड गर्दै...",iF="कुनै कर्मचारी भेटिएन।",aF="अघिल्लो",cF="अर्को",lF="पृष्ठ {current} को {total}",uF="कुनै ट्याग उपलब्ध छैन।",dF="सकियो",fF="बल्क ट्याग सम्पादन",hF="चयन हटाउनुहोस्",gF="प्रयोगकर्ताको लागि",mF="पासवर्ड सेभ गर्नुहोस्",pF="सेभ गर्दै...",xF="ट्यागहरू अपडेट गर्न सकिएन। कृपया पुनः प्रयास गर्नुहोस्।",wF="ट्याग सफलतापूर्वक मेटाइयो।",yF="कर्मचारी फेच गर्न सकिएन।",CF="पृष्ठ डेटा लोड गर्न सकिएन।",EF="प्रयोगकर्ता थप्दा त्रुटि भयो।",AF="कर्मचारी मेटाउन सकिएन।",bF="के तपाईं यो कर्मचारी खाता मेटाउन निश्चित हुनुहुन्छ?",_F="के तपाईं यो ट्याग मेटाउन निश्चित हुनुहुन्छ? यसले सबै कर्मचारीहरूबाट यसलाई हटाउनेछ।",IF="ट्याग मेटाउन सकिएन।",SF="पासवर्डहरू मेल खाँदैनन्।",TF="नयाँ QR कोड सिर्जना गर्नुहोस्",vF="QR कोड नाम",kF="जस्तै, 'पश्चिम गेट प्रवेश'",NF="सिर्जना गर्नुहोस्",RF="नयाँ कोड सिर्जना भयो!",OF="यो छवि सेभ गर्नुहोस् वा तलको ID प्रयोग गर्नुहोस्। यो रिफ्रेसमा हराउनेछ।",DF="ID",PF="अवस्थित QR कोडहरू",LF="नाम",MF="स्थिति",FF="निष्क्रिय पार्नुहोस्",$F="सक्रिय पार्नुहोस्",BF="डाउनलोड गर्नुहोस्",UF="कुनै QR कोडहरू भेटिएन। माथि एउटा सिर्जना गर्नुहोस्!",WF="के तपाईं यो QR कोड मेटाउन निश्चित हुनुहुन्छ? यो पूर्ववत गर्न सकिँदैन।",VF="माफ गर्नुहोस्, QR कोड डाउनलोड गर्न सकिएन।",HF="अटो-लगइनको लागि मलाई सम्झनुहोस्",GF="यो उपकरण तपाईंको खाताको लागि प्राधिकृत छैन। कृपया आफ्नो व्यवस्थापकलाई सम्पर्क गर्नुहोस्।",jF="पृष्ठभूमिमा स्थान ट्र्याकिङ सक्रिय छ",XF="सुरक्षा जाँच भइरहेको छ...",YF="सुरक्षा जाँच सफलतापूर्वक सम्पन्न भयो",KF="उच्च सुरक्षा जोखिम पत्ता लाग्यो। कृपया आफ्नो व्यवस्थापकलाई सम्पर्क गर्नुहोस्।",zF="उपकरण सफलतापूर्वक दर्ता भयो",qF="यस उपकरणको लागि अटो-लगइन सक्षम पारियो",QF="पृष्ठभूमि स्थान ट्र्याकिङ सक्षम पारियो",ZF="उपस्थिति ट्र्याकिङको लागि स्थान अनुमतिहरू आवश्यक छ",JF="निरन्तर स्थान ट्र्याकिङ सुनिश्चित गर्न कृपया यस एपको लागि ब्याट्री अप्टिमाइजेसन अक्षम पार्नुहोस्",e$="GPS स्पूफिङ एप्लिकेसन पत्ता लाग्यो। यसले उपस्थिति शुद्धतालाई असर गर्न सक्छ।",t$="नक्कली स्थान सक्षम छ। सही उपस्थिति ट्र्याकिङको लागि कृपया यसलाई अक्षम पार्नुहोस्।",n$="उपकरण सुरक्षा चेतावनी: संदिग्ध एप्लिकेसनहरू पत्ता लाग्यो",r$="स्थान अपडेट गर्न सकिएन। स्वचालित रूपमा पुनः प्रयास गर्नेछ।",s$="मूल सेवाहरू प्रारम्भ गर्दै...",o$="सबै सेवाहरू तयार छन्",i$="अटो-लगइन असफल। कृपया म्यानुअल रूपमा लगइन गर्नुहोस्।",a$="उपकरण प्रमाणीकरण असफल। कृपया सहयोगलाई सम्पर्क गर्नुहोस्।",c$="सेवाहरूको स्थिति",l$="समग्र स्थिति",u$="स्थान ट्र्याकिङ",d$="उपकरण दर्ता",f$="सुरक्षा स्थिति",h$="अन्तिम स्थान अपडेट",g$="उपकरण ID",m$="सुरु गर्नुहोस्",p$="जाँच गर्नुहोस्",x$="जाँच गर्दै...",w$="रिफ्रेस गर्नुहोस्",y$="रिफ्रेस गर्दै...",C$="प्रारम्भ गरिएको छैन",E$="तयार",A$="वेब मात्र",b$="सक्रिय",_$="निष्क्रिय",I$="दर्ता गरिएको",S$="पेन्डिङ",T$="जाँच गरिएको छैन",v$="पुरानो",k$="वर्तमान",N$="कहिल्यै छैन",R$="भर्खरै",O$="{minutes} मिनेट अघि",D$="{hours} घण्टा अघि",P$="{days} दिन अघि",L$="स्थिति रिफ्रेस गर्न सकिएन",M$="स्थान ट्र्याकिङ सफलतापूर्वक सुरु भयो",F$="स्थान ट्र्याकिङ सुरु गर्न सकिएन",$$="सुरक्षा जाँच असफल",B$="व्यक्तिगत",U$="उपस्थिति इतिहास",W$="क्यामेरा खोल्नुहोस्",V$="QR कोड स्क्यान गर्नुहोस्",H$="सेवाहरू",G$="प्रणाली सेवाहरू र सुरक्षा स्थिति",j$="तपाईंको खाताको पासवर्ड अपडेट गर्नुहोस्",X$="तपाईंको खाताबाट साइन आउट गर्नुहोस्",Y$="कार्य स्थान ट्र्याकिङ",K$="कार्य उपस्थितिको लागि स्थान ट्र्याकिङ सक्रिय",z$="कार्य उपस्थितिको लागि स्थान निगरानी गर्दै",N1={appTitle:NP,logout:RP,login:OP,username:DP,password:PP,loggingIn:LP,language:MP,failedConnection:FP,invalidToken:$P,invalidCredentials:BP,english:UP,malay:WP,tamil:VP,bengali:HP,burmese:GP,nepali:jP,yourStatus:XP,clockedIn:YP,clockedOut:KP,clockIn:zP,clockOut:qP,clock_in:QP,clock_out:ZP,scanToClock:JP,in:"भित्र",out:eL,cancel:tL,viewMyClockHistory:nL,changeMyPassword:rL,myClockHistory:sL,backToDashboard:oL,noClockHistory:iL,clockHistoryFetchFail:aL,viewClockHistory:cL,changePassword:lL,invalidCurrentPassword:uL,successClockIn:dL,successClockOut:fL,qrFail:hL,geoFail:gL,successClock:mL,changePasswordTitle:pL,currentPassword:xL,newPassword:wL,confirmNewPassword:yL,updating:CL,tabPersonnel:EL,tabAttendance:AL,tabQrCodes:bL,uploadQrImage:_L,couldNotLoadWorkerInfo:IL,couldNotVerifyStatus:SL,successfullyClocked:TL,site:vL,errorOccurred:kL,unableToStartCamera:NL,tryAgain:RL,qrDetectedGettingLocation:OL,geolocationNotSupported:DL,unableToRetrieveLocation:PL,qrNotDetectedTryAgain:LL,updatePassword:ML,passwordsNoMatch:FL,passwordTooShort:$L,passwordUpdated:BL,passwordUpdateError:UL,attendanceLogFor:WL,addManualClockOut:VL,manualClockOutInstruction:HL,clockOutTime:GL,reason:jL,enterBriefNote:XL,addRecord:YL,startDate:KL,endDate:zL,filterRecords:qL,event:QL,timestamp:ZL,locationName:JL,coordinates:eM,notes:tM,noRecordsFound:nM,showOnMap:rM,nA:sM,pleaseSelectTimestamp:oM,pleaseProvideReason:iM,manualClockOutSuccess:aM,manualClockOutError:cM,selectWorkers:lM,searchWorkerPlaceholder:uM,selectAll:dM,addWorkersByTag:fM,chooseTag:hM,addByTag:gM,selectedForReport:mM,allWorkersSelected:pM,noWorkersSelected:xM,reportSettings:wM,setting:yM,monthlySalary:CM,salaryAppliedNote:EM,salaryPlaceholder:AM,otFactors:bM,weekendFactor:_M,holidayFactor:IM,selectPublicHolidays:SM,generateReport:TM,overtimePaySummary:vM,exportOtSummary:kM,worker:NM,totalHoursWorked:RM,totalOtPay:OM,rawAttendanceData:DM,loadingReport:PM,tagLoadError:LM,generateReportError:MM,reportGenerationError:FM,addNewUser:$M,fullName:BM,egJohnSmith:UM,egJsmith:WM,eg123456:VM,asManager:HM,adding:GM,addUser:jM,manageTags:XM,createNewTag:YM,egTeam:KM,createTag:zM,tags:qM,workerRoster:QM,searchByNameOrUsername:ZM,filterByTag:JM,clearFilter:eF,dateJoined:tF,actions:nF,editTags:rF,viewRecords:sF,delete:"मेटाउनुहोस्",loadingWorkers:oF,noWorkersFound:iF,previous:aF,next:cF,pageOf:lF,noTagsAvailable:uF,done:dF,bulkEditTags:fF,clearSelection:hF,forUser:gF,savePassword:mF,saving:pF,failedToUpdateTags:xF,tagDeleted:wF,failedToFetchWorkers:yF,failedToLoadPageData:CF,errorAddingUser:EF,failedToDeleteWorker:AF,areYouSureDeleteWorker:bF,areYouSureDeleteTag:_F,failedToDeleteTag:IF,passwordsDoNotMatch:SF,createQrCode:TF,qrCodeName:vF,qrNamePlaceholder:kF,create:NF,newCodeCreated:RF,saveQrInstruction:OF,id:DF,existingQrCodes:PF,name:LF,status:MF,deactivate:FF,activate:$F,download:BF,noQrCodesFound:UF,deleteQrConfirm:WF,qrDownloadError:VF,rememberMe:HF,deviceNotAuthorized:GF,locationTrackingActive:jF,securityCheckInProgress:XF,securityCheckComplete:YF,highSecurityRisk:KF,deviceRegistered:zF,autoLoginEnabled:qF,backgroundLocationEnabled:QF,permissionsRequired:ZF,batteryOptimizationWarning:JF,gpsSpooferDetected:e$,mockLocationEnabled:t$,deviceSecurityWarning:n$,locationUpdateFailed:r$,servicesInitializing:s$,servicesReady:o$,autoLoginFailed:i$,deviceValidationFailed:a$,servicesStatus:c$,overallStatus:l$,locationTracking:u$,deviceRegistration:d$,securityStatus:f$,lastLocationUpdate:h$,deviceId:g$,start:m$,check:p$,checking:x$,refresh:w$,refreshing:y$,notInitialized:C$,ready:E$,webOnly:A$,active:b$,inactive:_$,registered:I$,pending:S$,notChecked:T$,outdated:v$,current:k$,never:N$,justNow:R$,minutesAgo:O$,hoursAgo:D$,daysAgo:P$,failedToRefreshStatus:L$,locationTrackingStarted:M$,failedToStartLocationTracking:F$,securityCheckFailed:$$,personal:B$,clockHistory:U$,openCamera:W$,scanQRCode:V$,services:H$,systemServicesStatus:G$,updateYourPassword:j$,signOutOfAccount:X$,workLocationTracking:Y$,locationTrackingForAttendance:K$,monitoringLocation:z$};console.log("[DEBUG] i18n.js loaded!");console.log("[DEBUG] en.json:",I1);console.log("[DEBUG] ms.json:",S1);console.log("[DEBUG] tm.json:",T1);console.log("[DEBUG] bd.json:",v1);console.log("[DEBUG] my.json:",k1);console.log("[DEBUG] np.json:",N1);const R1=Cm({legacy:!1,locale:"en",fallbackLocale:"en",messages:{en:I1,ms:S1,tm:T1,bd:v1,np:N1,my:k1}});console.log("[DEBUG] i18n instance created:",R1);console.log("[DEBUG] i18n.js export complete");const lc=Sh(Ap);lc.use(_1);lc.use(R1);lc.mount("#app");export{m1 as W}; diff --git a/dist/assets/index-DnygOJsq.css b/dist/assets/index-DnygOJsq.css new file mode 100644 index 0000000..0c5c1b9 --- /dev/null +++ b/dist/assets/index-DnygOJsq.css @@ -0,0 +1 @@ +*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;touch-action:manipulation}body{overscroll-behavior:none;-webkit-overflow-scrolling:touch;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;margin:0;padding:0}*{-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}input,textarea{-webkit-user-select:text;-moz-user-select:text;user-select:text}html.dark{color-scheme:dark}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.fixed{position:fixed}.absolute{position:absolute}.inset-0{top:0;right:0;bottom:0;left:0}.left-0{left:0}.right-0{right:0}.top-0{top:0}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.ml-2{margin-left:.5rem}.mr-4{margin-right:1rem}.mr-5{margin-right:1.25rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-\[calc\(100px\+env\(safe-area-inset-top\)\)\]{margin-top:calc(100px + env(safe-area-inset-top))}.block{display:block}.flex{display:flex}.hidden{display:none}.h-12{height:3rem}.h-16{height:4rem}.h-4{height:1rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.min-h-screen{min-height:100vh}.w-12{width:3rem}.w-16{width:4rem}.w-4{width:1rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-full{width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.flex-grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-4{border-width:4px}.border-b{border-bottom-width:1px}.border-l-4{border-left-width:4px}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.border-green-500{--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity, 1))}.border-red-500{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-orange-100{--tw-bg-opacity: 1;background-color:rgb(255 237 213 / var(--tw-bg-opacity, 1))}.bg-purple-100{--tw-bg-opacity: 1;background-color:rgb(243 232 255 / var(--tw-bg-opacity, 1))}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-opacity-90{--tw-bg-opacity: .9}.p-2{padding:.5rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-semibold{font-weight:600}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.text-orange-600{--tw-text-opacity: 1;color:rgb(234 88 12 / var(--tw-text-opacity, 1))}.text-purple-600{--tw-text-opacity: 1;color:rgb(147 51 234 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-500{--tw-text-opacity: 1;color:rgb(234 179 8 / var(--tw-text-opacity, 1))}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.safe-top{padding-top:var(--safe-area-inset-top)}.safe-bottom{padding-bottom:var(--safe-area-inset-bottom)}.mobile-viewport{height:100vh;height:100dvh}.fixed-header-safe{position:fixed;top:0;left:0;right:0;z-index:50;padding-top:var(--safe-area-inset-top)}.main-with-fixed-header{padding-top:calc(var(--safe-area-inset-top) + 5rem)}.main-with-fixed-header-and-nav{padding-top:calc(var(--safe-area-inset-top) + 5rem);padding-bottom:calc(var(--safe-area-inset-bottom) + 4rem)}.hover\:scale-105:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:bg-blue-600:hover{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-700:hover{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.hover\:bg-green-600:hover{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.hover\:bg-red-50:hover{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.hover\:bg-red-700:hover{--tw-bg-opacity: 1;background-color:rgb(185 28 28 / var(--tw-bg-opacity, 1))}.hover\:text-blue-600:hover{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.focus\:border-transparent:focus{border-color:transparent}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-blue-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1))}.focus\:ring-red-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity, 1))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}@media (prefers-color-scheme: dark){.dark\:border-gray-600{--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity, 1))}.dark\:bg-gray-700{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-800{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-900{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity, 1))}.dark\:bg-green-900{--tw-bg-opacity: 1;background-color:rgb(20 83 45 / var(--tw-bg-opacity, 1))}.dark\:bg-green-900\/50{background-color:#14532d80}.dark\:bg-red-900{--tw-bg-opacity: 1;background-color:rgb(127 29 29 / var(--tw-bg-opacity, 1))}.dark\:bg-red-900\/50{background-color:#7f1d1d80}.dark\:text-gray-100{--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity, 1))}.dark\:text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.dark\:text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.dark\:text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.dark\:text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.dark\:text-green-300{--tw-text-opacity: 1;color:rgb(134 239 172 / var(--tw-text-opacity, 1))}.dark\:text-green-400{--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.dark\:text-red-300{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.dark\:text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}}.bottom-nav-container[data-v-0c472705]{position:fixed;bottom:0;left:0;right:0;z-index:1000;transform:translateZ(0);-webkit-transform:translateZ(0);will-change:auto;backface-visibility:hidden;-webkit-backface-visibility:hidden}.bottom-nav-content[data-v-0c472705]{background-color:#fff;border-top:1px solid #e5e7eb;box-shadow:0 -4px 6px -1px #0000001a,0 -2px 4px -1px #0000000f;display:flex;padding-bottom:0;touch-action:manipulation;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.bottom-nav-container[data-v-0c472705]:before{content:"";position:absolute;top:-50px;left:0;right:0;height:50px;background:transparent;pointer-events:none}@media (max-width: 640px){.bottom-nav-container[data-v-0c472705]{transform:translateZ(0);-webkit-transform:translate3d(0,0,0);position:fixed!important;bottom:0!important}.bottom-nav-content[data-v-0c472705]{padding-bottom:max(var(--safe-area-inset-bottom),8px)}}@supports (-webkit-overflow-scrolling: touch){.bottom-nav-container[data-v-0c472705]{-webkit-overflow-scrolling:auto}}.blocker-overlay[data-v-1669ff40]{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000e6;display:flex;justify-content:center;align-items:center;z-index:9999;color:#fff;text-align:center;padding:20px}.blocker-content[data-v-1669ff40]{max-width:80%}.blocker-title[data-v-1669ff40]{font-size:1.5rem;font-weight:700;margin-bottom:1rem}.blocker-message[data-v-1669ff40]{font-size:1rem}.safe-area-main[data-v-1669ff40]{min-height:calc(100vh - 4rem)}body[data-v-1669ff40]{overscroll-behavior:none;-webkit-overflow-scrolling:touch}html[data-v-1669ff40],body[data-v-1669ff40]{touch-action:pan-y;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none} diff --git a/dist/assets/web--OeF1eU6.js b/dist/assets/web--OeF1eU6.js new file mode 100644 index 0000000..ccfa194 --- /dev/null +++ b/dist/assets/web--OeF1eU6.js @@ -0,0 +1 @@ +import{W as w}from"./index-B7lrTY2m.js";class y extends w{async getId(){return{identifier:this.getUid()}}async getInfo(){if(typeof navigator>"u"||!navigator.userAgent)throw this.unavailable("Device API not available in this browser");const e=navigator.userAgent,i=this.parseUa(e);return{model:i.model,platform:"web",operatingSystem:i.operatingSystem,osVersion:i.osVersion,manufacturer:navigator.vendor,isVirtual:!1,webViewVersion:i.browserVersion}}async getBatteryInfo(){if(typeof navigator>"u"||!navigator.getBattery)throw this.unavailable("Device API not available in this browser");let e={};try{e=await navigator.getBattery()}catch{}return{batteryLevel:e.level,isCharging:e.charging}}async getLanguageCode(){return{value:navigator.language.split("-")[0].toLowerCase()}}async getLanguageTag(){return{value:navigator.language}}parseUa(e){const i={},r=e.indexOf("(")+1;let a=e.indexOf(") AppleWebKit");e.indexOf(") Gecko")!==-1&&(a=e.indexOf(") Gecko"));const s=e.substring(r,a);if(e.indexOf("Android")!==-1){const t=s.replace("; wv","").split("; ").pop();t&&(i.model=t.split(" Build")[0]),i.osVersion=s.split("; ")[1]}else if(i.model=s.split("; ")[0],typeof navigator<"u"&&navigator.oscpu)i.osVersion=navigator.oscpu;else if(e.indexOf("Windows")!==-1)i.osVersion=s;else{const t=s.split("; ").pop();if(t){const n=t.replace(" like Mac OS X","").split(" ");i.osVersion=n[n.length-1].replace(/_/g,".")}}/android/i.test(e)?i.operatingSystem="android":/iPad|iPhone|iPod/.test(e)&&!window.MSStream?i.operatingSystem="ios":/Win/.test(e)?i.operatingSystem="windows":/Mac/i.test(e)?i.operatingSystem="mac":i.operatingSystem="unknown";const l=!!window.ApplePaySession,x=!!window.chrome,p=/Firefox/.test(e),d=/Edg/.test(e),g=/FxiOS/.test(e),c=/CriOS/.test(e),f=/EdgiOS/.test(e);if(l||x&&!d||g||c||f){let t;g?t="FxiOS":c?t="CriOS":f?t="EdgiOS":l?t="Version":t="Chrome";const n=e.split(" ");for(const o of n)if(o.includes(t)){const v=o.split("/")[1];i.browserVersion=v}}else if(p||d){const o=e.split("").reverse().join("").split("/")[0].split("").reverse().join("");i.browserVersion=o}return i}getUid(){if(typeof window<"u"&&window.localStorage){let e=window.localStorage.getItem("_capuid");return e||(e=this.uuid4(),window.localStorage.setItem("_capuid",e),e)}return this.uuid4()}uuid4(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){const i=Math.random()*16|0;return(e==="x"?i:i&3|8).toString(16)})}}export{y as DeviceWeb}; diff --git a/dist/assets/web-BKuwGLdK.js b/dist/assets/web-BKuwGLdK.js new file mode 100644 index 0000000..3a1f6cb --- /dev/null +++ b/dist/assets/web-BKuwGLdK.js @@ -0,0 +1 @@ +import{W as p}from"./index-B7lrTY2m.js";class f extends p{constructor(){super(...arguments),this.group="CapacitorStorage"}async configure({group:e}){typeof e=="string"&&(this.group=e)}async get(e){return{value:this.impl.getItem(this.applyPrefix(e.key))}}async set(e){this.impl.setItem(this.applyPrefix(e.key),e.value)}async remove(e){this.impl.removeItem(this.applyPrefix(e.key))}async keys(){return{keys:this.rawKeys().map(t=>t.substring(this.prefix.length))}}async clear(){for(const e of this.rawKeys())this.impl.removeItem(e)}async migrate(){var e;const t=[],s=[],n="_cap_",o=Object.keys(this.impl).filter(i=>i.indexOf(n)===0);for(const i of o){const r=i.substring(n.length),a=(e=this.impl.getItem(i))!==null&&e!==void 0?e:"",{value:l}=await this.get({key:r});typeof l=="string"?s.push(r):(await this.set({key:r,value:a}),t.push(r))}return{migrated:t,existing:s}}async removeOld(){const e="_cap_",t=Object.keys(this.impl).filter(s=>s.indexOf(e)===0);for(const s of t)this.impl.removeItem(s)}get impl(){return window.localStorage}get prefix(){return this.group==="NativeStorage"?"":`${this.group}.`}rawKeys(){return Object.keys(this.impl).filter(e=>e.indexOf(this.prefix)===0)}applyPrefix(e){return this.prefix+e}}export{f as PreferencesWeb}; diff --git a/dist/assets/web-BNgMPRai.js b/dist/assets/web-BNgMPRai.js new file mode 100644 index 0000000..0403ddf --- /dev/null +++ b/dist/assets/web-BNgMPRai.js @@ -0,0 +1 @@ +import{W as i}from"./index-B7lrTY2m.js";function o(){const t=window.navigator.connection||window.navigator.mozConnection||window.navigator.webkitConnection;let n="unknown";const e=t?t.type||t.effectiveType:null;if(e&&typeof e=="string")switch(e){case"bluetooth":case"cellular":n="cellular";break;case"none":n="none";break;case"ethernet":case"wifi":case"wimax":n="wifi";break;case"other":case"unknown":n="unknown";break;case"slow-2g":case"2g":case"3g":n="cellular";break;case"4g":n="wifi";break}return n}class s extends i{constructor(){super(),this.handleOnline=()=>{const e={connected:!0,connectionType:o()};this.notifyListeners("networkStatusChange",e)},this.handleOffline=()=>{const n={connected:!1,connectionType:"none"};this.notifyListeners("networkStatusChange",n)},typeof window<"u"&&(window.addEventListener("online",this.handleOnline),window.addEventListener("offline",this.handleOffline))}async getStatus(){if(!window.navigator)throw this.unavailable("Browser does not support the Network Information API");const n=window.navigator.onLine,e=o();return{connected:n,connectionType:n?e:"none"}}}const r=new s;export{r as Network,s as NetworkWeb}; diff --git a/dist/assets/web-Bwhg1G08.js b/dist/assets/web-Bwhg1G08.js new file mode 100644 index 0000000..2d8122f --- /dev/null +++ b/dist/assets/web-Bwhg1G08.js @@ -0,0 +1 @@ +import{W as s}from"./index-B7lrTY2m.js";class c extends s{constructor(){super(...arguments),this.pending=[],this.deliveredNotifications=[],this.hasNotificationSupport=()=>{if(!("Notification"in window)||!Notification.requestPermission)return!1;if(Notification.permission!=="granted")try{new Notification("")}catch(i){if(i.name=="TypeError")return!1}return!0}}async getDeliveredNotifications(){const i=[];for(const t of this.deliveredNotifications){const e={title:t.title,id:parseInt(t.tag),body:t.body};i.push(e)}return{notifications:i}}async removeDeliveredNotifications(i){for(const t of i.notifications){const e=this.deliveredNotifications.find(n=>n.tag===String(t.id));e==null||e.close(),this.deliveredNotifications=this.deliveredNotifications.filter(()=>!e)}}async removeAllDeliveredNotifications(){for(const i of this.deliveredNotifications)i.close();this.deliveredNotifications=[]}async createChannel(){throw this.unimplemented("Not implemented on web.")}async deleteChannel(){throw this.unimplemented("Not implemented on web.")}async listChannels(){throw this.unimplemented("Not implemented on web.")}async schedule(i){if(!this.hasNotificationSupport())throw this.unavailable("Notifications not supported in this browser.");for(const t of i.notifications)this.sendNotification(t);return{notifications:i.notifications.map(t=>({id:t.id}))}}async getPending(){return{notifications:this.pending}}async registerActionTypes(){throw this.unimplemented("Not implemented on web.")}async cancel(i){this.pending=this.pending.filter(t=>!i.notifications.find(e=>e.id===t.id))}async areEnabled(){const{display:i}=await this.checkPermissions();return{value:i==="granted"}}async changeExactNotificationSetting(){throw this.unimplemented("Not implemented on web.")}async checkExactNotificationSetting(){throw this.unimplemented("Not implemented on web.")}async requestPermissions(){if(!this.hasNotificationSupport())throw this.unavailable("Notifications not supported in this browser.");return{display:this.transformNotificationPermission(await Notification.requestPermission())}}async checkPermissions(){if(!this.hasNotificationSupport())throw this.unavailable("Notifications not supported in this browser.");return{display:this.transformNotificationPermission(Notification.permission)}}transformNotificationPermission(i){switch(i){case"granted":return"granted";case"denied":return"denied";default:return"prompt"}}sendPending(){var i;const t=[],e=new Date().getTime();for(const n of this.pending)!((i=n.schedule)===null||i===void 0)&&i.at&&n.schedule.at.getTime()<=e&&(this.buildNotification(n),t.push(n));this.pending=this.pending.filter(n=>!t.find(o=>o===n))}sendNotification(i){var t;if(!((t=i.schedule)===null||t===void 0)&&t.at){const e=i.schedule.at.getTime()-new Date().getTime();this.pending.push(i),setTimeout(()=>{this.sendPending()},e);return}this.buildNotification(i)}buildNotification(i){const t=new Notification(i.title,{body:i.body,tag:String(i.id)});return t.addEventListener("click",this.onClick.bind(this,i),!1),t.addEventListener("show",this.onShow.bind(this,i),!1),t.addEventListener("close",()=>{this.deliveredNotifications=this.deliveredNotifications.filter(()=>!this)},!1),this.deliveredNotifications.push(t),t}onClick(i){const t={actionId:"tap",notification:i};this.notifyListeners("localNotificationActionPerformed",t)}onShow(i){this.notifyListeners("localNotificationReceived",i)}}export{c as LocalNotificationsWeb}; diff --git a/dist/assets/web-CQxMuzG0.js b/dist/assets/web-CQxMuzG0.js new file mode 100644 index 0000000..f35503b --- /dev/null +++ b/dist/assets/web-CQxMuzG0.js @@ -0,0 +1 @@ +import{W as n}from"./index-B7lrTY2m.js";class r extends n{async enable(e){}async disable(e){}}export{r as SafeAreaWeb}; diff --git a/dist/assets/web-DUFOr-Wj.js b/dist/assets/web-DUFOr-Wj.js new file mode 100644 index 0000000..82a4cc9 --- /dev/null +++ b/dist/assets/web-DUFOr-Wj.js @@ -0,0 +1 @@ +import{W as t}from"./index-B7lrTY2m.js";class s extends t{constructor(){super(),this.handleVisibilityChange=()=>{const e={isActive:document.hidden!==!0};this.notifyListeners("appStateChange",e),document.hidden?this.notifyListeners("pause",null):this.notifyListeners("resume",null)},document.addEventListener("visibilitychange",this.handleVisibilityChange,!1)}exitApp(){throw this.unimplemented("Not implemented on web.")}async getInfo(){throw this.unimplemented("Not implemented on web.")}async getLaunchUrl(){return{url:""}}async getState(){return{isActive:document.hidden!==!0}}async minimizeApp(){throw this.unimplemented("Not implemented on web.")}}export{s as AppWeb}; diff --git a/dist/assets/web-DrxU3ATE.js b/dist/assets/web-DrxU3ATE.js new file mode 100644 index 0000000..acddb14 --- /dev/null +++ b/dist/assets/web-DrxU3ATE.js @@ -0,0 +1 @@ +import{W as o}from"./index-B7lrTY2m.js";class a extends o{async getCurrentPosition(e){return new Promise((t,n)=>{navigator.geolocation.getCurrentPosition(i=>{t(i)},i=>{n(i)},Object.assign({enableHighAccuracy:!1,timeout:1e4,maximumAge:0},e))})}async watchPosition(e,t){return`${navigator.geolocation.watchPosition(i=>{t(i)},i=>{t(null,i)},Object.assign({enableHighAccuracy:!1,timeout:1e4,maximumAge:0,minimumUpdateInterval:5e3},e))}`}async clearWatch(e){navigator.geolocation.clearWatch(parseInt(e.id,10))}async checkPermissions(){if(typeof navigator>"u"||!navigator.permissions)throw this.unavailable("Permissions API not available in this browser");const e=await navigator.permissions.query({name:"geolocation"});return{location:e.state,coarseLocation:e.state}}async requestPermissions(){throw this.unimplemented("Not implemented on web.")}}const c=new a;export{c as Geolocation,a as GeolocationWeb}; diff --git a/dist/favicon.ico b/dist/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..df36fcfb72584e00488330b560ebcf34a41c64c2 GIT binary patch literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S literal 0 HcmV?d00001 diff --git a/dist/index.html b/dist/index.html new file mode 100644 index 0000000..f41e7ea --- /dev/null +++ b/dist/index.html @@ -0,0 +1,17 @@ + + + + + + + Vite App + + + + +
+ +