Files
tajniak81 d6956395c8 Rebrand CommGate to gsmnode and adopt new design system
Rename the whole project from CommGate to gsmnode and re-skin every
surface onto the new signal-green + ink design system (Space Grotesk /
IBM Plex Sans / JetBrains Mono, flat surfaces, two-arrow routing mark,
lowercase gsm+node wordmark).

- Web App + API panel: rewrite token layer, gn-* utilities, data-gsm-theme,
  new logo/favicon assets; both builds verified.
- Phone App (Flutter): green theme, new mark/wordmark widgets, adaptive
  launcher icons; rename Android applicationId/package to app.gsmnode.phone;
  bump AGP to 8.6.0 and google_fonts to 8.1.0; debug APK build verified.
- API Server (Go): panel routes, User-Agent, health service id, branding.
- Home Assistant Plugin: rename integration domain sms_gateway to gsmnode
  (folder, DOMAIN, services, entity ids, classes); py_compile verified.
- Update all READMEs; add .gitignore (excludes Design/, build artifacts).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-06 08:53:14 +02:00

151 lines
124 KiB
JavaScript

(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))s(r);new MutationObserver(r=>{for(const o of r)if(o.type==="childList")for(const i of o.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&s(i)}).observe(document,{childList:!0,subtree:!0});function n(r){const o={};return r.integrity&&(o.integrity=r.integrity),r.referrerPolicy&&(o.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?o.credentials="include":r.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function s(r){if(r.ep)return;r.ep=!0;const o=n(r);fetch(r.href,o)}})();/**
* @vue/shared v3.5.39
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/function Ys(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const oe={},Kt=[],nt=()=>{},vo=()=>!1,Zn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),es=e=>e.startsWith("onUpdate:"),_e=Object.assign,Xs=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},qi=Object.prototype.hasOwnProperty,X=(e,t)=>qi.call(e,t),U=Array.isArray,Gt=e=>Cn(e)==="[object Map]",ts=e=>Cn(e)==="[object Set]",_r=e=>Cn(e)==="[object Date]",B=e=>typeof e=="function",ae=e=>typeof e=="string",je=e=>typeof e=="symbol",ee=e=>e!==null&&typeof e=="object",bo=e=>(ee(e)||B(e))&&B(e.then)&&B(e.catch),_o=Object.prototype.toString,Cn=e=>_o.call(e),zi=e=>Cn(e).slice(8,-1),yo=e=>Cn(e)==="[object Object]",Zs=e=>ae(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,fn=Ys(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),ns=e=>{const t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},Ji=/-\w/g,Oe=ns(e=>e.replace(Ji,t=>t.slice(1).toUpperCase())),Qi=/\B([A-Z])/g,Dt=ns(e=>e.replace(Qi,"-$1").toLowerCase()),ss=ns(e=>e.charAt(0).toUpperCase()+e.slice(1)),vs=ns(e=>e?`on${ss(e)}`:""),tt=(e,t)=>!Object.is(e,t),Ln=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t)},xo=(e,t,n,s=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},rs=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let yr;const os=()=>yr||(yr=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function is(e){if(U(e)){const t={};for(let n=0;n<e.length;n++){const s=e[n],r=ae(s)?el(s):is(s);if(r)for(const o in r)t[o]=r[o]}return t}else if(ae(e)||ee(e))return e}const Yi=/;(?![^(]*\))/g,Xi=/:([^]+)/,Zi=/\/\*[^]*?\*\//g;function el(e){const t={};return e.replace(Zi,"").split(Yi).forEach(n=>{if(n){const s=n.split(Xi);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function On(e){let t="";if(ae(e))t=e;else if(U(e))for(let n=0;n<e.length;n++){const s=On(e[n]);s&&(t+=s+" ")}else if(ee(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}const tl="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",nl=Ys(tl);function wo(e){return!!e||e===""}function sl(e,t){if(e.length!==t.length)return!1;let n=!0;for(let s=0;n&&s<e.length;s++)n=Pn(e[s],t[s]);return n}function Pn(e,t){if(e===t)return!0;let n=_r(e),s=_r(t);if(n||s)return n&&s?e.getTime()===t.getTime():!1;if(n=je(e),s=je(t),n||s)return e===t;if(n=U(e),s=U(t),n||s)return n&&s?sl(e,t):!1;if(n=ee(e),s=ee(t),n||s){if(!n||!s)return!1;const r=Object.keys(e).length,o=Object.keys(t).length;if(r!==o)return!1;for(const i in e){const l=e.hasOwnProperty(i),c=t.hasOwnProperty(i);if(l&&!c||!l&&c||!Pn(e[i],t[i]))return!1}}return String(e)===String(t)}function rl(e,t){return e.findIndex(n=>Pn(n,t))}const So=e=>!!(e&&e.__v_isRef===!0),K=e=>ae(e)?e:e==null?"":U(e)||ee(e)&&(e.toString===_o||!B(e.toString))?So(e)?K(e.value):JSON.stringify(e,Eo,2):String(e),Eo=(e,t)=>So(t)?Eo(e,t.value):Gt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r],o)=>(n[bs(s,o)+" =>"]=r,n),{})}:ts(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>bs(n))}:je(t)?bs(t):ee(t)&&!U(t)&&!yo(t)?String(t):t,bs=(e,t="")=>{var n;return je(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/**
* @vue/reactivity v3.5.39
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/let ve;class ol{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&ve&&(ve.active?(this.parent=ve,this.index=(ve.scopes||(ve.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t<n;t++)this.scopes[t].pause();for(t=0,n=this.effects.length;t<n;t++)this.effects[t].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t<n;t++)this.scopes[t].resume();for(t=0,n=this.effects.length;t<n;t++)this.effects[t].resume()}}run(t){if(this._active){const n=ve;try{return ve=this,t()}finally{ve=n}}}on(){++this._on===1&&(this.prevScope=ve,ve=this)}off(){if(this._on>0&&--this._on===0){if(ve===this)ve=this.prevScope;else{let t=ve;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,s;for(n=0,s=this.effects.length;n<s;n++)this.effects[n].stop();for(this.effects.length=0,n=0,s=this.cleanups.length;n<s;n++)this.cleanups[n]();if(this.cleanups.length=0,this.scopes){for(n=0,s=this.scopes.length;n<s;n++)this.scopes[n].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!t){const r=this.parent.scopes.pop();r&&r!==this&&(this.parent.scopes[this.index]=r,r.index=this.index)}this.parent=void 0}}}function il(){return ve}let ie;const _s=new WeakSet;class Ao{constructor(t){this.fn=t,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,ve&&(ve.active?ve.effects.push(this):this.flags&=-2)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,_s.has(this)&&(_s.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||Co(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,xr(this),Oo(this);const t=ie,n=Fe;ie=this,Fe=!0;try{return this.fn()}finally{Po(this),ie=t,Fe=n,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)nr(t);this.deps=this.depsTail=void 0,xr(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?_s.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){Ns(this)&&this.run()}get dirty(){return Ns(this)}}let Ro=0,dn,pn;function Co(e,t=!1){if(e.flags|=8,t){e.next=pn,pn=e;return}e.next=dn,dn=e}function er(){Ro++}function tr(){if(--Ro>0)return;if(pn){let t=pn;for(pn=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;dn;){let t=dn;for(dn=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(s){e||(e=s)}t=n}}if(e)throw e}function Oo(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Po(e){let t,n=e.depsTail,s=n;for(;s;){const r=s.prevDep;s.version===-1?(s===n&&(n=r),nr(s),ll(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=r}e.deps=t,e.depsTail=n}function Ns(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Io(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Io(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===bn)||(e.globalVersion=bn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Ns(e))))return;e.flags|=2;const t=e.dep,n=ie,s=Fe;ie=e,Fe=!0;try{Oo(e);const r=e.fn(e._value);(t.version===0||tt(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{ie=n,Fe=s,Po(e),e.flags&=-3}}function nr(e,t=!1){const{dep:n,prevSub:s,nextSub:r}=e;if(s&&(s.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=s,e.nextSub=void 0),n.subs===e&&(n.subs=s,!s&&n.computed)){n.computed.flags&=-5;for(let o=n.computed.deps;o;o=o.nextDep)nr(o,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function ll(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Fe=!0;const To=[];function st(){To.push(Fe),Fe=!1}function rt(){const e=To.pop();Fe=e===void 0?!0:e}function xr(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=ie;ie=void 0;try{t()}finally{ie=n}}}let bn=0;class cl{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class sr{constructor(t){this.computed=t,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(t){if(!ie||!Fe||ie===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==ie)n=this.activeLink=new cl(ie,this),ie.deps?(n.prevDep=ie.depsTail,ie.depsTail.nextDep=n,ie.depsTail=n):ie.deps=ie.depsTail=n,No(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const s=n.nextDep;s.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=s),n.prevDep=ie.depsTail,n.nextDep=void 0,ie.depsTail.nextDep=n,ie.depsTail=n,ie.deps===n&&(ie.deps=s)}return n}trigger(t){this.version++,bn++,this.notify(t)}notify(t){er();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{tr()}}}function No(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let s=t.deps;s;s=s.nextDep)No(s)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const ks=new WeakMap,Nt=Symbol(""),Ms=Symbol(""),_n=Symbol("");function ye(e,t,n){if(Fe&&ie){let s=ks.get(e);s||ks.set(e,s=new Map);let r=s.get(n);r||(s.set(n,r=new sr),r.map=s,r.key=n),r.track()}}function ft(e,t,n,s,r,o){const i=ks.get(e);if(!i){bn++;return}const l=c=>{c&&c.trigger()};if(er(),t==="clear")i.forEach(l);else{const c=U(e),u=c&&Zs(n);if(c&&n==="length"){const a=Number(s);i.forEach((f,h)=>{(h==="length"||h===_n||!je(h)&&h>=a)&&l(f)})}else switch((n!==void 0||i.has(void 0))&&l(i.get(n)),u&&l(i.get(_n)),t){case"add":c?u&&l(i.get("length")):(l(i.get(Nt)),Gt(e)&&l(i.get(Ms)));break;case"delete":c||(l(i.get(Nt)),Gt(e)&&l(i.get(Ms)));break;case"set":Gt(e)&&l(i.get(Nt));break}}tr()}function Ft(e){const t=Y(e);return t===e?t:(ye(t,"iterate",_n),Le(e)?t:t.map(Ue))}function ls(e){return ye(e=Y(e),"iterate",_n),e}function Ze(e,t){return ht(e)?Qt(kt(e)?Ue(t):t):Ue(t)}const al={__proto__:null,[Symbol.iterator](){return ys(this,Symbol.iterator,e=>Ze(this,e))},concat(...e){return Ft(this).concat(...e.map(t=>U(t)?Ft(t):t))},entries(){return ys(this,"entries",e=>(e[1]=Ze(this,e[1]),e))},every(e,t){return lt(this,"every",e,t,void 0,arguments)},filter(e,t){return lt(this,"filter",e,t,n=>n.map(s=>Ze(this,s)),arguments)},find(e,t){return lt(this,"find",e,t,n=>Ze(this,n),arguments)},findIndex(e,t){return lt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return lt(this,"findLast",e,t,n=>Ze(this,n),arguments)},findLastIndex(e,t){return lt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return lt(this,"forEach",e,t,void 0,arguments)},includes(...e){return xs(this,"includes",e)},indexOf(...e){return xs(this,"indexOf",e)},join(e){return Ft(this).join(e)},lastIndexOf(...e){return xs(this,"lastIndexOf",e)},map(e,t){return lt(this,"map",e,t,void 0,arguments)},pop(){return rn(this,"pop")},push(...e){return rn(this,"push",e)},reduce(e,...t){return wr(this,"reduce",e,t)},reduceRight(e,...t){return wr(this,"reduceRight",e,t)},shift(){return rn(this,"shift")},some(e,t){return lt(this,"some",e,t,void 0,arguments)},splice(...e){return rn(this,"splice",e)},toReversed(){return Ft(this).toReversed()},toSorted(e){return Ft(this).toSorted(e)},toSpliced(...e){return Ft(this).toSpliced(...e)},unshift(...e){return rn(this,"unshift",e)},values(){return ys(this,"values",e=>Ze(this,e))}};function ys(e,t,n){const s=ls(e),r=s[t]();return s!==e&&!Le(e)&&(r._next=r.next,r.next=()=>{const o=r._next();return o.done||(o.value=n(o.value)),o}),r}const ul=Array.prototype;function lt(e,t,n,s,r,o){const i=ls(e),l=i!==e&&!Le(e),c=i[t];if(c!==ul[t]){const f=c.apply(e,o);return l?Ue(f):f}let u=n;i!==e&&(l?u=function(f,h){return n.call(this,Ze(e,f),h,e)}:n.length>2&&(u=function(f,h){return n.call(this,f,h,e)}));const a=c.call(i,u,s);return l&&r?r(a):a}function wr(e,t,n,s){const r=ls(e),o=r!==e&&!Le(e);let i=n,l=!1;r!==e&&(o?(l=s.length===0,i=function(u,a,f){return l&&(l=!1,u=Ze(e,u)),n.call(this,u,Ze(e,a),f,e)}):n.length>3&&(i=function(u,a,f){return n.call(this,u,a,f,e)}));const c=r[t](i,...s);return l?Ze(e,c):c}function xs(e,t,n){const s=Y(e);ye(s,"iterate",_n);const r=s[t](...n);return(r===-1||r===!1)&&ir(n[0])?(n[0]=Y(n[0]),s[t](...n)):r}function rn(e,t,n=[]){st(),er();const s=Y(e)[t].apply(e,n);return tr(),rt(),s}const fl=Ys("__proto__,__v_isRef,__isVue"),ko=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(je));function dl(e){je(e)||(e=String(e));const t=Y(this);return ye(t,"has",e),t.hasOwnProperty(e)}class Mo{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){if(n==="__v_skip")return t.__v_skip;const r=this._isReadonly,o=this._isShallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return o;if(n==="__v_raw")return s===(r?o?wl:Vo:o?Lo:$o).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const i=U(t);if(!r){let c;if(i&&(c=al[n]))return c;if(n==="hasOwnProperty")return dl}const l=Reflect.get(t,n,we(t)?t:s);if((je(n)?ko.has(n):fl(n))||(r||ye(t,"get",n),o))return l;if(we(l)){const c=i&&Zs(n)?l:l.value;return r&&ee(c)?Un(c):c}return ee(l)?r?Un(l):In(l):l}}class Do extends Mo{constructor(t=!1){super(!1,t)}set(t,n,s,r){let o=t[n];const i=U(t)&&Zs(n);if(!this._isShallow){const u=ht(o);if(!Le(s)&&!ht(s)&&(o=Y(o),s=Y(s)),!i&&we(o)&&!we(s))return u||(o.value=s),!0}const l=i?Number(n)<t.length:X(t,n),c=Reflect.set(t,n,s,we(t)?t:r);return t===Y(r)&&c&&(l?tt(s,o)&&ft(t,"set",n,s):ft(t,"add",n,s)),c}deleteProperty(t,n){const s=X(t,n);t[n];const r=Reflect.deleteProperty(t,n);return r&&s&&ft(t,"delete",n,void 0),r}has(t,n){const s=Reflect.has(t,n);return(!je(n)||!ko.has(n))&&ye(t,"has",n),s}ownKeys(t){return ye(t,"iterate",U(t)?"length":Nt),Reflect.ownKeys(t)}}class pl extends Mo{constructor(t=!1){super(!0,t)}set(t,n){return!0}deleteProperty(t,n){return!0}}const hl=new Do,ml=new pl,gl=new Do(!0);const Ds=e=>e,kn=e=>Reflect.getPrototypeOf(e);function vl(e,t,n){return function(...s){const r=this.__v_raw,o=Y(r),i=Gt(o),l=e==="entries"||e===Symbol.iterator&&i,c=e==="keys"&&i,u=r[e](...s),a=n?Ds:t?Qt:Ue;return!t&&ye(o,"iterate",c?Ms:Nt),_e(Object.create(u),{next(){const{value:f,done:h}=u.next();return h?{value:f,done:h}:{value:l?[a(f[0]),a(f[1])]:a(f),done:h}}})}}function Mn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function bl(e,t){const n={get(r){const o=this.__v_raw,i=Y(o),l=Y(r);e||(tt(r,l)&&ye(i,"get",r),ye(i,"get",l));const{has:c}=kn(i),u=t?Ds:e?Qt:Ue;if(c.call(i,r))return u(o.get(r));if(c.call(i,l))return u(o.get(l));o!==i&&o.get(r)},get size(){const r=this.__v_raw;return!e&&ye(Y(r),"iterate",Nt),r.size},has(r){const o=this.__v_raw,i=Y(o),l=Y(r);return e||(tt(r,l)&&ye(i,"has",r),ye(i,"has",l)),r===l?o.has(r):o.has(r)||o.has(l)},forEach(r,o){const i=this,l=i.__v_raw,c=Y(l),u=t?Ds:e?Qt:Ue;return!e&&ye(c,"iterate",Nt),l.forEach((a,f)=>r.call(o,u(a),u(f),i))}};return _e(n,e?{add:Mn("add"),set:Mn("set"),delete:Mn("delete"),clear:Mn("clear")}:{add(r){const o=Y(this),i=kn(o),l=Y(r),c=!t&&!Le(r)&&!ht(r)?l:r;return i.has.call(o,c)||tt(r,c)&&i.has.call(o,r)||tt(l,c)&&i.has.call(o,l)||(o.add(c),ft(o,"add",c,c)),this},set(r,o){!t&&!Le(o)&&!ht(o)&&(o=Y(o));const i=Y(this),{has:l,get:c}=kn(i);let u=l.call(i,r);u||(r=Y(r),u=l.call(i,r));const a=c.call(i,r);return i.set(r,o),u?tt(o,a)&&ft(i,"set",r,o):ft(i,"add",r,o),this},delete(r){const o=Y(this),{has:i,get:l}=kn(o);let c=i.call(o,r);c||(r=Y(r),c=i.call(o,r)),l&&l.call(o,r);const u=o.delete(r);return c&&ft(o,"delete",r,void 0),u},clear(){const r=Y(this),o=r.size!==0,i=r.clear();return o&&ft(r,"clear",void 0,void 0),i}}),["keys","values","entries",Symbol.iterator].forEach(r=>{n[r]=vl(r,e,t)}),n}function rr(e,t){const n=bl(e,t);return(s,r,o)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(X(n,r)&&r in s?n:s,r,o)}const _l={get:rr(!1,!1)},yl={get:rr(!1,!0)},xl={get:rr(!0,!1)};const $o=new WeakMap,Lo=new WeakMap,Vo=new WeakMap,wl=new WeakMap;function Sl(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function In(e){return ht(e)?e:or(e,!1,hl,_l,$o)}function Fo(e){return or(e,!1,gl,yl,Lo)}function Un(e){return or(e,!0,ml,xl,Vo)}function or(e,t,n,s,r){if(!ee(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const o=r.get(e);if(o)return o;const i=Sl(zi(e));if(i===0)return e;const l=new Proxy(e,i===2?s:n);return r.set(e,l),l}function kt(e){return ht(e)?kt(e.__v_raw):!!(e&&e.__v_isReactive)}function ht(e){return!!(e&&e.__v_isReadonly)}function Le(e){return!!(e&&e.__v_isShallow)}function ir(e){return e?!!e.__v_raw:!1}function Y(e){const t=e&&e.__v_raw;return t?Y(t):e}function El(e){return!X(e,"__v_skip")&&Object.isExtensible(e)&&xo(e,"__v_skip",!0),e}const Ue=e=>ee(e)?In(e):e,Qt=e=>ee(e)?Un(e):e;function we(e){return e?e.__v_isRef===!0:!1}function G(e){return jo(e,!1)}function Al(e){return jo(e,!0)}function jo(e,t){return we(e)?e:new Rl(e,t)}class Rl{constructor(t,n){this.dep=new sr,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:Y(t),this._value=n?t:Ue(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,s=this.__v_isShallow||Le(t)||ht(t);t=s?t:Y(t),tt(t,n)&&(this._rawValue=t,this._value=s?t:Ue(t),this.dep.trigger())}}function Z(e){return we(e)?e.value:e}const Cl={get:(e,t,n)=>t==="__v_raw"?e:Z(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return we(r)&&!we(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function Uo(e){return kt(e)?e:new Proxy(e,Cl)}class Ol{constructor(t,n,s){this.fn=t,this.setter=n,this._value=void 0,this.dep=new sr(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=bn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=s}notify(){if(this.flags|=16,!(this.flags&8)&&ie!==this)return Co(this,!0),!0}get value(){const t=this.dep.track();return Io(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Pl(e,t,n=!1){let s,r;return B(e)?s=e:(s=e.get,r=e.set),new Ol(s,r,n)}const Dn={},Hn=new WeakMap;let Pt;function Il(e,t=!1,n=Pt){if(n){let s=Hn.get(n);s||Hn.set(n,s=[]),s.push(e)}}function Tl(e,t,n=oe){const{immediate:s,deep:r,once:o,scheduler:i,augmentJob:l,call:c}=n,u=k=>r?k:Le(k)||r===!1||r===0?dt(k,1):dt(k);let a,f,h,v,T=!1,A=!1;if(we(e)?(f=()=>e.value,T=Le(e)):kt(e)?(f=()=>u(e),T=!0):U(e)?(A=!0,T=e.some(k=>kt(k)||Le(k)),f=()=>e.map(k=>{if(we(k))return k.value;if(kt(k))return u(k);if(B(k))return c?c(k,2):k()})):B(e)?t?f=c?()=>c(e,2):e:f=()=>{if(h){st();try{h()}finally{rt()}}const k=Pt;Pt=a;try{return c?c(e,3,[v]):e(v)}finally{Pt=k}}:f=nt,t&&r){const k=f,se=r===!0?1/0:r;f=()=>dt(k(),se)}const j=il(),V=()=>{a.stop(),j&&j.active&&Xs(j.effects,a)};if(o&&t){const k=t;t=(...se)=>{const pe=k(...se);return V(),pe}}let P=A?new Array(e.length).fill(Dn):Dn;const M=k=>{if(!(!(a.flags&1)||!a.dirty&&!k))if(t){const se=a.run();if(k||r||T||(A?se.some((pe,le)=>tt(pe,P[le])):tt(se,P))){h&&h();const pe=Pt;Pt=a;try{const le=[se,P===Dn?void 0:A&&P[0]===Dn?[]:P,v];P=se,c?c(t,3,le):t(...le)}finally{Pt=pe}}}else a.run()};return l&&l(M),a=new Ao(f),a.scheduler=i?()=>i(M,!1):M,v=k=>Il(k,!1,a),h=a.onStop=()=>{const k=Hn.get(a);if(k){if(c)c(k,4);else for(const se of k)se();Hn.delete(a)}},t?s?M(!0):P=a.run():i?i(M.bind(null,!0),!0):a.run(),V.pause=a.pause.bind(a),V.resume=a.resume.bind(a),V.stop=V,V}function dt(e,t=1/0,n){if(t<=0||!ee(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,we(e))dt(e.value,t,n);else if(U(e))for(let s=0;s<e.length;s++)dt(e[s],t,n);else if(ts(e)||Gt(e))e.forEach(s=>{dt(s,t,n)});else if(yo(e)){for(const s in e)dt(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&dt(e[s],t,n)}return e}/**
* @vue/runtime-core v3.5.39
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/function Tn(e,t,n,s){try{return s?e(...s):e()}catch(r){cs(r,t,n)}}function He(e,t,n,s){if(B(e)){const r=Tn(e,t,n,s);return r&&bo(r)&&r.catch(o=>{cs(o,t,n)}),r}if(U(e)){const r=[];for(let o=0;o<e.length;o++)r.push(He(e[o],t,n,s));return r}}function cs(e,t,n,s=!0){const r=t?t.vnode:null,{errorHandler:o,throwUnhandledErrorInProduction:i}=t&&t.appContext.config||oe;if(t){let l=t.parent;const c=t.proxy,u=`https://vuejs.org/error-reference/#runtime-${n}`;for(;l;){const a=l.ec;if(a){for(let f=0;f<a.length;f++)if(a[f](e,c,u)===!1)return}l=l.parent}if(o){st(),Tn(o,null,10,[e,c,u]),rt();return}}Nl(e,n,r,s,i)}function Nl(e,t,n,s=!0,r=!1){if(r)throw e;console.error(e)}const Ce=[];let Xe=-1;const Wt=[];let xt=null,Ht=0;const Ho=Promise.resolve();let Bn=null;function lr(e){const t=Bn||Ho;return e?t.then(this?e.bind(this):e):t}function kl(e){let t=Xe+1,n=Ce.length;for(;t<n;){const s=t+n>>>1,r=Ce[s],o=yn(r);o<e||o===e&&r.flags&2?t=s+1:n=s}return t}function cr(e){if(!(e.flags&1)){const t=yn(e),n=Ce[Ce.length-1];!n||!(e.flags&2)&&t>=yn(n)?Ce.push(e):Ce.splice(kl(t),0,e),e.flags|=1,Bo()}}function Bo(){Bn||(Bn=Ho.then(Go))}function Ml(e){U(e)?Wt.push(...e):xt&&e.id===-1?xt.splice(Ht+1,0,e):e.flags&1||(Wt.push(e),e.flags|=1),Bo()}function Sr(e,t,n=Xe+1){for(;n<Ce.length;n++){const s=Ce[n];if(s&&s.flags&2){if(e&&s.id!==e.uid)continue;Ce.splice(n,1),n--,s.flags&4&&(s.flags&=-2),s(),s.flags&4||(s.flags&=-2)}}}function Ko(e){if(Wt.length){const t=[...new Set(Wt)].sort((n,s)=>yn(n)-yn(s));if(Wt.length=0,xt){xt.push(...t);return}for(xt=t,Ht=0;Ht<xt.length;Ht++){const n=xt[Ht];n.flags&4&&(n.flags&=-2),n.flags&8||n(),n.flags&=-2}xt=null,Ht=0}}const yn=e=>e.id==null?e.flags&2?-1:1/0:e.id;function Go(e){try{for(Xe=0;Xe<Ce.length;Xe++){const t=Ce[Xe];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),Tn(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;Xe<Ce.length;Xe++){const t=Ce[Xe];t&&(t.flags&=-2)}Xe=-1,Ce.length=0,Ko(),Bn=null,(Ce.length||Wt.length)&&Go()}}let be=null,Wo=null;function Kn(e){const t=be;return be=e,Wo=e&&e.type.__scopeId||null,t}function Yt(e,t=be,n){if(!t||e._n)return e;const s=(...r)=>{s._d&&qn(-1);const o=Kn(t);let i;try{i=e(...r)}finally{Kn(o),s._d&&qn(1)}return i};return s._n=!0,s._c=!0,s._d=!0,s}function Ne(e,t){if(be===null)return e;const n=ds(be),s=e.dirs||(e.dirs=[]);for(let r=0;r<t.length;r++){let[o,i,l,c=oe]=t[r];o&&(B(o)&&(o={mounted:o,updated:o}),o.deep&&dt(i),s.push({dir:o,instance:n,value:i,oldValue:void 0,arg:l,modifiers:c}))}return e}function Ct(e,t,n,s){const r=e.dirs,o=t&&t.dirs;for(let i=0;i<r.length;i++){const l=r[i];o&&(l.oldValue=o[i].value);let c=l.dir[s];c&&(st(),He(c,n,8,[e.el,l,e,t]),rt())}}function Vn(e,t){if(xe){let n=xe.provides;const s=xe.parent&&xe.parent.provides;s===n&&(n=xe.provides=Object.create(s)),n[e]=t}}function Ve(e,t,n=!1){const s=kc();if(s||zt){let r=zt?zt._context.provides:s?s.parent==null||s.ce?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides:void 0;if(r&&e in r)return r[e];if(arguments.length>1)return n&&B(t)?t.call(s&&s.proxy):t}}const Dl=Symbol.for("v-scx"),$l=()=>Ve(Dl);function Fn(e,t,n){return qo(e,t,n)}function qo(e,t,n=oe){const{immediate:s,deep:r,flush:o,once:i}=n,l=_e({},n),c=t&&s||!t&&o!=="post";let u;if(Sn){if(o==="sync"){const v=$l();u=v.__watcherHandles||(v.__watcherHandles=[])}else if(!c){const v=()=>{};return v.stop=nt,v.resume=nt,v.pause=nt,v}}const a=xe;l.call=(v,T,A)=>He(v,a,T,A);let f=!1;o==="post"?l.scheduler=v=>{Ie(v,a&&a.suspense)}:o!=="sync"&&(f=!0,l.scheduler=(v,T)=>{T?v():cr(v)}),l.augmentJob=v=>{t&&(v.flags|=4),f&&(v.flags|=2,a&&(v.id=a.uid,v.i=a))};const h=Tl(e,t,l);return Sn&&(u?u.push(h):c&&h()),h}function Ll(e,t,n){const s=this.proxy,r=ae(e)?e.includes(".")?zo(s,e):()=>s[e]:e.bind(s,s);let o;B(t)?o=t:(o=t.handler,n=t);const i=Nn(this),l=qo(r,o.bind(s),n);return i(),l}function zo(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;r<n.length&&s;r++)s=s[n[r]];return s}}const Vl=Symbol("_vte"),Fl=e=>e.__isTeleport,ws=Symbol("_leaveCb");function ar(e,t){e.shapeFlag&6&&e.component?(e.transition=t,ar(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Jo(e,t){return B(e)?_e({name:e.name},t,{setup:e}):e}function Qo(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Er(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const Gn=new WeakMap;function hn(e,t,n,s,r=!1){if(U(e)){e.forEach((A,j)=>hn(A,t&&(U(t)?t[j]:t),n,s,r));return}if(qt(s)&&!r){s.shapeFlag&512&&s.type.__asyncResolved&&s.component.subTree.component&&hn(e,t,n,s.component.subTree);return}const o=s.shapeFlag&4?ds(s.component):s.el,i=r?null:o,{i:l,r:c}=e,u=t&&t.r,a=l.refs===oe?l.refs={}:l.refs,f=l.setupState,h=Y(f),v=f===oe?vo:A=>Er(a,A)?!1:X(h,A),T=(A,j)=>!(j&&Er(a,j));if(u!=null&&u!==c){if(Ar(t),ae(u))a[u]=null,v(u)&&(f[u]=null);else if(we(u)){const A=t;T(u,A.k)&&(u.value=null),A.k&&(a[A.k]=null)}}if(B(c)){st();try{Tn(c,l,12,[i,a])}finally{rt()}}else{const A=ae(c),j=we(c);if(A||j){const V=()=>{if(e.f){const P=A?v(c)?f[c]:a[c]:T()||!e.k?c.value:a[e.k];if(r)U(P)&&Xs(P,o);else if(U(P))P.includes(o)||P.push(o);else if(A)a[c]=[o],v(c)&&(f[c]=a[c]);else{const M=[o];T(c,e.k)&&(c.value=M),e.k&&(a[e.k]=M)}}else A?(a[c]=i,v(c)&&(f[c]=i)):j&&(T(c,e.k)&&(c.value=i),e.k&&(a[e.k]=i))};if(i){const P=()=>{V(),Gn.delete(e)};P.id=-1,Gn.set(e,P),Ie(P,n)}else Ar(e),V()}}}function Ar(e){const t=Gn.get(e);t&&(t.flags|=8,Gn.delete(e))}os().requestIdleCallback;os().cancelIdleCallback;const qt=e=>!!e.type.__asyncLoader,Yo=e=>e.type.__isKeepAlive;function jl(e,t){Xo(e,"a",t)}function Ul(e,t){Xo(e,"da",t)}function Xo(e,t,n=xe){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(as(t,s,n),n){let r=n.parent;for(;r&&r.parent;)Yo(r.parent.vnode)&&Hl(s,t,n,r),r=r.parent}}function Hl(e,t,n,s){const r=as(t,e,s,!0);ur(()=>{Xs(s[t],r)},n)}function as(e,t,n=xe,s=!1){if(n){const r=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...i)=>{st();const l=Nn(n),c=He(t,n,e,i);return l(),rt(),c});return s?r.unshift(o):r.push(o),o}}const gt=e=>(t,n=xe)=>{(!Sn||e==="sp")&&as(e,(...s)=>t(...s),n)},Bl=gt("bm"),Et=gt("m"),Kl=gt("bu"),Gl=gt("u"),Wl=gt("bum"),ur=gt("um"),ql=gt("sp"),zl=gt("rtg"),Jl=gt("rtc");function Ql(e,t=xe){as("ec",e,t)}const Zo="components";function Yl(e,t){return ti(Zo,e,!0,t)||e}const ei=Symbol.for("v-ndc");function Xl(e){return ae(e)?ti(Zo,e,!1)||e:e||ei}function ti(e,t,n=!0,s=!1){const r=be||xe;if(r){const o=r.type;{const l=Vc(o,!1);if(l&&(l===t||l===Oe(t)||l===ss(Oe(t))))return o}const i=Rr(r[e]||o[e],t)||Rr(r.appContext[e],t);return!i&&s?o:i}}function Rr(e,t){return e&&(e[t]||e[Oe(t)]||e[ss(Oe(t))])}function ot(e,t,n,s){let r;const o=n,i=U(e);if(i||ae(e)){const l=i&&kt(e);let c=!1,u=!1;l&&(c=!Le(e),u=ht(e),e=ls(e)),r=new Array(e.length);for(let a=0,f=e.length;a<f;a++)r[a]=t(c?u?Qt(Ue(e[a])):Ue(e[a]):e[a],a,void 0,o)}else if(typeof e=="number"){r=new Array(e);for(let l=0;l<e;l++)r[l]=t(l+1,l,void 0,o)}else if(ee(e))if(e[Symbol.iterator])r=Array.from(e,(l,c)=>t(l,c,void 0,o));else{const l=Object.keys(e);r=new Array(l.length);for(let c=0,u=l.length;c<u;c++){const a=l[c];r[c]=t(e[a],a,c,o)}}else r=[];return r}function Zl(e,t,n={},s,r){if(be.ce||be.parent&&qt(be.parent)&&be.parent.ce){const u=Object.keys(n).length>0;return n.name=t,N(),pt(ce,null,[W("slot",n,s)],u?-2:64)}let o=e[t];o&&o._c&&(o._d=!1),N();const i=o&&ni(o(n)),l=n.key||i&&i.key,c=pt(ce,{key:(l&&!je(l)?l:`_${t}`)+(!i&&s?"_fb":"")},i||[],i&&e._===1?64:-2);return c.scopeId&&(c.slotScopeIds=[c.scopeId+"-s"]),o&&o._c&&(o._d=!0),c}function ni(e){return e.some(t=>wn(t)?!(t.type===mt||t.type===ce&&!ni(t.children)):!0)?e:null}const $s=e=>e?wi(e)?ds(e):$s(e.parent):null,mn=_e(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>$s(e.parent),$root:e=>$s(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>ri(e),$forceUpdate:e=>e.f||(e.f=()=>{cr(e.update)}),$nextTick:e=>e.n||(e.n=lr.bind(e.proxy)),$watch:e=>Ll.bind(e)}),Ss=(e,t)=>e!==oe&&!e.__isScriptSetup&&X(e,t),ec={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:r,props:o,accessCache:i,type:l,appContext:c}=e;if(t[0]!=="$"){const h=i[t];if(h!==void 0)switch(h){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return o[t]}else{if(Ss(s,t))return i[t]=1,s[t];if(r!==oe&&X(r,t))return i[t]=2,r[t];if(X(o,t))return i[t]=3,o[t];if(n!==oe&&X(n,t))return i[t]=4,n[t];Ls&&(i[t]=0)}}const u=mn[t];let a,f;if(u)return t==="$attrs"&&ye(e.attrs,"get",""),u(e);if((a=l.__cssModules)&&(a=a[t]))return a;if(n!==oe&&X(n,t))return i[t]=4,n[t];if(f=c.config.globalProperties,X(f,t))return f[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:o}=e;return Ss(r,t)?(r[t]=n,!0):s!==oe&&X(s,t)?(s[t]=n,!0):X(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,props:o,type:i}},l){let c;return!!(n[l]||e!==oe&&l[0]!=="$"&&X(e,l)||Ss(t,l)||X(o,l)||X(s,l)||X(mn,l)||X(r.config.globalProperties,l)||(c=i.__cssModules)&&c[l])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:X(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Cr(e){return U(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Ls=!0;function tc(e){const t=ri(e),n=e.proxy,s=e.ctx;Ls=!1,t.beforeCreate&&Or(t.beforeCreate,e,"bc");const{data:r,computed:o,methods:i,watch:l,provide:c,inject:u,created:a,beforeMount:f,mounted:h,beforeUpdate:v,updated:T,activated:A,deactivated:j,beforeDestroy:V,beforeUnmount:P,destroyed:M,unmounted:k,render:se,renderTracked:pe,renderTriggered:le,errorCaptured:Ke,serverPrefetch:vt,expose:Ge,inheritAttrs:bt,components:At,directives:We,filters:nn}=t;if(u&&nc(u,s,null),i)for(const te in i){const J=i[te];B(J)&&(s[te]=J.bind(n))}if(r){const te=r.call(n,n);ee(te)&&(e.data=In(te))}if(Ls=!0,o)for(const te in o){const J=o[te],it=B(J)?J.bind(n,n):B(J.get)?J.get.bind(n,n):nt,_t=!B(J)&&B(J.set)?J.set.bind(n):nt,qe=$e({get:it,set:_t});Object.defineProperty(s,te,{enumerable:!0,configurable:!0,get:()=>qe.value,set:Pe=>qe.value=Pe})}if(l)for(const te in l)si(l[te],s,n,te);if(c){const te=B(c)?c.call(n):c;Reflect.ownKeys(te).forEach(J=>{Vn(J,te[J])})}a&&Or(a,e,"c");function me(te,J){U(J)?J.forEach(it=>te(it.bind(n))):J&&te(J.bind(n))}if(me(Bl,f),me(Et,h),me(Kl,v),me(Gl,T),me(jl,A),me(Ul,j),me(Ql,Ke),me(Jl,pe),me(zl,le),me(Wl,P),me(ur,k),me(ql,vt),U(Ge))if(Ge.length){const te=e.exposed||(e.exposed={});Ge.forEach(J=>{Object.defineProperty(te,J,{get:()=>n[J],set:it=>n[J]=it,enumerable:!0})})}else e.exposed||(e.exposed={});se&&e.render===nt&&(e.render=se),bt!=null&&(e.inheritAttrs=bt),At&&(e.components=At),We&&(e.directives=We),vt&&Qo(e)}function nc(e,t,n=nt){U(e)&&(e=Vs(e));for(const s in e){const r=e[s];let o;ee(r)?"default"in r?o=Ve(r.from||s,r.default,!0):o=Ve(r.from||s):o=Ve(r),we(o)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>o.value,set:i=>o.value=i}):t[s]=o}}function Or(e,t,n){He(U(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function si(e,t,n,s){let r=s.includes(".")?zo(n,s):()=>n[s];if(ae(e)){const o=t[e];B(o)&&Fn(r,o)}else if(B(e))Fn(r,e.bind(n));else if(ee(e))if(U(e))e.forEach(o=>si(o,t,n,s));else{const o=B(e.handler)?e.handler.bind(n):t[e.handler];B(o)&&Fn(r,o,e)}}function ri(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:o,config:{optionMergeStrategies:i}}=e.appContext,l=o.get(t);let c;return l?c=l:!r.length&&!n&&!s?c=t:(c={},r.length&&r.forEach(u=>Wn(c,u,i,!0)),Wn(c,t,i)),ee(t)&&o.set(t,c),c}function Wn(e,t,n,s=!1){const{mixins:r,extends:o}=t;o&&Wn(e,o,n,!0),r&&r.forEach(i=>Wn(e,i,n,!0));for(const i in t)if(!(s&&i==="expose")){const l=sc[i]||n&&n[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const sc={data:Pr,props:Ir,emits:Ir,methods:an,computed:an,beforeCreate:Ae,created:Ae,beforeMount:Ae,mounted:Ae,beforeUpdate:Ae,updated:Ae,beforeDestroy:Ae,beforeUnmount:Ae,destroyed:Ae,unmounted:Ae,activated:Ae,deactivated:Ae,errorCaptured:Ae,serverPrefetch:Ae,components:an,directives:an,watch:oc,provide:Pr,inject:rc};function Pr(e,t){return t?e?function(){return _e(B(e)?e.call(this,this):e,B(t)?t.call(this,this):t)}:t:e}function rc(e,t){return an(Vs(e),Vs(t))}function Vs(e){if(U(e)){const t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function Ae(e,t){return e?[...new Set([].concat(e,t))]:t}function an(e,t){return e?_e(Object.create(null),e,t):t}function Ir(e,t){return e?U(e)&&U(t)?[...new Set([...e,...t])]:_e(Object.create(null),Cr(e),Cr(t??{})):t}function oc(e,t){if(!e)return t;if(!t)return e;const n=_e(Object.create(null),e);for(const s in t)n[s]=Ae(e[s],t[s]);return n}function oi(){return{app:null,config:{isNativeTag:vo,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let ic=0;function lc(e,t){return function(s,r=null){B(s)||(s=_e({},s)),r!=null&&!ee(r)&&(r=null);const o=oi(),i=new WeakSet,l=[];let c=!1;const u=o.app={_uid:ic++,_component:s,_props:r,_container:null,_context:o,_instance:null,version:jc,get config(){return o.config},set config(a){},use(a,...f){return i.has(a)||(a&&B(a.install)?(i.add(a),a.install(u,...f)):B(a)&&(i.add(a),a(u,...f))),u},mixin(a){return o.mixins.includes(a)||o.mixins.push(a),u},component(a,f){return f?(o.components[a]=f,u):o.components[a]},directive(a,f){return f?(o.directives[a]=f,u):o.directives[a]},mount(a,f,h){if(!c){const v=u._ceVNode||W(s,r);return v.appContext=o,h===!0?h="svg":h===!1&&(h=void 0),e(v,a,h),c=!0,u._container=a,a.__vue_app__=u,ds(v.component)}},onUnmount(a){l.push(a)},unmount(){c&&(He(l,u._instance,16),e(null,u._container),delete u._container.__vue_app__)},provide(a,f){return o.provides[a]=f,u},runWithContext(a){const f=zt;zt=u;try{return a()}finally{zt=f}}};return u}}let zt=null;const cc=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Oe(t)}Modifiers`]||e[`${Dt(t)}Modifiers`];function ac(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||oe;let r=n;const o=t.startsWith("update:"),i=o&&cc(s,t.slice(7));i&&(i.trim&&(r=n.map(a=>ae(a)?a.trim():a)),i.number&&(r=n.map(rs)));let l,c=s[l=vs(t)]||s[l=vs(Oe(t))];!c&&o&&(c=s[l=vs(Dt(t))]),c&&He(c,e,6,r);const u=s[l+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,He(u,e,6,r)}}const uc=new WeakMap;function ii(e,t,n=!1){const s=n?uc:t.emitsCache,r=s.get(e);if(r!==void 0)return r;const o=e.emits;let i={},l=!1;if(!B(e)){const c=u=>{const a=ii(u,t,!0);a&&(l=!0,_e(i,a))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!o&&!l?(ee(e)&&s.set(e,null),null):(U(o)?o.forEach(c=>i[c]=null):_e(i,o),ee(e)&&s.set(e,i),i)}function us(e,t){return!e||!Zn(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),X(e,t[0].toLowerCase()+t.slice(1))||X(e,Dt(t))||X(e,t))}function Tr(e){const{type:t,vnode:n,proxy:s,withProxy:r,propsOptions:[o],slots:i,attrs:l,emit:c,render:u,renderCache:a,props:f,data:h,setupState:v,ctx:T,inheritAttrs:A}=e,j=Kn(e);let V,P;try{if(n.shapeFlag&4){const k=r||s,se=k;V=et(u.call(se,k,a,f,v,h,T)),P=l}else{const k=t;V=et(k.length>1?k(f,{attrs:l,slots:i,emit:c}):k(f,null)),P=t.props?l:fc(l)}}catch(k){gn.length=0,cs(k,e,1),V=W(mt)}let M=V;if(P&&A!==!1){const k=Object.keys(P),{shapeFlag:se}=M;k.length&&se&7&&(o&&k.some(es)&&(P=dc(P,o)),M=Xt(M,P,!1,!0))}return n.dirs&&(M=Xt(M,null,!1,!0),M.dirs=M.dirs?M.dirs.concat(n.dirs):n.dirs),n.transition&&ar(M,n.transition),V=M,Kn(j),V}const fc=e=>{let t;for(const n in e)(n==="class"||n==="style"||Zn(n))&&((t||(t={}))[n]=e[n]);return t},dc=(e,t)=>{const n={};for(const s in e)(!es(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function pc(e,t,n){const{props:s,children:r,component:o}=e,{props:i,children:l,patchFlag:c}=t,u=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?Nr(s,i,u):!!i;if(c&8){const a=t.dynamicProps;for(let f=0;f<a.length;f++){const h=a[f];if(li(i,s,h)&&!us(u,h))return!0}}}else return(r||l)&&(!l||!l.$stable)?!0:s===i?!1:s?i?Nr(s,i,u):!0:!!i;return!1}function Nr(e,t,n){const s=Object.keys(t);if(s.length!==Object.keys(e).length)return!0;for(let r=0;r<s.length;r++){const o=s[r];if(li(t,e,o)&&!us(n,o))return!0}return!1}function li(e,t,n){const s=e[n],r=t[n];return n==="style"&&ee(s)&&ee(r)?!Pn(s,r):s!==r}function hc({vnode:e,parent:t,suspense:n},s){for(;t;){const r=t.subTree;if(r.suspense&&r.suspense.activeBranch===e&&(r.suspense.vnode.el=r.el=s,e=r),r===e)(e=t.vnode).el=s,t=t.parent;else break}n&&n.activeBranch===e&&(n.vnode.el=s)}const ci={},ai=()=>Object.create(ci),ui=e=>Object.getPrototypeOf(e)===ci;function mc(e,t,n,s=!1){const r={},o=ai();e.propsDefaults=Object.create(null),fi(e,t,r,o);for(const i in e.propsOptions[0])i in r||(r[i]=void 0);n?e.props=s?r:Fo(r):e.type.props?e.props=r:e.props=o,e.attrs=o}function gc(e,t,n,s){const{props:r,attrs:o,vnode:{patchFlag:i}}=e,l=Y(r),[c]=e.propsOptions;let u=!1;if((s||i>0)&&!(i&16)){if(i&8){const a=e.vnode.dynamicProps;for(let f=0;f<a.length;f++){let h=a[f];if(us(e.emitsOptions,h))continue;const v=t[h];if(c)if(X(o,h))v!==o[h]&&(o[h]=v,u=!0);else{const T=Oe(h);r[T]=Fs(c,l,T,v,e,!1)}else v!==o[h]&&(o[h]=v,u=!0)}}}else{fi(e,t,r,o)&&(u=!0);let a;for(const f in l)(!t||!X(t,f)&&((a=Dt(f))===f||!X(t,a)))&&(c?n&&(n[f]!==void 0||n[a]!==void 0)&&(r[f]=Fs(c,l,f,void 0,e,!0)):delete r[f]);if(o!==l)for(const f in o)(!t||!X(t,f))&&(delete o[f],u=!0)}u&&ft(e.attrs,"set","")}function fi(e,t,n,s){const[r,o]=e.propsOptions;let i=!1,l;if(t)for(let c in t){if(fn(c))continue;const u=t[c];let a;r&&X(r,a=Oe(c))?!o||!o.includes(a)?n[a]=u:(l||(l={}))[a]=u:us(e.emitsOptions,c)||(!(c in s)||u!==s[c])&&(s[c]=u,i=!0)}if(o){const c=Y(n),u=l||oe;for(let a=0;a<o.length;a++){const f=o[a];n[f]=Fs(r,c,f,u[f],e,!X(u,f))}}return i}function Fs(e,t,n,s,r,o){const i=e[n];if(i!=null){const l=X(i,"default");if(l&&s===void 0){const c=i.default;if(i.type!==Function&&!i.skipFactory&&B(c)){const{propsDefaults:u}=r;if(n in u)s=u[n];else{const a=Nn(r);s=u[n]=c.call(null,t),a()}}else s=c;r.ce&&r.ce._setProp(n,s)}i[0]&&(o&&!l?s=!1:i[1]&&(s===""||s===Dt(n))&&(s=!0))}return s}const vc=new WeakMap;function di(e,t,n=!1){const s=n?vc:t.propsCache,r=s.get(e);if(r)return r;const o=e.props,i={},l=[];let c=!1;if(!B(e)){const a=f=>{c=!0;const[h,v]=di(f,t,!0);_e(i,h),v&&l.push(...v)};!n&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}if(!o&&!c)return ee(e)&&s.set(e,Kt),Kt;if(U(o))for(let a=0;a<o.length;a++){const f=Oe(o[a]);kr(f)&&(i[f]=oe)}else if(o)for(const a in o){const f=Oe(a);if(kr(f)){const h=o[a],v=i[f]=U(h)||B(h)?{type:h}:_e({},h),T=v.type;let A=!1,j=!0;if(U(T))for(let V=0;V<T.length;++V){const P=T[V],M=B(P)&&P.name;if(M==="Boolean"){A=!0;break}else M==="String"&&(j=!1)}else A=B(T)&&T.name==="Boolean";v[0]=A,v[1]=j,(A||X(v,"default"))&&l.push(f)}}const u=[i,l];return ee(e)&&s.set(e,u),u}function kr(e){return e[0]!=="$"&&!fn(e)}const fr=e=>e==="_"||e==="_ctx"||e==="$stable",dr=e=>U(e)?e.map(et):[et(e)],bc=(e,t,n)=>{if(t._n)return t;const s=Yt((...r)=>dr(t(...r)),n);return s._c=!1,s},pi=(e,t,n)=>{const s=e._ctx;for(const r in e){if(fr(r))continue;const o=e[r];if(B(o))t[r]=bc(r,o,s);else if(o!=null){const i=dr(o);t[r]=()=>i}}},hi=(e,t)=>{const n=dr(t);e.slots.default=()=>n},mi=(e,t,n)=>{for(const s in t)(n||!fr(s))&&(e[s]=t[s])},_c=(e,t,n)=>{const s=e.slots=ai();if(e.vnode.shapeFlag&32){const r=t._;r?(mi(s,t,n),n&&xo(s,"_",r,!0)):pi(t,s)}else t&&hi(e,t)},yc=(e,t,n)=>{const{vnode:s,slots:r}=e;let o=!0,i=oe;if(s.shapeFlag&32){const l=t._;l?n&&l===1?o=!1:mi(r,t,n):(o=!t.$stable,pi(t,r)),i=t}else t&&(hi(e,t),i={default:1});if(o)for(const l in r)!fr(l)&&i[l]==null&&delete r[l]},Ie=Ac;function xc(e){return wc(e)}function wc(e,t){const n=os();n.__VUE__=!0;const{insert:s,remove:r,patchProp:o,createElement:i,createText:l,createComment:c,setText:u,setElementText:a,parentNode:f,nextSibling:h,setScopeId:v=nt,insertStaticContent:T}=e,A=(d,p,m,_=null,x=null,b=null,R=void 0,E=null,S=!!p.dynamicChildren)=>{if(d===p)return;d&&!on(d,p)&&(_=y(d),Pe(d,x,b,!0),d=null),p.patchFlag===-2&&(S=!1,p.dynamicChildren=null);const{type:w,ref:F,shapeFlag:O}=p;switch(w){case fs:j(d,p,m,_);break;case mt:V(d,p,m,_);break;case As:d==null&&P(p,m,_,R);break;case ce:At(d,p,m,_,x,b,R,E,S);break;default:O&1?se(d,p,m,_,x,b,R,E,S):O&6?We(d,p,m,_,x,b,R,E,S):(O&64||O&128)&&w.process(d,p,m,_,x,b,R,E,S,D)}F!=null&&x?hn(F,d&&d.ref,b,p||d,!p):F==null&&d&&d.ref!=null&&hn(d.ref,null,b,d,!0)},j=(d,p,m,_)=>{if(d==null)s(p.el=l(p.children),m,_);else{const x=p.el=d.el;p.children!==d.children&&u(x,p.children)}},V=(d,p,m,_)=>{d==null?s(p.el=c(p.children||""),m,_):p.el=d.el},P=(d,p,m,_)=>{[d.el,d.anchor]=T(d.children,p,m,_,d.el,d.anchor)},M=({el:d,anchor:p},m,_)=>{let x;for(;d&&d!==p;)x=h(d),s(d,m,_),d=x;s(p,m,_)},k=({el:d,anchor:p})=>{let m;for(;d&&d!==p;)m=h(d),r(d),d=m;r(p)},se=(d,p,m,_,x,b,R,E,S)=>{if(p.type==="svg"?R="svg":p.type==="math"&&(R="mathml"),d==null)pe(p,m,_,x,b,R,E,S);else{const w=d.el&&d.el._isVueCE?d.el:null;try{w&&w._beginPatch(),vt(d,p,x,b,R,E,S)}finally{w&&w._endPatch()}}},pe=(d,p,m,_,x,b,R,E)=>{let S,w;const{props:F,shapeFlag:O,transition:$,dirs:H}=d;if(S=d.el=i(d.type,b,F&&F.is,F),O&8?a(S,d.children):O&16&&Ke(d.children,S,null,_,x,Es(d,b),R,E),H&&Ct(d,null,_,"created"),le(S,d,d.scopeId,R,_),F){for(const re in F)re!=="value"&&!fn(re)&&o(S,re,null,F[re],b,_);"value"in F&&o(S,"value",null,F.value,b),(w=F.onVnodeBeforeMount)&&Ye(w,_,d)}H&&Ct(d,null,_,"beforeMount");const z=Sc(x,$);z&&$.beforeEnter(S),s(S,p,m),((w=F&&F.onVnodeMounted)||z||H)&&Ie(()=>{try{w&&Ye(w,_,d),z&&$.enter(S),H&&Ct(d,null,_,"mounted")}finally{}},x)},le=(d,p,m,_,x)=>{if(m&&v(d,m),_)for(let b=0;b<_.length;b++)v(d,_[b]);if(x){let b=x.subTree;if(p===b||_i(b.type)&&(b.ssContent===p||b.ssFallback===p)){const R=x.vnode;le(d,R,R.scopeId,R.slotScopeIds,x.parent)}}},Ke=(d,p,m,_,x,b,R,E,S=0)=>{for(let w=S;w<d.length;w++){const F=d[w]=E?ut(d[w]):et(d[w]);A(null,F,p,m,_,x,b,R,E)}},vt=(d,p,m,_,x,b,R)=>{const E=p.el=d.el;let{patchFlag:S,dynamicChildren:w,dirs:F}=p;S|=d.patchFlag&16;const O=d.props||oe,$=p.props||oe;let H;if(m&&Ot(m,!1),(H=$.onVnodeBeforeUpdate)&&Ye(H,m,p,d),F&&Ct(p,d,m,"beforeUpdate"),m&&Ot(m,!0),w&&(!d.dynamicChildren||d.dynamicChildren.length!==w.length)&&(S=0,R=!1,w=null),(O.innerHTML&&$.innerHTML==null||O.textContent&&$.textContent==null)&&a(E,""),w?Ge(d.dynamicChildren,w,E,m,_,Es(p,x),b):R||J(d,p,E,null,m,_,Es(p,x),b,!1),S>0){if(S&16)bt(E,O,$,m,x);else if(S&2&&O.class!==$.class&&o(E,"class",null,$.class,x),S&4&&o(E,"style",O.style,$.style,x),S&8){const z=p.dynamicProps;for(let re=0;re<z.length;re++){const ne=z[re],fe=O[ne],ge=$[ne];(ge!==fe||ne==="value")&&o(E,ne,fe,ge,x,m)}}S&1&&d.children!==p.children&&a(E,p.children)}else!R&&w==null&&bt(E,O,$,m,x);((H=$.onVnodeUpdated)||F)&&Ie(()=>{H&&Ye(H,m,p,d),F&&Ct(p,d,m,"updated")},_)},Ge=(d,p,m,_,x,b,R)=>{for(let E=0;E<p.length;E++){const S=d[E],w=p[E],F=S.el&&(S.type===ce||!on(S,w)||S.shapeFlag&198)?f(S.el):m;A(S,w,F,null,_,x,b,R,!0)}},bt=(d,p,m,_,x)=>{if(p!==m){if(p!==oe)for(const b in p)!fn(b)&&!(b in m)&&o(d,b,p[b],null,x,_);for(const b in m){if(fn(b))continue;const R=m[b],E=p[b];R!==E&&b!=="value"&&o(d,b,E,R,x,_)}"value"in m&&o(d,"value",p.value,m.value,x)}},At=(d,p,m,_,x,b,R,E,S)=>{const w=p.el=d?d.el:l(""),F=p.anchor=d?d.anchor:l("");let{patchFlag:O,dynamicChildren:$,slotScopeIds:H}=p;H&&(E=E?E.concat(H):H),d==null?(s(w,m,_),s(F,m,_),Ke(p.children||[],m,F,x,b,R,E,S)):O>0&&O&64&&$&&d.dynamicChildren&&d.dynamicChildren.length===$.length?(Ge(d.dynamicChildren,$,m,x,b,R,E),(p.key!=null||x&&p===x.subTree)&&gi(d,p,!0)):J(d,p,m,F,x,b,R,E,S)},We=(d,p,m,_,x,b,R,E,S)=>{p.slotScopeIds=E,d==null?p.shapeFlag&512?x.ctx.activate(p,m,_,R,S):nn(p,m,_,x,b,R,S):$t(d,p,S)},nn=(d,p,m,_,x,b,R)=>{const E=d.component=Nc(d,_,x);if(Yo(d)&&(E.ctx.renderer=D),Mc(E,!1,R),E.asyncDep){if(x&&x.registerDep(E,me,R),!d.el){const S=E.subTree=W(mt);V(null,S,p,m),d.placeholder=S.el}}else me(E,d,p,m,x,b,R)},$t=(d,p,m)=>{const _=p.component=d.component;if(pc(d,p,m))if(_.asyncDep&&!_.asyncResolved){te(_,p,m);return}else _.next=p,_.update();else p.el=d.el,_.vnode=p},me=(d,p,m,_,x,b,R)=>{const E=()=>{if(d.isMounted){let{next:O,bu:$,u:H,parent:z,vnode:re}=d;{const Je=vi(d);if(Je){O&&(O.el=re.el,te(d,O,R)),Je.asyncDep.then(()=>{Ie(()=>{d.isUnmounted||w()},x)});return}}let ne=O,fe;Ot(d,!1),O?(O.el=re.el,te(d,O,R)):O=re,$&&Ln($),(fe=O.props&&O.props.onVnodeBeforeUpdate)&&Ye(fe,z,O,re),Ot(d,!0);const ge=Tr(d),ze=d.subTree;d.subTree=ge,A(ze,ge,f(ze.el),y(ze),d,x,b),O.el=ge.el,ne===null&&hc(d,ge.el),H&&Ie(H,x),(fe=O.props&&O.props.onVnodeUpdated)&&Ie(()=>Ye(fe,z,O,re),x)}else{let O;const{el:$,props:H}=p,{bm:z,m:re,parent:ne,root:fe,type:ge}=d,ze=qt(p);Ot(d,!1),z&&Ln(z),!ze&&(O=H&&H.onVnodeBeforeMount)&&Ye(O,ne,p),Ot(d,!0);{fe.ce&&fe.ce._hasShadowRoot()&&fe.ce._injectChildStyle(ge,d.parent?d.parent.type:void 0);const Je=d.subTree=Tr(d);A(null,Je,m,_,d,x,b),p.el=Je.el}if(re&&Ie(re,x),!ze&&(O=H&&H.onVnodeMounted)){const Je=p;Ie(()=>Ye(O,ne,Je),x)}(p.shapeFlag&256||ne&&qt(ne.vnode)&&ne.vnode.shapeFlag&256)&&d.a&&Ie(d.a,x),d.isMounted=!0,p=m=_=null}};d.scope.on();const S=d.effect=new Ao(E);d.scope.off();const w=d.update=S.run.bind(S),F=d.job=S.runIfDirty.bind(S);F.i=d,F.id=d.uid,S.scheduler=()=>cr(F),Ot(d,!0),w()},te=(d,p,m)=>{p.component=d;const _=d.vnode.props;d.vnode=p,d.next=null,gc(d,p.props,_,m),yc(d,p.children,m),st(),Sr(d),rt()},J=(d,p,m,_,x,b,R,E,S=!1)=>{const w=d&&d.children,F=d?d.shapeFlag:0,O=p.children,{patchFlag:$,shapeFlag:H}=p;if($>0){if($&128){_t(w,O,m,_,x,b,R,E,S);return}else if($&256){it(w,O,m,_,x,b,R,E,S);return}}H&8?(F&16&&De(w,x,b),O!==w&&a(m,O)):F&16?H&16?_t(w,O,m,_,x,b,R,E,S):De(w,x,b,!0):(F&8&&a(m,""),H&16&&Ke(O,m,_,x,b,R,E,S))},it=(d,p,m,_,x,b,R,E,S)=>{d=d||Kt,p=p||Kt;const w=d.length,F=p.length,O=Math.min(w,F);let $;for($=0;$<O;$++){const H=p[$]=S?ut(p[$]):et(p[$]);A(d[$],H,m,null,x,b,R,E,S)}w>F?De(d,x,b,!0,!1,O):Ke(p,m,_,x,b,R,E,S,O)},_t=(d,p,m,_,x,b,R,E,S)=>{let w=0;const F=p.length;let O=d.length-1,$=F-1;for(;w<=O&&w<=$;){const H=d[w],z=p[w]=S?ut(p[w]):et(p[w]);if(on(H,z))A(H,z,m,null,x,b,R,E,S);else break;w++}for(;w<=O&&w<=$;){const H=d[O],z=p[$]=S?ut(p[$]):et(p[$]);if(on(H,z))A(H,z,m,null,x,b,R,E,S);else break;O--,$--}if(w>O){if(w<=$){const H=$+1,z=H<F?p[H].el:_;for(;w<=$;)A(null,p[w]=S?ut(p[w]):et(p[w]),m,z,x,b,R,E,S),w++}}else if(w>$)for(;w<=O;)Pe(d[w],x,b,!0),w++;else{const H=w,z=w,re=new Map;for(w=z;w<=$;w++){const Te=p[w]=S?ut(p[w]):et(p[w]);Te.key!=null&&re.set(Te.key,w)}let ne,fe=0;const ge=$-z+1;let ze=!1,Je=0;const sn=new Array(ge);for(w=0;w<ge;w++)sn[w]=0;for(w=H;w<=O;w++){const Te=d[w];if(fe>=ge){Pe(Te,x,b,!0);continue}let Qe;if(Te.key!=null)Qe=re.get(Te.key);else for(ne=z;ne<=$;ne++)if(sn[ne-z]===0&&on(Te,p[ne])){Qe=ne;break}Qe===void 0?Pe(Te,x,b,!0):(sn[Qe-z]=w+1,Qe>=Je?Je=Qe:ze=!0,A(Te,p[Qe],m,null,x,b,R,E,S),fe++)}const gr=ze?Ec(sn):Kt;for(ne=gr.length-1,w=ge-1;w>=0;w--){const Te=z+w,Qe=p[Te],vr=p[Te+1],br=Te+1<F?vr.el||bi(vr):_;sn[w]===0?A(null,Qe,m,br,x,b,R,E,S):ze&&(ne<0||w!==gr[ne]?qe(Qe,m,br,2):ne--)}}},qe=(d,p,m,_,x=null)=>{const{el:b,type:R,transition:E,children:S,shapeFlag:w}=d;if(w&6){qe(d.component.subTree,p,m,_);return}if(w&128){d.suspense.move(p,m,_);return}if(w&64){R.move(d,p,m,D);return}if(R===ce){s(b,p,m);for(let O=0;O<S.length;O++)qe(S[O],p,m,_);s(d.anchor,p,m);return}if(R===As){M(d,p,m);return}if(_!==2&&w&1&&E)if(_===0)E.persisted&&!b[ws]?s(b,p,m):(E.beforeEnter(b),s(b,p,m),Ie(()=>E.enter(b),x));else{const{leave:O,delayLeave:$,afterLeave:H}=E,z=()=>{d.ctx.isUnmounted?r(b):s(b,p,m)},re=()=>{const ne=b._isLeaving||!!b[ws];b._isLeaving&&b[ws](!0),E.persisted&&!ne?z():O(b,()=>{z(),H&&H()})};$?$(b,z,re):re()}else s(b,p,m)},Pe=(d,p,m,_=!1,x=!1)=>{const{type:b,props:R,ref:E,children:S,dynamicChildren:w,shapeFlag:F,patchFlag:O,dirs:$,cacheIndex:H,memo:z}=d;if(O===-2&&(x=!1),E!=null&&(st(),hn(E,null,m,d,!0),rt()),H!=null&&(p.renderCache[H]=void 0),F&256){p.ctx.deactivate(d);return}const re=F&1&&$,ne=!qt(d);let fe;if(ne&&(fe=R&&R.onVnodeBeforeUnmount)&&Ye(fe,p,d),F&6)Rt(d.component,m,_);else{if(F&128){d.suspense.unmount(m,_);return}re&&Ct(d,null,p,"beforeUnmount"),F&64?d.type.remove(d,p,m,D,_):w&&!w.hasOnce&&(b!==ce||O>0&&O&64)?De(w,p,m,!1,!0):(b===ce&&O&384||!x&&F&16)&&De(S,p,m),_&&Lt(d)}const ge=z!=null&&H==null;(ne&&(fe=R&&R.onVnodeUnmounted)||re||ge)&&Ie(()=>{fe&&Ye(fe,p,d),re&&Ct(d,null,p,"unmounted"),ge&&(d.el=null)},m)},Lt=d=>{const{type:p,el:m,anchor:_,transition:x}=d;if(p===ce){Vt(m,_);return}if(p===As){k(d);return}const b=()=>{r(m),x&&!x.persisted&&x.afterLeave&&x.afterLeave()};if(d.shapeFlag&1&&x&&!x.persisted){const{leave:R,delayLeave:E}=x,S=()=>R(m,b);E?E(d.el,b,S):S()}else b()},Vt=(d,p)=>{let m;for(;d!==p;)m=h(d),r(d),d=m;r(p)},Rt=(d,p,m)=>{const{bum:_,scope:x,job:b,subTree:R,um:E,m:S,a:w}=d;Mr(S),Mr(w),_&&Ln(_),x.stop(),b&&(b.flags|=8,Pe(R,d,p,m)),E&&Ie(E,p),Ie(()=>{d.isUnmounted=!0},p)},De=(d,p,m,_=!1,x=!1,b=0)=>{for(let R=b;R<d.length;R++)Pe(d[R],p,m,_,x)},y=d=>{if(d.shapeFlag&6)return y(d.component.subTree);if(d.shapeFlag&128)return d.suspense.next();const p=h(d.anchor||d.el),m=p&&p[Vl];return m?h(m):p};let I=!1;const C=(d,p,m)=>{let _;d==null?p._vnode&&(Pe(p._vnode,null,null,!0),_=p._vnode.component):A(p._vnode||null,d,p,null,null,null,m),p._vnode=d,I||(I=!0,Sr(_),Ko(),I=!1)},D={p:A,um:Pe,m:qe,r:Lt,mt:nn,mc:Ke,pc:J,pbc:Ge,n:y,o:e};return{render:C,hydrate:void 0,createApp:lc(C)}}function Es({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Ot({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Sc(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function gi(e,t,n=!1){const s=e.children,r=t.children;if(U(s)&&U(r))for(let o=0;o<s.length;o++){const i=s[o];let l=r[o];l.shapeFlag&1&&!l.dynamicChildren&&((l.patchFlag<=0||l.patchFlag===32)&&(l=r[o]=ut(r[o]),l.el=i.el),!n&&l.patchFlag!==-2&&gi(i,l)),l.type===fs&&(l.patchFlag===-1&&(l=r[o]=ut(l)),l.el=i.el),l.type===mt&&!l.el&&(l.el=i.el)}}function Ec(e){const t=e.slice(),n=[0];let s,r,o,i,l;const c=e.length;for(s=0;s<c;s++){const u=e[s];if(u!==0){if(r=n[n.length-1],e[r]<u){t[s]=r,n.push(s);continue}for(o=0,i=n.length-1;o<i;)l=o+i>>1,e[n[l]]<u?o=l+1:i=l;u<e[n[o]]&&(o>0&&(t[s]=n[o-1]),n[o]=s)}}for(o=n.length,i=n[o-1];o-- >0;)n[o]=i,i=t[i];return n}function vi(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:vi(t)}function Mr(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function bi(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?bi(t.subTree):null}const _i=e=>e.__isSuspense;function Ac(e,t){t&&t.pendingBranch?U(e)?t.effects.push(...e):t.effects.push(e):Ml(e)}const ce=Symbol.for("v-fgt"),fs=Symbol.for("v-txt"),mt=Symbol.for("v-cmt"),As=Symbol.for("v-stc"),gn=[];let ke=null;function N(e=!1){gn.push(ke=e?null:[])}function Rc(){gn.pop(),ke=gn[gn.length-1]||null}let xn=1;function qn(e,t=!1){xn+=e,e<0&&ke&&t&&(ke.hasOnce=!0)}function yi(e){return e.dynamicChildren=xn>0?ke||Kt:null,Rc(),xn>0&&ke&&ke.push(e),e}function L(e,t,n,s,r,o){return yi(g(e,t,n,s,r,o,!0))}function pt(e,t,n,s,r){return yi(W(e,t,n,s,r,!0))}function wn(e){return e?e.__v_isVNode===!0:!1}function on(e,t){return e.type===t.type&&e.key===t.key}const xi=({key:e})=>e??null,jn=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?ae(e)||we(e)||B(e)?{i:be,r:e,k:t,f:!!n}:e:null);function g(e,t=null,n=null,s=0,r=null,o=e===ce?0:1,i=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&xi(t),ref:t&&jn(t),scopeId:Wo,slotScopeIds:null,children:n,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:o,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:be};return l?(zn(c,n),o&128&&e.normalize(c)):n&&(c.shapeFlag|=ae(n)?8:16),xn>0&&!i&&ke&&(c.patchFlag>0||o&6)&&c.patchFlag!==32&&ke.push(c),c}const W=Cc;function Cc(e,t=null,n=null,s=0,r=null,o=!1){if((!e||e===ei)&&(e=mt),wn(e)){const l=Xt(e,t,!0);return n&&zn(l,n),xn>0&&!o&&ke&&(l.shapeFlag&6?ke[ke.indexOf(e)]=l:ke.push(l)),l.patchFlag=-2,l}if(Fc(e)&&(e=e.__vccOpts),t){t=Oc(t);let{class:l,style:c}=t;l&&!ae(l)&&(t.class=On(l)),ee(c)&&(ir(c)&&!U(c)&&(c=_e({},c)),t.style=is(c))}const i=ae(e)?1:_i(e)?128:Fl(e)?64:ee(e)?4:B(e)?2:0;return g(e,t,n,s,r,i,o,!0)}function Oc(e){return e?ir(e)||ui(e)?_e({},e):e:null}function Xt(e,t,n=!1,s=!1){const{props:r,ref:o,patchFlag:i,children:l,transition:c}=e,u=t?Pc(r||{},t):r,a={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&xi(u),ref:t&&t.ref?n&&o?U(o)?o.concat(jn(t)):[o,jn(t)]:jn(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==ce?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Xt(e.ssContent),ssFallback:e.ssFallback&&Xt(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&s&&ar(a,c.clone(a)),a}function de(e=" ",t=0){return W(fs,null,e,t)}function Se(e="",t=!1){return t?(N(),pt(mt,null,e)):W(mt,null,e)}function et(e){return e==null||typeof e=="boolean"?W(mt):U(e)?W(ce,null,e.slice()):wn(e)?ut(e):W(fs,null,String(e))}function ut(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Xt(e)}function zn(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(U(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),zn(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!ui(t)?t._ctx=be:r===3&&be&&(be.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(B(t)){if(s&65){zn(e,{default:t});return}t={default:t,_ctx:be},n=32}else t=String(t),s&64?(n=16,t=[de(t)]):n=8;e.children=t,e.shapeFlag|=n}function Pc(...e){const t={};for(let n=0;n<e.length;n++){const s=e[n];for(const r in s)if(r==="class")t.class!==s.class&&(t.class=On([t.class,s.class]));else if(r==="style")t.style=is([t.style,s.style]);else if(Zn(r)){const o=t[r],i=s[r];i&&o!==i&&!(U(o)&&o.includes(i))?t[r]=o?[].concat(o,i):i:i==null&&o==null&&!es(r)&&(t[r]=i)}else r!==""&&(t[r]=s[r])}return t}function Ye(e,t,n,s=null){He(e,t,7,[n,s])}const Ic=oi();let Tc=0;function Nc(e,t,n){const s=e.type,r=(t?t.appContext:e.appContext)||Ic,o={uid:Tc++,vnode:e,type:s,parent:t,appContext:r,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new ol(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(r.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:di(s,r),emitsOptions:ii(s,r),emit:null,emitted:null,propsDefaults:oe,inheritAttrs:s.inheritAttrs,ctx:oe,data:oe,props:oe,attrs:oe,slots:oe,refs:oe,setupState:oe,setupContext:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return o.ctx={_:o},o.root=t?t.root:o,o.emit=ac.bind(null,o),e.ce&&e.ce(o),o}let xe=null;const kc=()=>xe||be;let Jn,js;{const e=os(),t=(n,s)=>{let r;return(r=e[n])||(r=e[n]=[]),r.push(s),o=>{r.length>1?r.forEach(i=>i(o)):r[0](o)}};Jn=t("__VUE_INSTANCE_SETTERS__",n=>xe=n),js=t("__VUE_SSR_SETTERS__",n=>Sn=n)}const Nn=e=>{const t=xe;return Jn(e),e.scope.on(),()=>{e.scope.off(),Jn(t)}},Dr=()=>{xe&&xe.scope.off(),Jn(null)};function wi(e){return e.vnode.shapeFlag&4}let Sn=!1;function Mc(e,t=!1,n=!1){t&&js(t);const{props:s,children:r}=e.vnode,o=wi(e);mc(e,s,o,t),_c(e,r,n||t);const i=o?Dc(e,t):void 0;return t&&js(!1),i}function Dc(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,ec);const{setup:s}=n;if(s){st();const r=e.setupContext=s.length>1?Lc(e):null,o=Nn(e),i=Tn(s,e,0,[e.props,r]),l=bo(i);if(rt(),o(),(l||e.sp)&&!qt(e)&&Qo(e),l){if(i.then(Dr,Dr),t)return i.then(c=>{$r(e,c)}).catch(c=>{cs(c,e,0)});e.asyncDep=i}else $r(e,i)}else Si(e)}function $r(e,t,n){B(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ee(t)&&(e.setupState=Uo(t)),Si(e)}function Si(e,t,n){const s=e.type;e.render||(e.render=s.render||nt);{const r=Nn(e);st();try{tc(e)}finally{rt(),r()}}}const $c={get(e,t){return ye(e,"get",""),e[t]}};function Lc(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,$c),slots:e.slots,emit:e.emit,expose:t}}function ds(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Uo(El(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in mn)return mn[n](e)},has(t,n){return n in t||n in mn}})):e.proxy}function Vc(e,t=!0){return B(e)?e.displayName||e.name:e.name||t&&e.__name}function Fc(e){return B(e)&&"__vccOpts"in e}const $e=(e,t)=>Pl(e,t,Sn);function En(e,t,n){try{qn(-1);const s=arguments.length;return s===2?ee(t)&&!U(t)?wn(t)?W(e,null,[t]):W(e,t):W(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&wn(n)&&(n=[n]),W(e,t,n))}finally{qn(1)}}const jc="3.5.39";/**
* @vue/runtime-dom v3.5.39
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/let Us;const Lr=typeof window<"u"&&window.trustedTypes;if(Lr)try{Us=Lr.createPolicy("vue",{createHTML:e=>e})}catch{}const Ei=Us?e=>Us.createHTML(e):e=>e,Uc="http://www.w3.org/2000/svg",Hc="http://www.w3.org/1998/Math/MathML",at=typeof document<"u"?document:null,Vr=at&&at.createElement("template"),Bc={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t==="svg"?at.createElementNS(Uc,e):t==="mathml"?at.createElementNS(Hc,e):n?at.createElement(e,{is:n}):at.createElement(e);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>at.createTextNode(e),createComment:e=>at.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>at.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,o){const i=n?n.previousSibling:t.lastChild;if(r&&(r===o||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===o||!(r=r.nextSibling)););else{Vr.innerHTML=Ei(s==="svg"?`<svg>${e}</svg>`:s==="mathml"?`<math>${e}</math>`:e);const l=Vr.content;if(s==="svg"||s==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Kc=Symbol("_vtc");function Gc(e,t,n){const s=e[Kc];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Qn=Symbol("_vod"),Ai=Symbol("_vsh"),Wc={name:"show",beforeMount(e,{value:t},{transition:n}){e[Qn]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):ln(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:s}){!t!=!n&&(s?t?(s.beforeEnter(e),ln(e,!0),s.enter(e)):s.leave(e,()=>{ln(e,!1)}):ln(e,t))},beforeUnmount(e,{value:t}){ln(e,t)}};function ln(e,t){e.style.display=t?e[Qn]:"none",e[Ai]=!t}const qc=Symbol(""),zc=/(?:^|;)\s*display\s*:/;function Jc(e,t,n){const s=e.style,r=ae(n);let o=!1;if(n&&!r){if(t)if(ae(t))for(const i of t.split(";")){const l=i.slice(0,i.indexOf(":")).trim();n[l]==null&&un(s,l,"")}else for(const i in t)n[i]==null&&un(s,i,"");for(const i in n){i==="display"&&(o=!0);const l=n[i];l!=null?Yc(e,i,!ae(t)&&t?t[i]:void 0,l)||un(s,i,l):un(s,i,"")}}else if(r){if(t!==n){const i=s[qc];i&&(n+=";"+i),s.cssText=n,o=zc.test(n)}}else t&&e.removeAttribute("style");Qn in e&&(e[Qn]=o?s.display:"",e[Ai]&&(s.display="none"))}const Fr=/\s*!important$/;function un(e,t,n){if(U(n))n.forEach(s=>un(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=Qc(e,t);Fr.test(n)?e.setProperty(Dt(s),n.replace(Fr,""),"important"):e[s]=n}}const jr=["Webkit","Moz","ms"],Rs={};function Qc(e,t){const n=Rs[t];if(n)return n;let s=Oe(t);if(s!=="filter"&&s in e)return Rs[t]=s;s=ss(s);for(let r=0;r<jr.length;r++){const o=jr[r]+s;if(o in e)return Rs[t]=o}return t}function Yc(e,t,n,s){return e.tagName==="TEXTAREA"&&(t==="width"||t==="height")&&ae(s)&&n===s}const Ur="http://www.w3.org/1999/xlink";function Hr(e,t,n,s,r,o=nl(t)){s&&t.startsWith("xlink:")?n==null?e.removeAttributeNS(Ur,t.slice(6,t.length)):e.setAttributeNS(Ur,t,n):n==null||o&&!wo(n)?e.removeAttribute(t):e.setAttribute(t,o?"":je(n)?String(n):n)}function Br(e,t,n,s,r){if(t==="innerHTML"||t==="textContent"){n!=null&&(e[t]=t==="innerHTML"?Ei(n):n);return}const o=e.tagName;if(t==="value"&&o!=="PROGRESS"&&!o.includes("-")){const l=o==="OPTION"?e.getAttribute("value")||"":e.value,c=n==null?e.type==="checkbox"?"on":"":String(n);(l!==c||!("_value"in e))&&(e.value=c),n==null&&e.removeAttribute(t),e._value=n;return}let i=!1;if(n===""||n==null){const l=typeof e[t];l==="boolean"?n=wo(n):n==null&&l==="string"?(n="",i=!0):l==="number"&&(n=0,i=!0)}try{e[t]=n}catch{}i&&e.removeAttribute(r||t)}function It(e,t,n,s){e.addEventListener(t,n,s)}function Xc(e,t,n,s){e.removeEventListener(t,n,s)}const Kr=Symbol("_vei");function Zc(e,t,n,s,r=null){const o=e[Kr]||(e[Kr]={}),i=o[t];if(s&&i)i.value=s;else{const[l,c]=na(t);if(s){const u=o[t]=oa(s,r);It(e,l,u,c)}else i&&(Xc(e,l,i,c),o[t]=void 0)}}const ea=/(Once|Passive|Capture)$/,ta=/^on:?(?:Once|Passive|Capture)$/;function na(e){let t,n;for(;(n=e.match(ea))&&!ta.test(e);)t||(t={}),e=e.slice(0,e.length-n[1].length),t[n[1].toLowerCase()]=!0;return[e[2]===":"?e.slice(3):Dt(e.slice(2)),t]}let Cs=0;const sa=Promise.resolve(),ra=()=>Cs||(sa.then(()=>Cs=0),Cs=Date.now());function oa(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;const r=n.value;if(U(r)){const o=s.stopImmediatePropagation;s.stopImmediatePropagation=()=>{o.call(s),s._stopped=!0};const i=r.slice(),l=[s];for(let c=0;c<i.length&&!s._stopped;c++){const u=i[c];u&&He(u,t,5,l)}}else He(r,t,5,[s])};return n.value=e,n.attached=ra(),n}const Gr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,ia=(e,t,n,s,r,o)=>{const i=r==="svg";t==="class"?Gc(e,s,i):t==="style"?Jc(e,n,s):Zn(t)?es(t)||Zc(e,t,n,s,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):la(e,t,s,i))?(Br(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Hr(e,t,s,i,o,t!=="value")):e._isVueCE&&(ca(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!ae(s)))?Br(e,Oe(t),s,o,t):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Hr(e,t,s,i))};function la(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&Gr(t)&&B(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return Gr(t)&&ae(n)?!1:t in e}function ca(e,t){const n=e._def.props;if(!n)return!1;const s=Oe(t);return Array.isArray(n)?n.some(r=>Oe(r)===s):Object.keys(n).some(r=>Oe(r)===s)}const Yn=e=>{const t=e.props["onUpdate:modelValue"]||!1;return U(t)?n=>Ln(t,n):t};function aa(e){e.target.composing=!0}function Wr(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Jt=Symbol("_assign");function qr(e,t,n){return t&&(e=e.trim()),n&&(e=rs(e)),e}const St={created(e,{modifiers:{lazy:t,trim:n,number:s}},r){e[Jt]=Yn(r);const o=s||r.props&&r.props.type==="number";It(e,t?"change":"input",i=>{i.target.composing||e[Jt](qr(e.value,n,o))}),(n||o)&&It(e,"change",()=>{e.value=qr(e.value,n,o)}),t||(It(e,"compositionstart",aa),It(e,"compositionend",Wr),It(e,"change",Wr))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:s,trim:r,number:o}},i){if(e[Jt]=Yn(i),e.composing)return;const l=(o||e.type==="number")&&!/^0\d/.test(e.value)?rs(e.value):e.value,c=t??"";if(l===c)return;const u=e.getRootNode();(u instanceof Document||u instanceof ShadowRoot)&&u.activeElement===e&&e.type!=="range"&&(s&&t===n||r&&e.value.trim()===c)||(e.value=c)}},ps={deep:!0,created(e,{value:t,modifiers:{number:n}},s){const r=ts(t);It(e,"change",()=>{const o=Array.prototype.filter.call(e.options,i=>i.selected).map(i=>n?rs(Xn(i)):Xn(i));e[Jt](e.multiple?r?new Set(o):o:o[0]),e._assigning=!0,lr(()=>{e._assigning=!1})}),e[Jt]=Yn(s)},mounted(e,{value:t}){zr(e,t)},beforeUpdate(e,t,n){e[Jt]=Yn(n)},updated(e,{value:t}){e._assigning||zr(e,t)}};function zr(e,t){const n=e.multiple,s=U(t);if(!(n&&!s&&!ts(t))){for(let r=0,o=e.options.length;r<o;r++){const i=e.options[r],l=Xn(i);if(n)if(s){const c=typeof l;c==="string"||c==="number"?i.selected=t.some(u=>String(u)===String(l)):i.selected=rl(t,l)>-1}else i.selected=t.has(l);else if(Pn(Xn(i),t)){e.selectedIndex!==r&&(e.selectedIndex=r);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Xn(e){return"_value"in e?e._value:e.value}const ua=["ctrl","shift","alt","meta"],fa={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>ua.some(n=>e[`${n}Key`]&&!t.includes(n))},hs=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=((r,...o)=>{for(let i=0;i<t.length;i++){const l=fa[t[i]];if(l&&l(r,t))return}return e(r,...o)}))},da=_e({patchProp:ia},Bc);let Jr;function pa(){return Jr||(Jr=xc(da))}const ha=((...e)=>{const t=pa().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=ga(s);if(!r)return;const o=t._component;!B(o)&&!o.render&&!o.template&&(o.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const i=n(r,!1,ma(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),i},t});function ma(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function ga(e){return ae(e)?document.querySelector(e):e}const va=(e,t)=>{const n=e.__vccOpts||e;for(const[s,r]of t)n[s]=r;return n},ba={};function _a(e,t){const n=Yl("router-view");return N(),pt(n)}const ya=va(ba,[["render",_a]]);/*!
* vue-router v4.6.4
* (c) 2025 Eduardo San Martin Morote
* @license MIT
*/const Bt=typeof document<"u";function Ri(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function xa(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&Ri(e.default)}const Q=Object.assign;function Os(e,t){const n={};for(const s in t){const r=t[s];n[s]=Be(r)?r.map(e):e(r)}return n}const vn=()=>{},Be=Array.isArray;function Qr(e,t){const n={};for(const s in e)n[s]=s in t?t[s]:e[s];return n}const Ci=/#/g,wa=/&/g,Sa=/\//g,Ea=/=/g,Aa=/\?/g,Oi=/\+/g,Ra=/%5B/g,Ca=/%5D/g,Pi=/%5E/g,Oa=/%60/g,Ii=/%7B/g,Pa=/%7C/g,Ti=/%7D/g,Ia=/%20/g;function pr(e){return e==null?"":encodeURI(""+e).replace(Pa,"|").replace(Ra,"[").replace(Ca,"]")}function Ta(e){return pr(e).replace(Ii,"{").replace(Ti,"}").replace(Pi,"^")}function Hs(e){return pr(e).replace(Oi,"%2B").replace(Ia,"+").replace(Ci,"%23").replace(wa,"%26").replace(Oa,"`").replace(Ii,"{").replace(Ti,"}").replace(Pi,"^")}function Na(e){return Hs(e).replace(Ea,"%3D")}function ka(e){return pr(e).replace(Ci,"%23").replace(Aa,"%3F")}function Ma(e){return ka(e).replace(Sa,"%2F")}function An(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const Da=/\/$/,$a=e=>e.replace(Da,"");function Ps(e,t,n="/"){let s,r={},o="",i="";const l=t.indexOf("#");let c=t.indexOf("?");return c=l>=0&&c>l?-1:c,c>=0&&(s=t.slice(0,c),o=t.slice(c,l>0?l:t.length),r=e(o.slice(1))),l>=0&&(s=s||t.slice(0,l),i=t.slice(l,t.length)),s=ja(s??t,n),{fullPath:s+o+i,path:s,query:r,hash:An(i)}}function La(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Yr(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Va(e,t,n){const s=t.matched.length-1,r=n.matched.length-1;return s>-1&&s===r&&Zt(t.matched[s],n.matched[r])&&Ni(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Zt(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Ni(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!Fa(e[n],t[n]))return!1;return!0}function Fa(e,t){return Be(e)?Xr(e,t):Be(t)?Xr(t,e):(e==null?void 0:e.valueOf())===(t==null?void 0:t.valueOf())}function Xr(e,t){return Be(t)?e.length===t.length&&e.every((n,s)=>n===t[s]):e.length===1&&e[0]===t}function ja(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),s=e.split("/"),r=s[s.length-1];(r===".."||r===".")&&s.push("");let o=n.length-1,i,l;for(i=0;i<s.length;i++)if(l=s[i],l!==".")if(l==="..")o>1&&o--;else break;return n.slice(0,o).join("/")+"/"+s.slice(i).join("/")}const yt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let Bs=(function(e){return e.pop="pop",e.push="push",e})({}),Is=(function(e){return e.back="back",e.forward="forward",e.unknown="",e})({});function Ua(e){if(!e)if(Bt){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),$a(e)}const Ha=/^[^#]+#/;function Ba(e,t){return e.replace(Ha,"#")+t}function Ka(e,t){const n=document.documentElement.getBoundingClientRect(),s=e.getBoundingClientRect();return{behavior:t.behavior,left:s.left-n.left-(t.left||0),top:s.top-n.top-(t.top||0)}}const ms=()=>({left:window.scrollX,top:window.scrollY});function Ga(e){let t;if("el"in e){const n=e.el,s=typeof n=="string"&&n.startsWith("#"),r=typeof n=="string"?s?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!r)return;t=Ka(r,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Zr(e,t){return(history.state?history.state.position-t:-1)+e}const Ks=new Map;function Wa(e,t){Ks.set(e,t)}function qa(e){const t=Ks.get(e);return Ks.delete(e),t}function za(e){return typeof e=="string"||e&&typeof e=="object"}function ki(e){return typeof e=="string"||typeof e=="symbol"}let ue=(function(e){return e[e.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",e[e.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",e[e.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",e[e.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",e[e.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",e})({});const Mi=Symbol("");ue.MATCHER_NOT_FOUND+"",ue.NAVIGATION_GUARD_REDIRECT+"",ue.NAVIGATION_ABORTED+"",ue.NAVIGATION_CANCELLED+"",ue.NAVIGATION_DUPLICATED+"";function en(e,t){return Q(new Error,{type:e,[Mi]:!0},t)}function ct(e,t){return e instanceof Error&&Mi in e&&(t==null||!!(e.type&t))}const Ja=["params","query","hash"];function Qa(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const n of Ja)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}function Ya(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let s=0;s<n.length;++s){const r=n[s].replace(Oi," "),o=r.indexOf("="),i=An(o<0?r:r.slice(0,o)),l=o<0?null:An(r.slice(o+1));if(i in t){let c=t[i];Be(c)||(c=t[i]=[c]),c.push(l)}else t[i]=l}return t}function eo(e){let t="";for(let n in e){const s=e[n];if(n=Na(n),s==null){s!==void 0&&(t+=(t.length?"&":"")+n);continue}(Be(s)?s.map(r=>r&&Hs(r)):[s&&Hs(s)]).forEach(r=>{r!==void 0&&(t+=(t.length?"&":"")+n,r!=null&&(t+="="+r))})}return t}function Xa(e){const t={};for(const n in e){const s=e[n];s!==void 0&&(t[n]=Be(s)?s.map(r=>r==null?null:""+r):s==null?s:""+s)}return t}const Za=Symbol(""),to=Symbol(""),gs=Symbol(""),hr=Symbol(""),Gs=Symbol("");function cn(){let e=[];function t(s){return e.push(s),()=>{const r=e.indexOf(s);r>-1&&e.splice(r,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function wt(e,t,n,s,r,o=i=>i()){const i=s&&(s.enterCallbacks[r]=s.enterCallbacks[r]||[]);return()=>new Promise((l,c)=>{const u=h=>{h===!1?c(en(ue.NAVIGATION_ABORTED,{from:n,to:t})):h instanceof Error?c(h):za(h)?c(en(ue.NAVIGATION_GUARD_REDIRECT,{from:t,to:h})):(i&&s.enterCallbacks[r]===i&&typeof h=="function"&&i.push(h),l())},a=o(()=>e.call(s&&s.instances[r],t,n,u));let f=Promise.resolve(a);e.length<3&&(f=f.then(u)),f.catch(h=>c(h))})}function Ts(e,t,n,s,r=o=>o()){const o=[];for(const i of e)for(const l in i.components){let c=i.components[l];if(!(t!=="beforeRouteEnter"&&!i.instances[l]))if(Ri(c)){const u=(c.__vccOpts||c)[t];u&&o.push(wt(u,n,s,i,l,r))}else{let u=c();o.push(()=>u.then(a=>{if(!a)throw new Error(`Couldn't resolve component "${l}" at "${i.path}"`);const f=xa(a)?a.default:a;i.mods[l]=a,i.components[l]=f;const h=(f.__vccOpts||f)[t];return h&&wt(h,n,s,i,l,r)()}))}}return o}function eu(e,t){const n=[],s=[],r=[],o=Math.max(t.matched.length,e.matched.length);for(let i=0;i<o;i++){const l=t.matched[i];l&&(e.matched.find(u=>Zt(u,l))?s.push(l):n.push(l));const c=e.matched[i];c&&(t.matched.find(u=>Zt(u,c))||r.push(c))}return[n,s,r]}/*!
* vue-router v4.6.4
* (c) 2025 Eduardo San Martin Morote
* @license MIT
*/let tu=()=>location.protocol+"//"+location.host;function Di(e,t){const{pathname:n,search:s,hash:r}=t,o=e.indexOf("#");if(o>-1){let i=r.includes(e.slice(o))?e.slice(o).length:1,l=r.slice(i);return l[0]!=="/"&&(l="/"+l),Yr(l,"")}return Yr(n,e)+s+r}function nu(e,t,n,s){let r=[],o=[],i=null;const l=({state:h})=>{const v=Di(e,location),T=n.value,A=t.value;let j=0;if(h){if(n.value=v,t.value=h,i&&i===T){i=null;return}j=A?h.position-A.position:0}else s(v);r.forEach(V=>{V(n.value,T,{delta:j,type:Bs.pop,direction:j?j>0?Is.forward:Is.back:Is.unknown})})};function c(){i=n.value}function u(h){r.push(h);const v=()=>{const T=r.indexOf(h);T>-1&&r.splice(T,1)};return o.push(v),v}function a(){if(document.visibilityState==="hidden"){const{history:h}=window;if(!h.state)return;h.replaceState(Q({},h.state,{scroll:ms()}),"")}}function f(){for(const h of o)h();o=[],window.removeEventListener("popstate",l),window.removeEventListener("pagehide",a),document.removeEventListener("visibilitychange",a)}return window.addEventListener("popstate",l),window.addEventListener("pagehide",a),document.addEventListener("visibilitychange",a),{pauseListeners:c,listen:u,destroy:f}}function no(e,t,n,s=!1,r=!1){return{back:e,current:t,forward:n,replaced:s,position:window.history.length,scroll:r?ms():null}}function su(e){const{history:t,location:n}=window,s={value:Di(e,n)},r={value:t.state};r.value||o(s.value,{back:null,current:s.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function o(c,u,a){const f=e.indexOf("#"),h=f>-1?(n.host&&document.querySelector("base")?e:e.slice(f))+c:tu()+e+c;try{t[a?"replaceState":"pushState"](u,"",h),r.value=u}catch(v){console.error(v),n[a?"replace":"assign"](h)}}function i(c,u){o(c,Q({},t.state,no(r.value.back,c,r.value.forward,!0),u,{position:r.value.position}),!0),s.value=c}function l(c,u){const a=Q({},r.value,t.state,{forward:c,scroll:ms()});o(a.current,a,!0),o(c,Q({},no(s.value,c,null),{position:a.position+1},u),!1),s.value=c}return{location:s,state:r,push:l,replace:i}}function ru(e){e=Ua(e);const t=su(e),n=nu(e,t.state,t.location,t.replace);function s(o,i=!0){i||n.pauseListeners(),history.go(o)}const r=Q({location:"",base:e,go:s,createHref:Ba.bind(null,e)},t,n);return Object.defineProperty(r,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(r,"state",{enumerable:!0,get:()=>t.state.value}),r}let Tt=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e})({});var he=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e})(he||{});const ou={type:Tt.Static,value:""},iu=/[a-zA-Z0-9_]/;function lu(e){if(!e)return[[]];if(e==="/")return[[ou]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(v){throw new Error(`ERR (${n})/"${u}": ${v}`)}let n=he.Static,s=n;const r=[];let o;function i(){o&&r.push(o),o=[]}let l=0,c,u="",a="";function f(){u&&(n===he.Static?o.push({type:Tt.Static,value:u}):n===he.Param||n===he.ParamRegExp||n===he.ParamRegExpEnd?(o.length>1&&(c==="*"||c==="+")&&t(`A repeatable param (${u}) must be alone in its segment. eg: '/:ids+.`),o.push({type:Tt.Param,value:u,regexp:a,repeatable:c==="*"||c==="+",optional:c==="*"||c==="?"})):t("Invalid state to consume buffer"),u="")}function h(){u+=c}for(;l<e.length;){if(c=e[l++],c==="\\"&&n!==he.ParamRegExp){s=n,n=he.EscapeNext;continue}switch(n){case he.Static:c==="/"?(u&&f(),i()):c===":"?(f(),n=he.Param):h();break;case he.EscapeNext:h(),n=s;break;case he.Param:c==="("?n=he.ParamRegExp:iu.test(c)?h():(f(),n=he.Static,c!=="*"&&c!=="?"&&c!=="+"&&l--);break;case he.ParamRegExp:c===")"?a[a.length-1]=="\\"?a=a.slice(0,-1)+c:n=he.ParamRegExpEnd:a+=c;break;case he.ParamRegExpEnd:f(),n=he.Static,c!=="*"&&c!=="?"&&c!=="+"&&l--,a="";break;default:t("Unknown state");break}}return n===he.ParamRegExp&&t(`Unfinished custom RegExp for param "${u}"`),f(),i(),r}const so="[^/]+?",cu={sensitive:!1,strict:!1,start:!0,end:!0};var Re=(function(e){return e[e._multiplier=10]="_multiplier",e[e.Root=90]="Root",e[e.Segment=40]="Segment",e[e.SubSegment=30]="SubSegment",e[e.Static=40]="Static",e[e.Dynamic=20]="Dynamic",e[e.BonusCustomRegExp=10]="BonusCustomRegExp",e[e.BonusWildcard=-50]="BonusWildcard",e[e.BonusRepeatable=-20]="BonusRepeatable",e[e.BonusOptional=-8]="BonusOptional",e[e.BonusStrict=.7000000000000001]="BonusStrict",e[e.BonusCaseSensitive=.25]="BonusCaseSensitive",e})(Re||{});const au=/[.+*?^${}()[\]/\\]/g;function uu(e,t){const n=Q({},cu,t),s=[];let r=n.start?"^":"";const o=[];for(const u of e){const a=u.length?[]:[Re.Root];n.strict&&!u.length&&(r+="/");for(let f=0;f<u.length;f++){const h=u[f];let v=Re.Segment+(n.sensitive?Re.BonusCaseSensitive:0);if(h.type===Tt.Static)f||(r+="/"),r+=h.value.replace(au,"\\$&"),v+=Re.Static;else if(h.type===Tt.Param){const{value:T,repeatable:A,optional:j,regexp:V}=h;o.push({name:T,repeatable:A,optional:j});const P=V||so;if(P!==so){v+=Re.BonusCustomRegExp;try{`${P}`}catch(k){throw new Error(`Invalid custom RegExp for param "${T}" (${P}): `+k.message)}}let M=A?`((?:${P})(?:/(?:${P}))*)`:`(${P})`;f||(M=j&&u.length<2?`(?:/${M})`:"/"+M),j&&(M+="?"),r+=M,v+=Re.Dynamic,j&&(v+=Re.BonusOptional),A&&(v+=Re.BonusRepeatable),P===".*"&&(v+=Re.BonusWildcard)}a.push(v)}s.push(a)}if(n.strict&&n.end){const u=s.length-1;s[u][s[u].length-1]+=Re.BonusStrict}n.strict||(r+="/?"),n.end?r+="$":n.strict&&!r.endsWith("/")&&(r+="(?:/|$)");const i=new RegExp(r,n.sensitive?"":"i");function l(u){const a=u.match(i),f={};if(!a)return null;for(let h=1;h<a.length;h++){const v=a[h]||"",T=o[h-1];f[T.name]=v&&T.repeatable?v.split("/"):v}return f}function c(u){let a="",f=!1;for(const h of e){(!f||!a.endsWith("/"))&&(a+="/"),f=!1;for(const v of h)if(v.type===Tt.Static)a+=v.value;else if(v.type===Tt.Param){const{value:T,repeatable:A,optional:j}=v,V=T in u?u[T]:"";if(Be(V)&&!A)throw new Error(`Provided param "${T}" is an array but it is not repeatable (* or + modifiers)`);const P=Be(V)?V.join("/"):V;if(!P)if(j)h.length<2&&(a.endsWith("/")?a=a.slice(0,-1):f=!0);else throw new Error(`Missing required param "${T}"`);a+=P}}return a||"/"}return{re:i,score:s,keys:o,parse:l,stringify:c}}function fu(e,t){let n=0;for(;n<e.length&&n<t.length;){const s=t[n]-e[n];if(s)return s;n++}return e.length<t.length?e.length===1&&e[0]===Re.Static+Re.Segment?-1:1:e.length>t.length?t.length===1&&t[0]===Re.Static+Re.Segment?1:-1:0}function $i(e,t){let n=0;const s=e.score,r=t.score;for(;n<s.length&&n<r.length;){const o=fu(s[n],r[n]);if(o)return o;n++}if(Math.abs(r.length-s.length)===1){if(ro(s))return 1;if(ro(r))return-1}return r.length-s.length}function ro(e){const t=e[e.length-1];return e.length>0&&t[t.length-1]<0}const du={strict:!1,end:!0,sensitive:!1};function pu(e,t,n){const s=uu(lu(e.path),n),r=Q(s,{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function hu(e,t){const n=[],s=new Map;t=Qr(du,t);function r(f){return s.get(f)}function o(f,h,v){const T=!v,A=io(f);A.aliasOf=v&&v.record;const j=Qr(t,f),V=[A];if("alias"in f){const k=typeof f.alias=="string"?[f.alias]:f.alias;for(const se of k)V.push(io(Q({},A,{components:v?v.record.components:A.components,path:se,aliasOf:v?v.record:A})))}let P,M;for(const k of V){const{path:se}=k;if(h&&se[0]!=="/"){const pe=h.record.path,le=pe[pe.length-1]==="/"?"":"/";k.path=h.record.path+(se&&le+se)}if(P=pu(k,h,j),v?v.alias.push(P):(M=M||P,M!==P&&M.alias.push(P),T&&f.name&&!lo(P)&&i(f.name)),Li(P)&&c(P),A.children){const pe=A.children;for(let le=0;le<pe.length;le++)o(pe[le],P,v&&v.children[le])}v=v||P}return M?()=>{i(M)}:vn}function i(f){if(ki(f)){const h=s.get(f);h&&(s.delete(f),n.splice(n.indexOf(h),1),h.children.forEach(i),h.alias.forEach(i))}else{const h=n.indexOf(f);h>-1&&(n.splice(h,1),f.record.name&&s.delete(f.record.name),f.children.forEach(i),f.alias.forEach(i))}}function l(){return n}function c(f){const h=vu(f,n);n.splice(h,0,f),f.record.name&&!lo(f)&&s.set(f.record.name,f)}function u(f,h){let v,T={},A,j;if("name"in f&&f.name){if(v=s.get(f.name),!v)throw en(ue.MATCHER_NOT_FOUND,{location:f});j=v.record.name,T=Q(oo(h.params,v.keys.filter(M=>!M.optional).concat(v.parent?v.parent.keys.filter(M=>M.optional):[]).map(M=>M.name)),f.params&&oo(f.params,v.keys.map(M=>M.name))),A=v.stringify(T)}else if(f.path!=null)A=f.path,v=n.find(M=>M.re.test(A)),v&&(T=v.parse(A),j=v.record.name);else{if(v=h.name?s.get(h.name):n.find(M=>M.re.test(h.path)),!v)throw en(ue.MATCHER_NOT_FOUND,{location:f,currentLocation:h});j=v.record.name,T=Q({},h.params,f.params),A=v.stringify(T)}const V=[];let P=v;for(;P;)V.unshift(P.record),P=P.parent;return{name:j,path:A,params:T,matched:V,meta:gu(V)}}e.forEach(f=>o(f));function a(){n.length=0,s.clear()}return{addRoute:o,resolve:u,removeRoute:i,clearRoutes:a,getRoutes:l,getRecordMatcher:r}}function oo(e,t){const n={};for(const s of t)s in e&&(n[s]=e[s]);return n}function io(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:mu(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function mu(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const s in e.components)t[s]=typeof n=="object"?n[s]:n;return t}function lo(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function gu(e){return e.reduce((t,n)=>Q(t,n.meta),{})}function vu(e,t){let n=0,s=t.length;for(;n!==s;){const o=n+s>>1;$i(e,t[o])<0?s=o:n=o+1}const r=bu(e);return r&&(s=t.lastIndexOf(r,s-1)),s}function bu(e){let t=e;for(;t=t.parent;)if(Li(t)&&$i(e,t)===0)return t}function Li({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function co(e){const t=Ve(gs),n=Ve(hr),s=$e(()=>{const c=Z(e.to);return t.resolve(c)}),r=$e(()=>{const{matched:c}=s.value,{length:u}=c,a=c[u-1],f=n.matched;if(!a||!f.length)return-1;const h=f.findIndex(Zt.bind(null,a));if(h>-1)return h;const v=ao(c[u-2]);return u>1&&ao(a)===v&&f[f.length-1].path!==v?f.findIndex(Zt.bind(null,c[u-2])):h}),o=$e(()=>r.value>-1&&wu(n.params,s.value.params)),i=$e(()=>r.value>-1&&r.value===n.matched.length-1&&Ni(n.params,s.value.params));function l(c={}){if(xu(c)){const u=t[Z(e.replace)?"replace":"push"](Z(e.to)).catch(vn);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>u),u}return Promise.resolve()}return{route:s,href:$e(()=>s.value.href),isActive:o,isExactActive:i,navigate:l}}function _u(e){return e.length===1?e[0]:e}const yu=Jo({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:co,setup(e,{slots:t}){const n=In(co(e)),{options:s}=Ve(gs),r=$e(()=>({[uo(e.activeClass,s.linkActiveClass,"router-link-active")]:n.isActive,[uo(e.exactActiveClass,s.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const o=t.default&&_u(t.default(n));return e.custom?o:En("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:r.value},o)}}}),Ws=yu;function xu(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function wu(e,t){for(const n in t){const s=t[n],r=e[n];if(typeof s=="string"){if(s!==r)return!1}else if(!Be(r)||r.length!==s.length||s.some((o,i)=>o.valueOf()!==r[i].valueOf()))return!1}return!0}function ao(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const uo=(e,t,n)=>e??t??n,Su=Jo({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const s=Ve(Gs),r=$e(()=>e.route||s.value),o=Ve(to,0),i=$e(()=>{let u=Z(o);const{matched:a}=r.value;let f;for(;(f=a[u])&&!f.components;)u++;return u}),l=$e(()=>r.value.matched[i.value]);Vn(to,$e(()=>i.value+1)),Vn(Za,l),Vn(Gs,r);const c=G();return Fn(()=>[c.value,l.value,e.name],([u,a,f],[h,v,T])=>{a&&(a.instances[f]=u,v&&v!==a&&u&&u===h&&(a.leaveGuards.size||(a.leaveGuards=v.leaveGuards),a.updateGuards.size||(a.updateGuards=v.updateGuards))),u&&a&&(!v||!Zt(a,v)||!h)&&(a.enterCallbacks[f]||[]).forEach(A=>A(u))},{flush:"post"}),()=>{const u=r.value,a=e.name,f=l.value,h=f&&f.components[a];if(!h)return fo(n.default,{Component:h,route:u});const v=f.props[a],T=v?v===!0?u.params:typeof v=="function"?v(u):v:null,j=En(h,Q({},T,t,{onVnodeUnmounted:V=>{V.component.isUnmounted&&(f.instances[a]=null)},ref:c}));return fo(n.default,{Component:j,route:u})||j}}});function fo(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const Vi=Su;function Eu(e){const t=hu(e.routes,e),n=e.parseQuery||Ya,s=e.stringifyQuery||eo,r=e.history,o=cn(),i=cn(),l=cn(),c=Al(yt);let u=yt;Bt&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const a=Os.bind(null,y=>""+y),f=Os.bind(null,Ma),h=Os.bind(null,An);function v(y,I){let C,D;return ki(y)?(C=t.getRecordMatcher(y),D=I):D=y,t.addRoute(D,C)}function T(y){const I=t.getRecordMatcher(y);I&&t.removeRoute(I)}function A(){return t.getRoutes().map(y=>y.record)}function j(y){return!!t.getRecordMatcher(y)}function V(y,I){if(I=Q({},I||c.value),typeof y=="string"){const m=Ps(n,y,I.path),_=t.resolve({path:m.path},I),x=r.createHref(m.fullPath);return Q(m,_,{params:h(_.params),hash:An(m.hash),redirectedFrom:void 0,href:x})}let C;if(y.path!=null)C=Q({},y,{path:Ps(n,y.path,I.path).path});else{const m=Q({},y.params);for(const _ in m)m[_]==null&&delete m[_];C=Q({},y,{params:f(m)}),I.params=f(I.params)}const D=t.resolve(C,I),q=y.hash||"";D.params=a(h(D.params));const d=La(s,Q({},y,{hash:Ta(q),path:D.path})),p=r.createHref(d);return Q({fullPath:d,hash:q,query:s===eo?Xa(y.query):y.query||{}},D,{redirectedFrom:void 0,href:p})}function P(y){return typeof y=="string"?Ps(n,y,c.value.path):Q({},y)}function M(y,I){if(u!==y)return en(ue.NAVIGATION_CANCELLED,{from:I,to:y})}function k(y){return le(y)}function se(y){return k(Q(P(y),{replace:!0}))}function pe(y,I){const C=y.matched[y.matched.length-1];if(C&&C.redirect){const{redirect:D}=C;let q=typeof D=="function"?D(y,I):D;return typeof q=="string"&&(q=q.includes("?")||q.includes("#")?q=P(q):{path:q},q.params={}),Q({query:y.query,hash:y.hash,params:q.path!=null?{}:y.params},q)}}function le(y,I){const C=u=V(y),D=c.value,q=y.state,d=y.force,p=y.replace===!0,m=pe(C,D);if(m)return le(Q(P(m),{state:typeof m=="object"?Q({},q,m.state):q,force:d,replace:p}),I||C);const _=C;_.redirectedFrom=I;let x;return!d&&Va(s,D,C)&&(x=en(ue.NAVIGATION_DUPLICATED,{to:_,from:D}),qe(D,D,!0,!1)),(x?Promise.resolve(x):Ge(_,D)).catch(b=>ct(b)?ct(b,ue.NAVIGATION_GUARD_REDIRECT)?b:_t(b):J(b,_,D)).then(b=>{if(b){if(ct(b,ue.NAVIGATION_GUARD_REDIRECT))return le(Q({replace:p},P(b.to),{state:typeof b.to=="object"?Q({},q,b.to.state):q,force:d}),I||_)}else b=At(_,D,!0,p,q);return bt(_,D,b),b})}function Ke(y,I){const C=M(y,I);return C?Promise.reject(C):Promise.resolve()}function vt(y){const I=Vt.values().next().value;return I&&typeof I.runWithContext=="function"?I.runWithContext(y):y()}function Ge(y,I){let C;const[D,q,d]=eu(y,I);C=Ts(D.reverse(),"beforeRouteLeave",y,I);for(const m of D)m.leaveGuards.forEach(_=>{C.push(wt(_,y,I))});const p=Ke.bind(null,y,I);return C.push(p),De(C).then(()=>{C=[];for(const m of o.list())C.push(wt(m,y,I));return C.push(p),De(C)}).then(()=>{C=Ts(q,"beforeRouteUpdate",y,I);for(const m of q)m.updateGuards.forEach(_=>{C.push(wt(_,y,I))});return C.push(p),De(C)}).then(()=>{C=[];for(const m of d)if(m.beforeEnter)if(Be(m.beforeEnter))for(const _ of m.beforeEnter)C.push(wt(_,y,I));else C.push(wt(m.beforeEnter,y,I));return C.push(p),De(C)}).then(()=>(y.matched.forEach(m=>m.enterCallbacks={}),C=Ts(d,"beforeRouteEnter",y,I,vt),C.push(p),De(C))).then(()=>{C=[];for(const m of i.list())C.push(wt(m,y,I));return C.push(p),De(C)}).catch(m=>ct(m,ue.NAVIGATION_CANCELLED)?m:Promise.reject(m))}function bt(y,I,C){l.list().forEach(D=>vt(()=>D(y,I,C)))}function At(y,I,C,D,q){const d=M(y,I);if(d)return d;const p=I===yt,m=Bt?history.state:{};C&&(D||p?r.replace(y.fullPath,Q({scroll:p&&m&&m.scroll},q)):r.push(y.fullPath,q)),c.value=y,qe(y,I,C,p),_t()}let We;function nn(){We||(We=r.listen((y,I,C)=>{if(!Rt.listening)return;const D=V(y),q=pe(D,Rt.currentRoute.value);if(q){le(Q(q,{replace:!0,force:!0}),D).catch(vn);return}u=D;const d=c.value;Bt&&Wa(Zr(d.fullPath,C.delta),ms()),Ge(D,d).catch(p=>ct(p,ue.NAVIGATION_ABORTED|ue.NAVIGATION_CANCELLED)?p:ct(p,ue.NAVIGATION_GUARD_REDIRECT)?(le(Q(P(p.to),{force:!0}),D).then(m=>{ct(m,ue.NAVIGATION_ABORTED|ue.NAVIGATION_DUPLICATED)&&!C.delta&&C.type===Bs.pop&&r.go(-1,!1)}).catch(vn),Promise.reject()):(C.delta&&r.go(-C.delta,!1),J(p,D,d))).then(p=>{p=p||At(D,d,!1),p&&(C.delta&&!ct(p,ue.NAVIGATION_CANCELLED)?r.go(-C.delta,!1):C.type===Bs.pop&&ct(p,ue.NAVIGATION_ABORTED|ue.NAVIGATION_DUPLICATED)&&r.go(-1,!1)),bt(D,d,p)}).catch(vn)}))}let $t=cn(),me=cn(),te;function J(y,I,C){_t(y);const D=me.list();return D.length?D.forEach(q=>q(y,I,C)):console.error(y),Promise.reject(y)}function it(){return te&&c.value!==yt?Promise.resolve():new Promise((y,I)=>{$t.add([y,I])})}function _t(y){return te||(te=!y,nn(),$t.list().forEach(([I,C])=>y?C(y):I()),$t.reset()),y}function qe(y,I,C,D){const{scrollBehavior:q}=e;if(!Bt||!q)return Promise.resolve();const d=!C&&qa(Zr(y.fullPath,0))||(D||!C)&&history.state&&history.state.scroll||null;return lr().then(()=>q(y,I,d)).then(p=>p&&Ga(p)).catch(p=>J(p,y,I))}const Pe=y=>r.go(y);let Lt;const Vt=new Set,Rt={currentRoute:c,listening:!0,addRoute:v,removeRoute:T,clearRoutes:t.clearRoutes,hasRoute:j,getRoutes:A,resolve:V,options:e,push:k,replace:se,go:Pe,back:()=>Pe(-1),forward:()=>Pe(1),beforeEach:o.add,beforeResolve:i.add,afterEach:l.add,onError:me.add,isReady:it,install(y){y.component("RouterLink",Ws),y.component("RouterView",Vi),y.config.globalProperties.$router=Rt,Object.defineProperty(y.config.globalProperties,"$route",{enumerable:!0,get:()=>Z(c)}),Bt&&!Lt&&c.value===yt&&(Lt=!0,k(r.location).catch(D=>{}));const I={};for(const D in yt)Object.defineProperty(I,D,{get:()=>c.value[D],enumerable:!0});y.provide(gs,Rt),y.provide(hr,Fo(I)),y.provide(Gs,c);const C=y.unmount;Vt.add(y),y.unmount=function(){Vt.delete(y),Vt.size<1&&(u=yt,We&&We(),We=null,c.value=yt,Lt=!1,te=!1),C()}}};function De(y){return y.reduce((I,C)=>I.then(()=>vt(C)),Promise.resolve())}return Rt}function Fi(){return Ve(gs)}function Au(e){return Ve(hr)}const qs="sms_gw_token",zs="sms_gw_api_base";function ji(){return localStorage.getItem(qs)||""}function po(e){e?localStorage.setItem(qs,e):localStorage.removeItem(qs)}function Js(){return localStorage.getItem(zs)||""}function Ru(e){const t=(e||"").trim().replace(/\/+$/,"");t?localStorage.setItem(zs,t):localStorage.removeItem(zs)}class Cu extends Error{constructor(t,n){super(n),this.status=t}}async function $n(e,t,n){const s={},r=ji();r&&(s.Authorization="Bearer "+r),n!==void 0&&(s["Content-Type"]="application/json");const o=await fetch(Js()+"/api"+t,{method:e,headers:s,body:n!==void 0?JSON.stringify(n):void 0}),i=await o.text();let l=null;try{l=i?JSON.parse(i):null}catch{l=i}if(!o.ok){const c=l&&l.error||o.statusText||"Request failed";throw new Cu(o.status,c)}return l}const Me={get:e=>$n("GET",e),post:(e,t)=>$n("POST",e,t),patch:(e,t)=>$n("PATCH",e,t),del:e=>$n("DELETE",e)},Qs="sms_gw_user",jt=In({user:JSON.parse(localStorage.getItem(Qs)||"null"),token:ji()}),Rn={state:Un(jt),isAuthenticated(){return!!jt.token},async login(e,t){const n=await Me.post("/auth/login",{email:e,password:t});return jt.token=n.access_token,jt.user=n.user,po(n.access_token),localStorage.setItem(Qs,JSON.stringify(n.user)),n.user},logout(){jt.token="",jt.user=null,po(""),localStorage.removeItem(Qs)}};/**
* @license @lucide/vue v1.23.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const ho=e=>e==="";/**
* @license @lucide/vue v1.23.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Ou=(...e)=>e.filter((t,n,s)=>!!t&&t.trim()!==""&&s.indexOf(t)===n).join(" ").trim();/**
* @license @lucide/vue v1.23.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const mo=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();/**
* @license @lucide/vue v1.23.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Pu=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,n,s)=>s?s.toUpperCase():n.toLowerCase());/**
* @license @lucide/vue v1.23.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Iu=e=>{const t=Pu(e);return t.charAt(0).toUpperCase()+t.slice(1)};/**
* @license @lucide/vue v1.23.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/var Ut={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round"};/**
* @license @lucide/vue v1.23.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Tu=Symbol("lucide-icons");function Nu(){return Ve(Tu,{})}/**
* @license @lucide/vue v1.23.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const ku=({name:e,iconNode:t,absoluteStrokeWidth:n,"absolute-stroke-width":s,strokeWidth:r,"stroke-width":o,size:i,color:l,...c},{slots:u})=>{const{size:a,color:f,strokeWidth:h=2,absoluteStrokeWidth:v=!1,class:T=""}=Nu(),A=$e(()=>{const j=ho(n)||ho(s)||n===!0||s===!0||v===!0,V=r||o||h||Ut["stroke-width"];return j?Number(V)*24/Number(i??a??Ut.width):V});return En("svg",{...Ut,...c,width:i??a??Ut.width,height:i??a??Ut.height,stroke:l??f??Ut.stroke,"stroke-width":A.value,class:Ou("lucide",T,...e?[`lucide-${mo(Iu(e))}-icon`,`lucide-${mo(e)}`]:["lucide-icon"])},[...t.map(j=>En(...j)),...u.default?[u.default()]:[]])};/**
* @license @lucide/vue v1.23.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Ee=(e,t)=>(n,{slots:s,attrs:r})=>En(ku,{...r,...n,iconNode:t,name:e},s.default?{default:s.default}:void 0);/**
* @license @lucide/vue v1.23.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Mu=[["path",{d:"M17 7 7 17",key:"15tmo1"}],["path",{d:"M17 17H7V7",key:"1org7z"}]],Du=Ee("arrow-down-left",Mu);/**
* @license @lucide/vue v1.23.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const $u=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],Lu=Ee("chevron-down",$u);/**
* @license @lucide/vue v1.23.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Vu=[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]],Fu=Ee("chevron-up",Vu);/**
* @license @lucide/vue v1.23.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const ju=[["polyline",{points:"22 12 16 12 14 15 10 15 8 12 2 12",key:"o97t9d"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}]],Uu=Ee("inbox",ju);/**
* @license @lucide/vue v1.23.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Hu=[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]],Bu=Ee("log-out",Hu);/**
* @license @lucide/vue v1.23.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Ku=[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]],Gu=Ee("message-square",Ku);/**
* @license @lucide/vue v1.23.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Wu=[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]],qu=Ee("moon",Wu);/**
* @license @lucide/vue v1.23.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const zu=[["path",{d:"m16 8 6-6",key:"oawc05"}],["path",{d:"M22 8V2h-6",key:"oqy2zc"}],["path",{d:"M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384",key:"9njp5v"}]],Ju=Ee("phone-outgoing",zu);/**
* @license @lucide/vue v1.23.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Qu=[["path",{d:"M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384",key:"9njp5v"}]],Ui=Ee("phone",Qu);/**
* @license @lucide/vue v1.23.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Yu=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],Xu=Ee("plus",Yu);/**
* @license @lucide/vue v1.23.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Zu=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]],mr=Ee("refresh-cw",Zu);/**
* @license @lucide/vue v1.23.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const ef=[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]],Hi=Ee("send",ef);/**
* @license @lucide/vue v1.23.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const tf=[["path",{d:"M14 17H5",key:"gfn3mx"}],["path",{d:"M19 7h-9",key:"6i9tg"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]],nf=Ee("settings-2",tf);/**
* @license @lucide/vue v1.23.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const sf=[["rect",{width:"14",height:"20",x:"5",y:"2",rx:"2",ry:"2",key:"1yt0o3"}],["path",{d:"M12 18h.01",key:"mhygvu"}]],rf=Ee("smartphone",sf);/**
* @license @lucide/vue v1.23.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const of=[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]],lf=Ee("sun",of);/**
* @license @lucide/vue v1.23.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const cf=[["path",{d:"M18 16.98h-5.99c-1.1 0-1.95.94-2.48 1.9A4 4 0 0 1 2 17c.01-.7.2-1.4.57-2",key:"q3hayz"}],["path",{d:"m6 17 3.13-5.78c.53-.97.1-2.18-.5-3.1a4 4 0 1 1 6.89-4.06",key:"1go1hn"}],["path",{d:"m12 6 3.13 5.73C15.66 12.7 16.9 13 18 13a4 4 0 0 1 0 8",key:"qlwsc0"}]],af=Ee("webhook",cf),Bi="gsmnode-theme";function uf(){try{return localStorage.getItem(Bi)==="dark"?"dark":"light"}catch{return"light"}}const Mt=G(uf());function Ki(e){Mt.value=e,document.documentElement.setAttribute("data-gsm-theme",e);try{localStorage.setItem(Bi,e)}catch{}}function go(){Ki(Mt.value==="dark"?"light":"dark")}Ki(Mt.value);const ff={class:"flex min-h-screen items-center justify-center bg-page p-4"},df={class:"w-full max-w-sm rounded-xl border border-subtle bg-card p-8 shadow-lg"},pf={class:"mb-7 text-center"},hf=["src"],mf={class:"rounded-md border border-subtle"},gf={class:"flex items-center gap-2"},vf={class:"border-t border-subtle p-3"},bf={key:0,class:"rounded-md bg-danger-tint px-3 py-2 text-sm text-danger"},_f=["disabled"],yf={__name:"Login",setup(e){const t=Fi(),n=Au(),s=G(""),r=G(""),o=G(""),i=G(!1),l=G(Js()),c=G(!!Js());async function u(){o.value="",i.value=!0;try{Ru(l.value),await Rn.login(s.value.trim(),r.value),t.push(n.query.redirect||"/")}catch(a){a.status===401?o.value="Invalid email or password.":a.status===void 0?o.value="Cannot reach the API Server. Check the server URL.":o.value=a.message}finally{i.value=!1}}return(a,f)=>(N(),L("div",ff,[g("div",df,[g("div",pf,[g("img",{src:Z(Mt)==="dark"?"/gsmnode-horizontal-white.png":"/gsmnode-horizontal.png",alt:"gsmnode",class:"mx-auto h-8"},null,8,hf),f[4]||(f[4]=g("p",{class:"gn-eyebrow mt-4"},"Sign in to your gateway",-1))]),g("form",{class:"space-y-4",onSubmit:hs(u,["prevent"])},[g("div",null,[f[5]||(f[5]=g("label",{class:"mb-1.5 block text-sm font-medium text-primary"},"Email",-1)),Ne(g("input",{"onUpdate:modelValue":f[0]||(f[0]=h=>s.value=h),type:"email",required:"",autocomplete:"username",class:"gn-input",placeholder:"you@example.com"},null,512),[[St,s.value]])]),g("div",null,[f[6]||(f[6]=g("label",{class:"mb-1.5 block text-sm font-medium text-primary"},"Password",-1)),Ne(g("input",{"onUpdate:modelValue":f[1]||(f[1]=h=>r.value=h),type:"password",required:"",autocomplete:"current-password",class:"gn-input",placeholder:"••••••••"},null,512),[[St,r.value]])]),g("div",mf,[g("button",{type:"button",class:"flex w-full items-center justify-between rounded-md px-3 py-2 text-sm font-medium text-secondary transition-colors hover:bg-sunken",onClick:f[2]||(f[2]=h=>c.value=!c.value)},[g("span",gf,[W(Z(nf),{class:"h-4 w-4"}),f[7]||(f[7]=de("Server settings ",-1))]),c.value?(N(),pt(Z(Fu),{key:0,class:"h-4 w-4 text-muted"})):(N(),pt(Z(Lu),{key:1,class:"h-4 w-4 text-muted"}))]),Ne(g("div",vf,[f[8]||(f[8]=g("label",{class:"mb-1.5 block text-sm font-medium text-primary"},"API Server URL",-1)),Ne(g("input",{"onUpdate:modelValue":f[3]||(f[3]=h=>l.value=h),type:"url",autocomplete:"off",class:"gn-input font-mono !text-xs",placeholder:"http://10.2.1.101:8080"},null,512),[[St,l.value]]),f[9]||(f[9]=g("p",{class:"mt-1.5 text-xs text-muted"}," Leave blank to use this site's built-in server. ",-1))],512),[[Wc,c.value]])]),o.value?(N(),L("p",bf,K(o.value),1)):Se("",!0),g("button",{type:"submit",disabled:i.value,class:"gn-btn-pri w-full"},K(i.value?"Signing in…":"Sign in"),9,_f)],32)])]))}},xf=["title"],wf={class:"relative flex h-2 w-2"},Sf={key:0,class:"absolute inline-flex h-full w-full animate-ping rounded-full opacity-60",style:{background:"var(--success)"}},Ef={__name:"ApiStatus",setup(e){const t=G("checking"),n=G(null);let s=null;async function r(){const l=performance.now();try{await Me.get("/health"),n.value=Math.round(performance.now()-l),t.value="online"}catch{n.value=null,t.value="offline"}}Et(()=>{r(),s=setInterval(r,1e4)}),ur(()=>clearInterval(s));const o={checking:"background: var(--gray-300)",online:"background: var(--success)",offline:"background: var(--danger)"},i={checking:"Checking…",online:"API online",offline:"API offline"};return(l,c)=>(N(),L("div",{class:"flex items-center gap-2",title:t.value==="online"?`API Server reachable · ${n.value} ms`:t.value==="offline"?"API Server unreachable":"Checking API Server"},[g("span",wf,[t.value==="online"?(N(),L("span",Sf)):Se("",!0),g("span",{class:"relative inline-flex h-2 w-2 rounded-full",style:is(o[t.value])},null,4)]),g("span",{class:On(["font-mono text-xs",t.value==="offline"?"text-danger":"text-secondary"])},[de(K(i[t.value]),1),n.value!==null?(N(),L(ce,{key:0},[de(" · "+K(n.value)+"ms",1)],64)):Se("",!0)],2)],8,xf))}},Af={class:"flex min-h-screen"},Rf={class:"hidden w-60 shrink-0 flex-col border-r border-subtle bg-card sm:flex"},Cf={class:"px-5 pb-4 pt-5"},Of=["src"],Pf={class:"flex-1 space-y-0.5 px-3"},If={class:"border-t border-subtle px-5 py-4"},Tf={class:"flex min-w-0 flex-1 flex-col"},Nf={class:"flex h-16 items-center justify-between border-b border-subtle bg-card px-6"},kf={class:"flex gap-1 overflow-x-auto sm:hidden"},Mf={class:"flex items-center gap-3 text-sm"},Df={class:"hidden font-mono text-xs text-secondary md:inline"},$f=["title"],Lf={class:"flex-1 p-7"},Vf={__name:"Layout",setup(e){const t=Fi(),n=[{name:"devices",label:"Devices",icon:rf},{name:"send",label:"Send SMS",icon:Hi},{name:"call",label:"Call",icon:Ui},{name:"messages",label:"Messages",icon:Gu},{name:"inbox",label:"Inbox",icon:Uu},{name:"webhooks",label:"Webhooks",icon:af}];function s(){Rn.logout(),t.push({name:"login"})}return(r,o)=>{var i;return N(),L("div",Af,[g("aside",Rf,[g("div",Cf,[g("img",{src:Z(Mt)==="dark"?"/gsmnode-horizontal-white.png":"/gsmnode-horizontal.png",alt:"gsmnode",class:"h-6"},null,8,Of)]),o[1]||(o[1]=g("div",{class:"gn-eyebrow px-5 pb-2"},"Gateway",-1)),g("nav",Pf,[(N(),L(ce,null,ot(n,l=>W(Z(Ws),{key:l.name,to:{name:l.name},class:"flex items-center gap-2.5 rounded-md px-3 py-2 text-sm font-medium text-secondary transition-colors hover:bg-sunken hover:text-primary","active-class":"!bg-brand-tint !text-brand-active"},{default:Yt(()=>[(N(),pt(Xl(l.icon),{class:"h-[18px] w-[18px]"})),de(K(l.label),1)]),_:2},1032,["to"])),64))]),g("div",If,[W(Ef)])]),g("div",Tf,[g("header",Nf,[g("nav",kf,[(N(),L(ce,null,ot(n,l=>W(Z(Ws),{key:l.name,to:{name:l.name},class:"rounded-sm px-2 py-1 text-xs font-medium whitespace-nowrap text-secondary","active-class":"!bg-brand-tint !text-brand-active"},{default:Yt(()=>[de(K(l.label),1)]),_:2},1032,["to"])),64))]),o[4]||(o[4]=g("div",{class:"hidden sm:block"},null,-1)),g("div",Mf,[g("span",Df,K((i=Z(Rn).state.user)==null?void 0:i.email),1),o[3]||(o[3]=g("span",{class:"hidden h-4 w-px bg-subtle sm:block"},null,-1)),g("button",{class:"gn-btn-sec gn-btn-sm",title:Z(Mt)==="dark"?"Switch to light theme":"Switch to dark theme",onClick:o[0]||(o[0]=(...l)=>Z(go)&&Z(go)(...l))},[Z(Mt)==="dark"?(N(),pt(Z(lf),{key:0,class:"h-4 w-4"})):(N(),pt(Z(qu),{key:1,class:"h-4 w-4"}))],8,$f),g("button",{class:"gn-btn-sec gn-btn-sm",onClick:s},[W(Z(Bu),{class:"h-4 w-4"}),o[2]||(o[2]=de("Sign out ",-1))])])]),g("main",Lf,[W(Z(Vi))])])])}}},Ff={class:"mb-6 flex items-end justify-between gap-4"},jf={class:"text-2xl font-semibold tracking-[-0.02em] text-primary"},Uf={key:0,class:"mt-0.5 text-sm text-secondary"},tn={__name:"PageHeader",props:{title:String,subtitle:String},setup(e){return(t,n)=>(N(),L("div",Ff,[g("div",null,[g("h2",jf,K(e.title),1),e.subtitle?(N(),L("p",Uf,K(e.subtitle),1)):Se("",!0)]),Zl(t.$slots,"actions")]))}},Gi={__name:"StatusBadge",props:{status:String},setup(e){const t=e,n={Pending:"bg-subtle text-secondary",Processed:"bg-brand-tint text-brand-active",Sent:"bg-warning-tint text-warning",Delivered:"bg-success-tint text-success",Failed:"bg-danger-tint text-danger",online:"bg-success-tint text-success",offline:"bg-subtle text-muted"};return(s,r)=>(N(),L("span",{class:On(["inline-flex items-center gap-1.5 rounded-sm px-2 py-0.5 font-mono text-[11px] font-medium",n[t.status]||"bg-subtle text-secondary"])},[r[0]||(r[0]=g("span",{class:"h-1.5 w-1.5 rounded-full bg-current"},null,-1)),de(" "+K(e.status||"—"),1)],2))}},Hf={key:0,class:"mb-4 rounded-md bg-danger-tint px-3 py-2 text-sm text-danger"},Bf={class:"overflow-hidden rounded-lg border border-subtle bg-card shadow-xs"},Kf={class:"w-full text-left text-sm"},Gf={key:0},Wf={key:1},qf={class:"border-t border-subtle px-5 py-3 font-medium text-primary"},zf={class:"border-t border-subtle px-5 py-3 font-mono text-xs text-secondary"},Jf={class:"border-t border-subtle px-5 py-3 text-secondary"},Qf={class:"border-t border-subtle px-5 py-3"},Yf={class:"border-t border-subtle px-5 py-3 font-mono text-xs text-secondary"},Xf={class:"border-t border-subtle px-5 py-3 text-right"},Zf=["onClick"],ed={__name:"Devices",setup(e){const t=G([]),n=G(!0),s=G("");async function r(){n.value=!0,s.value="";try{const l=await Me.get("/devices");t.value=l.items||[]}catch(l){s.value=l.message}finally{n.value=!1}}async function o(l){if(confirm(`Remove device "${l.name||l.device_id}"?`))try{await Me.del("/devices/"+l.id),t.value=t.value.filter(c=>c.id!==l.id)}catch(c){alert("Could not remove device: "+c.message)}}function i(l){return l?new Date(l).toLocaleString():"—"}return Et(r),(l,c)=>(N(),L("div",null,[W(tn,{title:"Devices",subtitle:"Phones connected to your gateway"},{actions:Yt(()=>[g("button",{class:"gn-btn-sec gn-btn-sm",onClick:r},[W(Z(mr),{class:"h-3.5 w-3.5"}),c[0]||(c[0]=de("Refresh ",-1))])]),_:1}),s.value?(N(),L("p",Hf,K(s.value),1)):Se("",!0),g("div",Bf,[g("table",Kf,[c[3]||(c[3]=g("thead",null,[g("tr",{class:"gn-eyebrow"},[g("th",{class:"px-5 py-3 font-medium"},"Name"),g("th",{class:"px-5 py-3 font-medium"},"Device ID"),g("th",{class:"px-5 py-3 font-medium"},"Platform"),g("th",{class:"px-5 py-3 font-medium"},"Status"),g("th",{class:"px-5 py-3 font-medium"},"Last seen"),g("th",{class:"px-5 py-3"})])],-1)),g("tbody",null,[n.value?(N(),L("tr",Gf,[...c[1]||(c[1]=[g("td",{colspan:"6",class:"border-t border-subtle px-5 py-10 text-center text-sm text-muted"},"Loading…",-1)])])):t.value.length?Se("",!0):(N(),L("tr",Wf,[...c[2]||(c[2]=[g("td",{colspan:"6",class:"border-t border-subtle px-5 py-10 text-center text-sm text-muted"}," No devices yet. Register one from the phone app. ",-1)])])),(N(!0),L(ce,null,ot(t.value,u=>(N(),L("tr",{key:u.id,class:"transition-colors hover:bg-sunken"},[g("td",qf,K(u.name||"—"),1),g("td",zf,K(u.device_id),1),g("td",Jf,K(u.platform)+" "+K(u.app_version),1),g("td",Qf,[W(Gi,{status:u.status},null,8,["status"])]),g("td",Yf,K(i(u.last_seen_at)),1),g("td",Xf,[g("button",{class:"text-sm font-medium text-danger hover:underline",onClick:a=>o(u)},"Remove",8,Zf)])]))),128))])])])]))}},td={class:"max-w-2xl"},nd={class:"space-y-5 p-6"},sd={class:"grid grid-cols-2 gap-4"},rd=["value"],od={key:0,class:"rounded-md bg-danger-tint px-3 py-2 text-sm text-danger"},id={key:1,class:"rounded-md bg-success-tint px-3 py-2 text-sm text-success"},ld={class:"font-mono text-xs"},cd=["disabled"],ad={__name:"Send",setup(e){const t=G([]),n=G(""),s=G(""),r=G(""),o=G(""),i=G(!1),l=G(null),c=G("");Et(async()=>{try{const a=await Me.get("/devices");t.value=a.items||[]}catch{}});async function u(){c.value="",l.value=null;const a=n.value.split(/[\n,;]+/).map(f=>f.trim()).filter(Boolean);if(!a.length){c.value="Enter at least one phone number.";return}if(!s.value.trim()){c.value="Message text is required.";return}i.value=!0;try{const f={phone_numbers:a,text_message:s.value};r.value&&(f.device_id=r.value),o.value&&(f.sim_number=Number(o.value)),l.value=await Me.post("/messages",f),s.value=""}catch(f){c.value=f.message}finally{i.value=!1}}return(a,f)=>(N(),L("div",td,[W(tn,{title:"Send SMS",subtitle:"Queue an outbound message for a device"}),g("form",{class:"rounded-lg border border-subtle bg-card shadow-sm",onSubmit:hs(u,["prevent"])},[f[11]||(f[11]=g("div",{class:"border-b border-subtle px-6 py-4"},[g("div",{class:"text-base font-semibold text-primary"},"New message"),g("div",{class:"mt-0.5 font-mono text-[11px] text-muted"},"POST /api/messages")],-1)),g("div",nd,[g("div",null,[f[4]||(f[4]=g("label",{class:"mb-1.5 block text-sm font-medium text-primary"},"Phone numbers",-1)),Ne(g("textarea",{"onUpdate:modelValue":f[0]||(f[0]=h=>n.value=h),rows:"2",class:"gn-textarea font-mono !text-xs",placeholder:"+15551234567, +15559876543"},null,512),[[St,n.value]]),f[5]||(f[5]=g("p",{class:"mt-1.5 text-xs text-muted"},"Separate multiple numbers with commas or new lines.",-1))]),g("div",null,[f[6]||(f[6]=g("label",{class:"mb-1.5 block text-sm font-medium text-primary"},"Message",-1)),Ne(g("textarea",{"onUpdate:modelValue":f[1]||(f[1]=h=>s.value=h),rows:"4",class:"gn-textarea",placeholder:"Your message…"},null,512),[[St,s.value]])]),g("div",sd,[g("div",null,[f[8]||(f[8]=g("label",{class:"mb-1.5 block text-sm font-medium text-primary"},"Device",-1)),Ne(g("select",{"onUpdate:modelValue":f[2]||(f[2]=h=>r.value=h),class:"gn-input"},[f[7]||(f[7]=g("option",{value:""},"Auto (most recent)",-1)),(N(!0),L(ce,null,ot(t.value,h=>(N(),L("option",{key:h.id,value:h.device_id},K(h.name||h.device_id),9,rd))),128))],512),[[ps,r.value]])]),g("div",null,[f[9]||(f[9]=g("label",{class:"mb-1.5 block text-sm font-medium text-primary"},"SIM number (optional)",-1)),Ne(g("input",{"onUpdate:modelValue":f[3]||(f[3]=h=>o.value=h),type:"number",min:"1",class:"gn-input",placeholder:"1"},null,512),[[St,o.value]])])]),c.value?(N(),L("p",od,K(c.value),1)):Se("",!0),l.value?(N(),L("p",id,[f[10]||(f[10]=de(" Queued — message ",-1)),g("span",ld,K(l.value.id),1),de(" ("+K(l.value.status)+") ",1)])):Se("",!0),g("button",{type:"submit",disabled:i.value,class:"gn-btn-pri"},[W(Z(Hi),{class:"h-4 w-4"}),de(K(i.value?"Queuing…":"Send message"),1)],8,cd)])],32)]))}},ud={class:"max-w-2xl"},fd={class:"space-y-5 p-6"},dd=["value"],pd={key:0,class:"rounded-md bg-danger-tint px-3 py-2 text-sm text-danger"},hd={key:1,class:"rounded-md bg-success-tint px-3 py-2 text-sm text-success"},md={class:"font-mono text-xs"},gd=["disabled"],vd={__name:"Call",setup(e){const t=G([]),n=G(""),s=G(""),r=G(!1),o=G(null),i=G("");Et(async()=>{try{const c=await Me.get("/devices");t.value=c.items||[]}catch{}});async function l(){i.value="",o.value=null;const c=n.value.trim();if(!c){i.value="Enter a phone number to call.";return}r.value=!0;try{const u={phone_number:c};s.value&&(u.device_id=s.value),o.value=await Me.post("/calls",u),n.value=""}catch(u){i.value=u.message}finally{r.value=!1}}return(c,u)=>(N(),L("div",ud,[W(tn,{title:"Make a call",subtitle:"Tell a device to place an outbound phone call"}),g("form",{class:"rounded-lg border border-subtle bg-card shadow-sm",onSubmit:hs(l,["prevent"])},[u[7]||(u[7]=g("div",{class:"border-b border-subtle px-6 py-4"},[g("div",{class:"text-base font-semibold text-primary"},"New call"),g("div",{class:"mt-0.5 font-mono text-[11px] text-muted"},"POST /api/calls")],-1)),g("div",fd,[g("div",null,[u[2]||(u[2]=g("label",{class:"mb-1.5 block text-sm font-medium text-primary"},"Phone number",-1)),Ne(g("input",{"onUpdate:modelValue":u[0]||(u[0]=a=>n.value=a),type:"tel",class:"gn-input font-mono !text-xs",placeholder:"+15551234567"},null,512),[[St,n.value]])]),g("div",null,[u[4]||(u[4]=g("label",{class:"mb-1.5 block text-sm font-medium text-primary"},"Device",-1)),Ne(g("select",{"onUpdate:modelValue":u[1]||(u[1]=a=>s.value=a),class:"gn-input"},[u[3]||(u[3]=g("option",{value:""},"Auto (most recent)",-1)),(N(!0),L(ce,null,ot(t.value,a=>(N(),L("option",{key:a.id,value:a.device_id},K(a.name||a.device_id),9,dd))),128))],512),[[ps,s.value]])]),i.value?(N(),L("p",pd,K(i.value),1)):Se("",!0),o.value?(N(),L("p",hd,[u[5]||(u[5]=de(" Queued — call ",-1)),g("span",md,K(o.value.id),1),de(" ("+K(o.value.status)+") ",1)])):Se("",!0),g("button",{type:"submit",disabled:r.value,class:"gn-btn-pri"},[W(Z(Ui),{class:"h-4 w-4"}),de(K(r.value?"Queuing…":"Place call"),1)],8,gd),u[6]||(u[6]=g("p",{class:"text-xs text-muted"}," The selected device must be online with the gateway running and granted phone-call permission. The call is placed from that phone. ",-1))])],32)]))}},bd={class:"flex items-center gap-2"},_d=["value"],yd={key:0,class:"mb-4 rounded-md bg-danger-tint px-3 py-2 text-sm text-danger"},xd={class:"overflow-hidden rounded-lg border border-subtle bg-card shadow-xs"},wd={class:"w-full text-left text-sm"},Sd={key:0},Ed={key:1},Ad={class:"border-t border-subtle px-5 py-3 font-mono text-xs text-primary"},Rd={class:"border-t border-subtle px-5 py-3 text-secondary"},Cd={key:0,class:"flex items-center gap-1.5"},Od={key:1,class:"max-w-md truncate"},Pd={key:2,class:"mt-0.5 text-xs text-danger"},Id={class:"border-t border-subtle px-5 py-3"},Td={class:"border-t border-subtle px-5 py-3 font-mono text-xs text-secondary"},Nd={__name:"Messages",setup(e){const t=G([]),n=G(!0),s=G(""),r=G(""),o=["","Pending","Processed","Sent","Delivered","Failed"];async function i(){n.value=!0,s.value="";try{const c=r.value?"?status="+encodeURIComponent(r.value):"",u=await Me.get("/messages"+c);t.value=u.items||[]}catch(c){s.value=c.message}finally{n.value=!1}}function l(c){return c?new Date(c).toLocaleString():"—"}return Et(i),(c,u)=>(N(),L("div",null,[W(tn,{title:"Messages",subtitle:"Outbound message history"},{actions:Yt(()=>[g("div",bd,[Ne(g("select",{"onUpdate:modelValue":u[0]||(u[0]=a=>r.value=a),class:"gn-input !h-8 !w-auto !text-xs",onChange:i},[(N(),L(ce,null,ot(o,a=>g("option",{key:a,value:a},K(a||"All statuses"),9,_d)),64))],544),[[ps,r.value]]),g("button",{class:"gn-btn-sec gn-btn-sm",onClick:i},[W(Z(mr),{class:"h-3.5 w-3.5"}),u[1]||(u[1]=de("Refresh ",-1))])])]),_:1}),s.value?(N(),L("p",yd,K(s.value),1)):Se("",!0),g("div",xd,[g("table",wd,[u[5]||(u[5]=g("thead",null,[g("tr",{class:"gn-eyebrow"},[g("th",{class:"px-5 py-3 font-medium"},"To"),g("th",{class:"px-5 py-3 font-medium"},"Message"),g("th",{class:"px-5 py-3 font-medium"},"Status"),g("th",{class:"px-5 py-3 font-medium"},"Created")])],-1)),g("tbody",null,[n.value?(N(),L("tr",Sd,[...u[2]||(u[2]=[g("td",{colspan:"4",class:"border-t border-subtle px-5 py-10 text-center text-sm text-muted"},"Loading…",-1)])])):t.value.length?Se("",!0):(N(),L("tr",Ed,[...u[3]||(u[3]=[g("td",{colspan:"4",class:"border-t border-subtle px-5 py-10 text-center text-sm text-muted"},[de(" No messages yet. Send your first with a POST to "),g("span",{class:"rounded-xs bg-sunken px-1.5 py-0.5 font-mono text-xs text-secondary"},"/api/messages"),de(". ")],-1)])])),(N(!0),L(ce,null,ot(t.value,a=>(N(),L("tr",{key:a.id,class:"align-top transition-colors hover:bg-sunken"},[g("td",Ad,K((a.phone_numbers||[]).join(", ")),1),g("td",Rd,[a.type==="call"?(N(),L("div",Cd,[W(Z(Ju),{class:"h-3.5 w-3.5"}),u[4]||(u[4]=g("span",{class:"gn-eyebrow !text-secondary"},"Voice call",-1))])):(N(),L("div",Od,K(a.text_message),1)),a.error?(N(),L("div",Pd,K(a.error),1)):Se("",!0)]),g("td",Id,[W(Gi,{status:a.status},null,8,["status"])]),g("td",Td,K(l(a.created_at)),1)]))),128))])])])]))}},kd={key:0,class:"mb-4 rounded-md bg-danger-tint px-3 py-2 text-sm text-danger"},Md={key:1,class:"text-sm text-muted"},Dd={key:2,class:"rounded-lg border border-dashed border-strong p-10 text-center text-sm text-muted"},$d={key:3,class:"space-y-3"},Ld={class:"flex h-8 w-8 shrink-0 items-center justify-center rounded-sm bg-success-tint text-success"},Vd={class:"min-w-0 flex-1"},Fd={class:"flex items-baseline justify-between gap-3"},jd={class:"font-mono text-sm font-medium text-primary"},Ud={class:"shrink-0 font-mono text-[11px] text-muted"},Hd={class:"mt-1 text-sm text-secondary"},Bd={__name:"Inbox",setup(e){const t=G([]),n=G(!0),s=G("");async function r(){n.value=!0,s.value="";try{const i=await Me.get("/inbox");t.value=i.items||[]}catch(i){s.value=i.message}finally{n.value=!1}}function o(i){return i?new Date(i).toLocaleString():"—"}return Et(r),(i,l)=>(N(),L("div",null,[W(tn,{title:"Inbox",subtitle:"Incoming messages received by your devices"},{actions:Yt(()=>[g("button",{class:"gn-btn-sec gn-btn-sm",onClick:r},[W(Z(mr),{class:"h-3.5 w-3.5"}),l[0]||(l[0]=de("Refresh ",-1))])]),_:1}),s.value?(N(),L("p",kd,K(s.value),1)):Se("",!0),n.value?(N(),L("div",Md,"Loading…")):t.value.length?(N(),L("div",$d,[(N(!0),L(ce,null,ot(t.value,c=>(N(),L("div",{key:c.id,class:"flex items-start gap-3 rounded-lg border border-subtle bg-card p-4 shadow-xs"},[g("span",Ld,[W(Z(Du),{class:"h-4 w-4"})]),g("div",Vd,[g("div",Fd,[g("span",jd,K(c.phone_number),1),g("span",Ud,K(o(c.received_at)),1)]),g("p",Hd,K(c.message),1)])]))),128))])):(N(),L("div",Dd," No incoming messages yet. "))]))}},Kd={class:"max-w-3xl"},Gd=["value"],Wd={class:"flex-1"},qd=["disabled"],zd={key:0,class:"mb-4 rounded-md bg-danger-tint px-3 py-2 text-sm text-danger"},Jd={class:"overflow-hidden rounded-lg border border-subtle bg-card shadow-xs"},Qd={class:"w-full text-left text-sm"},Yd={key:0},Xd={key:1},Zd={class:"border-t border-subtle px-5 py-3"},ep={class:"rounded-sm bg-brand-tint px-2 py-0.5 font-mono text-xs text-brand-active"},tp={class:"border-t border-subtle px-5 py-3 font-mono text-xs text-secondary"},np={class:"border-t border-subtle px-5 py-3 text-right"},sp=["onClick"],rp={__name:"Webhooks",setup(e){const t=G([]),n=G(!0),s=G(""),r=G("sms:received"),o=G(""),i=G(!1),l=["sms:received","sms:sent","sms:delivered","sms:failed"];async function c(){n.value=!0,s.value="";try{const f=await Me.get("/webhooks");t.value=f.items||[]}catch(f){s.value=f.message}finally{n.value=!1}}async function u(){if(s.value="",!o.value.trim()){s.value="URL is required.";return}i.value=!0;try{const f=await Me.post("/webhooks",{event:r.value,url:o.value.trim()});t.value.unshift(f),o.value=""}catch(f){s.value=f.message}finally{i.value=!1}}async function a(f){if(confirm("Delete this webhook?"))try{await Me.del("/webhooks/"+f.id),t.value=t.value.filter(h=>h.id!==f.id)}catch(h){alert("Could not delete: "+h.message)}}return Et(c),(f,h)=>(N(),L("div",Kd,[W(tn,{title:"Webhooks",subtitle:"Get notified when messages change state or arrive"}),g("form",{class:"mb-6 flex flex-wrap items-end gap-3 rounded-lg border border-subtle bg-card p-4 shadow-xs",onSubmit:hs(u,["prevent"])},[g("div",null,[h[2]||(h[2]=g("label",{class:"gn-eyebrow mb-1.5 block"},"Event",-1)),Ne(g("select",{"onUpdate:modelValue":h[0]||(h[0]=v=>r.value=v),class:"gn-input !w-auto font-mono !text-xs"},[(N(),L(ce,null,ot(l,v=>g("option",{key:v,value:v},K(v),9,Gd)),64))],512),[[ps,r.value]])]),g("div",Wd,[h[3]||(h[3]=g("label",{class:"gn-eyebrow mb-1.5 block"},"Target URL",-1)),Ne(g("input",{"onUpdate:modelValue":h[1]||(h[1]=v=>o.value=v),type:"url",placeholder:"https://example.com/hook",class:"gn-input font-mono !text-xs"},null,512),[[St,o.value]])]),g("button",{type:"submit",disabled:i.value,class:"gn-btn-pri"},[W(Z(Xu),{class:"h-4 w-4"}),h[4]||(h[4]=de("Add webhook ",-1))],8,qd)],32),s.value?(N(),L("p",zd,K(s.value),1)):Se("",!0),g("div",Jd,[g("table",Qd,[h[7]||(h[7]=g("thead",null,[g("tr",{class:"gn-eyebrow"},[g("th",{class:"px-5 py-3 font-medium"},"Event"),g("th",{class:"px-5 py-3 font-medium"},"URL"),g("th",{class:"px-5 py-3"})])],-1)),g("tbody",null,[n.value?(N(),L("tr",Yd,[...h[5]||(h[5]=[g("td",{colspan:"3",class:"border-t border-subtle px-5 py-10 text-center text-sm text-muted"},"Loading…",-1)])])):t.value.length?Se("",!0):(N(),L("tr",Xd,[...h[6]||(h[6]=[g("td",{colspan:"3",class:"border-t border-subtle px-5 py-10 text-center text-sm text-muted"},"No webhooks.",-1)])])),(N(!0),L(ce,null,ot(t.value,v=>(N(),L("tr",{key:v.id,class:"transition-colors hover:bg-sunken"},[g("td",Zd,[g("span",ep,K(v.event),1)]),g("td",tp,K(v.url),1),g("td",np,[g("button",{class:"text-sm font-medium text-danger hover:underline",onClick:T=>a(v)},"Delete",8,sp)])]))),128))])])])]))}},op=[{path:"/login",name:"login",component:yf},{path:"/",component:Vf,meta:{requiresAuth:!0},children:[{path:"",redirect:{name:"devices"}},{path:"devices",name:"devices",component:ed},{path:"send",name:"send",component:ad},{path:"call",name:"call",component:vd},{path:"messages",name:"messages",component:Nd},{path:"inbox",name:"inbox",component:Bd},{path:"webhooks",name:"webhooks",component:rp}]},{path:"/:pathMatch(.*)*",redirect:"/"}],Wi=Eu({history:ru(),routes:op});Wi.beforeEach(e=>{if(e.meta.requiresAuth&&!Rn.isAuthenticated())return{name:"login",query:{redirect:e.fullPath}};if(e.name==="login"&&Rn.isAuthenticated())return{path:"/"}});ha(ya).use(Wi).mount("#app");