diff --git a/repeater/web/html/assets/index-D4rBXqAS.js b/repeater/web/html/assets/index-2KsghJzI.js similarity index 77% rename from repeater/web/html/assets/index-D4rBXqAS.js rename to repeater/web/html/assets/index-2KsghJzI.js index 63081df..7ec478f 100644 --- a/repeater/web/html/assets/index-D4rBXqAS.js +++ b/repeater/web/html/assets/index-2KsghJzI.js @@ -2,53 +2,53 @@ function SG(d,s){for(var E=0;EE in s}const mf={},l_=[],mg=()=>{},EG=()=>!1,C4=d=>d.charCodeAt(0)===111&&d.charCodeAt(1)===110&&(d.charCodeAt(2)>122||d.charCodeAt(2)<97),UA=d=>d.startsWith("onUpdate:"),ap=Object.assign,VA=(d,s)=>{const E=d.indexOf(s);E>-1&&d.splice(E,1)},CG=Object.prototype.hasOwnProperty,Rh=(d,s)=>CG.call(d,s),au=Array.isArray,u_=d=>Q2(d)==="[object Map]",L4=d=>Q2(d)==="[object Set]",DC=d=>Q2(d)==="[object Date]",Vu=d=>typeof d=="function",ld=d=>typeof d=="string",Cm=d=>typeof d=="symbol",gf=d=>d!==null&&typeof d=="object",Iz=d=>(gf(d)||Vu(d))&&Vu(d.then)&&Vu(d.catch),Oz=Object.prototype.toString,Q2=d=>Oz.call(d),LG=d=>Q2(d).slice(8,-1),Dz=d=>Q2(d)==="[object Object]",HA=d=>ld(d)&&d!=="NaN"&&d[0]!=="-"&&""+parseInt(d,10)===d,b2=jA(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),P4=d=>{const s=Object.create(null);return E=>s[E]||(s[E]=d(E))},PG=/-(\w)/g,hm=P4(d=>d.replace(PG,(s,E)=>E?E.toUpperCase():"")),zG=/\B([A-Z])/g,Iy=P4(d=>d.replace(zG,"-$1").toLowerCase()),z4=P4(d=>d.charAt(0).toUpperCase()+d.slice(1)),x8=P4(d=>d?`on${z4(d)}`:""),g1=(d,s)=>!Object.is(d,s),Y5=(d,...s)=>{for(let E=0;E{Object.defineProperty(d,s,{configurable:!0,enumerable:!1,writable:R,value:E})},s4=d=>{const s=parseFloat(d);return isNaN(s)?d:s},IG=d=>{const s=ld(d)?Number(d):NaN;return isNaN(s)?d:s};let FC;const I4=()=>FC||(FC=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function G0(d){if(au(d)){const s={};for(let E=0;E{if(E){const R=E.split(DG);R.length>1&&(s[R[0].trim()]=R[1].trim())}}),s}function Co(d){let s="";if(ld(d))s=d;else if(au(d))for(let E=0;Ep_(E,s))}const Bz=d=>!!(d&&d.__v_isRef===!0),Ei=d=>ld(d)?d:d==null?"":au(d)||gf(d)&&(d.toString===Oz||!Vu(d.toString))?Bz(d)?Ei(d.value):JSON.stringify(d,Rz,2):String(d),Rz=(d,s)=>Bz(s)?Rz(d,s.value):u_(s)?{[`Map(${s.size})`]:[...s.entries()].reduce((E,[R,K],dt)=>(E[_8(R,dt)+" =>"]=K,E),{})}:L4(s)?{[`Set(${s.size})`]:[...s.values()].map(E=>_8(E))}:Cm(s)?_8(s):gf(s)&&!au(s)&&!Dz(s)?String(s):s,_8=(d,s="")=>{var E;return Cm(d)?`Symbol(${(E=d.description)!=null?E:s})`:d};/** +**//*! #__NO_SIDE_EFFECTS__ */function jA(d){const s=Object.create(null);for(const E of d.split(","))s[E]=1;return E=>E in s}const mf={},l_=[],mg=()=>{},EG=()=>!1,C4=d=>d.charCodeAt(0)===111&&d.charCodeAt(1)===110&&(d.charCodeAt(2)>122||d.charCodeAt(2)<97),UA=d=>d.startsWith("onUpdate:"),ap=Object.assign,VA=(d,s)=>{const E=d.indexOf(s);E>-1&&d.splice(E,1)},CG=Object.prototype.hasOwnProperty,Rh=(d,s)=>CG.call(d,s),au=Array.isArray,u_=d=>Q2(d)==="[object Map]",L4=d=>Q2(d)==="[object Set]",DC=d=>Q2(d)==="[object Date]",Vu=d=>typeof d=="function",ld=d=>typeof d=="string",Cm=d=>typeof d=="symbol",gf=d=>d!==null&&typeof d=="object",zI=d=>(gf(d)||Vu(d))&&Vu(d.then)&&Vu(d.catch),OI=Object.prototype.toString,Q2=d=>OI.call(d),LG=d=>Q2(d).slice(8,-1),DI=d=>Q2(d)==="[object Object]",HA=d=>ld(d)&&d!=="NaN"&&d[0]!=="-"&&""+parseInt(d,10)===d,b2=jA(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),P4=d=>{const s=Object.create(null);return E=>s[E]||(s[E]=d(E))},PG=/-(\w)/g,hm=P4(d=>d.replace(PG,(s,E)=>E?E.toUpperCase():"")),IG=/\B([A-Z])/g,zy=P4(d=>d.replace(IG,"-$1").toLowerCase()),I4=P4(d=>d.charAt(0).toUpperCase()+d.slice(1)),x8=P4(d=>d?`on${I4(d)}`:""),g1=(d,s)=>!Object.is(d,s),Y5=(d,...s)=>{for(let E=0;E{Object.defineProperty(d,s,{configurable:!0,enumerable:!1,writable:R,value:E})},s4=d=>{const s=parseFloat(d);return isNaN(s)?d:s},zG=d=>{const s=ld(d)?Number(d):NaN;return isNaN(s)?d:s};let FC;const z4=()=>FC||(FC=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function G0(d){if(au(d)){const s={};for(let E=0;E{if(E){const R=E.split(DG);R.length>1&&(s[R[0].trim()]=R[1].trim())}}),s}function ko(d){let s="";if(ld(d))s=d;else if(au(d))for(let E=0;Ep_(E,s))}const BI=d=>!!(d&&d.__v_isRef===!0),mi=d=>ld(d)?d:d==null?"":au(d)||gf(d)&&(d.toString===OI||!Vu(d.toString))?BI(d)?mi(d.value):JSON.stringify(d,RI,2):String(d),RI=(d,s)=>BI(s)?RI(d,s.value):u_(s)?{[`Map(${s.size})`]:[...s.entries()].reduce((E,[R,K],dt)=>(E[_8(R,dt)+" =>"]=K,E),{})}:L4(s)?{[`Set(${s.size})`]:[...s.values()].map(E=>_8(E))}:Cm(s)?_8(s):gf(s)&&!au(s)&&!DI(s)?String(s):s,_8=(d,s="")=>{var E;return Cm(d)?`Symbol(${(E=d.description)!=null?E:s})`:d};/** * @vue/reactivity v3.5.18 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let $p;class Nz{constructor(s=!1){this.detached=s,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=$p,!s&&$p&&(this.index=($p.scopes||($p.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let s,E;if(this.scopes)for(s=0,E=this.scopes.length;s0&&--this._on===0&&($p=this.prevScope,this.prevScope=void 0)}stop(s){if(this._active){this._active=!1;let E,R;for(E=0,R=this.effects.length;E0)return;if(k2){let s=k2;for(k2=void 0;s;){const E=s.next;s.next=void 0,s.flags&=-9,s=E}}let d;for(;w2;){let s=w2;for(w2=void 0;s;){const E=s.next;if(s.next=void 0,s.flags&=-9,s.flags&1)try{s.trigger()}catch(R){d||(d=R)}s=E}}if(d)throw d}function qz(d){for(let s=d.deps;s;s=s.nextDep)s.version=-1,s.prevActiveLink=s.dep.activeLink,s.dep.activeLink=s}function $z(d){let s,E=d.depsTail,R=E;for(;R;){const K=R.prevDep;R.version===-1?(R===E&&(E=K),$A(R),HG(R)):s=R,R.dep.activeLink=R.prevActiveLink,R.prevActiveLink=void 0,R=K}d.deps=s,d.depsTail=E}function oA(d){for(let s=d.deps;s;s=s.nextDep)if(s.dep.version!==s.version||s.dep.computed&&(Zz(s.dep.computed)||s.dep.version!==s.version))return!0;return!!d._dirty}function Zz(d){if(d.flags&4&&!(d.flags&16)||(d.flags&=-17,d.globalVersion===D2)||(d.globalVersion=D2,!d.isSSR&&d.flags&128&&(!d.deps&&!d._dirty||!oA(d))))return;d.flags|=2;const s=d.dep,E=kf,R=Sm;kf=d,Sm=!0;try{qz(d);const K=d.fn(d._value);(s.version===0||g1(K,d._value))&&(d.flags|=128,d._value=K,s.version++)}catch(K){throw s.version++,K}finally{kf=E,Sm=R,$z(d),d.flags&=-3}}function $A(d,s=!1){const{dep:E,prevSub:R,nextSub:K}=d;if(R&&(R.nextSub=K,d.prevSub=void 0),K&&(K.prevSub=R,d.nextSub=void 0),E.subs===d&&(E.subs=R,!R&&E.computed)){E.computed.flags&=-5;for(let dt=E.computed.deps;dt;dt=dt.nextDep)$A(dt,!0)}!s&&!--E.sc&&E.map&&E.map.delete(E.key)}function HG(d){const{prevDep:s,nextDep:E}=d;s&&(s.nextDep=E,d.prevDep=void 0),E&&(E.prevDep=s,d.nextDep=void 0)}let Sm=!0;const Gz=[];function sv(){Gz.push(Sm),Sm=!1}function lv(){const d=Gz.pop();Sm=d===void 0?!0:d}function BC(d){const{cleanup:s}=d;if(d.cleanup=void 0,s){const E=kf;kf=void 0;try{s()}finally{kf=E}}}let D2=0;class WG{constructor(s,E){this.sub=s,this.dep=E,this.version=E.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class ZA{constructor(s){this.computed=s,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(s){if(!kf||!Sm||kf===this.computed)return;let E=this.activeLink;if(E===void 0||E.sub!==kf)E=this.activeLink=new WG(kf,this),kf.deps?(E.prevDep=kf.depsTail,kf.depsTail.nextDep=E,kf.depsTail=E):kf.deps=kf.depsTail=E,Yz(E);else if(E.version===-1&&(E.version=this.version,E.nextDep)){const R=E.nextDep;R.prevDep=E.prevDep,E.prevDep&&(E.prevDep.nextDep=R),E.prevDep=kf.depsTail,E.nextDep=void 0,kf.depsTail.nextDep=E,kf.depsTail=E,kf.deps===E&&(kf.deps=R)}return E}trigger(s){this.version++,D2++,this.notify(s)}notify(s){WA();try{for(let E=this.subs;E;E=E.prevSub)E.sub.notify()&&E.sub.dep.notify()}finally{qA()}}}function Yz(d){if(d.dep.sc++,d.sub.flags&4){const s=d.dep.computed;if(s&&!d.dep.subs){s.flags|=20;for(let R=s.deps;R;R=R.nextDep)Yz(R)}const E=d.dep.subs;E!==d&&(d.prevSub=E,E&&(E.nextSub=d)),d.dep.subs=d}}const l4=new WeakMap,Ty=Symbol(""),sA=Symbol(""),F2=Symbol("");function Zp(d,s,E){if(Sm&&kf){let R=l4.get(d);R||l4.set(d,R=new Map);let K=R.get(E);K||(R.set(E,K=new ZA),K.map=R,K.key=E),K.track()}}function ev(d,s,E,R,K,dt){const _t=l4.get(d);if(!_t){D2++;return}const zt=jt=>{jt&&jt.trigger()};if(WA(),s==="clear")_t.forEach(zt);else{const jt=au(d),te=jt&&HA(E);if(jt&&E==="length"){const se=Number(R);_t.forEach((Le,Je)=>{(Je==="length"||Je===F2||!Cm(Je)&&Je>=se)&&zt(Le)})}else switch((E!==void 0||_t.has(void 0))&&zt(_t.get(E)),te&&zt(_t.get(F2)),s){case"add":jt?te&&zt(_t.get("length")):(zt(_t.get(Ty)),u_(d)&&zt(_t.get(sA)));break;case"delete":jt||(zt(_t.get(Ty)),u_(d)&&zt(_t.get(sA)));break;case"set":u_(d)&&zt(_t.get(Ty));break}}qA()}function qG(d,s){const E=l4.get(d);return E&&E.get(s)}function e_(d){const s=Eu(d);return s===d?s:(Zp(s,"iterate",F2),um(d)?s:s.map(Ip))}function O4(d){return Zp(d=Eu(d),"iterate",F2),d}const $G={__proto__:null,[Symbol.iterator](){return w8(this,Symbol.iterator,Ip)},concat(...d){return e_(this).concat(...d.map(s=>au(s)?e_(s):s))},entries(){return w8(this,"entries",d=>(d[1]=Ip(d[1]),d))},every(d,s){return Gg(this,"every",d,s,void 0,arguments)},filter(d,s){return Gg(this,"filter",d,s,E=>E.map(Ip),arguments)},find(d,s){return Gg(this,"find",d,s,Ip,arguments)},findIndex(d,s){return Gg(this,"findIndex",d,s,void 0,arguments)},findLast(d,s){return Gg(this,"findLast",d,s,Ip,arguments)},findLastIndex(d,s){return Gg(this,"findLastIndex",d,s,void 0,arguments)},forEach(d,s){return Gg(this,"forEach",d,s,void 0,arguments)},includes(...d){return k8(this,"includes",d)},indexOf(...d){return k8(this,"indexOf",d)},join(d){return e_(this).join(d)},lastIndexOf(...d){return k8(this,"lastIndexOf",d)},map(d,s){return Gg(this,"map",d,s,void 0,arguments)},pop(){return Qb(this,"pop")},push(...d){return Qb(this,"push",d)},reduce(d,...s){return RC(this,"reduce",d,s)},reduceRight(d,...s){return RC(this,"reduceRight",d,s)},shift(){return Qb(this,"shift")},some(d,s){return Gg(this,"some",d,s,void 0,arguments)},splice(...d){return Qb(this,"splice",d)},toReversed(){return e_(this).toReversed()},toSorted(d){return e_(this).toSorted(d)},toSpliced(...d){return e_(this).toSpliced(...d)},unshift(...d){return Qb(this,"unshift",d)},values(){return w8(this,"values",Ip)}};function w8(d,s,E){const R=O4(d),K=R[s]();return R!==d&&!um(d)&&(K._next=K.next,K.next=()=>{const dt=K._next();return dt.value&&(dt.value=E(dt.value)),dt}),K}const ZG=Array.prototype;function Gg(d,s,E,R,K,dt){const _t=O4(d),zt=_t!==d&&!um(d),jt=_t[s];if(jt!==ZG[s]){const Le=jt.apply(d,dt);return zt?Ip(Le):Le}let te=E;_t!==d&&(zt?te=function(Le,Je){return E.call(this,Ip(Le),Je,d)}:E.length>2&&(te=function(Le,Je){return E.call(this,Le,Je,d)}));const se=jt.call(_t,te,R);return zt&&K?K(se):se}function RC(d,s,E,R){const K=O4(d);let dt=E;return K!==d&&(um(d)?E.length>3&&(dt=function(_t,zt,jt){return E.call(this,_t,zt,jt,d)}):dt=function(_t,zt,jt){return E.call(this,_t,Ip(zt),jt,d)}),K[s](dt,...R)}function k8(d,s,E){const R=Eu(d);Zp(R,"iterate",F2);const K=R[s](...E);return(K===-1||K===!1)&&KA(E[0])?(E[0]=Eu(E[0]),R[s](...E)):K}function Qb(d,s,E=[]){sv(),WA();const R=Eu(d)[s].apply(d,E);return qA(),lv(),R}const GG=jA("__proto__,__v_isRef,__isVue"),Kz=new Set(Object.getOwnPropertyNames(Symbol).filter(d=>d!=="arguments"&&d!=="caller").map(d=>Symbol[d]).filter(Cm));function YG(d){Cm(d)||(d=String(d));const s=Eu(this);return Zp(s,"has",d),s.hasOwnProperty(d)}class Xz{constructor(s=!1,E=!1){this._isReadonly=s,this._isShallow=E}get(s,E,R){if(E==="__v_skip")return s.__v_skip;const K=this._isReadonly,dt=this._isShallow;if(E==="__v_isReactive")return!K;if(E==="__v_isReadonly")return K;if(E==="__v_isShallow")return dt;if(E==="__v_raw")return R===(K?dt?aY:eI:dt?tI:Qz).get(s)||Object.getPrototypeOf(s)===Object.getPrototypeOf(R)?s:void 0;const _t=au(s);if(!K){let jt;if(_t&&(jt=$G[E]))return jt;if(E==="hasOwnProperty")return YG}const zt=Reflect.get(s,E,jd(s)?s:R);return(Cm(E)?Kz.has(E):GG(E))||(K||Zp(s,"get",E),dt)?zt:jd(zt)?_t&&HA(E)?zt:zt.value:gf(zt)?K?nI(zt):Ey(zt):zt}}class Jz extends Xz{constructor(s=!1){super(!1,s)}set(s,E,R,K){let dt=s[E];if(!this._isShallow){const jt=x1(dt);if(!um(R)&&!x1(R)&&(dt=Eu(dt),R=Eu(R)),!au(s)&&jd(dt)&&!jd(R))return jt?!1:(dt.value=R,!0)}const _t=au(s)&&HA(E)?Number(E)d,S5=d=>Reflect.getPrototypeOf(d);function tY(d,s,E){return function(...R){const K=this.__v_raw,dt=Eu(K),_t=u_(dt),zt=d==="entries"||d===Symbol.iterator&&_t,jt=d==="keys"&&_t,te=K[d](...R),se=E?lA:s?u4:Ip;return!s&&Zp(dt,"iterate",jt?sA:Ty),{next(){const{value:Le,done:Je}=te.next();return Je?{value:Le,done:Je}:{value:zt?[se(Le[0]),se(Le[1])]:se(Le),done:Je}},[Symbol.iterator](){return this}}}}function E5(d){return function(...s){return d==="delete"?!1:d==="clear"?void 0:this}}function eY(d,s){const E={get(K){const dt=this.__v_raw,_t=Eu(dt),zt=Eu(K);d||(g1(K,zt)&&Zp(_t,"get",K),Zp(_t,"get",zt));const{has:jt}=S5(_t),te=s?lA:d?u4:Ip;if(jt.call(_t,K))return te(dt.get(K));if(jt.call(_t,zt))return te(dt.get(zt));dt!==_t&&dt.get(K)},get size(){const K=this.__v_raw;return!d&&Zp(Eu(K),"iterate",Ty),Reflect.get(K,"size",K)},has(K){const dt=this.__v_raw,_t=Eu(dt),zt=Eu(K);return d||(g1(K,zt)&&Zp(_t,"has",K),Zp(_t,"has",zt)),K===zt?dt.has(K):dt.has(K)||dt.has(zt)},forEach(K,dt){const _t=this,zt=_t.__v_raw,jt=Eu(zt),te=s?lA:d?u4:Ip;return!d&&Zp(jt,"iterate",Ty),zt.forEach((se,Le)=>K.call(dt,te(se),te(Le),_t))}};return ap(E,d?{add:E5("add"),set:E5("set"),delete:E5("delete"),clear:E5("clear")}:{add(K){!s&&!um(K)&&!x1(K)&&(K=Eu(K));const dt=Eu(this);return S5(dt).has.call(dt,K)||(dt.add(K),ev(dt,"add",K,K)),this},set(K,dt){!s&&!um(dt)&&!x1(dt)&&(dt=Eu(dt));const _t=Eu(this),{has:zt,get:jt}=S5(_t);let te=zt.call(_t,K);te||(K=Eu(K),te=zt.call(_t,K));const se=jt.call(_t,K);return _t.set(K,dt),te?g1(dt,se)&&ev(_t,"set",K,dt):ev(_t,"add",K,dt),this},delete(K){const dt=Eu(this),{has:_t,get:zt}=S5(dt);let jt=_t.call(dt,K);jt||(K=Eu(K),jt=_t.call(dt,K)),zt&&zt.call(dt,K);const te=dt.delete(K);return jt&&ev(dt,"delete",K,void 0),te},clear(){const K=Eu(this),dt=K.size!==0,_t=K.clear();return dt&&ev(K,"clear",void 0,void 0),_t}}),["keys","values","entries",Symbol.iterator].forEach(K=>{E[K]=tY(K,d,s)}),E}function GA(d,s){const E=eY(d,s);return(R,K,dt)=>K==="__v_isReactive"?!d:K==="__v_isReadonly"?d:K==="__v_raw"?R:Reflect.get(Rh(E,K)&&K in R?E:R,K,dt)}const rY={get:GA(!1,!1)},nY={get:GA(!1,!0)},iY={get:GA(!0,!1)};const Qz=new WeakMap,tI=new WeakMap,eI=new WeakMap,aY=new WeakMap;function oY(d){switch(d){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function sY(d){return d.__v_skip||!Object.isExtensible(d)?0:oY(LG(d))}function Ey(d){return x1(d)?d:YA(d,!1,XG,rY,Qz)}function rI(d){return YA(d,!1,QG,nY,tI)}function nI(d){return YA(d,!0,JG,iY,eI)}function YA(d,s,E,R,K){if(!gf(d)||d.__v_raw&&!(s&&d.__v_isReactive))return d;const dt=sY(d);if(dt===0)return d;const _t=K.get(d);if(_t)return _t;const zt=new Proxy(d,dt===2?R:E);return K.set(d,zt),zt}function v1(d){return x1(d)?v1(d.__v_raw):!!(d&&d.__v_isReactive)}function x1(d){return!!(d&&d.__v_isReadonly)}function um(d){return!!(d&&d.__v_isShallow)}function KA(d){return d?!!d.__v_raw:!1}function Eu(d){const s=d&&d.__v_raw;return s?Eu(s):d}function XA(d){return!Rh(d,"__v_skip")&&Object.isExtensible(d)&&aA(d,"__v_skip",!0),d}const Ip=d=>gf(d)?Ey(d):d,u4=d=>gf(d)?nI(d):d;function jd(d){return d?d.__v_isRef===!0:!1}function ja(d){return iI(d,!1)}function lY(d){return iI(d,!0)}function iI(d,s){return jd(d)?d:new uY(d,s)}class uY{constructor(s,E){this.dep=new ZA,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=E?s:Eu(s),this._value=E?s:Ip(s),this.__v_isShallow=E}get value(){return this.dep.track(),this._value}set value(s){const E=this._rawValue,R=this.__v_isShallow||um(s)||x1(s);s=R?s:Eu(s),g1(s,E)&&(this._rawValue=s,this._value=R?s:Ip(s),this.dep.trigger())}}function Ol(d){return jd(d)?d.value:d}const cY={get:(d,s,E)=>s==="__v_raw"?d:Ol(Reflect.get(d,s,E)),set:(d,s,E,R)=>{const K=d[s];return jd(K)&&!jd(E)?(K.value=E,!0):Reflect.set(d,s,E,R)}};function aI(d){return v1(d)?d:new Proxy(d,cY)}function hY(d){const s=au(d)?new Array(d.length):{};for(const E in d)s[E]=dY(d,E);return s}class fY{constructor(s,E,R){this._object=s,this._key=E,this._defaultValue=R,this.__v_isRef=!0,this._value=void 0}get value(){const s=this._object[this._key];return this._value=s===void 0?this._defaultValue:s}set value(s){this._object[this._key]=s}get dep(){return qG(Eu(this._object),this._key)}}function dY(d,s,E){const R=d[s];return jd(R)?R:new fY(d,s,E)}class pY{constructor(s,E,R){this.fn=s,this.setter=E,this._value=void 0,this.dep=new ZA(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=D2-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!E,this.isSSR=R}notify(){if(this.flags|=16,!(this.flags&8)&&kf!==this)return Wz(this,!0),!0}get value(){const s=this.dep.track();return Zz(this),s&&(s.version=this.dep.version),this._value}set value(s){this.setter&&this.setter(s)}}function mY(d,s,E=!1){let R,K;return Vu(d)?R=d:(R=d.get,K=d.set),new pY(R,K,E)}const C5={},c4=new WeakMap;let my;function gY(d,s=!1,E=my){if(E){let R=c4.get(E);R||c4.set(E,R=[]),R.push(d)}}function vY(d,s,E=mf){const{immediate:R,deep:K,once:dt,scheduler:_t,augmentJob:zt,call:jt}=E,te=Qn=>K?Qn:um(Qn)||K===!1||K===0?rv(Qn,1):rv(Qn);let se,Le,Je,fr,Tr=!1,wr=!1;if(jd(d)?(Le=()=>d.value,Tr=um(d)):v1(d)?(Le=()=>te(d),Tr=!0):au(d)?(wr=!0,Tr=d.some(Qn=>v1(Qn)||um(Qn)),Le=()=>d.map(Qn=>{if(jd(Qn))return Qn.value;if(v1(Qn))return te(Qn);if(Vu(Qn))return jt?jt(Qn,2):Qn()})):Vu(d)?s?Le=jt?()=>jt(d,2):d:Le=()=>{if(Je){sv();try{Je()}finally{lv()}}const Qn=my;my=se;try{return jt?jt(d,3,[fr]):d(fr)}finally{my=Qn}}:Le=mg,s&&K){const Qn=Le,Dn=K===!0?1/0:K;Le=()=>rv(Qn(),Dn)}const Vr=Uz(),fn=()=>{se.stop(),Vr&&Vr.active&&VA(Vr.effects,se)};if(dt&&s){const Qn=s;s=(...Dn)=>{Qn(...Dn),fn()}}let Dt=wr?new Array(d.length).fill(C5):C5;const cn=Qn=>{if(!(!(se.flags&1)||!se.dirty&&!Qn))if(s){const Dn=se.run();if(K||Tr||(wr?Dn.some((ei,Ui)=>g1(ei,Dt[Ui])):g1(Dn,Dt))){Je&&Je();const ei=my;my=se;try{const Ui=[Dn,Dt===C5?void 0:wr&&Dt[0]===C5?[]:Dt,fr];Dt=Dn,jt?jt(s,3,Ui):s(...Ui)}finally{my=ei}}}else se.run()};return zt&&zt(cn),se=new Vz(Le),se.scheduler=_t?()=>_t(cn,!1):cn,fr=Qn=>gY(Qn,!1,se),Je=se.onStop=()=>{const Qn=c4.get(se);if(Qn){if(jt)jt(Qn,4);else for(const Dn of Qn)Dn();c4.delete(se)}},s?R?cn(!0):Dt=se.run():_t?_t(cn.bind(null,!0),!0):se.run(),fn.pause=se.pause.bind(se),fn.resume=se.resume.bind(se),fn.stop=fn,fn}function rv(d,s=1/0,E){if(s<=0||!gf(d)||d.__v_skip||(E=E||new Set,E.has(d)))return d;if(E.add(d),s--,jd(d))rv(d.value,s,E);else if(au(d))for(let R=0;R{rv(R,s,E)});else if(Dz(d)){for(const R in d)rv(d[R],s,E);for(const R of Object.getOwnPropertySymbols(d))Object.prototype.propertyIsEnumerable.call(d,R)&&rv(d[R],s,E)}return d}/** +**/let $p;class NI{constructor(s=!1){this.detached=s,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=$p,!s&&$p&&(this.index=($p.scopes||($p.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let s,E;if(this.scopes)for(s=0,E=this.scopes.length;s0&&--this._on===0&&($p=this.prevScope,this.prevScope=void 0)}stop(s){if(this._active){this._active=!1;let E,R;for(E=0,R=this.effects.length;E0)return;if(k2){let s=k2;for(k2=void 0;s;){const E=s.next;s.next=void 0,s.flags&=-9,s=E}}let d;for(;w2;){let s=w2;for(w2=void 0;s;){const E=s.next;if(s.next=void 0,s.flags&=-9,s.flags&1)try{s.trigger()}catch(R){d||(d=R)}s=E}}if(d)throw d}function qI(d){for(let s=d.deps;s;s=s.nextDep)s.version=-1,s.prevActiveLink=s.dep.activeLink,s.dep.activeLink=s}function $I(d){let s,E=d.depsTail,R=E;for(;R;){const K=R.prevDep;R.version===-1?(R===E&&(E=K),$A(R),HG(R)):s=R,R.dep.activeLink=R.prevActiveLink,R.prevActiveLink=void 0,R=K}d.deps=s,d.depsTail=E}function oA(d){for(let s=d.deps;s;s=s.nextDep)if(s.dep.version!==s.version||s.dep.computed&&(ZI(s.dep.computed)||s.dep.version!==s.version))return!0;return!!d._dirty}function ZI(d){if(d.flags&4&&!(d.flags&16)||(d.flags&=-17,d.globalVersion===D2)||(d.globalVersion=D2,!d.isSSR&&d.flags&128&&(!d.deps&&!d._dirty||!oA(d))))return;d.flags|=2;const s=d.dep,E=kf,R=Sm;kf=d,Sm=!0;try{qI(d);const K=d.fn(d._value);(s.version===0||g1(K,d._value))&&(d.flags|=128,d._value=K,s.version++)}catch(K){throw s.version++,K}finally{kf=E,Sm=R,$I(d),d.flags&=-3}}function $A(d,s=!1){const{dep:E,prevSub:R,nextSub:K}=d;if(R&&(R.nextSub=K,d.prevSub=void 0),K&&(K.prevSub=R,d.nextSub=void 0),E.subs===d&&(E.subs=R,!R&&E.computed)){E.computed.flags&=-5;for(let dt=E.computed.deps;dt;dt=dt.nextDep)$A(dt,!0)}!s&&!--E.sc&&E.map&&E.map.delete(E.key)}function HG(d){const{prevDep:s,nextDep:E}=d;s&&(s.nextDep=E,d.prevDep=void 0),E&&(E.prevDep=s,d.nextDep=void 0)}let Sm=!0;const GI=[];function sv(){GI.push(Sm),Sm=!1}function lv(){const d=GI.pop();Sm=d===void 0?!0:d}function BC(d){const{cleanup:s}=d;if(d.cleanup=void 0,s){const E=kf;kf=void 0;try{s()}finally{kf=E}}}let D2=0;class WG{constructor(s,E){this.sub=s,this.dep=E,this.version=E.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class ZA{constructor(s){this.computed=s,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(s){if(!kf||!Sm||kf===this.computed)return;let E=this.activeLink;if(E===void 0||E.sub!==kf)E=this.activeLink=new WG(kf,this),kf.deps?(E.prevDep=kf.depsTail,kf.depsTail.nextDep=E,kf.depsTail=E):kf.deps=kf.depsTail=E,YI(E);else if(E.version===-1&&(E.version=this.version,E.nextDep)){const R=E.nextDep;R.prevDep=E.prevDep,E.prevDep&&(E.prevDep.nextDep=R),E.prevDep=kf.depsTail,E.nextDep=void 0,kf.depsTail.nextDep=E,kf.depsTail=E,kf.deps===E&&(kf.deps=R)}return E}trigger(s){this.version++,D2++,this.notify(s)}notify(s){WA();try{for(let E=this.subs;E;E=E.prevSub)E.sub.notify()&&E.sub.dep.notify()}finally{qA()}}}function YI(d){if(d.dep.sc++,d.sub.flags&4){const s=d.dep.computed;if(s&&!d.dep.subs){s.flags|=20;for(let R=s.deps;R;R=R.nextDep)YI(R)}const E=d.dep.subs;E!==d&&(d.prevSub=E,E&&(E.nextSub=d)),d.dep.subs=d}}const l4=new WeakMap,Ty=Symbol(""),sA=Symbol(""),F2=Symbol("");function Zp(d,s,E){if(Sm&&kf){let R=l4.get(d);R||l4.set(d,R=new Map);let K=R.get(E);K||(R.set(E,K=new ZA),K.map=R,K.key=E),K.track()}}function ev(d,s,E,R,K,dt){const _t=l4.get(d);if(!_t){D2++;return}const It=jt=>{jt&&jt.trigger()};if(WA(),s==="clear")_t.forEach(It);else{const jt=au(d),te=jt&&HA(E);if(jt&&E==="length"){const le=Number(R);_t.forEach((Le,Je)=>{(Je==="length"||Je===F2||!Cm(Je)&&Je>=le)&&It(Le)})}else switch((E!==void 0||_t.has(void 0))&&It(_t.get(E)),te&&It(_t.get(F2)),s){case"add":jt?te&&It(_t.get("length")):(It(_t.get(Ty)),u_(d)&&It(_t.get(sA)));break;case"delete":jt||(It(_t.get(Ty)),u_(d)&&It(_t.get(sA)));break;case"set":u_(d)&&It(_t.get(Ty));break}}qA()}function qG(d,s){const E=l4.get(d);return E&&E.get(s)}function e_(d){const s=Eu(d);return s===d?s:(Zp(s,"iterate",F2),um(d)?s:s.map(zp))}function O4(d){return Zp(d=Eu(d),"iterate",F2),d}const $G={__proto__:null,[Symbol.iterator](){return w8(this,Symbol.iterator,zp)},concat(...d){return e_(this).concat(...d.map(s=>au(s)?e_(s):s))},entries(){return w8(this,"entries",d=>(d[1]=zp(d[1]),d))},every(d,s){return Gg(this,"every",d,s,void 0,arguments)},filter(d,s){return Gg(this,"filter",d,s,E=>E.map(zp),arguments)},find(d,s){return Gg(this,"find",d,s,zp,arguments)},findIndex(d,s){return Gg(this,"findIndex",d,s,void 0,arguments)},findLast(d,s){return Gg(this,"findLast",d,s,zp,arguments)},findLastIndex(d,s){return Gg(this,"findLastIndex",d,s,void 0,arguments)},forEach(d,s){return Gg(this,"forEach",d,s,void 0,arguments)},includes(...d){return k8(this,"includes",d)},indexOf(...d){return k8(this,"indexOf",d)},join(d){return e_(this).join(d)},lastIndexOf(...d){return k8(this,"lastIndexOf",d)},map(d,s){return Gg(this,"map",d,s,void 0,arguments)},pop(){return Qb(this,"pop")},push(...d){return Qb(this,"push",d)},reduce(d,...s){return RC(this,"reduce",d,s)},reduceRight(d,...s){return RC(this,"reduceRight",d,s)},shift(){return Qb(this,"shift")},some(d,s){return Gg(this,"some",d,s,void 0,arguments)},splice(...d){return Qb(this,"splice",d)},toReversed(){return e_(this).toReversed()},toSorted(d){return e_(this).toSorted(d)},toSpliced(...d){return e_(this).toSpliced(...d)},unshift(...d){return Qb(this,"unshift",d)},values(){return w8(this,"values",zp)}};function w8(d,s,E){const R=O4(d),K=R[s]();return R!==d&&!um(d)&&(K._next=K.next,K.next=()=>{const dt=K._next();return dt.value&&(dt.value=E(dt.value)),dt}),K}const ZG=Array.prototype;function Gg(d,s,E,R,K,dt){const _t=O4(d),It=_t!==d&&!um(d),jt=_t[s];if(jt!==ZG[s]){const Le=jt.apply(d,dt);return It?zp(Le):Le}let te=E;_t!==d&&(It?te=function(Le,Je){return E.call(this,zp(Le),Je,d)}:E.length>2&&(te=function(Le,Je){return E.call(this,Le,Je,d)}));const le=jt.call(_t,te,R);return It&&K?K(le):le}function RC(d,s,E,R){const K=O4(d);let dt=E;return K!==d&&(um(d)?E.length>3&&(dt=function(_t,It,jt){return E.call(this,_t,It,jt,d)}):dt=function(_t,It,jt){return E.call(this,_t,zp(It),jt,d)}),K[s](dt,...R)}function k8(d,s,E){const R=Eu(d);Zp(R,"iterate",F2);const K=R[s](...E);return(K===-1||K===!1)&&KA(E[0])?(E[0]=Eu(E[0]),R[s](...E)):K}function Qb(d,s,E=[]){sv(),WA();const R=Eu(d)[s].apply(d,E);return qA(),lv(),R}const GG=jA("__proto__,__v_isRef,__isVue"),KI=new Set(Object.getOwnPropertyNames(Symbol).filter(d=>d!=="arguments"&&d!=="caller").map(d=>Symbol[d]).filter(Cm));function YG(d){Cm(d)||(d=String(d));const s=Eu(this);return Zp(s,"has",d),s.hasOwnProperty(d)}class XI{constructor(s=!1,E=!1){this._isReadonly=s,this._isShallow=E}get(s,E,R){if(E==="__v_skip")return s.__v_skip;const K=this._isReadonly,dt=this._isShallow;if(E==="__v_isReactive")return!K;if(E==="__v_isReadonly")return K;if(E==="__v_isShallow")return dt;if(E==="__v_raw")return R===(K?dt?aY:ez:dt?tz:QI).get(s)||Object.getPrototypeOf(s)===Object.getPrototypeOf(R)?s:void 0;const _t=au(s);if(!K){let jt;if(_t&&(jt=$G[E]))return jt;if(E==="hasOwnProperty")return YG}const It=Reflect.get(s,E,jd(s)?s:R);return(Cm(E)?KI.has(E):GG(E))||(K||Zp(s,"get",E),dt)?It:jd(It)?_t&&HA(E)?It:It.value:gf(It)?K?nz(It):Ey(It):It}}class JI extends XI{constructor(s=!1){super(!1,s)}set(s,E,R,K){let dt=s[E];if(!this._isShallow){const jt=x1(dt);if(!um(R)&&!x1(R)&&(dt=Eu(dt),R=Eu(R)),!au(s)&&jd(dt)&&!jd(R))return jt?!1:(dt.value=R,!0)}const _t=au(s)&&HA(E)?Number(E)d,S5=d=>Reflect.getPrototypeOf(d);function tY(d,s,E){return function(...R){const K=this.__v_raw,dt=Eu(K),_t=u_(dt),It=d==="entries"||d===Symbol.iterator&&_t,jt=d==="keys"&&_t,te=K[d](...R),le=E?lA:s?u4:zp;return!s&&Zp(dt,"iterate",jt?sA:Ty),{next(){const{value:Le,done:Je}=te.next();return Je?{value:Le,done:Je}:{value:It?[le(Le[0]),le(Le[1])]:le(Le),done:Je}},[Symbol.iterator](){return this}}}}function E5(d){return function(...s){return d==="delete"?!1:d==="clear"?void 0:this}}function eY(d,s){const E={get(K){const dt=this.__v_raw,_t=Eu(dt),It=Eu(K);d||(g1(K,It)&&Zp(_t,"get",K),Zp(_t,"get",It));const{has:jt}=S5(_t),te=s?lA:d?u4:zp;if(jt.call(_t,K))return te(dt.get(K));if(jt.call(_t,It))return te(dt.get(It));dt!==_t&&dt.get(K)},get size(){const K=this.__v_raw;return!d&&Zp(Eu(K),"iterate",Ty),Reflect.get(K,"size",K)},has(K){const dt=this.__v_raw,_t=Eu(dt),It=Eu(K);return d||(g1(K,It)&&Zp(_t,"has",K),Zp(_t,"has",It)),K===It?dt.has(K):dt.has(K)||dt.has(It)},forEach(K,dt){const _t=this,It=_t.__v_raw,jt=Eu(It),te=s?lA:d?u4:zp;return!d&&Zp(jt,"iterate",Ty),It.forEach((le,Le)=>K.call(dt,te(le),te(Le),_t))}};return ap(E,d?{add:E5("add"),set:E5("set"),delete:E5("delete"),clear:E5("clear")}:{add(K){!s&&!um(K)&&!x1(K)&&(K=Eu(K));const dt=Eu(this);return S5(dt).has.call(dt,K)||(dt.add(K),ev(dt,"add",K,K)),this},set(K,dt){!s&&!um(dt)&&!x1(dt)&&(dt=Eu(dt));const _t=Eu(this),{has:It,get:jt}=S5(_t);let te=It.call(_t,K);te||(K=Eu(K),te=It.call(_t,K));const le=jt.call(_t,K);return _t.set(K,dt),te?g1(dt,le)&&ev(_t,"set",K,dt):ev(_t,"add",K,dt),this},delete(K){const dt=Eu(this),{has:_t,get:It}=S5(dt);let jt=_t.call(dt,K);jt||(K=Eu(K),jt=_t.call(dt,K)),It&&It.call(dt,K);const te=dt.delete(K);return jt&&ev(dt,"delete",K,void 0),te},clear(){const K=Eu(this),dt=K.size!==0,_t=K.clear();return dt&&ev(K,"clear",void 0,void 0),_t}}),["keys","values","entries",Symbol.iterator].forEach(K=>{E[K]=tY(K,d,s)}),E}function GA(d,s){const E=eY(d,s);return(R,K,dt)=>K==="__v_isReactive"?!d:K==="__v_isReadonly"?d:K==="__v_raw"?R:Reflect.get(Rh(E,K)&&K in R?E:R,K,dt)}const rY={get:GA(!1,!1)},nY={get:GA(!1,!0)},iY={get:GA(!0,!1)};const QI=new WeakMap,tz=new WeakMap,ez=new WeakMap,aY=new WeakMap;function oY(d){switch(d){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function sY(d){return d.__v_skip||!Object.isExtensible(d)?0:oY(LG(d))}function Ey(d){return x1(d)?d:YA(d,!1,XG,rY,QI)}function rz(d){return YA(d,!1,QG,nY,tz)}function nz(d){return YA(d,!0,JG,iY,ez)}function YA(d,s,E,R,K){if(!gf(d)||d.__v_raw&&!(s&&d.__v_isReactive))return d;const dt=sY(d);if(dt===0)return d;const _t=K.get(d);if(_t)return _t;const It=new Proxy(d,dt===2?R:E);return K.set(d,It),It}function v1(d){return x1(d)?v1(d.__v_raw):!!(d&&d.__v_isReactive)}function x1(d){return!!(d&&d.__v_isReadonly)}function um(d){return!!(d&&d.__v_isShallow)}function KA(d){return d?!!d.__v_raw:!1}function Eu(d){const s=d&&d.__v_raw;return s?Eu(s):d}function XA(d){return!Rh(d,"__v_skip")&&Object.isExtensible(d)&&aA(d,"__v_skip",!0),d}const zp=d=>gf(d)?Ey(d):d,u4=d=>gf(d)?nz(d):d;function jd(d){return d?d.__v_isRef===!0:!1}function ja(d){return iz(d,!1)}function lY(d){return iz(d,!0)}function iz(d,s){return jd(d)?d:new uY(d,s)}class uY{constructor(s,E){this.dep=new ZA,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=E?s:Eu(s),this._value=E?s:zp(s),this.__v_isShallow=E}get value(){return this.dep.track(),this._value}set value(s){const E=this._rawValue,R=this.__v_isShallow||um(s)||x1(s);s=R?s:Eu(s),g1(s,E)&&(this._rawValue=s,this._value=R?s:zp(s),this.dep.trigger())}}function Dl(d){return jd(d)?d.value:d}const cY={get:(d,s,E)=>s==="__v_raw"?d:Dl(Reflect.get(d,s,E)),set:(d,s,E,R)=>{const K=d[s];return jd(K)&&!jd(E)?(K.value=E,!0):Reflect.set(d,s,E,R)}};function az(d){return v1(d)?d:new Proxy(d,cY)}function hY(d){const s=au(d)?new Array(d.length):{};for(const E in d)s[E]=dY(d,E);return s}class fY{constructor(s,E,R){this._object=s,this._key=E,this._defaultValue=R,this.__v_isRef=!0,this._value=void 0}get value(){const s=this._object[this._key];return this._value=s===void 0?this._defaultValue:s}set value(s){this._object[this._key]=s}get dep(){return qG(Eu(this._object),this._key)}}function dY(d,s,E){const R=d[s];return jd(R)?R:new fY(d,s,E)}class pY{constructor(s,E,R){this.fn=s,this.setter=E,this._value=void 0,this.dep=new ZA(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=D2-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!E,this.isSSR=R}notify(){if(this.flags|=16,!(this.flags&8)&&kf!==this)return WI(this,!0),!0}get value(){const s=this.dep.track();return ZI(this),s&&(s.version=this.dep.version),this._value}set value(s){this.setter&&this.setter(s)}}function mY(d,s,E=!1){let R,K;return Vu(d)?R=d:(R=d.get,K=d.set),new pY(R,K,E)}const C5={},c4=new WeakMap;let my;function gY(d,s=!1,E=my){if(E){let R=c4.get(E);R||c4.set(E,R=[]),R.push(d)}}function vY(d,s,E=mf){const{immediate:R,deep:K,once:dt,scheduler:_t,augmentJob:It,call:jt}=E,te=Qn=>K?Qn:um(Qn)||K===!1||K===0?rv(Qn,1):rv(Qn);let le,Le,Je,fr,Tr=!1,wr=!1;if(jd(d)?(Le=()=>d.value,Tr=um(d)):v1(d)?(Le=()=>te(d),Tr=!0):au(d)?(wr=!0,Tr=d.some(Qn=>v1(Qn)||um(Qn)),Le=()=>d.map(Qn=>{if(jd(Qn))return Qn.value;if(v1(Qn))return te(Qn);if(Vu(Qn))return jt?jt(Qn,2):Qn()})):Vu(d)?s?Le=jt?()=>jt(d,2):d:Le=()=>{if(Je){sv();try{Je()}finally{lv()}}const Qn=my;my=le;try{return jt?jt(d,3,[fr]):d(fr)}finally{my=Qn}}:Le=mg,s&&K){const Qn=Le,Dn=K===!0?1/0:K;Le=()=>rv(Qn(),Dn)}const Vr=UI(),fn=()=>{le.stop(),Vr&&Vr.active&&VA(Vr.effects,le)};if(dt&&s){const Qn=s;s=(...Dn)=>{Qn(...Dn),fn()}}let Dt=wr?new Array(d.length).fill(C5):C5;const un=Qn=>{if(!(!(le.flags&1)||!le.dirty&&!Qn))if(s){const Dn=le.run();if(K||Tr||(wr?Dn.some((Xn,Ni)=>g1(Xn,Dt[Ni])):g1(Dn,Dt))){Je&&Je();const Xn=my;my=le;try{const Ni=[Dn,Dt===C5?void 0:wr&&Dt[0]===C5?[]:Dt,fr];Dt=Dn,jt?jt(s,3,Ni):s(...Ni)}finally{my=Xn}}}else le.run()};return It&&It(un),le=new VI(Le),le.scheduler=_t?()=>_t(un,!1):un,fr=Qn=>gY(Qn,!1,le),Je=le.onStop=()=>{const Qn=c4.get(le);if(Qn){if(jt)jt(Qn,4);else for(const Dn of Qn)Dn();c4.delete(le)}},s?R?un(!0):Dt=le.run():_t?_t(un.bind(null,!0),!0):le.run(),fn.pause=le.pause.bind(le),fn.resume=le.resume.bind(le),fn.stop=fn,fn}function rv(d,s=1/0,E){if(s<=0||!gf(d)||d.__v_skip||(E=E||new Set,E.has(d)))return d;if(E.add(d),s--,jd(d))rv(d.value,s,E);else if(au(d))for(let R=0;R{rv(R,s,E)});else if(DI(d)){for(const R in d)rv(d[R],s,E);for(const R of Object.getOwnPropertySymbols(d))Object.prototype.propertyIsEnumerable.call(d,R)&&rv(d[R],s,E)}return d}/** * @vue/runtime-core v3.5.18 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/function tw(d,s,E,R){try{return R?d(...R):d()}catch(K){D4(K,s,E)}}function Lm(d,s,E,R){if(Vu(d)){const K=tw(d,s,E,R);return K&&Iz(K)&&K.catch(dt=>{D4(dt,s,E)}),K}if(au(d)){const K=[];for(let dt=0;dt>>1,K=f0[R],dt=B2(K);dt=B2(E)?f0.push(d):f0.splice(xY(s),0,d),d.flags|=1,sI()}}function sI(){h4||(h4=oI.then(uI))}function _Y(d){au(d)?c_.push(...d):o1&&d.id===-1?o1.splice(o_+1,0,d):d.flags&1||(c_.push(d),d.flags|=1),sI()}function NC(d,s,E=ug+1){for(;EB2(E)-B2(R));if(c_.length=0,o1){o1.push(...s);return}for(o1=s,o_=0;o_d.id==null?d.flags&2?-1:1/0:d.id;function uI(d){try{for(ug=0;ug{R._d&&QC(-1);const dt=f4(s);let _t;try{_t=d(...K)}finally{f4(dt),R._d&&QC(1)}return _t};return R._n=!0,R._c=!0,R._d=!0,R}function Gp(d,s){if(Op===null)return d;const E=U4(Op),R=d.dirs||(d.dirs=[]);for(let K=0;Kd.__isTeleport,T2=d=>d&&(d.disabled||d.disabled===""),jC=d=>d&&(d.defer||d.defer===""),UC=d=>typeof SVGElement<"u"&&d instanceof SVGElement,VC=d=>typeof MathMLElement=="function"&&d instanceof MathMLElement,uA=(d,s)=>{const E=d&&d.to;return ld(E)?s?s(E):null:E},dI={name:"Teleport",__isTeleport:!0,process(d,s,E,R,K,dt,_t,zt,jt,te){const{mc:se,pc:Le,pbc:Je,o:{insert:fr,querySelector:Tr,createText:wr,createComment:Vr}}=te,fn=T2(s.props);let{shapeFlag:Dt,children:cn,dynamicChildren:Qn}=s;if(d==null){const Dn=s.el=wr(""),ei=s.anchor=wr("");fr(Dn,E,R),fr(ei,E,R);const Ui=(qr,Si)=>{Dt&16&&(K&&K.isCE&&(K.ce._teleportTarget=qr),se(cn,qr,Si,K,dt,_t,zt,jt))},Di=()=>{const qr=s.target=uA(s.props,Tr),Si=pI(qr,s,wr,fr);qr&&(_t!=="svg"&&UC(qr)?_t="svg":_t!=="mathml"&&VC(qr)&&(_t="mathml"),fn||(Ui(qr,Si),K5(s,!1)))};fn&&(Ui(E,ei),K5(s,!0)),jC(s.props)?(s.el.__isMounted=!1,c0(()=>{Di(),delete s.el.__isMounted},dt)):Di()}else{if(jC(s.props)&&d.el.__isMounted===!1){c0(()=>{dI.process(d,s,E,R,K,dt,_t,zt,jt,te)},dt);return}s.el=d.el,s.targetStart=d.targetStart;const Dn=s.anchor=d.anchor,ei=s.target=d.target,Ui=s.targetAnchor=d.targetAnchor,Di=T2(d.props),qr=Di?E:ei,Si=Di?Dn:Ui;if(_t==="svg"||UC(ei)?_t="svg":(_t==="mathml"||VC(ei))&&(_t="mathml"),Qn?(Je(d.dynamicChildren,Qn,qr,K,dt,_t,zt),iM(d,s,!0)):jt||Le(d,s,qr,Si,K,dt,_t,zt,!1),fn)Di?s.props&&d.props&&s.props.to!==d.props.to&&(s.props.to=d.props.to):L5(s,E,Dn,te,1);else if((s.props&&s.props.to)!==(d.props&&d.props.to)){const jn=s.target=uA(s.props,Tr);jn&&L5(s,jn,null,te,0)}else Di&&L5(s,ei,Ui,te,1);K5(s,fn)}},remove(d,s,E,{um:R,o:{remove:K}},dt){const{shapeFlag:_t,children:zt,anchor:jt,targetStart:te,targetAnchor:se,target:Le,props:Je}=d;if(Le&&(K(te),K(se)),dt&&K(jt),_t&16){const fr=dt||!T2(Je);for(let Tr=0;Tr{d.isMounted=!0}),Im(()=>{d.isUnmounting=!0}),d}const om=[Function,Array],gI={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:om,onEnter:om,onAfterEnter:om,onEnterCancelled:om,onBeforeLeave:om,onLeave:om,onAfterLeave:om,onLeaveCancelled:om,onBeforeAppear:om,onAppear:om,onAfterAppear:om,onAppearCancelled:om},vI=d=>{const s=d.subTree;return s.component?vI(s.component):s},wY={name:"BaseTransition",props:gI,setup(d,{slots:s}){const E=j4(),R=mI();return()=>{const K=s.default&&tM(s.default(),!0);if(!K||!K.length)return;const dt=yI(K),_t=Eu(d),{mode:zt}=_t;if(R.isLeaving)return T8(dt);const jt=HC(dt);if(!jt)return T8(dt);let te=R2(jt,_t,R,E,Le=>te=Le);jt.type!==Yp&&Cy(jt,te);let se=E.subTree&&HC(E.subTree);if(se&&se.type!==Yp&&!xy(jt,se)&&vI(E).type!==Yp){let Le=R2(se,_t,R,E);if(Cy(se,Le),zt==="out-in"&&jt.type!==Yp)return R.isLeaving=!0,Le.afterLeave=()=>{R.isLeaving=!1,E.job.flags&8||E.update(),delete Le.afterLeave,se=void 0},T8(dt);zt==="in-out"&&jt.type!==Yp?Le.delayLeave=(Je,fr,Tr)=>{const wr=xI(R,se);wr[String(se.key)]=se,Je[s1]=()=>{fr(),Je[s1]=void 0,delete te.delayedLeave,se=void 0},te.delayedLeave=()=>{Tr(),delete te.delayedLeave,se=void 0}}:se=void 0}else se&&(se=void 0);return dt}}};function yI(d){let s=d[0];if(d.length>1){for(const E of d)if(E.type!==Yp){s=E;break}}return s}const kY=wY;function xI(d,s){const{leavingVNodes:E}=d;let R=E.get(s.type);return R||(R=Object.create(null),E.set(s.type,R)),R}function R2(d,s,E,R,K){const{appear:dt,mode:_t,persisted:zt=!1,onBeforeEnter:jt,onEnter:te,onAfterEnter:se,onEnterCancelled:Le,onBeforeLeave:Je,onLeave:fr,onAfterLeave:Tr,onLeaveCancelled:wr,onBeforeAppear:Vr,onAppear:fn,onAfterAppear:Dt,onAppearCancelled:cn}=s,Qn=String(d.key),Dn=xI(E,d),ei=(qr,Si)=>{qr&&Lm(qr,R,9,Si)},Ui=(qr,Si)=>{const jn=Si[1];ei(qr,Si),au(qr)?qr.every(oi=>oi.length<=1)&&jn():qr.length<=1&&jn()},Di={mode:_t,persisted:zt,beforeEnter(qr){let Si=jt;if(!E.isMounted)if(dt)Si=Vr||jt;else return;qr[s1]&&qr[s1](!0);const jn=Dn[Qn];jn&&xy(d,jn)&&jn.el[s1]&&jn.el[s1](),ei(Si,[qr])},enter(qr){let Si=te,jn=se,oi=Le;if(!E.isMounted)if(dt)Si=fn||te,jn=Dt||se,oi=cn||Le;else return;let Vn=!1;const Wn=qr[P5]=sa=>{Vn||(Vn=!0,sa?ei(oi,[qr]):ei(jn,[qr]),Di.delayedLeave&&Di.delayedLeave(),qr[P5]=void 0)};Si?Ui(Si,[qr,Wn]):Wn()},leave(qr,Si){const jn=String(d.key);if(qr[P5]&&qr[P5](!0),E.isUnmounting)return Si();ei(Je,[qr]);let oi=!1;const Vn=qr[s1]=Wn=>{oi||(oi=!0,Si(),Wn?ei(wr,[qr]):ei(Tr,[qr]),qr[s1]=void 0,Dn[jn]===d&&delete Dn[jn])};Dn[jn]=d,fr?Ui(fr,[qr,Vn]):Vn()},clone(qr){const Si=R2(qr,s,E,R,K);return K&&K(Si),Si}};return Di}function T8(d){if(F4(d))return d=_1(d),d.children=null,d}function HC(d){if(!F4(d))return fI(d.type)&&d.children?yI(d.children):d;if(d.component)return d.component.subTree;const{shapeFlag:s,children:E}=d;if(E){if(s&16)return E[0];if(s&32&&Vu(E.default))return E.default()}}function Cy(d,s){d.shapeFlag&6&&d.component?(d.transition=s,Cy(d.component.subTree,s)):d.shapeFlag&128?(d.ssContent.transition=s.clone(d.ssContent),d.ssFallback.transition=s.clone(d.ssFallback)):d.transition=s}function tM(d,s=!1,E){let R=[],K=0;for(let dt=0;dt1)for(let dt=0;dtA2(Tr,s&&(au(s)?s[wr]:s),E,R,K));return}if(h_(R)&&!K){R.shapeFlag&512&&R.type.__asyncResolved&&R.component.subTree.component&&A2(d,s,E,R.component.subTree);return}const dt=R.shapeFlag&4?U4(R.component):R.el,_t=K?null:dt,{i:zt,r:jt}=d,te=s&&s.r,se=zt.refs===mf?zt.refs={}:zt.refs,Le=zt.setupState,Je=Eu(Le),fr=Le===mf?()=>!1:Tr=>Rh(Je,Tr);if(te!=null&&te!==jt&&(ld(te)?(se[te]=null,fr(te)&&(Le[te]=null)):jd(te)&&(te.value=null)),Vu(jt))tw(jt,zt,12,[_t,se]);else{const Tr=ld(jt),wr=jd(jt);if(Tr||wr){const Vr=()=>{if(d.f){const fn=Tr?fr(jt)?Le[jt]:se[jt]:jt.value;K?au(fn)&&VA(fn,dt):au(fn)?fn.includes(dt)||fn.push(dt):Tr?(se[jt]=[dt],fr(jt)&&(Le[jt]=se[jt])):(jt.value=[dt],d.k&&(se[d.k]=jt.value))}else Tr?(se[jt]=_t,fr(jt)&&(Le[jt]=_t)):wr&&(jt.value=_t,d.k&&(se[d.k]=_t))};_t?(Vr.id=-1,c0(Vr,E)):Vr()}}}I4().requestIdleCallback;I4().cancelIdleCallback;const h_=d=>!!d.type.__asyncLoader,F4=d=>d.type.__isKeepAlive;function TY(d,s){bI(d,"a",s)}function AY(d,s){bI(d,"da",s)}function bI(d,s,E=Kp){const R=d.__wdc||(d.__wdc=()=>{let K=E;for(;K;){if(K.isDeactivated)return;K=K.parent}return d()});if(B4(s,R,E),E){let K=E.parent;for(;K&&K.parent;)F4(K.parent.vnode)&&MY(R,s,E,K),K=K.parent}}function MY(d,s,E,R){const K=B4(s,d,R,!0);Oy(()=>{VA(R[s],K)},E)}function B4(d,s,E=Kp,R=!1){if(E){const K=E[d]||(E[d]=[]),dt=s.__weh||(s.__weh=(..._t)=>{sv();const zt=rw(E),jt=Lm(s,E,d,_t);return zt(),lv(),jt});return R?K.unshift(dt):K.push(dt),dt}}const uv=d=>(s,E=Kp)=>{(!U2||d==="sp")&&B4(d,(...R)=>s(...R),E)},SY=uv("bm"),op=uv("m"),EY=uv("bu"),wI=uv("u"),Im=uv("bum"),Oy=uv("um"),CY=uv("sp"),LY=uv("rtg"),PY=uv("rtc");function zY(d,s=Kp){B4("ec",d,s)}const kI="components";function eM(d,s){return AI(kI,d,!0,s)||d}const TI=Symbol.for("v-ndc");function d4(d){return ld(d)?AI(kI,d,!1)||d:d||TI}function AI(d,s,E=!0,R=!1){const K=Op||Kp;if(K){const dt=K.type;{const zt=_K(dt,!1);if(zt&&(zt===s||zt===hm(s)||zt===z4(hm(s))))return dt}const _t=WC(K[d]||dt[d],s)||WC(K.appContext[d],s);return!_t&&R?dt:_t}}function WC(d,s){return d&&(d[s]||d[hm(s)]||d[z4(hm(s))])}function oh(d,s,E,R){let K;const dt=E,_t=au(d);if(_t||ld(d)){const zt=_t&&v1(d);let jt=!1,te=!1;zt&&(jt=!um(d),te=x1(d),d=O4(d)),K=new Array(d.length);for(let se=0,Le=d.length;ses(zt,jt,void 0,dt));else{const zt=Object.keys(d);K=new Array(zt.length);for(let jt=0,te=zt.length;jtj2(s)?!(s.type===Yp||s.type===mu&&!MI(s.children)):!0)?d:null}const cA=d=>d?qI(d)?U4(d):cA(d.parent):null,M2=ap(Object.create(null),{$:d=>d,$el:d=>d.vnode.el,$data:d=>d.data,$props:d=>d.props,$attrs:d=>d.attrs,$slots:d=>d.slots,$refs:d=>d.refs,$parent:d=>cA(d.parent),$root:d=>cA(d.root),$host:d=>d.ce,$emit:d=>d.emit,$options:d=>EI(d),$forceUpdate:d=>d.f||(d.f=()=>{JA(d.update)}),$nextTick:d=>d.n||(d.n=S0.bind(d.proxy)),$watch:d=>eK.bind(d)}),A8=(d,s)=>d!==mf&&!d.__isScriptSetup&&Rh(d,s),OY={get({_:d},s){if(s==="__v_skip")return!0;const{ctx:E,setupState:R,data:K,props:dt,accessCache:_t,type:zt,appContext:jt}=d;let te;if(s[0]!=="$"){const fr=_t[s];if(fr!==void 0)switch(fr){case 1:return R[s];case 2:return K[s];case 4:return E[s];case 3:return dt[s]}else{if(A8(R,s))return _t[s]=1,R[s];if(K!==mf&&Rh(K,s))return _t[s]=2,K[s];if((te=d.propsOptions[0])&&Rh(te,s))return _t[s]=3,dt[s];if(E!==mf&&Rh(E,s))return _t[s]=4,E[s];hA&&(_t[s]=0)}}const se=M2[s];let Le,Je;if(se)return s==="$attrs"&&Zp(d.attrs,"get",""),se(d);if((Le=zt.__cssModules)&&(Le=Le[s]))return Le;if(E!==mf&&Rh(E,s))return _t[s]=4,E[s];if(Je=jt.config.globalProperties,Rh(Je,s))return Je[s]},set({_:d},s,E){const{data:R,setupState:K,ctx:dt}=d;return A8(K,s)?(K[s]=E,!0):R!==mf&&Rh(R,s)?(R[s]=E,!0):Rh(d.props,s)||s[0]==="$"&&s.slice(1)in d?!1:(dt[s]=E,!0)},has({_:{data:d,setupState:s,accessCache:E,ctx:R,appContext:K,propsOptions:dt}},_t){let zt;return!!E[_t]||d!==mf&&Rh(d,_t)||A8(s,_t)||(zt=dt[0])&&Rh(zt,_t)||Rh(R,_t)||Rh(M2,_t)||Rh(K.config.globalProperties,_t)},defineProperty(d,s,E){return E.get!=null?d._.accessCache[s]=0:Rh(E,"value")&&this.set(d,s,E.value,null),Reflect.defineProperty(d,s,E)}};function qC(d){return au(d)?d.reduce((s,E)=>(s[E]=null,s),{}):d}let hA=!0;function DY(d){const s=EI(d),E=d.proxy,R=d.ctx;hA=!1,s.beforeCreate&&$C(s.beforeCreate,d,"bc");const{data:K,computed:dt,methods:_t,watch:zt,provide:jt,inject:te,created:se,beforeMount:Le,mounted:Je,beforeUpdate:fr,updated:Tr,activated:wr,deactivated:Vr,beforeDestroy:fn,beforeUnmount:Dt,destroyed:cn,unmounted:Qn,render:Dn,renderTracked:ei,renderTriggered:Ui,errorCaptured:Di,serverPrefetch:qr,expose:Si,inheritAttrs:jn,components:oi,directives:Vn,filters:Wn}=s;if(te&&FY(te,R,null),_t)for(const hi in _t){const va=_t[hi];Vu(va)&&(R[hi]=va.bind(E))}if(K){const hi=K.call(E,E);gf(hi)&&(d.data=Ey(hi))}if(hA=!0,dt)for(const hi in dt){const va=dt[hi],qo=Vu(va)?va.bind(E,E):Vu(va.get)?va.get.bind(E,E):mg,qa=!Vu(va)&&Vu(va.set)?va.set.bind(E):mg,io=Wo({get:qo,set:qa});Object.defineProperty(R,hi,{enumerable:!0,configurable:!0,get:()=>io.value,set:Rs=>io.value=Rs})}if(zt)for(const hi in zt)SI(zt[hi],R,E,hi);if(jt){const hi=Vu(jt)?jt.call(E):jt;Reflect.ownKeys(hi).forEach(va=>{X5(va,hi[va])})}se&&$C(se,d,"c");function wi(hi,va){au(va)?va.forEach(qo=>hi(qo.bind(E))):va&&hi(va.bind(E))}if(wi(SY,Le),wi(op,Je),wi(EY,fr),wi(wI,Tr),wi(TY,wr),wi(AY,Vr),wi(zY,Di),wi(PY,ei),wi(LY,Ui),wi(Im,Dt),wi(Oy,Qn),wi(CY,qr),au(Si))if(Si.length){const hi=d.exposed||(d.exposed={});Si.forEach(va=>{Object.defineProperty(hi,va,{get:()=>E[va],set:qo=>E[va]=qo,enumerable:!0})})}else d.exposed||(d.exposed={});Dn&&d.render===mg&&(d.render=Dn),jn!=null&&(d.inheritAttrs=jn),oi&&(d.components=oi),Vn&&(d.directives=Vn),qr&&_I(d)}function FY(d,s,E=mg){au(d)&&(d=fA(d));for(const R in d){const K=d[R];let dt;gf(K)?"default"in K?dt=cm(K.from||R,K.default,!0):dt=cm(K.from||R):dt=cm(K),jd(dt)?Object.defineProperty(s,R,{enumerable:!0,configurable:!0,get:()=>dt.value,set:_t=>dt.value=_t}):s[R]=dt}}function $C(d,s,E){Lm(au(d)?d.map(R=>R.bind(s.proxy)):d.bind(s.proxy),s,E)}function SI(d,s,E,R){let K=R.includes(".")?jI(E,R):()=>E[R];if(ld(d)){const dt=s[d];Vu(dt)&&Em(K,dt)}else if(Vu(d))Em(K,d.bind(E));else if(gf(d))if(au(d))d.forEach(dt=>SI(dt,s,E,R));else{const dt=Vu(d.handler)?d.handler.bind(E):s[d.handler];Vu(dt)&&Em(K,dt,d)}}function EI(d){const s=d.type,{mixins:E,extends:R}=s,{mixins:K,optionsCache:dt,config:{optionMergeStrategies:_t}}=d.appContext,zt=dt.get(s);let jt;return zt?jt=zt:!K.length&&!E&&!R?jt=s:(jt={},K.length&&K.forEach(te=>p4(jt,te,_t,!0)),p4(jt,s,_t)),gf(s)&&dt.set(s,jt),jt}function p4(d,s,E,R=!1){const{mixins:K,extends:dt}=s;dt&&p4(d,dt,E,!0),K&&K.forEach(_t=>p4(d,_t,E,!0));for(const _t in s)if(!(R&&_t==="expose")){const zt=BY[_t]||E&&E[_t];d[_t]=zt?zt(d[_t],s[_t]):s[_t]}return d}const BY={data:ZC,props:GC,emits:GC,methods:g2,computed:g2,beforeCreate:u0,created:u0,beforeMount:u0,mounted:u0,beforeUpdate:u0,updated:u0,beforeDestroy:u0,beforeUnmount:u0,destroyed:u0,unmounted:u0,activated:u0,deactivated:u0,errorCaptured:u0,serverPrefetch:u0,components:g2,directives:g2,watch:NY,provide:ZC,inject:RY};function ZC(d,s){return s?d?function(){return ap(Vu(d)?d.call(this,this):d,Vu(s)?s.call(this,this):s)}:s:d}function RY(d,s){return g2(fA(d),fA(s))}function fA(d){if(au(d)){const s={};for(let E=0;E1)return E&&Vu(s)?s.call(R&&R.proxy):s}}function VY(){return!!(j4()||Ay)}const LI={},PI=()=>Object.create(LI),zI=d=>Object.getPrototypeOf(d)===LI;function HY(d,s,E,R=!1){const K={},dt=PI();d.propsDefaults=Object.create(null),II(d,s,K,dt);for(const _t in d.propsOptions[0])_t in K||(K[_t]=void 0);E?d.props=R?K:rI(K):d.type.props?d.props=K:d.props=dt,d.attrs=dt}function WY(d,s,E,R){const{props:K,attrs:dt,vnode:{patchFlag:_t}}=d,zt=Eu(K),[jt]=d.propsOptions;let te=!1;if((R||_t>0)&&!(_t&16)){if(_t&8){const se=d.vnode.dynamicProps;for(let Le=0;Le{jt=!0;const[Je,fr]=OI(Le,s,!0);ap(_t,Je),fr&&zt.push(...fr)};!E&&s.mixins.length&&s.mixins.forEach(se),d.extends&&se(d.extends),d.mixins&&d.mixins.forEach(se)}if(!dt&&!jt)return gf(d)&&R.set(d,l_),l_;if(au(dt))for(let se=0;sed==="_"||d==="__"||d==="_ctx"||d==="$stable",nM=d=>au(d)?d.map(hg):[hg(d)],$Y=(d,s,E)=>{if(s._n)return s;const R=ew((...K)=>nM(s(...K)),E);return R._c=!1,R},DI=(d,s,E)=>{const R=d._ctx;for(const K in d){if(rM(K))continue;const dt=d[K];if(Vu(dt))s[K]=$Y(K,dt,R);else if(dt!=null){const _t=nM(dt);s[K]=()=>_t}}},FI=(d,s)=>{const E=nM(s);d.slots.default=()=>E},BI=(d,s,E)=>{for(const R in s)(E||!rM(R))&&(d[R]=s[R])},ZY=(d,s,E)=>{const R=d.slots=PI();if(d.vnode.shapeFlag&32){const K=s.__;K&&aA(R,"__",K,!0);const dt=s._;dt?(BI(R,s,E),E&&aA(R,"_",dt,!0)):DI(s,R)}else s&&FI(d,s)},GY=(d,s,E)=>{const{vnode:R,slots:K}=d;let dt=!0,_t=mf;if(R.shapeFlag&32){const zt=s._;zt?E&&zt===1?dt=!1:BI(K,s,E):(dt=!s.$stable,DI(s,K)),_t=s}else s&&(FI(d,s),_t={default:1});if(dt)for(const zt in K)!rM(zt)&&_t[zt]==null&&delete K[zt]},c0=lK;function YY(d){return KY(d)}function KY(d,s){const E=I4();E.__VUE__=!0;const{insert:R,remove:K,patchProp:dt,createElement:_t,createText:zt,createComment:jt,setText:te,setElementText:se,parentNode:Le,nextSibling:Je,setScopeId:fr=mg,insertStaticContent:Tr}=d,wr=(mi,Ai,fi,po=null,To=null,wo=null,ps=void 0,ys=null,is=!!Ai.dynamicChildren)=>{if(mi===Ai)return;mi&&!xy(mi,Ai)&&(po=fa(mi),Rs(mi,To,wo,!0),mi=null),Ai.patchFlag===-2&&(is=!1,Ai.dynamicChildren=null);const{type:Go,ref:El,shapeFlag:Ns}=Ai;switch(Go){case N4:Vr(mi,Ai,fi,po);break;case Yp:fn(mi,Ai,fi,po);break;case J5:mi==null&&Dt(Ai,fi,po,ps);break;case mu:oi(mi,Ai,fi,po,To,wo,ps,ys,is);break;default:Ns&1?Dn(mi,Ai,fi,po,To,wo,ps,ys,is):Ns&6?Vn(mi,Ai,fi,po,To,wo,ps,ys,is):(Ns&64||Ns&128)&&Go.process(mi,Ai,fi,po,To,wo,ps,ys,is,Qo)}El!=null&&To?A2(El,mi&&mi.ref,wo,Ai||mi,!Ai):El==null&&mi&&mi.ref!=null&&A2(mi.ref,null,wo,mi,!0)},Vr=(mi,Ai,fi,po)=>{if(mi==null)R(Ai.el=zt(Ai.children),fi,po);else{const To=Ai.el=mi.el;Ai.children!==mi.children&&te(To,Ai.children)}},fn=(mi,Ai,fi,po)=>{mi==null?R(Ai.el=jt(Ai.children||""),fi,po):Ai.el=mi.el},Dt=(mi,Ai,fi,po)=>{[mi.el,mi.anchor]=Tr(mi.children,Ai,fi,po,mi.el,mi.anchor)},cn=({el:mi,anchor:Ai},fi,po)=>{let To;for(;mi&&mi!==Ai;)To=Je(mi),R(mi,fi,po),mi=To;R(Ai,fi,po)},Qn=({el:mi,anchor:Ai})=>{let fi;for(;mi&&mi!==Ai;)fi=Je(mi),K(mi),mi=fi;K(Ai)},Dn=(mi,Ai,fi,po,To,wo,ps,ys,is)=>{Ai.type==="svg"?ps="svg":Ai.type==="math"&&(ps="mathml"),mi==null?ei(Ai,fi,po,To,wo,ps,ys,is):qr(mi,Ai,To,wo,ps,ys,is)},ei=(mi,Ai,fi,po,To,wo,ps,ys)=>{let is,Go;const{props:El,shapeFlag:Ns,transition:Nl,dirs:yu}=mi;if(is=mi.el=_t(mi.type,wo,El&&El.is,El),Ns&8?se(is,mi.children):Ns&16&&Di(mi.children,is,null,po,To,M8(mi,wo),ps,ys),yu&&sy(mi,null,po,"created"),Ui(is,mi,mi.scopeId,ps,po),El){for(const ph in El)ph!=="value"&&!b2(ph)&&dt(is,ph,null,El[ph],wo,po);"value"in El&&dt(is,"value",null,El.value,wo),(Go=El.onVnodeBeforeMount)&&ig(Go,po,mi)}yu&&sy(mi,null,po,"beforeMount");const tc=XY(To,Nl);tc&&Nl.beforeEnter(is),R(is,Ai,fi),((Go=El&&El.onVnodeMounted)||tc||yu)&&c0(()=>{Go&&ig(Go,po,mi),tc&&Nl.enter(is),yu&&sy(mi,null,po,"mounted")},To)},Ui=(mi,Ai,fi,po,To)=>{if(fi&&fr(mi,fi),po)for(let wo=0;wo{for(let Go=is;Go{const ys=Ai.el=mi.el;let{patchFlag:is,dynamicChildren:Go,dirs:El}=Ai;is|=mi.patchFlag&16;const Ns=mi.props||mf,Nl=Ai.props||mf;let yu;if(fi&&ly(fi,!1),(yu=Nl.onVnodeBeforeUpdate)&&ig(yu,fi,Ai,mi),El&&sy(Ai,mi,fi,"beforeUpdate"),fi&&ly(fi,!0),(Ns.innerHTML&&Nl.innerHTML==null||Ns.textContent&&Nl.textContent==null)&&se(ys,""),Go?Si(mi.dynamicChildren,Go,ys,fi,po,M8(Ai,To),wo):ps||va(mi,Ai,ys,null,fi,po,M8(Ai,To),wo,!1),is>0){if(is&16)jn(ys,Ns,Nl,fi,To);else if(is&2&&Ns.class!==Nl.class&&dt(ys,"class",null,Nl.class,To),is&4&&dt(ys,"style",Ns.style,Nl.style,To),is&8){const tc=Ai.dynamicProps;for(let ph=0;ph{yu&&ig(yu,fi,Ai,mi),El&&sy(Ai,mi,fi,"updated")},po)},Si=(mi,Ai,fi,po,To,wo,ps)=>{for(let ys=0;ys{if(Ai!==fi){if(Ai!==mf)for(const wo in Ai)!b2(wo)&&!(wo in fi)&&dt(mi,wo,Ai[wo],null,To,po);for(const wo in fi){if(b2(wo))continue;const ps=fi[wo],ys=Ai[wo];ps!==ys&&wo!=="value"&&dt(mi,wo,ys,ps,To,po)}"value"in fi&&dt(mi,"value",Ai.value,fi.value,To)}},oi=(mi,Ai,fi,po,To,wo,ps,ys,is)=>{const Go=Ai.el=mi?mi.el:zt(""),El=Ai.anchor=mi?mi.anchor:zt("");let{patchFlag:Ns,dynamicChildren:Nl,slotScopeIds:yu}=Ai;yu&&(ys=ys?ys.concat(yu):yu),mi==null?(R(Go,fi,po),R(El,fi,po),Di(Ai.children||[],fi,El,To,wo,ps,ys,is)):Ns>0&&Ns&64&&Nl&&mi.dynamicChildren?(Si(mi.dynamicChildren,Nl,fi,To,wo,ps,ys),(Ai.key!=null||To&&Ai===To.subTree)&&iM(mi,Ai,!0)):va(mi,Ai,fi,El,To,wo,ps,ys,is)},Vn=(mi,Ai,fi,po,To,wo,ps,ys,is)=>{Ai.slotScopeIds=ys,mi==null?Ai.shapeFlag&512?To.ctx.activate(Ai,fi,po,ps,is):Wn(Ai,fi,po,To,wo,ps,is):sa(mi,Ai,is)},Wn=(mi,Ai,fi,po,To,wo,ps)=>{const ys=mi.component=mK(mi,po,To);if(F4(mi)&&(ys.ctx.renderer=Qo),gK(ys,!1,ps),ys.asyncDep){if(To&&To.registerDep(ys,wi,ps),!mi.el){const is=ys.subTree=Tl(Yp);fn(null,is,Ai,fi),mi.placeholder=is.el}}else wi(ys,mi,Ai,fi,To,wo,ps)},sa=(mi,Ai,fi)=>{const po=Ai.component=mi.component;if(oK(mi,Ai,fi))if(po.asyncDep&&!po.asyncResolved){hi(po,Ai,fi);return}else po.next=Ai,po.update();else Ai.el=mi.el,po.vnode=Ai},wi=(mi,Ai,fi,po,To,wo,ps)=>{const ys=()=>{if(mi.isMounted){let{next:Ns,bu:Nl,u:yu,parent:tc,vnode:ph}=mi;{const d0=RI(mi);if(d0){Ns&&(Ns.el=ph.el,hi(mi,Ns,ps)),d0.asyncDep.then(()=>{mi.isUnmounted||ys()});return}}let Fc=Ns,sp;ly(mi,!1),Ns?(Ns.el=ph.el,hi(mi,Ns,ps)):Ns=ph,Nl&&Y5(Nl),(sp=Ns.props&&Ns.props.onVnodeBeforeUpdate)&&ig(sp,tc,Ns,ph),ly(mi,!0);const Kd=XC(mi),e0=mi.subTree;mi.subTree=Kd,wr(e0,Kd,Le(e0.el),fa(e0),mi,To,wo),Ns.el=Kd.el,Fc===null&&sK(mi,Kd.el),yu&&c0(yu,To),(sp=Ns.props&&Ns.props.onVnodeUpdated)&&c0(()=>ig(sp,tc,Ns,ph),To)}else{let Ns;const{el:Nl,props:yu}=Ai,{bm:tc,m:ph,parent:Fc,root:sp,type:Kd}=mi,e0=h_(Ai);ly(mi,!1),tc&&Y5(tc),!e0&&(Ns=yu&&yu.onVnodeBeforeMount)&&ig(Ns,Fc,Ai),ly(mi,!0);{sp.ce&&sp.ce._def.shadowRoot!==!1&&sp.ce._injectChildStyle(Kd);const d0=mi.subTree=XC(mi);wr(null,d0,fi,po,mi,To,wo),Ai.el=d0.el}if(ph&&c0(ph,To),!e0&&(Ns=yu&&yu.onVnodeMounted)){const d0=Ai;c0(()=>ig(Ns,Fc,d0),To)}(Ai.shapeFlag&256||Fc&&h_(Fc.vnode)&&Fc.vnode.shapeFlag&256)&&mi.a&&c0(mi.a,To),mi.isMounted=!0,Ai=fi=po=null}};mi.scope.on();const is=mi.effect=new Vz(ys);mi.scope.off();const Go=mi.update=is.run.bind(is),El=mi.job=is.runIfDirty.bind(is);El.i=mi,El.id=mi.uid,is.scheduler=()=>JA(El),ly(mi,!0),Go()},hi=(mi,Ai,fi)=>{Ai.component=mi;const po=mi.vnode.props;mi.vnode=Ai,mi.next=null,WY(mi,Ai.props,po,fi),GY(mi,Ai.children,fi),sv(),NC(mi),lv()},va=(mi,Ai,fi,po,To,wo,ps,ys,is=!1)=>{const Go=mi&&mi.children,El=mi?mi.shapeFlag:0,Ns=Ai.children,{patchFlag:Nl,shapeFlag:yu}=Ai;if(Nl>0){if(Nl&128){qa(Go,Ns,fi,po,To,wo,ps,ys,is);return}else if(Nl&256){qo(Go,Ns,fi,po,To,wo,ps,ys,is);return}}yu&8?(El&16&&La(Go,To,wo),Ns!==Go&&se(fi,Ns)):El&16?yu&16?qa(Go,Ns,fi,po,To,wo,ps,ys,is):La(Go,To,wo,!0):(El&8&&se(fi,""),yu&16&&Di(Ns,fi,po,To,wo,ps,ys,is))},qo=(mi,Ai,fi,po,To,wo,ps,ys,is)=>{mi=mi||l_,Ai=Ai||l_;const Go=mi.length,El=Ai.length,Ns=Math.min(Go,El);let Nl;for(Nl=0;NlEl?La(mi,To,wo,!0,!1,Ns):Di(Ai,fi,po,To,wo,ps,ys,is,Ns)},qa=(mi,Ai,fi,po,To,wo,ps,ys,is)=>{let Go=0;const El=Ai.length;let Ns=mi.length-1,Nl=El-1;for(;Go<=Ns&&Go<=Nl;){const yu=mi[Go],tc=Ai[Go]=is?l1(Ai[Go]):hg(Ai[Go]);if(xy(yu,tc))wr(yu,tc,fi,null,To,wo,ps,ys,is);else break;Go++}for(;Go<=Ns&&Go<=Nl;){const yu=mi[Ns],tc=Ai[Nl]=is?l1(Ai[Nl]):hg(Ai[Nl]);if(xy(yu,tc))wr(yu,tc,fi,null,To,wo,ps,ys,is);else break;Ns--,Nl--}if(Go>Ns){if(Go<=Nl){const yu=Nl+1,tc=yuNl)for(;Go<=Ns;)Rs(mi[Go],To,wo,!0),Go++;else{const yu=Go,tc=Go,ph=new Map;for(Go=tc;Go<=Nl;Go++){const lp=Ai[Go]=is?l1(Ai[Go]):hg(Ai[Go]);lp.key!=null&&ph.set(lp.key,Go)}let Fc,sp=0;const Kd=Nl-tc+1;let e0=!1,d0=0;const Fm=new Array(Kd);for(Go=0;Go=Kd){Rs(lp,To,wo,!0);continue}let p0;if(lp.key!=null)p0=ph.get(lp.key);else for(Fc=tc;Fc<=Nl;Fc++)if(Fm[Fc-tc]===0&&xy(lp,Ai[Fc])){p0=Fc;break}p0===void 0?Rs(lp,To,wo,!0):(Fm[p0-tc]=Go+1,p0>=d0?d0=p0:e0=!0,wr(lp,Ai[p0],fi,null,To,wo,ps,ys,is),sp++)}const hv=e0?JY(Fm):l_;for(Fc=hv.length-1,Go=Kd-1;Go>=0;Go--){const lp=tc+Go,p0=Ai[lp],Bm=Ai[lp+1],Ry=lp+1{const{el:wo,type:ps,transition:ys,children:is,shapeFlag:Go}=mi;if(Go&6){io(mi.component.subTree,Ai,fi,po);return}if(Go&128){mi.suspense.move(Ai,fi,po);return}if(Go&64){ps.move(mi,Ai,fi,Qo);return}if(ps===mu){R(wo,Ai,fi);for(let Ns=0;Nsys.enter(wo),To);else{const{leave:Ns,delayLeave:Nl,afterLeave:yu}=ys,tc=()=>{mi.ctx.isUnmounted?K(wo):R(wo,Ai,fi)},ph=()=>{Ns(wo,()=>{tc(),yu&&yu()})};Nl?Nl(wo,tc,ph):ph()}else R(wo,Ai,fi)},Rs=(mi,Ai,fi,po=!1,To=!1)=>{const{type:wo,props:ps,ref:ys,children:is,dynamicChildren:Go,shapeFlag:El,patchFlag:Ns,dirs:Nl,cacheIndex:yu}=mi;if(Ns===-2&&(To=!1),ys!=null&&(sv(),A2(ys,null,fi,mi,!0),lv()),yu!=null&&(Ai.renderCache[yu]=void 0),El&256){Ai.ctx.deactivate(mi);return}const tc=El&1&&Nl,ph=!h_(mi);let Fc;if(ph&&(Fc=ps&&ps.onVnodeBeforeUnmount)&&ig(Fc,Ai,mi),El&6)Ka(mi.component,fi,po);else{if(El&128){mi.suspense.unmount(fi,po);return}tc&&sy(mi,null,Ai,"beforeUnmount"),El&64?mi.type.remove(mi,Ai,fi,Qo,po):Go&&!Go.hasOnce&&(wo!==mu||Ns>0&&Ns&64)?La(Go,Ai,fi,!1,!0):(wo===mu&&Ns&384||!To&&El&16)&&La(is,Ai,fi),po&&Rl(mi)}(ph&&(Fc=ps&&ps.onVnodeUnmounted)||tc)&&c0(()=>{Fc&&ig(Fc,Ai,mi),tc&&sy(mi,null,Ai,"unmounted")},fi)},Rl=mi=>{const{type:Ai,el:fi,anchor:po,transition:To}=mi;if(Ai===mu){No(fi,po);return}if(Ai===J5){Qn(mi);return}const wo=()=>{K(fi),To&&!To.persisted&&To.afterLeave&&To.afterLeave()};if(mi.shapeFlag&1&&To&&!To.persisted){const{leave:ps,delayLeave:ys}=To,is=()=>ps(fi,wo);ys?ys(mi.el,wo,is):is()}else wo()},No=(mi,Ai)=>{let fi;for(;mi!==Ai;)fi=Je(mi),K(mi),mi=fi;K(Ai)},Ka=(mi,Ai,fi)=>{const{bum:po,scope:To,job:wo,subTree:ps,um:ys,m:is,a:Go,parent:El,slots:{__:Ns}}=mi;KC(is),KC(Go),po&&Y5(po),El&&au(Ns)&&Ns.forEach(Nl=>{El.renderCache[Nl]=void 0}),To.stop(),wo&&(wo.flags|=8,Rs(ps,mi,Ai,fi)),ys&&c0(ys,Ai),c0(()=>{mi.isUnmounted=!0},Ai),Ai&&Ai.pendingBranch&&!Ai.isUnmounted&&mi.asyncDep&&!mi.asyncResolved&&mi.suspenseId===Ai.pendingId&&(Ai.deps--,Ai.deps===0&&Ai.resolve())},La=(mi,Ai,fi,po=!1,To=!1,wo=0)=>{for(let ps=wo;ps{if(mi.shapeFlag&6)return fa(mi.component.subTree);if(mi.shapeFlag&128)return mi.suspense.next();const Ai=Je(mi.anchor||mi.el),fi=Ai&&Ai[hI];return fi?Je(fi):Ai};let so=!1;const go=(mi,Ai,fi)=>{mi==null?Ai._vnode&&Rs(Ai._vnode,null,null,!0):wr(Ai._vnode||null,mi,Ai,null,null,null,fi),Ai._vnode=mi,so||(so=!0,NC(),lI(),so=!1)},Qo={p:wr,um:Rs,m:io,r:Rl,mt:Wn,mc:Di,pc:va,pbc:Si,n:fa,o:d};return{render:go,hydrate:void 0,createApp:UY(go)}}function M8({type:d,props:s},E){return E==="svg"&&d==="foreignObject"||E==="mathml"&&d==="annotation-xml"&&s&&s.encoding&&s.encoding.includes("html")?void 0:E}function ly({effect:d,job:s},E){E?(d.flags|=32,s.flags|=4):(d.flags&=-33,s.flags&=-5)}function XY(d,s){return(!d||d&&!d.pendingBranch)&&s&&!s.persisted}function iM(d,s,E=!1){const R=d.children,K=s.children;if(au(R)&&au(K))for(let dt=0;dt>1,d[E[zt]]0&&(s[R]=E[dt-1]),E[dt]=R)}}for(dt=E.length,_t=E[dt-1];dt-- >0;)E[dt]=_t,_t=s[_t];return E}function RI(d){const s=d.subTree.component;if(s)return s.asyncDep&&!s.asyncResolved?s:RI(s)}function KC(d){if(d)for(let s=0;scm(QY);function Em(d,s,E){return NI(d,s,E)}function NI(d,s,E=mf){const{immediate:R,deep:K,flush:dt,once:_t}=E,zt=ap({},E),jt=s&&R||!s&&dt!=="post";let te;if(U2){if(dt==="sync"){const fr=tK();te=fr.__watcherHandles||(fr.__watcherHandles=[])}else if(!jt){const fr=()=>{};return fr.stop=mg,fr.resume=mg,fr.pause=mg,fr}}const se=Kp;zt.call=(fr,Tr,wr)=>Lm(fr,se,Tr,wr);let Le=!1;dt==="post"?zt.scheduler=fr=>{c0(fr,se&&se.suspense)}:dt!=="sync"&&(Le=!0,zt.scheduler=(fr,Tr)=>{Tr?fr():JA(fr)}),zt.augmentJob=fr=>{s&&(fr.flags|=4),Le&&(fr.flags|=2,se&&(fr.id=se.uid,fr.i=se))};const Je=vY(d,s,zt);return U2&&(te?te.push(Je):jt&&Je()),Je}function eK(d,s,E){const R=this.proxy,K=ld(d)?d.includes(".")?jI(R,d):()=>R[d]:d.bind(R,R);let dt;Vu(s)?dt=s:(dt=s.handler,E=s);const _t=rw(this),zt=NI(K,dt.bind(R),E);return _t(),zt}function jI(d,s){const E=s.split(".");return()=>{let R=d;for(let K=0;Ks==="modelValue"||s==="model-value"?d.modelModifiers:d[`${s}Modifiers`]||d[`${hm(s)}Modifiers`]||d[`${Iy(s)}Modifiers`];function nK(d,s,...E){if(d.isUnmounted)return;const R=d.vnode.props||mf;let K=E;const dt=s.startsWith("update:"),_t=dt&&rK(R,s.slice(7));_t&&(_t.trim&&(K=E.map(se=>ld(se)?se.trim():se)),_t.number&&(K=E.map(s4)));let zt,jt=R[zt=x8(s)]||R[zt=x8(hm(s))];!jt&&dt&&(jt=R[zt=x8(Iy(s))]),jt&&Lm(jt,d,6,K);const te=R[zt+"Once"];if(te){if(!d.emitted)d.emitted={};else if(d.emitted[zt])return;d.emitted[zt]=!0,Lm(te,d,6,K)}}function UI(d,s,E=!1){const R=s.emitsCache,K=R.get(d);if(K!==void 0)return K;const dt=d.emits;let _t={},zt=!1;if(!Vu(d)){const jt=te=>{const se=UI(te,s,!0);se&&(zt=!0,ap(_t,se))};!E&&s.mixins.length&&s.mixins.forEach(jt),d.extends&&jt(d.extends),d.mixins&&d.mixins.forEach(jt)}return!dt&&!zt?(gf(d)&&R.set(d,null),null):(au(dt)?dt.forEach(jt=>_t[jt]=null):ap(_t,dt),gf(d)&&R.set(d,_t),_t)}function R4(d,s){return!d||!C4(s)?!1:(s=s.slice(2).replace(/Once$/,""),Rh(d,s[0].toLowerCase()+s.slice(1))||Rh(d,Iy(s))||Rh(d,s))}function XC(d){const{type:s,vnode:E,proxy:R,withProxy:K,propsOptions:[dt],slots:_t,attrs:zt,emit:jt,render:te,renderCache:se,props:Le,data:Je,setupState:fr,ctx:Tr,inheritAttrs:wr}=d,Vr=f4(d);let fn,Dt;try{if(E.shapeFlag&4){const Qn=K||R,Dn=Qn;fn=hg(te.call(Dn,Qn,se,Le,fr,Je,Tr)),Dt=zt}else{const Qn=s;fn=hg(Qn.length>1?Qn(Le,{attrs:zt,slots:_t,emit:jt}):Qn(Le,null)),Dt=s.props?zt:iK(zt)}}catch(Qn){S2.length=0,D4(Qn,d,1),fn=Tl(Yp)}let cn=fn;if(Dt&&wr!==!1){const Qn=Object.keys(Dt),{shapeFlag:Dn}=cn;Qn.length&&Dn&7&&(dt&&Qn.some(UA)&&(Dt=aK(Dt,dt)),cn=_1(cn,Dt,!1,!0))}return E.dirs&&(cn=_1(cn,null,!1,!0),cn.dirs=cn.dirs?cn.dirs.concat(E.dirs):E.dirs),E.transition&&Cy(cn,E.transition),fn=cn,f4(Vr),fn}const iK=d=>{let s;for(const E in d)(E==="class"||E==="style"||C4(E))&&((s||(s={}))[E]=d[E]);return s},aK=(d,s)=>{const E={};for(const R in d)(!UA(R)||!(R.slice(9)in s))&&(E[R]=d[R]);return E};function oK(d,s,E){const{props:R,children:K,component:dt}=d,{props:_t,children:zt,patchFlag:jt}=s,te=dt.emitsOptions;if(s.dirs||s.transition)return!0;if(E&&jt>=0){if(jt&1024)return!0;if(jt&16)return R?JC(R,_t,te):!!_t;if(jt&8){const se=s.dynamicProps;for(let Le=0;Led.__isSuspense;function lK(d,s){s&&s.pendingBranch?au(d)?s.effects.push(...d):s.effects.push(d):_Y(d)}const mu=Symbol.for("v-fgt"),N4=Symbol.for("v-txt"),Yp=Symbol.for("v-cmt"),J5=Symbol.for("v-stc"),S2=[];let Z0=null;function ui(d=!1){S2.push(Z0=d?null:[])}function uK(){S2.pop(),Z0=S2[S2.length-1]||null}let N2=1;function QC(d,s=!1){N2+=d,d<0&&Z0&&s&&(Z0.hasOnce=!0)}function HI(d){return d.dynamicChildren=N2>0?Z0||l_:null,uK(),N2>0&&Z0&&Z0.push(d),d}function vi(d,s,E,R,K,dt){return HI(fe(d,s,E,R,K,dt,!0))}function Y0(d,s,E,R,K){return HI(Tl(d,s,E,R,K,!0))}function j2(d){return d?d.__v_isVNode===!0:!1}function xy(d,s){return d.type===s.type&&d.key===s.key}const WI=({key:d})=>d??null,Q5=({ref:d,ref_key:s,ref_for:E})=>(typeof d=="number"&&(d=""+d),d!=null?ld(d)||jd(d)||Vu(d)?{i:Op,r:d,k:s,f:!!E}:d:null);function fe(d,s=null,E=null,R=0,K=null,dt=d===mu?0:1,_t=!1,zt=!1){const jt={__v_isVNode:!0,__v_skip:!0,type:d,props:s,key:s&&WI(s),ref:s&&Q5(s),scopeId:cI,slotScopeIds:null,children:E,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:dt,patchFlag:R,dynamicProps:K,dynamicChildren:null,appContext:null,ctx:Op};return zt?(aM(jt,E),dt&128&&d.normalize(jt)):E&&(jt.shapeFlag|=ld(E)?8:16),N2>0&&!_t&&Z0&&(jt.patchFlag>0||dt&6)&&jt.patchFlag!==32&&Z0.push(jt),jt}const Tl=cK;function cK(d,s=null,E=null,R=0,K=null,dt=!1){if((!d||d===TI)&&(d=Yp),j2(d)){const zt=_1(d,s,!0);return E&&aM(zt,E),N2>0&&!dt&&Z0&&(zt.shapeFlag&6?Z0[Z0.indexOf(d)]=zt:Z0.push(zt)),zt.patchFlag=-2,zt}if(bK(d)&&(d=d.__vccOpts),s){s=hK(s);let{class:zt,style:jt}=s;zt&&!ld(zt)&&(s.class=Co(zt)),gf(jt)&&(KA(jt)&&!au(jt)&&(jt=ap({},jt)),s.style=G0(jt))}const _t=ld(d)?1:VI(d)?128:fI(d)?64:gf(d)?4:Vu(d)?2:0;return fe(d,s,E,R,K,_t,dt,!0)}function hK(d){return d?KA(d)||zI(d)?ap({},d):d:null}function _1(d,s,E=!1,R=!1){const{props:K,ref:dt,patchFlag:_t,children:zt,transition:jt}=d,te=s?fK(K||{},s):K,se={__v_isVNode:!0,__v_skip:!0,type:d.type,props:te,key:te&&WI(te),ref:s&&s.ref?E&&dt?au(dt)?dt.concat(Q5(s)):[dt,Q5(s)]:Q5(s):dt,scopeId:d.scopeId,slotScopeIds:d.slotScopeIds,children:zt,target:d.target,targetStart:d.targetStart,targetAnchor:d.targetAnchor,staticCount:d.staticCount,shapeFlag:d.shapeFlag,patchFlag:s&&d.type!==mu?_t===-1?16:_t|16:_t,dynamicProps:d.dynamicProps,dynamicChildren:d.dynamicChildren,appContext:d.appContext,dirs:d.dirs,transition:jt,component:d.component,suspense:d.suspense,ssContent:d.ssContent&&_1(d.ssContent),ssFallback:d.ssFallback&&_1(d.ssFallback),placeholder:d.placeholder,el:d.el,anchor:d.anchor,ctx:d.ctx,ce:d.ce};return jt&&R&&Cy(se,jt.clone(se)),se}function Zu(d=" ",s=0){return Tl(N4,null,d,s)}function Ff(d,s){const E=Tl(J5,null,d);return E.staticCount=s,E}function Fo(d="",s=!1){return s?(ui(),Y0(Yp,null,d)):Tl(Yp,null,d)}function hg(d){return d==null||typeof d=="boolean"?Tl(Yp):au(d)?Tl(mu,null,d.slice()):j2(d)?l1(d):Tl(N4,null,String(d))}function l1(d){return d.el===null&&d.patchFlag!==-1||d.memo?d:_1(d)}function aM(d,s){let E=0;const{shapeFlag:R}=d;if(s==null)s=null;else if(au(s))E=16;else if(typeof s=="object")if(R&65){const K=s.default;K&&(K._c&&(K._d=!1),aM(d,K()),K._c&&(K._d=!0));return}else{E=32;const K=s._;!K&&!zI(s)?s._ctx=Op:K===3&&Op&&(Op.slots._===1?s._=1:(s._=2,d.patchFlag|=1024))}else Vu(s)?(s={default:s,_ctx:Op},E=32):(s=String(s),R&64?(E=16,s=[Zu(s)]):E=8);d.children=s,d.shapeFlag|=E}function fK(...d){const s={};for(let E=0;EKp||Op;let m4,pA;{const d=I4(),s=(E,R)=>{let K;return(K=d[E])||(K=d[E]=[]),K.push(R),dt=>{K.length>1?K.forEach(_t=>_t(dt)):K[0](dt)}};m4=s("__VUE_INSTANCE_SETTERS__",E=>Kp=E),pA=s("__VUE_SSR_SETTERS__",E=>U2=E)}const rw=d=>{const s=Kp;return m4(d),d.scope.on(),()=>{d.scope.off(),m4(s)}},tL=()=>{Kp&&Kp.scope.off(),m4(null)};function qI(d){return d.vnode.shapeFlag&4}let U2=!1;function gK(d,s=!1,E=!1){s&&pA(s);const{props:R,children:K}=d.vnode,dt=qI(d);HY(d,R,dt,s),ZY(d,K,E||s);const _t=dt?vK(d,s):void 0;return s&&pA(!1),_t}function vK(d,s){const E=d.type;d.accessCache=Object.create(null),d.proxy=new Proxy(d.ctx,OY);const{setup:R}=E;if(R){sv();const K=d.setupContext=R.length>1?xK(d):null,dt=rw(d),_t=tw(R,d,0,[d.props,K]),zt=Iz(_t);if(lv(),dt(),(zt||d.sp)&&!h_(d)&&_I(d),zt){if(_t.then(tL,tL),s)return _t.then(jt=>{eL(d,jt)}).catch(jt=>{D4(jt,d,0)});d.asyncDep=_t}else eL(d,_t)}else $I(d)}function eL(d,s,E){Vu(s)?d.type.__ssrInlineRender?d.ssrRender=s:d.render=s:gf(s)&&(d.setupState=aI(s)),$I(d)}function $I(d,s,E){const R=d.type;d.render||(d.render=R.render||mg);{const K=rw(d);sv();try{DY(d)}finally{lv(),K()}}}const yK={get(d,s){return Zp(d,"get",""),d[s]}};function xK(d){const s=E=>{d.exposed=E||{}};return{attrs:new Proxy(d.attrs,yK),slots:d.slots,emit:d.emit,expose:s}}function U4(d){return d.exposed?d.exposeProxy||(d.exposeProxy=new Proxy(aI(XA(d.exposed)),{get(s,E){if(E in s)return s[E];if(E in M2)return M2[E](d)},has(s,E){return E in s||E in M2}})):d.proxy}function _K(d,s=!0){return Vu(d)?d.displayName||d.name:d.name||s&&d.__name}function bK(d){return Vu(d)&&"__vccOpts"in d}const Wo=(d,s)=>mY(d,s,U2);function oM(d,s,E){const R=arguments.length;return R===2?gf(s)&&!au(s)?j2(s)?Tl(d,null,[s]):Tl(d,s):Tl(d,null,s):(R>3?E=Array.prototype.slice.call(arguments,2):R===3&&j2(E)&&(E=[E]),Tl(d,s,E))}const wK="3.5.18";/** +**/function tw(d,s,E,R){try{return R?d(...R):d()}catch(K){D4(K,s,E)}}function Lm(d,s,E,R){if(Vu(d)){const K=tw(d,s,E,R);return K&&zI(K)&&K.catch(dt=>{D4(dt,s,E)}),K}if(au(d)){const K=[];for(let dt=0;dt>>1,K=f0[R],dt=B2(K);dt=B2(E)?f0.push(d):f0.splice(xY(s),0,d),d.flags|=1,sz()}}function sz(){h4||(h4=oz.then(uz))}function _Y(d){au(d)?c_.push(...d):o1&&d.id===-1?o1.splice(o_+1,0,d):d.flags&1||(c_.push(d),d.flags|=1),sz()}function NC(d,s,E=ug+1){for(;EB2(E)-B2(R));if(c_.length=0,o1){o1.push(...s);return}for(o1=s,o_=0;o_d.id==null?d.flags&2?-1:1/0:d.id;function uz(d){try{for(ug=0;ug{R._d&&QC(-1);const dt=f4(s);let _t;try{_t=d(...K)}finally{f4(dt),R._d&&QC(1)}return _t};return R._n=!0,R._c=!0,R._d=!0,R}function Gp(d,s){if(Op===null)return d;const E=U4(Op),R=d.dirs||(d.dirs=[]);for(let K=0;Kd.__isTeleport,T2=d=>d&&(d.disabled||d.disabled===""),jC=d=>d&&(d.defer||d.defer===""),UC=d=>typeof SVGElement<"u"&&d instanceof SVGElement,VC=d=>typeof MathMLElement=="function"&&d instanceof MathMLElement,uA=(d,s)=>{const E=d&&d.to;return ld(E)?s?s(E):null:E},dz={name:"Teleport",__isTeleport:!0,process(d,s,E,R,K,dt,_t,It,jt,te){const{mc:le,pc:Le,pbc:Je,o:{insert:fr,querySelector:Tr,createText:wr,createComment:Vr}}=te,fn=T2(s.props);let{shapeFlag:Dt,children:un,dynamicChildren:Qn}=s;if(d==null){const Dn=s.el=wr(""),Xn=s.anchor=wr("");fr(Dn,E,R),fr(Xn,E,R);const Ni=(qr,Si)=>{Dt&16&&(K&&K.isCE&&(K.ce._teleportTarget=qr),le(un,qr,Si,K,dt,_t,It,jt))},zi=()=>{const qr=s.target=uA(s.props,Tr),Si=pz(qr,s,wr,fr);qr&&(_t!=="svg"&&UC(qr)?_t="svg":_t!=="mathml"&&VC(qr)&&(_t="mathml"),fn||(Ni(qr,Si),K5(s,!1)))};fn&&(Ni(E,Xn),K5(s,!0)),jC(s.props)?(s.el.__isMounted=!1,c0(()=>{zi(),delete s.el.__isMounted},dt)):zi()}else{if(jC(s.props)&&d.el.__isMounted===!1){c0(()=>{dz.process(d,s,E,R,K,dt,_t,It,jt,te)},dt);return}s.el=d.el,s.targetStart=d.targetStart;const Dn=s.anchor=d.anchor,Xn=s.target=d.target,Ni=s.targetAnchor=d.targetAnchor,zi=T2(d.props),qr=zi?E:Xn,Si=zi?Dn:Ni;if(_t==="svg"||UC(Xn)?_t="svg":(_t==="mathml"||VC(Xn))&&(_t="mathml"),Qn?(Je(d.dynamicChildren,Qn,qr,K,dt,_t,It),iM(d,s,!0)):jt||Le(d,s,qr,Si,K,dt,_t,It,!1),fn)zi?s.props&&d.props&&s.props.to!==d.props.to&&(s.props.to=d.props.to):L5(s,E,Dn,te,1);else if((s.props&&s.props.to)!==(d.props&&d.props.to)){const Nn=s.target=uA(s.props,Tr);Nn&&L5(s,Nn,null,te,0)}else zi&&L5(s,Xn,Ni,te,1);K5(s,fn)}},remove(d,s,E,{um:R,o:{remove:K}},dt){const{shapeFlag:_t,children:It,anchor:jt,targetStart:te,targetAnchor:le,target:Le,props:Je}=d;if(Le&&(K(te),K(le)),dt&&K(jt),_t&16){const fr=dt||!T2(Je);for(let Tr=0;Tr{d.isMounted=!0}),zm(()=>{d.isUnmounting=!0}),d}const om=[Function,Array],gz={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:om,onEnter:om,onAfterEnter:om,onEnterCancelled:om,onBeforeLeave:om,onLeave:om,onAfterLeave:om,onLeaveCancelled:om,onBeforeAppear:om,onAppear:om,onAfterAppear:om,onAppearCancelled:om},vz=d=>{const s=d.subTree;return s.component?vz(s.component):s},wY={name:"BaseTransition",props:gz,setup(d,{slots:s}){const E=j4(),R=mz();return()=>{const K=s.default&&tM(s.default(),!0);if(!K||!K.length)return;const dt=yz(K),_t=Eu(d),{mode:It}=_t;if(R.isLeaving)return T8(dt);const jt=HC(dt);if(!jt)return T8(dt);let te=R2(jt,_t,R,E,Le=>te=Le);jt.type!==Yp&&Cy(jt,te);let le=E.subTree&&HC(E.subTree);if(le&&le.type!==Yp&&!xy(jt,le)&&vz(E).type!==Yp){let Le=R2(le,_t,R,E);if(Cy(le,Le),It==="out-in"&&jt.type!==Yp)return R.isLeaving=!0,Le.afterLeave=()=>{R.isLeaving=!1,E.job.flags&8||E.update(),delete Le.afterLeave,le=void 0},T8(dt);It==="in-out"&&jt.type!==Yp?Le.delayLeave=(Je,fr,Tr)=>{const wr=xz(R,le);wr[String(le.key)]=le,Je[s1]=()=>{fr(),Je[s1]=void 0,delete te.delayedLeave,le=void 0},te.delayedLeave=()=>{Tr(),delete te.delayedLeave,le=void 0}}:le=void 0}else le&&(le=void 0);return dt}}};function yz(d){let s=d[0];if(d.length>1){for(const E of d)if(E.type!==Yp){s=E;break}}return s}const kY=wY;function xz(d,s){const{leavingVNodes:E}=d;let R=E.get(s.type);return R||(R=Object.create(null),E.set(s.type,R)),R}function R2(d,s,E,R,K){const{appear:dt,mode:_t,persisted:It=!1,onBeforeEnter:jt,onEnter:te,onAfterEnter:le,onEnterCancelled:Le,onBeforeLeave:Je,onLeave:fr,onAfterLeave:Tr,onLeaveCancelled:wr,onBeforeAppear:Vr,onAppear:fn,onAfterAppear:Dt,onAppearCancelled:un}=s,Qn=String(d.key),Dn=xz(E,d),Xn=(qr,Si)=>{qr&&Lm(qr,R,9,Si)},Ni=(qr,Si)=>{const Nn=Si[1];Xn(qr,Si),au(qr)?qr.every(si=>si.length<=1)&&Nn():qr.length<=1&&Nn()},zi={mode:_t,persisted:It,beforeEnter(qr){let Si=jt;if(!E.isMounted)if(dt)Si=Vr||jt;else return;qr[s1]&&qr[s1](!0);const Nn=Dn[Qn];Nn&&xy(d,Nn)&&Nn.el[s1]&&Nn.el[s1](),Xn(Si,[qr])},enter(qr){let Si=te,Nn=le,si=Le;if(!E.isMounted)if(dt)Si=fn||te,Nn=Dt||le,si=un||Le;else return;let Hn=!1;const Vn=qr[P5]=sa=>{Hn||(Hn=!0,sa?Xn(si,[qr]):Xn(Nn,[qr]),zi.delayedLeave&&zi.delayedLeave(),qr[P5]=void 0)};Si?Ni(Si,[qr,Vn]):Vn()},leave(qr,Si){const Nn=String(d.key);if(qr[P5]&&qr[P5](!0),E.isUnmounting)return Si();Xn(Je,[qr]);let si=!1;const Hn=qr[s1]=Vn=>{si||(si=!0,Si(),Vn?Xn(wr,[qr]):Xn(Tr,[qr]),qr[s1]=void 0,Dn[Nn]===d&&delete Dn[Nn])};Dn[Nn]=d,fr?Ni(fr,[qr,Hn]):Hn()},clone(qr){const Si=R2(qr,s,E,R,K);return K&&K(Si),Si}};return zi}function T8(d){if(F4(d))return d=_1(d),d.children=null,d}function HC(d){if(!F4(d))return fz(d.type)&&d.children?yz(d.children):d;if(d.component)return d.component.subTree;const{shapeFlag:s,children:E}=d;if(E){if(s&16)return E[0];if(s&32&&Vu(E.default))return E.default()}}function Cy(d,s){d.shapeFlag&6&&d.component?(d.transition=s,Cy(d.component.subTree,s)):d.shapeFlag&128?(d.ssContent.transition=s.clone(d.ssContent),d.ssFallback.transition=s.clone(d.ssFallback)):d.transition=s}function tM(d,s=!1,E){let R=[],K=0;for(let dt=0;dt1)for(let dt=0;dtA2(Tr,s&&(au(s)?s[wr]:s),E,R,K));return}if(h_(R)&&!K){R.shapeFlag&512&&R.type.__asyncResolved&&R.component.subTree.component&&A2(d,s,E,R.component.subTree);return}const dt=R.shapeFlag&4?U4(R.component):R.el,_t=K?null:dt,{i:It,r:jt}=d,te=s&&s.r,le=It.refs===mf?It.refs={}:It.refs,Le=It.setupState,Je=Eu(Le),fr=Le===mf?()=>!1:Tr=>Rh(Je,Tr);if(te!=null&&te!==jt&&(ld(te)?(le[te]=null,fr(te)&&(Le[te]=null)):jd(te)&&(te.value=null)),Vu(jt))tw(jt,It,12,[_t,le]);else{const Tr=ld(jt),wr=jd(jt);if(Tr||wr){const Vr=()=>{if(d.f){const fn=Tr?fr(jt)?Le[jt]:le[jt]:jt.value;K?au(fn)&&VA(fn,dt):au(fn)?fn.includes(dt)||fn.push(dt):Tr?(le[jt]=[dt],fr(jt)&&(Le[jt]=le[jt])):(jt.value=[dt],d.k&&(le[d.k]=jt.value))}else Tr?(le[jt]=_t,fr(jt)&&(Le[jt]=_t)):wr&&(jt.value=_t,d.k&&(le[d.k]=_t))};_t?(Vr.id=-1,c0(Vr,E)):Vr()}}}z4().requestIdleCallback;z4().cancelIdleCallback;const h_=d=>!!d.type.__asyncLoader,F4=d=>d.type.__isKeepAlive;function TY(d,s){bz(d,"a",s)}function AY(d,s){bz(d,"da",s)}function bz(d,s,E=Kp){const R=d.__wdc||(d.__wdc=()=>{let K=E;for(;K;){if(K.isDeactivated)return;K=K.parent}return d()});if(B4(s,R,E),E){let K=E.parent;for(;K&&K.parent;)F4(K.parent.vnode)&&MY(R,s,E,K),K=K.parent}}function MY(d,s,E,R){const K=B4(s,d,R,!0);Oy(()=>{VA(R[s],K)},E)}function B4(d,s,E=Kp,R=!1){if(E){const K=E[d]||(E[d]=[]),dt=s.__weh||(s.__weh=(..._t)=>{sv();const It=rw(E),jt=Lm(s,E,d,_t);return It(),lv(),jt});return R?K.unshift(dt):K.push(dt),dt}}const uv=d=>(s,E=Kp)=>{(!U2||d==="sp")&&B4(d,(...R)=>s(...R),E)},SY=uv("bm"),op=uv("m"),EY=uv("bu"),wz=uv("u"),zm=uv("bum"),Oy=uv("um"),CY=uv("sp"),LY=uv("rtg"),PY=uv("rtc");function IY(d,s=Kp){B4("ec",d,s)}const kz="components";function eM(d,s){return Az(kz,d,!0,s)||d}const Tz=Symbol.for("v-ndc");function d4(d){return ld(d)?Az(kz,d,!1)||d:d||Tz}function Az(d,s,E=!0,R=!1){const K=Op||Kp;if(K){const dt=K.type;{const It=_K(dt,!1);if(It&&(It===s||It===hm(s)||It===I4(hm(s))))return dt}const _t=WC(K[d]||dt[d],s)||WC(K.appContext[d],s);return!_t&&R?dt:_t}}function WC(d,s){return d&&(d[s]||d[hm(s)]||d[I4(hm(s))])}function Yc(d,s,E,R){let K;const dt=E,_t=au(d);if(_t||ld(d)){const It=_t&&v1(d);let jt=!1,te=!1;It&&(jt=!um(d),te=x1(d),d=O4(d)),K=new Array(d.length);for(let le=0,Le=d.length;les(It,jt,void 0,dt));else{const It=Object.keys(d);K=new Array(It.length);for(let jt=0,te=It.length;jtj2(s)?!(s.type===Yp||s.type===cu&&!Mz(s.children)):!0)?d:null}const cA=d=>d?qz(d)?U4(d):cA(d.parent):null,M2=ap(Object.create(null),{$:d=>d,$el:d=>d.vnode.el,$data:d=>d.data,$props:d=>d.props,$attrs:d=>d.attrs,$slots:d=>d.slots,$refs:d=>d.refs,$parent:d=>cA(d.parent),$root:d=>cA(d.root),$host:d=>d.ce,$emit:d=>d.emit,$options:d=>Ez(d),$forceUpdate:d=>d.f||(d.f=()=>{JA(d.update)}),$nextTick:d=>d.n||(d.n=S0.bind(d.proxy)),$watch:d=>eK.bind(d)}),A8=(d,s)=>d!==mf&&!d.__isScriptSetup&&Rh(d,s),OY={get({_:d},s){if(s==="__v_skip")return!0;const{ctx:E,setupState:R,data:K,props:dt,accessCache:_t,type:It,appContext:jt}=d;let te;if(s[0]!=="$"){const fr=_t[s];if(fr!==void 0)switch(fr){case 1:return R[s];case 2:return K[s];case 4:return E[s];case 3:return dt[s]}else{if(A8(R,s))return _t[s]=1,R[s];if(K!==mf&&Rh(K,s))return _t[s]=2,K[s];if((te=d.propsOptions[0])&&Rh(te,s))return _t[s]=3,dt[s];if(E!==mf&&Rh(E,s))return _t[s]=4,E[s];hA&&(_t[s]=0)}}const le=M2[s];let Le,Je;if(le)return s==="$attrs"&&Zp(d.attrs,"get",""),le(d);if((Le=It.__cssModules)&&(Le=Le[s]))return Le;if(E!==mf&&Rh(E,s))return _t[s]=4,E[s];if(Je=jt.config.globalProperties,Rh(Je,s))return Je[s]},set({_:d},s,E){const{data:R,setupState:K,ctx:dt}=d;return A8(K,s)?(K[s]=E,!0):R!==mf&&Rh(R,s)?(R[s]=E,!0):Rh(d.props,s)||s[0]==="$"&&s.slice(1)in d?!1:(dt[s]=E,!0)},has({_:{data:d,setupState:s,accessCache:E,ctx:R,appContext:K,propsOptions:dt}},_t){let It;return!!E[_t]||d!==mf&&Rh(d,_t)||A8(s,_t)||(It=dt[0])&&Rh(It,_t)||Rh(R,_t)||Rh(M2,_t)||Rh(K.config.globalProperties,_t)},defineProperty(d,s,E){return E.get!=null?d._.accessCache[s]=0:Rh(E,"value")&&this.set(d,s,E.value,null),Reflect.defineProperty(d,s,E)}};function qC(d){return au(d)?d.reduce((s,E)=>(s[E]=null,s),{}):d}let hA=!0;function DY(d){const s=Ez(d),E=d.proxy,R=d.ctx;hA=!1,s.beforeCreate&&$C(s.beforeCreate,d,"bc");const{data:K,computed:dt,methods:_t,watch:It,provide:jt,inject:te,created:le,beforeMount:Le,mounted:Je,beforeUpdate:fr,updated:Tr,activated:wr,deactivated:Vr,beforeDestroy:fn,beforeUnmount:Dt,destroyed:un,unmounted:Qn,render:Dn,renderTracked:Xn,renderTriggered:Ni,errorCaptured:zi,serverPrefetch:qr,expose:Si,inheritAttrs:Nn,components:si,directives:Hn,filters:Vn}=s;if(te&&FY(te,R,null),_t)for(const fi in _t){const ma=_t[fi];Vu(ma)&&(R[fi]=ma.bind(E))}if(K){const fi=K.call(E,E);gf(fi)&&(d.data=Ey(fi))}if(hA=!0,dt)for(const fi in dt){const ma=dt[fi],ml=Vu(ma)?ma.bind(E,E):Vu(ma.get)?ma.get.bind(E,E):mg,Ya=!Vu(ma)&&Vu(ma.set)?ma.set.bind(E):mg,ao=qo({get:ml,set:Ya});Object.defineProperty(R,fi,{enumerable:!0,configurable:!0,get:()=>ao.value,set:Wa=>ao.value=Wa})}if(It)for(const fi in It)Sz(It[fi],R,E,fi);if(jt){const fi=Vu(jt)?jt.call(E):jt;Reflect.ownKeys(fi).forEach(ma=>{X5(ma,fi[ma])})}le&&$C(le,d,"c");function Ti(fi,ma){au(ma)?ma.forEach(ml=>fi(ml.bind(E))):ma&&fi(ma.bind(E))}if(Ti(SY,Le),Ti(op,Je),Ti(EY,fr),Ti(wz,Tr),Ti(TY,wr),Ti(AY,Vr),Ti(IY,zi),Ti(PY,Xn),Ti(LY,Ni),Ti(zm,Dt),Ti(Oy,Qn),Ti(CY,qr),au(Si))if(Si.length){const fi=d.exposed||(d.exposed={});Si.forEach(ma=>{Object.defineProperty(fi,ma,{get:()=>E[ma],set:ml=>E[ma]=ml,enumerable:!0})})}else d.exposed||(d.exposed={});Dn&&d.render===mg&&(d.render=Dn),Nn!=null&&(d.inheritAttrs=Nn),si&&(d.components=si),Hn&&(d.directives=Hn),qr&&_z(d)}function FY(d,s,E=mg){au(d)&&(d=fA(d));for(const R in d){const K=d[R];let dt;gf(K)?"default"in K?dt=cm(K.from||R,K.default,!0):dt=cm(K.from||R):dt=cm(K),jd(dt)?Object.defineProperty(s,R,{enumerable:!0,configurable:!0,get:()=>dt.value,set:_t=>dt.value=_t}):s[R]=dt}}function $C(d,s,E){Lm(au(d)?d.map(R=>R.bind(s.proxy)):d.bind(s.proxy),s,E)}function Sz(d,s,E,R){let K=R.includes(".")?jz(E,R):()=>E[R];if(ld(d)){const dt=s[d];Vu(dt)&&Em(K,dt)}else if(Vu(d))Em(K,d.bind(E));else if(gf(d))if(au(d))d.forEach(dt=>Sz(dt,s,E,R));else{const dt=Vu(d.handler)?d.handler.bind(E):s[d.handler];Vu(dt)&&Em(K,dt,d)}}function Ez(d){const s=d.type,{mixins:E,extends:R}=s,{mixins:K,optionsCache:dt,config:{optionMergeStrategies:_t}}=d.appContext,It=dt.get(s);let jt;return It?jt=It:!K.length&&!E&&!R?jt=s:(jt={},K.length&&K.forEach(te=>p4(jt,te,_t,!0)),p4(jt,s,_t)),gf(s)&&dt.set(s,jt),jt}function p4(d,s,E,R=!1){const{mixins:K,extends:dt}=s;dt&&p4(d,dt,E,!0),K&&K.forEach(_t=>p4(d,_t,E,!0));for(const _t in s)if(!(R&&_t==="expose")){const It=BY[_t]||E&&E[_t];d[_t]=It?It(d[_t],s[_t]):s[_t]}return d}const BY={data:ZC,props:GC,emits:GC,methods:g2,computed:g2,beforeCreate:u0,created:u0,beforeMount:u0,mounted:u0,beforeUpdate:u0,updated:u0,beforeDestroy:u0,beforeUnmount:u0,destroyed:u0,unmounted:u0,activated:u0,deactivated:u0,errorCaptured:u0,serverPrefetch:u0,components:g2,directives:g2,watch:NY,provide:ZC,inject:RY};function ZC(d,s){return s?d?function(){return ap(Vu(d)?d.call(this,this):d,Vu(s)?s.call(this,this):s)}:s:d}function RY(d,s){return g2(fA(d),fA(s))}function fA(d){if(au(d)){const s={};for(let E=0;E1)return E&&Vu(s)?s.call(R&&R.proxy):s}}function VY(){return!!(j4()||Ay)}const Lz={},Pz=()=>Object.create(Lz),Iz=d=>Object.getPrototypeOf(d)===Lz;function HY(d,s,E,R=!1){const K={},dt=Pz();d.propsDefaults=Object.create(null),zz(d,s,K,dt);for(const _t in d.propsOptions[0])_t in K||(K[_t]=void 0);E?d.props=R?K:rz(K):d.type.props?d.props=K:d.props=dt,d.attrs=dt}function WY(d,s,E,R){const{props:K,attrs:dt,vnode:{patchFlag:_t}}=d,It=Eu(K),[jt]=d.propsOptions;let te=!1;if((R||_t>0)&&!(_t&16)){if(_t&8){const le=d.vnode.dynamicProps;for(let Le=0;Le{jt=!0;const[Je,fr]=Oz(Le,s,!0);ap(_t,Je),fr&&It.push(...fr)};!E&&s.mixins.length&&s.mixins.forEach(le),d.extends&&le(d.extends),d.mixins&&d.mixins.forEach(le)}if(!dt&&!jt)return gf(d)&&R.set(d,l_),l_;if(au(dt))for(let le=0;led==="_"||d==="__"||d==="_ctx"||d==="$stable",nM=d=>au(d)?d.map(hg):[hg(d)],$Y=(d,s,E)=>{if(s._n)return s;const R=ew((...K)=>nM(s(...K)),E);return R._c=!1,R},Dz=(d,s,E)=>{const R=d._ctx;for(const K in d){if(rM(K))continue;const dt=d[K];if(Vu(dt))s[K]=$Y(K,dt,R);else if(dt!=null){const _t=nM(dt);s[K]=()=>_t}}},Fz=(d,s)=>{const E=nM(s);d.slots.default=()=>E},Bz=(d,s,E)=>{for(const R in s)(E||!rM(R))&&(d[R]=s[R])},ZY=(d,s,E)=>{const R=d.slots=Pz();if(d.vnode.shapeFlag&32){const K=s.__;K&&aA(R,"__",K,!0);const dt=s._;dt?(Bz(R,s,E),E&&aA(R,"_",dt,!0)):Dz(s,R)}else s&&Fz(d,s)},GY=(d,s,E)=>{const{vnode:R,slots:K}=d;let dt=!0,_t=mf;if(R.shapeFlag&32){const It=s._;It?E&&It===1?dt=!1:Bz(K,s,E):(dt=!s.$stable,Dz(s,K)),_t=s}else s&&(Fz(d,s),_t={default:1});if(dt)for(const It in K)!rM(It)&&_t[It]==null&&delete K[It]},c0=lK;function YY(d){return KY(d)}function KY(d,s){const E=z4();E.__VUE__=!0;const{insert:R,remove:K,patchProp:dt,createElement:_t,createText:It,createComment:jt,setText:te,setElementText:le,parentNode:Le,nextSibling:Je,setScopeId:fr=mg,insertStaticContent:Tr}=d,wr=(di,Ai,hi,go=null,Mo=null,To=null,ps=void 0,ys=null,is=!!Ai.dynamicChildren)=>{if(di===Ai)return;di&&!xy(di,Ai)&&(go=ha(di),Wa(di,Mo,To,!0),di=null),Ai.patchFlag===-2&&(is=!1,Ai.dynamicChildren=null);const{type:Go,ref:Cl,shapeFlag:Rs}=Ai;switch(Go){case N4:Vr(di,Ai,hi,go);break;case Yp:fn(di,Ai,hi,go);break;case J5:di==null&&Dt(Ai,hi,go,ps);break;case cu:si(di,Ai,hi,go,Mo,To,ps,ys,is);break;default:Rs&1?Dn(di,Ai,hi,go,Mo,To,ps,ys,is):Rs&6?Hn(di,Ai,hi,go,Mo,To,ps,ys,is):(Rs&64||Rs&128)&&Go.process(di,Ai,hi,go,Mo,To,ps,ys,is,Jo)}Cl!=null&&Mo?A2(Cl,di&&di.ref,To,Ai||di,!Ai):Cl==null&&di&&di.ref!=null&&A2(di.ref,null,To,di,!0)},Vr=(di,Ai,hi,go)=>{if(di==null)R(Ai.el=It(Ai.children),hi,go);else{const Mo=Ai.el=di.el;Ai.children!==di.children&&te(Mo,Ai.children)}},fn=(di,Ai,hi,go)=>{di==null?R(Ai.el=jt(Ai.children||""),hi,go):Ai.el=di.el},Dt=(di,Ai,hi,go)=>{[di.el,di.anchor]=Tr(di.children,Ai,hi,go,di.el,di.anchor)},un=({el:di,anchor:Ai},hi,go)=>{let Mo;for(;di&&di!==Ai;)Mo=Je(di),R(di,hi,go),di=Mo;R(Ai,hi,go)},Qn=({el:di,anchor:Ai})=>{let hi;for(;di&&di!==Ai;)hi=Je(di),K(di),di=hi;K(Ai)},Dn=(di,Ai,hi,go,Mo,To,ps,ys,is)=>{Ai.type==="svg"?ps="svg":Ai.type==="math"&&(ps="mathml"),di==null?Xn(Ai,hi,go,Mo,To,ps,ys,is):qr(di,Ai,Mo,To,ps,ys,is)},Xn=(di,Ai,hi,go,Mo,To,ps,ys)=>{let is,Go;const{props:Cl,shapeFlag:Rs,transition:Nl,dirs:yu}=di;if(is=di.el=_t(di.type,To,Cl&&Cl.is,Cl),Rs&8?le(is,di.children):Rs&16&&zi(di.children,is,null,go,Mo,M8(di,To),ps,ys),yu&&sy(di,null,go,"created"),Ni(is,di,di.scopeId,ps,go),Cl){for(const ph in Cl)ph!=="value"&&!b2(ph)&&dt(is,ph,null,Cl[ph],To,go);"value"in Cl&&dt(is,"value",null,Cl.value,To),(Go=Cl.onVnodeBeforeMount)&&ig(Go,go,di)}yu&&sy(di,null,go,"beforeMount");const tc=XY(Mo,Nl);tc&&Nl.beforeEnter(is),R(is,Ai,hi),((Go=Cl&&Cl.onVnodeMounted)||tc||yu)&&c0(()=>{Go&&ig(Go,go,di),tc&&Nl.enter(is),yu&&sy(di,null,go,"mounted")},Mo)},Ni=(di,Ai,hi,go,Mo)=>{if(hi&&fr(di,hi),go)for(let To=0;To{for(let Go=is;Go{const ys=Ai.el=di.el;let{patchFlag:is,dynamicChildren:Go,dirs:Cl}=Ai;is|=di.patchFlag&16;const Rs=di.props||mf,Nl=Ai.props||mf;let yu;if(hi&&ly(hi,!1),(yu=Nl.onVnodeBeforeUpdate)&&ig(yu,hi,Ai,di),Cl&&sy(Ai,di,hi,"beforeUpdate"),hi&&ly(hi,!0),(Rs.innerHTML&&Nl.innerHTML==null||Rs.textContent&&Nl.textContent==null)&&le(ys,""),Go?Si(di.dynamicChildren,Go,ys,hi,go,M8(Ai,Mo),To):ps||ma(di,Ai,ys,null,hi,go,M8(Ai,Mo),To,!1),is>0){if(is&16)Nn(ys,Rs,Nl,hi,Mo);else if(is&2&&Rs.class!==Nl.class&&dt(ys,"class",null,Nl.class,Mo),is&4&&dt(ys,"style",Rs.style,Nl.style,Mo),is&8){const tc=Ai.dynamicProps;for(let ph=0;ph{yu&&ig(yu,hi,Ai,di),Cl&&sy(Ai,di,hi,"updated")},go)},Si=(di,Ai,hi,go,Mo,To,ps)=>{for(let ys=0;ys{if(Ai!==hi){if(Ai!==mf)for(const To in Ai)!b2(To)&&!(To in hi)&&dt(di,To,Ai[To],null,Mo,go);for(const To in hi){if(b2(To))continue;const ps=hi[To],ys=Ai[To];ps!==ys&&To!=="value"&&dt(di,To,ys,ps,Mo,go)}"value"in hi&&dt(di,"value",Ai.value,hi.value,Mo)}},si=(di,Ai,hi,go,Mo,To,ps,ys,is)=>{const Go=Ai.el=di?di.el:It(""),Cl=Ai.anchor=di?di.anchor:It("");let{patchFlag:Rs,dynamicChildren:Nl,slotScopeIds:yu}=Ai;yu&&(ys=ys?ys.concat(yu):yu),di==null?(R(Go,hi,go),R(Cl,hi,go),zi(Ai.children||[],hi,Cl,Mo,To,ps,ys,is)):Rs>0&&Rs&64&&Nl&&di.dynamicChildren?(Si(di.dynamicChildren,Nl,hi,Mo,To,ps,ys),(Ai.key!=null||Mo&&Ai===Mo.subTree)&&iM(di,Ai,!0)):ma(di,Ai,hi,Cl,Mo,To,ps,ys,is)},Hn=(di,Ai,hi,go,Mo,To,ps,ys,is)=>{Ai.slotScopeIds=ys,di==null?Ai.shapeFlag&512?Mo.ctx.activate(Ai,hi,go,ps,is):Vn(Ai,hi,go,Mo,To,ps,is):sa(di,Ai,is)},Vn=(di,Ai,hi,go,Mo,To,ps)=>{const ys=di.component=mK(di,go,Mo);if(F4(di)&&(ys.ctx.renderer=Jo),gK(ys,!1,ps),ys.asyncDep){if(Mo&&Mo.registerDep(ys,Ti,ps),!di.el){const is=ys.subTree=Al(Yp);fn(null,is,Ai,hi),di.placeholder=is.el}}else Ti(ys,di,Ai,hi,Mo,To,ps)},sa=(di,Ai,hi)=>{const go=Ai.component=di.component;if(oK(di,Ai,hi))if(go.asyncDep&&!go.asyncResolved){fi(go,Ai,hi);return}else go.next=Ai,go.update();else Ai.el=di.el,go.vnode=Ai},Ti=(di,Ai,hi,go,Mo,To,ps)=>{const ys=()=>{if(di.isMounted){let{next:Rs,bu:Nl,u:yu,parent:tc,vnode:ph}=di;{const d0=Rz(di);if(d0){Rs&&(Rs.el=ph.el,fi(di,Rs,ps)),d0.asyncDep.then(()=>{di.isUnmounted||ys()});return}}let Fc=Rs,sp;ly(di,!1),Rs?(Rs.el=ph.el,fi(di,Rs,ps)):Rs=ph,Nl&&Y5(Nl),(sp=Rs.props&&Rs.props.onVnodeBeforeUpdate)&&ig(sp,tc,Rs,ph),ly(di,!0);const Kd=XC(di),e0=di.subTree;di.subTree=Kd,wr(e0,Kd,Le(e0.el),ha(e0),di,Mo,To),Rs.el=Kd.el,Fc===null&&sK(di,Kd.el),yu&&c0(yu,Mo),(sp=Rs.props&&Rs.props.onVnodeUpdated)&&c0(()=>ig(sp,tc,Rs,ph),Mo)}else{let Rs;const{el:Nl,props:yu}=Ai,{bm:tc,m:ph,parent:Fc,root:sp,type:Kd}=di,e0=h_(Ai);ly(di,!1),tc&&Y5(tc),!e0&&(Rs=yu&&yu.onVnodeBeforeMount)&&ig(Rs,Fc,Ai),ly(di,!0);{sp.ce&&sp.ce._def.shadowRoot!==!1&&sp.ce._injectChildStyle(Kd);const d0=di.subTree=XC(di);wr(null,d0,hi,go,di,Mo,To),Ai.el=d0.el}if(ph&&c0(ph,Mo),!e0&&(Rs=yu&&yu.onVnodeMounted)){const d0=Ai;c0(()=>ig(Rs,Fc,d0),Mo)}(Ai.shapeFlag&256||Fc&&h_(Fc.vnode)&&Fc.vnode.shapeFlag&256)&&di.a&&c0(di.a,Mo),di.isMounted=!0,Ai=hi=go=null}};di.scope.on();const is=di.effect=new VI(ys);di.scope.off();const Go=di.update=is.run.bind(is),Cl=di.job=is.runIfDirty.bind(is);Cl.i=di,Cl.id=di.uid,is.scheduler=()=>JA(Cl),ly(di,!0),Go()},fi=(di,Ai,hi)=>{Ai.component=di;const go=di.vnode.props;di.vnode=Ai,di.next=null,WY(di,Ai.props,go,hi),GY(di,Ai.children,hi),sv(),NC(di),lv()},ma=(di,Ai,hi,go,Mo,To,ps,ys,is=!1)=>{const Go=di&&di.children,Cl=di?di.shapeFlag:0,Rs=Ai.children,{patchFlag:Nl,shapeFlag:yu}=Ai;if(Nl>0){if(Nl&128){Ya(Go,Rs,hi,go,Mo,To,ps,ys,is);return}else if(Nl&256){ml(Go,Rs,hi,go,Mo,To,ps,ys,is);return}}yu&8?(Cl&16&&Ca(Go,Mo,To),Rs!==Go&&le(hi,Rs)):Cl&16?yu&16?Ya(Go,Rs,hi,go,Mo,To,ps,ys,is):Ca(Go,Mo,To,!0):(Cl&8&&le(hi,""),yu&16&&zi(Rs,hi,go,Mo,To,ps,ys,is))},ml=(di,Ai,hi,go,Mo,To,ps,ys,is)=>{di=di||l_,Ai=Ai||l_;const Go=di.length,Cl=Ai.length,Rs=Math.min(Go,Cl);let Nl;for(Nl=0;NlCl?Ca(di,Mo,To,!0,!1,Rs):zi(Ai,hi,go,Mo,To,ps,ys,is,Rs)},Ya=(di,Ai,hi,go,Mo,To,ps,ys,is)=>{let Go=0;const Cl=Ai.length;let Rs=di.length-1,Nl=Cl-1;for(;Go<=Rs&&Go<=Nl;){const yu=di[Go],tc=Ai[Go]=is?l1(Ai[Go]):hg(Ai[Go]);if(xy(yu,tc))wr(yu,tc,hi,null,Mo,To,ps,ys,is);else break;Go++}for(;Go<=Rs&&Go<=Nl;){const yu=di[Rs],tc=Ai[Nl]=is?l1(Ai[Nl]):hg(Ai[Nl]);if(xy(yu,tc))wr(yu,tc,hi,null,Mo,To,ps,ys,is);else break;Rs--,Nl--}if(Go>Rs){if(Go<=Nl){const yu=Nl+1,tc=yuNl)for(;Go<=Rs;)Wa(di[Go],Mo,To,!0),Go++;else{const yu=Go,tc=Go,ph=new Map;for(Go=tc;Go<=Nl;Go++){const lp=Ai[Go]=is?l1(Ai[Go]):hg(Ai[Go]);lp.key!=null&&ph.set(lp.key,Go)}let Fc,sp=0;const Kd=Nl-tc+1;let e0=!1,d0=0;const Fm=new Array(Kd);for(Go=0;Go=Kd){Wa(lp,Mo,To,!0);continue}let p0;if(lp.key!=null)p0=ph.get(lp.key);else for(Fc=tc;Fc<=Nl;Fc++)if(Fm[Fc-tc]===0&&xy(lp,Ai[Fc])){p0=Fc;break}p0===void 0?Wa(lp,Mo,To,!0):(Fm[p0-tc]=Go+1,p0>=d0?d0=p0:e0=!0,wr(lp,Ai[p0],hi,null,Mo,To,ps,ys,is),sp++)}const hv=e0?JY(Fm):l_;for(Fc=hv.length-1,Go=Kd-1;Go>=0;Go--){const lp=tc+Go,p0=Ai[lp],Bm=Ai[lp+1],Ry=lp+1{const{el:To,type:ps,transition:ys,children:is,shapeFlag:Go}=di;if(Go&6){ao(di.component.subTree,Ai,hi,go);return}if(Go&128){di.suspense.move(Ai,hi,go);return}if(Go&64){ps.move(di,Ai,hi,Jo);return}if(ps===cu){R(To,Ai,hi);for(let Rs=0;Rsys.enter(To),Mo);else{const{leave:Rs,delayLeave:Nl,afterLeave:yu}=ys,tc=()=>{di.ctx.isUnmounted?K(To):R(To,Ai,hi)},ph=()=>{Rs(To,()=>{tc(),yu&&yu()})};Nl?Nl(To,tc,ph):ph()}else R(To,Ai,hi)},Wa=(di,Ai,hi,go=!1,Mo=!1)=>{const{type:To,props:ps,ref:ys,children:is,dynamicChildren:Go,shapeFlag:Cl,patchFlag:Rs,dirs:Nl,cacheIndex:yu}=di;if(Rs===-2&&(Mo=!1),ys!=null&&(sv(),A2(ys,null,hi,di,!0),lv()),yu!=null&&(Ai.renderCache[yu]=void 0),Cl&256){Ai.ctx.deactivate(di);return}const tc=Cl&1&&Nl,ph=!h_(di);let Fc;if(ph&&(Fc=ps&&ps.onVnodeBeforeUnmount)&&ig(Fc,Ai,di),Cl&6)$a(di.component,hi,go);else{if(Cl&128){di.suspense.unmount(hi,go);return}tc&&sy(di,null,Ai,"beforeUnmount"),Cl&64?di.type.remove(di,Ai,hi,Jo,go):Go&&!Go.hasOnce&&(To!==cu||Rs>0&&Rs&64)?Ca(Go,Ai,hi,!1,!0):(To===cu&&Rs&384||!Mo&&Cl&16)&&Ca(is,Ai,hi),go&&Ks(di)}(ph&&(Fc=ps&&ps.onVnodeUnmounted)||tc)&&c0(()=>{Fc&&ig(Fc,Ai,di),tc&&sy(di,null,Ai,"unmounted")},hi)},Ks=di=>{const{type:Ai,el:hi,anchor:go,transition:Mo}=di;if(Ai===cu){Fo(hi,go);return}if(Ai===J5){Qn(di);return}const To=()=>{K(hi),Mo&&!Mo.persisted&&Mo.afterLeave&&Mo.afterLeave()};if(di.shapeFlag&1&&Mo&&!Mo.persisted){const{leave:ps,delayLeave:ys}=Mo,is=()=>ps(hi,To);ys?ys(di.el,To,is):is()}else To()},Fo=(di,Ai)=>{let hi;for(;di!==Ai;)hi=Je(di),K(di),di=hi;K(Ai)},$a=(di,Ai,hi)=>{const{bum:go,scope:Mo,job:To,subTree:ps,um:ys,m:is,a:Go,parent:Cl,slots:{__:Rs}}=di;KC(is),KC(Go),go&&Y5(go),Cl&&au(Rs)&&Rs.forEach(Nl=>{Cl.renderCache[Nl]=void 0}),Mo.stop(),To&&(To.flags|=8,Wa(ps,di,Ai,hi)),ys&&c0(ys,Ai),c0(()=>{di.isUnmounted=!0},Ai),Ai&&Ai.pendingBranch&&!Ai.isUnmounted&&di.asyncDep&&!di.asyncResolved&&di.suspenseId===Ai.pendingId&&(Ai.deps--,Ai.deps===0&&Ai.resolve())},Ca=(di,Ai,hi,go=!1,Mo=!1,To=0)=>{for(let ps=To;ps{if(di.shapeFlag&6)return ha(di.component.subTree);if(di.shapeFlag&128)return di.suspense.next();const Ai=Je(di.anchor||di.el),hi=Ai&&Ai[hz];return hi?Je(hi):Ai};let oo=!1;const mo=(di,Ai,hi)=>{di==null?Ai._vnode&&Wa(Ai._vnode,null,null,!0):wr(Ai._vnode||null,di,Ai,null,null,null,hi),Ai._vnode=di,oo||(oo=!0,NC(),lz(),oo=!1)},Jo={p:wr,um:Wa,m:ao,r:Ks,mt:Vn,mc:zi,pc:ma,pbc:Si,n:ha,o:d};return{render:mo,hydrate:void 0,createApp:UY(mo)}}function M8({type:d,props:s},E){return E==="svg"&&d==="foreignObject"||E==="mathml"&&d==="annotation-xml"&&s&&s.encoding&&s.encoding.includes("html")?void 0:E}function ly({effect:d,job:s},E){E?(d.flags|=32,s.flags|=4):(d.flags&=-33,s.flags&=-5)}function XY(d,s){return(!d||d&&!d.pendingBranch)&&s&&!s.persisted}function iM(d,s,E=!1){const R=d.children,K=s.children;if(au(R)&&au(K))for(let dt=0;dt>1,d[E[It]]0&&(s[R]=E[dt-1]),E[dt]=R)}}for(dt=E.length,_t=E[dt-1];dt-- >0;)E[dt]=_t,_t=s[_t];return E}function Rz(d){const s=d.subTree.component;if(s)return s.asyncDep&&!s.asyncResolved?s:Rz(s)}function KC(d){if(d)for(let s=0;scm(QY);function Em(d,s,E){return Nz(d,s,E)}function Nz(d,s,E=mf){const{immediate:R,deep:K,flush:dt,once:_t}=E,It=ap({},E),jt=s&&R||!s&&dt!=="post";let te;if(U2){if(dt==="sync"){const fr=tK();te=fr.__watcherHandles||(fr.__watcherHandles=[])}else if(!jt){const fr=()=>{};return fr.stop=mg,fr.resume=mg,fr.pause=mg,fr}}const le=Kp;It.call=(fr,Tr,wr)=>Lm(fr,le,Tr,wr);let Le=!1;dt==="post"?It.scheduler=fr=>{c0(fr,le&&le.suspense)}:dt!=="sync"&&(Le=!0,It.scheduler=(fr,Tr)=>{Tr?fr():JA(fr)}),It.augmentJob=fr=>{s&&(fr.flags|=4),Le&&(fr.flags|=2,le&&(fr.id=le.uid,fr.i=le))};const Je=vY(d,s,It);return U2&&(te?te.push(Je):jt&&Je()),Je}function eK(d,s,E){const R=this.proxy,K=ld(d)?d.includes(".")?jz(R,d):()=>R[d]:d.bind(R,R);let dt;Vu(s)?dt=s:(dt=s.handler,E=s);const _t=rw(this),It=Nz(K,dt.bind(R),E);return _t(),It}function jz(d,s){const E=s.split(".");return()=>{let R=d;for(let K=0;Ks==="modelValue"||s==="model-value"?d.modelModifiers:d[`${s}Modifiers`]||d[`${hm(s)}Modifiers`]||d[`${zy(s)}Modifiers`];function nK(d,s,...E){if(d.isUnmounted)return;const R=d.vnode.props||mf;let K=E;const dt=s.startsWith("update:"),_t=dt&&rK(R,s.slice(7));_t&&(_t.trim&&(K=E.map(le=>ld(le)?le.trim():le)),_t.number&&(K=E.map(s4)));let It,jt=R[It=x8(s)]||R[It=x8(hm(s))];!jt&&dt&&(jt=R[It=x8(zy(s))]),jt&&Lm(jt,d,6,K);const te=R[It+"Once"];if(te){if(!d.emitted)d.emitted={};else if(d.emitted[It])return;d.emitted[It]=!0,Lm(te,d,6,K)}}function Uz(d,s,E=!1){const R=s.emitsCache,K=R.get(d);if(K!==void 0)return K;const dt=d.emits;let _t={},It=!1;if(!Vu(d)){const jt=te=>{const le=Uz(te,s,!0);le&&(It=!0,ap(_t,le))};!E&&s.mixins.length&&s.mixins.forEach(jt),d.extends&&jt(d.extends),d.mixins&&d.mixins.forEach(jt)}return!dt&&!It?(gf(d)&&R.set(d,null),null):(au(dt)?dt.forEach(jt=>_t[jt]=null):ap(_t,dt),gf(d)&&R.set(d,_t),_t)}function R4(d,s){return!d||!C4(s)?!1:(s=s.slice(2).replace(/Once$/,""),Rh(d,s[0].toLowerCase()+s.slice(1))||Rh(d,zy(s))||Rh(d,s))}function XC(d){const{type:s,vnode:E,proxy:R,withProxy:K,propsOptions:[dt],slots:_t,attrs:It,emit:jt,render:te,renderCache:le,props:Le,data:Je,setupState:fr,ctx:Tr,inheritAttrs:wr}=d,Vr=f4(d);let fn,Dt;try{if(E.shapeFlag&4){const Qn=K||R,Dn=Qn;fn=hg(te.call(Dn,Qn,le,Le,fr,Je,Tr)),Dt=It}else{const Qn=s;fn=hg(Qn.length>1?Qn(Le,{attrs:It,slots:_t,emit:jt}):Qn(Le,null)),Dt=s.props?It:iK(It)}}catch(Qn){S2.length=0,D4(Qn,d,1),fn=Al(Yp)}let un=fn;if(Dt&&wr!==!1){const Qn=Object.keys(Dt),{shapeFlag:Dn}=un;Qn.length&&Dn&7&&(dt&&Qn.some(UA)&&(Dt=aK(Dt,dt)),un=_1(un,Dt,!1,!0))}return E.dirs&&(un=_1(un,null,!1,!0),un.dirs=un.dirs?un.dirs.concat(E.dirs):E.dirs),E.transition&&Cy(un,E.transition),fn=un,f4(Vr),fn}const iK=d=>{let s;for(const E in d)(E==="class"||E==="style"||C4(E))&&((s||(s={}))[E]=d[E]);return s},aK=(d,s)=>{const E={};for(const R in d)(!UA(R)||!(R.slice(9)in s))&&(E[R]=d[R]);return E};function oK(d,s,E){const{props:R,children:K,component:dt}=d,{props:_t,children:It,patchFlag:jt}=s,te=dt.emitsOptions;if(s.dirs||s.transition)return!0;if(E&&jt>=0){if(jt&1024)return!0;if(jt&16)return R?JC(R,_t,te):!!_t;if(jt&8){const le=s.dynamicProps;for(let Le=0;Led.__isSuspense;function lK(d,s){s&&s.pendingBranch?au(d)?s.effects.push(...d):s.effects.push(d):_Y(d)}const cu=Symbol.for("v-fgt"),N4=Symbol.for("v-txt"),Yp=Symbol.for("v-cmt"),J5=Symbol.for("v-stc"),S2=[];let Z0=null;function ii(d=!1){S2.push(Z0=d?null:[])}function uK(){S2.pop(),Z0=S2[S2.length-1]||null}let N2=1;function QC(d,s=!1){N2+=d,d<0&&Z0&&s&&(Z0.hasOnce=!0)}function Hz(d){return d.dynamicChildren=N2>0?Z0||l_:null,uK(),N2>0&&Z0&&Z0.push(d),d}function gi(d,s,E,R,K,dt){return Hz(oe(d,s,E,R,K,dt,!0))}function Y0(d,s,E,R,K){return Hz(Al(d,s,E,R,K,!0))}function j2(d){return d?d.__v_isVNode===!0:!1}function xy(d,s){return d.type===s.type&&d.key===s.key}const Wz=({key:d})=>d??null,Q5=({ref:d,ref_key:s,ref_for:E})=>(typeof d=="number"&&(d=""+d),d!=null?ld(d)||jd(d)||Vu(d)?{i:Op,r:d,k:s,f:!!E}:d:null);function oe(d,s=null,E=null,R=0,K=null,dt=d===cu?0:1,_t=!1,It=!1){const jt={__v_isVNode:!0,__v_skip:!0,type:d,props:s,key:s&&Wz(s),ref:s&&Q5(s),scopeId:cz,slotScopeIds:null,children:E,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:dt,patchFlag:R,dynamicProps:K,dynamicChildren:null,appContext:null,ctx:Op};return It?(aM(jt,E),dt&128&&d.normalize(jt)):E&&(jt.shapeFlag|=ld(E)?8:16),N2>0&&!_t&&Z0&&(jt.patchFlag>0||dt&6)&&jt.patchFlag!==32&&Z0.push(jt),jt}const Al=cK;function cK(d,s=null,E=null,R=0,K=null,dt=!1){if((!d||d===Tz)&&(d=Yp),j2(d)){const It=_1(d,s,!0);return E&&aM(It,E),N2>0&&!dt&&Z0&&(It.shapeFlag&6?Z0[Z0.indexOf(d)]=It:Z0.push(It)),It.patchFlag=-2,It}if(bK(d)&&(d=d.__vccOpts),s){s=hK(s);let{class:It,style:jt}=s;It&&!ld(It)&&(s.class=ko(It)),gf(jt)&&(KA(jt)&&!au(jt)&&(jt=ap({},jt)),s.style=G0(jt))}const _t=ld(d)?1:Vz(d)?128:fz(d)?64:gf(d)?4:Vu(d)?2:0;return oe(d,s,E,R,K,_t,dt,!0)}function hK(d){return d?KA(d)||Iz(d)?ap({},d):d:null}function _1(d,s,E=!1,R=!1){const{props:K,ref:dt,patchFlag:_t,children:It,transition:jt}=d,te=s?fK(K||{},s):K,le={__v_isVNode:!0,__v_skip:!0,type:d.type,props:te,key:te&&Wz(te),ref:s&&s.ref?E&&dt?au(dt)?dt.concat(Q5(s)):[dt,Q5(s)]:Q5(s):dt,scopeId:d.scopeId,slotScopeIds:d.slotScopeIds,children:It,target:d.target,targetStart:d.targetStart,targetAnchor:d.targetAnchor,staticCount:d.staticCount,shapeFlag:d.shapeFlag,patchFlag:s&&d.type!==cu?_t===-1?16:_t|16:_t,dynamicProps:d.dynamicProps,dynamicChildren:d.dynamicChildren,appContext:d.appContext,dirs:d.dirs,transition:jt,component:d.component,suspense:d.suspense,ssContent:d.ssContent&&_1(d.ssContent),ssFallback:d.ssFallback&&_1(d.ssFallback),placeholder:d.placeholder,el:d.el,anchor:d.anchor,ctx:d.ctx,ce:d.ce};return jt&&R&&Cy(le,jt.clone(le)),le}function Zu(d=" ",s=0){return Al(N4,null,d,s)}function Tf(d,s){const E=Al(J5,null,d);return E.staticCount=s,E}function Oo(d="",s=!1){return s?(ii(),Y0(Yp,null,d)):Al(Yp,null,d)}function hg(d){return d==null||typeof d=="boolean"?Al(Yp):au(d)?Al(cu,null,d.slice()):j2(d)?l1(d):Al(N4,null,String(d))}function l1(d){return d.el===null&&d.patchFlag!==-1||d.memo?d:_1(d)}function aM(d,s){let E=0;const{shapeFlag:R}=d;if(s==null)s=null;else if(au(s))E=16;else if(typeof s=="object")if(R&65){const K=s.default;K&&(K._c&&(K._d=!1),aM(d,K()),K._c&&(K._d=!0));return}else{E=32;const K=s._;!K&&!Iz(s)?s._ctx=Op:K===3&&Op&&(Op.slots._===1?s._=1:(s._=2,d.patchFlag|=1024))}else Vu(s)?(s={default:s,_ctx:Op},E=32):(s=String(s),R&64?(E=16,s=[Zu(s)]):E=8);d.children=s,d.shapeFlag|=E}function fK(...d){const s={};for(let E=0;EKp||Op;let m4,pA;{const d=z4(),s=(E,R)=>{let K;return(K=d[E])||(K=d[E]=[]),K.push(R),dt=>{K.length>1?K.forEach(_t=>_t(dt)):K[0](dt)}};m4=s("__VUE_INSTANCE_SETTERS__",E=>Kp=E),pA=s("__VUE_SSR_SETTERS__",E=>U2=E)}const rw=d=>{const s=Kp;return m4(d),d.scope.on(),()=>{d.scope.off(),m4(s)}},tL=()=>{Kp&&Kp.scope.off(),m4(null)};function qz(d){return d.vnode.shapeFlag&4}let U2=!1;function gK(d,s=!1,E=!1){s&&pA(s);const{props:R,children:K}=d.vnode,dt=qz(d);HY(d,R,dt,s),ZY(d,K,E||s);const _t=dt?vK(d,s):void 0;return s&&pA(!1),_t}function vK(d,s){const E=d.type;d.accessCache=Object.create(null),d.proxy=new Proxy(d.ctx,OY);const{setup:R}=E;if(R){sv();const K=d.setupContext=R.length>1?xK(d):null,dt=rw(d),_t=tw(R,d,0,[d.props,K]),It=zI(_t);if(lv(),dt(),(It||d.sp)&&!h_(d)&&_z(d),It){if(_t.then(tL,tL),s)return _t.then(jt=>{eL(d,jt)}).catch(jt=>{D4(jt,d,0)});d.asyncDep=_t}else eL(d,_t)}else $z(d)}function eL(d,s,E){Vu(s)?d.type.__ssrInlineRender?d.ssrRender=s:d.render=s:gf(s)&&(d.setupState=az(s)),$z(d)}function $z(d,s,E){const R=d.type;d.render||(d.render=R.render||mg);{const K=rw(d);sv();try{DY(d)}finally{lv(),K()}}}const yK={get(d,s){return Zp(d,"get",""),d[s]}};function xK(d){const s=E=>{d.exposed=E||{}};return{attrs:new Proxy(d.attrs,yK),slots:d.slots,emit:d.emit,expose:s}}function U4(d){return d.exposed?d.exposeProxy||(d.exposeProxy=new Proxy(az(XA(d.exposed)),{get(s,E){if(E in s)return s[E];if(E in M2)return M2[E](d)},has(s,E){return E in s||E in M2}})):d.proxy}function _K(d,s=!0){return Vu(d)?d.displayName||d.name:d.name||s&&d.__name}function bK(d){return Vu(d)&&"__vccOpts"in d}const qo=(d,s)=>mY(d,s,U2);function oM(d,s,E){const R=arguments.length;return R===2?gf(s)&&!au(s)?j2(s)?Al(d,null,[s]):Al(d,s):Al(d,null,s):(R>3?E=Array.prototype.slice.call(arguments,2):R===3&&j2(E)&&(E=[E]),Al(d,s,E))}const wK="3.5.18";/** * @vue/runtime-dom v3.5.18 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let mA;const rL=typeof window<"u"&&window.trustedTypes;if(rL)try{mA=rL.createPolicy("vue",{createHTML:d=>d})}catch{}const ZI=mA?d=>mA.createHTML(d):d=>d,kK="http://www.w3.org/2000/svg",TK="http://www.w3.org/1998/Math/MathML",Qg=typeof document<"u"?document:null,nL=Qg&&Qg.createElement("template"),AK={insert:(d,s,E)=>{s.insertBefore(d,E||null)},remove:d=>{const s=d.parentNode;s&&s.removeChild(d)},createElement:(d,s,E,R)=>{const K=s==="svg"?Qg.createElementNS(kK,d):s==="mathml"?Qg.createElementNS(TK,d):E?Qg.createElement(d,{is:E}):Qg.createElement(d);return d==="select"&&R&&R.multiple!=null&&K.setAttribute("multiple",R.multiple),K},createText:d=>Qg.createTextNode(d),createComment:d=>Qg.createComment(d),setText:(d,s)=>{d.nodeValue=s},setElementText:(d,s)=>{d.textContent=s},parentNode:d=>d.parentNode,nextSibling:d=>d.nextSibling,querySelector:d=>Qg.querySelector(d),setScopeId(d,s){d.setAttribute(s,"")},insertStaticContent(d,s,E,R,K,dt){const _t=E?E.previousSibling:s.lastChild;if(K&&(K===dt||K.nextSibling))for(;s.insertBefore(K.cloneNode(!0),E),!(K===dt||!(K=K.nextSibling)););else{nL.innerHTML=ZI(R==="svg"?`${d}`:R==="mathml"?`${d}`:d);const zt=nL.content;if(R==="svg"||R==="mathml"){const jt=zt.firstChild;for(;jt.firstChild;)zt.appendChild(jt.firstChild);zt.removeChild(jt)}s.insertBefore(zt,E)}return[_t?_t.nextSibling:s.firstChild,E?E.previousSibling:s.lastChild]}},t1="transition",t2="animation",m_=Symbol("_vtc"),GI={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},YI=ap({},gI,GI),MK=d=>(d.displayName="Transition",d.props=YI,d),KI=MK((d,{slots:s})=>oM(kY,XI(d),s)),uy=(d,s=[])=>{au(d)?d.forEach(E=>E(...s)):d&&d(...s)},iL=d=>d?au(d)?d.some(s=>s.length>1):d.length>1:!1;function XI(d){const s={};for(const oi in d)oi in GI||(s[oi]=d[oi]);if(d.css===!1)return s;const{name:E="v",type:R,duration:K,enterFromClass:dt=`${E}-enter-from`,enterActiveClass:_t=`${E}-enter-active`,enterToClass:zt=`${E}-enter-to`,appearFromClass:jt=dt,appearActiveClass:te=_t,appearToClass:se=zt,leaveFromClass:Le=`${E}-leave-from`,leaveActiveClass:Je=`${E}-leave-active`,leaveToClass:fr=`${E}-leave-to`}=d,Tr=SK(K),wr=Tr&&Tr[0],Vr=Tr&&Tr[1],{onBeforeEnter:fn,onEnter:Dt,onEnterCancelled:cn,onLeave:Qn,onLeaveCancelled:Dn,onBeforeAppear:ei=fn,onAppear:Ui=Dt,onAppearCancelled:Di=cn}=s,qr=(oi,Vn,Wn,sa)=>{oi._enterCancelled=sa,n1(oi,Vn?se:zt),n1(oi,Vn?te:_t),Wn&&Wn()},Si=(oi,Vn)=>{oi._isLeaving=!1,n1(oi,Le),n1(oi,fr),n1(oi,Je),Vn&&Vn()},jn=oi=>(Vn,Wn)=>{const sa=oi?Ui:Dt,wi=()=>qr(Vn,oi,Wn);uy(sa,[Vn,wi]),aL(()=>{n1(Vn,oi?jt:dt),sg(Vn,oi?se:zt),iL(sa)||oL(Vn,R,wr,wi)})};return ap(s,{onBeforeEnter(oi){uy(fn,[oi]),sg(oi,dt),sg(oi,_t)},onBeforeAppear(oi){uy(ei,[oi]),sg(oi,jt),sg(oi,te)},onEnter:jn(!1),onAppear:jn(!0),onLeave(oi,Vn){oi._isLeaving=!0;const Wn=()=>Si(oi,Vn);sg(oi,Le),oi._enterCancelled?(sg(oi,Je),gA()):(gA(),sg(oi,Je)),aL(()=>{oi._isLeaving&&(n1(oi,Le),sg(oi,fr),iL(Qn)||oL(oi,R,Vr,Wn))}),uy(Qn,[oi,Wn])},onEnterCancelled(oi){qr(oi,!1,void 0,!0),uy(cn,[oi])},onAppearCancelled(oi){qr(oi,!0,void 0,!0),uy(Di,[oi])},onLeaveCancelled(oi){Si(oi),uy(Dn,[oi])}})}function SK(d){if(d==null)return null;if(gf(d))return[S8(d.enter),S8(d.leave)];{const s=S8(d);return[s,s]}}function S8(d){return IG(d)}function sg(d,s){s.split(/\s+/).forEach(E=>E&&d.classList.add(E)),(d[m_]||(d[m_]=new Set)).add(s)}function n1(d,s){s.split(/\s+/).forEach(R=>R&&d.classList.remove(R));const E=d[m_];E&&(E.delete(s),E.size||(d[m_]=void 0))}function aL(d){requestAnimationFrame(()=>{requestAnimationFrame(d)})}let EK=0;function oL(d,s,E,R){const K=d._endId=++EK,dt=()=>{K===d._endId&&R()};if(E!=null)return setTimeout(dt,E);const{type:_t,timeout:zt,propCount:jt}=JI(d,s);if(!_t)return R();const te=_t+"end";let se=0;const Le=()=>{d.removeEventListener(te,Je),dt()},Je=fr=>{fr.target===d&&++se>=jt&&Le()};setTimeout(()=>{se(E[Tr]||"").split(", "),K=R(`${t1}Delay`),dt=R(`${t1}Duration`),_t=sL(K,dt),zt=R(`${t2}Delay`),jt=R(`${t2}Duration`),te=sL(zt,jt);let se=null,Le=0,Je=0;s===t1?_t>0&&(se=t1,Le=_t,Je=dt.length):s===t2?te>0&&(se=t2,Le=te,Je=jt.length):(Le=Math.max(_t,te),se=Le>0?_t>te?t1:t2:null,Je=se?se===t1?dt.length:jt.length:0);const fr=se===t1&&/\b(transform|all)(,|$)/.test(R(`${t1}Property`).toString());return{type:se,timeout:Le,propCount:Je,hasTransform:fr}}function sL(d,s){for(;d.lengthlL(E)+lL(d[R])))}function lL(d){return d==="auto"?0:Number(d.slice(0,-1).replace(",","."))*1e3}function gA(){return document.body.offsetHeight}function CK(d,s,E){const R=d[m_];R&&(s=(s?[s,...R]:[...R]).join(" ")),s==null?d.removeAttribute("class"):E?d.setAttribute("class",s):d.className=s}const g4=Symbol("_vod"),QI=Symbol("_vsh"),e2={beforeMount(d,{value:s},{transition:E}){d[g4]=d.style.display==="none"?"":d.style.display,E&&s?E.beforeEnter(d):r2(d,s)},mounted(d,{value:s},{transition:E}){E&&s&&E.enter(d)},updated(d,{value:s,oldValue:E},{transition:R}){!s!=!E&&(R?s?(R.beforeEnter(d),r2(d,!0),R.enter(d)):R.leave(d,()=>{r2(d,!1)}):r2(d,s))},beforeUnmount(d,{value:s}){r2(d,s)}};function r2(d,s){d.style.display=s?d[g4]:"none",d[QI]=!s}const LK=Symbol(""),PK=/(^|;)\s*display\s*:/;function zK(d,s,E){const R=d.style,K=ld(E);let dt=!1;if(E&&!K){if(s)if(ld(s))for(const _t of s.split(";")){const zt=_t.slice(0,_t.indexOf(":")).trim();E[zt]==null&&t4(R,zt,"")}else for(const _t in s)E[_t]==null&&t4(R,_t,"");for(const _t in E)_t==="display"&&(dt=!0),t4(R,_t,E[_t])}else if(K){if(s!==E){const _t=R[LK];_t&&(E+=";"+_t),R.cssText=E,dt=PK.test(E)}}else s&&d.removeAttribute("style");g4 in d&&(d[g4]=dt?R.display:"",d[QI]&&(R.display="none"))}const uL=/\s*!important$/;function t4(d,s,E){if(au(E))E.forEach(R=>t4(d,s,R));else if(E==null&&(E=""),s.startsWith("--"))d.setProperty(s,E);else{const R=IK(d,s);uL.test(E)?d.setProperty(Iy(R),E.replace(uL,""),"important"):d[R]=E}}const cL=["Webkit","Moz","ms"],E8={};function IK(d,s){const E=E8[s];if(E)return E;let R=hm(s);if(R!=="filter"&&R in d)return E8[s]=R;R=z4(R);for(let K=0;KC8||(BK.then(()=>C8=0),C8=Date.now());function NK(d,s){const E=R=>{if(!R._vts)R._vts=Date.now();else if(R._vts<=E.attached)return;Lm(jK(R,E.value),s,5,[R])};return E.value=d,E.attached=RK(),E}function jK(d,s){if(au(s)){const E=d.stopImmediatePropagation;return d.stopImmediatePropagation=()=>{E.call(d),d._stopped=!0},s.map(R=>K=>!K._stopped&&R&&R(K))}else return s}const gL=d=>d.charCodeAt(0)===111&&d.charCodeAt(1)===110&&d.charCodeAt(2)>96&&d.charCodeAt(2)<123,UK=(d,s,E,R,K,dt)=>{const _t=K==="svg";s==="class"?CK(d,R,_t):s==="style"?zK(d,E,R):C4(s)?UA(s)||DK(d,s,E,R,dt):(s[0]==="."?(s=s.slice(1),!0):s[0]==="^"?(s=s.slice(1),!1):VK(d,s,R,_t))?(dL(d,s,R),!d.tagName.includes("-")&&(s==="value"||s==="checked"||s==="selected")&&fL(d,s,R,_t,dt,s!=="value")):d._isVueCE&&(/[A-Z]/.test(s)||!ld(R))?dL(d,hm(s),R,dt,s):(s==="true-value"?d._trueValue=R:s==="false-value"&&(d._falseValue=R),fL(d,s,R,_t))};function VK(d,s,E,R){if(R)return!!(s==="innerHTML"||s==="textContent"||s in d&&gL(s)&&Vu(E));if(s==="spellcheck"||s==="draggable"||s==="translate"||s==="autocorrect"||s==="form"||s==="list"&&d.tagName==="INPUT"||s==="type"&&d.tagName==="TEXTAREA")return!1;if(s==="width"||s==="height"){const K=d.tagName;if(K==="IMG"||K==="VIDEO"||K==="CANVAS"||K==="SOURCE")return!1}return gL(s)&&ld(E)?!1:s in d}const tO=new WeakMap,eO=new WeakMap,v4=Symbol("_moveCb"),vL=Symbol("_enterCb"),HK=d=>(delete d.props.mode,d),WK=HK({name:"TransitionGroup",props:ap({},YI,{tag:String,moveClass:String}),setup(d,{slots:s}){const E=j4(),R=mI();let K,dt;return wI(()=>{if(!K.length)return;const _t=d.moveClass||`${d.name||"v"}-move`;if(!YK(K[0].el,E.vnode.el,_t)){K=[];return}K.forEach($K),K.forEach(ZK);const zt=K.filter(GK);gA(),zt.forEach(jt=>{const te=jt.el,se=te.style;sg(te,_t),se.transform=se.webkitTransform=se.transitionDuration="";const Le=te[v4]=Je=>{Je&&Je.target!==te||(!Je||/transform$/.test(Je.propertyName))&&(te.removeEventListener("transitionend",Le),te[v4]=null,n1(te,_t))};te.addEventListener("transitionend",Le)}),K=[]}),()=>{const _t=Eu(d),zt=XI(_t);let jt=_t.tag||mu;if(K=[],dt)for(let te=0;te{zt.split(/\s+/).forEach(jt=>jt&&R.classList.remove(jt))}),E.split(/\s+/).forEach(zt=>zt&&R.classList.add(zt)),R.style.display="none";const dt=s.nodeType===1?s:s.parentNode;dt.appendChild(R);const{hasTransform:_t}=JI(R);return dt.removeChild(R),_t}const g_=d=>{const s=d.props["onUpdate:modelValue"]||!1;return au(s)?E=>Y5(s,E):s};function KK(d){d.target.composing=!0}function yL(d){const s=d.target;s.composing&&(s.composing=!1,s.dispatchEvent(new Event("input")))}const ov=Symbol("_assign"),sM={created(d,{modifiers:{lazy:s,trim:E,number:R}},K){d[ov]=g_(K);const dt=R||K.props&&K.props.type==="number";h1(d,s?"change":"input",_t=>{if(_t.target.composing)return;let zt=d.value;E&&(zt=zt.trim()),dt&&(zt=s4(zt)),d[ov](zt)}),E&&h1(d,"change",()=>{d.value=d.value.trim()}),s||(h1(d,"compositionstart",KK),h1(d,"compositionend",yL),h1(d,"change",yL))},mounted(d,{value:s}){d.value=s??""},beforeUpdate(d,{value:s,oldValue:E,modifiers:{lazy:R,trim:K,number:dt}},_t){if(d[ov]=g_(_t),d.composing)return;const zt=(dt||d.type==="number")&&!/^0\d/.test(d.value)?s4(d.value):d.value,jt=s??"";zt!==jt&&(document.activeElement===d&&d.type!=="range"&&(R&&s===E||K&&d.value.trim()===jt)||(d.value=jt))}},V2={created(d,{value:s},E){d.checked=p_(s,E.props.value),d[ov]=g_(E),h1(d,"change",()=>{d[ov](H2(d))})},beforeUpdate(d,{value:s,oldValue:E},R){d[ov]=g_(R),s!==E&&(d.checked=p_(s,R.props.value))}},vA={deep:!0,created(d,{value:s,modifiers:{number:E}},R){const K=L4(s);h1(d,"change",()=>{const dt=Array.prototype.filter.call(d.options,_t=>_t.selected).map(_t=>E?s4(H2(_t)):H2(_t));d[ov](d.multiple?K?new Set(dt):dt:dt[0]),d._assigning=!0,S0(()=>{d._assigning=!1})}),d[ov]=g_(R)},mounted(d,{value:s}){xL(d,s)},beforeUpdate(d,s,E){d[ov]=g_(E)},updated(d,{value:s}){d._assigning||xL(d,s)}};function xL(d,s){const E=d.multiple,R=au(s);if(!(E&&!R&&!L4(s))){for(let K=0,dt=d.options.length;KString(te)===String(zt)):_t.selected=UG(s,zt)>-1}else _t.selected=s.has(zt);else if(p_(H2(_t),s)){d.selectedIndex!==K&&(d.selectedIndex=K);return}}!E&&d.selectedIndex!==-1&&(d.selectedIndex=-1)}}function H2(d){return"_value"in d?d._value:d.value}const XK=["ctrl","shift","alt","meta"],JK={stop:d=>d.stopPropagation(),prevent:d=>d.preventDefault(),self:d=>d.target!==d.currentTarget,ctrl:d=>!d.ctrlKey,shift:d=>!d.shiftKey,alt:d=>!d.altKey,meta:d=>!d.metaKey,left:d=>"button"in d&&d.button!==0,middle:d=>"button"in d&&d.button!==1,right:d=>"button"in d&&d.button!==2,exact:(d,s)=>XK.some(E=>d[`${E}Key`]&&!s.includes(E))},Pm=(d,s)=>{const E=d._withMods||(d._withMods={}),R=s.join(".");return E[R]||(E[R]=(K,...dt)=>{for(let _t=0;_t{const s=tX().createApp(...d),{mount:E}=s;return s.mount=R=>{const K=nX(R);if(!K)return;const dt=s._component;!Vu(dt)&&!dt.render&&!dt.template&&(dt.template=K.innerHTML),K.nodeType===1&&(K.textContent="");const _t=E(K,!1,rX(K));return K instanceof Element&&(K.removeAttribute("v-cloak"),K.setAttribute("data-v-app","")),_t},s};function rX(d){if(d instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&d instanceof MathMLElement)return"mathml"}function nX(d){return ld(d)?document.querySelector(d):d}/*! +**/let mA;const rL=typeof window<"u"&&window.trustedTypes;if(rL)try{mA=rL.createPolicy("vue",{createHTML:d=>d})}catch{}const Zz=mA?d=>mA.createHTML(d):d=>d,kK="http://www.w3.org/2000/svg",TK="http://www.w3.org/1998/Math/MathML",Qg=typeof document<"u"?document:null,nL=Qg&&Qg.createElement("template"),AK={insert:(d,s,E)=>{s.insertBefore(d,E||null)},remove:d=>{const s=d.parentNode;s&&s.removeChild(d)},createElement:(d,s,E,R)=>{const K=s==="svg"?Qg.createElementNS(kK,d):s==="mathml"?Qg.createElementNS(TK,d):E?Qg.createElement(d,{is:E}):Qg.createElement(d);return d==="select"&&R&&R.multiple!=null&&K.setAttribute("multiple",R.multiple),K},createText:d=>Qg.createTextNode(d),createComment:d=>Qg.createComment(d),setText:(d,s)=>{d.nodeValue=s},setElementText:(d,s)=>{d.textContent=s},parentNode:d=>d.parentNode,nextSibling:d=>d.nextSibling,querySelector:d=>Qg.querySelector(d),setScopeId(d,s){d.setAttribute(s,"")},insertStaticContent(d,s,E,R,K,dt){const _t=E?E.previousSibling:s.lastChild;if(K&&(K===dt||K.nextSibling))for(;s.insertBefore(K.cloneNode(!0),E),!(K===dt||!(K=K.nextSibling)););else{nL.innerHTML=Zz(R==="svg"?`${d}`:R==="mathml"?`${d}`:d);const It=nL.content;if(R==="svg"||R==="mathml"){const jt=It.firstChild;for(;jt.firstChild;)It.appendChild(jt.firstChild);It.removeChild(jt)}s.insertBefore(It,E)}return[_t?_t.nextSibling:s.firstChild,E?E.previousSibling:s.lastChild]}},t1="transition",t2="animation",m_=Symbol("_vtc"),Gz={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Yz=ap({},gz,Gz),MK=d=>(d.displayName="Transition",d.props=Yz,d),Kz=MK((d,{slots:s})=>oM(kY,Xz(d),s)),uy=(d,s=[])=>{au(d)?d.forEach(E=>E(...s)):d&&d(...s)},iL=d=>d?au(d)?d.some(s=>s.length>1):d.length>1:!1;function Xz(d){const s={};for(const si in d)si in Gz||(s[si]=d[si]);if(d.css===!1)return s;const{name:E="v",type:R,duration:K,enterFromClass:dt=`${E}-enter-from`,enterActiveClass:_t=`${E}-enter-active`,enterToClass:It=`${E}-enter-to`,appearFromClass:jt=dt,appearActiveClass:te=_t,appearToClass:le=It,leaveFromClass:Le=`${E}-leave-from`,leaveActiveClass:Je=`${E}-leave-active`,leaveToClass:fr=`${E}-leave-to`}=d,Tr=SK(K),wr=Tr&&Tr[0],Vr=Tr&&Tr[1],{onBeforeEnter:fn,onEnter:Dt,onEnterCancelled:un,onLeave:Qn,onLeaveCancelled:Dn,onBeforeAppear:Xn=fn,onAppear:Ni=Dt,onAppearCancelled:zi=un}=s,qr=(si,Hn,Vn,sa)=>{si._enterCancelled=sa,n1(si,Hn?le:It),n1(si,Hn?te:_t),Vn&&Vn()},Si=(si,Hn)=>{si._isLeaving=!1,n1(si,Le),n1(si,fr),n1(si,Je),Hn&&Hn()},Nn=si=>(Hn,Vn)=>{const sa=si?Ni:Dt,Ti=()=>qr(Hn,si,Vn);uy(sa,[Hn,Ti]),aL(()=>{n1(Hn,si?jt:dt),sg(Hn,si?le:It),iL(sa)||oL(Hn,R,wr,Ti)})};return ap(s,{onBeforeEnter(si){uy(fn,[si]),sg(si,dt),sg(si,_t)},onBeforeAppear(si){uy(Xn,[si]),sg(si,jt),sg(si,te)},onEnter:Nn(!1),onAppear:Nn(!0),onLeave(si,Hn){si._isLeaving=!0;const Vn=()=>Si(si,Hn);sg(si,Le),si._enterCancelled?(sg(si,Je),gA()):(gA(),sg(si,Je)),aL(()=>{si._isLeaving&&(n1(si,Le),sg(si,fr),iL(Qn)||oL(si,R,Vr,Vn))}),uy(Qn,[si,Vn])},onEnterCancelled(si){qr(si,!1,void 0,!0),uy(un,[si])},onAppearCancelled(si){qr(si,!0,void 0,!0),uy(zi,[si])},onLeaveCancelled(si){Si(si),uy(Dn,[si])}})}function SK(d){if(d==null)return null;if(gf(d))return[S8(d.enter),S8(d.leave)];{const s=S8(d);return[s,s]}}function S8(d){return zG(d)}function sg(d,s){s.split(/\s+/).forEach(E=>E&&d.classList.add(E)),(d[m_]||(d[m_]=new Set)).add(s)}function n1(d,s){s.split(/\s+/).forEach(R=>R&&d.classList.remove(R));const E=d[m_];E&&(E.delete(s),E.size||(d[m_]=void 0))}function aL(d){requestAnimationFrame(()=>{requestAnimationFrame(d)})}let EK=0;function oL(d,s,E,R){const K=d._endId=++EK,dt=()=>{K===d._endId&&R()};if(E!=null)return setTimeout(dt,E);const{type:_t,timeout:It,propCount:jt}=Jz(d,s);if(!_t)return R();const te=_t+"end";let le=0;const Le=()=>{d.removeEventListener(te,Je),dt()},Je=fr=>{fr.target===d&&++le>=jt&&Le()};setTimeout(()=>{le(E[Tr]||"").split(", "),K=R(`${t1}Delay`),dt=R(`${t1}Duration`),_t=sL(K,dt),It=R(`${t2}Delay`),jt=R(`${t2}Duration`),te=sL(It,jt);let le=null,Le=0,Je=0;s===t1?_t>0&&(le=t1,Le=_t,Je=dt.length):s===t2?te>0&&(le=t2,Le=te,Je=jt.length):(Le=Math.max(_t,te),le=Le>0?_t>te?t1:t2:null,Je=le?le===t1?dt.length:jt.length:0);const fr=le===t1&&/\b(transform|all)(,|$)/.test(R(`${t1}Property`).toString());return{type:le,timeout:Le,propCount:Je,hasTransform:fr}}function sL(d,s){for(;d.lengthlL(E)+lL(d[R])))}function lL(d){return d==="auto"?0:Number(d.slice(0,-1).replace(",","."))*1e3}function gA(){return document.body.offsetHeight}function CK(d,s,E){const R=d[m_];R&&(s=(s?[s,...R]:[...R]).join(" ")),s==null?d.removeAttribute("class"):E?d.setAttribute("class",s):d.className=s}const g4=Symbol("_vod"),Qz=Symbol("_vsh"),e2={beforeMount(d,{value:s},{transition:E}){d[g4]=d.style.display==="none"?"":d.style.display,E&&s?E.beforeEnter(d):r2(d,s)},mounted(d,{value:s},{transition:E}){E&&s&&E.enter(d)},updated(d,{value:s,oldValue:E},{transition:R}){!s!=!E&&(R?s?(R.beforeEnter(d),r2(d,!0),R.enter(d)):R.leave(d,()=>{r2(d,!1)}):r2(d,s))},beforeUnmount(d,{value:s}){r2(d,s)}};function r2(d,s){d.style.display=s?d[g4]:"none",d[Qz]=!s}const LK=Symbol(""),PK=/(^|;)\s*display\s*:/;function IK(d,s,E){const R=d.style,K=ld(E);let dt=!1;if(E&&!K){if(s)if(ld(s))for(const _t of s.split(";")){const It=_t.slice(0,_t.indexOf(":")).trim();E[It]==null&&t4(R,It,"")}else for(const _t in s)E[_t]==null&&t4(R,_t,"");for(const _t in E)_t==="display"&&(dt=!0),t4(R,_t,E[_t])}else if(K){if(s!==E){const _t=R[LK];_t&&(E+=";"+_t),R.cssText=E,dt=PK.test(E)}}else s&&d.removeAttribute("style");g4 in d&&(d[g4]=dt?R.display:"",d[Qz]&&(R.display="none"))}const uL=/\s*!important$/;function t4(d,s,E){if(au(E))E.forEach(R=>t4(d,s,R));else if(E==null&&(E=""),s.startsWith("--"))d.setProperty(s,E);else{const R=zK(d,s);uL.test(E)?d.setProperty(zy(R),E.replace(uL,""),"important"):d[R]=E}}const cL=["Webkit","Moz","ms"],E8={};function zK(d,s){const E=E8[s];if(E)return E;let R=hm(s);if(R!=="filter"&&R in d)return E8[s]=R;R=I4(R);for(let K=0;KC8||(BK.then(()=>C8=0),C8=Date.now());function NK(d,s){const E=R=>{if(!R._vts)R._vts=Date.now();else if(R._vts<=E.attached)return;Lm(jK(R,E.value),s,5,[R])};return E.value=d,E.attached=RK(),E}function jK(d,s){if(au(s)){const E=d.stopImmediatePropagation;return d.stopImmediatePropagation=()=>{E.call(d),d._stopped=!0},s.map(R=>K=>!K._stopped&&R&&R(K))}else return s}const gL=d=>d.charCodeAt(0)===111&&d.charCodeAt(1)===110&&d.charCodeAt(2)>96&&d.charCodeAt(2)<123,UK=(d,s,E,R,K,dt)=>{const _t=K==="svg";s==="class"?CK(d,R,_t):s==="style"?IK(d,E,R):C4(s)?UA(s)||DK(d,s,E,R,dt):(s[0]==="."?(s=s.slice(1),!0):s[0]==="^"?(s=s.slice(1),!1):VK(d,s,R,_t))?(dL(d,s,R),!d.tagName.includes("-")&&(s==="value"||s==="checked"||s==="selected")&&fL(d,s,R,_t,dt,s!=="value")):d._isVueCE&&(/[A-Z]/.test(s)||!ld(R))?dL(d,hm(s),R,dt,s):(s==="true-value"?d._trueValue=R:s==="false-value"&&(d._falseValue=R),fL(d,s,R,_t))};function VK(d,s,E,R){if(R)return!!(s==="innerHTML"||s==="textContent"||s in d&&gL(s)&&Vu(E));if(s==="spellcheck"||s==="draggable"||s==="translate"||s==="autocorrect"||s==="form"||s==="list"&&d.tagName==="INPUT"||s==="type"&&d.tagName==="TEXTAREA")return!1;if(s==="width"||s==="height"){const K=d.tagName;if(K==="IMG"||K==="VIDEO"||K==="CANVAS"||K==="SOURCE")return!1}return gL(s)&&ld(E)?!1:s in d}const tO=new WeakMap,eO=new WeakMap,v4=Symbol("_moveCb"),vL=Symbol("_enterCb"),HK=d=>(delete d.props.mode,d),WK=HK({name:"TransitionGroup",props:ap({},Yz,{tag:String,moveClass:String}),setup(d,{slots:s}){const E=j4(),R=mz();let K,dt;return wz(()=>{if(!K.length)return;const _t=d.moveClass||`${d.name||"v"}-move`;if(!YK(K[0].el,E.vnode.el,_t)){K=[];return}K.forEach($K),K.forEach(ZK);const It=K.filter(GK);gA(),It.forEach(jt=>{const te=jt.el,le=te.style;sg(te,_t),le.transform=le.webkitTransform=le.transitionDuration="";const Le=te[v4]=Je=>{Je&&Je.target!==te||(!Je||/transform$/.test(Je.propertyName))&&(te.removeEventListener("transitionend",Le),te[v4]=null,n1(te,_t))};te.addEventListener("transitionend",Le)}),K=[]}),()=>{const _t=Eu(d),It=Xz(_t);let jt=_t.tag||cu;if(K=[],dt)for(let te=0;te{It.split(/\s+/).forEach(jt=>jt&&R.classList.remove(jt))}),E.split(/\s+/).forEach(It=>It&&R.classList.add(It)),R.style.display="none";const dt=s.nodeType===1?s:s.parentNode;dt.appendChild(R);const{hasTransform:_t}=Jz(R);return dt.removeChild(R),_t}const g_=d=>{const s=d.props["onUpdate:modelValue"]||!1;return au(s)?E=>Y5(s,E):s};function KK(d){d.target.composing=!0}function yL(d){const s=d.target;s.composing&&(s.composing=!1,s.dispatchEvent(new Event("input")))}const ov=Symbol("_assign"),sM={created(d,{modifiers:{lazy:s,trim:E,number:R}},K){d[ov]=g_(K);const dt=R||K.props&&K.props.type==="number";h1(d,s?"change":"input",_t=>{if(_t.target.composing)return;let It=d.value;E&&(It=It.trim()),dt&&(It=s4(It)),d[ov](It)}),E&&h1(d,"change",()=>{d.value=d.value.trim()}),s||(h1(d,"compositionstart",KK),h1(d,"compositionend",yL),h1(d,"change",yL))},mounted(d,{value:s}){d.value=s??""},beforeUpdate(d,{value:s,oldValue:E,modifiers:{lazy:R,trim:K,number:dt}},_t){if(d[ov]=g_(_t),d.composing)return;const It=(dt||d.type==="number")&&!/^0\d/.test(d.value)?s4(d.value):d.value,jt=s??"";It!==jt&&(document.activeElement===d&&d.type!=="range"&&(R&&s===E||K&&d.value.trim()===jt)||(d.value=jt))}},V2={created(d,{value:s},E){d.checked=p_(s,E.props.value),d[ov]=g_(E),h1(d,"change",()=>{d[ov](H2(d))})},beforeUpdate(d,{value:s,oldValue:E},R){d[ov]=g_(R),s!==E&&(d.checked=p_(s,R.props.value))}},vA={deep:!0,created(d,{value:s,modifiers:{number:E}},R){const K=L4(s);h1(d,"change",()=>{const dt=Array.prototype.filter.call(d.options,_t=>_t.selected).map(_t=>E?s4(H2(_t)):H2(_t));d[ov](d.multiple?K?new Set(dt):dt:dt[0]),d._assigning=!0,S0(()=>{d._assigning=!1})}),d[ov]=g_(R)},mounted(d,{value:s}){xL(d,s)},beforeUpdate(d,s,E){d[ov]=g_(E)},updated(d,{value:s}){d._assigning||xL(d,s)}};function xL(d,s){const E=d.multiple,R=au(s);if(!(E&&!R&&!L4(s))){for(let K=0,dt=d.options.length;KString(te)===String(It)):_t.selected=UG(s,It)>-1}else _t.selected=s.has(It);else if(p_(H2(_t),s)){d.selectedIndex!==K&&(d.selectedIndex=K);return}}!E&&d.selectedIndex!==-1&&(d.selectedIndex=-1)}}function H2(d){return"_value"in d?d._value:d.value}const XK=["ctrl","shift","alt","meta"],JK={stop:d=>d.stopPropagation(),prevent:d=>d.preventDefault(),self:d=>d.target!==d.currentTarget,ctrl:d=>!d.ctrlKey,shift:d=>!d.shiftKey,alt:d=>!d.altKey,meta:d=>!d.metaKey,left:d=>"button"in d&&d.button!==0,middle:d=>"button"in d&&d.button!==1,right:d=>"button"in d&&d.button!==2,exact:(d,s)=>XK.some(E=>d[`${E}Key`]&&!s.includes(E))},Pm=(d,s)=>{const E=d._withMods||(d._withMods={}),R=s.join(".");return E[R]||(E[R]=(K,...dt)=>{for(let _t=0;_t{const s=tX().createApp(...d),{mount:E}=s;return s.mount=R=>{const K=nX(R);if(!K)return;const dt=s._component;!Vu(dt)&&!dt.render&&!dt.template&&(dt.template=K.innerHTML),K.nodeType===1&&(K.textContent="");const _t=E(K,!1,rX(K));return K instanceof Element&&(K.removeAttribute("v-cloak"),K.setAttribute("data-v-app","")),_t},s};function rX(d){if(d instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&d instanceof MathMLElement)return"mathml"}function nX(d){return ld(d)?document.querySelector(d):d}/*! * pinia v3.0.4 * (c) 2025 Eduardo San Martin Morote * @license MIT - */let rO;const V4=d=>rO=d,nO=Symbol();function yA(d){return d&&typeof d=="object"&&Object.prototype.toString.call(d)==="[object Object]"&&typeof d.toJSON!="function"}var E2;(function(d){d.direct="direct",d.patchObject="patch object",d.patchFunction="patch function"})(E2||(E2={}));function iX(){const d=jz(!0),s=d.run(()=>ja({}));let E=[],R=[];const K=XA({install(dt){V4(K),K._a=dt,dt.provide(nO,K),dt.config.globalProperties.$pinia=K,R.forEach(_t=>E.push(_t)),R=[]},use(dt){return this._a?E.push(dt):R.push(dt),this},_p:E,_a:null,_e:d,_s:new Map,state:s});return K}const iO=()=>{};function bL(d,s,E,R=iO){d.add(s);const K=()=>{d.delete(s)&&R()};return!E&&Uz()&&VG(K),K}function r_(d,...s){d.forEach(E=>{E(...s)})}const aX=d=>d(),wL=Symbol(),L8=Symbol();function xA(d,s){d instanceof Map&&s instanceof Map?s.forEach((E,R)=>d.set(R,E)):d instanceof Set&&s instanceof Set&&s.forEach(d.add,d);for(const E in s){if(!s.hasOwnProperty(E))continue;const R=s[E],K=d[E];yA(K)&&yA(R)&&d.hasOwnProperty(E)&&!jd(R)&&!v1(R)?d[E]=xA(K,R):d[E]=R}return d}const oX=Symbol();function sX(d){return!yA(d)||!Object.prototype.hasOwnProperty.call(d,oX)}const{assign:i1}=Object;function lX(d){return!!(jd(d)&&d.effect)}function uX(d,s,E,R){const{state:K,actions:dt,getters:_t}=s,zt=E.state.value[d];let jt;function te(){zt||(E.state.value[d]=K?K():{});const se=hY(E.state.value[d]);return i1(se,dt,Object.keys(_t||{}).reduce((Le,Je)=>(Le[Je]=XA(Wo(()=>{V4(E);const fr=E._s.get(d);return _t[Je].call(fr,fr)})),Le),{}))}return jt=aO(d,te,s,E,R,!0),jt}function aO(d,s,E={},R,K,dt){let _t;const zt=i1({actions:{}},E),jt={deep:!0};let te,se,Le=new Set,Je=new Set,fr;const Tr=R.state.value[d];!dt&&!Tr&&(R.state.value[d]={}),ja({});let wr;function Vr(Di){let qr;te=se=!1,typeof Di=="function"?(Di(R.state.value[d]),qr={type:E2.patchFunction,storeId:d,events:fr}):(xA(R.state.value[d],Di),qr={type:E2.patchObject,payload:Di,storeId:d,events:fr});const Si=wr=Symbol();S0().then(()=>{wr===Si&&(te=!0)}),se=!0,r_(Le,qr,R.state.value[d])}const fn=dt?function(){const{state:qr}=E,Si=qr?qr():{};this.$patch(jn=>{i1(jn,Si)})}:iO;function Dt(){_t.stop(),Le.clear(),Je.clear(),R._s.delete(d)}const cn=(Di,qr="")=>{if(wL in Di)return Di[L8]=qr,Di;const Si=function(){V4(R);const jn=Array.from(arguments),oi=new Set,Vn=new Set;function Wn(hi){oi.add(hi)}function sa(hi){Vn.add(hi)}r_(Je,{args:jn,name:Si[L8],store:Dn,after:Wn,onError:sa});let wi;try{wi=Di.apply(this&&this.$id===d?this:Dn,jn)}catch(hi){throw r_(Vn,hi),hi}return wi instanceof Promise?wi.then(hi=>(r_(oi,hi),hi)).catch(hi=>(r_(Vn,hi),Promise.reject(hi))):(r_(oi,wi),wi)};return Si[wL]=!0,Si[L8]=qr,Si},Qn={_p:R,$id:d,$onAction:bL.bind(null,Je),$patch:Vr,$reset:fn,$subscribe(Di,qr={}){const Si=bL(Le,Di,qr.detached,()=>jn()),jn=_t.run(()=>Em(()=>R.state.value[d],oi=>{(qr.flush==="sync"?se:te)&&Di({storeId:d,type:E2.direct,events:fr},oi)},i1({},jt,qr)));return Si},$dispose:Dt},Dn=Ey(Qn);R._s.set(d,Dn);const Ui=(R._a&&R._a.runWithContext||aX)(()=>R._e.run(()=>(_t=jz()).run(()=>s({action:cn}))));for(const Di in Ui){const qr=Ui[Di];if(jd(qr)&&!lX(qr)||v1(qr))dt||(Tr&&sX(qr)&&(jd(qr)?qr.value=Tr[Di]:xA(qr,Tr[Di])),R.state.value[d][Di]=qr);else if(typeof qr=="function"){const Si=cn(qr,Di);Ui[Di]=Si,zt.actions[Di]=qr}}return i1(Dn,Ui),i1(Eu(Dn),Ui),Object.defineProperty(Dn,"$state",{get:()=>R.state.value[d],set:Di=>{Vr(qr=>{i1(qr,Di)})}}),R._p.forEach(Di=>{i1(Dn,_t.run(()=>Di({store:Dn,app:R._a,pinia:R,options:zt})))}),Tr&&dt&&E.hydrate&&E.hydrate(Dn.$state,Tr),te=!0,se=!0,Dn}/*! #__NO_SIDE_EFFECTS__ */function lM(d,s,E){let R;const K=typeof s=="function";R=K?E:s;function dt(_t,zt){const jt=VY();return _t=_t||(jt?cm(nO,null):null),_t&&V4(_t),_t=rO,_t._s.has(d)||(K?aO(d,s,R,_t):uX(d,R,_t)),_t._s.get(d)}return dt.$id=d,dt}const cX="/assets/meshcore-DQNtEl5I.svg";/*! + */let rO;const V4=d=>rO=d,nO=Symbol();function yA(d){return d&&typeof d=="object"&&Object.prototype.toString.call(d)==="[object Object]"&&typeof d.toJSON!="function"}var E2;(function(d){d.direct="direct",d.patchObject="patch object",d.patchFunction="patch function"})(E2||(E2={}));function iX(){const d=jI(!0),s=d.run(()=>ja({}));let E=[],R=[];const K=XA({install(dt){V4(K),K._a=dt,dt.provide(nO,K),dt.config.globalProperties.$pinia=K,R.forEach(_t=>E.push(_t)),R=[]},use(dt){return this._a?E.push(dt):R.push(dt),this},_p:E,_a:null,_e:d,_s:new Map,state:s});return K}const iO=()=>{};function bL(d,s,E,R=iO){d.add(s);const K=()=>{d.delete(s)&&R()};return!E&&UI()&&VG(K),K}function r_(d,...s){d.forEach(E=>{E(...s)})}const aX=d=>d(),wL=Symbol(),L8=Symbol();function xA(d,s){d instanceof Map&&s instanceof Map?s.forEach((E,R)=>d.set(R,E)):d instanceof Set&&s instanceof Set&&s.forEach(d.add,d);for(const E in s){if(!s.hasOwnProperty(E))continue;const R=s[E],K=d[E];yA(K)&&yA(R)&&d.hasOwnProperty(E)&&!jd(R)&&!v1(R)?d[E]=xA(K,R):d[E]=R}return d}const oX=Symbol();function sX(d){return!yA(d)||!Object.prototype.hasOwnProperty.call(d,oX)}const{assign:i1}=Object;function lX(d){return!!(jd(d)&&d.effect)}function uX(d,s,E,R){const{state:K,actions:dt,getters:_t}=s,It=E.state.value[d];let jt;function te(){It||(E.state.value[d]=K?K():{});const le=hY(E.state.value[d]);return i1(le,dt,Object.keys(_t||{}).reduce((Le,Je)=>(Le[Je]=XA(qo(()=>{V4(E);const fr=E._s.get(d);return _t[Je].call(fr,fr)})),Le),{}))}return jt=aO(d,te,s,E,R,!0),jt}function aO(d,s,E={},R,K,dt){let _t;const It=i1({actions:{}},E),jt={deep:!0};let te,le,Le=new Set,Je=new Set,fr;const Tr=R.state.value[d];!dt&&!Tr&&(R.state.value[d]={}),ja({});let wr;function Vr(zi){let qr;te=le=!1,typeof zi=="function"?(zi(R.state.value[d]),qr={type:E2.patchFunction,storeId:d,events:fr}):(xA(R.state.value[d],zi),qr={type:E2.patchObject,payload:zi,storeId:d,events:fr});const Si=wr=Symbol();S0().then(()=>{wr===Si&&(te=!0)}),le=!0,r_(Le,qr,R.state.value[d])}const fn=dt?function(){const{state:qr}=E,Si=qr?qr():{};this.$patch(Nn=>{i1(Nn,Si)})}:iO;function Dt(){_t.stop(),Le.clear(),Je.clear(),R._s.delete(d)}const un=(zi,qr="")=>{if(wL in zi)return zi[L8]=qr,zi;const Si=function(){V4(R);const Nn=Array.from(arguments),si=new Set,Hn=new Set;function Vn(fi){si.add(fi)}function sa(fi){Hn.add(fi)}r_(Je,{args:Nn,name:Si[L8],store:Dn,after:Vn,onError:sa});let Ti;try{Ti=zi.apply(this&&this.$id===d?this:Dn,Nn)}catch(fi){throw r_(Hn,fi),fi}return Ti instanceof Promise?Ti.then(fi=>(r_(si,fi),fi)).catch(fi=>(r_(Hn,fi),Promise.reject(fi))):(r_(si,Ti),Ti)};return Si[wL]=!0,Si[L8]=qr,Si},Qn={_p:R,$id:d,$onAction:bL.bind(null,Je),$patch:Vr,$reset:fn,$subscribe(zi,qr={}){const Si=bL(Le,zi,qr.detached,()=>Nn()),Nn=_t.run(()=>Em(()=>R.state.value[d],si=>{(qr.flush==="sync"?le:te)&&zi({storeId:d,type:E2.direct,events:fr},si)},i1({},jt,qr)));return Si},$dispose:Dt},Dn=Ey(Qn);R._s.set(d,Dn);const Ni=(R._a&&R._a.runWithContext||aX)(()=>R._e.run(()=>(_t=jI()).run(()=>s({action:un}))));for(const zi in Ni){const qr=Ni[zi];if(jd(qr)&&!lX(qr)||v1(qr))dt||(Tr&&sX(qr)&&(jd(qr)?qr.value=Tr[zi]:xA(qr,Tr[zi])),R.state.value[d][zi]=qr);else if(typeof qr=="function"){const Si=un(qr,zi);Ni[zi]=Si,It.actions[zi]=qr}}return i1(Dn,Ni),i1(Eu(Dn),Ni),Object.defineProperty(Dn,"$state",{get:()=>R.state.value[d],set:zi=>{Vr(qr=>{i1(qr,zi)})}}),R._p.forEach(zi=>{i1(Dn,_t.run(()=>zi({store:Dn,app:R._a,pinia:R,options:It})))}),Tr&&dt&&E.hydrate&&E.hydrate(Dn.$state,Tr),te=!0,le=!0,Dn}/*! #__NO_SIDE_EFFECTS__ */function lM(d,s,E){let R;const K=typeof s=="function";R=K?E:s;function dt(_t,It){const jt=VY();return _t=_t||(jt?cm(nO,null):null),_t&&V4(_t),_t=rO,_t._s.has(d)||(K?aO(d,s,R,_t):uX(d,R,_t)),_t._s.get(d)}return dt.$id=d,dt}const cX="/assets/meshcore-DQNtEl5I.svg";/*! * vue-router v4.6.3 * (c) 2025 Eduardo San Martin Morote * @license MIT - */const s_=typeof document<"u";function oO(d){return typeof d=="object"||"displayName"in d||"props"in d||"__vccOpts"in d}function hX(d){return d.__esModule||d[Symbol.toStringTag]==="Module"||d.default&&oO(d.default)}const Bh=Object.assign;function P8(d,s){const E={};for(const R in s){const K=s[R];E[R]=zm(K)?K.map(d):d(K)}return E}const C2=()=>{},zm=Array.isArray;function kL(d,s){const E={};for(const R in d)E[R]=R in s?s[R]:d[R];return E}const sO=/#/g,fX=/&/g,dX=/\//g,pX=/=/g,mX=/\?/g,lO=/\+/g,gX=/%5B/g,vX=/%5D/g,uO=/%5E/g,yX=/%60/g,cO=/%7B/g,xX=/%7C/g,hO=/%7D/g,_X=/%20/g;function uM(d){return d==null?"":encodeURI(""+d).replace(xX,"|").replace(gX,"[").replace(vX,"]")}function bX(d){return uM(d).replace(cO,"{").replace(hO,"}").replace(uO,"^")}function _A(d){return uM(d).replace(lO,"%2B").replace(_X,"+").replace(sO,"%23").replace(fX,"%26").replace(yX,"`").replace(cO,"{").replace(hO,"}").replace(uO,"^")}function wX(d){return _A(d).replace(pX,"%3D")}function kX(d){return uM(d).replace(sO,"%23").replace(mX,"%3F")}function TX(d){return kX(d).replace(dX,"%2F")}function W2(d){if(d==null)return null;try{return decodeURIComponent(""+d)}catch{}return""+d}const AX=/\/$/,MX=d=>d.replace(AX,"");function z8(d,s,E="/"){let R,K={},dt="",_t="";const zt=s.indexOf("#");let jt=s.indexOf("?");return jt=zt>=0&&jt>zt?-1:jt,jt>=0&&(R=s.slice(0,jt),dt=s.slice(jt,zt>0?zt:s.length),K=d(dt.slice(1))),zt>=0&&(R=R||s.slice(0,zt),_t=s.slice(zt,s.length)),R=LX(R??s,E),{fullPath:R+dt+_t,path:R,query:K,hash:W2(_t)}}function SX(d,s){const E=s.query?d(s.query):"";return s.path+(E&&"?")+E+(s.hash||"")}function TL(d,s){return!s||!d.toLowerCase().startsWith(s.toLowerCase())?d:d.slice(s.length)||"/"}function EX(d,s,E){const R=s.matched.length-1,K=E.matched.length-1;return R>-1&&R===K&&v_(s.matched[R],E.matched[K])&&fO(s.params,E.params)&&d(s.query)===d(E.query)&&s.hash===E.hash}function v_(d,s){return(d.aliasOf||d)===(s.aliasOf||s)}function fO(d,s){if(Object.keys(d).length!==Object.keys(s).length)return!1;for(const E in d)if(!CX(d[E],s[E]))return!1;return!0}function CX(d,s){return zm(d)?AL(d,s):zm(s)?AL(s,d):d===s}function AL(d,s){return zm(s)?d.length===s.length&&d.every((E,R)=>E===s[R]):d.length===1&&d[0]===s}function LX(d,s){if(d.startsWith("/"))return d;if(!d)return s;const E=s.split("/"),R=d.split("/"),K=R[R.length-1];(K===".."||K===".")&&R.push("");let dt=E.length-1,_t,zt;for(_t=0;_t1&&dt--;else break;return E.slice(0,dt).join("/")+"/"+R.slice(_t).join("/")}const e1={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let bA=function(d){return d.pop="pop",d.push="push",d}({}),I8=function(d){return d.back="back",d.forward="forward",d.unknown="",d}({});function PX(d){if(!d)if(s_){const s=document.querySelector("base");d=s&&s.getAttribute("href")||"/",d=d.replace(/^\w+:\/\/[^\/]+/,"")}else d="/";return d[0]!=="/"&&d[0]!=="#"&&(d="/"+d),MX(d)}const zX=/^[^#]+#/;function IX(d,s){return d.replace(zX,"#")+s}function OX(d,s){const E=document.documentElement.getBoundingClientRect(),R=d.getBoundingClientRect();return{behavior:s.behavior,left:R.left-E.left-(s.left||0),top:R.top-E.top-(s.top||0)}}const H4=()=>({left:window.scrollX,top:window.scrollY});function DX(d){let s;if("el"in d){const E=d.el,R=typeof E=="string"&&E.startsWith("#"),K=typeof E=="string"?R?document.getElementById(E.slice(1)):document.querySelector(E):E;if(!K)return;s=OX(K,d)}else s=d;"scrollBehavior"in document.documentElement.style?window.scrollTo(s):window.scrollTo(s.left!=null?s.left:window.scrollX,s.top!=null?s.top:window.scrollY)}function ML(d,s){return(history.state?history.state.position-s:-1)+d}const wA=new Map;function FX(d,s){wA.set(d,s)}function BX(d){const s=wA.get(d);return wA.delete(d),s}function RX(d){return typeof d=="string"||d&&typeof d=="object"}function dO(d){return typeof d=="string"||typeof d=="symbol"}let xd=function(d){return d[d.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",d[d.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",d[d.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",d[d.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",d[d.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",d}({});const pO=Symbol("");xd.MATCHER_NOT_FOUND+"",xd.NAVIGATION_GUARD_REDIRECT+"",xd.NAVIGATION_ABORTED+"",xd.NAVIGATION_CANCELLED+"",xd.NAVIGATION_DUPLICATED+"";function y_(d,s){return Bh(new Error,{type:d,[pO]:!0},s)}function Yg(d,s){return d instanceof Error&&pO in d&&(s==null||!!(d.type&s))}const NX=["params","query","hash"];function jX(d){if(typeof d=="string")return d;if(d.path!=null)return d.path;const s={};for(const E of NX)E in d&&(s[E]=d[E]);return JSON.stringify(s,null,2)}function UX(d){const s={};if(d===""||d==="?")return s;const E=(d[0]==="?"?d.slice(1):d).split("&");for(let R=0;RK&&_A(K)):[R&&_A(R)]).forEach(K=>{K!==void 0&&(s+=(s.length?"&":"")+E,K!=null&&(s+="="+K))})}return s}function VX(d){const s={};for(const E in d){const R=d[E];R!==void 0&&(s[E]=zm(R)?R.map(K=>K==null?null:""+K):R==null?R:""+R)}return s}const HX=Symbol(""),EL=Symbol(""),W4=Symbol(""),cM=Symbol(""),kA=Symbol("");function n2(){let d=[];function s(R){return d.push(R),()=>{const K=d.indexOf(R);K>-1&&d.splice(K,1)}}function E(){d=[]}return{add:s,list:()=>d.slice(),reset:E}}function u1(d,s,E,R,K,dt=_t=>_t()){const _t=R&&(R.enterCallbacks[K]=R.enterCallbacks[K]||[]);return()=>new Promise((zt,jt)=>{const te=Je=>{Je===!1?jt(y_(xd.NAVIGATION_ABORTED,{from:E,to:s})):Je instanceof Error?jt(Je):RX(Je)?jt(y_(xd.NAVIGATION_GUARD_REDIRECT,{from:s,to:Je})):(_t&&R.enterCallbacks[K]===_t&&typeof Je=="function"&&_t.push(Je),zt())},se=dt(()=>d.call(R&&R.instances[K],s,E,te));let Le=Promise.resolve(se);d.length<3&&(Le=Le.then(te)),Le.catch(Je=>jt(Je))})}function O8(d,s,E,R,K=dt=>dt()){const dt=[];for(const _t of d)for(const zt in _t.components){let jt=_t.components[zt];if(!(s!=="beforeRouteEnter"&&!_t.instances[zt]))if(oO(jt)){const te=(jt.__vccOpts||jt)[s];te&&dt.push(u1(te,E,R,_t,zt,K))}else{let te=jt();dt.push(()=>te.then(se=>{if(!se)throw new Error(`Couldn't resolve component "${zt}" at "${_t.path}"`);const Le=hX(se)?se.default:se;_t.mods[zt]=se,_t.components[zt]=Le;const Je=(Le.__vccOpts||Le)[s];return Je&&u1(Je,E,R,_t,zt,K)()}))}}return dt}function WX(d,s){const E=[],R=[],K=[],dt=Math.max(s.matched.length,d.matched.length);for(let _t=0;_tv_(te,zt))?R.push(zt):E.push(zt));const jt=d.matched[_t];jt&&(s.matched.find(te=>v_(te,jt))||K.push(jt))}return[E,R,K]}/*! + */const s_=typeof document<"u";function oO(d){return typeof d=="object"||"displayName"in d||"props"in d||"__vccOpts"in d}function hX(d){return d.__esModule||d[Symbol.toStringTag]==="Module"||d.default&&oO(d.default)}const Bh=Object.assign;function P8(d,s){const E={};for(const R in s){const K=s[R];E[R]=Im(K)?K.map(d):d(K)}return E}const C2=()=>{},Im=Array.isArray;function kL(d,s){const E={};for(const R in d)E[R]=R in s?s[R]:d[R];return E}const sO=/#/g,fX=/&/g,dX=/\//g,pX=/=/g,mX=/\?/g,lO=/\+/g,gX=/%5B/g,vX=/%5D/g,uO=/%5E/g,yX=/%60/g,cO=/%7B/g,xX=/%7C/g,hO=/%7D/g,_X=/%20/g;function uM(d){return d==null?"":encodeURI(""+d).replace(xX,"|").replace(gX,"[").replace(vX,"]")}function bX(d){return uM(d).replace(cO,"{").replace(hO,"}").replace(uO,"^")}function _A(d){return uM(d).replace(lO,"%2B").replace(_X,"+").replace(sO,"%23").replace(fX,"%26").replace(yX,"`").replace(cO,"{").replace(hO,"}").replace(uO,"^")}function wX(d){return _A(d).replace(pX,"%3D")}function kX(d){return uM(d).replace(sO,"%23").replace(mX,"%3F")}function TX(d){return kX(d).replace(dX,"%2F")}function W2(d){if(d==null)return null;try{return decodeURIComponent(""+d)}catch{}return""+d}const AX=/\/$/,MX=d=>d.replace(AX,"");function I8(d,s,E="/"){let R,K={},dt="",_t="";const It=s.indexOf("#");let jt=s.indexOf("?");return jt=It>=0&&jt>It?-1:jt,jt>=0&&(R=s.slice(0,jt),dt=s.slice(jt,It>0?It:s.length),K=d(dt.slice(1))),It>=0&&(R=R||s.slice(0,It),_t=s.slice(It,s.length)),R=LX(R??s,E),{fullPath:R+dt+_t,path:R,query:K,hash:W2(_t)}}function SX(d,s){const E=s.query?d(s.query):"";return s.path+(E&&"?")+E+(s.hash||"")}function TL(d,s){return!s||!d.toLowerCase().startsWith(s.toLowerCase())?d:d.slice(s.length)||"/"}function EX(d,s,E){const R=s.matched.length-1,K=E.matched.length-1;return R>-1&&R===K&&v_(s.matched[R],E.matched[K])&&fO(s.params,E.params)&&d(s.query)===d(E.query)&&s.hash===E.hash}function v_(d,s){return(d.aliasOf||d)===(s.aliasOf||s)}function fO(d,s){if(Object.keys(d).length!==Object.keys(s).length)return!1;for(const E in d)if(!CX(d[E],s[E]))return!1;return!0}function CX(d,s){return Im(d)?AL(d,s):Im(s)?AL(s,d):d===s}function AL(d,s){return Im(s)?d.length===s.length&&d.every((E,R)=>E===s[R]):d.length===1&&d[0]===s}function LX(d,s){if(d.startsWith("/"))return d;if(!d)return s;const E=s.split("/"),R=d.split("/"),K=R[R.length-1];(K===".."||K===".")&&R.push("");let dt=E.length-1,_t,It;for(_t=0;_t1&&dt--;else break;return E.slice(0,dt).join("/")+"/"+R.slice(_t).join("/")}const e1={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let bA=function(d){return d.pop="pop",d.push="push",d}({}),z8=function(d){return d.back="back",d.forward="forward",d.unknown="",d}({});function PX(d){if(!d)if(s_){const s=document.querySelector("base");d=s&&s.getAttribute("href")||"/",d=d.replace(/^\w+:\/\/[^\/]+/,"")}else d="/";return d[0]!=="/"&&d[0]!=="#"&&(d="/"+d),MX(d)}const IX=/^[^#]+#/;function zX(d,s){return d.replace(IX,"#")+s}function OX(d,s){const E=document.documentElement.getBoundingClientRect(),R=d.getBoundingClientRect();return{behavior:s.behavior,left:R.left-E.left-(s.left||0),top:R.top-E.top-(s.top||0)}}const H4=()=>({left:window.scrollX,top:window.scrollY});function DX(d){let s;if("el"in d){const E=d.el,R=typeof E=="string"&&E.startsWith("#"),K=typeof E=="string"?R?document.getElementById(E.slice(1)):document.querySelector(E):E;if(!K)return;s=OX(K,d)}else s=d;"scrollBehavior"in document.documentElement.style?window.scrollTo(s):window.scrollTo(s.left!=null?s.left:window.scrollX,s.top!=null?s.top:window.scrollY)}function ML(d,s){return(history.state?history.state.position-s:-1)+d}const wA=new Map;function FX(d,s){wA.set(d,s)}function BX(d){const s=wA.get(d);return wA.delete(d),s}function RX(d){return typeof d=="string"||d&&typeof d=="object"}function dO(d){return typeof d=="string"||typeof d=="symbol"}let xd=function(d){return d[d.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",d[d.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",d[d.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",d[d.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",d[d.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",d}({});const pO=Symbol("");xd.MATCHER_NOT_FOUND+"",xd.NAVIGATION_GUARD_REDIRECT+"",xd.NAVIGATION_ABORTED+"",xd.NAVIGATION_CANCELLED+"",xd.NAVIGATION_DUPLICATED+"";function y_(d,s){return Bh(new Error,{type:d,[pO]:!0},s)}function Yg(d,s){return d instanceof Error&&pO in d&&(s==null||!!(d.type&s))}const NX=["params","query","hash"];function jX(d){if(typeof d=="string")return d;if(d.path!=null)return d.path;const s={};for(const E of NX)E in d&&(s[E]=d[E]);return JSON.stringify(s,null,2)}function UX(d){const s={};if(d===""||d==="?")return s;const E=(d[0]==="?"?d.slice(1):d).split("&");for(let R=0;RK&&_A(K)):[R&&_A(R)]).forEach(K=>{K!==void 0&&(s+=(s.length?"&":"")+E,K!=null&&(s+="="+K))})}return s}function VX(d){const s={};for(const E in d){const R=d[E];R!==void 0&&(s[E]=Im(R)?R.map(K=>K==null?null:""+K):R==null?R:""+R)}return s}const HX=Symbol(""),EL=Symbol(""),W4=Symbol(""),cM=Symbol(""),kA=Symbol("");function n2(){let d=[];function s(R){return d.push(R),()=>{const K=d.indexOf(R);K>-1&&d.splice(K,1)}}function E(){d=[]}return{add:s,list:()=>d.slice(),reset:E}}function u1(d,s,E,R,K,dt=_t=>_t()){const _t=R&&(R.enterCallbacks[K]=R.enterCallbacks[K]||[]);return()=>new Promise((It,jt)=>{const te=Je=>{Je===!1?jt(y_(xd.NAVIGATION_ABORTED,{from:E,to:s})):Je instanceof Error?jt(Je):RX(Je)?jt(y_(xd.NAVIGATION_GUARD_REDIRECT,{from:s,to:Je})):(_t&&R.enterCallbacks[K]===_t&&typeof Je=="function"&&_t.push(Je),It())},le=dt(()=>d.call(R&&R.instances[K],s,E,te));let Le=Promise.resolve(le);d.length<3&&(Le=Le.then(te)),Le.catch(Je=>jt(Je))})}function O8(d,s,E,R,K=dt=>dt()){const dt=[];for(const _t of d)for(const It in _t.components){let jt=_t.components[It];if(!(s!=="beforeRouteEnter"&&!_t.instances[It]))if(oO(jt)){const te=(jt.__vccOpts||jt)[s];te&&dt.push(u1(te,E,R,_t,It,K))}else{let te=jt();dt.push(()=>te.then(le=>{if(!le)throw new Error(`Couldn't resolve component "${It}" at "${_t.path}"`);const Le=hX(le)?le.default:le;_t.mods[It]=le,_t.components[It]=Le;const Je=(Le.__vccOpts||Le)[s];return Je&&u1(Je,E,R,_t,It,K)()}))}}return dt}function WX(d,s){const E=[],R=[],K=[],dt=Math.max(s.matched.length,d.matched.length);for(let _t=0;_tv_(te,It))?R.push(It):E.push(It));const jt=d.matched[_t];jt&&(s.matched.find(te=>v_(te,jt))||K.push(jt))}return[E,R,K]}/*! * vue-router v4.6.3 * (c) 2025 Eduardo San Martin Morote * @license MIT - */let qX=()=>location.protocol+"//"+location.host;function mO(d,s){const{pathname:E,search:R,hash:K}=s,dt=d.indexOf("#");if(dt>-1){let _t=K.includes(d.slice(dt))?d.slice(dt).length:1,zt=K.slice(_t);return zt[0]!=="/"&&(zt="/"+zt),TL(zt,"")}return TL(E,d)+R+K}function $X(d,s,E,R){let K=[],dt=[],_t=null;const zt=({state:Je})=>{const fr=mO(d,location),Tr=E.value,wr=s.value;let Vr=0;if(Je){if(E.value=fr,s.value=Je,_t&&_t===Tr){_t=null;return}Vr=wr?Je.position-wr.position:0}else R(fr);K.forEach(fn=>{fn(E.value,Tr,{delta:Vr,type:bA.pop,direction:Vr?Vr>0?I8.forward:I8.back:I8.unknown})})};function jt(){_t=E.value}function te(Je){K.push(Je);const fr=()=>{const Tr=K.indexOf(Je);Tr>-1&&K.splice(Tr,1)};return dt.push(fr),fr}function se(){if(document.visibilityState==="hidden"){const{history:Je}=window;if(!Je.state)return;Je.replaceState(Bh({},Je.state,{scroll:H4()}),"")}}function Le(){for(const Je of dt)Je();dt=[],window.removeEventListener("popstate",zt),window.removeEventListener("pagehide",se),document.removeEventListener("visibilitychange",se)}return window.addEventListener("popstate",zt),window.addEventListener("pagehide",se),document.addEventListener("visibilitychange",se),{pauseListeners:jt,listen:te,destroy:Le}}function CL(d,s,E,R=!1,K=!1){return{back:d,current:s,forward:E,replaced:R,position:window.history.length,scroll:K?H4():null}}function ZX(d){const{history:s,location:E}=window,R={value:mO(d,E)},K={value:s.state};K.value||dt(R.value,{back:null,current:R.value,forward:null,position:s.length-1,replaced:!0,scroll:null},!0);function dt(jt,te,se){const Le=d.indexOf("#"),Je=Le>-1?(E.host&&document.querySelector("base")?d:d.slice(Le))+jt:qX()+d+jt;try{s[se?"replaceState":"pushState"](te,"",Je),K.value=te}catch(fr){console.error(fr),E[se?"replace":"assign"](Je)}}function _t(jt,te){dt(jt,Bh({},s.state,CL(K.value.back,jt,K.value.forward,!0),te,{position:K.value.position}),!0),R.value=jt}function zt(jt,te){const se=Bh({},K.value,s.state,{forward:jt,scroll:H4()});dt(se.current,se,!0),dt(jt,Bh({},CL(R.value,jt,null),{position:se.position+1},te),!1),R.value=jt}return{location:R,state:K,push:zt,replace:_t}}function GX(d){d=PX(d);const s=ZX(d),E=$X(d,s.state,s.location,s.replace);function R(dt,_t=!0){_t||E.pauseListeners(),history.go(dt)}const K=Bh({location:"",base:d,go:R,createHref:IX.bind(null,d)},s,E);return Object.defineProperty(K,"location",{enumerable:!0,get:()=>s.location.value}),Object.defineProperty(K,"state",{enumerable:!0,get:()=>s.state.value}),K}let by=function(d){return d[d.Static=0]="Static",d[d.Param=1]="Param",d[d.Group=2]="Group",d}({});var np=function(d){return d[d.Static=0]="Static",d[d.Param=1]="Param",d[d.ParamRegExp=2]="ParamRegExp",d[d.ParamRegExpEnd=3]="ParamRegExpEnd",d[d.EscapeNext=4]="EscapeNext",d}(np||{});const YX={type:by.Static,value:""},KX=/[a-zA-Z0-9_]/;function XX(d){if(!d)return[[]];if(d==="/")return[[YX]];if(!d.startsWith("/"))throw new Error(`Invalid path "${d}"`);function s(fr){throw new Error(`ERR (${E})/"${te}": ${fr}`)}let E=np.Static,R=E;const K=[];let dt;function _t(){dt&&K.push(dt),dt=[]}let zt=0,jt,te="",se="";function Le(){te&&(E===np.Static?dt.push({type:by.Static,value:te}):E===np.Param||E===np.ParamRegExp||E===np.ParamRegExpEnd?(dt.length>1&&(jt==="*"||jt==="+")&&s(`A repeatable param (${te}) must be alone in its segment. eg: '/:ids+.`),dt.push({type:by.Param,value:te,regexp:se,repeatable:jt==="*"||jt==="+",optional:jt==="*"||jt==="?"})):s("Invalid state to consume buffer"),te="")}function Je(){te+=jt}for(;zts.length?s.length===1&&s[0]===h0.Static+h0.Segment?1:-1:0}function gO(d,s){let E=0;const R=d.score,K=s.score;for(;E0&&s[s.length-1]<0}const rJ={strict:!1,end:!0,sensitive:!1};function nJ(d,s,E){const R=tJ(XX(d.path),E),K=Bh(R,{record:d,parent:s,children:[],alias:[]});return s&&!K.record.aliasOf==!s.record.aliasOf&&s.children.push(K),K}function iJ(d,s){const E=[],R=new Map;s=kL(rJ,s);function K(Le){return R.get(Le)}function dt(Le,Je,fr){const Tr=!fr,wr=IL(Le);wr.aliasOf=fr&&fr.record;const Vr=kL(s,Le),fn=[wr];if("alias"in Le){const Qn=typeof Le.alias=="string"?[Le.alias]:Le.alias;for(const Dn of Qn)fn.push(IL(Bh({},wr,{components:fr?fr.record.components:wr.components,path:Dn,aliasOf:fr?fr.record:wr})))}let Dt,cn;for(const Qn of fn){const{path:Dn}=Qn;if(Je&&Dn[0]!=="/"){const ei=Je.record.path,Ui=ei[ei.length-1]==="/"?"":"/";Qn.path=Je.record.path+(Dn&&Ui+Dn)}if(Dt=nJ(Qn,Je,Vr),fr?fr.alias.push(Dt):(cn=cn||Dt,cn!==Dt&&cn.alias.push(Dt),Tr&&Le.name&&!OL(Dt)&&_t(Le.name)),vO(Dt)&&jt(Dt),wr.children){const ei=wr.children;for(let Ui=0;Ui{_t(cn)}:C2}function _t(Le){if(dO(Le)){const Je=R.get(Le);Je&&(R.delete(Le),E.splice(E.indexOf(Je),1),Je.children.forEach(_t),Je.alias.forEach(_t))}else{const Je=E.indexOf(Le);Je>-1&&(E.splice(Je,1),Le.record.name&&R.delete(Le.record.name),Le.children.forEach(_t),Le.alias.forEach(_t))}}function zt(){return E}function jt(Le){const Je=sJ(Le,E);E.splice(Je,0,Le),Le.record.name&&!OL(Le)&&R.set(Le.record.name,Le)}function te(Le,Je){let fr,Tr={},wr,Vr;if("name"in Le&&Le.name){if(fr=R.get(Le.name),!fr)throw y_(xd.MATCHER_NOT_FOUND,{location:Le});Vr=fr.record.name,Tr=Bh(zL(Je.params,fr.keys.filter(cn=>!cn.optional).concat(fr.parent?fr.parent.keys.filter(cn=>cn.optional):[]).map(cn=>cn.name)),Le.params&&zL(Le.params,fr.keys.map(cn=>cn.name))),wr=fr.stringify(Tr)}else if(Le.path!=null)wr=Le.path,fr=E.find(cn=>cn.re.test(wr)),fr&&(Tr=fr.parse(wr),Vr=fr.record.name);else{if(fr=Je.name?R.get(Je.name):E.find(cn=>cn.re.test(Je.path)),!fr)throw y_(xd.MATCHER_NOT_FOUND,{location:Le,currentLocation:Je});Vr=fr.record.name,Tr=Bh({},Je.params,Le.params),wr=fr.stringify(Tr)}const fn=[];let Dt=fr;for(;Dt;)fn.unshift(Dt.record),Dt=Dt.parent;return{name:Vr,path:wr,params:Tr,matched:fn,meta:oJ(fn)}}d.forEach(Le=>dt(Le));function se(){E.length=0,R.clear()}return{addRoute:dt,resolve:te,removeRoute:_t,clearRoutes:se,getRoutes:zt,getRecordMatcher:K}}function zL(d,s){const E={};for(const R of s)R in d&&(E[R]=d[R]);return E}function IL(d){const s={path:d.path,redirect:d.redirect,name:d.name,meta:d.meta||{},aliasOf:d.aliasOf,beforeEnter:d.beforeEnter,props:aJ(d),children:d.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in d?d.components||null:d.component&&{default:d.component}};return Object.defineProperty(s,"mods",{value:{}}),s}function aJ(d){const s={},E=d.props||!1;if("component"in d)s.default=E;else for(const R in d.components)s[R]=typeof E=="object"?E[R]:E;return s}function OL(d){for(;d;){if(d.record.aliasOf)return!0;d=d.parent}return!1}function oJ(d){return d.reduce((s,E)=>Bh(s,E.meta),{})}function sJ(d,s){let E=0,R=s.length;for(;E!==R;){const dt=E+R>>1;gO(d,s[dt])<0?R=dt:E=dt+1}const K=lJ(d);return K&&(R=s.lastIndexOf(K,R-1)),R}function lJ(d){let s=d;for(;s=s.parent;)if(vO(s)&&gO(d,s)===0)return s}function vO({record:d}){return!!(d.name||d.components&&Object.keys(d.components).length||d.redirect)}function DL(d){const s=cm(W4),E=cm(cM),R=Wo(()=>{const jt=Ol(d.to);return s.resolve(jt)}),K=Wo(()=>{const{matched:jt}=R.value,{length:te}=jt,se=jt[te-1],Le=E.matched;if(!se||!Le.length)return-1;const Je=Le.findIndex(v_.bind(null,se));if(Je>-1)return Je;const fr=FL(jt[te-2]);return te>1&&FL(se)===fr&&Le[Le.length-1].path!==fr?Le.findIndex(v_.bind(null,jt[te-2])):Je}),dt=Wo(()=>K.value>-1&&dJ(E.params,R.value.params)),_t=Wo(()=>K.value>-1&&K.value===E.matched.length-1&&fO(E.params,R.value.params));function zt(jt={}){if(fJ(jt)){const te=s[Ol(d.replace)?"replace":"push"](Ol(d.to)).catch(C2);return d.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>te),te}return Promise.resolve()}return{route:R,href:Wo(()=>R.value.href),isActive:dt,isExactActive:_t,navigate:zt}}function uJ(d){return d.length===1?d[0]:d}const cJ=Ec({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:DL,setup(d,{slots:s}){const E=Ey(DL(d)),{options:R}=cm(W4),K=Wo(()=>({[BL(d.activeClass,R.linkActiveClass,"router-link-active")]:E.isActive,[BL(d.exactActiveClass,R.linkExactActiveClass,"router-link-exact-active")]:E.isExactActive}));return()=>{const dt=s.default&&uJ(s.default(E));return d.custom?dt:oM("a",{"aria-current":E.isExactActive?d.ariaCurrentValue:null,href:E.href,onClick:E.navigate,class:K.value},dt)}}}),hJ=cJ;function fJ(d){if(!(d.metaKey||d.altKey||d.ctrlKey||d.shiftKey)&&!d.defaultPrevented&&!(d.button!==void 0&&d.button!==0)){if(d.currentTarget&&d.currentTarget.getAttribute){const s=d.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(s))return}return d.preventDefault&&d.preventDefault(),!0}}function dJ(d,s){for(const E in s){const R=s[E],K=d[E];if(typeof R=="string"){if(R!==K)return!1}else if(!zm(K)||K.length!==R.length||R.some((dt,_t)=>dt!==K[_t]))return!1}return!0}function FL(d){return d?d.aliasOf?d.aliasOf.path:d.path:""}const BL=(d,s,E)=>d??s??E,pJ=Ec({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(d,{attrs:s,slots:E}){const R=cm(kA),K=Wo(()=>d.route||R.value),dt=cm(EL,0),_t=Wo(()=>{let te=Ol(dt);const{matched:se}=K.value;let Le;for(;(Le=se[te])&&!Le.components;)te++;return te}),zt=Wo(()=>K.value.matched[_t.value]);X5(EL,Wo(()=>_t.value+1)),X5(HX,zt),X5(kA,K);const jt=ja();return Em(()=>[jt.value,zt.value,d.name],([te,se,Le],[Je,fr,Tr])=>{se&&(se.instances[Le]=te,fr&&fr!==se&&te&&te===Je&&(se.leaveGuards.size||(se.leaveGuards=fr.leaveGuards),se.updateGuards.size||(se.updateGuards=fr.updateGuards))),te&&se&&(!fr||!v_(se,fr)||!Je)&&(se.enterCallbacks[Le]||[]).forEach(wr=>wr(te))},{flush:"post"}),()=>{const te=K.value,se=d.name,Le=zt.value,Je=Le&&Le.components[se];if(!Je)return RL(E.default,{Component:Je,route:te});const fr=Le.props[se],Tr=fr?fr===!0?te.params:typeof fr=="function"?fr(te):fr:null,Vr=oM(Je,Bh({},Tr,s,{onVnodeUnmounted:fn=>{fn.component.isUnmounted&&(Le.instances[se]=null)},ref:jt}));return RL(E.default,{Component:Vr,route:te})||Vr}}});function RL(d,s){if(!d)return null;const E=d(s);return E.length===1?E[0]:E}const mJ=pJ;function gJ(d){const s=iJ(d.routes,d),E=d.parseQuery||UX,R=d.stringifyQuery||SL,K=d.history,dt=n2(),_t=n2(),zt=n2(),jt=lY(e1);let te=e1;s_&&d.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const se=P8.bind(null,fa=>""+fa),Le=P8.bind(null,TX),Je=P8.bind(null,W2);function fr(fa,so){let go,Qo;return dO(fa)?(go=s.getRecordMatcher(fa),Qo=so):Qo=fa,s.addRoute(Qo,go)}function Tr(fa){const so=s.getRecordMatcher(fa);so&&s.removeRoute(so)}function wr(){return s.getRoutes().map(fa=>fa.record)}function Vr(fa){return!!s.getRecordMatcher(fa)}function fn(fa,so){if(so=Bh({},so||jt.value),typeof fa=="string"){const fi=z8(E,fa,so.path),po=s.resolve({path:fi.path},so),To=K.createHref(fi.fullPath);return Bh(fi,po,{params:Je(po.params),hash:W2(fi.hash),redirectedFrom:void 0,href:To})}let go;if(fa.path!=null)go=Bh({},fa,{path:z8(E,fa.path,so.path).path});else{const fi=Bh({},fa.params);for(const po in fi)fi[po]==null&&delete fi[po];go=Bh({},fa,{params:Le(fi)}),so.params=Le(so.params)}const Qo=s.resolve(go,so),zo=fa.hash||"";Qo.params=se(Je(Qo.params));const mi=SX(R,Bh({},fa,{hash:bX(zo),path:Qo.path})),Ai=K.createHref(mi);return Bh({fullPath:mi,hash:zo,query:R===SL?VX(fa.query):fa.query||{}},Qo,{redirectedFrom:void 0,href:Ai})}function Dt(fa){return typeof fa=="string"?z8(E,fa,jt.value.path):Bh({},fa)}function cn(fa,so){if(te!==fa)return y_(xd.NAVIGATION_CANCELLED,{from:so,to:fa})}function Qn(fa){return Ui(fa)}function Dn(fa){return Qn(Bh(Dt(fa),{replace:!0}))}function ei(fa,so){const go=fa.matched[fa.matched.length-1];if(go&&go.redirect){const{redirect:Qo}=go;let zo=typeof Qo=="function"?Qo(fa,so):Qo;return typeof zo=="string"&&(zo=zo.includes("?")||zo.includes("#")?zo=Dt(zo):{path:zo},zo.params={}),Bh({query:fa.query,hash:fa.hash,params:zo.path!=null?{}:fa.params},zo)}}function Ui(fa,so){const go=te=fn(fa),Qo=jt.value,zo=fa.state,mi=fa.force,Ai=fa.replace===!0,fi=ei(go,Qo);if(fi)return Ui(Bh(Dt(fi),{state:typeof fi=="object"?Bh({},zo,fi.state):zo,force:mi,replace:Ai}),so||go);const po=go;po.redirectedFrom=so;let To;return!mi&&EX(R,Qo,go)&&(To=y_(xd.NAVIGATION_DUPLICATED,{to:po,from:Qo}),io(Qo,Qo,!0,!1)),(To?Promise.resolve(To):Si(po,Qo)).catch(wo=>Yg(wo)?Yg(wo,xd.NAVIGATION_GUARD_REDIRECT)?wo:qa(wo):va(wo,po,Qo)).then(wo=>{if(wo){if(Yg(wo,xd.NAVIGATION_GUARD_REDIRECT))return Ui(Bh({replace:Ai},Dt(wo.to),{state:typeof wo.to=="object"?Bh({},zo,wo.to.state):zo,force:mi}),so||po)}else wo=oi(po,Qo,!0,Ai,zo);return jn(po,Qo,wo),wo})}function Di(fa,so){const go=cn(fa,so);return go?Promise.reject(go):Promise.resolve()}function qr(fa){const so=No.values().next().value;return so&&typeof so.runWithContext=="function"?so.runWithContext(fa):fa()}function Si(fa,so){let go;const[Qo,zo,mi]=WX(fa,so);go=O8(Qo.reverse(),"beforeRouteLeave",fa,so);for(const fi of Qo)fi.leaveGuards.forEach(po=>{go.push(u1(po,fa,so))});const Ai=Di.bind(null,fa,so);return go.push(Ai),La(go).then(()=>{go=[];for(const fi of dt.list())go.push(u1(fi,fa,so));return go.push(Ai),La(go)}).then(()=>{go=O8(zo,"beforeRouteUpdate",fa,so);for(const fi of zo)fi.updateGuards.forEach(po=>{go.push(u1(po,fa,so))});return go.push(Ai),La(go)}).then(()=>{go=[];for(const fi of mi)if(fi.beforeEnter)if(zm(fi.beforeEnter))for(const po of fi.beforeEnter)go.push(u1(po,fa,so));else go.push(u1(fi.beforeEnter,fa,so));return go.push(Ai),La(go)}).then(()=>(fa.matched.forEach(fi=>fi.enterCallbacks={}),go=O8(mi,"beforeRouteEnter",fa,so,qr),go.push(Ai),La(go))).then(()=>{go=[];for(const fi of _t.list())go.push(u1(fi,fa,so));return go.push(Ai),La(go)}).catch(fi=>Yg(fi,xd.NAVIGATION_CANCELLED)?fi:Promise.reject(fi))}function jn(fa,so,go){zt.list().forEach(Qo=>qr(()=>Qo(fa,so,go)))}function oi(fa,so,go,Qo,zo){const mi=cn(fa,so);if(mi)return mi;const Ai=so===e1,fi=s_?history.state:{};go&&(Qo||Ai?K.replace(fa.fullPath,Bh({scroll:Ai&&fi&&fi.scroll},zo)):K.push(fa.fullPath,zo)),jt.value=fa,io(fa,so,go,Ai),qa()}let Vn;function Wn(){Vn||(Vn=K.listen((fa,so,go)=>{if(!Ka.listening)return;const Qo=fn(fa),zo=ei(Qo,Ka.currentRoute.value);if(zo){Ui(Bh(zo,{replace:!0,force:!0}),Qo).catch(C2);return}te=Qo;const mi=jt.value;s_&&FX(ML(mi.fullPath,go.delta),H4()),Si(Qo,mi).catch(Ai=>Yg(Ai,xd.NAVIGATION_ABORTED|xd.NAVIGATION_CANCELLED)?Ai:Yg(Ai,xd.NAVIGATION_GUARD_REDIRECT)?(Ui(Bh(Dt(Ai.to),{force:!0}),Qo).then(fi=>{Yg(fi,xd.NAVIGATION_ABORTED|xd.NAVIGATION_DUPLICATED)&&!go.delta&&go.type===bA.pop&&K.go(-1,!1)}).catch(C2),Promise.reject()):(go.delta&&K.go(-go.delta,!1),va(Ai,Qo,mi))).then(Ai=>{Ai=Ai||oi(Qo,mi,!1),Ai&&(go.delta&&!Yg(Ai,xd.NAVIGATION_CANCELLED)?K.go(-go.delta,!1):go.type===bA.pop&&Yg(Ai,xd.NAVIGATION_ABORTED|xd.NAVIGATION_DUPLICATED)&&K.go(-1,!1)),jn(Qo,mi,Ai)}).catch(C2)}))}let sa=n2(),wi=n2(),hi;function va(fa,so,go){qa(fa);const Qo=wi.list();return Qo.length?Qo.forEach(zo=>zo(fa,so,go)):console.error(fa),Promise.reject(fa)}function qo(){return hi&&jt.value!==e1?Promise.resolve():new Promise((fa,so)=>{sa.add([fa,so])})}function qa(fa){return hi||(hi=!fa,Wn(),sa.list().forEach(([so,go])=>fa?go(fa):so()),sa.reset()),fa}function io(fa,so,go,Qo){const{scrollBehavior:zo}=d;if(!s_||!zo)return Promise.resolve();const mi=!go&&BX(ML(fa.fullPath,0))||(Qo||!go)&&history.state&&history.state.scroll||null;return S0().then(()=>zo(fa,so,mi)).then(Ai=>Ai&&DX(Ai)).catch(Ai=>va(Ai,fa,so))}const Rs=fa=>K.go(fa);let Rl;const No=new Set,Ka={currentRoute:jt,listening:!0,addRoute:fr,removeRoute:Tr,clearRoutes:s.clearRoutes,hasRoute:Vr,getRoutes:wr,resolve:fn,options:d,push:Qn,replace:Dn,go:Rs,back:()=>Rs(-1),forward:()=>Rs(1),beforeEach:dt.add,beforeResolve:_t.add,afterEach:zt.add,onError:wi.add,isReady:qo,install(fa){fa.component("RouterLink",hJ),fa.component("RouterView",mJ),fa.config.globalProperties.$router=Ka,Object.defineProperty(fa.config.globalProperties,"$route",{enumerable:!0,get:()=>Ol(jt)}),s_&&!Rl&&jt.value===e1&&(Rl=!0,Qn(K.location).catch(Qo=>{}));const so={};for(const Qo in e1)Object.defineProperty(so,Qo,{get:()=>jt.value[Qo],enumerable:!0});fa.provide(W4,Ka),fa.provide(cM,rI(so)),fa.provide(kA,jt);const go=fa.unmount;No.add(fa),fa.unmount=function(){No.delete(fa),No.size<1&&(te=e1,Vn&&Vn(),Vn=null,jt.value=e1,Rl=!1,hi=!1),go()}}};function La(fa){return fa.reduce((so,go)=>so.then(()=>qr(go)),Promise.resolve())}return Ka}function yO(){return cm(W4)}function xO(d){return cm(cM)}function _O(d,s){return function(){return d.apply(s,arguments)}}const{toString:vJ}=Object.prototype,{getPrototypeOf:hM}=Object,{iterator:q4,toStringTag:bO}=Symbol,$4=(d=>s=>{const E=vJ.call(s);return d[E]||(d[E]=E.slice(8,-1).toLowerCase())})(Object.create(null)),Om=d=>(d=d.toLowerCase(),s=>$4(s)===d),Z4=d=>s=>typeof s===d,{isArray:k_}=Array,x_=Z4("undefined");function nw(d){return d!==null&&!x_(d)&&d.constructor!==null&&!x_(d.constructor)&&E0(d.constructor.isBuffer)&&d.constructor.isBuffer(d)}const wO=Om("ArrayBuffer");function yJ(d){let s;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?s=ArrayBuffer.isView(d):s=d&&d.buffer&&wO(d.buffer),s}const xJ=Z4("string"),E0=Z4("function"),kO=Z4("number"),iw=d=>d!==null&&typeof d=="object",_J=d=>d===!0||d===!1,e4=d=>{if($4(d)!=="object")return!1;const s=hM(d);return(s===null||s===Object.prototype||Object.getPrototypeOf(s)===null)&&!(bO in d)&&!(q4 in d)},bJ=d=>{if(!iw(d)||nw(d))return!1;try{return Object.keys(d).length===0&&Object.getPrototypeOf(d)===Object.prototype}catch{return!1}},wJ=Om("Date"),kJ=Om("File"),TJ=Om("Blob"),AJ=Om("FileList"),MJ=d=>iw(d)&&E0(d.pipe),SJ=d=>{let s;return d&&(typeof FormData=="function"&&d instanceof FormData||E0(d.append)&&((s=$4(d))==="formdata"||s==="object"&&E0(d.toString)&&d.toString()==="[object FormData]"))},EJ=Om("URLSearchParams"),[CJ,LJ,PJ,zJ]=["ReadableStream","Request","Response","Headers"].map(Om),IJ=d=>d.trim?d.trim():d.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function aw(d,s,{allOwnKeys:E=!1}={}){if(d===null||typeof d>"u")return;let R,K;if(typeof d!="object"&&(d=[d]),k_(d))for(R=0,K=d.length;R0;)if(K=E[R],s===K.toLowerCase())return K;return null}const wy=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,AO=d=>!x_(d)&&d!==wy;function TA(){const{caseless:d,skipUndefined:s}=AO(this)&&this||{},E={},R=(K,dt)=>{const _t=d&&TO(E,dt)||dt;e4(E[_t])&&e4(K)?E[_t]=TA(E[_t],K):e4(K)?E[_t]=TA({},K):k_(K)?E[_t]=K.slice():(!s||!x_(K))&&(E[_t]=K)};for(let K=0,dt=arguments.length;K(aw(s,(K,dt)=>{E&&E0(K)?d[dt]=_O(K,E):d[dt]=K},{allOwnKeys:R}),d),DJ=d=>(d.charCodeAt(0)===65279&&(d=d.slice(1)),d),FJ=(d,s,E,R)=>{d.prototype=Object.create(s.prototype,R),d.prototype.constructor=d,Object.defineProperty(d,"super",{value:s.prototype}),E&&Object.assign(d.prototype,E)},BJ=(d,s,E,R)=>{let K,dt,_t;const zt={};if(s=s||{},d==null)return s;do{for(K=Object.getOwnPropertyNames(d),dt=K.length;dt-- >0;)_t=K[dt],(!R||R(_t,d,s))&&!zt[_t]&&(s[_t]=d[_t],zt[_t]=!0);d=E!==!1&&hM(d)}while(d&&(!E||E(d,s))&&d!==Object.prototype);return s},RJ=(d,s,E)=>{d=String(d),(E===void 0||E>d.length)&&(E=d.length),E-=s.length;const R=d.indexOf(s,E);return R!==-1&&R===E},NJ=d=>{if(!d)return null;if(k_(d))return d;let s=d.length;if(!kO(s))return null;const E=new Array(s);for(;s-- >0;)E[s]=d[s];return E},jJ=(d=>s=>d&&s instanceof d)(typeof Uint8Array<"u"&&hM(Uint8Array)),UJ=(d,s)=>{const R=(d&&d[q4]).call(d);let K;for(;(K=R.next())&&!K.done;){const dt=K.value;s.call(d,dt[0],dt[1])}},VJ=(d,s)=>{let E;const R=[];for(;(E=d.exec(s))!==null;)R.push(E);return R},HJ=Om("HTMLFormElement"),WJ=d=>d.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(E,R,K){return R.toUpperCase()+K}),NL=(({hasOwnProperty:d})=>(s,E)=>d.call(s,E))(Object.prototype),qJ=Om("RegExp"),MO=(d,s)=>{const E=Object.getOwnPropertyDescriptors(d),R={};aw(E,(K,dt)=>{let _t;(_t=s(K,dt,d))!==!1&&(R[dt]=_t||K)}),Object.defineProperties(d,R)},$J=d=>{MO(d,(s,E)=>{if(E0(d)&&["arguments","caller","callee"].indexOf(E)!==-1)return!1;const R=d[E];if(E0(R)){if(s.enumerable=!1,"writable"in s){s.writable=!1;return}s.set||(s.set=()=>{throw Error("Can not rewrite read-only method '"+E+"'")})}})},ZJ=(d,s)=>{const E={},R=K=>{K.forEach(dt=>{E[dt]=!0})};return k_(d)?R(d):R(String(d).split(s)),E},GJ=()=>{},YJ=(d,s)=>d!=null&&Number.isFinite(d=+d)?d:s;function KJ(d){return!!(d&&E0(d.append)&&d[bO]==="FormData"&&d[q4])}const XJ=d=>{const s=new Array(10),E=(R,K)=>{if(iw(R)){if(s.indexOf(R)>=0)return;if(nw(R))return R;if(!("toJSON"in R)){s[K]=R;const dt=k_(R)?[]:{};return aw(R,(_t,zt)=>{const jt=E(_t,K+1);!x_(jt)&&(dt[zt]=jt)}),s[K]=void 0,dt}}return R};return E(d,0)},JJ=Om("AsyncFunction"),QJ=d=>d&&(iw(d)||E0(d))&&E0(d.then)&&E0(d.catch),SO=((d,s)=>d?setImmediate:s?((E,R)=>(wy.addEventListener("message",({source:K,data:dt})=>{K===wy&&dt===E&&R.length&&R.shift()()},!1),K=>{R.push(K),wy.postMessage(E,"*")}))(`axios@${Math.random()}`,[]):E=>setTimeout(E))(typeof setImmediate=="function",E0(wy.postMessage)),tQ=typeof queueMicrotask<"u"?queueMicrotask.bind(wy):typeof process<"u"&&process.nextTick||SO,eQ=d=>d!=null&&E0(d[q4]),no={isArray:k_,isArrayBuffer:wO,isBuffer:nw,isFormData:SJ,isArrayBufferView:yJ,isString:xJ,isNumber:kO,isBoolean:_J,isObject:iw,isPlainObject:e4,isEmptyObject:bJ,isReadableStream:CJ,isRequest:LJ,isResponse:PJ,isHeaders:zJ,isUndefined:x_,isDate:wJ,isFile:kJ,isBlob:TJ,isRegExp:qJ,isFunction:E0,isStream:MJ,isURLSearchParams:EJ,isTypedArray:jJ,isFileList:AJ,forEach:aw,merge:TA,extend:OJ,trim:IJ,stripBOM:DJ,inherits:FJ,toFlatObject:BJ,kindOf:$4,kindOfTest:Om,endsWith:RJ,toArray:NJ,forEachEntry:UJ,matchAll:VJ,isHTMLForm:HJ,hasOwnProperty:NL,hasOwnProp:NL,reduceDescriptors:MO,freezeMethods:$J,toObjectSet:ZJ,toCamelCase:WJ,noop:GJ,toFiniteNumber:YJ,findKey:TO,global:wy,isContextDefined:AO,isSpecCompliantForm:KJ,toJSONObject:XJ,isAsyncFn:JJ,isThenable:QJ,setImmediate:SO,asap:tQ,isIterable:eQ};function Qu(d,s,E,R,K){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=d,this.name="AxiosError",s&&(this.code=s),E&&(this.config=E),R&&(this.request=R),K&&(this.response=K,this.status=K.status?K.status:null)}no.inherits(Qu,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:no.toJSONObject(this.config),code:this.code,status:this.status}}});const EO=Qu.prototype,CO={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(d=>{CO[d]={value:d}});Object.defineProperties(Qu,CO);Object.defineProperty(EO,"isAxiosError",{value:!0});Qu.from=(d,s,E,R,K,dt)=>{const _t=Object.create(EO);no.toFlatObject(d,_t,function(se){return se!==Error.prototype},te=>te!=="isAxiosError");const zt=d&&d.message?d.message:"Error",jt=s==null&&d?d.code:s;return Qu.call(_t,zt,jt,E,R,K),d&&_t.cause==null&&Object.defineProperty(_t,"cause",{value:d,configurable:!0}),_t.name=d&&d.name||"Error",dt&&Object.assign(_t,dt),_t};const rQ=null;function AA(d){return no.isPlainObject(d)||no.isArray(d)}function LO(d){return no.endsWith(d,"[]")?d.slice(0,-2):d}function jL(d,s,E){return d?d.concat(s).map(function(K,dt){return K=LO(K),!E&&dt?"["+K+"]":K}).join(E?".":""):s}function nQ(d){return no.isArray(d)&&!d.some(AA)}const iQ=no.toFlatObject(no,{},null,function(s){return/^is[A-Z]/.test(s)});function G4(d,s,E){if(!no.isObject(d))throw new TypeError("target must be an object");s=s||new FormData,E=no.toFlatObject(E,{metaTokens:!0,dots:!1,indexes:!1},!1,function(wr,Vr){return!no.isUndefined(Vr[wr])});const R=E.metaTokens,K=E.visitor||se,dt=E.dots,_t=E.indexes,jt=(E.Blob||typeof Blob<"u"&&Blob)&&no.isSpecCompliantForm(s);if(!no.isFunction(K))throw new TypeError("visitor must be a function");function te(Tr){if(Tr===null)return"";if(no.isDate(Tr))return Tr.toISOString();if(no.isBoolean(Tr))return Tr.toString();if(!jt&&no.isBlob(Tr))throw new Qu("Blob is not supported. Use a Buffer instead.");return no.isArrayBuffer(Tr)||no.isTypedArray(Tr)?jt&&typeof Blob=="function"?new Blob([Tr]):Buffer.from(Tr):Tr}function se(Tr,wr,Vr){let fn=Tr;if(Tr&&!Vr&&typeof Tr=="object"){if(no.endsWith(wr,"{}"))wr=R?wr:wr.slice(0,-2),Tr=JSON.stringify(Tr);else if(no.isArray(Tr)&&nQ(Tr)||(no.isFileList(Tr)||no.endsWith(wr,"[]"))&&(fn=no.toArray(Tr)))return wr=LO(wr),fn.forEach(function(cn,Qn){!(no.isUndefined(cn)||cn===null)&&s.append(_t===!0?jL([wr],Qn,dt):_t===null?wr:wr+"[]",te(cn))}),!1}return AA(Tr)?!0:(s.append(jL(Vr,wr,dt),te(Tr)),!1)}const Le=[],Je=Object.assign(iQ,{defaultVisitor:se,convertValue:te,isVisitable:AA});function fr(Tr,wr){if(!no.isUndefined(Tr)){if(Le.indexOf(Tr)!==-1)throw Error("Circular reference detected in "+wr.join("."));Le.push(Tr),no.forEach(Tr,function(fn,Dt){(!(no.isUndefined(fn)||fn===null)&&K.call(s,fn,no.isString(Dt)?Dt.trim():Dt,wr,Je))===!0&&fr(fn,wr?wr.concat(Dt):[Dt])}),Le.pop()}}if(!no.isObject(d))throw new TypeError("data must be an object");return fr(d),s}function UL(d){const s={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(d).replace(/[!'()~]|%20|%00/g,function(R){return s[R]})}function fM(d,s){this._pairs=[],d&&G4(d,this,s)}const PO=fM.prototype;PO.append=function(s,E){this._pairs.push([s,E])};PO.toString=function(s){const E=s?function(R){return s.call(this,R,UL)}:UL;return this._pairs.map(function(K){return E(K[0])+"="+E(K[1])},"").join("&")};function aQ(d){return encodeURIComponent(d).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function zO(d,s,E){if(!s)return d;const R=E&&E.encode||aQ;no.isFunction(E)&&(E={serialize:E});const K=E&&E.serialize;let dt;if(K?dt=K(s,E):dt=no.isURLSearchParams(s)?s.toString():new fM(s,E).toString(R),dt){const _t=d.indexOf("#");_t!==-1&&(d=d.slice(0,_t)),d+=(d.indexOf("?")===-1?"?":"&")+dt}return d}class VL{constructor(){this.handlers=[]}use(s,E,R){return this.handlers.push({fulfilled:s,rejected:E,synchronous:R?R.synchronous:!1,runWhen:R?R.runWhen:null}),this.handlers.length-1}eject(s){this.handlers[s]&&(this.handlers[s]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(s){no.forEach(this.handlers,function(R){R!==null&&s(R)})}}const IO={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},oQ=typeof URLSearchParams<"u"?URLSearchParams:fM,sQ=typeof FormData<"u"?FormData:null,lQ=typeof Blob<"u"?Blob:null,uQ={isBrowser:!0,classes:{URLSearchParams:oQ,FormData:sQ,Blob:lQ},protocols:["http","https","file","blob","url","data"]},dM=typeof window<"u"&&typeof document<"u",MA=typeof navigator=="object"&&navigator||void 0,cQ=dM&&(!MA||["ReactNative","NativeScript","NS"].indexOf(MA.product)<0),hQ=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",fQ=dM&&window.location.href||"http://localhost",dQ=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:dM,hasStandardBrowserEnv:cQ,hasStandardBrowserWebWorkerEnv:hQ,navigator:MA,origin:fQ},Symbol.toStringTag,{value:"Module"})),Xp={...dQ,...uQ};function pQ(d,s){return G4(d,new Xp.classes.URLSearchParams,{visitor:function(E,R,K,dt){return Xp.isNode&&no.isBuffer(E)?(this.append(R,E.toString("base64")),!1):dt.defaultVisitor.apply(this,arguments)},...s})}function mQ(d){return no.matchAll(/\w+|\[(\w*)]/g,d).map(s=>s[0]==="[]"?"":s[1]||s[0])}function gQ(d){const s={},E=Object.keys(d);let R;const K=E.length;let dt;for(R=0;R=E.length;return _t=!_t&&no.isArray(K)?K.length:_t,jt?(no.hasOwnProp(K,_t)?K[_t]=[K[_t],R]:K[_t]=R,!zt):((!K[_t]||!no.isObject(K[_t]))&&(K[_t]=[]),s(E,R,K[_t],dt)&&no.isArray(K[_t])&&(K[_t]=gQ(K[_t])),!zt)}if(no.isFormData(d)&&no.isFunction(d.entries)){const E={};return no.forEachEntry(d,(R,K)=>{s(mQ(R),K,E,0)}),E}return null}function vQ(d,s,E){if(no.isString(d))try{return(s||JSON.parse)(d),no.trim(d)}catch(R){if(R.name!=="SyntaxError")throw R}return(E||JSON.stringify)(d)}const ow={transitional:IO,adapter:["xhr","http","fetch"],transformRequest:[function(s,E){const R=E.getContentType()||"",K=R.indexOf("application/json")>-1,dt=no.isObject(s);if(dt&&no.isHTMLForm(s)&&(s=new FormData(s)),no.isFormData(s))return K?JSON.stringify(OO(s)):s;if(no.isArrayBuffer(s)||no.isBuffer(s)||no.isStream(s)||no.isFile(s)||no.isBlob(s)||no.isReadableStream(s))return s;if(no.isArrayBufferView(s))return s.buffer;if(no.isURLSearchParams(s))return E.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),s.toString();let zt;if(dt){if(R.indexOf("application/x-www-form-urlencoded")>-1)return pQ(s,this.formSerializer).toString();if((zt=no.isFileList(s))||R.indexOf("multipart/form-data")>-1){const jt=this.env&&this.env.FormData;return G4(zt?{"files[]":s}:s,jt&&new jt,this.formSerializer)}}return dt||K?(E.setContentType("application/json",!1),vQ(s)):s}],transformResponse:[function(s){const E=this.transitional||ow.transitional,R=E&&E.forcedJSONParsing,K=this.responseType==="json";if(no.isResponse(s)||no.isReadableStream(s))return s;if(s&&no.isString(s)&&(R&&!this.responseType||K)){const _t=!(E&&E.silentJSONParsing)&&K;try{return JSON.parse(s,this.parseReviver)}catch(zt){if(_t)throw zt.name==="SyntaxError"?Qu.from(zt,Qu.ERR_BAD_RESPONSE,this,null,this.response):zt}}return s}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Xp.classes.FormData,Blob:Xp.classes.Blob},validateStatus:function(s){return s>=200&&s<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};no.forEach(["delete","get","head","post","put","patch"],d=>{ow.headers[d]={}});const yQ=no.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),xQ=d=>{const s={};let E,R,K;return d&&d.split(` -`).forEach(function(_t){K=_t.indexOf(":"),E=_t.substring(0,K).trim().toLowerCase(),R=_t.substring(K+1).trim(),!(!E||s[E]&&yQ[E])&&(E==="set-cookie"?s[E]?s[E].push(R):s[E]=[R]:s[E]=s[E]?s[E]+", "+R:R)}),s},HL=Symbol("internals");function i2(d){return d&&String(d).trim().toLowerCase()}function r4(d){return d===!1||d==null?d:no.isArray(d)?d.map(r4):String(d)}function _Q(d){const s=Object.create(null),E=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let R;for(;R=E.exec(d);)s[R[1]]=R[2];return s}const bQ=d=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(d.trim());function D8(d,s,E,R,K){if(no.isFunction(R))return R.call(this,s,E);if(K&&(s=E),!!no.isString(s)){if(no.isString(R))return s.indexOf(R)!==-1;if(no.isRegExp(R))return R.test(s)}}function wQ(d){return d.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(s,E,R)=>E.toUpperCase()+R)}function kQ(d,s){const E=no.toCamelCase(" "+s);["get","set","has"].forEach(R=>{Object.defineProperty(d,R+E,{value:function(K,dt,_t){return this[R].call(this,s,K,dt,_t)},configurable:!0})})}let C0=class{constructor(s){s&&this.set(s)}set(s,E,R){const K=this;function dt(zt,jt,te){const se=i2(jt);if(!se)throw new Error("header name must be a non-empty string");const Le=no.findKey(K,se);(!Le||K[Le]===void 0||te===!0||te===void 0&&K[Le]!==!1)&&(K[Le||jt]=r4(zt))}const _t=(zt,jt)=>no.forEach(zt,(te,se)=>dt(te,se,jt));if(no.isPlainObject(s)||s instanceof this.constructor)_t(s,E);else if(no.isString(s)&&(s=s.trim())&&!bQ(s))_t(xQ(s),E);else if(no.isObject(s)&&no.isIterable(s)){let zt={},jt,te;for(const se of s){if(!no.isArray(se))throw TypeError("Object iterator must return a key-value pair");zt[te=se[0]]=(jt=zt[te])?no.isArray(jt)?[...jt,se[1]]:[jt,se[1]]:se[1]}_t(zt,E)}else s!=null&&dt(E,s,R);return this}get(s,E){if(s=i2(s),s){const R=no.findKey(this,s);if(R){const K=this[R];if(!E)return K;if(E===!0)return _Q(K);if(no.isFunction(E))return E.call(this,K,R);if(no.isRegExp(E))return E.exec(K);throw new TypeError("parser must be boolean|regexp|function")}}}has(s,E){if(s=i2(s),s){const R=no.findKey(this,s);return!!(R&&this[R]!==void 0&&(!E||D8(this,this[R],R,E)))}return!1}delete(s,E){const R=this;let K=!1;function dt(_t){if(_t=i2(_t),_t){const zt=no.findKey(R,_t);zt&&(!E||D8(R,R[zt],zt,E))&&(delete R[zt],K=!0)}}return no.isArray(s)?s.forEach(dt):dt(s),K}clear(s){const E=Object.keys(this);let R=E.length,K=!1;for(;R--;){const dt=E[R];(!s||D8(this,this[dt],dt,s,!0))&&(delete this[dt],K=!0)}return K}normalize(s){const E=this,R={};return no.forEach(this,(K,dt)=>{const _t=no.findKey(R,dt);if(_t){E[_t]=r4(K),delete E[dt];return}const zt=s?wQ(dt):String(dt).trim();zt!==dt&&delete E[dt],E[zt]=r4(K),R[zt]=!0}),this}concat(...s){return this.constructor.concat(this,...s)}toJSON(s){const E=Object.create(null);return no.forEach(this,(R,K)=>{R!=null&&R!==!1&&(E[K]=s&&no.isArray(R)?R.join(", "):R)}),E}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([s,E])=>s+": "+E).join(` -`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(s){return s instanceof this?s:new this(s)}static concat(s,...E){const R=new this(s);return E.forEach(K=>R.set(K)),R}static accessor(s){const R=(this[HL]=this[HL]={accessors:{}}).accessors,K=this.prototype;function dt(_t){const zt=i2(_t);R[zt]||(kQ(K,_t),R[zt]=!0)}return no.isArray(s)?s.forEach(dt):dt(s),this}};C0.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);no.reduceDescriptors(C0.prototype,({value:d},s)=>{let E=s[0].toUpperCase()+s.slice(1);return{get:()=>d,set(R){this[E]=R}}});no.freezeMethods(C0);function F8(d,s){const E=this||ow,R=s||E,K=C0.from(R.headers);let dt=R.data;return no.forEach(d,function(zt){dt=zt.call(E,dt,K.normalize(),s?s.status:void 0)}),K.normalize(),dt}function DO(d){return!!(d&&d.__CANCEL__)}function T_(d,s,E){Qu.call(this,d??"canceled",Qu.ERR_CANCELED,s,E),this.name="CanceledError"}no.inherits(T_,Qu,{__CANCEL__:!0});function FO(d,s,E){const R=E.config.validateStatus;!E.status||!R||R(E.status)?d(E):s(new Qu("Request failed with status code "+E.status,[Qu.ERR_BAD_REQUEST,Qu.ERR_BAD_RESPONSE][Math.floor(E.status/100)-4],E.config,E.request,E))}function TQ(d){const s=/^([-+\w]{1,25})(:?\/\/|:)/.exec(d);return s&&s[1]||""}function AQ(d,s){d=d||10;const E=new Array(d),R=new Array(d);let K=0,dt=0,_t;return s=s!==void 0?s:1e3,function(jt){const te=Date.now(),se=R[dt];_t||(_t=te),E[K]=jt,R[K]=te;let Le=dt,Je=0;for(;Le!==K;)Je+=E[Le++],Le=Le%d;if(K=(K+1)%d,K===dt&&(dt=(dt+1)%d),te-_t{E=se,K=null,dt&&(clearTimeout(dt),dt=null),d(...te)};return[(...te)=>{const se=Date.now(),Le=se-E;Le>=R?_t(te,se):(K=te,dt||(dt=setTimeout(()=>{dt=null,_t(K)},R-Le)))},()=>K&&_t(K)]}const y4=(d,s,E=3)=>{let R=0;const K=AQ(50,250);return MQ(dt=>{const _t=dt.loaded,zt=dt.lengthComputable?dt.total:void 0,jt=_t-R,te=K(jt),se=_t<=zt;R=_t;const Le={loaded:_t,total:zt,progress:zt?_t/zt:void 0,bytes:jt,rate:te||void 0,estimated:te&&zt&&se?(zt-_t)/te:void 0,event:dt,lengthComputable:zt!=null,[s?"download":"upload"]:!0};d(Le)},E)},WL=(d,s)=>{const E=d!=null;return[R=>s[0]({lengthComputable:E,total:d,loaded:R}),s[1]]},qL=d=>(...s)=>no.asap(()=>d(...s)),SQ=Xp.hasStandardBrowserEnv?((d,s)=>E=>(E=new URL(E,Xp.origin),d.protocol===E.protocol&&d.host===E.host&&(s||d.port===E.port)))(new URL(Xp.origin),Xp.navigator&&/(msie|trident)/i.test(Xp.navigator.userAgent)):()=>!0,EQ=Xp.hasStandardBrowserEnv?{write(d,s,E,R,K,dt,_t){if(typeof document>"u")return;const zt=[`${d}=${encodeURIComponent(s)}`];no.isNumber(E)&&zt.push(`expires=${new Date(E).toUTCString()}`),no.isString(R)&&zt.push(`path=${R}`),no.isString(K)&&zt.push(`domain=${K}`),dt===!0&&zt.push("secure"),no.isString(_t)&&zt.push(`SameSite=${_t}`),document.cookie=zt.join("; ")},read(d){if(typeof document>"u")return null;const s=document.cookie.match(new RegExp("(?:^|; )"+d+"=([^;]*)"));return s?decodeURIComponent(s[1]):null},remove(d){this.write(d,"",Date.now()-864e5,"/")}}:{write(){},read(){return null},remove(){}};function CQ(d){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(d)}function LQ(d,s){return s?d.replace(/\/?\/$/,"")+"/"+s.replace(/^\/+/,""):d}function BO(d,s,E){let R=!CQ(s);return d&&(R||E==!1)?LQ(d,s):s}const $L=d=>d instanceof C0?{...d}:d;function Ly(d,s){s=s||{};const E={};function R(te,se,Le,Je){return no.isPlainObject(te)&&no.isPlainObject(se)?no.merge.call({caseless:Je},te,se):no.isPlainObject(se)?no.merge({},se):no.isArray(se)?se.slice():se}function K(te,se,Le,Je){if(no.isUndefined(se)){if(!no.isUndefined(te))return R(void 0,te,Le,Je)}else return R(te,se,Le,Je)}function dt(te,se){if(!no.isUndefined(se))return R(void 0,se)}function _t(te,se){if(no.isUndefined(se)){if(!no.isUndefined(te))return R(void 0,te)}else return R(void 0,se)}function zt(te,se,Le){if(Le in s)return R(te,se);if(Le in d)return R(void 0,te)}const jt={url:dt,method:dt,data:dt,baseURL:_t,transformRequest:_t,transformResponse:_t,paramsSerializer:_t,timeout:_t,timeoutMessage:_t,withCredentials:_t,withXSRFToken:_t,adapter:_t,responseType:_t,xsrfCookieName:_t,xsrfHeaderName:_t,onUploadProgress:_t,onDownloadProgress:_t,decompress:_t,maxContentLength:_t,maxBodyLength:_t,beforeRedirect:_t,transport:_t,httpAgent:_t,httpsAgent:_t,cancelToken:_t,socketPath:_t,responseEncoding:_t,validateStatus:zt,headers:(te,se,Le)=>K($L(te),$L(se),Le,!0)};return no.forEach(Object.keys({...d,...s}),function(se){const Le=jt[se]||K,Je=Le(d[se],s[se],se);no.isUndefined(Je)&&Le!==zt||(E[se]=Je)}),E}const RO=d=>{const s=Ly({},d);let{data:E,withXSRFToken:R,xsrfHeaderName:K,xsrfCookieName:dt,headers:_t,auth:zt}=s;if(s.headers=_t=C0.from(_t),s.url=zO(BO(s.baseURL,s.url,s.allowAbsoluteUrls),d.params,d.paramsSerializer),zt&&_t.set("Authorization","Basic "+btoa((zt.username||"")+":"+(zt.password?unescape(encodeURIComponent(zt.password)):""))),no.isFormData(E)){if(Xp.hasStandardBrowserEnv||Xp.hasStandardBrowserWebWorkerEnv)_t.setContentType(void 0);else if(no.isFunction(E.getHeaders)){const jt=E.getHeaders(),te=["content-type","content-length"];Object.entries(jt).forEach(([se,Le])=>{te.includes(se.toLowerCase())&&_t.set(se,Le)})}}if(Xp.hasStandardBrowserEnv&&(R&&no.isFunction(R)&&(R=R(s)),R||R!==!1&&SQ(s.url))){const jt=K&&dt&&EQ.read(dt);jt&&_t.set(K,jt)}return s},PQ=typeof XMLHttpRequest<"u",zQ=PQ&&function(d){return new Promise(function(E,R){const K=RO(d);let dt=K.data;const _t=C0.from(K.headers).normalize();let{responseType:zt,onUploadProgress:jt,onDownloadProgress:te}=K,se,Le,Je,fr,Tr;function wr(){fr&&fr(),Tr&&Tr(),K.cancelToken&&K.cancelToken.unsubscribe(se),K.signal&&K.signal.removeEventListener("abort",se)}let Vr=new XMLHttpRequest;Vr.open(K.method.toUpperCase(),K.url,!0),Vr.timeout=K.timeout;function fn(){if(!Vr)return;const cn=C0.from("getAllResponseHeaders"in Vr&&Vr.getAllResponseHeaders()),Dn={data:!zt||zt==="text"||zt==="json"?Vr.responseText:Vr.response,status:Vr.status,statusText:Vr.statusText,headers:cn,config:d,request:Vr};FO(function(Ui){E(Ui),wr()},function(Ui){R(Ui),wr()},Dn),Vr=null}"onloadend"in Vr?Vr.onloadend=fn:Vr.onreadystatechange=function(){!Vr||Vr.readyState!==4||Vr.status===0&&!(Vr.responseURL&&Vr.responseURL.indexOf("file:")===0)||setTimeout(fn)},Vr.onabort=function(){Vr&&(R(new Qu("Request aborted",Qu.ECONNABORTED,d,Vr)),Vr=null)},Vr.onerror=function(Qn){const Dn=Qn&&Qn.message?Qn.message:"Network Error",ei=new Qu(Dn,Qu.ERR_NETWORK,d,Vr);ei.event=Qn||null,R(ei),Vr=null},Vr.ontimeout=function(){let Qn=K.timeout?"timeout of "+K.timeout+"ms exceeded":"timeout exceeded";const Dn=K.transitional||IO;K.timeoutErrorMessage&&(Qn=K.timeoutErrorMessage),R(new Qu(Qn,Dn.clarifyTimeoutError?Qu.ETIMEDOUT:Qu.ECONNABORTED,d,Vr)),Vr=null},dt===void 0&&_t.setContentType(null),"setRequestHeader"in Vr&&no.forEach(_t.toJSON(),function(Qn,Dn){Vr.setRequestHeader(Dn,Qn)}),no.isUndefined(K.withCredentials)||(Vr.withCredentials=!!K.withCredentials),zt&&zt!=="json"&&(Vr.responseType=K.responseType),te&&([Je,Tr]=y4(te,!0),Vr.addEventListener("progress",Je)),jt&&Vr.upload&&([Le,fr]=y4(jt),Vr.upload.addEventListener("progress",Le),Vr.upload.addEventListener("loadend",fr)),(K.cancelToken||K.signal)&&(se=cn=>{Vr&&(R(!cn||cn.type?new T_(null,d,Vr):cn),Vr.abort(),Vr=null)},K.cancelToken&&K.cancelToken.subscribe(se),K.signal&&(K.signal.aborted?se():K.signal.addEventListener("abort",se)));const Dt=TQ(K.url);if(Dt&&Xp.protocols.indexOf(Dt)===-1){R(new Qu("Unsupported protocol "+Dt+":",Qu.ERR_BAD_REQUEST,d));return}Vr.send(dt||null)})},IQ=(d,s)=>{const{length:E}=d=d?d.filter(Boolean):[];if(s||E){let R=new AbortController,K;const dt=function(te){if(!K){K=!0,zt();const se=te instanceof Error?te:this.reason;R.abort(se instanceof Qu?se:new T_(se instanceof Error?se.message:se))}};let _t=s&&setTimeout(()=>{_t=null,dt(new Qu(`timeout ${s} of ms exceeded`,Qu.ETIMEDOUT))},s);const zt=()=>{d&&(_t&&clearTimeout(_t),_t=null,d.forEach(te=>{te.unsubscribe?te.unsubscribe(dt):te.removeEventListener("abort",dt)}),d=null)};d.forEach(te=>te.addEventListener("abort",dt));const{signal:jt}=R;return jt.unsubscribe=()=>no.asap(zt),jt}},OQ=function*(d,s){let E=d.byteLength;if(E{const K=DQ(d,s);let dt=0,_t,zt=jt=>{_t||(_t=!0,R&&R(jt))};return new ReadableStream({async pull(jt){try{const{done:te,value:se}=await K.next();if(te){zt(),jt.close();return}let Le=se.byteLength;if(E){let Je=dt+=Le;E(Je)}jt.enqueue(new Uint8Array(se))}catch(te){throw zt(te),te}},cancel(jt){return zt(jt),K.return()}},{highWaterMark:2})},GL=64*1024,{isFunction:z5}=no,BQ=(({Request:d,Response:s})=>({Request:d,Response:s}))(no.global),{ReadableStream:YL,TextEncoder:KL}=no.global,XL=(d,...s)=>{try{return!!d(...s)}catch{return!1}},RQ=d=>{d=no.merge.call({skipUndefined:!0},BQ,d);const{fetch:s,Request:E,Response:R}=d,K=s?z5(s):typeof fetch=="function",dt=z5(E),_t=z5(R);if(!K)return!1;const zt=K&&z5(YL),jt=K&&(typeof KL=="function"?(Tr=>wr=>Tr.encode(wr))(new KL):async Tr=>new Uint8Array(await new E(Tr).arrayBuffer())),te=dt&&zt&&XL(()=>{let Tr=!1;const wr=new E(Xp.origin,{body:new YL,method:"POST",get duplex(){return Tr=!0,"half"}}).headers.has("Content-Type");return Tr&&!wr}),se=_t&&zt&&XL(()=>no.isReadableStream(new R("").body)),Le={stream:se&&(Tr=>Tr.body)};K&&["text","arrayBuffer","blob","formData","stream"].forEach(Tr=>{!Le[Tr]&&(Le[Tr]=(wr,Vr)=>{let fn=wr&&wr[Tr];if(fn)return fn.call(wr);throw new Qu(`Response type '${Tr}' is not supported`,Qu.ERR_NOT_SUPPORT,Vr)})});const Je=async Tr=>{if(Tr==null)return 0;if(no.isBlob(Tr))return Tr.size;if(no.isSpecCompliantForm(Tr))return(await new E(Xp.origin,{method:"POST",body:Tr}).arrayBuffer()).byteLength;if(no.isArrayBufferView(Tr)||no.isArrayBuffer(Tr))return Tr.byteLength;if(no.isURLSearchParams(Tr)&&(Tr=Tr+""),no.isString(Tr))return(await jt(Tr)).byteLength},fr=async(Tr,wr)=>{const Vr=no.toFiniteNumber(Tr.getContentLength());return Vr??Je(wr)};return async Tr=>{let{url:wr,method:Vr,data:fn,signal:Dt,cancelToken:cn,timeout:Qn,onDownloadProgress:Dn,onUploadProgress:ei,responseType:Ui,headers:Di,withCredentials:qr="same-origin",fetchOptions:Si}=RO(Tr),jn=s||fetch;Ui=Ui?(Ui+"").toLowerCase():"text";let oi=IQ([Dt,cn&&cn.toAbortSignal()],Qn),Vn=null;const Wn=oi&&oi.unsubscribe&&(()=>{oi.unsubscribe()});let sa;try{if(ei&&te&&Vr!=="get"&&Vr!=="head"&&(sa=await fr(Di,fn))!==0){let io=new E(wr,{method:"POST",body:fn,duplex:"half"}),Rs;if(no.isFormData(fn)&&(Rs=io.headers.get("content-type"))&&Di.setContentType(Rs),io.body){const[Rl,No]=WL(sa,y4(qL(ei)));fn=ZL(io.body,GL,Rl,No)}}no.isString(qr)||(qr=qr?"include":"omit");const wi=dt&&"credentials"in E.prototype,hi={...Si,signal:oi,method:Vr.toUpperCase(),headers:Di.normalize().toJSON(),body:fn,duplex:"half",credentials:wi?qr:void 0};Vn=dt&&new E(wr,hi);let va=await(dt?jn(Vn,Si):jn(wr,hi));const qo=se&&(Ui==="stream"||Ui==="response");if(se&&(Dn||qo&&Wn)){const io={};["status","statusText","headers"].forEach(Ka=>{io[Ka]=va[Ka]});const Rs=no.toFiniteNumber(va.headers.get("content-length")),[Rl,No]=Dn&&WL(Rs,y4(qL(Dn),!0))||[];va=new R(ZL(va.body,GL,Rl,()=>{No&&No(),Wn&&Wn()}),io)}Ui=Ui||"text";let qa=await Le[no.findKey(Le,Ui)||"text"](va,Tr);return!qo&&Wn&&Wn(),await new Promise((io,Rs)=>{FO(io,Rs,{data:qa,headers:C0.from(va.headers),status:va.status,statusText:va.statusText,config:Tr,request:Vn})})}catch(wi){throw Wn&&Wn(),wi&&wi.name==="TypeError"&&/Load failed|fetch/i.test(wi.message)?Object.assign(new Qu("Network Error",Qu.ERR_NETWORK,Tr,Vn),{cause:wi.cause||wi}):Qu.from(wi,wi&&wi.code,Tr,Vn)}}},NQ=new Map,NO=d=>{let s=d&&d.env||{};const{fetch:E,Request:R,Response:K}=s,dt=[R,K,E];let _t=dt.length,zt=_t,jt,te,se=NQ;for(;zt--;)jt=dt[zt],te=se.get(jt),te===void 0&&se.set(jt,te=zt?new Map:RQ(s)),se=te;return te};NO();const pM={http:rQ,xhr:zQ,fetch:{get:NO}};no.forEach(pM,(d,s)=>{if(d){try{Object.defineProperty(d,"name",{value:s})}catch{}Object.defineProperty(d,"adapterName",{value:s})}});const JL=d=>`- ${d}`,jQ=d=>no.isFunction(d)||d===null||d===!1;function UQ(d,s){d=no.isArray(d)?d:[d];const{length:E}=d;let R,K;const dt={};for(let _t=0;_t`adapter ${jt} `+(te===!1?"is not supported by the environment":"is not available in the build"));let zt=E?_t.length>1?`since : + */let qX=()=>location.protocol+"//"+location.host;function mO(d,s){const{pathname:E,search:R,hash:K}=s,dt=d.indexOf("#");if(dt>-1){let _t=K.includes(d.slice(dt))?d.slice(dt).length:1,It=K.slice(_t);return It[0]!=="/"&&(It="/"+It),TL(It,"")}return TL(E,d)+R+K}function $X(d,s,E,R){let K=[],dt=[],_t=null;const It=({state:Je})=>{const fr=mO(d,location),Tr=E.value,wr=s.value;let Vr=0;if(Je){if(E.value=fr,s.value=Je,_t&&_t===Tr){_t=null;return}Vr=wr?Je.position-wr.position:0}else R(fr);K.forEach(fn=>{fn(E.value,Tr,{delta:Vr,type:bA.pop,direction:Vr?Vr>0?z8.forward:z8.back:z8.unknown})})};function jt(){_t=E.value}function te(Je){K.push(Je);const fr=()=>{const Tr=K.indexOf(Je);Tr>-1&&K.splice(Tr,1)};return dt.push(fr),fr}function le(){if(document.visibilityState==="hidden"){const{history:Je}=window;if(!Je.state)return;Je.replaceState(Bh({},Je.state,{scroll:H4()}),"")}}function Le(){for(const Je of dt)Je();dt=[],window.removeEventListener("popstate",It),window.removeEventListener("pagehide",le),document.removeEventListener("visibilitychange",le)}return window.addEventListener("popstate",It),window.addEventListener("pagehide",le),document.addEventListener("visibilitychange",le),{pauseListeners:jt,listen:te,destroy:Le}}function CL(d,s,E,R=!1,K=!1){return{back:d,current:s,forward:E,replaced:R,position:window.history.length,scroll:K?H4():null}}function ZX(d){const{history:s,location:E}=window,R={value:mO(d,E)},K={value:s.state};K.value||dt(R.value,{back:null,current:R.value,forward:null,position:s.length-1,replaced:!0,scroll:null},!0);function dt(jt,te,le){const Le=d.indexOf("#"),Je=Le>-1?(E.host&&document.querySelector("base")?d:d.slice(Le))+jt:qX()+d+jt;try{s[le?"replaceState":"pushState"](te,"",Je),K.value=te}catch(fr){console.error(fr),E[le?"replace":"assign"](Je)}}function _t(jt,te){dt(jt,Bh({},s.state,CL(K.value.back,jt,K.value.forward,!0),te,{position:K.value.position}),!0),R.value=jt}function It(jt,te){const le=Bh({},K.value,s.state,{forward:jt,scroll:H4()});dt(le.current,le,!0),dt(jt,Bh({},CL(R.value,jt,null),{position:le.position+1},te),!1),R.value=jt}return{location:R,state:K,push:It,replace:_t}}function GX(d){d=PX(d);const s=ZX(d),E=$X(d,s.state,s.location,s.replace);function R(dt,_t=!0){_t||E.pauseListeners(),history.go(dt)}const K=Bh({location:"",base:d,go:R,createHref:zX.bind(null,d)},s,E);return Object.defineProperty(K,"location",{enumerable:!0,get:()=>s.location.value}),Object.defineProperty(K,"state",{enumerable:!0,get:()=>s.state.value}),K}let by=function(d){return d[d.Static=0]="Static",d[d.Param=1]="Param",d[d.Group=2]="Group",d}({});var np=function(d){return d[d.Static=0]="Static",d[d.Param=1]="Param",d[d.ParamRegExp=2]="ParamRegExp",d[d.ParamRegExpEnd=3]="ParamRegExpEnd",d[d.EscapeNext=4]="EscapeNext",d}(np||{});const YX={type:by.Static,value:""},KX=/[a-zA-Z0-9_]/;function XX(d){if(!d)return[[]];if(d==="/")return[[YX]];if(!d.startsWith("/"))throw new Error(`Invalid path "${d}"`);function s(fr){throw new Error(`ERR (${E})/"${te}": ${fr}`)}let E=np.Static,R=E;const K=[];let dt;function _t(){dt&&K.push(dt),dt=[]}let It=0,jt,te="",le="";function Le(){te&&(E===np.Static?dt.push({type:by.Static,value:te}):E===np.Param||E===np.ParamRegExp||E===np.ParamRegExpEnd?(dt.length>1&&(jt==="*"||jt==="+")&&s(`A repeatable param (${te}) must be alone in its segment. eg: '/:ids+.`),dt.push({type:by.Param,value:te,regexp:le,repeatable:jt==="*"||jt==="+",optional:jt==="*"||jt==="?"})):s("Invalid state to consume buffer"),te="")}function Je(){te+=jt}for(;Its.length?s.length===1&&s[0]===h0.Static+h0.Segment?1:-1:0}function gO(d,s){let E=0;const R=d.score,K=s.score;for(;E0&&s[s.length-1]<0}const rJ={strict:!1,end:!0,sensitive:!1};function nJ(d,s,E){const R=tJ(XX(d.path),E),K=Bh(R,{record:d,parent:s,children:[],alias:[]});return s&&!K.record.aliasOf==!s.record.aliasOf&&s.children.push(K),K}function iJ(d,s){const E=[],R=new Map;s=kL(rJ,s);function K(Le){return R.get(Le)}function dt(Le,Je,fr){const Tr=!fr,wr=zL(Le);wr.aliasOf=fr&&fr.record;const Vr=kL(s,Le),fn=[wr];if("alias"in Le){const Qn=typeof Le.alias=="string"?[Le.alias]:Le.alias;for(const Dn of Qn)fn.push(zL(Bh({},wr,{components:fr?fr.record.components:wr.components,path:Dn,aliasOf:fr?fr.record:wr})))}let Dt,un;for(const Qn of fn){const{path:Dn}=Qn;if(Je&&Dn[0]!=="/"){const Xn=Je.record.path,Ni=Xn[Xn.length-1]==="/"?"":"/";Qn.path=Je.record.path+(Dn&&Ni+Dn)}if(Dt=nJ(Qn,Je,Vr),fr?fr.alias.push(Dt):(un=un||Dt,un!==Dt&&un.alias.push(Dt),Tr&&Le.name&&!OL(Dt)&&_t(Le.name)),vO(Dt)&&jt(Dt),wr.children){const Xn=wr.children;for(let Ni=0;Ni{_t(un)}:C2}function _t(Le){if(dO(Le)){const Je=R.get(Le);Je&&(R.delete(Le),E.splice(E.indexOf(Je),1),Je.children.forEach(_t),Je.alias.forEach(_t))}else{const Je=E.indexOf(Le);Je>-1&&(E.splice(Je,1),Le.record.name&&R.delete(Le.record.name),Le.children.forEach(_t),Le.alias.forEach(_t))}}function It(){return E}function jt(Le){const Je=sJ(Le,E);E.splice(Je,0,Le),Le.record.name&&!OL(Le)&&R.set(Le.record.name,Le)}function te(Le,Je){let fr,Tr={},wr,Vr;if("name"in Le&&Le.name){if(fr=R.get(Le.name),!fr)throw y_(xd.MATCHER_NOT_FOUND,{location:Le});Vr=fr.record.name,Tr=Bh(IL(Je.params,fr.keys.filter(un=>!un.optional).concat(fr.parent?fr.parent.keys.filter(un=>un.optional):[]).map(un=>un.name)),Le.params&&IL(Le.params,fr.keys.map(un=>un.name))),wr=fr.stringify(Tr)}else if(Le.path!=null)wr=Le.path,fr=E.find(un=>un.re.test(wr)),fr&&(Tr=fr.parse(wr),Vr=fr.record.name);else{if(fr=Je.name?R.get(Je.name):E.find(un=>un.re.test(Je.path)),!fr)throw y_(xd.MATCHER_NOT_FOUND,{location:Le,currentLocation:Je});Vr=fr.record.name,Tr=Bh({},Je.params,Le.params),wr=fr.stringify(Tr)}const fn=[];let Dt=fr;for(;Dt;)fn.unshift(Dt.record),Dt=Dt.parent;return{name:Vr,path:wr,params:Tr,matched:fn,meta:oJ(fn)}}d.forEach(Le=>dt(Le));function le(){E.length=0,R.clear()}return{addRoute:dt,resolve:te,removeRoute:_t,clearRoutes:le,getRoutes:It,getRecordMatcher:K}}function IL(d,s){const E={};for(const R of s)R in d&&(E[R]=d[R]);return E}function zL(d){const s={path:d.path,redirect:d.redirect,name:d.name,meta:d.meta||{},aliasOf:d.aliasOf,beforeEnter:d.beforeEnter,props:aJ(d),children:d.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in d?d.components||null:d.component&&{default:d.component}};return Object.defineProperty(s,"mods",{value:{}}),s}function aJ(d){const s={},E=d.props||!1;if("component"in d)s.default=E;else for(const R in d.components)s[R]=typeof E=="object"?E[R]:E;return s}function OL(d){for(;d;){if(d.record.aliasOf)return!0;d=d.parent}return!1}function oJ(d){return d.reduce((s,E)=>Bh(s,E.meta),{})}function sJ(d,s){let E=0,R=s.length;for(;E!==R;){const dt=E+R>>1;gO(d,s[dt])<0?R=dt:E=dt+1}const K=lJ(d);return K&&(R=s.lastIndexOf(K,R-1)),R}function lJ(d){let s=d;for(;s=s.parent;)if(vO(s)&&gO(d,s)===0)return s}function vO({record:d}){return!!(d.name||d.components&&Object.keys(d.components).length||d.redirect)}function DL(d){const s=cm(W4),E=cm(cM),R=qo(()=>{const jt=Dl(d.to);return s.resolve(jt)}),K=qo(()=>{const{matched:jt}=R.value,{length:te}=jt,le=jt[te-1],Le=E.matched;if(!le||!Le.length)return-1;const Je=Le.findIndex(v_.bind(null,le));if(Je>-1)return Je;const fr=FL(jt[te-2]);return te>1&&FL(le)===fr&&Le[Le.length-1].path!==fr?Le.findIndex(v_.bind(null,jt[te-2])):Je}),dt=qo(()=>K.value>-1&&dJ(E.params,R.value.params)),_t=qo(()=>K.value>-1&&K.value===E.matched.length-1&&fO(E.params,R.value.params));function It(jt={}){if(fJ(jt)){const te=s[Dl(d.replace)?"replace":"push"](Dl(d.to)).catch(C2);return d.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>te),te}return Promise.resolve()}return{route:R,href:qo(()=>R.value.href),isActive:dt,isExactActive:_t,navigate:It}}function uJ(d){return d.length===1?d[0]:d}const cJ=Ec({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:DL,setup(d,{slots:s}){const E=Ey(DL(d)),{options:R}=cm(W4),K=qo(()=>({[BL(d.activeClass,R.linkActiveClass,"router-link-active")]:E.isActive,[BL(d.exactActiveClass,R.linkExactActiveClass,"router-link-exact-active")]:E.isExactActive}));return()=>{const dt=s.default&&uJ(s.default(E));return d.custom?dt:oM("a",{"aria-current":E.isExactActive?d.ariaCurrentValue:null,href:E.href,onClick:E.navigate,class:K.value},dt)}}}),hJ=cJ;function fJ(d){if(!(d.metaKey||d.altKey||d.ctrlKey||d.shiftKey)&&!d.defaultPrevented&&!(d.button!==void 0&&d.button!==0)){if(d.currentTarget&&d.currentTarget.getAttribute){const s=d.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(s))return}return d.preventDefault&&d.preventDefault(),!0}}function dJ(d,s){for(const E in s){const R=s[E],K=d[E];if(typeof R=="string"){if(R!==K)return!1}else if(!Im(K)||K.length!==R.length||R.some((dt,_t)=>dt!==K[_t]))return!1}return!0}function FL(d){return d?d.aliasOf?d.aliasOf.path:d.path:""}const BL=(d,s,E)=>d??s??E,pJ=Ec({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(d,{attrs:s,slots:E}){const R=cm(kA),K=qo(()=>d.route||R.value),dt=cm(EL,0),_t=qo(()=>{let te=Dl(dt);const{matched:le}=K.value;let Le;for(;(Le=le[te])&&!Le.components;)te++;return te}),It=qo(()=>K.value.matched[_t.value]);X5(EL,qo(()=>_t.value+1)),X5(HX,It),X5(kA,K);const jt=ja();return Em(()=>[jt.value,It.value,d.name],([te,le,Le],[Je,fr,Tr])=>{le&&(le.instances[Le]=te,fr&&fr!==le&&te&&te===Je&&(le.leaveGuards.size||(le.leaveGuards=fr.leaveGuards),le.updateGuards.size||(le.updateGuards=fr.updateGuards))),te&&le&&(!fr||!v_(le,fr)||!Je)&&(le.enterCallbacks[Le]||[]).forEach(wr=>wr(te))},{flush:"post"}),()=>{const te=K.value,le=d.name,Le=It.value,Je=Le&&Le.components[le];if(!Je)return RL(E.default,{Component:Je,route:te});const fr=Le.props[le],Tr=fr?fr===!0?te.params:typeof fr=="function"?fr(te):fr:null,Vr=oM(Je,Bh({},Tr,s,{onVnodeUnmounted:fn=>{fn.component.isUnmounted&&(Le.instances[le]=null)},ref:jt}));return RL(E.default,{Component:Vr,route:te})||Vr}}});function RL(d,s){if(!d)return null;const E=d(s);return E.length===1?E[0]:E}const mJ=pJ;function gJ(d){const s=iJ(d.routes,d),E=d.parseQuery||UX,R=d.stringifyQuery||SL,K=d.history,dt=n2(),_t=n2(),It=n2(),jt=lY(e1);let te=e1;s_&&d.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const le=P8.bind(null,ha=>""+ha),Le=P8.bind(null,TX),Je=P8.bind(null,W2);function fr(ha,oo){let mo,Jo;return dO(ha)?(mo=s.getRecordMatcher(ha),Jo=oo):Jo=ha,s.addRoute(Jo,mo)}function Tr(ha){const oo=s.getRecordMatcher(ha);oo&&s.removeRoute(oo)}function wr(){return s.getRoutes().map(ha=>ha.record)}function Vr(ha){return!!s.getRecordMatcher(ha)}function fn(ha,oo){if(oo=Bh({},oo||jt.value),typeof ha=="string"){const hi=I8(E,ha,oo.path),go=s.resolve({path:hi.path},oo),Mo=K.createHref(hi.fullPath);return Bh(hi,go,{params:Je(go.params),hash:W2(hi.hash),redirectedFrom:void 0,href:Mo})}let mo;if(ha.path!=null)mo=Bh({},ha,{path:I8(E,ha.path,oo.path).path});else{const hi=Bh({},ha.params);for(const go in hi)hi[go]==null&&delete hi[go];mo=Bh({},ha,{params:Le(hi)}),oo.params=Le(oo.params)}const Jo=s.resolve(mo,oo),zo=ha.hash||"";Jo.params=le(Je(Jo.params));const di=SX(R,Bh({},ha,{hash:bX(zo),path:Jo.path})),Ai=K.createHref(di);return Bh({fullPath:di,hash:zo,query:R===SL?VX(ha.query):ha.query||{}},Jo,{redirectedFrom:void 0,href:Ai})}function Dt(ha){return typeof ha=="string"?I8(E,ha,jt.value.path):Bh({},ha)}function un(ha,oo){if(te!==ha)return y_(xd.NAVIGATION_CANCELLED,{from:oo,to:ha})}function Qn(ha){return Ni(ha)}function Dn(ha){return Qn(Bh(Dt(ha),{replace:!0}))}function Xn(ha,oo){const mo=ha.matched[ha.matched.length-1];if(mo&&mo.redirect){const{redirect:Jo}=mo;let zo=typeof Jo=="function"?Jo(ha,oo):Jo;return typeof zo=="string"&&(zo=zo.includes("?")||zo.includes("#")?zo=Dt(zo):{path:zo},zo.params={}),Bh({query:ha.query,hash:ha.hash,params:zo.path!=null?{}:ha.params},zo)}}function Ni(ha,oo){const mo=te=fn(ha),Jo=jt.value,zo=ha.state,di=ha.force,Ai=ha.replace===!0,hi=Xn(mo,Jo);if(hi)return Ni(Bh(Dt(hi),{state:typeof hi=="object"?Bh({},zo,hi.state):zo,force:di,replace:Ai}),oo||mo);const go=mo;go.redirectedFrom=oo;let Mo;return!di&&EX(R,Jo,mo)&&(Mo=y_(xd.NAVIGATION_DUPLICATED,{to:go,from:Jo}),ao(Jo,Jo,!0,!1)),(Mo?Promise.resolve(Mo):Si(go,Jo)).catch(To=>Yg(To)?Yg(To,xd.NAVIGATION_GUARD_REDIRECT)?To:Ya(To):ma(To,go,Jo)).then(To=>{if(To){if(Yg(To,xd.NAVIGATION_GUARD_REDIRECT))return Ni(Bh({replace:Ai},Dt(To.to),{state:typeof To.to=="object"?Bh({},zo,To.to.state):zo,force:di}),oo||go)}else To=si(go,Jo,!0,Ai,zo);return Nn(go,Jo,To),To})}function zi(ha,oo){const mo=un(ha,oo);return mo?Promise.reject(mo):Promise.resolve()}function qr(ha){const oo=Fo.values().next().value;return oo&&typeof oo.runWithContext=="function"?oo.runWithContext(ha):ha()}function Si(ha,oo){let mo;const[Jo,zo,di]=WX(ha,oo);mo=O8(Jo.reverse(),"beforeRouteLeave",ha,oo);for(const hi of Jo)hi.leaveGuards.forEach(go=>{mo.push(u1(go,ha,oo))});const Ai=zi.bind(null,ha,oo);return mo.push(Ai),Ca(mo).then(()=>{mo=[];for(const hi of dt.list())mo.push(u1(hi,ha,oo));return mo.push(Ai),Ca(mo)}).then(()=>{mo=O8(zo,"beforeRouteUpdate",ha,oo);for(const hi of zo)hi.updateGuards.forEach(go=>{mo.push(u1(go,ha,oo))});return mo.push(Ai),Ca(mo)}).then(()=>{mo=[];for(const hi of di)if(hi.beforeEnter)if(Im(hi.beforeEnter))for(const go of hi.beforeEnter)mo.push(u1(go,ha,oo));else mo.push(u1(hi.beforeEnter,ha,oo));return mo.push(Ai),Ca(mo)}).then(()=>(ha.matched.forEach(hi=>hi.enterCallbacks={}),mo=O8(di,"beforeRouteEnter",ha,oo,qr),mo.push(Ai),Ca(mo))).then(()=>{mo=[];for(const hi of _t.list())mo.push(u1(hi,ha,oo));return mo.push(Ai),Ca(mo)}).catch(hi=>Yg(hi,xd.NAVIGATION_CANCELLED)?hi:Promise.reject(hi))}function Nn(ha,oo,mo){It.list().forEach(Jo=>qr(()=>Jo(ha,oo,mo)))}function si(ha,oo,mo,Jo,zo){const di=un(ha,oo);if(di)return di;const Ai=oo===e1,hi=s_?history.state:{};mo&&(Jo||Ai?K.replace(ha.fullPath,Bh({scroll:Ai&&hi&&hi.scroll},zo)):K.push(ha.fullPath,zo)),jt.value=ha,ao(ha,oo,mo,Ai),Ya()}let Hn;function Vn(){Hn||(Hn=K.listen((ha,oo,mo)=>{if(!$a.listening)return;const Jo=fn(ha),zo=Xn(Jo,$a.currentRoute.value);if(zo){Ni(Bh(zo,{replace:!0,force:!0}),Jo).catch(C2);return}te=Jo;const di=jt.value;s_&&FX(ML(di.fullPath,mo.delta),H4()),Si(Jo,di).catch(Ai=>Yg(Ai,xd.NAVIGATION_ABORTED|xd.NAVIGATION_CANCELLED)?Ai:Yg(Ai,xd.NAVIGATION_GUARD_REDIRECT)?(Ni(Bh(Dt(Ai.to),{force:!0}),Jo).then(hi=>{Yg(hi,xd.NAVIGATION_ABORTED|xd.NAVIGATION_DUPLICATED)&&!mo.delta&&mo.type===bA.pop&&K.go(-1,!1)}).catch(C2),Promise.reject()):(mo.delta&&K.go(-mo.delta,!1),ma(Ai,Jo,di))).then(Ai=>{Ai=Ai||si(Jo,di,!1),Ai&&(mo.delta&&!Yg(Ai,xd.NAVIGATION_CANCELLED)?K.go(-mo.delta,!1):mo.type===bA.pop&&Yg(Ai,xd.NAVIGATION_ABORTED|xd.NAVIGATION_DUPLICATED)&&K.go(-1,!1)),Nn(Jo,di,Ai)}).catch(C2)}))}let sa=n2(),Ti=n2(),fi;function ma(ha,oo,mo){Ya(ha);const Jo=Ti.list();return Jo.length?Jo.forEach(zo=>zo(ha,oo,mo)):console.error(ha),Promise.reject(ha)}function ml(){return fi&&jt.value!==e1?Promise.resolve():new Promise((ha,oo)=>{sa.add([ha,oo])})}function Ya(ha){return fi||(fi=!ha,Vn(),sa.list().forEach(([oo,mo])=>ha?mo(ha):oo()),sa.reset()),ha}function ao(ha,oo,mo,Jo){const{scrollBehavior:zo}=d;if(!s_||!zo)return Promise.resolve();const di=!mo&&BX(ML(ha.fullPath,0))||(Jo||!mo)&&history.state&&history.state.scroll||null;return S0().then(()=>zo(ha,oo,di)).then(Ai=>Ai&&DX(Ai)).catch(Ai=>ma(Ai,ha,oo))}const Wa=ha=>K.go(ha);let Ks;const Fo=new Set,$a={currentRoute:jt,listening:!0,addRoute:fr,removeRoute:Tr,clearRoutes:s.clearRoutes,hasRoute:Vr,getRoutes:wr,resolve:fn,options:d,push:Qn,replace:Dn,go:Wa,back:()=>Wa(-1),forward:()=>Wa(1),beforeEach:dt.add,beforeResolve:_t.add,afterEach:It.add,onError:Ti.add,isReady:ml,install(ha){ha.component("RouterLink",hJ),ha.component("RouterView",mJ),ha.config.globalProperties.$router=$a,Object.defineProperty(ha.config.globalProperties,"$route",{enumerable:!0,get:()=>Dl(jt)}),s_&&!Ks&&jt.value===e1&&(Ks=!0,Qn(K.location).catch(Jo=>{}));const oo={};for(const Jo in e1)Object.defineProperty(oo,Jo,{get:()=>jt.value[Jo],enumerable:!0});ha.provide(W4,$a),ha.provide(cM,rz(oo)),ha.provide(kA,jt);const mo=ha.unmount;Fo.add(ha),ha.unmount=function(){Fo.delete(ha),Fo.size<1&&(te=e1,Hn&&Hn(),Hn=null,jt.value=e1,Ks=!1,fi=!1),mo()}}};function Ca(ha){return ha.reduce((oo,mo)=>oo.then(()=>qr(mo)),Promise.resolve())}return $a}function yO(){return cm(W4)}function xO(d){return cm(cM)}function _O(d,s){return function(){return d.apply(s,arguments)}}const{toString:vJ}=Object.prototype,{getPrototypeOf:hM}=Object,{iterator:q4,toStringTag:bO}=Symbol,$4=(d=>s=>{const E=vJ.call(s);return d[E]||(d[E]=E.slice(8,-1).toLowerCase())})(Object.create(null)),Om=d=>(d=d.toLowerCase(),s=>$4(s)===d),Z4=d=>s=>typeof s===d,{isArray:k_}=Array,x_=Z4("undefined");function nw(d){return d!==null&&!x_(d)&&d.constructor!==null&&!x_(d.constructor)&&E0(d.constructor.isBuffer)&&d.constructor.isBuffer(d)}const wO=Om("ArrayBuffer");function yJ(d){let s;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?s=ArrayBuffer.isView(d):s=d&&d.buffer&&wO(d.buffer),s}const xJ=Z4("string"),E0=Z4("function"),kO=Z4("number"),iw=d=>d!==null&&typeof d=="object",_J=d=>d===!0||d===!1,e4=d=>{if($4(d)!=="object")return!1;const s=hM(d);return(s===null||s===Object.prototype||Object.getPrototypeOf(s)===null)&&!(bO in d)&&!(q4 in d)},bJ=d=>{if(!iw(d)||nw(d))return!1;try{return Object.keys(d).length===0&&Object.getPrototypeOf(d)===Object.prototype}catch{return!1}},wJ=Om("Date"),kJ=Om("File"),TJ=Om("Blob"),AJ=Om("FileList"),MJ=d=>iw(d)&&E0(d.pipe),SJ=d=>{let s;return d&&(typeof FormData=="function"&&d instanceof FormData||E0(d.append)&&((s=$4(d))==="formdata"||s==="object"&&E0(d.toString)&&d.toString()==="[object FormData]"))},EJ=Om("URLSearchParams"),[CJ,LJ,PJ,IJ]=["ReadableStream","Request","Response","Headers"].map(Om),zJ=d=>d.trim?d.trim():d.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function aw(d,s,{allOwnKeys:E=!1}={}){if(d===null||typeof d>"u")return;let R,K;if(typeof d!="object"&&(d=[d]),k_(d))for(R=0,K=d.length;R0;)if(K=E[R],s===K.toLowerCase())return K;return null}const wy=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,AO=d=>!x_(d)&&d!==wy;function TA(){const{caseless:d,skipUndefined:s}=AO(this)&&this||{},E={},R=(K,dt)=>{const _t=d&&TO(E,dt)||dt;e4(E[_t])&&e4(K)?E[_t]=TA(E[_t],K):e4(K)?E[_t]=TA({},K):k_(K)?E[_t]=K.slice():(!s||!x_(K))&&(E[_t]=K)};for(let K=0,dt=arguments.length;K(aw(s,(K,dt)=>{E&&E0(K)?d[dt]=_O(K,E):d[dt]=K},{allOwnKeys:R}),d),DJ=d=>(d.charCodeAt(0)===65279&&(d=d.slice(1)),d),FJ=(d,s,E,R)=>{d.prototype=Object.create(s.prototype,R),d.prototype.constructor=d,Object.defineProperty(d,"super",{value:s.prototype}),E&&Object.assign(d.prototype,E)},BJ=(d,s,E,R)=>{let K,dt,_t;const It={};if(s=s||{},d==null)return s;do{for(K=Object.getOwnPropertyNames(d),dt=K.length;dt-- >0;)_t=K[dt],(!R||R(_t,d,s))&&!It[_t]&&(s[_t]=d[_t],It[_t]=!0);d=E!==!1&&hM(d)}while(d&&(!E||E(d,s))&&d!==Object.prototype);return s},RJ=(d,s,E)=>{d=String(d),(E===void 0||E>d.length)&&(E=d.length),E-=s.length;const R=d.indexOf(s,E);return R!==-1&&R===E},NJ=d=>{if(!d)return null;if(k_(d))return d;let s=d.length;if(!kO(s))return null;const E=new Array(s);for(;s-- >0;)E[s]=d[s];return E},jJ=(d=>s=>d&&s instanceof d)(typeof Uint8Array<"u"&&hM(Uint8Array)),UJ=(d,s)=>{const R=(d&&d[q4]).call(d);let K;for(;(K=R.next())&&!K.done;){const dt=K.value;s.call(d,dt[0],dt[1])}},VJ=(d,s)=>{let E;const R=[];for(;(E=d.exec(s))!==null;)R.push(E);return R},HJ=Om("HTMLFormElement"),WJ=d=>d.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(E,R,K){return R.toUpperCase()+K}),NL=(({hasOwnProperty:d})=>(s,E)=>d.call(s,E))(Object.prototype),qJ=Om("RegExp"),MO=(d,s)=>{const E=Object.getOwnPropertyDescriptors(d),R={};aw(E,(K,dt)=>{let _t;(_t=s(K,dt,d))!==!1&&(R[dt]=_t||K)}),Object.defineProperties(d,R)},$J=d=>{MO(d,(s,E)=>{if(E0(d)&&["arguments","caller","callee"].indexOf(E)!==-1)return!1;const R=d[E];if(E0(R)){if(s.enumerable=!1,"writable"in s){s.writable=!1;return}s.set||(s.set=()=>{throw Error("Can not rewrite read-only method '"+E+"'")})}})},ZJ=(d,s)=>{const E={},R=K=>{K.forEach(dt=>{E[dt]=!0})};return k_(d)?R(d):R(String(d).split(s)),E},GJ=()=>{},YJ=(d,s)=>d!=null&&Number.isFinite(d=+d)?d:s;function KJ(d){return!!(d&&E0(d.append)&&d[bO]==="FormData"&&d[q4])}const XJ=d=>{const s=new Array(10),E=(R,K)=>{if(iw(R)){if(s.indexOf(R)>=0)return;if(nw(R))return R;if(!("toJSON"in R)){s[K]=R;const dt=k_(R)?[]:{};return aw(R,(_t,It)=>{const jt=E(_t,K+1);!x_(jt)&&(dt[It]=jt)}),s[K]=void 0,dt}}return R};return E(d,0)},JJ=Om("AsyncFunction"),QJ=d=>d&&(iw(d)||E0(d))&&E0(d.then)&&E0(d.catch),SO=((d,s)=>d?setImmediate:s?((E,R)=>(wy.addEventListener("message",({source:K,data:dt})=>{K===wy&&dt===E&&R.length&&R.shift()()},!1),K=>{R.push(K),wy.postMessage(E,"*")}))(`axios@${Math.random()}`,[]):E=>setTimeout(E))(typeof setImmediate=="function",E0(wy.postMessage)),tQ=typeof queueMicrotask<"u"?queueMicrotask.bind(wy):typeof process<"u"&&process.nextTick||SO,eQ=d=>d!=null&&E0(d[q4]),io={isArray:k_,isArrayBuffer:wO,isBuffer:nw,isFormData:SJ,isArrayBufferView:yJ,isString:xJ,isNumber:kO,isBoolean:_J,isObject:iw,isPlainObject:e4,isEmptyObject:bJ,isReadableStream:CJ,isRequest:LJ,isResponse:PJ,isHeaders:IJ,isUndefined:x_,isDate:wJ,isFile:kJ,isBlob:TJ,isRegExp:qJ,isFunction:E0,isStream:MJ,isURLSearchParams:EJ,isTypedArray:jJ,isFileList:AJ,forEach:aw,merge:TA,extend:OJ,trim:zJ,stripBOM:DJ,inherits:FJ,toFlatObject:BJ,kindOf:$4,kindOfTest:Om,endsWith:RJ,toArray:NJ,forEachEntry:UJ,matchAll:VJ,isHTMLForm:HJ,hasOwnProperty:NL,hasOwnProp:NL,reduceDescriptors:MO,freezeMethods:$J,toObjectSet:ZJ,toCamelCase:WJ,noop:GJ,toFiniteNumber:YJ,findKey:TO,global:wy,isContextDefined:AO,isSpecCompliantForm:KJ,toJSONObject:XJ,isAsyncFn:JJ,isThenable:QJ,setImmediate:SO,asap:tQ,isIterable:eQ};function Qu(d,s,E,R,K){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=d,this.name="AxiosError",s&&(this.code=s),E&&(this.config=E),R&&(this.request=R),K&&(this.response=K,this.status=K.status?K.status:null)}io.inherits(Qu,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:io.toJSONObject(this.config),code:this.code,status:this.status}}});const EO=Qu.prototype,CO={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(d=>{CO[d]={value:d}});Object.defineProperties(Qu,CO);Object.defineProperty(EO,"isAxiosError",{value:!0});Qu.from=(d,s,E,R,K,dt)=>{const _t=Object.create(EO);io.toFlatObject(d,_t,function(le){return le!==Error.prototype},te=>te!=="isAxiosError");const It=d&&d.message?d.message:"Error",jt=s==null&&d?d.code:s;return Qu.call(_t,It,jt,E,R,K),d&&_t.cause==null&&Object.defineProperty(_t,"cause",{value:d,configurable:!0}),_t.name=d&&d.name||"Error",dt&&Object.assign(_t,dt),_t};const rQ=null;function AA(d){return io.isPlainObject(d)||io.isArray(d)}function LO(d){return io.endsWith(d,"[]")?d.slice(0,-2):d}function jL(d,s,E){return d?d.concat(s).map(function(K,dt){return K=LO(K),!E&&dt?"["+K+"]":K}).join(E?".":""):s}function nQ(d){return io.isArray(d)&&!d.some(AA)}const iQ=io.toFlatObject(io,{},null,function(s){return/^is[A-Z]/.test(s)});function G4(d,s,E){if(!io.isObject(d))throw new TypeError("target must be an object");s=s||new FormData,E=io.toFlatObject(E,{metaTokens:!0,dots:!1,indexes:!1},!1,function(wr,Vr){return!io.isUndefined(Vr[wr])});const R=E.metaTokens,K=E.visitor||le,dt=E.dots,_t=E.indexes,jt=(E.Blob||typeof Blob<"u"&&Blob)&&io.isSpecCompliantForm(s);if(!io.isFunction(K))throw new TypeError("visitor must be a function");function te(Tr){if(Tr===null)return"";if(io.isDate(Tr))return Tr.toISOString();if(io.isBoolean(Tr))return Tr.toString();if(!jt&&io.isBlob(Tr))throw new Qu("Blob is not supported. Use a Buffer instead.");return io.isArrayBuffer(Tr)||io.isTypedArray(Tr)?jt&&typeof Blob=="function"?new Blob([Tr]):Buffer.from(Tr):Tr}function le(Tr,wr,Vr){let fn=Tr;if(Tr&&!Vr&&typeof Tr=="object"){if(io.endsWith(wr,"{}"))wr=R?wr:wr.slice(0,-2),Tr=JSON.stringify(Tr);else if(io.isArray(Tr)&&nQ(Tr)||(io.isFileList(Tr)||io.endsWith(wr,"[]"))&&(fn=io.toArray(Tr)))return wr=LO(wr),fn.forEach(function(un,Qn){!(io.isUndefined(un)||un===null)&&s.append(_t===!0?jL([wr],Qn,dt):_t===null?wr:wr+"[]",te(un))}),!1}return AA(Tr)?!0:(s.append(jL(Vr,wr,dt),te(Tr)),!1)}const Le=[],Je=Object.assign(iQ,{defaultVisitor:le,convertValue:te,isVisitable:AA});function fr(Tr,wr){if(!io.isUndefined(Tr)){if(Le.indexOf(Tr)!==-1)throw Error("Circular reference detected in "+wr.join("."));Le.push(Tr),io.forEach(Tr,function(fn,Dt){(!(io.isUndefined(fn)||fn===null)&&K.call(s,fn,io.isString(Dt)?Dt.trim():Dt,wr,Je))===!0&&fr(fn,wr?wr.concat(Dt):[Dt])}),Le.pop()}}if(!io.isObject(d))throw new TypeError("data must be an object");return fr(d),s}function UL(d){const s={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(d).replace(/[!'()~]|%20|%00/g,function(R){return s[R]})}function fM(d,s){this._pairs=[],d&&G4(d,this,s)}const PO=fM.prototype;PO.append=function(s,E){this._pairs.push([s,E])};PO.toString=function(s){const E=s?function(R){return s.call(this,R,UL)}:UL;return this._pairs.map(function(K){return E(K[0])+"="+E(K[1])},"").join("&")};function aQ(d){return encodeURIComponent(d).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function IO(d,s,E){if(!s)return d;const R=E&&E.encode||aQ;io.isFunction(E)&&(E={serialize:E});const K=E&&E.serialize;let dt;if(K?dt=K(s,E):dt=io.isURLSearchParams(s)?s.toString():new fM(s,E).toString(R),dt){const _t=d.indexOf("#");_t!==-1&&(d=d.slice(0,_t)),d+=(d.indexOf("?")===-1?"?":"&")+dt}return d}class VL{constructor(){this.handlers=[]}use(s,E,R){return this.handlers.push({fulfilled:s,rejected:E,synchronous:R?R.synchronous:!1,runWhen:R?R.runWhen:null}),this.handlers.length-1}eject(s){this.handlers[s]&&(this.handlers[s]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(s){io.forEach(this.handlers,function(R){R!==null&&s(R)})}}const zO={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},oQ=typeof URLSearchParams<"u"?URLSearchParams:fM,sQ=typeof FormData<"u"?FormData:null,lQ=typeof Blob<"u"?Blob:null,uQ={isBrowser:!0,classes:{URLSearchParams:oQ,FormData:sQ,Blob:lQ},protocols:["http","https","file","blob","url","data"]},dM=typeof window<"u"&&typeof document<"u",MA=typeof navigator=="object"&&navigator||void 0,cQ=dM&&(!MA||["ReactNative","NativeScript","NS"].indexOf(MA.product)<0),hQ=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",fQ=dM&&window.location.href||"http://localhost",dQ=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:dM,hasStandardBrowserEnv:cQ,hasStandardBrowserWebWorkerEnv:hQ,navigator:MA,origin:fQ},Symbol.toStringTag,{value:"Module"})),Xp={...dQ,...uQ};function pQ(d,s){return G4(d,new Xp.classes.URLSearchParams,{visitor:function(E,R,K,dt){return Xp.isNode&&io.isBuffer(E)?(this.append(R,E.toString("base64")),!1):dt.defaultVisitor.apply(this,arguments)},...s})}function mQ(d){return io.matchAll(/\w+|\[(\w*)]/g,d).map(s=>s[0]==="[]"?"":s[1]||s[0])}function gQ(d){const s={},E=Object.keys(d);let R;const K=E.length;let dt;for(R=0;R=E.length;return _t=!_t&&io.isArray(K)?K.length:_t,jt?(io.hasOwnProp(K,_t)?K[_t]=[K[_t],R]:K[_t]=R,!It):((!K[_t]||!io.isObject(K[_t]))&&(K[_t]=[]),s(E,R,K[_t],dt)&&io.isArray(K[_t])&&(K[_t]=gQ(K[_t])),!It)}if(io.isFormData(d)&&io.isFunction(d.entries)){const E={};return io.forEachEntry(d,(R,K)=>{s(mQ(R),K,E,0)}),E}return null}function vQ(d,s,E){if(io.isString(d))try{return(s||JSON.parse)(d),io.trim(d)}catch(R){if(R.name!=="SyntaxError")throw R}return(E||JSON.stringify)(d)}const ow={transitional:zO,adapter:["xhr","http","fetch"],transformRequest:[function(s,E){const R=E.getContentType()||"",K=R.indexOf("application/json")>-1,dt=io.isObject(s);if(dt&&io.isHTMLForm(s)&&(s=new FormData(s)),io.isFormData(s))return K?JSON.stringify(OO(s)):s;if(io.isArrayBuffer(s)||io.isBuffer(s)||io.isStream(s)||io.isFile(s)||io.isBlob(s)||io.isReadableStream(s))return s;if(io.isArrayBufferView(s))return s.buffer;if(io.isURLSearchParams(s))return E.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),s.toString();let It;if(dt){if(R.indexOf("application/x-www-form-urlencoded")>-1)return pQ(s,this.formSerializer).toString();if((It=io.isFileList(s))||R.indexOf("multipart/form-data")>-1){const jt=this.env&&this.env.FormData;return G4(It?{"files[]":s}:s,jt&&new jt,this.formSerializer)}}return dt||K?(E.setContentType("application/json",!1),vQ(s)):s}],transformResponse:[function(s){const E=this.transitional||ow.transitional,R=E&&E.forcedJSONParsing,K=this.responseType==="json";if(io.isResponse(s)||io.isReadableStream(s))return s;if(s&&io.isString(s)&&(R&&!this.responseType||K)){const _t=!(E&&E.silentJSONParsing)&&K;try{return JSON.parse(s,this.parseReviver)}catch(It){if(_t)throw It.name==="SyntaxError"?Qu.from(It,Qu.ERR_BAD_RESPONSE,this,null,this.response):It}}return s}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Xp.classes.FormData,Blob:Xp.classes.Blob},validateStatus:function(s){return s>=200&&s<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};io.forEach(["delete","get","head","post","put","patch"],d=>{ow.headers[d]={}});const yQ=io.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),xQ=d=>{const s={};let E,R,K;return d&&d.split(` +`).forEach(function(_t){K=_t.indexOf(":"),E=_t.substring(0,K).trim().toLowerCase(),R=_t.substring(K+1).trim(),!(!E||s[E]&&yQ[E])&&(E==="set-cookie"?s[E]?s[E].push(R):s[E]=[R]:s[E]=s[E]?s[E]+", "+R:R)}),s},HL=Symbol("internals");function i2(d){return d&&String(d).trim().toLowerCase()}function r4(d){return d===!1||d==null?d:io.isArray(d)?d.map(r4):String(d)}function _Q(d){const s=Object.create(null),E=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let R;for(;R=E.exec(d);)s[R[1]]=R[2];return s}const bQ=d=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(d.trim());function D8(d,s,E,R,K){if(io.isFunction(R))return R.call(this,s,E);if(K&&(s=E),!!io.isString(s)){if(io.isString(R))return s.indexOf(R)!==-1;if(io.isRegExp(R))return R.test(s)}}function wQ(d){return d.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(s,E,R)=>E.toUpperCase()+R)}function kQ(d,s){const E=io.toCamelCase(" "+s);["get","set","has"].forEach(R=>{Object.defineProperty(d,R+E,{value:function(K,dt,_t){return this[R].call(this,s,K,dt,_t)},configurable:!0})})}let C0=class{constructor(s){s&&this.set(s)}set(s,E,R){const K=this;function dt(It,jt,te){const le=i2(jt);if(!le)throw new Error("header name must be a non-empty string");const Le=io.findKey(K,le);(!Le||K[Le]===void 0||te===!0||te===void 0&&K[Le]!==!1)&&(K[Le||jt]=r4(It))}const _t=(It,jt)=>io.forEach(It,(te,le)=>dt(te,le,jt));if(io.isPlainObject(s)||s instanceof this.constructor)_t(s,E);else if(io.isString(s)&&(s=s.trim())&&!bQ(s))_t(xQ(s),E);else if(io.isObject(s)&&io.isIterable(s)){let It={},jt,te;for(const le of s){if(!io.isArray(le))throw TypeError("Object iterator must return a key-value pair");It[te=le[0]]=(jt=It[te])?io.isArray(jt)?[...jt,le[1]]:[jt,le[1]]:le[1]}_t(It,E)}else s!=null&&dt(E,s,R);return this}get(s,E){if(s=i2(s),s){const R=io.findKey(this,s);if(R){const K=this[R];if(!E)return K;if(E===!0)return _Q(K);if(io.isFunction(E))return E.call(this,K,R);if(io.isRegExp(E))return E.exec(K);throw new TypeError("parser must be boolean|regexp|function")}}}has(s,E){if(s=i2(s),s){const R=io.findKey(this,s);return!!(R&&this[R]!==void 0&&(!E||D8(this,this[R],R,E)))}return!1}delete(s,E){const R=this;let K=!1;function dt(_t){if(_t=i2(_t),_t){const It=io.findKey(R,_t);It&&(!E||D8(R,R[It],It,E))&&(delete R[It],K=!0)}}return io.isArray(s)?s.forEach(dt):dt(s),K}clear(s){const E=Object.keys(this);let R=E.length,K=!1;for(;R--;){const dt=E[R];(!s||D8(this,this[dt],dt,s,!0))&&(delete this[dt],K=!0)}return K}normalize(s){const E=this,R={};return io.forEach(this,(K,dt)=>{const _t=io.findKey(R,dt);if(_t){E[_t]=r4(K),delete E[dt];return}const It=s?wQ(dt):String(dt).trim();It!==dt&&delete E[dt],E[It]=r4(K),R[It]=!0}),this}concat(...s){return this.constructor.concat(this,...s)}toJSON(s){const E=Object.create(null);return io.forEach(this,(R,K)=>{R!=null&&R!==!1&&(E[K]=s&&io.isArray(R)?R.join(", "):R)}),E}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([s,E])=>s+": "+E).join(` +`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(s){return s instanceof this?s:new this(s)}static concat(s,...E){const R=new this(s);return E.forEach(K=>R.set(K)),R}static accessor(s){const R=(this[HL]=this[HL]={accessors:{}}).accessors,K=this.prototype;function dt(_t){const It=i2(_t);R[It]||(kQ(K,_t),R[It]=!0)}return io.isArray(s)?s.forEach(dt):dt(s),this}};C0.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);io.reduceDescriptors(C0.prototype,({value:d},s)=>{let E=s[0].toUpperCase()+s.slice(1);return{get:()=>d,set(R){this[E]=R}}});io.freezeMethods(C0);function F8(d,s){const E=this||ow,R=s||E,K=C0.from(R.headers);let dt=R.data;return io.forEach(d,function(It){dt=It.call(E,dt,K.normalize(),s?s.status:void 0)}),K.normalize(),dt}function DO(d){return!!(d&&d.__CANCEL__)}function T_(d,s,E){Qu.call(this,d??"canceled",Qu.ERR_CANCELED,s,E),this.name="CanceledError"}io.inherits(T_,Qu,{__CANCEL__:!0});function FO(d,s,E){const R=E.config.validateStatus;!E.status||!R||R(E.status)?d(E):s(new Qu("Request failed with status code "+E.status,[Qu.ERR_BAD_REQUEST,Qu.ERR_BAD_RESPONSE][Math.floor(E.status/100)-4],E.config,E.request,E))}function TQ(d){const s=/^([-+\w]{1,25})(:?\/\/|:)/.exec(d);return s&&s[1]||""}function AQ(d,s){d=d||10;const E=new Array(d),R=new Array(d);let K=0,dt=0,_t;return s=s!==void 0?s:1e3,function(jt){const te=Date.now(),le=R[dt];_t||(_t=te),E[K]=jt,R[K]=te;let Le=dt,Je=0;for(;Le!==K;)Je+=E[Le++],Le=Le%d;if(K=(K+1)%d,K===dt&&(dt=(dt+1)%d),te-_t{E=le,K=null,dt&&(clearTimeout(dt),dt=null),d(...te)};return[(...te)=>{const le=Date.now(),Le=le-E;Le>=R?_t(te,le):(K=te,dt||(dt=setTimeout(()=>{dt=null,_t(K)},R-Le)))},()=>K&&_t(K)]}const y4=(d,s,E=3)=>{let R=0;const K=AQ(50,250);return MQ(dt=>{const _t=dt.loaded,It=dt.lengthComputable?dt.total:void 0,jt=_t-R,te=K(jt),le=_t<=It;R=_t;const Le={loaded:_t,total:It,progress:It?_t/It:void 0,bytes:jt,rate:te||void 0,estimated:te&&It&&le?(It-_t)/te:void 0,event:dt,lengthComputable:It!=null,[s?"download":"upload"]:!0};d(Le)},E)},WL=(d,s)=>{const E=d!=null;return[R=>s[0]({lengthComputable:E,total:d,loaded:R}),s[1]]},qL=d=>(...s)=>io.asap(()=>d(...s)),SQ=Xp.hasStandardBrowserEnv?((d,s)=>E=>(E=new URL(E,Xp.origin),d.protocol===E.protocol&&d.host===E.host&&(s||d.port===E.port)))(new URL(Xp.origin),Xp.navigator&&/(msie|trident)/i.test(Xp.navigator.userAgent)):()=>!0,EQ=Xp.hasStandardBrowserEnv?{write(d,s,E,R,K,dt,_t){if(typeof document>"u")return;const It=[`${d}=${encodeURIComponent(s)}`];io.isNumber(E)&&It.push(`expires=${new Date(E).toUTCString()}`),io.isString(R)&&It.push(`path=${R}`),io.isString(K)&&It.push(`domain=${K}`),dt===!0&&It.push("secure"),io.isString(_t)&&It.push(`SameSite=${_t}`),document.cookie=It.join("; ")},read(d){if(typeof document>"u")return null;const s=document.cookie.match(new RegExp("(?:^|; )"+d+"=([^;]*)"));return s?decodeURIComponent(s[1]):null},remove(d){this.write(d,"",Date.now()-864e5,"/")}}:{write(){},read(){return null},remove(){}};function CQ(d){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(d)}function LQ(d,s){return s?d.replace(/\/?\/$/,"")+"/"+s.replace(/^\/+/,""):d}function BO(d,s,E){let R=!CQ(s);return d&&(R||E==!1)?LQ(d,s):s}const $L=d=>d instanceof C0?{...d}:d;function Ly(d,s){s=s||{};const E={};function R(te,le,Le,Je){return io.isPlainObject(te)&&io.isPlainObject(le)?io.merge.call({caseless:Je},te,le):io.isPlainObject(le)?io.merge({},le):io.isArray(le)?le.slice():le}function K(te,le,Le,Je){if(io.isUndefined(le)){if(!io.isUndefined(te))return R(void 0,te,Le,Je)}else return R(te,le,Le,Je)}function dt(te,le){if(!io.isUndefined(le))return R(void 0,le)}function _t(te,le){if(io.isUndefined(le)){if(!io.isUndefined(te))return R(void 0,te)}else return R(void 0,le)}function It(te,le,Le){if(Le in s)return R(te,le);if(Le in d)return R(void 0,te)}const jt={url:dt,method:dt,data:dt,baseURL:_t,transformRequest:_t,transformResponse:_t,paramsSerializer:_t,timeout:_t,timeoutMessage:_t,withCredentials:_t,withXSRFToken:_t,adapter:_t,responseType:_t,xsrfCookieName:_t,xsrfHeaderName:_t,onUploadProgress:_t,onDownloadProgress:_t,decompress:_t,maxContentLength:_t,maxBodyLength:_t,beforeRedirect:_t,transport:_t,httpAgent:_t,httpsAgent:_t,cancelToken:_t,socketPath:_t,responseEncoding:_t,validateStatus:It,headers:(te,le,Le)=>K($L(te),$L(le),Le,!0)};return io.forEach(Object.keys({...d,...s}),function(le){const Le=jt[le]||K,Je=Le(d[le],s[le],le);io.isUndefined(Je)&&Le!==It||(E[le]=Je)}),E}const RO=d=>{const s=Ly({},d);let{data:E,withXSRFToken:R,xsrfHeaderName:K,xsrfCookieName:dt,headers:_t,auth:It}=s;if(s.headers=_t=C0.from(_t),s.url=IO(BO(s.baseURL,s.url,s.allowAbsoluteUrls),d.params,d.paramsSerializer),It&&_t.set("Authorization","Basic "+btoa((It.username||"")+":"+(It.password?unescape(encodeURIComponent(It.password)):""))),io.isFormData(E)){if(Xp.hasStandardBrowserEnv||Xp.hasStandardBrowserWebWorkerEnv)_t.setContentType(void 0);else if(io.isFunction(E.getHeaders)){const jt=E.getHeaders(),te=["content-type","content-length"];Object.entries(jt).forEach(([le,Le])=>{te.includes(le.toLowerCase())&&_t.set(le,Le)})}}if(Xp.hasStandardBrowserEnv&&(R&&io.isFunction(R)&&(R=R(s)),R||R!==!1&&SQ(s.url))){const jt=K&&dt&&EQ.read(dt);jt&&_t.set(K,jt)}return s},PQ=typeof XMLHttpRequest<"u",IQ=PQ&&function(d){return new Promise(function(E,R){const K=RO(d);let dt=K.data;const _t=C0.from(K.headers).normalize();let{responseType:It,onUploadProgress:jt,onDownloadProgress:te}=K,le,Le,Je,fr,Tr;function wr(){fr&&fr(),Tr&&Tr(),K.cancelToken&&K.cancelToken.unsubscribe(le),K.signal&&K.signal.removeEventListener("abort",le)}let Vr=new XMLHttpRequest;Vr.open(K.method.toUpperCase(),K.url,!0),Vr.timeout=K.timeout;function fn(){if(!Vr)return;const un=C0.from("getAllResponseHeaders"in Vr&&Vr.getAllResponseHeaders()),Dn={data:!It||It==="text"||It==="json"?Vr.responseText:Vr.response,status:Vr.status,statusText:Vr.statusText,headers:un,config:d,request:Vr};FO(function(Ni){E(Ni),wr()},function(Ni){R(Ni),wr()},Dn),Vr=null}"onloadend"in Vr?Vr.onloadend=fn:Vr.onreadystatechange=function(){!Vr||Vr.readyState!==4||Vr.status===0&&!(Vr.responseURL&&Vr.responseURL.indexOf("file:")===0)||setTimeout(fn)},Vr.onabort=function(){Vr&&(R(new Qu("Request aborted",Qu.ECONNABORTED,d,Vr)),Vr=null)},Vr.onerror=function(Qn){const Dn=Qn&&Qn.message?Qn.message:"Network Error",Xn=new Qu(Dn,Qu.ERR_NETWORK,d,Vr);Xn.event=Qn||null,R(Xn),Vr=null},Vr.ontimeout=function(){let Qn=K.timeout?"timeout of "+K.timeout+"ms exceeded":"timeout exceeded";const Dn=K.transitional||zO;K.timeoutErrorMessage&&(Qn=K.timeoutErrorMessage),R(new Qu(Qn,Dn.clarifyTimeoutError?Qu.ETIMEDOUT:Qu.ECONNABORTED,d,Vr)),Vr=null},dt===void 0&&_t.setContentType(null),"setRequestHeader"in Vr&&io.forEach(_t.toJSON(),function(Qn,Dn){Vr.setRequestHeader(Dn,Qn)}),io.isUndefined(K.withCredentials)||(Vr.withCredentials=!!K.withCredentials),It&&It!=="json"&&(Vr.responseType=K.responseType),te&&([Je,Tr]=y4(te,!0),Vr.addEventListener("progress",Je)),jt&&Vr.upload&&([Le,fr]=y4(jt),Vr.upload.addEventListener("progress",Le),Vr.upload.addEventListener("loadend",fr)),(K.cancelToken||K.signal)&&(le=un=>{Vr&&(R(!un||un.type?new T_(null,d,Vr):un),Vr.abort(),Vr=null)},K.cancelToken&&K.cancelToken.subscribe(le),K.signal&&(K.signal.aborted?le():K.signal.addEventListener("abort",le)));const Dt=TQ(K.url);if(Dt&&Xp.protocols.indexOf(Dt)===-1){R(new Qu("Unsupported protocol "+Dt+":",Qu.ERR_BAD_REQUEST,d));return}Vr.send(dt||null)})},zQ=(d,s)=>{const{length:E}=d=d?d.filter(Boolean):[];if(s||E){let R=new AbortController,K;const dt=function(te){if(!K){K=!0,It();const le=te instanceof Error?te:this.reason;R.abort(le instanceof Qu?le:new T_(le instanceof Error?le.message:le))}};let _t=s&&setTimeout(()=>{_t=null,dt(new Qu(`timeout ${s} of ms exceeded`,Qu.ETIMEDOUT))},s);const It=()=>{d&&(_t&&clearTimeout(_t),_t=null,d.forEach(te=>{te.unsubscribe?te.unsubscribe(dt):te.removeEventListener("abort",dt)}),d=null)};d.forEach(te=>te.addEventListener("abort",dt));const{signal:jt}=R;return jt.unsubscribe=()=>io.asap(It),jt}},OQ=function*(d,s){let E=d.byteLength;if(E{const K=DQ(d,s);let dt=0,_t,It=jt=>{_t||(_t=!0,R&&R(jt))};return new ReadableStream({async pull(jt){try{const{done:te,value:le}=await K.next();if(te){It(),jt.close();return}let Le=le.byteLength;if(E){let Je=dt+=Le;E(Je)}jt.enqueue(new Uint8Array(le))}catch(te){throw It(te),te}},cancel(jt){return It(jt),K.return()}},{highWaterMark:2})},GL=64*1024,{isFunction:I5}=io,BQ=(({Request:d,Response:s})=>({Request:d,Response:s}))(io.global),{ReadableStream:YL,TextEncoder:KL}=io.global,XL=(d,...s)=>{try{return!!d(...s)}catch{return!1}},RQ=d=>{d=io.merge.call({skipUndefined:!0},BQ,d);const{fetch:s,Request:E,Response:R}=d,K=s?I5(s):typeof fetch=="function",dt=I5(E),_t=I5(R);if(!K)return!1;const It=K&&I5(YL),jt=K&&(typeof KL=="function"?(Tr=>wr=>Tr.encode(wr))(new KL):async Tr=>new Uint8Array(await new E(Tr).arrayBuffer())),te=dt&&It&&XL(()=>{let Tr=!1;const wr=new E(Xp.origin,{body:new YL,method:"POST",get duplex(){return Tr=!0,"half"}}).headers.has("Content-Type");return Tr&&!wr}),le=_t&&It&&XL(()=>io.isReadableStream(new R("").body)),Le={stream:le&&(Tr=>Tr.body)};K&&["text","arrayBuffer","blob","formData","stream"].forEach(Tr=>{!Le[Tr]&&(Le[Tr]=(wr,Vr)=>{let fn=wr&&wr[Tr];if(fn)return fn.call(wr);throw new Qu(`Response type '${Tr}' is not supported`,Qu.ERR_NOT_SUPPORT,Vr)})});const Je=async Tr=>{if(Tr==null)return 0;if(io.isBlob(Tr))return Tr.size;if(io.isSpecCompliantForm(Tr))return(await new E(Xp.origin,{method:"POST",body:Tr}).arrayBuffer()).byteLength;if(io.isArrayBufferView(Tr)||io.isArrayBuffer(Tr))return Tr.byteLength;if(io.isURLSearchParams(Tr)&&(Tr=Tr+""),io.isString(Tr))return(await jt(Tr)).byteLength},fr=async(Tr,wr)=>{const Vr=io.toFiniteNumber(Tr.getContentLength());return Vr??Je(wr)};return async Tr=>{let{url:wr,method:Vr,data:fn,signal:Dt,cancelToken:un,timeout:Qn,onDownloadProgress:Dn,onUploadProgress:Xn,responseType:Ni,headers:zi,withCredentials:qr="same-origin",fetchOptions:Si}=RO(Tr),Nn=s||fetch;Ni=Ni?(Ni+"").toLowerCase():"text";let si=zQ([Dt,un&&un.toAbortSignal()],Qn),Hn=null;const Vn=si&&si.unsubscribe&&(()=>{si.unsubscribe()});let sa;try{if(Xn&&te&&Vr!=="get"&&Vr!=="head"&&(sa=await fr(zi,fn))!==0){let ao=new E(wr,{method:"POST",body:fn,duplex:"half"}),Wa;if(io.isFormData(fn)&&(Wa=ao.headers.get("content-type"))&&zi.setContentType(Wa),ao.body){const[Ks,Fo]=WL(sa,y4(qL(Xn)));fn=ZL(ao.body,GL,Ks,Fo)}}io.isString(qr)||(qr=qr?"include":"omit");const Ti=dt&&"credentials"in E.prototype,fi={...Si,signal:si,method:Vr.toUpperCase(),headers:zi.normalize().toJSON(),body:fn,duplex:"half",credentials:Ti?qr:void 0};Hn=dt&&new E(wr,fi);let ma=await(dt?Nn(Hn,Si):Nn(wr,fi));const ml=le&&(Ni==="stream"||Ni==="response");if(le&&(Dn||ml&&Vn)){const ao={};["status","statusText","headers"].forEach($a=>{ao[$a]=ma[$a]});const Wa=io.toFiniteNumber(ma.headers.get("content-length")),[Ks,Fo]=Dn&&WL(Wa,y4(qL(Dn),!0))||[];ma=new R(ZL(ma.body,GL,Ks,()=>{Fo&&Fo(),Vn&&Vn()}),ao)}Ni=Ni||"text";let Ya=await Le[io.findKey(Le,Ni)||"text"](ma,Tr);return!ml&&Vn&&Vn(),await new Promise((ao,Wa)=>{FO(ao,Wa,{data:Ya,headers:C0.from(ma.headers),status:ma.status,statusText:ma.statusText,config:Tr,request:Hn})})}catch(Ti){throw Vn&&Vn(),Ti&&Ti.name==="TypeError"&&/Load failed|fetch/i.test(Ti.message)?Object.assign(new Qu("Network Error",Qu.ERR_NETWORK,Tr,Hn),{cause:Ti.cause||Ti}):Qu.from(Ti,Ti&&Ti.code,Tr,Hn)}}},NQ=new Map,NO=d=>{let s=d&&d.env||{};const{fetch:E,Request:R,Response:K}=s,dt=[R,K,E];let _t=dt.length,It=_t,jt,te,le=NQ;for(;It--;)jt=dt[It],te=le.get(jt),te===void 0&&le.set(jt,te=It?new Map:RQ(s)),le=te;return te};NO();const pM={http:rQ,xhr:IQ,fetch:{get:NO}};io.forEach(pM,(d,s)=>{if(d){try{Object.defineProperty(d,"name",{value:s})}catch{}Object.defineProperty(d,"adapterName",{value:s})}});const JL=d=>`- ${d}`,jQ=d=>io.isFunction(d)||d===null||d===!1;function UQ(d,s){d=io.isArray(d)?d:[d];const{length:E}=d;let R,K;const dt={};for(let _t=0;_t`adapter ${jt} `+(te===!1?"is not supported by the environment":"is not available in the build"));let It=E?_t.length>1?`since : `+_t.map(JL).join(` -`):" "+JL(_t[0]):"as no adapter specified";throw new Qu("There is no suitable adapter to dispatch the request "+zt,"ERR_NOT_SUPPORT")}return K}const jO={getAdapter:UQ,adapters:pM};function B8(d){if(d.cancelToken&&d.cancelToken.throwIfRequested(),d.signal&&d.signal.aborted)throw new T_(null,d)}function QL(d){return B8(d),d.headers=C0.from(d.headers),d.data=F8.call(d,d.transformRequest),["post","put","patch"].indexOf(d.method)!==-1&&d.headers.setContentType("application/x-www-form-urlencoded",!1),jO.getAdapter(d.adapter||ow.adapter,d)(d).then(function(R){return B8(d),R.data=F8.call(d,d.transformResponse,R),R.headers=C0.from(R.headers),R},function(R){return DO(R)||(B8(d),R&&R.response&&(R.response.data=F8.call(d,d.transformResponse,R.response),R.response.headers=C0.from(R.response.headers))),Promise.reject(R)})}const UO="1.13.2",Y4={};["object","boolean","number","function","string","symbol"].forEach((d,s)=>{Y4[d]=function(R){return typeof R===d||"a"+(s<1?"n ":" ")+d}});const tP={};Y4.transitional=function(s,E,R){function K(dt,_t){return"[Axios v"+UO+"] Transitional option '"+dt+"'"+_t+(R?". "+R:"")}return(dt,_t,zt)=>{if(s===!1)throw new Qu(K(_t," has been removed"+(E?" in "+E:"")),Qu.ERR_DEPRECATED);return E&&!tP[_t]&&(tP[_t]=!0,console.warn(K(_t," has been deprecated since v"+E+" and will be removed in the near future"))),s?s(dt,_t,zt):!0}};Y4.spelling=function(s){return(E,R)=>(console.warn(`${R} is likely a misspelling of ${s}`),!0)};function VQ(d,s,E){if(typeof d!="object")throw new Qu("options must be an object",Qu.ERR_BAD_OPTION_VALUE);const R=Object.keys(d);let K=R.length;for(;K-- >0;){const dt=R[K],_t=s[dt];if(_t){const zt=d[dt],jt=zt===void 0||_t(zt,dt,d);if(jt!==!0)throw new Qu("option "+dt+" must be "+jt,Qu.ERR_BAD_OPTION_VALUE);continue}if(E!==!0)throw new Qu("Unknown option "+dt,Qu.ERR_BAD_OPTION)}}const n4={assertOptions:VQ,validators:Y4},ag=n4.validators;let My=class{constructor(s){this.defaults=s||{},this.interceptors={request:new VL,response:new VL}}async request(s,E){try{return await this._request(s,E)}catch(R){if(R instanceof Error){let K={};Error.captureStackTrace?Error.captureStackTrace(K):K=new Error;const dt=K.stack?K.stack.replace(/^.+\n/,""):"";try{R.stack?dt&&!String(R.stack).endsWith(dt.replace(/^.+\n.+\n/,""))&&(R.stack+=` -`+dt):R.stack=dt}catch{}}throw R}}_request(s,E){typeof s=="string"?(E=E||{},E.url=s):E=s||{},E=Ly(this.defaults,E);const{transitional:R,paramsSerializer:K,headers:dt}=E;R!==void 0&&n4.assertOptions(R,{silentJSONParsing:ag.transitional(ag.boolean),forcedJSONParsing:ag.transitional(ag.boolean),clarifyTimeoutError:ag.transitional(ag.boolean)},!1),K!=null&&(no.isFunction(K)?E.paramsSerializer={serialize:K}:n4.assertOptions(K,{encode:ag.function,serialize:ag.function},!0)),E.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?E.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:E.allowAbsoluteUrls=!0),n4.assertOptions(E,{baseUrl:ag.spelling("baseURL"),withXsrfToken:ag.spelling("withXSRFToken")},!0),E.method=(E.method||this.defaults.method||"get").toLowerCase();let _t=dt&&no.merge(dt.common,dt[E.method]);dt&&no.forEach(["delete","get","head","post","put","patch","common"],Tr=>{delete dt[Tr]}),E.headers=C0.concat(_t,dt);const zt=[];let jt=!0;this.interceptors.request.forEach(function(wr){typeof wr.runWhen=="function"&&wr.runWhen(E)===!1||(jt=jt&&wr.synchronous,zt.unshift(wr.fulfilled,wr.rejected))});const te=[];this.interceptors.response.forEach(function(wr){te.push(wr.fulfilled,wr.rejected)});let se,Le=0,Je;if(!jt){const Tr=[QL.bind(this),void 0];for(Tr.unshift(...zt),Tr.push(...te),Je=Tr.length,se=Promise.resolve(E);Le{if(!R._listeners)return;let dt=R._listeners.length;for(;dt-- >0;)R._listeners[dt](K);R._listeners=null}),this.promise.then=K=>{let dt;const _t=new Promise(zt=>{R.subscribe(zt),dt=zt}).then(K);return _t.cancel=function(){R.unsubscribe(dt)},_t},s(function(dt,_t,zt){R.reason||(R.reason=new T_(dt,_t,zt),E(R.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(s){if(this.reason){s(this.reason);return}this._listeners?this._listeners.push(s):this._listeners=[s]}unsubscribe(s){if(!this._listeners)return;const E=this._listeners.indexOf(s);E!==-1&&this._listeners.splice(E,1)}toAbortSignal(){const s=new AbortController,E=R=>{s.abort(R)};return this.subscribe(E),s.signal.unsubscribe=()=>this.unsubscribe(E),s.signal}static source(){let s;return{token:new VO(function(K){s=K}),cancel:s}}};function WQ(d){return function(E){return d.apply(null,E)}}function qQ(d){return no.isObject(d)&&d.isAxiosError===!0}const SA={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(SA).forEach(([d,s])=>{SA[s]=d});function HO(d){const s=new My(d),E=_O(My.prototype.request,s);return no.extend(E,My.prototype,s,{allOwnKeys:!0}),no.extend(E,s,null,{allOwnKeys:!0}),E.create=function(K){return HO(Ly(d,K))},E}const _d=HO(ow);_d.Axios=My;_d.CanceledError=T_;_d.CancelToken=HQ;_d.isCancel=DO;_d.VERSION=UO;_d.toFormData=G4;_d.AxiosError=Qu;_d.Cancel=_d.CanceledError;_d.all=function(s){return Promise.all(s)};_d.spread=WQ;_d.isAxiosError=qQ;_d.mergeConfig=Ly;_d.AxiosHeaders=C0;_d.formToJSON=d=>OO(no.isHTMLForm(d)?new FormData(d):d);_d.getAdapter=jO.getAdapter;_d.HttpStatusCode=SA;_d.default=_d;const{Axios:vxt,AxiosError:yxt,CanceledError:xxt,isCancel:_xt,CancelToken:bxt,VERSION:wxt,all:kxt,Cancel:Txt,isAxiosError:Axt,spread:Mxt,toFormData:Sxt,AxiosHeaders:Ext,HttpStatusCode:Cxt,formToJSON:Lxt,getAdapter:Pxt,mergeConfig:zxt}=_d,$Q="/api",ZQ="",GQ=$Q,YQ=ZQ,_y=_d.create({baseURL:GQ,timeout:5e3,headers:{"Content-Type":"application/json"}});_y.interceptors.request.use(d=>d,d=>(console.error("API Request Error:",d),Promise.reject(d)));_y.interceptors.response.use(d=>d,d=>(console.error("API Response Error:",d.response?.data||d.message),Promise.reject(d)));class ah{static async get(s,E){try{return(await _y.get(s,{params:E})).data}catch(R){throw this.handleError(R)}}static async post(s,E,R){try{return(await _y.post(s,E,R)).data}catch(K){throw this.handleError(K)}}static async put(s,E,R){try{return(await _y.put(s,E,R)).data}catch(K){throw this.handleError(K)}}static async delete(s,E){try{return(await _y.delete(s,E)).data}catch(R){throw this.handleError(R)}}static async getTransportKeys(){return this.get("transport_keys")}static async createTransportKey(s,E,R,K,dt){const _t={name:s,flood_policy:E,parent_id:K,last_used:dt};return R!==void 0&&(_t.transport_key=R),this.post("transport_keys",_t)}static async getTransportKey(s){return this.get(`transport_key/${s}`)}static async updateTransportKey(s,E,R,K,dt,_t){return this.put(`transport_key/${s}`,{name:E,flood_policy:R,transport_key:K,parent_id:dt,last_used:_t})}static async deleteTransportKey(s){return this.delete(`transport_key/${s}`)}static async updateGlobalFloodPolicy(s){return this.post("global_flood_policy",{global_flood_allow:s})}static async getLogs(){try{return(await _y.get("logs")).data}catch(s){throw this.handleError(s)}}static async deleteAdvert(s){return this.delete(`advert/${s}`)}static async pingNeighbor(s){return this.post("ping_neighbor",s)}static handleError(s){if(_d.isAxiosError(s)){if(s.response){const E=s.response.data?.error||s.response.data?.message||`HTTP ${s.response.status}`;return new Error(E)}else if(s.request)return new Error("Network error - no response received")}return new Error(s instanceof Error?s.message:"Unknown error occurred")}}const Dm=lM("system",()=>{const d=ja(null),s=ja(!1),E=ja(null),R=ja(null),K=ja("forward"),dt=ja(!0),_t=ja(0),zt=ja(10),jt=ja(!1),te=Wo(()=>d.value?.config?.node_name??"Unknown"),se=Wo(()=>{const Vn=d.value?.public_key;return!Vn||Vn==="Unknown"?"Unknown":Vn.length>=16?`${Vn.slice(0,8)} ... ${Vn.slice(-8)}`:`${Vn}`}),Le=Wo(()=>d.value!==null),Je=Wo(()=>d.value?.version??"Unknown"),fr=Wo(()=>d.value?.core_version??"Unknown"),Tr=Wo(()=>d.value?.noise_floor_dbm??null),wr=Wo(()=>zt.value>0?Math.min(_t.value/zt.value*100,100):0),Vr=Wo(()=>K.value==="monitor"?{text:"Monitor Mode",title:"Monitoring only - not forwarding packets"}:dt.value?{text:"Active",title:"Forwarding with duty cycle enforcement"}:{text:"No Limits",title:"Forwarding without duty cycle enforcement"}),fn=Wo(()=>K.value==="monitor"?{active:!1,warning:!0}:{active:!0,warning:!1}),Dt=Wo(()=>dt.value?{active:!0,warning:!1}:{active:!1,warning:!0}),cn=Vn=>{jt.value=Vn};async function Qn(){try{s.value=!0,E.value=null;const Vn=await ah.get("/stats");if(Vn.success&&Vn.data)return d.value=Vn.data,R.value=new Date,Dn(Vn.data),Vn.data;if(Vn&&"version"in Vn){const Wn=Vn;return d.value=Wn,R.value=new Date,Dn(Wn),Wn}else throw new Error(Vn.error||"Failed to fetch stats")}catch(Vn){throw E.value=Vn instanceof Error?Vn.message:"Unknown error occurred",console.error("Error fetching stats:",Vn),Vn}finally{s.value=!1}}function Dn(Vn){if(Vn.config){const sa=Vn.config.repeater?.mode;(sa==="forward"||sa==="monitor")&&(K.value=sa);const wi=Vn.config.duty_cycle;if(wi){dt.value=wi.enforcement_enabled!==!1;const hi=wi.max_airtime_percent;typeof hi=="number"?zt.value=hi:hi&&typeof hi=="object"&&"parsedValue"in hi&&(zt.value=hi.parsedValue||10)}}const Wn=Vn.utilization_percent;typeof Wn=="number"?_t.value=Wn:Wn&&typeof Wn=="object"&&"parsedValue"in Wn&&(_t.value=Wn.parsedValue||0)}async function ei(Vn){try{const Wn=await ah.post("/set_mode",{mode:Vn});if(Wn.success)return K.value=Vn,!0;throw new Error(Wn.error||"Failed to set mode")}catch(Wn){throw E.value=Wn instanceof Error?Wn.message:"Unknown error occurred",console.error("Error setting mode:",Wn),Wn}}async function Ui(Vn){try{const Wn=await ah.post("/set_duty_cycle",{enabled:Vn});if(Wn.success)return dt.value=Vn,!0;throw new Error(Wn.error||"Failed to set duty cycle")}catch(Wn){throw E.value=Wn instanceof Error?Wn.message:"Unknown error occurred",console.error("Error setting duty cycle:",Wn),Wn}}async function Di(){try{const Vn=await ah.post("/send_advert",{},{timeout:1e4});if(Vn.success)return console.log("Advertisement sent successfully:",Vn.data),!0;throw new Error(Vn.error||"Failed to send advert")}catch(Vn){throw E.value=Vn instanceof Error?Vn.message:"Unknown error occurred",console.error("Error sending advert:",Vn),Vn}}async function qr(){const Vn=K.value==="forward"?"monitor":"forward";return await ei(Vn)}async function Si(){return await Ui(!dt.value)}async function jn(Vn=5e3){await Qn();const Wn=setInterval(async()=>{try{await Qn()}catch(sa){console.error("Auto-refresh error:",sa)}},Vn);return()=>clearInterval(Wn)}function oi(){d.value=null,E.value=null,R.value=null,s.value=!1,K.value="forward",dt.value=!0,_t.value=0,zt.value=10}return{stats:d,isLoading:s,error:E,lastUpdated:R,currentMode:K,dutyCycleEnabled:dt,dutyCycleUtilization:_t,dutyCycleMax:zt,cadCalibrationRunning:jt,nodeName:te,pubKey:se,hasStats:Le,version:Je,coreVersion:fr,noiseFloorDbm:Tr,dutyCyclePercentage:wr,statusBadge:Vr,modeButtonState:fn,dutyCycleButtonState:Dt,fetchStats:Qn,setMode:ei,setDutyCycle:Ui,sendAdvert:Di,toggleMode:qr,toggleDutyCycle:Si,startAutoRefresh:jn,reset:oi,setCadCalibrationRunning:cn}}),Bf=(d,s)=>{const E=d.__vccOpts||d;for(const[R,K]of s)E[R]=K;return E},KQ={},XQ={width:"23",height:"25",viewBox:"0 0 23 25",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function JQ(d,s){return ui(),vi("svg",XQ,s[0]||(s[0]=[fe("path",{d:"M2.84279 2.25795C2.90709 1.12053 3.17879 0.625914 3.95795 0.228723C4.79631 -0.198778 6.11858 0.000168182 7.67449 0.788054C8.34465 1.12757 8.41289 1.13448 9.58736 0.983905C11.1485 0.783681 13.1582 0.784388 14.5991 0.985738C15.6887 1.13801 15.7603 1.1304 16.4321 0.790174C18.6406 -0.328212 20.3842 -0.255036 21.0156 0.982491C21.3308 1.6002 21.3893 3.20304 21.1449 4.52503C21.0094 5.25793 21.0238 5.34943 21.3502 5.83037C23.6466 9.21443 21.9919 14.6998 18.0569 16.7469C17.7558 16.9036 17.502 17.0005 17.2952 17.0795C16.6602 17.3219 16.4674 17.3956 16.7008 18.5117C16.8132 19.0486 16.9486 20.3833 17.0018 21.478C17.098 23.4567 17.0966 23.4705 16.7495 23.8742C16.2772 24.4233 15.5963 24.4326 15.135 23.8962C14.8341 23.5464 14.8047 23.3812 14.8047 22.0315C14.8047 20.037 14.5861 18.7113 14.0695 17.5753C13.4553 16.2235 13.9106 15.7194 15.3154 15.4173C17.268 14.9973 18.793 13.7923 19.643 11.9978C20.4511 10.2921 20.5729 7.93485 19.1119 6.50124C18.6964 6.00746 18.6674 5.56022 18.9641 4.21159C19.075 3.70754 19.168 3.05725 19.1707 2.76637C19.1749 2.30701 19.1331 2.23764 18.8509 2.23764C18.6724 2.23764 17.9902 2.49736 17.3352 2.81474L16.2897 3.32145C16.1947 3.36751 16.0883 3.38522 15.9834 3.37318C13.3251 3.06805 10.7991 3.06334 8.12774 3.37438C8.02244 3.38663 7.91563 3.36892 7.82025 3.32263L6.77535 2.81559C6.12027 2.49764 5.43813 2.23764 5.25963 2.23764C4.84693 2.23764 4.84072 2.54233 5.2169 4.35258C5.44669 5.45816 5.60133 5.70451 4.93703 6.58851C3.94131 7.91359 3.69258 9.55902 4.22654 11.2878C4.89952 13.4664 6.54749 14.9382 8.86436 15.4292C10.261 15.7253 10.6261 16.1115 10.0928 17.713C9.67293 18.9734 9.40748 19.2982 8.79738 19.2982C7.97649 19.2982 7.46228 18.5871 7.74527 17.843C7.86991 17.5151 7.83283 17.4801 7.06383 17.1996C4.71637 16.3437 2.9209 14.4254 2.10002 11.8959C1.46553 9.94098 1.74471 7.39642 2.76257 5.85843C3.10914 5.33477 3.1145 5.29036 2.95277 4.28787C2.86126 3.72037 2.81177 2.80699 2.84279 2.25795Z",fill:"white"},null,-1),fe("path",{d:"M2.02306 16.5589C1.68479 16.0516 0.999227 15.9144 0.491814 16.2527C-0.0155884 16.591 -0.152708 17.2765 0.185564 17.7839C0.435301 18.1586 0.734065 18.4663 0.987777 18.72C1.03455 18.7668 1.08 18.8119 1.12438 18.856C1.3369 19.0671 1.52455 19.2535 1.71302 19.4748C2.12986 19.964 2.54572 20.623 2.78206 21.8047C2.88733 22.3311 3.26569 22.6147 3.47533 22.7386C3.70269 22.8728 3.9511 22.952 4.15552 23.0036C4.57369 23.109 5.08133 23.1638 5.56309 23.1957C6.09196 23.2308 6.665 23.2422 7.17743 23.2453C7.1778 23.8547 7.67202 24.3487 8.28162 24.3487C8.89146 24.3487 9.38582 23.8543 9.38582 23.2445V22.1403C9.38582 21.5305 8.89146 21.0361 8.28162 21.0361C8.17753 21.0361 8.06491 21.0364 7.94562 21.0369C7.29761 21.0389 6.45295 21.0414 5.70905 20.9922C5.35033 20.9684 5.05544 20.9347 4.8392 20.8936C4.50619 19.5863 3.96821 18.7165 3.39415 18.0426C3.14038 17.7448 2.87761 17.4842 2.66387 17.2722C2.62385 17.2326 2.58556 17.1946 2.54935 17.1584C2.30273 16.9118 2.1414 16.7365 2.02306 16.5589Z",fill:"white"},null,-1)]))}const QQ=Bf(KQ,[["render",JQ]]),ttt={},ett={width:"17",height:"24",viewBox:"0 0 17 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function rtt(d,s){return ui(),vi("svg",ett,s[0]||(s[0]=[Ff('',12)]))}const ntt=Bf(ttt,[["render",rtt]]),sw=lM("packets",()=>{const d=ja(null),s=ja(null),E=ja([]),R=ja([]),K=ja(null),dt=ja(!1),_t=ja(null),zt=ja(null),jt=ja([]),te=ja([]),se=Wo(()=>d.value!==null),Le=Wo(()=>s.value!==null),Je=Wo(()=>E.value.length>0),fr=Wo(()=>R.value.length>0),Tr=Wo(()=>K.value?.avg_noise_floor??0),wr=Wo(()=>d.value?.total_packets??0),Vr=Wo(()=>d.value?.avg_rssi??0),fn=Wo(()=>d.value?.avg_snr??0),Dt=Wo(()=>s.value?.uptime_seconds??0),cn=Wo(()=>{if(!d.value?.packet_types)return[];const wi=d.value.packet_types,hi=wi.reduce((va,qo)=>va+qo.count,0);return wi.map(va=>({type:va.type.toString(),count:va.count,percentage:hi>0?va.count/hi*100:0}))}),Qn=Wo(()=>{const wi={};return E.value.forEach(hi=>{wi[hi.type]||(wi[hi.type]=[]),wi[hi.type].push(hi)}),wi});async function Dn(){try{const wi=await ah.get("/stats");if(wi.success&&wi.data){s.value=wi.data;const hi=new Date;return te.value.push({timestamp:hi,stats:wi.data}),te.value.length>50&&(te.value=te.value.slice(-50)),wi.data}else if(wi&&"version"in wi){const hi=wi;s.value=hi;const va=new Date;return te.value.push({timestamp:va,stats:hi}),te.value.length>50&&(te.value=te.value.slice(-50)),hi}else throw new Error(wi.error||"Failed to fetch system stats")}catch(wi){throw _t.value=wi instanceof Error?wi.message:"Unknown error occurred",console.error("Error fetching system stats:",wi),wi}}async function ei(wi={hours:24}){try{const hi=await ah.get("/noise_floor_history",wi);if(hi.success&&hi.data&&hi.data.history)return R.value=hi.data.history,zt.value=new Date,hi.data.history;throw new Error(hi.error||"Failed to fetch noise floor history")}catch(hi){throw _t.value=hi instanceof Error?hi.message:"Unknown error occurred",console.error("Error fetching noise floor history:",hi),hi}}async function Ui(wi={hours:24}){try{const hi=await ah.get("/noise_floor_stats",wi);if(hi.success&&hi.data&&hi.data.stats)return K.value=hi.data.stats,zt.value=new Date,hi.data.stats;throw new Error(hi.error||"Failed to fetch noise floor stats")}catch(hi){throw _t.value=hi instanceof Error?hi.message:"Unknown error occurred",console.error("Error fetching noise floor stats:",hi),hi}}const Di=Wo(()=>!R.value||!Array.isArray(R.value)?[]:R.value.slice(-50).map(wi=>wi.noise_floor_dbm));async function qr(wi={hours:24}){try{dt.value=!0,_t.value=null;const hi=await ah.get("/packet_stats",wi);if(hi.success&&hi.data){d.value=hi.data;const va=new Date;jt.value.push({timestamp:va,stats:hi.data}),jt.value.length>50&&(jt.value=jt.value.slice(-50)),zt.value=va}else throw new Error(hi.error||"Failed to fetch packet stats")}catch(hi){_t.value=hi instanceof Error?hi.message:"Unknown error occurred",console.error("Error fetching packet stats:",hi)}finally{dt.value=!1}}async function Si(wi={limit:100}){try{dt.value=!0,_t.value=null;const hi=await ah.get("/recent_packets",wi);if(hi.success&&hi.data)E.value=hi.data,zt.value=new Date;else throw new Error(hi.error||"Failed to fetch recent packets")}catch(hi){_t.value=hi instanceof Error?hi.message:"Unknown error occurred",console.error("Error fetching recent packets:",hi)}finally{dt.value=!1}}async function jn(wi){try{dt.value=!0,_t.value=null;const hi=await ah.get("/filtered_packets",wi);if(hi.success&&hi.data)return E.value=hi.data,zt.value=new Date,hi.data;throw new Error(hi.error||"Failed to fetch filtered packets")}catch(hi){throw _t.value=hi instanceof Error?hi.message:"Unknown error occurred",console.error("Error fetching filtered packets:",hi),hi}finally{dt.value=!1}}async function oi(wi){try{dt.value=!0,_t.value=null;const hi=await ah.get("/packet_by_hash",{packet_hash:wi});if(hi.success&&hi.data)return hi.data;throw new Error(hi.error||"Packet not found")}catch(hi){throw _t.value=hi instanceof Error?hi.message:"Unknown error occurred",console.error("Error fetching packet by hash:",hi),hi}finally{dt.value=!1}}const Vn=Wo(()=>{const wi=jt.value,hi=te.value;return{totalPackets:wi.map(va=>va.stats.total_packets),transmittedPackets:wi.map(va=>va.stats.transmitted_packets),droppedPackets:wi.map(va=>va.stats.dropped_packets),avgRssi:wi.map(va=>va.stats.avg_rssi),uptimeHours:hi.map(va=>Math.floor((va.stats.uptime_seconds||0)/3600))}});async function Wn(wi=3e4){await Promise.all([Dn(),qr(),Si(),ei({hours:1}),Ui({hours:1})]);const hi=setInterval(async()=>{try{await Promise.all([Dn(),qr(),Si(),ei({hours:1}),Ui({hours:1})])}catch(va){console.error("Auto-refresh error:",va)}},wi);return()=>clearInterval(hi)}function sa(){d.value=null,s.value=null,E.value=[],R.value=[],K.value=null,jt.value=[],te.value=[],_t.value=null,zt.value=null,dt.value=!1}return{packetStats:d,systemStats:s,recentPackets:E,noiseFloorHistory:R,noiseFloorStats:K,packetStatsHistory:jt,systemStatsHistory:te,isLoading:dt,error:_t,lastUpdated:zt,hasPacketStats:se,hasSystemStats:Le,hasRecentPackets:Je,hasNoiseFloorData:fr,currentNoiseFloor:Tr,totalPackets:wr,averageRSSI:Vr,averageSNR:fn,uptime:Dt,packetTypeBreakdown:cn,recentPacketsByType:Qn,sparklineData:Vn,noiseFloorSparklineData:Di,fetchSystemStats:Dn,fetchPacketStats:qr,fetchRecentPackets:Si,fetchFilteredPackets:jn,getPacketByHash:oi,fetchNoiseFloorHistory:ei,fetchNoiseFloorStats:Ui,startAutoRefresh:Wn,reset:sa}}),itt={class:"glass-card-green p-5 relative overflow-hidden"},att={key:0,class:"absolute inset-0 bg-black/60 backdrop-blur-sm flex items-center justify-center z-10 rounded-lg"},ott={class:"flex items-baseline gap-2 mb-8"},stt={class:"text-primary text-2xl font-medium"},ltt={class:"absolute bottom-0 left-5 w-[196px] h-[30px]",viewBox:"0 0 196 30",fill:"none",xmlns:"http://www.w3.org/2000/svg"},utt=["d"],ctt=["d"],htt=["cy"],ftt=Ec({__name:"RFNoiseFloor",setup(d){const s=sw(),E=Dm(),R=ja(null),K=se=>{if(se.length<2)return"";const Le=196,Je=30,fr=4,Tr=-125,Vr=-105-Tr;let fn="";return se.forEach((Dt,cn)=>{const Qn=cn/(se.length-1)*Le,Dn=(Dt-Tr)/Vr,ei=Je-Dn*(Je-fr*2)-fr;if(cn===0)fn+=`M ${Qn} ${ei}`;else{const Di=((cn-1)/(se.length-1)*Le+Qn)/2;fn+=` Q ${Di} ${ei} ${Qn} ${ei}`}}),fn},dt=async()=>{try{await Promise.all([s.fetchNoiseFloorHistory({hours:1}),s.fetchNoiseFloorStats({hours:1})])}catch(se){console.error("Error fetching noise floor data:",se)}};op(()=>{dt(),R.value=window.setInterval(dt,5e3)}),Im(()=>{R.value&&clearInterval(R.value)});const _t=Wo(()=>{const se=s.noiseFloorSparklineData;return se&&se.length>0?se[se.length-1]:s.noiseFloorStats?.avg_noise_floor??-116}),zt=Wo(()=>s.noiseFloorSparklineData),jt=Wo(()=>K(zt.value)),te=Wo(()=>{if(zt.value.length===0)return 15;const se=zt.value[zt.value.length-1],Le=-125,fr=-105-Le;return 30-(se-Le)/fr*22-4});return(se,Le)=>(ui(),vi("div",itt,[Ol(E).cadCalibrationRunning?(ui(),vi("div",att,Le[0]||(Le[0]=[Ff('CAD CalibrationIn Progress',1)]))):Fo("",!0),Le[4]||(Le[4]=fe("p",{class:"text-dark-text text-xs uppercase mb-2"},"RF NOISE FLOOR",-1)),fe("div",ott,[fe("span",stt,Ei(_t.value),1),Le[1]||(Le[1]=fe("span",{class:"text-dark-text text-xs uppercase"},"dBm",-1))]),(ui(),vi("svg",ltt,[Le[3]||(Le[3]=Ff('',1)),zt.value.length>1?(ui(),vi("path",{key:0,d:`${jt.value} L 196 30 L 0 30 Z`,fill:"url(#rf-noise-gradient)",class:"transition-all duration-500 ease-out"},null,8,utt)):Fo("",!0),zt.value.length>1?(ui(),vi("path",{key:1,d:jt.value,stroke:"#B1FFFF","stroke-width":"2",fill:"none",filter:"url(#line-glow)",class:"transition-all duration-500 ease-out"},null,8,ctt)):Fo("",!0),zt.value.length>0?(ui(),vi("circle",{key:2,cx:196,cy:te.value,r:"2",fill:"#B1FFFF",class:"animate-pulse"},Le[2]||(Le[2]=[fe("animate",{attributeName:"r",values:"2;3;2",dur:"2s",repeatCount:"indefinite"},null,-1)]),8,htt)):Fo("",!0)]))]))}}),WO=Bf(ftt,[["__scopeId","data-v-ad12b3cb"]]),dtt={},ptt={width:"800px",height:"800px",viewBox:"0 -1.5 20 20",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",class:"w-full h-full"};function mtt(d,s){return ui(),vi("svg",ptt,s[0]||(s[0]=[fe("g",{id:"Page-1",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[fe("g",{transform:"translate(-420.000000, -3641.000000)",fill:"currentColor"},[fe("g",{id:"icons",transform:"translate(56.000000, 160.000000)"},[fe("path",{d:"M378.195439,3483.828 L376.781439,3485.242 C378.195439,3486.656 378.294439,3489.588 376.880439,3491.002 L378.294439,3492.417 C380.415439,3490.295 380.316439,3485.949 378.195439,3483.828 M381.023439,3481 L379.609439,3482.414 C382.438439,3485.242 382.537439,3491.002 379.708439,3493.831 L381.122439,3495.245 C385.365439,3491.002 384.559439,3484.535 381.023439,3481 M375.432439,3486.737 C375.409439,3486.711 375.392439,3486.682 375.367439,3486.656 L375.363439,3486.66 C374.582439,3485.879 373.243439,3485.952 372.536439,3486.659 C371.829439,3487.366 371.831439,3488.778 372.538439,3489.485 C372.547439,3489.494 372.558439,3489.499 372.567439,3489.508 C372.590439,3489.534 372.607439,3489.563 372.632439,3489.588 L372.636439,3489.585 C373.201439,3490.15 373.000439,3488.284 373.000439,3498 L375.000439,3498 C375.000439,3488.058 374.753439,3490.296 375.463439,3489.586 C376.170439,3488.879 376.168439,3487.467 375.461439,3486.76 C375.452439,3486.751 375.441439,3486.746 375.432439,3486.737 M371.119439,3485.242 L369.705439,3483.828 C367.584439,3485.949 367.683439,3490.295 369.804439,3492.417 L371.218439,3491.002 C369.804439,3489.588 369.705439,3486.656 371.119439,3485.242 M368.390439,3493.831 L366.976439,3495.245 C363.440439,3491.709 362.634439,3485.242 366.877439,3481 L368.291439,3482.414 C365.462439,3485.242 365.561439,3491.002 368.390439,3493.831",id:"radio_tower-[#1019]"})])])],-1)]))}const gtt=Bf(dtt,[["render",mtt]]),vtt={class:"text-center"},ytt={class:"relative flex items-center justify-center mb-8"},xtt={class:"relative w-32 h-32"},_tt={class:"absolute left-1/2 top-1/2 transform -translate-x-1/2 -translate-y-1/2"},btt={key:0,class:"absolute inset-0 flex items-center justify-center"},wtt={key:1,class:"absolute inset-0 flex items-center justify-center"},ktt={key:2,class:"absolute inset-0"},Ttt={class:"mb-6"},Att={key:0,class:"text-white text-lg"},Mtt={key:1,class:"text-accent-green text-lg font-medium"},Stt={key:2,class:"text-secondary text-lg"},Ett={key:3,class:"text-accent-red text-lg"},Ctt={key:4,class:"text-dark-text"},Ltt={key:5,class:"mt-3"},Ptt={key:0,class:"text-secondary text-sm"},ztt={key:1,class:"text-accent-red text-sm"},Itt={key:0,class:"flex gap-3"},Ott={key:1,class:"text-dark-text text-sm"},Dtt=Ec({name:"AdvertModal",__name:"AdvertModal",props:{isOpen:{type:Boolean},isLoading:{type:Boolean},isSuccess:{type:Boolean},error:{default:null}},emits:["close","send"],setup(d,{emit:s}){const E=d,R=s,K=ja(!1),dt=ja(!1),_t=ja(!1);Em(()=>E.isOpen,se=>{se?(K.value=!0,setTimeout(()=>{dt.value=!0},50)):(dt.value=!1,_t.value=!1,setTimeout(()=>{K.value=!1},300))},{immediate:!0}),Em(()=>E.isLoading,se=>{se||setTimeout(()=>{_t.value=!1},1e3)});const zt=()=>{E.isLoading||R("close")},jt=()=>{E.isLoading||(_t.value=!0,R("send"))},te=se=>se?.includes("Network error - no response received")||se?.includes("timeout");return(se,Le)=>(ui(),Y0(QA,{to:"body"},[K.value?(ui(),vi("div",{key:0,class:"fixed inset-0 z-50 flex items-center justify-center p-4",onClick:Pm(zt,["self"])},[fe("div",{class:Co(["absolute inset-0 bg-black/60 backdrop-blur-sm transition-opacity duration-300",dt.value?"opacity-100":"opacity-0"])},null,2),fe("div",{class:Co(["relative glass-card rounded-[20px] p-8 max-w-md w-full transform transition-all duration-300",dt.value?"scale-100 opacity-100":"scale-95 opacity-0"])},[se.isLoading?Fo("",!0):(ui(),vi("button",{key:0,onClick:zt,class:"absolute top-4 right-4 text-dark-text hover:text-white transition-colors p-2"},Le[0]||(Le[0]=[fe("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[fe("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1)]))),fe("div",vtt,[Le[6]||(Le[6]=fe("h2",{class:"text-white text-xl font-semibold mb-6"},"Send Advertisement",-1)),fe("div",ytt,[fe("div",xtt,[fe("div",_tt,[Tl(gtt,{class:Co(["w-16 h-16 transition-all duration-500",[se.isLoading?"animate-pulse":"",se.isSuccess?"text-accent-green":se.error&&!te(se.error)?"text-accent-red":"text-primary"]]),style:G0({filter:se.isLoading?"drop-shadow(0 0 8px currentColor)":se.isSuccess?"drop-shadow(0 0 8px #A5E5B6)":se.error&&!te(se.error)?"drop-shadow(0 0 8px #FB787B)":"drop-shadow(0 0 4px #AAE8E8)"})},null,8,["class","style"])]),se.isLoading||se.isSuccess?(ui(),vi("div",btt,[fe("div",{class:Co(["absolute w-16 h-16 rounded-full border-2 animate-ping",[se.isSuccess?"border-accent-green/60":"border-primary/60"]]),style:{"animation-duration":"1.5s"}},null,2),fe("div",{class:Co(["absolute w-24 h-24 rounded-full border-2 animate-ping",[se.isSuccess?"border-accent-green/40":"border-primary/40"]]),style:{"animation-duration":"2s","animation-delay":"0.3s"}},null,2),fe("div",{class:Co(["absolute w-32 h-32 rounded-full border-2 animate-ping",[se.isSuccess?"border-accent-green/20":"border-primary/20"]]),style:{"animation-duration":"2.5s","animation-delay":"0.6s"}},null,2)])):Fo("",!0),_t.value?(ui(),vi("div",wtt,Le[1]||(Le[1]=[fe("div",{class:"absolute w-8 h-8 rounded-full border-4 border-secondary animate-ping-fast"},null,-1),fe("div",{class:"absolute w-16 h-16 rounded-full border-3 border-secondary/70 animate-ping-fast",style:{"animation-delay":"0.1s"}},null,-1),fe("div",{class:"absolute w-24 h-24 rounded-full border-2 border-secondary/50 animate-ping-fast",style:{"animation-delay":"0.2s"}},null,-1),fe("div",{class:"absolute w-32 h-32 rounded-full border-2 border-secondary/30 animate-ping-fast",style:{"animation-delay":"0.3s"}},null,-1)]))):Fo("",!0),se.isLoading||se.isSuccess?(ui(),vi("div",ktt,[fe("div",{class:Co(["absolute top-2 right-2 w-4 h-4 rounded-full transition-all duration-500 animate-pulse",[se.isSuccess?"bg-accent-green shadow-lg shadow-accent-green/50":"bg-primary/70 shadow-lg shadow-primary/30"]]),style:{"animation-delay":"0.5s"}},Le[2]||(Le[2]=[fe("div",{class:"w-2 h-2 bg-white rounded-full mx-auto mt-1"},null,-1)]),2),fe("div",{class:Co(["absolute bottom-2 left-2 w-4 h-4 rounded-full transition-all duration-500 animate-pulse",[se.isSuccess?"bg-accent-green shadow-lg shadow-accent-green/50":"bg-primary/70 shadow-lg shadow-primary/30"]]),style:{"animation-delay":"1s"}},Le[3]||(Le[3]=[fe("div",{class:"w-2 h-2 bg-white rounded-full mx-auto mt-1"},null,-1)]),2),fe("div",{class:Co(["absolute top-1/2 right-1 w-4 h-4 rounded-full transition-all duration-500 animate-pulse",[se.isSuccess?"bg-accent-green shadow-lg shadow-accent-green/50":"bg-primary/70 shadow-lg shadow-primary/30"]]),style:{"animation-delay":"1.5s",transform:"translateY(-50%)"}},Le[4]||(Le[4]=[fe("div",{class:"w-2 h-2 bg-white rounded-full mx-auto mt-1"},null,-1)]),2),fe("div",{class:Co(["absolute top-3 left-3 w-4 h-4 rounded-full transition-all duration-500 animate-pulse",[se.isSuccess?"bg-accent-green shadow-lg shadow-accent-green/50":"bg-primary/70 shadow-lg shadow-primary/30"]]),style:{"animation-delay":"2s"}},Le[5]||(Le[5]=[fe("div",{class:"w-2 h-2 bg-white rounded-full mx-auto mt-1"},null,-1)]),2)])):Fo("",!0)])]),fe("div",Ttt,[se.isLoading?(ui(),vi("p",Att," Broadcasting advertisement... ")):se.isSuccess?(ui(),vi("p",Mtt," Advertisement sent successfully! ")):se.error&&te(se.error)?(ui(),vi("p",Stt," Advertisement likely sent ")):se.error?(ui(),vi("p",Ett," Failed to send advertisement ")):(ui(),vi("p",Ctt," This will broadcast your node's presence to nearby nodes. ")),se.error?(ui(),vi("div",Ltt,[te(se.error)?(ui(),vi("p",Ptt," Network timeout occurred, but the advertisement may have been successfully transmitted to nearby nodes. ")):(ui(),vi("p",ztt,Ei(se.error),1))])):Fo("",!0)]),!se.isLoading&&!se.isSuccess?(ui(),vi("div",Itt,[fe("button",{onClick:zt,class:"flex-1 glass-card border border-dark-border hover:border-primary rounded-[10px] px-6 py-3 text-dark-text hover:text-white transition-all duration-200"}," Cancel "),fe("button",{onClick:jt,class:Co(["flex-1 rounded-[10px] px-6 py-3 font-medium transition-all duration-200 shadow-lg",[se.error&&te(se.error)?"bg-secondary hover:bg-secondary/90 text-dark-bg hover:shadow-secondary/20":"bg-primary hover:bg-primary/90 text-dark-bg hover:shadow-primary/20"]])},Ei(se.error&&te(se.error)?"Try Again":"Send Advertisement"),3)])):Fo("",!0),se.isSuccess?(ui(),vi("div",Ott," Closing automatically... ")):Fo("",!0)])],2)])):Fo("",!0)]))}}),qO=Bf(Dtt,[["__scopeId","data-v-a5eb8c7f"]]),Ftt={},Btt={width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Rtt(d,s){return ui(),vi("svg",Btt,s[0]||(s[0]=[Ff('',2)]))}const $O=Bf(Ftt,[["render",Rtt]]),Ntt={},jtt={width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Utt(d,s){return ui(),vi("svg",jtt,s[0]||(s[0]=[Ff('',9)]))}const ZO=Bf(Ntt,[["render",Utt]]),Vtt={},Htt={width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Wtt(d,s){return ui(),vi("svg",Htt,s[0]||(s[0]=[Ff('',2)]))}const GO=Bf(Vtt,[["render",Wtt]]),qtt={},$tt={width:"11",height:"14",viewBox:"0 0 11 14",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Ztt(d,s){return ui(),vi("svg",$tt,s[0]||(s[0]=[fe("path",{d:"M9.81633 1.99133L8.5085 0.683492C8.29229 0.466088 8.03511 0.293723 7.75185 0.176372C7.46859 0.059021 7.16486 -0.000985579 6.85825 -0.000175002H1.75C1.28587 -0.000175002 0.840752 0.184199 0.512563 0.512388C0.184375 0.840577 0 1.2857 0 1.74983V13.9998H10.5V3.64099C10.4985 3.02248 10.2528 2.4296 9.81633 1.99133ZM8.9915 2.81616C9.02083 2.84799 9.04829 2.88149 9.07375 2.91649H7.58333V1.42608C7.61834 1.45153 7.65184 1.479 7.68367 1.50833L8.9915 2.81616ZM1.16667 12.8332V1.74983C1.16667 1.59512 1.22812 1.44674 1.33752 1.33735C1.44692 1.22795 1.59529 1.16649 1.75 1.16649H6.41667V4.08316H9.33333V12.8332H1.16667ZM2.33333 9.33316H8.16667V5.83316H2.33333V9.33316ZM3.5 6.99983H7V8.16649H3.5V6.99983ZM2.33333 10.4998H8.16667V11.6665H2.33333V10.4998Z",fill:"white"},null,-1)]))}const YO=Bf(qtt,[["render",Ztt]]),Gtt={},Ytt={width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Ktt(d,s){return ui(),vi("svg",Ytt,s[0]||(s[0]=[Ff('',2)]))}const KO=Bf(Gtt,[["render",Ktt]]),Xtt={name:"SystemIcon"},Jtt={width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Qtt(d,s,E,R,K,dt){return ui(),vi("svg",Jtt,s[0]||(s[0]=[Ff('',5)]))}const XO=Bf(Xtt,[["render",Qtt]]),tet={},eet={width:"11",height:"14",viewBox:"0 0 11 14",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function ret(d,s){return ui(),vi("svg",eet,s[0]||(s[0]=[fe("path",{d:"M10.5 14.0004H9.33333V11.0586C9.33287 10.6013 9.15099 10.1628 8.82761 9.83942C8.50422 9.51603 8.06575 9.33415 7.60842 9.33369H2.89158C2.43425 9.33415 1.99578 9.51603 1.67239 9.83942C1.34901 10.1628 1.16713 10.6013 1.16667 11.0586V14.0004H0V11.0586C0.000926233 10.292 0.305872 9.55705 0.847948 9.01497C1.39002 8.47289 2.12497 8.16795 2.89158 8.16702H7.60842C8.37503 8.16795 9.10998 8.47289 9.65205 9.01497C10.1941 9.55705 10.4991 10.292 10.5 11.0586V14.0004Z",fill:"white"},null,-1),fe("path",{d:"M5.25 6.99997C4.55777 6.99997 3.88108 6.7947 3.30551 6.41011C2.72993 6.02553 2.28133 5.4789 2.01642 4.83936C1.75152 4.19982 1.6822 3.49609 1.81725 2.81716C1.9523 2.13822 2.28564 1.51458 2.77513 1.0251C3.26461 0.535614 3.88825 0.202271 4.56719 0.0672226C5.24612 -0.0678257 5.94985 0.00148598 6.58939 0.266393C7.22894 0.531299 7.77556 0.979903 8.16015 1.55548C8.54473 2.13105 8.75 2.80774 8.75 3.49997C8.74908 4.42794 8.38003 5.31765 7.72385 5.97382C7.06768 6.63 6.17798 6.99904 5.25 6.99997ZM5.25 1.16664C4.78851 1.16664 4.33739 1.30349 3.95367 1.55988C3.56996 1.81627 3.27089 2.18068 3.09428 2.60704C2.91768 3.0334 2.87147 3.50256 2.9615 3.95518C3.05153 4.4078 3.27376 4.82357 3.60009 5.14989C3.92641 5.47621 4.34217 5.69844 4.79479 5.78847C5.24741 5.8785 5.71657 5.83229 6.14293 5.65569C6.56929 5.47909 6.93371 5.18002 7.1901 4.7963C7.44649 4.41259 7.58334 3.96146 7.58334 3.49997C7.58334 2.88113 7.3375 2.28764 6.89992 1.85006C6.46233 1.41247 5.86884 1.16664 5.25 1.16664Z",fill:"white"},null,-1)]))}const JO=Bf(tet,[["render",ret]]),net={},iet={width:"11",height:"13",viewBox:"0 0 11 13",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function aet(d,s){return ui(),vi("svg",iet,s[0]||(s[0]=[fe("path",{d:"M6.77889 9.16667H10.1122V12.5M4.11222 3.83333H0.77889V0.5M10.3906 4.50227C10.0168 3.57711 9.39097 2.77536 8.58423 2.18815C7.77749 1.60094 6.82233 1.25168 5.82707 1.18034C4.8318 1.109 3.83627 1.31827 2.95402 1.78441C2.07177 2.25055 1.3381 2.95503 0.836182 3.81742M0.500244 8.49805C0.874034 9.42321 1.49986 10.225 2.30661 10.8122C3.11335 11.3994 4.06948 11.7482 5.06474 11.8195C6.06001 11.8909 7.05473 11.6816 7.93697 11.2155C8.81922 10.7494 9.55239 10.045 10.0543 9.18262",stroke:"white","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)]))}const QO=Bf(net,[["render",aet]]),oet={},set={width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function uet(d,s){return ui(),vi("svg",set,s[0]||(s[0]=[Ff('',2)]))}const tD=Bf(oet,[["render",uet]]),cet={class:"w-[285px] flex-shrink-0 p-[15px] hidden lg:block"},het={class:"glass-card h-full p-6"},fet={class:"mb-12"},det={class:"text-[#C3C3C3] text-sm"},pet=["title"],met={class:"text-[#C3C3C3] text-sm mt-1"},get={class:"mb-8"},vet={class:"mb-8"},yet={class:"space-y-2"},xet=["onClick"],_et={class:"mb-8"},bet={class:"space-y-2"},wet=["onClick"],ket=["disabled"],Tet={class:"flex items-center gap-3"},Aet=["disabled"],Met={class:"flex items-center gap-3"},Eet={class:"mb-4"},Cet={class:"flex items-center gap-2"},Let={class:"glass-card px-2 py-1 text-dark-text text-xs font-medium rounded border border-dark-border"},Pet={class:"glass-card px-2 py-1 text-dark-text text-xs font-medium rounded border border-dark-border"},zet={key:0,class:"mb-4"},Iet={class:"text-dark-text text-xs mb-2"},Oet={class:"text-white"},Det={class:"w-full h-1 bg-white/10 rounded-full overflow-hidden"},Fet={class:"flex items-center justify-between"},Bet={class:"flex items-center gap-2 text-dark-text text-xs"},Ret={class:"flex items-center gap-2"},Net={href:"https://github.com/rightup",target:"_blank",class:"inline-block"},jet={href:"https://buymeacoffee.com/rightup",target:"_blank",class:"inline-block"},Uet=Ec({name:"SidebarNav",__name:"Sidebar",setup(d){const s=yO(),E=xO(),R=Dm(),K=ja(!1),dt=ja(!1),_t=ja(!1),zt=ja(!1),jt=ja(!1),te=ja(null);let se=null;op(async()=>{se=await R.startAutoRefresh(5e3)}),Oy(()=>{se&&se()});const Le={dashboard:ZO,neighbors:JO,statistics:KO,"system-stats":XO,configuration:$O,logs:YO,help:GO},Je=[{name:"Dashboard",icon:"dashboard",route:"/"},{name:"Neighbors",icon:"neighbors",route:"/neighbors"},{name:"Statistics",icon:"statistics",route:"/statistics"},{name:"System Stats",icon:"system-stats",route:"/system-stats"},{name:"Configuration",icon:"configuration",route:"/configuration"},{name:"Logs",icon:"logs",route:"/logs"},{name:"Help",icon:"help",route:"/help"}],fr=Wo(()=>Dn=>E.path===Dn),Tr=Dn=>{s.push(Dn)},wr=async()=>{K.value=!0,te.value=null;try{await R.sendAdvert(),jt.value=!0,setTimeout(()=>{Vr()},2e3)}catch(Dn){te.value=Dn instanceof Error?Dn.message:"Unknown error occurred",console.error("Failed to send advert:",Dn)}finally{K.value=!1}},Vr=()=>{zt.value=!1,jt.value=!1,te.value=null,K.value=!1},fn=async()=>{if(!dt.value){dt.value=!0;try{await R.toggleMode()}catch(Dn){console.error("Failed to toggle mode:",Dn)}finally{dt.value=!1}}},Dt=async()=>{if(!_t.value){_t.value=!0;try{await R.toggleDutyCycle()}catch(Dn){console.error("Failed to toggle duty cycle:",Dn)}finally{_t.value=!1}}},cn=ja(new Date().toLocaleTimeString());setInterval(()=>{cn.value=new Date().toLocaleTimeString()},1e3);const Qn=Wo(()=>{const Dn=R.dutyCyclePercentage;let ei="#A5E5B6";return Dn>90?ei="#FB787B":Dn>70&&(ei="#FFC246"),{width:Dn===0?"2px":`${Math.max(Dn,2)}%`,backgroundColor:ei}});return(Dn,ei)=>(ui(),vi(mu,null,[fe("aside",cet,[fe("div",het,[fe("div",fet,[ei[1]||(ei[1]=fe("div",{class:"mb-2 flex justify-center"},[fe("img",{src:cX,alt:"MeshCore",class:"h-4 opacity-80"})],-1)),ei[2]||(ei[2]=fe("h1",{class:"text-white text-[22px] font-extrabold tracking-tight mb-3 text-center",style:{"font-family":"system-ui, -apple-system, sans-serif"}},"pyMC Repeater",-1)),fe("p",det,[Zu(Ei(Ol(R).nodeName)+" ",1),fe("span",{class:Co(["inline-block w-2 h-2 rounded-full ml-2",Ol(R).statusBadge.text==="Active"?"bg-accent-green":Ol(R).statusBadge.text==="Monitor Mode"?"bg-secondary":"bg-accent-red"]),title:Ol(R).statusBadge.title},null,10,pet)]),fe("p",met,"<"+Ei(Ol(R).pubKey)+">",1)]),ei[11]||(ei[11]=fe("div",{class:"border-t border-dark-border mb-6"},null,-1)),fe("div",get,[ei[4]||(ei[4]=fe("p",{class:"text-dark-text text-xs uppercase mb-4"},"Actions",-1)),fe("button",{onClick:ei[0]||(ei[0]=Ui=>zt.value=!0),class:"w-full bg-white rounded-[10px] py-3 px-4 flex items-center gap-2 text-sm font-medium text-[#212122] hover:bg-gray-100 transition-colors"},ei[3]||(ei[3]=[fe("svg",{class:"w-3.5 h-3.5",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[fe("path",{d:"M7 0C5.61553 0 4.26216 0.410543 3.11101 1.17971C1.95987 1.94888 1.06266 3.04213 0.532846 4.32122C0.003033 5.6003 -0.13559 7.00777 0.134506 8.36563C0.404603 9.7235 1.07129 10.9708 2.05026 11.9497C3.02922 12.9287 4.2765 13.5954 5.63437 13.8655C6.99224 14.1356 8.3997 13.997 9.67879 13.4672C10.9579 12.9373 12.0511 12.0401 12.8203 10.889C13.5895 9.73785 14 8.38447 14 7C13.998 5.1441 13.2599 3.36479 11.9475 2.05247C10.6352 0.74015 8.8559 0.0020073 7 0V0ZM7 12.8333C5.84628 12.8333 4.71846 12.4912 3.75918 11.8502C2.79989 11.2093 2.05222 10.2982 1.61071 9.23232C1.16919 8.16642 1.05368 6.99353 1.27876 5.86197C1.50384 4.73042 2.05941 3.69102 2.87521 2.87521C3.69102 2.0594 4.73042 1.50383 5.86198 1.27875C6.99353 1.05367 8.16642 1.16919 9.23232 1.6107C10.2982 2.05221 11.2093 2.79989 11.8502 3.75917C12.4912 4.71846 12.8333 5.84628 12.8333 7C12.8316 8.54658 12.2165 10.0293 11.1229 11.1229C10.0293 12.2165 8.54658 12.8316 7 12.8333ZM8.16667 7C8.1676 7.20501 8.11448 7.40665 8.01268 7.58461C7.91087 7.76256 7.76397 7.91054 7.58677 8.01365C7.40957 8.11676 7.20833 8.17136 7.00332 8.17194C6.7983 8.17252 6.59675 8.11906 6.41897 8.01696C6.24119 7.91485 6.09346 7.7677 5.99065 7.59033C5.88784 7.41295 5.83358 7.21162 5.83335 7.0066C5.83312 6.80159 5.88691 6.60013 5.98932 6.42252C6.09172 6.24491 6.23912 6.09743 6.41667 5.99492V3.5H7.58334V5.99492C7.76016 6.09659 7.90713 6.24298 8.00952 6.41939C8.1119 6.5958 8.1661 6.79603 8.16667 7Z",fill:"#212122"})],-1),Zu(" Send Advert ",-1)]))]),fe("div",vet,[ei[5]||(ei[5]=fe("p",{class:"text-dark-text text-xs uppercase mb-4"},"Monitoring",-1)),fe("div",yet,[(ui(!0),vi(mu,null,oh(Je.slice(0,3),Ui=>(ui(),vi("button",{key:Ui.name,onClick:Di=>Tr(Ui.route),class:Co([fr.value(Ui.route)?"bg-primary/20 shadow-[0_0_6px_0_rgba(170,232,232,0.20)] text-primary":"text-white hover:bg-white/5","w-full rounded-[10px] py-3 px-4 flex items-center gap-3 text-sm transition-all"])},[(ui(),Y0(d4(Le[Ui.icon]),{class:"w-3.5 h-3.5"})),Zu(" "+Ei(Ui.name),1)],10,xet))),128))])]),fe("div",_et,[ei[6]||(ei[6]=fe("p",{class:"text-dark-text text-xs uppercase mb-4"},"System",-1)),fe("div",bet,[(ui(!0),vi(mu,null,oh(Je.slice(3),Ui=>(ui(),vi("button",{key:Ui.name,onClick:Di=>Tr(Ui.route),class:Co([fr.value(Ui.route)?"bg-primary/20 shadow-[0_0_6px_0_rgba(170,232,232,0.20)] text-primary":"text-white hover:bg-white/5","w-full rounded-[10px] py-3 px-4 flex items-center gap-3 text-sm transition-all"])},[(ui(),Y0(d4(Le[Ui.icon]),{class:"w-3.5 h-3.5"})),Zu(" "+Ei(Ui.name),1)],10,wet))),128))])]),Tl(WO,{"current-value":Ol(R).noiseFloorDbm||-116,"update-interval":3e3,class:"mb-6"},null,8,["current-value"]),fe("button",{onClick:fn,disabled:dt.value,class:Co(["p-4 flex items-center justify-between mb-4 w-full transition-all duration-200 cursor-pointer group",Ol(R).modeButtonState.warning?"glass-card-orange hover:bg-accent-red/10":"glass-card-green hover:bg-accent-green/10"])},[fe("div",Tet,[Tl(QO,{class:"w-4 h-4 text-white group-hover:text-primary transition-colors"}),ei[7]||(ei[7]=fe("span",{class:"text-white text-sm group-hover:text-primary transition-colors"},"Mode",-1))]),fe("span",{class:Co(["text-xs font-medium group-hover:text-white transition-colors",Ol(R).modeButtonState.warning?"text-accent-red":"text-accent-green"])},Ei(dt.value?"Changing...":Ol(R).currentMode.charAt(0).toUpperCase()+Ol(R).currentMode.slice(1)),3)],10,ket),fe("button",{onClick:Dt,disabled:_t.value,class:Co(["p-4 flex items-center justify-between mb-4 w-full transition-all duration-200 cursor-pointer group",Ol(R).dutyCycleButtonState.warning?"glass-card-orange hover:bg-accent-red/10":"glass-card-green hover:bg-accent-green/10"])},[fe("div",Met,[Tl(tD,{class:"w-3.5 h-3.5 text-white group-hover:text-primary transition-colors"}),ei[8]||(ei[8]=fe("span",{class:"text-white text-sm group-hover:text-primary transition-colors"},"Duty Cycle",-1))]),fe("span",{class:Co(["text-xs font-medium group-hover:text-white transition-colors",Ol(R).dutyCycleButtonState.warning?"text-accent-red":"text-primary"])},Ei(_t.value?"Changing...":Ol(R).dutyCycleEnabled?"Enabled":"Disabled"),3)],10,Aet),fe("div",Eet,[fe("div",Cet,[fe("span",Let," R:v"+Ei(Ol(R).version),1),fe("span",Pet," C:v"+Ei(Ol(R).coreVersion),1)])]),ei[12]||(ei[12]=fe("div",{class:"border-t border-accent-green mb-4"},null,-1)),Ol(R).dutyCycleEnabled?(ui(),vi("div",zet,[fe("p",Iet,[ei[9]||(ei[9]=Zu(" Duty Cycle: ",-1)),fe("span",Oet,Ei(Ol(R).dutyCycleUtilization.toFixed(1))+"% / "+Ei(Ol(R).dutyCycleMax.toFixed(1))+"%",1)]),fe("div",Det,[fe("div",{class:"h-full rounded-full transition-all duration-300",style:G0(Qn.value)},null,4)])])):Fo("",!0),fe("div",Fet,[fe("div",Bet,[ei[10]||(ei[10]=fe("svg",{class:"w-3 h-3",viewBox:"0 0 13 13",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[fe("path",{d:"M6.5 13C5.59722 13 4.75174 12.8286 3.96355 12.4858C3.17537 12.143 2.48926 11.6795 1.90522 11.0955C1.32119 10.5115 0.85776 9.82535 0.514945 9.03717C0.172131 8.24898 0.000482491 7.40326 1.0101e-06 6.5C-0.000480471 5.59674 0.171168 4.75126 0.514945 3.96356C0.858723 3.17585 1.32191 2.48974 1.9045 1.90522C2.48709 1.3207 3.1732 0.857278 3.96283 0.514944C4.75246 0.172611 5.59818 0.000962963 6.5 0C7.48703 0 8.42303 0.210648 9.30799 0.631944C10.193 1.05324 10.9421 1.64907 11.5555 2.41944V1.44444C11.5555 1.23981 11.6249 1.06841 11.7635 0.930222C11.9022 0.792037 12.0736 0.722704 12.2778 0.722222C12.4819 0.721741 12.6536 0.791074 12.7927 0.930222C12.9319 1.06937 13.001 1.24078 13 1.44444V4.33333C13 4.53796 12.9307 4.70961 12.792 4.84828C12.6533 4.98694 12.4819 5.05604 12.2778 5.05556H9.38888C9.18425 5.05556 9.01285 4.98622 8.87466 4.84756C8.73647 4.70889 8.66714 4.53748 8.66666 4.33333C8.66618 4.12919 8.73551 3.95778 8.87466 3.81911C9.01381 3.68044 9.18521 3.61111 9.38888 3.61111H10.6528C10.1593 2.93704 9.55138 2.40741 8.82916 2.02222C8.10694 1.63704 7.33055 1.44444 6.5 1.44444C5.09166 1.44444 3.89711 1.93507 2.91633 2.91633C1.93555 3.89759 1.44493 5.09215 1.44444 6.5C1.44396 7.90785 1.93459 9.10265 2.91633 10.0844C3.89807 11.0661 5.09263 11.5565 6.5 11.5556C7.64351 11.5556 8.66666 11.2125 9.56944 10.5264C10.4722 9.84028 11.068 8.95555 11.3569 7.87222C11.4171 7.67963 11.5255 7.53519 11.6819 7.43889C11.8384 7.34259 12.013 7.30648 12.2055 7.33055C12.4102 7.35463 12.5727 7.44178 12.693 7.592C12.8134 7.74222 12.8495 7.90785 12.8014 8.08889C12.4523 9.5213 11.694 10.698 10.5264 11.6191C9.35879 12.5402 8.01666 13.0005 6.5 13ZM7.22222 6.21111L9.02777 8.01667C9.16018 8.14907 9.22638 8.31759 9.22638 8.52222C9.22638 8.72685 9.16018 8.89537 9.02777 9.02778C8.89536 9.16018 8.72685 9.22639 8.52222 9.22639C8.31759 9.22639 8.14907 9.16018 8.01666 9.02778L5.99444 7.00556C5.92222 6.93333 5.86805 6.8522 5.83194 6.76217C5.79583 6.67213 5.77777 6.57872 5.77777 6.48194V3.61111C5.77777 3.40648 5.84711 3.23507 5.98577 3.09689C6.12444 2.9587 6.29585 2.88937 6.5 2.88889C6.70414 2.88841 6.87579 2.95774 7.01494 3.09689C7.15409 3.23604 7.22318 3.40744 7.22222 3.61111V6.21111Z",fill:"currentColor"})],-1)),Zu(" Last Updated: "+Ei(cn.value),1)]),fe("div",Ret,[fe("a",Net,[Tl(QQ,{class:"w-4 h-4 text-dark-text hover:text-white transition-colors"})]),fe("a",jet,[Tl(ntt,{class:"w-4 h-4 text-dark-text hover:text-white transition-colors"})])])])])]),Tl(qO,{isOpen:zt.value,isLoading:K.value,isSuccess:jt.value,error:te.value,onClose:Vr,onSend:wr},null,8,["isOpen","isLoading","isSuccess","error"])],64))}}),Vet={key:0,class:"fixed inset-0 z-40 lg:hidden"},Het={class:"absolute left-0 top-0 bottom-0 w-72 p-4"},Wet={class:"glass-card h-full p-6 overflow-auto"},qet={class:"mb-6 flex items-center justify-between"},$et={class:"text-[#C3C3C3] text-sm"},Zet=["title"],Get={class:"text-[#C3C3C3] text-sm mt-1"},Yet={class:"mb-4"},Ket={class:"mb-4"},Xet={class:"space-y-2 mb-3"},Jet=["onClick"],Qet={class:"mb-4"},trt={class:"space-y-2 mb-3"},ert=["onClick"],rrt=["disabled"],nrt={class:"flex items-center gap-3"},irt=["disabled"],art={class:"flex items-center gap-3"},ort={class:"mb-4"},srt={class:"flex items-center gap-2"},lrt={class:"glass-card px-2 py-1 text-dark-text text-xs font-medium rounded border border-dark-border"},urt={class:"glass-card px-2 py-1 text-dark-text text-xs font-medium rounded border border-dark-border"},crt={key:0,class:"mb-4"},hrt={class:"text-dark-text text-xs mb-2"},frt={class:"text-white"},drt={class:"w-full h-1 bg-white/10 rounded-full overflow-hidden"},prt={class:"text-dark-text text-xs"},mrt=Ec({name:"MobileSidebar",__name:"MobileSidebar",props:{showMobileSidebar:{type:Boolean}},emits:["update:showMobileSidebar"],setup(d,{emit:s}){const E=s,R=yO(),K=xO(),dt=Dm(),_t=ja(!1),zt=ja(!1),jt=ja(!1),te=ja(!1),se=ja(!1),Le=ja(null);let Je=null;op(async()=>{Je=await dt.startAutoRefresh(5e3)}),Oy(()=>{Je&&Je()});const fr={dashboard:ZO,neighbors:JO,statistics:KO,"system-stats":XO,configuration:$O,logs:YO,help:GO},Tr=[{name:"Dashboard",icon:"dashboard",route:"/"},{name:"Neighbors",icon:"neighbors",route:"/neighbors"},{name:"Statistics",icon:"statistics",route:"/statistics"},{name:"System Stats",icon:"system-stats",route:"/system-stats"},{name:"Configuration",icon:"configuration",route:"/configuration"},{name:"Logs",icon:"logs",route:"/logs"},{name:"Help",icon:"help",route:"/help"}],wr=Wo(()=>Di=>K.path===Di),Vr=Di=>{R.push(Di),fn()},fn=()=>{E("update:showMobileSidebar",!1)},Dt=async()=>{_t.value=!0,Le.value=null;try{await dt.sendAdvert(),se.value=!0,setTimeout(()=>{cn()},2e3)}catch(Di){Le.value=Di instanceof Error?Di.message:"Unknown error occurred",console.error("Failed to send advert:",Di)}finally{_t.value=!1}},cn=()=>{te.value=!1,se.value=!1,Le.value=null,_t.value=!1},Qn=async()=>{if(!zt.value){zt.value=!0;try{await dt.toggleMode()}catch(Di){console.error("Failed to toggle mode:",Di)}finally{zt.value=!1}}},Dn=async()=>{if(!jt.value){jt.value=!0;try{await dt.toggleDutyCycle()}catch(Di){console.error("Failed to toggle duty cycle:",Di)}finally{jt.value=!1}}},ei=ja(new Date().toLocaleTimeString());setInterval(()=>{ei.value=new Date().toLocaleTimeString()},1e3);const Ui=Wo(()=>{const Di=dt.dutyCyclePercentage;let qr="#A5E5B6";return Di>90?qr="#FB787B":Di>70&&(qr="#FFC246"),{width:Di===0?"2px":`${Math.max(Di,2)}%`,backgroundColor:qr}});return(Di,qr)=>(ui(),vi(mu,null,[Di.showMobileSidebar?(ui(),vi("div",Vet,[fe("div",{class:"absolute inset-0 bg-black/50",onClick:fn}),fe("div",Het,[fe("div",Wet,[fe("div",qet,[fe("div",null,[qr[1]||(qr[1]=fe("h1",{class:"text-white text-[20px] font-bold"},"pyMC Repeater",-1)),fe("p",$et,[Zu(Ei(Ol(dt).nodeName)+" ",1),fe("span",{class:Co(["inline-block w-2 h-2 rounded-full ml-2",Ol(dt).statusBadge.text==="Active"?"bg-accent-green":Ol(dt).statusBadge.text==="Monitor Mode"?"bg-secondary":"bg-accent-red"]),title:Ol(dt).statusBadge.title},null,10,Zet)]),fe("p",Get,"<"+Ei(Ol(dt).pubKey)+">",1)]),fe("button",{onClick:fn,class:"text-dark-text"},"✕")]),qr[9]||(qr[9]=fe("div",{class:"border-t border-dark-border mb-4"},null,-1)),fe("div",Yet,[qr[3]||(qr[3]=fe("p",{class:"text-dark-text text-xs uppercase mb-2"},"Actions",-1)),fe("button",{onClick:qr[0]||(qr[0]=Si=>te.value=!0),class:"w-full bg-white rounded-[10px] py-3 px-4 flex items-center gap-2 text-sm font-medium text-[#212122] hover:bg-gray-100 transition-colors mb-2"},qr[2]||(qr[2]=[fe("svg",{class:"w-3.5 h-3.5",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[fe("path",{d:"M7 0C5.61553 0 4.26216 0.410543 3.11101 1.17971C1.95987 1.94888 1.06266 3.04213 0.532846 4.32122C0.003033 5.6003 -0.13559 7.00777 0.134506 8.36563C0.404603 9.7235 1.07129 10.9708 2.05026 11.9497C3.02922 12.9287 4.2765 13.5954 5.63437 13.8655C6.99224 14.1356 8.3997 13.997 9.67879 13.4672C10.9579 12.9373 12.0511 12.0401 12.8203 10.889C13.5895 9.73785 14 8.38447 14 7C13.998 5.1441 13.2599 3.36479 11.9475 2.05247C10.6352 0.74015 8.8559 0.0020073 7 0V0ZM7 12.8333C5.84628 12.8333 4.71846 12.4912 3.75918 11.8502C2.79989 11.2093 2.05222 10.2982 1.61071 9.23232C1.16919 8.16642 1.05368 6.99353 1.27876 5.86197C1.50384 4.73042 2.05941 3.69102 2.87521 2.87521C3.69102 2.0594 4.73042 1.50383 5.86198 1.27875C6.99353 1.05367 8.16642 1.16919 9.23232 1.6107C10.2982 2.05221 11.2093 2.79989 11.8502 3.75917C12.4912 4.71846 12.8333 5.84628 12.8333 7C12.8316 8.54658 12.2165 10.0293 11.1229 11.1229C10.0293 12.2165 8.54658 12.8316 7 12.8333ZM8.16667 7C8.1676 7.20501 8.11448 7.40665 8.01268 7.58461C7.91087 7.76256 7.76397 7.91054 7.58677 8.01365C7.40957 8.11676 7.20833 8.17136 7.00332 8.17194C6.7983 8.17252 6.59675 8.11906 6.41897 8.01696C6.24119 7.91485 6.09346 7.7677 5.99065 7.59033C5.88784 7.41295 5.83358 7.21162 5.83335 7.0066C5.83312 6.80159 5.88691 6.60013 5.98932 6.42252C6.09172 6.24491 6.23912 6.09743 6.41667 5.99492V3.5H7.58334V5.99492C7.76016 6.09659 7.90713 6.24298 8.00952 6.41939C8.1119 6.5958 8.1661 6.79603 8.16667 7Z",fill:"#212122"})],-1),Zu(" Send Advert ",-1)]))]),fe("div",Ket,[qr[4]||(qr[4]=fe("p",{class:"text-dark-text text-xs uppercase mb-2"},"Monitoring",-1)),fe("div",Xet,[(ui(!0),vi(mu,null,oh(Tr.slice(0,3),Si=>(ui(),vi("button",{key:Si.name,onClick:jn=>Vr(Si.route),class:Co([wr.value(Si.route)?"bg-primary/20 shadow-[0_0_6px_0_rgba(170,232,232,0.20)] text-primary":"text-white hover:bg-white/5","w-full rounded-[10px] py-3 px-4 flex items-center gap-3 text-sm transition-all"])},[(ui(),Y0(d4(fr[Si.icon]),{class:"w-3.5 h-3.5"})),Zu(" "+Ei(Si.name),1)],10,Jet))),128))])]),fe("div",Qet,[qr[5]||(qr[5]=fe("p",{class:"text-dark-text text-xs uppercase mb-2"},"System",-1)),fe("div",trt,[(ui(!0),vi(mu,null,oh(Tr.slice(3),Si=>(ui(),vi("button",{key:Si.name,onClick:jn=>Vr(Si.route),class:Co([wr.value(Si.route)?"bg-primary/20 shadow-[0_0_6px_0_rgba(170,232,232,0.20)] text-primary":"text-white hover:bg-white/5","w-full rounded-[10px] py-3 px-4 flex items-center gap-3 text-sm transition-all"])},[(ui(),Y0(d4(fr[Si.icon]),{class:"w-3.5 h-3.5"})),Zu(" "+Ei(Si.name),1)],10,ert))),128))])]),Tl(WO,{"current-value":Ol(dt).noiseFloorDbm||-116,"update-interval":3e3,class:"mb-4"},null,8,["current-value"]),fe("button",{onClick:Qn,disabled:zt.value,class:Co(["p-4 flex items-center justify-between mb-3 w-full transition-all duration-200 cursor-pointer group",Ol(dt).modeButtonState.warning?"glass-card-orange hover:bg-accent-red/10":"glass-card-green hover:bg-accent-green/10"])},[fe("div",nrt,[Tl(QO,{class:"w-4 h-4 text-white group-hover:text-primary transition-colors"}),qr[6]||(qr[6]=fe("span",{class:"text-white text-sm group-hover:text-primary transition-colors"},"Mode",-1))]),fe("span",{class:Co(["text-xs font-medium group-hover:text-white transition-colors",Ol(dt).modeButtonState.warning?"text-accent-red":"text-accent-green"])},Ei(zt.value?"Changing...":Ol(dt).currentMode.charAt(0).toUpperCase()+Ol(dt).currentMode.slice(1)),3)],10,rrt),fe("button",{onClick:Dn,disabled:jt.value,class:Co(["p-4 flex items-center justify-between mb-3 w-full transition-all duration-200 cursor-pointer group",Ol(dt).dutyCycleButtonState.warning?"glass-card-orange hover:bg-accent-red/10":"glass-card-green hover:bg-accent-green/10"])},[fe("div",art,[Tl(tD,{class:"w-3.5 h-3.5 text-white group-hover:text-primary transition-colors"}),qr[7]||(qr[7]=fe("span",{class:"text-white text-sm group-hover:text-primary transition-colors"},"Duty Cycle",-1))]),fe("span",{class:Co(["text-xs font-medium group-hover:text-white transition-colors",Ol(dt).dutyCycleButtonState.warning?"text-accent-red":"text-primary"])},Ei(jt.value?"Changing...":Ol(dt).dutyCycleEnabled?"Enabled":"Disabled"),3)],10,irt),fe("div",ort,[fe("div",srt,[fe("span",lrt," R:v"+Ei(Ol(dt).version),1),fe("span",urt," C:v"+Ei(Ol(dt).coreVersion),1)])]),qr[10]||(qr[10]=fe("div",{class:"border-t border-accent-green mb-4"},null,-1)),Ol(dt).dutyCycleEnabled?(ui(),vi("div",crt,[fe("p",hrt,[qr[8]||(qr[8]=Zu(" Duty Cycle: ",-1)),fe("span",frt,Ei(Ol(dt).dutyCycleUtilization.toFixed(1))+"% / "+Ei(Ol(dt).dutyCycleMax.toFixed(1))+"%",1)]),fe("div",drt,[fe("div",{class:"h-full rounded-full transition-all duration-300",style:G0(Ui.value)},null,4)])])):Fo("",!0),fe("p",prt,"Last Updated: "+Ei(ei.value),1)])])])):Fo("",!0),Tl(qO,{isOpen:te.value,isLoading:_t.value,isSuccess:se.value,error:Le.value,onClose:cn,onSend:Dt},null,8,["isOpen","isLoading","isSuccess","error"])],64))}}),grt={class:"glass-card p-3 sm:p-6 mb-5 rounded-[20px] relative z-10"},vrt={class:"flex justify-between"},yrt={class:"flex items-start gap-3"},xrt={class:"text-right mr-2 sm:mr-4"},_rt={key:0,class:"flex items-center gap-2"},brt={key:1,class:"space-y-1"},wrt={class:"text-dark-text text-xs sm:text-sm"},krt={class:"text-primary font-medium"},Trt={key:0,class:"text-xs text-dark-text/80"},Art={key:0},Mrt={key:1,class:"text-xs text-dark-text/60 hidden sm:block"},Srt={key:2},Ert={key:0,class:"text-xs text-dark-text/60 hidden sm:block"},Crt=["disabled"],Lrt={class:"flex items-center justify-between mb-3"},Prt={class:"flex items-center gap-2"},zrt=["disabled"],Irt=["disabled"],Ort={class:"space-y-3 text-sm"},Drt={key:0,class:"bg-[#0B1014] p-3 rounded-lg border border-accent-red/30 border-l-2 border-l-accent-red"},Frt={class:"flex items-center justify-between"},Brt={class:"text-accent-red font-bold"},Rrt={class:"text-xs text-gray-400 mt-1"},Nrt={key:1,class:"bg-[#0B1014] p-3 rounded-lg border border-white/10 border-l-2 border-l-accent-green"},jrt={class:"flex items-center justify-between"},Urt={class:"text-accent-green font-bold"},Vrt={key:0,class:"text-xs text-gray-400 mt-1"},Hrt={key:2,class:"bg-[#0B1014] p-3 rounded-lg border border-white/10"},Wrt={key:3,class:"bg-[#0B1014] p-3 rounded-lg border border-accent-red/30 border-l-2 border-l-accent-red"},qrt={class:"text-xs text-gray-400"},$rt={class:"bg-[#0B1014] p-3 rounded-lg border border-white/10 border-l-2 border-l-primary"},Zrt={class:"flex items-center justify-between"},Grt={class:"text-primary font-bold"},Yrt={key:0,class:"text-xs text-gray-400 mt-1"},Krt={class:"flex items-center justify-between"},Xrt={class:"text-white font-medium"},Jrt={key:0,class:"mt-2"},Qrt={class:"text-xs text-gray-400"},tnt={class:"text-gray-300"},ent={key:4,class:"bg-[#0B1014] p-4 rounded-lg border border-white/10 text-center"},rnt={key:5,class:"bg-[#0B1014] p-3 rounded-lg border border-white/10 text-center"},nnt=Ec({name:"TopBar",__name:"TopBar",emits:["toggleMobileSidebar"],setup(d,{emit:s}){const E=s,R=Dm(),K=ja(!1),dt=ja(null),_t=ja({hasUpdate:!1,currentVersion:"",latestVersion:"",isChecking:!1,lastChecked:null,error:null}),zt=ja({}),jt=ja(!0),te=ja(null),se=["Chat Node","Repeater","Room Server"];function Le(Di){const qr=Di.target;dt.value&&!dt.value.contains(qr)&&(K.value=!1)}const Je=async()=>{try{jt.value=!0;const Di={};for(const qr of se)try{const Si=await ah.get(`/adverts_by_contact_type?contact_type=${encodeURIComponent(qr)}&hours=168`);Si.success&&Array.isArray(Si.data)?Di[qr]=Si.data:Di[qr]=[]}catch(Si){console.error(`Error fetching ${qr} nodes:`,Si),Di[qr]=[]}zt.value=Di,te.value=new Date}catch(Di){console.error("Error updating tracked nodes:",Di)}finally{jt.value=!1}},fr=async()=>{if(!_t.value.isChecking)try{_t.value.isChecking=!0,_t.value.error=null,await R.fetchStats();const Di=R.version;if(!Di||Di==="Unknown"){_t.value.error="Unable to determine current version";return}const Si=await fetch("https://raw.githubusercontent.com/rightup/pyMC_Repeater/main/repeater/__init__.py");if(!Si.ok)throw new Error(`GitHub request failed: ${Si.status}`);const oi=(await Si.text()).match(/__version__\s*=\s*["']([^"']+)["']/);if(!oi)throw new Error("Could not parse version from GitHub file");const Vn=oi[1];_t.value.currentVersion=Di,_t.value.latestVersion=Vn,_t.value.lastChecked=new Date,_t.value.hasUpdate=Di!==Vn}catch(Di){console.error("Error checking for updates:",Di),_t.value.error=Di instanceof Error?Di.message:"Failed to check for updates"}finally{_t.value.isChecking=!1}},Tr=Wo(()=>Object.values(zt.value).reduce((qr,Si)=>qr+Si.length,0)),wr=Wo(()=>se.map(qr=>({type:qr,count:zt.value[qr]?.length||0})).filter(qr=>qr.count>0)),Vr=Wo(()=>_t.value.hasUpdate||Tr.value>0),fn=Di=>({"Chat Node":"text-blue-400",Repeater:"text-accent-green","Room Server":"text-accent-purple"})[Di]||"text-gray-400",Dt=Di=>{const qr=zt.value[Di]||[];return qr.length===0?"None":qr.reduce((jn,oi)=>oi.last_seen>jn.last_seen?oi:jn,qr[0]).node_name||"Unknown Node"};let cn=null,Qn=null;const Dn=()=>{cn&&clearInterval(cn),cn=setInterval(()=>{Je()},3e4),Qn&&clearInterval(Qn),Qn=setInterval(()=>{fr()},6e5)},ei=()=>{cn&&(clearInterval(cn),cn=null),Qn&&(clearInterval(Qn),Qn=null)};op(()=>{document.addEventListener("click",Le),Je(),fr(),Dn()}),Im(()=>{document.removeEventListener("click",Le),ei()});const Ui=()=>{E("toggleMobileSidebar")};return(Di,qr)=>(ui(),vi("div",grt,[fe("div",vrt,[fe("div",{class:"flex items-center gap-3"},[fe("button",{onClick:Ui,class:"lg:hidden w-10 h-10 rounded bg-[#1A1E1F] flex items-center justify-center hover:bg-[#2A2E2F] transition-colors"},qr[2]||(qr[2]=[fe("svg",{class:"w-5 h-5 text-white",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[fe("path",{d:"M3 6h14M3 10h14M3 14h14",stroke:"white","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])),qr[3]||(qr[3]=fe("div",{class:"hidden sm:block"},[fe("h1",{class:"text-white text-2xl lg:text-[35px] font-bold mb-1 sm:mb-2"},"Welcome👋")],-1))]),fe("div",yrt,[fe("div",xrt,[jt.value?(ui(),vi("div",_rt,qr[4]||(qr[4]=[fe("div",{class:"animate-spin rounded-full h-3 w-3 border-b-2 border-primary"},null,-1),fe("p",{class:"text-dark-text text-xs sm:text-sm"},"Loading...",-1)]))):Tr.value>0?(ui(),vi("div",brt,[fe("p",wrt,[qr[5]||(qr[5]=Zu(" Tracking: ",-1)),fe("span",krt,Ei(Tr.value)+" node"+Ei(Tr.value===1?"":"s"),1)]),wr.value.length>0?(ui(),vi("div",Trt,[(ui(!0),vi(mu,null,oh(wr.value,(Si,jn)=>(ui(),vi("span",{key:Si.type,class:"inline"},[Zu(Ei(Si.count)+" "+Ei(Si.type)+Ei(Si.count===1?"":"s"),1),jnK.value=!K.value,["stop"])),class:"w-[35px] h-[35px] rounded bg-[#1A1E1F] flex items-center justify-center hover:bg-[#2A2E2F] transition-colors relative"},[qr[8]||(qr[8]=fe("svg",{class:"w-5 h-5",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[fe("path",{d:"M12.5 14.1667V15C12.5 16.3807 11.3807 17.5 9.99998 17.5C8.61927 17.5 7.49998 16.3807 7.49998 15V14.1667M12.5 14.1667L7.49998 14.1667M12.5 14.1667H15.8333C16.2936 14.1667 16.6666 13.7936 16.6666 13.3333V12.845C16.6666 12.624 16.5788 12.4122 16.4225 12.2559L15.9969 11.8302C15.8921 11.7255 15.8333 11.5833 15.8333 11.4351V8.33333C15.8333 8.1863 15.828 8.04045 15.817 7.89674M7.49998 14.1667L4.16665 14.1668C3.70641 14.1668 3.33331 13.7934 3.33331 13.3332V12.8451C3.33331 12.6241 3.42118 12.4124 3.57745 12.2561L4.00307 11.8299C4.10781 11.7251 4.16665 11.5835 4.16665 11.4353V8.33331C4.16665 5.11167 6.77831 2.5 9.99998 2.5C10.593 2.5 11.1653 2.58848 11.7045 2.75297M15.817 7.89674C16.8223 7.32275 17.5 6.24051 17.5 5C17.5 3.15905 16.0076 1.66666 14.1666 1.66666C13.1914 1.66666 12.3141 2.08544 11.7045 2.75297M15.817 7.89674C15.3304 8.17457 14.7671 8.33333 14.1666 8.33333C12.3257 8.33333 10.8333 6.84095 10.8333 5C10.8333 4.13425 11.1634 3.34558 11.7045 2.75297M15.817 7.89674C15.817 7.89674 15.817 7.89675 15.817 7.89674ZM11.7045 2.75297C11.7049 2.75309 11.7053 2.75321 11.7057 2.75333",stroke:"white","stroke-linecap":"round","stroke-linejoin":"round"})],-1)),Vr.value?(ui(),vi("span",{key:0,class:Co(["absolute top-2 right-2 w-2 h-2 rounded-full",_t.value.hasUpdate?"bg-accent-red animate-pulse":"bg-primary"])},null,2)):Fo("",!0)]),K.value?(ui(),vi("div",{key:0,ref_key:"notifRef",ref:dt,class:"absolute right-6 top-14 z-[100] w-80 bg-[#1A1E1F] border border-white/20 rounded-[15px] p-4 shadow-2xl backdrop-blur-sm",onClick:qr[1]||(qr[1]=Pm(()=>{},["stop"]))},[fe("div",Lrt,[qr[10]||(qr[10]=fe("p",{class:"text-white font-semibold"},"System Status",-1)),fe("div",Prt,[fe("button",{onClick:fr,disabled:_t.value.isChecking,class:"text-xs text-primary hover:text-primary/80 disabled:opacity-50",title:"Check for updates"},Ei(_t.value.isChecking?"Checking...":"Check Updates"),9,zrt),qr[9]||(qr[9]=fe("span",{class:"text-dark-text text-xs"},"•",-1)),fe("button",{onClick:Je,disabled:jt.value,class:"text-xs text-primary hover:text-primary/80 disabled:opacity-50"},Ei(jt.value?"Updating...":"Refresh"),9,Irt)])]),fe("div",Ort,[_t.value.hasUpdate?(ui(),vi("div",Drt,[fe("div",Frt,[qr[11]||(qr[11]=fe("span",{class:"text-white font-medium"},"Update Available",-1)),fe("span",Brt,Ei(_t.value.latestVersion),1)]),fe("div",Rrt," Current: "+Ei(_t.value.currentVersion),1),qr[12]||(qr[12]=fe("div",{class:"text-xs text-gray-300 mt-2"},[fe("a",{href:"https://github.com/rightup/pyMC_Repeater",target:"_blank",class:"text-accent-red hover:text-accent-red/80 underline"}," Goto Github→ ")],-1))])):_t.value.currentVersion&&!_t.value.isChecking?(ui(),vi("div",Nrt,[fe("div",jrt,[qr[13]||(qr[13]=fe("span",{class:"text-white font-medium"},"Up to Date",-1)),fe("span",Urt,Ei(_t.value.currentVersion),1)]),_t.value.lastChecked?(ui(),vi("div",Vrt," Last checked: "+Ei(_t.value.lastChecked.toLocaleTimeString()),1)):Fo("",!0)])):_t.value.isChecking?(ui(),vi("div",Hrt,qr[14]||(qr[14]=[fe("div",{class:"flex items-center justify-center gap-2"},[fe("div",{class:"animate-spin rounded-full h-4 w-4 border-b-2 border-primary"}),fe("span",{class:"text-gray-300"},"Checking for updates...")],-1)]))):_t.value.error?(ui(),vi("div",Wrt,[qr[15]||(qr[15]=fe("div",{class:"text-white font-medium mb-1"},"Update Check Failed",-1)),fe("div",qrt,Ei(_t.value.error),1)])):Fo("",!0),qr[20]||(qr[20]=fe("div",{class:"border-t border-white/10"},null,-1)),qr[21]||(qr[21]=fe("div",{class:"text-white font-medium text-sm mb-2"},"Mesh Network Status",-1)),fe("div",$rt,[fe("div",Zrt,[qr[16]||(qr[16]=fe("span",{class:"text-white font-medium"},"Total Tracked Nodes",-1)),fe("span",Grt,Ei(Tr.value),1)]),te.value?(ui(),vi("div",Yrt," Last updated: "+Ei(te.value.toLocaleString()),1)):Fo("",!0)]),(ui(!0),vi(mu,null,oh(wr.value,Si=>(ui(),vi("div",{key:Si.type,class:"bg-[#0B1014] p-3 rounded-lg border border-white/10"},[fe("div",Krt,[fe("span",Xrt,Ei(Si.type)+Ei(Si.count===1?"":"s"),1),fe("span",{class:Co([fn(Si.type),"font-bold"])},Ei(Si.count),3)]),zt.value[Si.type]?.length>0?(ui(),vi("div",Jrt,[fe("div",Qrt,[qr[17]||(qr[17]=Zu(" Latest: ",-1)),fe("span",tnt,Ei(Dt(Si.type)),1)])])):Fo("",!0)]))),128)),Tr.value===0&&!jt.value?(ui(),vi("div",ent,qr[18]||(qr[18]=[fe("div",{class:"text-gray-400"},[fe("svg",{class:"w-8 h-8 mx-auto mb-2 opacity-50",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[fe("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9.172 16.172a4 4 0 015.656 0M9 12h6m-6-4h6m2 5.291A7.962 7.962 0 0112 15c-2.034 0-3.9.785-5.291 2.09M15 12a3 3 0 11-6 0 3 3 0 016 0z"})]),fe("span",null,"No mesh nodes detected")],-1)]))):Fo("",!0),jt.value?(ui(),vi("div",rnt,qr[19]||(qr[19]=[fe("div",{class:"flex items-center justify-center gap-2"},[fe("div",{class:"animate-spin rounded-full h-4 w-4 border-b-2 border-primary"}),fe("span",{class:"text-gray-300"},"Scanning mesh network...")],-1)]))):Fo("",!0)])],512)):Fo("",!0)])])]))}}),int=Bf(nnt,[["__scopeId","data-v-8d292d51"]]),ant={class:"min-h-screen bg-dark-bg overflow-hidden relative font-sans"},ont={class:"relative flex min-h-screen"},snt={class:"flex-1 p-4 lg:p-[15px] overflow-y-auto"},lnt=Ec({name:"DashboardLayout",__name:"DashboardLayout",setup(d){const s=ja(!1),E=()=>{s.value=!s.value},R=()=>{s.value=!1};return(K,dt)=>{const _t=eM("router-view");return ui(),vi("div",ant,[dt[1]||(dt[1]=fe("div",{class:"absolute rounded-full -rotate-[24.22deg] w-[705px] h-[512px] bg-gradient-to-b from-cyan-400/25 to-cyan-200/10 blur-[120px] opacity-80 -top-[79px] left-[575px] mix-blend-screen pointer-events-none"},null,-1)),dt[2]||(dt[2]=fe("div",{class:"absolute rounded-full -rotate-[24.22deg] w-[705px] h-[512px] bg-gradient-to-b from-cyan-400/25 to-cyan-200/10 blur-[120px] opacity-75 -top-[94px] -left-[92px] mix-blend-screen pointer-events-none"},null,-1)),dt[3]||(dt[3]=fe("div",{class:"absolute rounded-full -rotate-[24.22deg] w-[705px] h-[512px] bg-gradient-to-b from-cyan-400/25 to-cyan-200/10 blur-[120px] opacity-80 top-[373px] left-[246px] mix-blend-screen pointer-events-none"},null,-1)),fe("div",ont,[Tl(Uet,{class:"hidden lg:block"}),Tl(mrt,{showMobileSidebar:s.value,"onUpdate:showMobileSidebar":dt[0]||(dt[0]=zt=>s.value=zt),onClose:R},null,8,["showMobileSidebar"]),fe("main",snt,[Tl(int,{onToggleMobileSidebar:E}),Tl(_t)])])])}}}),unt=Ec({__name:"App",setup(d){return(s,E)=>(ui(),Y0(lnt))}}),cnt={class:"sparkline-container"},hnt={class:"text-white text-sm font-semibold mb-4"},fnt={class:"flex items-end gap-4"},dnt=["id","width","height","viewBox"],pnt=["id"],mnt=["stop-color"],gnt=["stop-color"],vnt=["d","fill"],ynt=["d","stroke"],xnt=["cx","cy","fill"],_nt=Ec({name:"SparklineChart",__name:"Sparkline",props:{title:{},value:{},color:{},data:{default:()=>[]},width:{default:131},height:{default:37},animate:{type:Boolean,default:!0},showChart:{type:Boolean,default:!0}},setup(d){const s=d,E=Wo(()=>{if(s.data&&s.data.length>0)return s.data;const _t=typeof s.value=="number"?s.value:10,zt=20,jt=_t*.3;return Array.from({length:zt},(te,se)=>{const Le=Math.sin(se/zt*Math.PI*2)*jt*.5,Je=(Math.random()-.5)*jt*.3;return Math.max(0,_t+Le+Je)})}),R=Wo(()=>{const _t=E.value;if(_t.length<2)return"";const zt=Math.max(..._t),jt=Math.min(..._t),te=zt-jt||1,se=s.width/(_t.length-1);let Le="";return _t.forEach((Je,fr)=>{const Tr=fr*se,wr=s.height-(Je-jt)/te*s.height;if(fr===0)Le+=`M ${Tr} ${wr}`;else{const fn=((fr-1)*se+Tr)/2;Le+=` Q ${fn} ${wr} ${Tr} ${wr}`}}),Le}),K=ja("");op(()=>{K.value=R.value}),Em(()=>s.data,(_t,zt)=>{const jt=!zt||_t.length!==zt.length||Math.abs(_t.length-zt.length)>5;s.animate&&jt?(K.value="",setTimeout(()=>{K.value=R.value},50)):K.value=R.value});const dt=Wo(()=>`sparkline-${s.title.replace(/\s+/g,"-").toLowerCase()}`);return(_t,zt)=>(ui(),vi("div",cnt,[fe("p",hnt,Ei(_t.title),1),fe("div",fnt,[fe("span",{class:"text-[30px] font-bold",style:G0({color:_t.color})},[Zu(Ei(_t.value),1),IY(_t.$slots,"unit",{},void 0)],4),_t.showChart?(ui(),vi("svg",{key:0,id:dt.value,class:"mb-3 sparkline-svg",width:_t.width,height:_t.height,viewBox:`0 0 ${_t.width} ${_t.height}`,fill:"none",xmlns:"http://www.w3.org/2000/svg"},[fe("defs",null,[fe("linearGradient",{id:`gradient-${dt.value}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},[fe("stop",{offset:"0%","stop-color":_t.color,"stop-opacity":"0.3"},null,8,mnt),fe("stop",{offset:"100%","stop-color":_t.color,"stop-opacity":"0.1"},null,8,gnt)],8,pnt)]),fe("path",{d:`${K.value} L ${_t.width} ${_t.height} L 0 ${_t.height} Z`,fill:`url(#gradient-${dt.value})`,class:"sparkline-fill"},null,8,vnt),fe("path",{d:K.value,stroke:_t.color,"stroke-width":"2",fill:"none","stroke-linecap":"round","stroke-linejoin":"round",class:Co(["sparkline-path",{"animate-draw":_t.animate}])},null,10,ynt),E.value.length>0?(ui(),vi("circle",{key:0,cx:_t.width,cy:_t.height-(E.value[E.value.length-1]-Math.min(...E.value))/(Math.max(...E.value)-Math.min(...E.value)||1)*_t.height,r:"2",fill:_t.color,class:Co(["sparkline-dot",{"animate-pulse":_t.animate}])},null,10,xnt)):Fo("",!0)],8,dnt)):Fo("",!0)])]))}}),pg=Bf(_nt,[["__scopeId","data-v-574bf55e"]]),bnt={class:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4 mb-5"},wnt=Ec({name:"StatsCards",__name:"StatsCards",setup(d){const s=sw(),E=ja(null),R=Wo(()=>{const _t=s.packetStats,zt=s.systemStats,jt=te=>{const se=Math.floor(te/86400),Le=Math.floor(te%86400/3600),Je=Math.floor(te%3600/60);return se>0?`${se}d ${Le}h`:Le>0?`${Le}h ${Je}m`:`${Je}m`};return{packetsReceived:_t?.total_packets||0,packetsForwarded:_t?.transmitted_packets||0,uptimeFormatted:zt?jt(zt.uptime_seconds||0):"0m",uptimeHours:zt?Math.floor((zt.uptime_seconds||0)/3600):0,droppedPackets:_t?.dropped_packets||0,signalQuality:Math.round((_t?.avg_rssi||0)+120)}}),K=Wo(()=>s.sparklineData),dt=async()=>{try{await Promise.all([s.fetchSystemStats(),s.fetchPacketStats({hours:24})])}catch(_t){console.error("Error fetching stats:",_t)}};return op(()=>{dt(),E.value=window.setInterval(dt,5e3)}),Im(()=>{E.value&&clearInterval(E.value)}),(_t,zt)=>(ui(),vi("div",bnt,[Tl(pg,{title:"RX Packets",value:R.value.packetsReceived,color:"#AAE8E8",data:K.value.totalPackets},null,8,["value","data"]),Tl(pg,{title:"Forward",value:R.value.packetsForwarded,color:"#FFC246",data:K.value.transmittedPackets},null,8,["value","data"]),Tl(pg,{title:"Up Time",value:R.value.uptimeFormatted,color:"#EBA0FC",data:[],showChart:!1},null,8,["value"]),Tl(pg,{title:"Dropped",value:R.value.droppedPackets,color:"#FB787B",data:K.value.droppedPackets},null,8,["value","data"])]))}}),knt={class:"glass-card rounded-[10px] p-6"},Tnt={class:"h-80 relative"},Ant={key:0,class:"absolute inset-0 flex items-center justify-center"},Mnt={key:1,class:"absolute inset-0 flex items-center justify-center"},Snt={class:"text-red-400"},Ent={key:2,class:"absolute inset-0 flex items-center justify-center"},Cnt={key:3,class:"h-full flex items-end justify-around gap-2 px-4"},Lnt={class:"relative w-full h-64 flex flex-col justify-end"},Pnt={class:"text-white text-xs font-semibold drop-shadow-lg backdrop-blur-sm bg-black/20 px-2 py-0.5 rounded-md border border-white/10"},znt={class:"mt-2 text-center"},Int={class:"text-white text-xs font-medium leading-tight"},Ont={key:0,class:"mt-4 text-sm text-white text-center"},Dnt=Ec({name:"SignalQualityChart",__name:"SignalQualityChart",setup(d){const s=ja([]),E=ja(null),R=ja(!0),K=ja(null),dt=["rgba(59, 130, 246, 0.8)","rgba(16, 185, 129, 0.8)","rgba(139, 92, 246, 0.8)","rgba(245, 158, 11, 0.8)","rgba(239, 68, 68, 0.8)","rgba(6, 182, 212, 0.8)","rgba(249, 115, 22, 0.8)","rgba(132, 204, 22, 0.8)","rgba(236, 72, 153, 0.8)","rgba(107, 114, 128, 0.8)"],_t=async()=>{try{K.value=null;const jt=await ah.get("/packet_type_graph_data");if(jt?.success&&jt?.data){const te=jt.data;if(te?.series){const se=[];te.series.forEach((Le,Je)=>{let fr=0;Le.data&&Array.isArray(Le.data)&&(fr=Le.data.reduce((Tr,wr)=>Tr+(wr[1]||0),0)),fr>0&&se.push({name:Le.name||`Type ${Le.type}`,type:Le.type,count:fr,color:dt[Je%dt.length]})}),se.sort((Le,Je)=>Je.count-Le.count),s.value=se,R.value=!1}else console.error("No series data found in response"),K.value="No series data in server response",R.value=!1}else console.error("Invalid API response structure:",jt),K.value="Invalid response from server",R.value=!1}catch(jt){console.error("Failed to fetch packet type data:",jt),K.value=jt instanceof Error?jt.message:"Failed to load data",R.value=!1}},zt=jt=>{if(s.value.length===0)return 0;const te=Math.max(...s.value.map(se=>se.count));return Math.max(jt/te*100,2)};return op(()=>{_t(),E.value=setInterval(()=>{_t()},3e4)}),Im(()=>{E.value&&clearInterval(E.value)}),(jt,te)=>(ui(),vi("div",knt,[te[2]||(te[2]=fe("h3",{class:"text-white text-xl font-semibold mb-4"},"Packet Types",-1)),te[3]||(te[3]=fe("p",{class:"text-white text-sm uppercase mb-4"},"Distribution by Type",-1)),fe("div",Tnt,[R.value?(ui(),vi("div",Ant,te[0]||(te[0]=[fe("div",{class:"text-white"},"Loading packet types...",-1)]))):K.value?(ui(),vi("div",Mnt,[fe("div",Snt,Ei(K.value),1)])):s.value.length===0?(ui(),vi("div",Ent,te[1]||(te[1]=[fe("div",{class:"text-white"},"No packet data available",-1)]))):(ui(),vi("div",Cnt,[(ui(!0),vi(mu,null,oh(s.value,se=>(ui(),vi("div",{key:se.type,class:"flex flex-col items-center flex-1 max-w-20 h-full"},[fe("div",Lnt,[fe("div",{class:"w-full rounded-t-[10px] transition-all duration-500 ease-out flex items-end justify-center pb-1 backdrop-blur-[50px] shadow-lg border border-white/20 hover:border-white/30",style:G0({height:zt(se.count)+"%",background:`linear-gradient(135deg, - ${se.color} 0%, - ${se.color.replace("0.8","0.6")} 30%, - ${se.color.replace("0.8","0.4")} 70%, - ${se.color.replace("0.8","0.3")} 100%), +`):" "+JL(_t[0]):"as no adapter specified";throw new Qu("There is no suitable adapter to dispatch the request "+It,"ERR_NOT_SUPPORT")}return K}const jO={getAdapter:UQ,adapters:pM};function B8(d){if(d.cancelToken&&d.cancelToken.throwIfRequested(),d.signal&&d.signal.aborted)throw new T_(null,d)}function QL(d){return B8(d),d.headers=C0.from(d.headers),d.data=F8.call(d,d.transformRequest),["post","put","patch"].indexOf(d.method)!==-1&&d.headers.setContentType("application/x-www-form-urlencoded",!1),jO.getAdapter(d.adapter||ow.adapter,d)(d).then(function(R){return B8(d),R.data=F8.call(d,d.transformResponse,R),R.headers=C0.from(R.headers),R},function(R){return DO(R)||(B8(d),R&&R.response&&(R.response.data=F8.call(d,d.transformResponse,R.response),R.response.headers=C0.from(R.response.headers))),Promise.reject(R)})}const UO="1.13.2",Y4={};["object","boolean","number","function","string","symbol"].forEach((d,s)=>{Y4[d]=function(R){return typeof R===d||"a"+(s<1?"n ":" ")+d}});const tP={};Y4.transitional=function(s,E,R){function K(dt,_t){return"[Axios v"+UO+"] Transitional option '"+dt+"'"+_t+(R?". "+R:"")}return(dt,_t,It)=>{if(s===!1)throw new Qu(K(_t," has been removed"+(E?" in "+E:"")),Qu.ERR_DEPRECATED);return E&&!tP[_t]&&(tP[_t]=!0,console.warn(K(_t," has been deprecated since v"+E+" and will be removed in the near future"))),s?s(dt,_t,It):!0}};Y4.spelling=function(s){return(E,R)=>(console.warn(`${R} is likely a misspelling of ${s}`),!0)};function VQ(d,s,E){if(typeof d!="object")throw new Qu("options must be an object",Qu.ERR_BAD_OPTION_VALUE);const R=Object.keys(d);let K=R.length;for(;K-- >0;){const dt=R[K],_t=s[dt];if(_t){const It=d[dt],jt=It===void 0||_t(It,dt,d);if(jt!==!0)throw new Qu("option "+dt+" must be "+jt,Qu.ERR_BAD_OPTION_VALUE);continue}if(E!==!0)throw new Qu("Unknown option "+dt,Qu.ERR_BAD_OPTION)}}const n4={assertOptions:VQ,validators:Y4},ag=n4.validators;let My=class{constructor(s){this.defaults=s||{},this.interceptors={request:new VL,response:new VL}}async request(s,E){try{return await this._request(s,E)}catch(R){if(R instanceof Error){let K={};Error.captureStackTrace?Error.captureStackTrace(K):K=new Error;const dt=K.stack?K.stack.replace(/^.+\n/,""):"";try{R.stack?dt&&!String(R.stack).endsWith(dt.replace(/^.+\n.+\n/,""))&&(R.stack+=` +`+dt):R.stack=dt}catch{}}throw R}}_request(s,E){typeof s=="string"?(E=E||{},E.url=s):E=s||{},E=Ly(this.defaults,E);const{transitional:R,paramsSerializer:K,headers:dt}=E;R!==void 0&&n4.assertOptions(R,{silentJSONParsing:ag.transitional(ag.boolean),forcedJSONParsing:ag.transitional(ag.boolean),clarifyTimeoutError:ag.transitional(ag.boolean)},!1),K!=null&&(io.isFunction(K)?E.paramsSerializer={serialize:K}:n4.assertOptions(K,{encode:ag.function,serialize:ag.function},!0)),E.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?E.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:E.allowAbsoluteUrls=!0),n4.assertOptions(E,{baseUrl:ag.spelling("baseURL"),withXsrfToken:ag.spelling("withXSRFToken")},!0),E.method=(E.method||this.defaults.method||"get").toLowerCase();let _t=dt&&io.merge(dt.common,dt[E.method]);dt&&io.forEach(["delete","get","head","post","put","patch","common"],Tr=>{delete dt[Tr]}),E.headers=C0.concat(_t,dt);const It=[];let jt=!0;this.interceptors.request.forEach(function(wr){typeof wr.runWhen=="function"&&wr.runWhen(E)===!1||(jt=jt&&wr.synchronous,It.unshift(wr.fulfilled,wr.rejected))});const te=[];this.interceptors.response.forEach(function(wr){te.push(wr.fulfilled,wr.rejected)});let le,Le=0,Je;if(!jt){const Tr=[QL.bind(this),void 0];for(Tr.unshift(...It),Tr.push(...te),Je=Tr.length,le=Promise.resolve(E);Le{if(!R._listeners)return;let dt=R._listeners.length;for(;dt-- >0;)R._listeners[dt](K);R._listeners=null}),this.promise.then=K=>{let dt;const _t=new Promise(It=>{R.subscribe(It),dt=It}).then(K);return _t.cancel=function(){R.unsubscribe(dt)},_t},s(function(dt,_t,It){R.reason||(R.reason=new T_(dt,_t,It),E(R.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(s){if(this.reason){s(this.reason);return}this._listeners?this._listeners.push(s):this._listeners=[s]}unsubscribe(s){if(!this._listeners)return;const E=this._listeners.indexOf(s);E!==-1&&this._listeners.splice(E,1)}toAbortSignal(){const s=new AbortController,E=R=>{s.abort(R)};return this.subscribe(E),s.signal.unsubscribe=()=>this.unsubscribe(E),s.signal}static source(){let s;return{token:new VO(function(K){s=K}),cancel:s}}};function WQ(d){return function(E){return d.apply(null,E)}}function qQ(d){return io.isObject(d)&&d.isAxiosError===!0}const SA={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(SA).forEach(([d,s])=>{SA[s]=d});function HO(d){const s=new My(d),E=_O(My.prototype.request,s);return io.extend(E,My.prototype,s,{allOwnKeys:!0}),io.extend(E,s,null,{allOwnKeys:!0}),E.create=function(K){return HO(Ly(d,K))},E}const _d=HO(ow);_d.Axios=My;_d.CanceledError=T_;_d.CancelToken=HQ;_d.isCancel=DO;_d.VERSION=UO;_d.toFormData=G4;_d.AxiosError=Qu;_d.Cancel=_d.CanceledError;_d.all=function(s){return Promise.all(s)};_d.spread=WQ;_d.isAxiosError=qQ;_d.mergeConfig=Ly;_d.AxiosHeaders=C0;_d.formToJSON=d=>OO(io.isHTMLForm(d)?new FormData(d):d);_d.getAdapter=jO.getAdapter;_d.HttpStatusCode=SA;_d.default=_d;const{Axios:$xt,AxiosError:Zxt,CanceledError:Gxt,isCancel:Yxt,CancelToken:Kxt,VERSION:Xxt,all:Jxt,Cancel:Qxt,isAxiosError:t_t,spread:e_t,toFormData:r_t,AxiosHeaders:n_t,HttpStatusCode:i_t,formToJSON:a_t,getAdapter:o_t,mergeConfig:s_t}=_d,$Q="/api",ZQ="",GQ=$Q,YQ=ZQ,_y=_d.create({baseURL:GQ,timeout:5e3,headers:{"Content-Type":"application/json"}});_y.interceptors.request.use(d=>d,d=>(console.error("API Request Error:",d),Promise.reject(d)));_y.interceptors.response.use(d=>d,d=>(console.error("API Response Error:",d.response?.data||d.message),Promise.reject(d)));class oh{static async get(s,E){try{return(await _y.get(s,{params:E})).data}catch(R){throw this.handleError(R)}}static async post(s,E,R){try{return(await _y.post(s,E,R)).data}catch(K){throw this.handleError(K)}}static async put(s,E,R){try{return(await _y.put(s,E,R)).data}catch(K){throw this.handleError(K)}}static async delete(s,E){try{return(await _y.delete(s,E)).data}catch(R){throw this.handleError(R)}}static async getTransportKeys(){return this.get("transport_keys")}static async createTransportKey(s,E,R,K,dt){const _t={name:s,flood_policy:E,parent_id:K,last_used:dt};return R!==void 0&&(_t.transport_key=R),this.post("transport_keys",_t)}static async getTransportKey(s){return this.get(`transport_key/${s}`)}static async updateTransportKey(s,E,R,K,dt,_t){return this.put(`transport_key/${s}`,{name:E,flood_policy:R,transport_key:K,parent_id:dt,last_used:_t})}static async deleteTransportKey(s){return this.delete(`transport_key/${s}`)}static async updateGlobalFloodPolicy(s){return this.post("global_flood_policy",{global_flood_allow:s})}static async getLogs(){try{return(await _y.get("logs")).data}catch(s){throw this.handleError(s)}}static async deleteAdvert(s){return this.delete(`advert/${s}`)}static async pingNeighbor(s){return this.post("ping_neighbor",s)}static handleError(s){if(_d.isAxiosError(s)){if(s.response){const E=s.response.data?.error||s.response.data?.message||`HTTP ${s.response.status}`;return new Error(E)}else if(s.request)return new Error("Network error - no response received")}return new Error(s instanceof Error?s.message:"Unknown error occurred")}}const Dm=lM("system",()=>{const d=ja(null),s=ja(!1),E=ja(null),R=ja(null),K=ja("forward"),dt=ja(!0),_t=ja(0),It=ja(10),jt=ja(!1),te=qo(()=>d.value?.config?.node_name??"Unknown"),le=qo(()=>{const Hn=d.value?.public_key;return!Hn||Hn==="Unknown"?"Unknown":Hn.length>=16?`${Hn.slice(0,8)} ... ${Hn.slice(-8)}`:`${Hn}`}),Le=qo(()=>d.value!==null),Je=qo(()=>d.value?.version??"Unknown"),fr=qo(()=>d.value?.core_version??"Unknown"),Tr=qo(()=>d.value?.noise_floor_dbm??null),wr=qo(()=>It.value>0?Math.min(_t.value/It.value*100,100):0),Vr=qo(()=>K.value==="monitor"?{text:"Monitor Mode",title:"Monitoring only - not forwarding packets"}:dt.value?{text:"Active",title:"Forwarding with duty cycle enforcement"}:{text:"No Limits",title:"Forwarding without duty cycle enforcement"}),fn=qo(()=>K.value==="monitor"?{active:!1,warning:!0}:{active:!0,warning:!1}),Dt=qo(()=>dt.value?{active:!0,warning:!1}:{active:!1,warning:!0}),un=Hn=>{jt.value=Hn};async function Qn(){try{s.value=!0,E.value=null;const Hn=await oh.get("/stats");if(Hn.success&&Hn.data)return d.value=Hn.data,R.value=new Date,Dn(Hn.data),Hn.data;if(Hn&&"version"in Hn){const Vn=Hn;return d.value=Vn,R.value=new Date,Dn(Vn),Vn}else throw new Error(Hn.error||"Failed to fetch stats")}catch(Hn){throw E.value=Hn instanceof Error?Hn.message:"Unknown error occurred",console.error("Error fetching stats:",Hn),Hn}finally{s.value=!1}}function Dn(Hn){if(Hn.config){const sa=Hn.config.repeater?.mode;(sa==="forward"||sa==="monitor")&&(K.value=sa);const Ti=Hn.config.duty_cycle;if(Ti){dt.value=Ti.enforcement_enabled!==!1;const fi=Ti.max_airtime_percent;typeof fi=="number"?It.value=fi:fi&&typeof fi=="object"&&"parsedValue"in fi&&(It.value=fi.parsedValue||10)}}const Vn=Hn.utilization_percent;typeof Vn=="number"?_t.value=Vn:Vn&&typeof Vn=="object"&&"parsedValue"in Vn&&(_t.value=Vn.parsedValue||0)}async function Xn(Hn){try{const Vn=await oh.post("/set_mode",{mode:Hn});if(Vn.success)return K.value=Hn,!0;throw new Error(Vn.error||"Failed to set mode")}catch(Vn){throw E.value=Vn instanceof Error?Vn.message:"Unknown error occurred",console.error("Error setting mode:",Vn),Vn}}async function Ni(Hn){try{const Vn=await oh.post("/set_duty_cycle",{enabled:Hn});if(Vn.success)return dt.value=Hn,!0;throw new Error(Vn.error||"Failed to set duty cycle")}catch(Vn){throw E.value=Vn instanceof Error?Vn.message:"Unknown error occurred",console.error("Error setting duty cycle:",Vn),Vn}}async function zi(){try{const Hn=await oh.post("/send_advert",{},{timeout:1e4});if(Hn.success)return console.log("Advertisement sent successfully:",Hn.data),!0;throw new Error(Hn.error||"Failed to send advert")}catch(Hn){throw E.value=Hn instanceof Error?Hn.message:"Unknown error occurred",console.error("Error sending advert:",Hn),Hn}}async function qr(){const Hn=K.value==="forward"?"monitor":"forward";return await Xn(Hn)}async function Si(){return await Ni(!dt.value)}async function Nn(Hn=5e3){await Qn();const Vn=setInterval(async()=>{try{await Qn()}catch(sa){console.error("Auto-refresh error:",sa)}},Hn);return()=>clearInterval(Vn)}function si(){d.value=null,E.value=null,R.value=null,s.value=!1,K.value="forward",dt.value=!0,_t.value=0,It.value=10}return{stats:d,isLoading:s,error:E,lastUpdated:R,currentMode:K,dutyCycleEnabled:dt,dutyCycleUtilization:_t,dutyCycleMax:It,cadCalibrationRunning:jt,nodeName:te,pubKey:le,hasStats:Le,version:Je,coreVersion:fr,noiseFloorDbm:Tr,dutyCyclePercentage:wr,statusBadge:Vr,modeButtonState:fn,dutyCycleButtonState:Dt,fetchStats:Qn,setMode:Xn,setDutyCycle:Ni,sendAdvert:zi,toggleMode:qr,toggleDutyCycle:Si,startAutoRefresh:Nn,reset:si,setCadCalibrationRunning:un}}),Bf=(d,s)=>{const E=d.__vccOpts||d;for(const[R,K]of s)E[R]=K;return E},KQ={},XQ={width:"23",height:"25",viewBox:"0 0 23 25",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function JQ(d,s){return ii(),gi("svg",XQ,s[0]||(s[0]=[oe("path",{d:"M2.84279 2.25795C2.90709 1.12053 3.17879 0.625914 3.95795 0.228723C4.79631 -0.198778 6.11858 0.000168182 7.67449 0.788054C8.34465 1.12757 8.41289 1.13448 9.58736 0.983905C11.1485 0.783681 13.1582 0.784388 14.5991 0.985738C15.6887 1.13801 15.7603 1.1304 16.4321 0.790174C18.6406 -0.328212 20.3842 -0.255036 21.0156 0.982491C21.3308 1.6002 21.3893 3.20304 21.1449 4.52503C21.0094 5.25793 21.0238 5.34943 21.3502 5.83037C23.6466 9.21443 21.9919 14.6998 18.0569 16.7469C17.7558 16.9036 17.502 17.0005 17.2952 17.0795C16.6602 17.3219 16.4674 17.3956 16.7008 18.5117C16.8132 19.0486 16.9486 20.3833 17.0018 21.478C17.098 23.4567 17.0966 23.4705 16.7495 23.8742C16.2772 24.4233 15.5963 24.4326 15.135 23.8962C14.8341 23.5464 14.8047 23.3812 14.8047 22.0315C14.8047 20.037 14.5861 18.7113 14.0695 17.5753C13.4553 16.2235 13.9106 15.7194 15.3154 15.4173C17.268 14.9973 18.793 13.7923 19.643 11.9978C20.4511 10.2921 20.5729 7.93485 19.1119 6.50124C18.6964 6.00746 18.6674 5.56022 18.9641 4.21159C19.075 3.70754 19.168 3.05725 19.1707 2.76637C19.1749 2.30701 19.1331 2.23764 18.8509 2.23764C18.6724 2.23764 17.9902 2.49736 17.3352 2.81474L16.2897 3.32145C16.1947 3.36751 16.0883 3.38522 15.9834 3.37318C13.3251 3.06805 10.7991 3.06334 8.12774 3.37438C8.02244 3.38663 7.91563 3.36892 7.82025 3.32263L6.77535 2.81559C6.12027 2.49764 5.43813 2.23764 5.25963 2.23764C4.84693 2.23764 4.84072 2.54233 5.2169 4.35258C5.44669 5.45816 5.60133 5.70451 4.93703 6.58851C3.94131 7.91359 3.69258 9.55902 4.22654 11.2878C4.89952 13.4664 6.54749 14.9382 8.86436 15.4292C10.261 15.7253 10.6261 16.1115 10.0928 17.713C9.67293 18.9734 9.40748 19.2982 8.79738 19.2982C7.97649 19.2982 7.46228 18.5871 7.74527 17.843C7.86991 17.5151 7.83283 17.4801 7.06383 17.1996C4.71637 16.3437 2.9209 14.4254 2.10002 11.8959C1.46553 9.94098 1.74471 7.39642 2.76257 5.85843C3.10914 5.33477 3.1145 5.29036 2.95277 4.28787C2.86126 3.72037 2.81177 2.80699 2.84279 2.25795Z",fill:"white"},null,-1),oe("path",{d:"M2.02306 16.5589C1.68479 16.0516 0.999227 15.9144 0.491814 16.2527C-0.0155884 16.591 -0.152708 17.2765 0.185564 17.7839C0.435301 18.1586 0.734065 18.4663 0.987777 18.72C1.03455 18.7668 1.08 18.8119 1.12438 18.856C1.3369 19.0671 1.52455 19.2535 1.71302 19.4748C2.12986 19.964 2.54572 20.623 2.78206 21.8047C2.88733 22.3311 3.26569 22.6147 3.47533 22.7386C3.70269 22.8728 3.9511 22.952 4.15552 23.0036C4.57369 23.109 5.08133 23.1638 5.56309 23.1957C6.09196 23.2308 6.665 23.2422 7.17743 23.2453C7.1778 23.8547 7.67202 24.3487 8.28162 24.3487C8.89146 24.3487 9.38582 23.8543 9.38582 23.2445V22.1403C9.38582 21.5305 8.89146 21.0361 8.28162 21.0361C8.17753 21.0361 8.06491 21.0364 7.94562 21.0369C7.29761 21.0389 6.45295 21.0414 5.70905 20.9922C5.35033 20.9684 5.05544 20.9347 4.8392 20.8936C4.50619 19.5863 3.96821 18.7165 3.39415 18.0426C3.14038 17.7448 2.87761 17.4842 2.66387 17.2722C2.62385 17.2326 2.58556 17.1946 2.54935 17.1584C2.30273 16.9118 2.1414 16.7365 2.02306 16.5589Z",fill:"white"},null,-1)]))}const QQ=Bf(KQ,[["render",JQ]]),ttt={},ett={width:"17",height:"24",viewBox:"0 0 17 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function rtt(d,s){return ii(),gi("svg",ett,s[0]||(s[0]=[Tf('',12)]))}const ntt=Bf(ttt,[["render",rtt]]),sw=lM("packets",()=>{const d=ja(null),s=ja(null),E=ja([]),R=ja([]),K=ja(null),dt=ja(!1),_t=ja(null),It=ja(null),jt=ja([]),te=ja([]),le=qo(()=>d.value!==null),Le=qo(()=>s.value!==null),Je=qo(()=>E.value.length>0),fr=qo(()=>R.value.length>0),Tr=qo(()=>K.value?.avg_noise_floor??0),wr=qo(()=>d.value?.total_packets??0),Vr=qo(()=>d.value?.avg_rssi??0),fn=qo(()=>d.value?.avg_snr??0),Dt=qo(()=>s.value?.uptime_seconds??0),un=qo(()=>{if(!d.value?.packet_types)return[];const Ti=d.value.packet_types,fi=Ti.reduce((ma,ml)=>ma+ml.count,0);return Ti.map(ma=>({type:ma.type.toString(),count:ma.count,percentage:fi>0?ma.count/fi*100:0}))}),Qn=qo(()=>{const Ti={};return E.value.forEach(fi=>{Ti[fi.type]||(Ti[fi.type]=[]),Ti[fi.type].push(fi)}),Ti});async function Dn(){try{const Ti=await oh.get("/stats");if(Ti.success&&Ti.data){s.value=Ti.data;const fi=new Date;return te.value.push({timestamp:fi,stats:Ti.data}),te.value.length>50&&(te.value=te.value.slice(-50)),Ti.data}else if(Ti&&"version"in Ti){const fi=Ti;s.value=fi;const ma=new Date;return te.value.push({timestamp:ma,stats:fi}),te.value.length>50&&(te.value=te.value.slice(-50)),fi}else throw new Error(Ti.error||"Failed to fetch system stats")}catch(Ti){throw _t.value=Ti instanceof Error?Ti.message:"Unknown error occurred",console.error("Error fetching system stats:",Ti),Ti}}async function Xn(Ti={hours:24}){try{const fi=await oh.get("/noise_floor_history",Ti);if(fi.success&&fi.data&&fi.data.history)return R.value=fi.data.history,It.value=new Date,fi.data.history;throw new Error(fi.error||"Failed to fetch noise floor history")}catch(fi){throw _t.value=fi instanceof Error?fi.message:"Unknown error occurred",console.error("Error fetching noise floor history:",fi),fi}}async function Ni(Ti={hours:24}){try{const fi=await oh.get("/noise_floor_stats",Ti);if(fi.success&&fi.data&&fi.data.stats)return K.value=fi.data.stats,It.value=new Date,fi.data.stats;throw new Error(fi.error||"Failed to fetch noise floor stats")}catch(fi){throw _t.value=fi instanceof Error?fi.message:"Unknown error occurred",console.error("Error fetching noise floor stats:",fi),fi}}const zi=qo(()=>!R.value||!Array.isArray(R.value)?[]:R.value.slice(-50).map(Ti=>Ti.noise_floor_dbm));async function qr(Ti={hours:24}){try{dt.value=!0,_t.value=null;const fi=await oh.get("/packet_stats",Ti);if(fi.success&&fi.data){d.value=fi.data;const ma=new Date;jt.value.push({timestamp:ma,stats:fi.data}),jt.value.length>50&&(jt.value=jt.value.slice(-50)),It.value=ma}else throw new Error(fi.error||"Failed to fetch packet stats")}catch(fi){_t.value=fi instanceof Error?fi.message:"Unknown error occurred",console.error("Error fetching packet stats:",fi)}finally{dt.value=!1}}async function Si(Ti={limit:100}){try{dt.value=!0,_t.value=null;const fi=await oh.get("/recent_packets",Ti);if(fi.success&&fi.data)E.value=fi.data,It.value=new Date;else throw new Error(fi.error||"Failed to fetch recent packets")}catch(fi){_t.value=fi instanceof Error?fi.message:"Unknown error occurred",console.error("Error fetching recent packets:",fi)}finally{dt.value=!1}}async function Nn(Ti){try{dt.value=!0,_t.value=null;const fi=await oh.get("/filtered_packets",Ti);if(fi.success&&fi.data)return E.value=fi.data,It.value=new Date,fi.data;throw new Error(fi.error||"Failed to fetch filtered packets")}catch(fi){throw _t.value=fi instanceof Error?fi.message:"Unknown error occurred",console.error("Error fetching filtered packets:",fi),fi}finally{dt.value=!1}}async function si(Ti){try{dt.value=!0,_t.value=null;const fi=await oh.get("/packet_by_hash",{packet_hash:Ti});if(fi.success&&fi.data)return fi.data;throw new Error(fi.error||"Packet not found")}catch(fi){throw _t.value=fi instanceof Error?fi.message:"Unknown error occurred",console.error("Error fetching packet by hash:",fi),fi}finally{dt.value=!1}}const Hn=qo(()=>{const Ti=jt.value,fi=te.value;return{totalPackets:Ti.map(ma=>ma.stats.total_packets),transmittedPackets:Ti.map(ma=>ma.stats.transmitted_packets),droppedPackets:Ti.map(ma=>ma.stats.dropped_packets),avgRssi:Ti.map(ma=>ma.stats.avg_rssi),uptimeHours:fi.map(ma=>Math.floor((ma.stats.uptime_seconds||0)/3600))}});async function Vn(Ti=3e4){await Promise.all([Dn(),qr(),Si(),Xn({hours:1}),Ni({hours:1})]);const fi=setInterval(async()=>{try{await Promise.all([Dn(),qr(),Si(),Xn({hours:1}),Ni({hours:1})])}catch(ma){console.error("Auto-refresh error:",ma)}},Ti);return()=>clearInterval(fi)}function sa(){d.value=null,s.value=null,E.value=[],R.value=[],K.value=null,jt.value=[],te.value=[],_t.value=null,It.value=null,dt.value=!1}return{packetStats:d,systemStats:s,recentPackets:E,noiseFloorHistory:R,noiseFloorStats:K,packetStatsHistory:jt,systemStatsHistory:te,isLoading:dt,error:_t,lastUpdated:It,hasPacketStats:le,hasSystemStats:Le,hasRecentPackets:Je,hasNoiseFloorData:fr,currentNoiseFloor:Tr,totalPackets:wr,averageRSSI:Vr,averageSNR:fn,uptime:Dt,packetTypeBreakdown:un,recentPacketsByType:Qn,sparklineData:Hn,noiseFloorSparklineData:zi,fetchSystemStats:Dn,fetchPacketStats:qr,fetchRecentPackets:Si,fetchFilteredPackets:Nn,getPacketByHash:si,fetchNoiseFloorHistory:Xn,fetchNoiseFloorStats:Ni,startAutoRefresh:Vn,reset:sa}}),itt={class:"glass-card-green p-5 relative overflow-hidden"},att={key:0,class:"absolute inset-0 bg-black/60 backdrop-blur-sm flex items-center justify-center z-10 rounded-lg"},ott={class:"flex items-baseline gap-2 mb-8"},stt={class:"text-primary text-2xl font-medium"},ltt={class:"absolute bottom-0 left-5 w-[196px] h-[30px]",viewBox:"0 0 196 30",fill:"none",xmlns:"http://www.w3.org/2000/svg"},utt=["d"],ctt=["d"],htt=["cy"],ftt=Ec({__name:"RFNoiseFloor",setup(d){const s=sw(),E=Dm(),R=ja(null),K=le=>{if(le.length<2)return"";const Le=196,Je=30,fr=4,Tr=-125,Vr=-105-Tr;let fn="";return le.forEach((Dt,un)=>{const Qn=un/(le.length-1)*Le,Dn=(Dt-Tr)/Vr,Xn=Je-Dn*(Je-fr*2)-fr;if(un===0)fn+=`M ${Qn} ${Xn}`;else{const zi=((un-1)/(le.length-1)*Le+Qn)/2;fn+=` Q ${zi} ${Xn} ${Qn} ${Xn}`}}),fn},dt=async()=>{try{await Promise.all([s.fetchNoiseFloorHistory({hours:1}),s.fetchNoiseFloorStats({hours:1})])}catch(le){console.error("Error fetching noise floor data:",le)}};op(()=>{dt(),R.value=window.setInterval(dt,5e3)}),zm(()=>{R.value&&clearInterval(R.value)});const _t=qo(()=>{const le=s.noiseFloorSparklineData;return le&&le.length>0?le[le.length-1]:s.noiseFloorStats?.avg_noise_floor??-116}),It=qo(()=>s.noiseFloorSparklineData),jt=qo(()=>K(It.value)),te=qo(()=>{if(It.value.length===0)return 15;const le=It.value[It.value.length-1],Le=-125,fr=-105-Le;return 30-(le-Le)/fr*22-4});return(le,Le)=>(ii(),gi("div",itt,[Dl(E).cadCalibrationRunning?(ii(),gi("div",att,Le[0]||(Le[0]=[Tf('CAD CalibrationIn Progress',1)]))):Oo("",!0),Le[4]||(Le[4]=oe("p",{class:"text-dark-text text-xs uppercase mb-2"},"RF NOISE FLOOR",-1)),oe("div",ott,[oe("span",stt,mi(_t.value),1),Le[1]||(Le[1]=oe("span",{class:"text-dark-text text-xs uppercase"},"dBm",-1))]),(ii(),gi("svg",ltt,[Le[3]||(Le[3]=Tf('',1)),It.value.length>1?(ii(),gi("path",{key:0,d:`${jt.value} L 196 30 L 0 30 Z`,fill:"url(#rf-noise-gradient)",class:"transition-all duration-500 ease-out"},null,8,utt)):Oo("",!0),It.value.length>1?(ii(),gi("path",{key:1,d:jt.value,stroke:"#B1FFFF","stroke-width":"2",fill:"none",filter:"url(#line-glow)",class:"transition-all duration-500 ease-out"},null,8,ctt)):Oo("",!0),It.value.length>0?(ii(),gi("circle",{key:2,cx:196,cy:te.value,r:"2",fill:"#B1FFFF",class:"animate-pulse"},Le[2]||(Le[2]=[oe("animate",{attributeName:"r",values:"2;3;2",dur:"2s",repeatCount:"indefinite"},null,-1)]),8,htt)):Oo("",!0)]))]))}}),WO=Bf(ftt,[["__scopeId","data-v-ad12b3cb"]]),dtt={},ptt={width:"800px",height:"800px",viewBox:"0 -1.5 20 20",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",class:"w-full h-full"};function mtt(d,s){return ii(),gi("svg",ptt,s[0]||(s[0]=[oe("g",{id:"Page-1",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[oe("g",{transform:"translate(-420.000000, -3641.000000)",fill:"currentColor"},[oe("g",{id:"icons",transform:"translate(56.000000, 160.000000)"},[oe("path",{d:"M378.195439,3483.828 L376.781439,3485.242 C378.195439,3486.656 378.294439,3489.588 376.880439,3491.002 L378.294439,3492.417 C380.415439,3490.295 380.316439,3485.949 378.195439,3483.828 M381.023439,3481 L379.609439,3482.414 C382.438439,3485.242 382.537439,3491.002 379.708439,3493.831 L381.122439,3495.245 C385.365439,3491.002 384.559439,3484.535 381.023439,3481 M375.432439,3486.737 C375.409439,3486.711 375.392439,3486.682 375.367439,3486.656 L375.363439,3486.66 C374.582439,3485.879 373.243439,3485.952 372.536439,3486.659 C371.829439,3487.366 371.831439,3488.778 372.538439,3489.485 C372.547439,3489.494 372.558439,3489.499 372.567439,3489.508 C372.590439,3489.534 372.607439,3489.563 372.632439,3489.588 L372.636439,3489.585 C373.201439,3490.15 373.000439,3488.284 373.000439,3498 L375.000439,3498 C375.000439,3488.058 374.753439,3490.296 375.463439,3489.586 C376.170439,3488.879 376.168439,3487.467 375.461439,3486.76 C375.452439,3486.751 375.441439,3486.746 375.432439,3486.737 M371.119439,3485.242 L369.705439,3483.828 C367.584439,3485.949 367.683439,3490.295 369.804439,3492.417 L371.218439,3491.002 C369.804439,3489.588 369.705439,3486.656 371.119439,3485.242 M368.390439,3493.831 L366.976439,3495.245 C363.440439,3491.709 362.634439,3485.242 366.877439,3481 L368.291439,3482.414 C365.462439,3485.242 365.561439,3491.002 368.390439,3493.831",id:"radio_tower-[#1019]"})])])],-1)]))}const gtt=Bf(dtt,[["render",mtt]]),vtt={class:"text-center"},ytt={class:"relative flex items-center justify-center mb-8"},xtt={class:"relative w-32 h-32"},_tt={class:"absolute left-1/2 top-1/2 transform -translate-x-1/2 -translate-y-1/2"},btt={key:0,class:"absolute inset-0 flex items-center justify-center"},wtt={key:1,class:"absolute inset-0 flex items-center justify-center"},ktt={key:2,class:"absolute inset-0"},Ttt={class:"mb-6"},Att={key:0,class:"text-white text-lg"},Mtt={key:1,class:"text-accent-green text-lg font-medium"},Stt={key:2,class:"text-secondary text-lg"},Ett={key:3,class:"text-accent-red text-lg"},Ctt={key:4,class:"text-dark-text"},Ltt={key:5,class:"mt-3"},Ptt={key:0,class:"text-secondary text-sm"},Itt={key:1,class:"text-accent-red text-sm"},ztt={key:0,class:"flex gap-3"},Ott={key:1,class:"text-dark-text text-sm"},Dtt=Ec({name:"AdvertModal",__name:"AdvertModal",props:{isOpen:{type:Boolean},isLoading:{type:Boolean},isSuccess:{type:Boolean},error:{default:null}},emits:["close","send"],setup(d,{emit:s}){const E=d,R=s,K=ja(!1),dt=ja(!1),_t=ja(!1);Em(()=>E.isOpen,le=>{le?(K.value=!0,setTimeout(()=>{dt.value=!0},50)):(dt.value=!1,_t.value=!1,setTimeout(()=>{K.value=!1},300))},{immediate:!0}),Em(()=>E.isLoading,le=>{le||setTimeout(()=>{_t.value=!1},1e3)});const It=()=>{E.isLoading||R("close")},jt=()=>{E.isLoading||(_t.value=!0,R("send"))},te=le=>le?.includes("Network error - no response received")||le?.includes("timeout");return(le,Le)=>(ii(),Y0(QA,{to:"body"},[K.value?(ii(),gi("div",{key:0,class:"fixed inset-0 z-50 flex items-center justify-center p-4",onClick:Pm(It,["self"])},[oe("div",{class:ko(["absolute inset-0 bg-black/60 backdrop-blur-sm transition-opacity duration-300",dt.value?"opacity-100":"opacity-0"])},null,2),oe("div",{class:ko(["relative glass-card rounded-[20px] p-8 max-w-md w-full transform transition-all duration-300",dt.value?"scale-100 opacity-100":"scale-95 opacity-0"])},[le.isLoading?Oo("",!0):(ii(),gi("button",{key:0,onClick:It,class:"absolute top-4 right-4 text-dark-text hover:text-white transition-colors p-2"},Le[0]||(Le[0]=[oe("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[oe("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1)]))),oe("div",vtt,[Le[6]||(Le[6]=oe("h2",{class:"text-white text-xl font-semibold mb-6"},"Send Advertisement",-1)),oe("div",ytt,[oe("div",xtt,[oe("div",_tt,[Al(gtt,{class:ko(["w-16 h-16 transition-all duration-500",[le.isLoading?"animate-pulse":"",le.isSuccess?"text-accent-green":le.error&&!te(le.error)?"text-accent-red":"text-primary"]]),style:G0({filter:le.isLoading?"drop-shadow(0 0 8px currentColor)":le.isSuccess?"drop-shadow(0 0 8px #A5E5B6)":le.error&&!te(le.error)?"drop-shadow(0 0 8px #FB787B)":"drop-shadow(0 0 4px #AAE8E8)"})},null,8,["class","style"])]),le.isLoading||le.isSuccess?(ii(),gi("div",btt,[oe("div",{class:ko(["absolute w-16 h-16 rounded-full border-2 animate-ping",[le.isSuccess?"border-accent-green/60":"border-primary/60"]]),style:{"animation-duration":"1.5s"}},null,2),oe("div",{class:ko(["absolute w-24 h-24 rounded-full border-2 animate-ping",[le.isSuccess?"border-accent-green/40":"border-primary/40"]]),style:{"animation-duration":"2s","animation-delay":"0.3s"}},null,2),oe("div",{class:ko(["absolute w-32 h-32 rounded-full border-2 animate-ping",[le.isSuccess?"border-accent-green/20":"border-primary/20"]]),style:{"animation-duration":"2.5s","animation-delay":"0.6s"}},null,2)])):Oo("",!0),_t.value?(ii(),gi("div",wtt,Le[1]||(Le[1]=[oe("div",{class:"absolute w-8 h-8 rounded-full border-4 border-secondary animate-ping-fast"},null,-1),oe("div",{class:"absolute w-16 h-16 rounded-full border-3 border-secondary/70 animate-ping-fast",style:{"animation-delay":"0.1s"}},null,-1),oe("div",{class:"absolute w-24 h-24 rounded-full border-2 border-secondary/50 animate-ping-fast",style:{"animation-delay":"0.2s"}},null,-1),oe("div",{class:"absolute w-32 h-32 rounded-full border-2 border-secondary/30 animate-ping-fast",style:{"animation-delay":"0.3s"}},null,-1)]))):Oo("",!0),le.isLoading||le.isSuccess?(ii(),gi("div",ktt,[oe("div",{class:ko(["absolute top-2 right-2 w-4 h-4 rounded-full transition-all duration-500 animate-pulse",[le.isSuccess?"bg-accent-green shadow-lg shadow-accent-green/50":"bg-primary/70 shadow-lg shadow-primary/30"]]),style:{"animation-delay":"0.5s"}},Le[2]||(Le[2]=[oe("div",{class:"w-2 h-2 bg-white rounded-full mx-auto mt-1"},null,-1)]),2),oe("div",{class:ko(["absolute bottom-2 left-2 w-4 h-4 rounded-full transition-all duration-500 animate-pulse",[le.isSuccess?"bg-accent-green shadow-lg shadow-accent-green/50":"bg-primary/70 shadow-lg shadow-primary/30"]]),style:{"animation-delay":"1s"}},Le[3]||(Le[3]=[oe("div",{class:"w-2 h-2 bg-white rounded-full mx-auto mt-1"},null,-1)]),2),oe("div",{class:ko(["absolute top-1/2 right-1 w-4 h-4 rounded-full transition-all duration-500 animate-pulse",[le.isSuccess?"bg-accent-green shadow-lg shadow-accent-green/50":"bg-primary/70 shadow-lg shadow-primary/30"]]),style:{"animation-delay":"1.5s",transform:"translateY(-50%)"}},Le[4]||(Le[4]=[oe("div",{class:"w-2 h-2 bg-white rounded-full mx-auto mt-1"},null,-1)]),2),oe("div",{class:ko(["absolute top-3 left-3 w-4 h-4 rounded-full transition-all duration-500 animate-pulse",[le.isSuccess?"bg-accent-green shadow-lg shadow-accent-green/50":"bg-primary/70 shadow-lg shadow-primary/30"]]),style:{"animation-delay":"2s"}},Le[5]||(Le[5]=[oe("div",{class:"w-2 h-2 bg-white rounded-full mx-auto mt-1"},null,-1)]),2)])):Oo("",!0)])]),oe("div",Ttt,[le.isLoading?(ii(),gi("p",Att," Broadcasting advertisement... ")):le.isSuccess?(ii(),gi("p",Mtt," Advertisement sent successfully! ")):le.error&&te(le.error)?(ii(),gi("p",Stt," Advertisement likely sent ")):le.error?(ii(),gi("p",Ett," Failed to send advertisement ")):(ii(),gi("p",Ctt," This will broadcast your node's presence to nearby nodes. ")),le.error?(ii(),gi("div",Ltt,[te(le.error)?(ii(),gi("p",Ptt," Network timeout occurred, but the advertisement may have been successfully transmitted to nearby nodes. ")):(ii(),gi("p",Itt,mi(le.error),1))])):Oo("",!0)]),!le.isLoading&&!le.isSuccess?(ii(),gi("div",ztt,[oe("button",{onClick:It,class:"flex-1 glass-card border border-dark-border hover:border-primary rounded-[10px] px-6 py-3 text-dark-text hover:text-white transition-all duration-200"}," Cancel "),oe("button",{onClick:jt,class:ko(["flex-1 rounded-[10px] px-6 py-3 font-medium transition-all duration-200 shadow-lg",[le.error&&te(le.error)?"bg-secondary hover:bg-secondary/90 text-dark-bg hover:shadow-secondary/20":"bg-primary hover:bg-primary/90 text-dark-bg hover:shadow-primary/20"]])},mi(le.error&&te(le.error)?"Try Again":"Send Advertisement"),3)])):Oo("",!0),le.isSuccess?(ii(),gi("div",Ott," Closing automatically... ")):Oo("",!0)])],2)])):Oo("",!0)]))}}),qO=Bf(Dtt,[["__scopeId","data-v-a5eb8c7f"]]),Ftt={},Btt={width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Rtt(d,s){return ii(),gi("svg",Btt,s[0]||(s[0]=[Tf('',2)]))}const $O=Bf(Ftt,[["render",Rtt]]),Ntt={},jtt={width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Utt(d,s){return ii(),gi("svg",jtt,s[0]||(s[0]=[Tf('',9)]))}const ZO=Bf(Ntt,[["render",Utt]]),Vtt={},Htt={width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Wtt(d,s){return ii(),gi("svg",Htt,s[0]||(s[0]=[Tf('',2)]))}const GO=Bf(Vtt,[["render",Wtt]]),qtt={},$tt={width:"11",height:"14",viewBox:"0 0 11 14",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Ztt(d,s){return ii(),gi("svg",$tt,s[0]||(s[0]=[oe("path",{d:"M9.81633 1.99133L8.5085 0.683492C8.29229 0.466088 8.03511 0.293723 7.75185 0.176372C7.46859 0.059021 7.16486 -0.000985579 6.85825 -0.000175002H1.75C1.28587 -0.000175002 0.840752 0.184199 0.512563 0.512388C0.184375 0.840577 0 1.2857 0 1.74983V13.9998H10.5V3.64099C10.4985 3.02248 10.2528 2.4296 9.81633 1.99133ZM8.9915 2.81616C9.02083 2.84799 9.04829 2.88149 9.07375 2.91649H7.58333V1.42608C7.61834 1.45153 7.65184 1.479 7.68367 1.50833L8.9915 2.81616ZM1.16667 12.8332V1.74983C1.16667 1.59512 1.22812 1.44674 1.33752 1.33735C1.44692 1.22795 1.59529 1.16649 1.75 1.16649H6.41667V4.08316H9.33333V12.8332H1.16667ZM2.33333 9.33316H8.16667V5.83316H2.33333V9.33316ZM3.5 6.99983H7V8.16649H3.5V6.99983ZM2.33333 10.4998H8.16667V11.6665H2.33333V10.4998Z",fill:"white"},null,-1)]))}const YO=Bf(qtt,[["render",Ztt]]),Gtt={},Ytt={width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Ktt(d,s){return ii(),gi("svg",Ytt,s[0]||(s[0]=[Tf('',2)]))}const KO=Bf(Gtt,[["render",Ktt]]),Xtt={name:"SystemIcon"},Jtt={width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Qtt(d,s,E,R,K,dt){return ii(),gi("svg",Jtt,s[0]||(s[0]=[Tf('',5)]))}const XO=Bf(Xtt,[["render",Qtt]]),tet={},eet={width:"11",height:"14",viewBox:"0 0 11 14",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function ret(d,s){return ii(),gi("svg",eet,s[0]||(s[0]=[oe("path",{d:"M10.5 14.0004H9.33333V11.0586C9.33287 10.6013 9.15099 10.1628 8.82761 9.83942C8.50422 9.51603 8.06575 9.33415 7.60842 9.33369H2.89158C2.43425 9.33415 1.99578 9.51603 1.67239 9.83942C1.34901 10.1628 1.16713 10.6013 1.16667 11.0586V14.0004H0V11.0586C0.000926233 10.292 0.305872 9.55705 0.847948 9.01497C1.39002 8.47289 2.12497 8.16795 2.89158 8.16702H7.60842C8.37503 8.16795 9.10998 8.47289 9.65205 9.01497C10.1941 9.55705 10.4991 10.292 10.5 11.0586V14.0004Z",fill:"white"},null,-1),oe("path",{d:"M5.25 6.99997C4.55777 6.99997 3.88108 6.7947 3.30551 6.41011C2.72993 6.02553 2.28133 5.4789 2.01642 4.83936C1.75152 4.19982 1.6822 3.49609 1.81725 2.81716C1.9523 2.13822 2.28564 1.51458 2.77513 1.0251C3.26461 0.535614 3.88825 0.202271 4.56719 0.0672226C5.24612 -0.0678257 5.94985 0.00148598 6.58939 0.266393C7.22894 0.531299 7.77556 0.979903 8.16015 1.55548C8.54473 2.13105 8.75 2.80774 8.75 3.49997C8.74908 4.42794 8.38003 5.31765 7.72385 5.97382C7.06768 6.63 6.17798 6.99904 5.25 6.99997ZM5.25 1.16664C4.78851 1.16664 4.33739 1.30349 3.95367 1.55988C3.56996 1.81627 3.27089 2.18068 3.09428 2.60704C2.91768 3.0334 2.87147 3.50256 2.9615 3.95518C3.05153 4.4078 3.27376 4.82357 3.60009 5.14989C3.92641 5.47621 4.34217 5.69844 4.79479 5.78847C5.24741 5.8785 5.71657 5.83229 6.14293 5.65569C6.56929 5.47909 6.93371 5.18002 7.1901 4.7963C7.44649 4.41259 7.58334 3.96146 7.58334 3.49997C7.58334 2.88113 7.3375 2.28764 6.89992 1.85006C6.46233 1.41247 5.86884 1.16664 5.25 1.16664Z",fill:"white"},null,-1)]))}const JO=Bf(tet,[["render",ret]]),net={},iet={width:"11",height:"13",viewBox:"0 0 11 13",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function aet(d,s){return ii(),gi("svg",iet,s[0]||(s[0]=[oe("path",{d:"M6.77889 9.16667H10.1122V12.5M4.11222 3.83333H0.77889V0.5M10.3906 4.50227C10.0168 3.57711 9.39097 2.77536 8.58423 2.18815C7.77749 1.60094 6.82233 1.25168 5.82707 1.18034C4.8318 1.109 3.83627 1.31827 2.95402 1.78441C2.07177 2.25055 1.3381 2.95503 0.836182 3.81742M0.500244 8.49805C0.874034 9.42321 1.49986 10.225 2.30661 10.8122C3.11335 11.3994 4.06948 11.7482 5.06474 11.8195C6.06001 11.8909 7.05473 11.6816 7.93697 11.2155C8.81922 10.7494 9.55239 10.045 10.0543 9.18262",stroke:"white","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)]))}const QO=Bf(net,[["render",aet]]),oet={},set={width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function uet(d,s){return ii(),gi("svg",set,s[0]||(s[0]=[Tf('',2)]))}const tD=Bf(oet,[["render",uet]]),cet={class:"w-[285px] flex-shrink-0 p-[15px] hidden lg:block"},het={class:"glass-card h-full p-6"},fet={class:"mb-12"},det={class:"text-[#C3C3C3] text-sm"},pet=["title"],met={class:"text-[#C3C3C3] text-sm mt-1"},get={class:"mb-8"},vet={class:"mb-8"},yet={class:"space-y-2"},xet=["onClick"],_et={class:"mb-8"},bet={class:"space-y-2"},wet=["onClick"],ket=["disabled"],Tet={class:"flex items-center gap-3"},Aet=["disabled"],Met={class:"flex items-center gap-3"},Eet={class:"mb-4"},Cet={class:"flex items-center gap-2"},Let={class:"glass-card px-2 py-1 text-dark-text text-xs font-medium rounded border border-dark-border"},Pet={class:"glass-card px-2 py-1 text-dark-text text-xs font-medium rounded border border-dark-border"},Iet={key:0,class:"mb-4"},zet={class:"text-dark-text text-xs mb-2"},Oet={class:"text-white"},Det={class:"w-full h-1 bg-white/10 rounded-full overflow-hidden"},Fet={class:"flex items-center justify-between"},Bet={class:"flex items-center gap-2 text-dark-text text-xs"},Ret={class:"flex items-center gap-2"},Net={href:"https://github.com/rightup",target:"_blank",class:"inline-block"},jet={href:"https://buymeacoffee.com/rightup",target:"_blank",class:"inline-block"},Uet=Ec({name:"SidebarNav",__name:"Sidebar",setup(d){const s=yO(),E=xO(),R=Dm(),K=ja(!1),dt=ja(!1),_t=ja(!1),It=ja(!1),jt=ja(!1),te=ja(null);let le=null;op(async()=>{le=await R.startAutoRefresh(5e3)}),Oy(()=>{le&&le()});const Le={dashboard:ZO,neighbors:JO,statistics:KO,"system-stats":XO,configuration:$O,logs:YO,help:GO},Je=[{name:"Dashboard",icon:"dashboard",route:"/"},{name:"Neighbors",icon:"neighbors",route:"/neighbors"},{name:"Statistics",icon:"statistics",route:"/statistics"},{name:"System Stats",icon:"system-stats",route:"/system-stats"},{name:"Configuration",icon:"configuration",route:"/configuration"},{name:"Logs",icon:"logs",route:"/logs"},{name:"Help",icon:"help",route:"/help"}],fr=qo(()=>Dn=>E.path===Dn),Tr=Dn=>{s.push(Dn)},wr=async()=>{K.value=!0,te.value=null;try{await R.sendAdvert(),jt.value=!0,setTimeout(()=>{Vr()},2e3)}catch(Dn){te.value=Dn instanceof Error?Dn.message:"Unknown error occurred",console.error("Failed to send advert:",Dn)}finally{K.value=!1}},Vr=()=>{It.value=!1,jt.value=!1,te.value=null,K.value=!1},fn=async()=>{if(!dt.value){dt.value=!0;try{await R.toggleMode()}catch(Dn){console.error("Failed to toggle mode:",Dn)}finally{dt.value=!1}}},Dt=async()=>{if(!_t.value){_t.value=!0;try{await R.toggleDutyCycle()}catch(Dn){console.error("Failed to toggle duty cycle:",Dn)}finally{_t.value=!1}}},un=ja(new Date().toLocaleTimeString());setInterval(()=>{un.value=new Date().toLocaleTimeString()},1e3);const Qn=qo(()=>{const Dn=R.dutyCyclePercentage;let Xn="#A5E5B6";return Dn>90?Xn="#FB787B":Dn>70&&(Xn="#FFC246"),{width:Dn===0?"2px":`${Math.max(Dn,2)}%`,backgroundColor:Xn}});return(Dn,Xn)=>(ii(),gi(cu,null,[oe("aside",cet,[oe("div",het,[oe("div",fet,[Xn[1]||(Xn[1]=oe("div",{class:"mb-2 flex justify-center"},[oe("img",{src:cX,alt:"MeshCore",class:"h-4 opacity-80"})],-1)),Xn[2]||(Xn[2]=oe("h1",{class:"text-white text-[22px] font-extrabold tracking-tight mb-3 text-center",style:{"font-family":"system-ui, -apple-system, sans-serif"}},"pyMC Repeater",-1)),oe("p",det,[Zu(mi(Dl(R).nodeName)+" ",1),oe("span",{class:ko(["inline-block w-2 h-2 rounded-full ml-2",Dl(R).statusBadge.text==="Active"?"bg-accent-green":Dl(R).statusBadge.text==="Monitor Mode"?"bg-secondary":"bg-accent-red"]),title:Dl(R).statusBadge.title},null,10,pet)]),oe("p",met,"<"+mi(Dl(R).pubKey)+">",1)]),Xn[11]||(Xn[11]=oe("div",{class:"border-t border-dark-border mb-6"},null,-1)),oe("div",get,[Xn[4]||(Xn[4]=oe("p",{class:"text-dark-text text-xs uppercase mb-4"},"Actions",-1)),oe("button",{onClick:Xn[0]||(Xn[0]=Ni=>It.value=!0),class:"w-full bg-white rounded-[10px] py-3 px-4 flex items-center gap-2 text-sm font-medium text-[#212122] hover:bg-gray-100 transition-colors"},Xn[3]||(Xn[3]=[oe("svg",{class:"w-3.5 h-3.5",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[oe("path",{d:"M7 0C5.61553 0 4.26216 0.410543 3.11101 1.17971C1.95987 1.94888 1.06266 3.04213 0.532846 4.32122C0.003033 5.6003 -0.13559 7.00777 0.134506 8.36563C0.404603 9.7235 1.07129 10.9708 2.05026 11.9497C3.02922 12.9287 4.2765 13.5954 5.63437 13.8655C6.99224 14.1356 8.3997 13.997 9.67879 13.4672C10.9579 12.9373 12.0511 12.0401 12.8203 10.889C13.5895 9.73785 14 8.38447 14 7C13.998 5.1441 13.2599 3.36479 11.9475 2.05247C10.6352 0.74015 8.8559 0.0020073 7 0V0ZM7 12.8333C5.84628 12.8333 4.71846 12.4912 3.75918 11.8502C2.79989 11.2093 2.05222 10.2982 1.61071 9.23232C1.16919 8.16642 1.05368 6.99353 1.27876 5.86197C1.50384 4.73042 2.05941 3.69102 2.87521 2.87521C3.69102 2.0594 4.73042 1.50383 5.86198 1.27875C6.99353 1.05367 8.16642 1.16919 9.23232 1.6107C10.2982 2.05221 11.2093 2.79989 11.8502 3.75917C12.4912 4.71846 12.8333 5.84628 12.8333 7C12.8316 8.54658 12.2165 10.0293 11.1229 11.1229C10.0293 12.2165 8.54658 12.8316 7 12.8333ZM8.16667 7C8.1676 7.20501 8.11448 7.40665 8.01268 7.58461C7.91087 7.76256 7.76397 7.91054 7.58677 8.01365C7.40957 8.11676 7.20833 8.17136 7.00332 8.17194C6.7983 8.17252 6.59675 8.11906 6.41897 8.01696C6.24119 7.91485 6.09346 7.7677 5.99065 7.59033C5.88784 7.41295 5.83358 7.21162 5.83335 7.0066C5.83312 6.80159 5.88691 6.60013 5.98932 6.42252C6.09172 6.24491 6.23912 6.09743 6.41667 5.99492V3.5H7.58334V5.99492C7.76016 6.09659 7.90713 6.24298 8.00952 6.41939C8.1119 6.5958 8.1661 6.79603 8.16667 7Z",fill:"#212122"})],-1),Zu(" Send Advert ",-1)]))]),oe("div",vet,[Xn[5]||(Xn[5]=oe("p",{class:"text-dark-text text-xs uppercase mb-4"},"Monitoring",-1)),oe("div",yet,[(ii(!0),gi(cu,null,Yc(Je.slice(0,3),Ni=>(ii(),gi("button",{key:Ni.name,onClick:zi=>Tr(Ni.route),class:ko([fr.value(Ni.route)?"bg-primary/20 shadow-[0_0_6px_0_rgba(170,232,232,0.20)] text-primary":"text-white hover:bg-white/5","w-full rounded-[10px] py-3 px-4 flex items-center gap-3 text-sm transition-all"])},[(ii(),Y0(d4(Le[Ni.icon]),{class:"w-3.5 h-3.5"})),Zu(" "+mi(Ni.name),1)],10,xet))),128))])]),oe("div",_et,[Xn[6]||(Xn[6]=oe("p",{class:"text-dark-text text-xs uppercase mb-4"},"System",-1)),oe("div",bet,[(ii(!0),gi(cu,null,Yc(Je.slice(3),Ni=>(ii(),gi("button",{key:Ni.name,onClick:zi=>Tr(Ni.route),class:ko([fr.value(Ni.route)?"bg-primary/20 shadow-[0_0_6px_0_rgba(170,232,232,0.20)] text-primary":"text-white hover:bg-white/5","w-full rounded-[10px] py-3 px-4 flex items-center gap-3 text-sm transition-all"])},[(ii(),Y0(d4(Le[Ni.icon]),{class:"w-3.5 h-3.5"})),Zu(" "+mi(Ni.name),1)],10,wet))),128))])]),Al(WO,{"current-value":Dl(R).noiseFloorDbm||-116,"update-interval":3e3,class:"mb-6"},null,8,["current-value"]),oe("button",{onClick:fn,disabled:dt.value,class:ko(["p-4 flex items-center justify-between mb-4 w-full transition-all duration-200 cursor-pointer group",Dl(R).modeButtonState.warning?"glass-card-orange hover:bg-accent-red/10":"glass-card-green hover:bg-accent-green/10"])},[oe("div",Tet,[Al(QO,{class:"w-4 h-4 text-white group-hover:text-primary transition-colors"}),Xn[7]||(Xn[7]=oe("span",{class:"text-white text-sm group-hover:text-primary transition-colors"},"Mode",-1))]),oe("span",{class:ko(["text-xs font-medium group-hover:text-white transition-colors",Dl(R).modeButtonState.warning?"text-accent-red":"text-accent-green"])},mi(dt.value?"Changing...":Dl(R).currentMode.charAt(0).toUpperCase()+Dl(R).currentMode.slice(1)),3)],10,ket),oe("button",{onClick:Dt,disabled:_t.value,class:ko(["p-4 flex items-center justify-between mb-4 w-full transition-all duration-200 cursor-pointer group",Dl(R).dutyCycleButtonState.warning?"glass-card-orange hover:bg-accent-red/10":"glass-card-green hover:bg-accent-green/10"])},[oe("div",Met,[Al(tD,{class:"w-3.5 h-3.5 text-white group-hover:text-primary transition-colors"}),Xn[8]||(Xn[8]=oe("span",{class:"text-white text-sm group-hover:text-primary transition-colors"},"Duty Cycle",-1))]),oe("span",{class:ko(["text-xs font-medium group-hover:text-white transition-colors",Dl(R).dutyCycleButtonState.warning?"text-accent-red":"text-primary"])},mi(_t.value?"Changing...":Dl(R).dutyCycleEnabled?"Enabled":"Disabled"),3)],10,Aet),oe("div",Eet,[oe("div",Cet,[oe("span",Let," R:v"+mi(Dl(R).version),1),oe("span",Pet," C:v"+mi(Dl(R).coreVersion),1)])]),Xn[12]||(Xn[12]=oe("div",{class:"border-t border-accent-green mb-4"},null,-1)),Dl(R).dutyCycleEnabled?(ii(),gi("div",Iet,[oe("p",zet,[Xn[9]||(Xn[9]=Zu(" Duty Cycle: ",-1)),oe("span",Oet,mi(Dl(R).dutyCycleUtilization.toFixed(1))+"% / "+mi(Dl(R).dutyCycleMax.toFixed(1))+"%",1)]),oe("div",Det,[oe("div",{class:"h-full rounded-full transition-all duration-300",style:G0(Qn.value)},null,4)])])):Oo("",!0),oe("div",Fet,[oe("div",Bet,[Xn[10]||(Xn[10]=oe("svg",{class:"w-3 h-3",viewBox:"0 0 13 13",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[oe("path",{d:"M6.5 13C5.59722 13 4.75174 12.8286 3.96355 12.4858C3.17537 12.143 2.48926 11.6795 1.90522 11.0955C1.32119 10.5115 0.85776 9.82535 0.514945 9.03717C0.172131 8.24898 0.000482491 7.40326 1.0101e-06 6.5C-0.000480471 5.59674 0.171168 4.75126 0.514945 3.96356C0.858723 3.17585 1.32191 2.48974 1.9045 1.90522C2.48709 1.3207 3.1732 0.857278 3.96283 0.514944C4.75246 0.172611 5.59818 0.000962963 6.5 0C7.48703 0 8.42303 0.210648 9.30799 0.631944C10.193 1.05324 10.9421 1.64907 11.5555 2.41944V1.44444C11.5555 1.23981 11.6249 1.06841 11.7635 0.930222C11.9022 0.792037 12.0736 0.722704 12.2778 0.722222C12.4819 0.721741 12.6536 0.791074 12.7927 0.930222C12.9319 1.06937 13.001 1.24078 13 1.44444V4.33333C13 4.53796 12.9307 4.70961 12.792 4.84828C12.6533 4.98694 12.4819 5.05604 12.2778 5.05556H9.38888C9.18425 5.05556 9.01285 4.98622 8.87466 4.84756C8.73647 4.70889 8.66714 4.53748 8.66666 4.33333C8.66618 4.12919 8.73551 3.95778 8.87466 3.81911C9.01381 3.68044 9.18521 3.61111 9.38888 3.61111H10.6528C10.1593 2.93704 9.55138 2.40741 8.82916 2.02222C8.10694 1.63704 7.33055 1.44444 6.5 1.44444C5.09166 1.44444 3.89711 1.93507 2.91633 2.91633C1.93555 3.89759 1.44493 5.09215 1.44444 6.5C1.44396 7.90785 1.93459 9.10265 2.91633 10.0844C3.89807 11.0661 5.09263 11.5565 6.5 11.5556C7.64351 11.5556 8.66666 11.2125 9.56944 10.5264C10.4722 9.84028 11.068 8.95555 11.3569 7.87222C11.4171 7.67963 11.5255 7.53519 11.6819 7.43889C11.8384 7.34259 12.013 7.30648 12.2055 7.33055C12.4102 7.35463 12.5727 7.44178 12.693 7.592C12.8134 7.74222 12.8495 7.90785 12.8014 8.08889C12.4523 9.5213 11.694 10.698 10.5264 11.6191C9.35879 12.5402 8.01666 13.0005 6.5 13ZM7.22222 6.21111L9.02777 8.01667C9.16018 8.14907 9.22638 8.31759 9.22638 8.52222C9.22638 8.72685 9.16018 8.89537 9.02777 9.02778C8.89536 9.16018 8.72685 9.22639 8.52222 9.22639C8.31759 9.22639 8.14907 9.16018 8.01666 9.02778L5.99444 7.00556C5.92222 6.93333 5.86805 6.8522 5.83194 6.76217C5.79583 6.67213 5.77777 6.57872 5.77777 6.48194V3.61111C5.77777 3.40648 5.84711 3.23507 5.98577 3.09689C6.12444 2.9587 6.29585 2.88937 6.5 2.88889C6.70414 2.88841 6.87579 2.95774 7.01494 3.09689C7.15409 3.23604 7.22318 3.40744 7.22222 3.61111V6.21111Z",fill:"currentColor"})],-1)),Zu(" Last Updated: "+mi(un.value),1)]),oe("div",Ret,[oe("a",Net,[Al(QQ,{class:"w-4 h-4 text-dark-text hover:text-white transition-colors"})]),oe("a",jet,[Al(ntt,{class:"w-4 h-4 text-dark-text hover:text-white transition-colors"})])])])])]),Al(qO,{isOpen:It.value,isLoading:K.value,isSuccess:jt.value,error:te.value,onClose:Vr,onSend:wr},null,8,["isOpen","isLoading","isSuccess","error"])],64))}}),Vet={key:0,class:"fixed inset-0 z-[1010] lg:hidden"},Het={class:"absolute left-0 top-0 bottom-0 w-72 p-4"},Wet={class:"bg-black/20 backdrop-blur-xl border border-white/10 rounded-2xl h-full p-6 overflow-auto shadow-2xl"},qet={class:"mb-6 flex items-center justify-between"},$et={class:"text-[#C3C3C3] text-sm"},Zet=["title"],Get={class:"text-[#C3C3C3] text-sm mt-1"},Yet={class:"mb-4"},Ket={class:"mb-4"},Xet={class:"space-y-2 mb-3"},Jet=["onClick"],Qet={class:"mb-4"},trt={class:"space-y-2 mb-3"},ert=["onClick"],rrt=["disabled"],nrt={class:"flex items-center gap-3"},irt=["disabled"],art={class:"flex items-center gap-3"},ort={class:"mb-4"},srt={class:"flex items-center gap-2"},lrt={class:"glass-card px-2 py-1 text-dark-text text-xs font-medium rounded border border-dark-border"},urt={class:"glass-card px-2 py-1 text-dark-text text-xs font-medium rounded border border-dark-border"},crt={key:0,class:"mb-4"},hrt={class:"text-dark-text text-xs mb-2"},frt={class:"text-white"},drt={class:"w-full h-1 bg-white/10 rounded-full overflow-hidden"},prt={class:"text-dark-text text-xs"},mrt=Ec({name:"MobileSidebar",__name:"MobileSidebar",props:{showMobileSidebar:{type:Boolean}},emits:["update:showMobileSidebar"],setup(d,{emit:s}){const E=s,R=yO(),K=xO(),dt=Dm(),_t=ja(!1),It=ja(!1),jt=ja(!1),te=ja(!1),le=ja(!1),Le=ja(null);let Je=null;op(async()=>{Je=await dt.startAutoRefresh(5e3)}),Oy(()=>{Je&&Je()});const fr={dashboard:ZO,neighbors:JO,statistics:KO,"system-stats":XO,configuration:$O,logs:YO,help:GO},Tr=[{name:"Dashboard",icon:"dashboard",route:"/"},{name:"Neighbors",icon:"neighbors",route:"/neighbors"},{name:"Statistics",icon:"statistics",route:"/statistics"},{name:"System Stats",icon:"system-stats",route:"/system-stats"},{name:"Configuration",icon:"configuration",route:"/configuration"},{name:"Logs",icon:"logs",route:"/logs"},{name:"Help",icon:"help",route:"/help"}],wr=qo(()=>zi=>K.path===zi),Vr=zi=>{R.push(zi),fn()},fn=()=>{E("update:showMobileSidebar",!1)},Dt=async()=>{_t.value=!0,Le.value=null;try{await dt.sendAdvert(),le.value=!0,setTimeout(()=>{un()},2e3)}catch(zi){Le.value=zi instanceof Error?zi.message:"Unknown error occurred",console.error("Failed to send advert:",zi)}finally{_t.value=!1}},un=()=>{te.value=!1,le.value=!1,Le.value=null,_t.value=!1},Qn=async()=>{if(!It.value){It.value=!0;try{await dt.toggleMode()}catch(zi){console.error("Failed to toggle mode:",zi)}finally{It.value=!1}}},Dn=async()=>{if(!jt.value){jt.value=!0;try{await dt.toggleDutyCycle()}catch(zi){console.error("Failed to toggle duty cycle:",zi)}finally{jt.value=!1}}},Xn=ja(new Date().toLocaleTimeString());setInterval(()=>{Xn.value=new Date().toLocaleTimeString()},1e3);const Ni=qo(()=>{const zi=dt.dutyCyclePercentage;let qr="#A5E5B6";return zi>90?qr="#FB787B":zi>70&&(qr="#FFC246"),{width:zi===0?"2px":`${Math.max(zi,2)}%`,backgroundColor:qr}});return(zi,qr)=>(ii(),gi(cu,null,[zi.showMobileSidebar?(ii(),gi("div",Vet,[oe("div",{class:"absolute inset-0 bg-black/30 backdrop-blur-sm",onClick:fn}),oe("div",Het,[oe("div",Wet,[oe("div",qet,[oe("div",null,[qr[1]||(qr[1]=oe("h1",{class:"text-white text-[20px] font-bold"},"pyMC Repeater",-1)),oe("p",$et,[Zu(mi(Dl(dt).nodeName)+" ",1),oe("span",{class:ko(["inline-block w-2 h-2 rounded-full ml-2",Dl(dt).statusBadge.text==="Active"?"bg-accent-green":Dl(dt).statusBadge.text==="Monitor Mode"?"bg-secondary":"bg-accent-red"]),title:Dl(dt).statusBadge.title},null,10,Zet)]),oe("p",Get,"<"+mi(Dl(dt).pubKey)+">",1)]),oe("button",{onClick:fn,class:"text-dark-text"},"✕")]),qr[9]||(qr[9]=oe("div",{class:"border-t border-dark-border mb-4"},null,-1)),oe("div",Yet,[qr[3]||(qr[3]=oe("p",{class:"text-dark-text text-xs uppercase mb-2"},"Actions",-1)),oe("button",{onClick:qr[0]||(qr[0]=Si=>te.value=!0),class:"w-full bg-white rounded-[10px] py-3 px-4 flex items-center gap-2 text-sm font-medium text-[#212122] hover:bg-gray-100 transition-colors mb-2"},qr[2]||(qr[2]=[oe("svg",{class:"w-3.5 h-3.5",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[oe("path",{d:"M7 0C5.61553 0 4.26216 0.410543 3.11101 1.17971C1.95987 1.94888 1.06266 3.04213 0.532846 4.32122C0.003033 5.6003 -0.13559 7.00777 0.134506 8.36563C0.404603 9.7235 1.07129 10.9708 2.05026 11.9497C3.02922 12.9287 4.2765 13.5954 5.63437 13.8655C6.99224 14.1356 8.3997 13.997 9.67879 13.4672C10.9579 12.9373 12.0511 12.0401 12.8203 10.889C13.5895 9.73785 14 8.38447 14 7C13.998 5.1441 13.2599 3.36479 11.9475 2.05247C10.6352 0.74015 8.8559 0.0020073 7 0V0ZM7 12.8333C5.84628 12.8333 4.71846 12.4912 3.75918 11.8502C2.79989 11.2093 2.05222 10.2982 1.61071 9.23232C1.16919 8.16642 1.05368 6.99353 1.27876 5.86197C1.50384 4.73042 2.05941 3.69102 2.87521 2.87521C3.69102 2.0594 4.73042 1.50383 5.86198 1.27875C6.99353 1.05367 8.16642 1.16919 9.23232 1.6107C10.2982 2.05221 11.2093 2.79989 11.8502 3.75917C12.4912 4.71846 12.8333 5.84628 12.8333 7C12.8316 8.54658 12.2165 10.0293 11.1229 11.1229C10.0293 12.2165 8.54658 12.8316 7 12.8333ZM8.16667 7C8.1676 7.20501 8.11448 7.40665 8.01268 7.58461C7.91087 7.76256 7.76397 7.91054 7.58677 8.01365C7.40957 8.11676 7.20833 8.17136 7.00332 8.17194C6.7983 8.17252 6.59675 8.11906 6.41897 8.01696C6.24119 7.91485 6.09346 7.7677 5.99065 7.59033C5.88784 7.41295 5.83358 7.21162 5.83335 7.0066C5.83312 6.80159 5.88691 6.60013 5.98932 6.42252C6.09172 6.24491 6.23912 6.09743 6.41667 5.99492V3.5H7.58334V5.99492C7.76016 6.09659 7.90713 6.24298 8.00952 6.41939C8.1119 6.5958 8.1661 6.79603 8.16667 7Z",fill:"#212122"})],-1),Zu(" Send Advert ",-1)]))]),oe("div",Ket,[qr[4]||(qr[4]=oe("p",{class:"text-dark-text text-xs uppercase mb-2"},"Monitoring",-1)),oe("div",Xet,[(ii(!0),gi(cu,null,Yc(Tr.slice(0,3),Si=>(ii(),gi("button",{key:Si.name,onClick:Nn=>Vr(Si.route),class:ko([wr.value(Si.route)?"bg-primary/20 shadow-[0_0_6px_0_rgba(170,232,232,0.20)] text-primary":"text-white hover:bg-white/5","w-full rounded-[10px] py-3 px-4 flex items-center gap-3 text-sm transition-all"])},[(ii(),Y0(d4(fr[Si.icon]),{class:"w-3.5 h-3.5"})),Zu(" "+mi(Si.name),1)],10,Jet))),128))])]),oe("div",Qet,[qr[5]||(qr[5]=oe("p",{class:"text-dark-text text-xs uppercase mb-2"},"System",-1)),oe("div",trt,[(ii(!0),gi(cu,null,Yc(Tr.slice(3),Si=>(ii(),gi("button",{key:Si.name,onClick:Nn=>Vr(Si.route),class:ko([wr.value(Si.route)?"bg-primary/20 shadow-[0_0_6px_0_rgba(170,232,232,0.20)] text-primary":"text-white hover:bg-white/5","w-full rounded-[10px] py-3 px-4 flex items-center gap-3 text-sm transition-all"])},[(ii(),Y0(d4(fr[Si.icon]),{class:"w-3.5 h-3.5"})),Zu(" "+mi(Si.name),1)],10,ert))),128))])]),Al(WO,{"current-value":Dl(dt).noiseFloorDbm||-116,"update-interval":3e3,class:"mb-4"},null,8,["current-value"]),oe("button",{onClick:Qn,disabled:It.value,class:ko(["p-4 flex items-center justify-between mb-3 w-full transition-all duration-200 cursor-pointer group",Dl(dt).modeButtonState.warning?"glass-card-orange hover:bg-accent-red/10":"glass-card-green hover:bg-accent-green/10"])},[oe("div",nrt,[Al(QO,{class:"w-4 h-4 text-white group-hover:text-primary transition-colors"}),qr[6]||(qr[6]=oe("span",{class:"text-white text-sm group-hover:text-primary transition-colors"},"Mode",-1))]),oe("span",{class:ko(["text-xs font-medium group-hover:text-white transition-colors",Dl(dt).modeButtonState.warning?"text-accent-red":"text-accent-green"])},mi(It.value?"Changing...":Dl(dt).currentMode.charAt(0).toUpperCase()+Dl(dt).currentMode.slice(1)),3)],10,rrt),oe("button",{onClick:Dn,disabled:jt.value,class:ko(["p-4 flex items-center justify-between mb-3 w-full transition-all duration-200 cursor-pointer group",Dl(dt).dutyCycleButtonState.warning?"glass-card-orange hover:bg-accent-red/10":"glass-card-green hover:bg-accent-green/10"])},[oe("div",art,[Al(tD,{class:"w-3.5 h-3.5 text-white group-hover:text-primary transition-colors"}),qr[7]||(qr[7]=oe("span",{class:"text-white text-sm group-hover:text-primary transition-colors"},"Duty Cycle",-1))]),oe("span",{class:ko(["text-xs font-medium group-hover:text-white transition-colors",Dl(dt).dutyCycleButtonState.warning?"text-accent-red":"text-primary"])},mi(jt.value?"Changing...":Dl(dt).dutyCycleEnabled?"Enabled":"Disabled"),3)],10,irt),oe("div",ort,[oe("div",srt,[oe("span",lrt," R:v"+mi(Dl(dt).version),1),oe("span",urt," C:v"+mi(Dl(dt).coreVersion),1)])]),qr[10]||(qr[10]=oe("div",{class:"border-t border-accent-green mb-4"},null,-1)),Dl(dt).dutyCycleEnabled?(ii(),gi("div",crt,[oe("p",hrt,[qr[8]||(qr[8]=Zu(" Duty Cycle: ",-1)),oe("span",frt,mi(Dl(dt).dutyCycleUtilization.toFixed(1))+"% / "+mi(Dl(dt).dutyCycleMax.toFixed(1))+"%",1)]),oe("div",drt,[oe("div",{class:"h-full rounded-full transition-all duration-300",style:G0(Ni.value)},null,4)])])):Oo("",!0),oe("p",prt,"Last Updated: "+mi(Xn.value),1)])])])):Oo("",!0),Al(qO,{isOpen:te.value,isLoading:_t.value,isSuccess:le.value,error:Le.value,onClose:un,onSend:Dt},null,8,["isOpen","isLoading","isSuccess","error"])],64))}}),grt={class:"glass-card p-3 sm:p-6 mb-5 rounded-[20px] relative z-10"},vrt={class:"flex justify-between"},yrt={class:"flex items-start gap-3"},xrt={class:"text-right mr-2 sm:mr-4"},_rt={key:0,class:"flex items-center gap-2"},brt={key:1,class:"space-y-1"},wrt={class:"text-dark-text text-xs sm:text-sm"},krt={class:"text-primary font-medium"},Trt={key:0,class:"text-xs text-dark-text/80"},Art={key:0},Mrt={key:1,class:"text-xs text-dark-text/60 hidden sm:block"},Srt={key:2},Ert={key:0,class:"text-xs text-dark-text/60 hidden sm:block"},Crt={class:"flex items-center justify-between mb-3"},Lrt={class:"flex items-center gap-2"},Prt=["disabled"],Irt=["disabled"],zrt={class:"space-y-3 text-sm"},Ort={key:0,class:"bg-[#0B1014] p-3 rounded-lg border border-accent-red/30 border-l-2 border-l-accent-red"},Drt={class:"flex items-center justify-between"},Frt={class:"text-accent-red font-bold"},Brt={class:"text-xs text-gray-400 mt-1"},Rrt={key:1,class:"bg-[#0B1014] p-3 rounded-lg border border-white/10 border-l-2 border-l-accent-green"},Nrt={class:"flex items-center justify-between"},jrt={class:"text-accent-green font-bold"},Urt={key:0,class:"text-xs text-gray-400 mt-1"},Vrt={key:2,class:"bg-[#0B1014] p-3 rounded-lg border border-white/10"},Hrt={key:3,class:"bg-[#0B1014] p-3 rounded-lg border border-accent-red/30 border-l-2 border-l-accent-red"},Wrt={class:"text-xs text-gray-400"},qrt={class:"bg-[#0B1014] p-3 rounded-lg border border-white/10 border-l-2 border-l-primary"},$rt={class:"flex items-center justify-between"},Zrt={class:"text-primary font-bold"},Grt={key:0,class:"text-xs text-gray-400 mt-1"},Yrt={class:"flex items-center justify-between"},Krt={class:"text-white font-medium"},Xrt={key:0,class:"mt-2"},Jrt={class:"text-xs text-gray-400"},Qrt={class:"text-gray-300"},tnt={key:4,class:"bg-[#0B1014] p-4 rounded-lg border border-white/10 text-center"},ent={key:5,class:"bg-[#0B1014] p-3 rounded-lg border border-white/10 text-center"},rnt=Ec({name:"TopBar",__name:"TopBar",emits:["toggleMobileSidebar"],setup(d,{emit:s}){const E=s,R=Dm(),K=ja(!1),dt=ja(null),_t=ja({hasUpdate:!1,currentVersion:"",latestVersion:"",isChecking:!1,lastChecked:null,error:null}),It=ja({}),jt=ja(!0),te=ja(null),le=["Chat Node","Repeater","Room Server"];function Le(zi){const qr=zi.target;dt.value&&!dt.value.contains(qr)&&(K.value=!1)}const Je=async()=>{try{jt.value=!0;const zi={};for(const qr of le)try{const Si=await oh.get(`/adverts_by_contact_type?contact_type=${encodeURIComponent(qr)}&hours=168`);Si.success&&Array.isArray(Si.data)?zi[qr]=Si.data:zi[qr]=[]}catch(Si){console.error(`Error fetching ${qr} nodes:`,Si),zi[qr]=[]}It.value=zi,te.value=new Date}catch(zi){console.error("Error updating tracked nodes:",zi)}finally{jt.value=!1}},fr=async()=>{if(!_t.value.isChecking)try{_t.value.isChecking=!0,_t.value.error=null,await R.fetchStats();const zi=R.version;if(!zi||zi==="Unknown"){_t.value.error="Unable to determine current version";return}const Si=await fetch("https://raw.githubusercontent.com/rightup/pyMC_Repeater/main/repeater/__init__.py");if(!Si.ok)throw new Error(`GitHub request failed: ${Si.status}`);const si=(await Si.text()).match(/__version__\s*=\s*["']([^"']+)["']/);if(!si)throw new Error("Could not parse version from GitHub file");const Hn=si[1];_t.value.currentVersion=zi,_t.value.latestVersion=Hn,_t.value.lastChecked=new Date,_t.value.hasUpdate=zi!==Hn}catch(zi){console.error("Error checking for updates:",zi),_t.value.error=zi instanceof Error?zi.message:"Failed to check for updates"}finally{_t.value.isChecking=!1}},Tr=qo(()=>Object.values(It.value).reduce((qr,Si)=>qr+Si.length,0)),wr=qo(()=>le.map(qr=>({type:qr,count:It.value[qr]?.length||0})).filter(qr=>qr.count>0)),Vr=qo(()=>_t.value.hasUpdate||Tr.value>0),fn=zi=>({"Chat Node":"text-blue-400",Repeater:"text-accent-green","Room Server":"text-accent-purple"})[zi]||"text-gray-400",Dt=zi=>{const qr=It.value[zi]||[];return qr.length===0?"None":qr.reduce((Nn,si)=>si.last_seen>Nn.last_seen?si:Nn,qr[0]).node_name||"Unknown Node"};let un=null,Qn=null;const Dn=()=>{un&&clearInterval(un),un=setInterval(()=>{Je()},3e4),Qn&&clearInterval(Qn),Qn=setInterval(()=>{fr()},6e5)},Xn=()=>{un&&(clearInterval(un),un=null),Qn&&(clearInterval(Qn),Qn=null)};op(()=>{document.addEventListener("click",Le),Je(),fr(),Dn()}),zm(()=>{document.removeEventListener("click",Le),Xn()});const Ni=()=>{E("toggleMobileSidebar")};return(zi,qr)=>(ii(),gi("div",grt,[oe("div",vrt,[oe("div",{class:"flex items-center gap-3"},[oe("button",{onClick:Ni,class:"lg:hidden w-10 h-10 rounded bg-[#1A1E1F] flex items-center justify-center hover:bg-[#2A2E2F] transition-colors"},qr[2]||(qr[2]=[oe("svg",{class:"w-5 h-5 text-white",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[oe("path",{d:"M3 6h14M3 10h14M3 14h14",stroke:"white","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])),qr[3]||(qr[3]=oe("div",{class:"hidden sm:block"},[oe("h1",{class:"text-white text-2xl lg:text-[35px] font-bold mb-1 sm:mb-2"},"Welcome👋")],-1))]),oe("div",yrt,[oe("div",xrt,[jt.value?(ii(),gi("div",_rt,qr[4]||(qr[4]=[oe("div",{class:"animate-spin rounded-full h-3 w-3 border-b-2 border-primary"},null,-1),oe("p",{class:"text-dark-text text-xs sm:text-sm"},"Loading...",-1)]))):Tr.value>0?(ii(),gi("div",brt,[oe("p",wrt,[qr[5]||(qr[5]=Zu(" Tracking: ",-1)),oe("span",krt,mi(Tr.value)+" node"+mi(Tr.value===1?"":"s"),1)]),wr.value.length>0?(ii(),gi("div",Trt,[(ii(!0),gi(cu,null,Yc(wr.value,(Si,Nn)=>(ii(),gi("span",{key:Si.type,class:"inline"},[Zu(mi(Si.count)+" "+mi(Si.type)+mi(Si.count===1?"":"s"),1),Nn',1)),oe("button",{onClick:qr[0]||(qr[0]=Pm(Si=>K.value=!K.value,["stop"])),class:"w-[35px] h-[35px] rounded bg-[#1A1E1F] flex items-center justify-center hover:bg-[#2A2E2F] transition-colors relative"},[qr[7]||(qr[7]=oe("svg",{class:"w-5 h-5",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[oe("path",{d:"M12.5 14.1667V15C12.5 16.3807 11.3807 17.5 9.99998 17.5C8.61927 17.5 7.49998 16.3807 7.49998 15V14.1667M12.5 14.1667L7.49998 14.1667M12.5 14.1667H15.8333C16.2936 14.1667 16.6666 13.7936 16.6666 13.3333V12.845C16.6666 12.624 16.5788 12.4122 16.4225 12.2559L15.9969 11.8302C15.8921 11.7255 15.8333 11.5833 15.8333 11.4351V8.33333C15.8333 8.1863 15.828 8.04045 15.817 7.89674M7.49998 14.1667L4.16665 14.1668C3.70641 14.1668 3.33331 13.7934 3.33331 13.3332V12.8451C3.33331 12.6241 3.42118 12.4124 3.57745 12.2561L4.00307 11.8299C4.10781 11.7251 4.16665 11.5835 4.16665 11.4353V8.33331C4.16665 5.11167 6.77831 2.5 9.99998 2.5C10.593 2.5 11.1653 2.58848 11.7045 2.75297M15.817 7.89674C16.8223 7.32275 17.5 6.24051 17.5 5C17.5 3.15905 16.0076 1.66666 14.1666 1.66666C13.1914 1.66666 12.3141 2.08544 11.7045 2.75297M15.817 7.89674C15.3304 8.17457 14.7671 8.33333 14.1666 8.33333C12.3257 8.33333 10.8333 6.84095 10.8333 5C10.8333 4.13425 11.1634 3.34558 11.7045 2.75297M15.817 7.89674C15.817 7.89674 15.817 7.89675 15.817 7.89674ZM11.7045 2.75297C11.7049 2.75309 11.7053 2.75321 11.7057 2.75333",stroke:"white","stroke-linecap":"round","stroke-linejoin":"round"})],-1)),Vr.value?(ii(),gi("span",{key:0,class:ko(["absolute top-2 right-2 w-2 h-2 rounded-full",_t.value.hasUpdate?"bg-accent-red animate-pulse":"bg-primary"])},null,2)):Oo("",!0)]),K.value?(ii(),gi("div",{key:0,ref_key:"notifRef",ref:dt,class:"absolute right-6 top-14 z-[100] w-80 bg-[#1A1E1F] border border-white/20 rounded-[15px] p-4 shadow-2xl backdrop-blur-sm",onClick:qr[1]||(qr[1]=Pm(()=>{},["stop"]))},[oe("div",Crt,[qr[9]||(qr[9]=oe("p",{class:"text-white font-semibold"},"System Status",-1)),oe("div",Lrt,[oe("button",{onClick:fr,disabled:_t.value.isChecking,class:"text-xs text-primary hover:text-primary/80 disabled:opacity-50",title:"Check for updates"},mi(_t.value.isChecking?"Checking...":"Check Updates"),9,Prt),qr[8]||(qr[8]=oe("span",{class:"text-dark-text text-xs"},"•",-1)),oe("button",{onClick:Je,disabled:jt.value,class:"text-xs text-primary hover:text-primary/80 disabled:opacity-50"},mi(jt.value?"Updating...":"Refresh"),9,Irt)])]),oe("div",zrt,[_t.value.hasUpdate?(ii(),gi("div",Ort,[oe("div",Drt,[qr[10]||(qr[10]=oe("span",{class:"text-white font-medium"},"Update Available",-1)),oe("span",Frt,mi(_t.value.latestVersion),1)]),oe("div",Brt," Current: "+mi(_t.value.currentVersion),1),qr[11]||(qr[11]=oe("div",{class:"text-xs text-gray-300 mt-2"},[oe("a",{href:"https://github.com/rightup/pyMC_Repeater",target:"_blank",class:"text-accent-red hover:text-accent-red/80 underline"}," Goto Github→ ")],-1))])):_t.value.currentVersion&&!_t.value.isChecking?(ii(),gi("div",Rrt,[oe("div",Nrt,[qr[12]||(qr[12]=oe("span",{class:"text-white font-medium"},"Up to Date",-1)),oe("span",jrt,mi(_t.value.currentVersion),1)]),_t.value.lastChecked?(ii(),gi("div",Urt," Last checked: "+mi(_t.value.lastChecked.toLocaleTimeString()),1)):Oo("",!0)])):_t.value.isChecking?(ii(),gi("div",Vrt,qr[13]||(qr[13]=[oe("div",{class:"flex items-center justify-center gap-2"},[oe("div",{class:"animate-spin rounded-full h-4 w-4 border-b-2 border-primary"}),oe("span",{class:"text-gray-300"},"Checking for updates...")],-1)]))):_t.value.error?(ii(),gi("div",Hrt,[qr[14]||(qr[14]=oe("div",{class:"text-white font-medium mb-1"},"Update Check Failed",-1)),oe("div",Wrt,mi(_t.value.error),1)])):Oo("",!0),qr[19]||(qr[19]=oe("div",{class:"border-t border-white/10"},null,-1)),qr[20]||(qr[20]=oe("div",{class:"text-white font-medium text-sm mb-2"},"Mesh Network Status",-1)),oe("div",qrt,[oe("div",$rt,[qr[15]||(qr[15]=oe("span",{class:"text-white font-medium"},"Total Tracked Nodes",-1)),oe("span",Zrt,mi(Tr.value),1)]),te.value?(ii(),gi("div",Grt," Last updated: "+mi(te.value.toLocaleString()),1)):Oo("",!0)]),(ii(!0),gi(cu,null,Yc(wr.value,Si=>(ii(),gi("div",{key:Si.type,class:"bg-[#0B1014] p-3 rounded-lg border border-white/10"},[oe("div",Yrt,[oe("span",Krt,mi(Si.type)+mi(Si.count===1?"":"s"),1),oe("span",{class:ko([fn(Si.type),"font-bold"])},mi(Si.count),3)]),It.value[Si.type]?.length>0?(ii(),gi("div",Xrt,[oe("div",Jrt,[qr[16]||(qr[16]=Zu(" Latest: ",-1)),oe("span",Qrt,mi(Dt(Si.type)),1)])])):Oo("",!0)]))),128)),Tr.value===0&&!jt.value?(ii(),gi("div",tnt,qr[17]||(qr[17]=[oe("div",{class:"text-gray-400"},[oe("svg",{class:"w-8 h-8 mx-auto mb-2 opacity-50",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[oe("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9.172 16.172a4 4 0 015.656 0M9 12h6m-6-4h6m2 5.291A7.962 7.962 0 0112 15c-2.034 0-3.9.785-5.291 2.09M15 12a3 3 0 11-6 0 3 3 0 016 0z"})]),oe("span",null,"No mesh nodes detected")],-1)]))):Oo("",!0),jt.value?(ii(),gi("div",ent,qr[18]||(qr[18]=[oe("div",{class:"flex items-center justify-center gap-2"},[oe("div",{class:"animate-spin rounded-full h-4 w-4 border-b-2 border-primary"}),oe("span",{class:"text-gray-300"},"Scanning mesh network...")],-1)]))):Oo("",!0)])],512)):Oo("",!0)])])]))}}),nnt=Bf(rnt,[["__scopeId","data-v-6b95fcf5"]]),int={class:"min-h-screen bg-dark-bg overflow-hidden relative font-sans"},ant={class:"relative flex min-h-screen"},ont={class:"flex-1 p-4 lg:p-[15px] overflow-y-auto"},snt=Ec({name:"DashboardLayout",__name:"DashboardLayout",setup(d){const s=ja(!1),E=()=>{s.value=!s.value},R=()=>{s.value=!1};return(K,dt)=>{const _t=eM("router-view");return ii(),gi("div",int,[dt[1]||(dt[1]=oe("div",{class:"absolute rounded-full -rotate-[24.22deg] w-[705px] h-[512px] bg-gradient-to-b from-cyan-400/25 to-cyan-200/10 blur-[120px] opacity-80 -top-[79px] left-[575px] mix-blend-screen pointer-events-none"},null,-1)),dt[2]||(dt[2]=oe("div",{class:"absolute rounded-full -rotate-[24.22deg] w-[705px] h-[512px] bg-gradient-to-b from-cyan-400/25 to-cyan-200/10 blur-[120px] opacity-75 -top-[94px] -left-[92px] mix-blend-screen pointer-events-none"},null,-1)),dt[3]||(dt[3]=oe("div",{class:"absolute rounded-full -rotate-[24.22deg] w-[705px] h-[512px] bg-gradient-to-b from-cyan-400/25 to-cyan-200/10 blur-[120px] opacity-80 top-[373px] left-[246px] mix-blend-screen pointer-events-none"},null,-1)),oe("div",ant,[Al(Uet,{class:"hidden lg:block"}),Al(mrt,{showMobileSidebar:s.value,"onUpdate:showMobileSidebar":dt[0]||(dt[0]=It=>s.value=It),onClose:R},null,8,["showMobileSidebar"]),oe("main",ont,[Al(nnt,{onToggleMobileSidebar:E}),Al(_t)])])])}}}),lnt=Ec({__name:"App",setup(d){return(s,E)=>(ii(),Y0(snt))}}),unt={class:"sparkline-container"},cnt={class:"text-white text-xs lg:text-sm font-semibold mb-3 lg:mb-4"},hnt={class:"flex items-end gap-2 lg:gap-4"},fnt=["id","width","height","viewBox"],dnt=["id"],pnt=["stop-color"],mnt=["stop-color"],gnt=["d","fill"],vnt=["d","stroke"],ynt=["cx","cy","fill"],xnt=Ec({name:"SparklineChart",__name:"Sparkline",props:{title:{},value:{},color:{},data:{default:()=>[]},width:{default:131},height:{default:37},animate:{type:Boolean,default:!0},showChart:{type:Boolean,default:!0}},setup(d){const s=d,E=qo(()=>{if(s.data&&s.data.length>0)return s.data;const _t=typeof s.value=="number"?s.value:10,It=20,jt=_t*.3;return Array.from({length:It},(te,le)=>{const Le=Math.sin(le/It*Math.PI*2)*jt*.5,Je=(Math.random()-.5)*jt*.3;return Math.max(0,_t+Le+Je)})}),R=qo(()=>{const _t=E.value;if(_t.length<2)return"";const It=Math.max(..._t),jt=Math.min(..._t),te=It-jt||1,le=s.width/(_t.length-1);let Le="";return _t.forEach((Je,fr)=>{const Tr=fr*le,wr=s.height-(Je-jt)/te*s.height;if(fr===0)Le+=`M ${Tr} ${wr}`;else{const fn=((fr-1)*le+Tr)/2;Le+=` Q ${fn} ${wr} ${Tr} ${wr}`}}),Le}),K=ja("");op(()=>{K.value=R.value}),Em(()=>s.data,(_t,It)=>{const jt=!It||_t.length!==It.length||Math.abs(_t.length-It.length)>5;s.animate&&jt?(K.value="",setTimeout(()=>{K.value=R.value},50)):K.value=R.value});const dt=qo(()=>`sparkline-${s.title.replace(/\s+/g,"-").toLowerCase()}`);return(_t,It)=>(ii(),gi("div",unt,[oe("p",cnt,mi(_t.title),1),oe("div",hnt,[oe("span",{class:"text-lg lg:text-[30px] font-bold leading-none",style:G0({color:_t.color})},[Zu(mi(_t.value),1),zY(_t.$slots,"unit",{},void 0)],4),_t.showChart?(ii(),gi("svg",{key:0,id:dt.value,class:"mb-1 lg:mb-3 sparkline-svg",width:_t.width,height:_t.height,viewBox:`0 0 ${_t.width} ${_t.height}`,fill:"none",xmlns:"http://www.w3.org/2000/svg"},[oe("defs",null,[oe("linearGradient",{id:`gradient-${dt.value}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},[oe("stop",{offset:"0%","stop-color":_t.color,"stop-opacity":"0.3"},null,8,pnt),oe("stop",{offset:"100%","stop-color":_t.color,"stop-opacity":"0.1"},null,8,mnt)],8,dnt)]),oe("path",{d:`${K.value} L ${_t.width} ${_t.height} L 0 ${_t.height} Z`,fill:`url(#gradient-${dt.value})`,class:"sparkline-fill"},null,8,gnt),oe("path",{d:K.value,stroke:_t.color,"stroke-width":"2",fill:"none","stroke-linecap":"round","stroke-linejoin":"round",class:ko(["sparkline-path",{"animate-draw":_t.animate}])},null,10,vnt),E.value.length>0?(ii(),gi("circle",{key:0,cx:_t.width,cy:_t.height-(E.value[E.value.length-1]-Math.min(...E.value))/(Math.max(...E.value)-Math.min(...E.value)||1)*_t.height,r:"2",fill:_t.color,class:ko(["sparkline-dot",{"animate-pulse":_t.animate}])},null,10,ynt)):Oo("",!0)],8,fnt)):Oo("",!0)])]))}}),pg=Bf(xnt,[["__scopeId","data-v-4f31aa98"]]),_nt={class:"grid grid-cols-2 lg:grid-cols-4 gap-3 lg:gap-4 mb-5"},bnt=Ec({name:"StatsCards",__name:"StatsCards",setup(d){const s=sw(),E=ja(null),R=qo(()=>{const _t=s.packetStats,It=s.systemStats,jt=te=>{const le=Math.floor(te/86400),Le=Math.floor(te%86400/3600),Je=Math.floor(te%3600/60);return le>0?`${le}d ${Le}h`:Le>0?`${Le}h ${Je}m`:`${Je}m`};return{packetsReceived:_t?.total_packets||0,packetsForwarded:_t?.transmitted_packets||0,uptimeFormatted:It?jt(It.uptime_seconds||0):"0m",uptimeHours:It?Math.floor((It.uptime_seconds||0)/3600):0,droppedPackets:_t?.dropped_packets||0,signalQuality:Math.round((_t?.avg_rssi||0)+120)}}),K=qo(()=>s.sparklineData),dt=async()=>{try{await Promise.all([s.fetchSystemStats(),s.fetchPacketStats({hours:24})])}catch(_t){console.error("Error fetching stats:",_t)}};return op(()=>{dt(),E.value=window.setInterval(dt,5e3)}),zm(()=>{E.value&&clearInterval(E.value)}),(_t,It)=>(ii(),gi("div",_nt,[Al(pg,{title:"RX Packets",value:R.value.packetsReceived,color:"#AAE8E8",data:K.value.totalPackets,class:"mobile-compact"},null,8,["value","data"]),Al(pg,{title:"Forward",value:R.value.packetsForwarded,color:"#FFC246",data:K.value.transmittedPackets,class:"mobile-compact"},null,8,["value","data"]),Al(pg,{title:"Up Time",value:R.value.uptimeFormatted,color:"#EBA0FC",data:[],showChart:!1,class:"mobile-compact"},null,8,["value"]),Al(pg,{title:"Dropped",value:R.value.droppedPackets,color:"#FB787B",data:K.value.droppedPackets,class:"mobile-compact"},null,8,["value","data"])]))}}),wnt={class:"glass-card rounded-[10px] p-4 lg:p-6"},knt={class:"h-64 lg:h-80 relative"},Tnt={key:0,class:"absolute inset-0 flex items-center justify-center"},Ant={key:1,class:"absolute inset-0 flex items-center justify-center"},Mnt={class:"text-red-400 text-sm lg:text-base"},Snt={key:2,class:"absolute inset-0 flex items-center justify-center"},Ent={key:3,class:"h-full flex items-end justify-around gap-1 lg:gap-2 px-2 lg:px-4"},Cnt={class:"relative w-full h-48 lg:h-64 flex flex-col justify-end"},Lnt={class:"text-white text-xs font-semibold drop-shadow-lg backdrop-blur-sm bg-black/20 px-1 lg:px-2 py-0.5 rounded-md border border-white/10"},Pnt={class:"mt-1 lg:mt-2 text-center"},Int={class:"text-white text-xs font-medium leading-tight"},znt={key:0,class:"mt-3 lg:mt-4 text-xs lg:text-sm text-white text-center"},Ont=Ec({name:"SignalQualityChart",__name:"SignalQualityChart",setup(d){const s=ja([]),E=ja(null),R=ja(!0),K=ja(null),dt=["rgba(59, 130, 246, 0.8)","rgba(16, 185, 129, 0.8)","rgba(139, 92, 246, 0.8)","rgba(245, 158, 11, 0.8)","rgba(239, 68, 68, 0.8)","rgba(6, 182, 212, 0.8)","rgba(249, 115, 22, 0.8)","rgba(132, 204, 22, 0.8)","rgba(236, 72, 153, 0.8)","rgba(107, 114, 128, 0.8)"],_t=async()=>{try{K.value=null;const jt=await oh.get("/packet_type_graph_data");if(jt?.success&&jt?.data){const te=jt.data;if(te?.series){const le=[];te.series.forEach((Le,Je)=>{let fr=0;Le.data&&Array.isArray(Le.data)&&(fr=Le.data.reduce((Tr,wr)=>Tr+(wr[1]||0),0)),fr>0&&le.push({name:Le.name||`Type ${Le.type}`,type:Le.type,count:fr,color:dt[Je%dt.length]})}),le.sort((Le,Je)=>Je.count-Le.count),s.value=le,R.value=!1}else console.error("No series data found in response"),K.value="No series data in server response",R.value=!1}else console.error("Invalid API response structure:",jt),K.value="Invalid response from server",R.value=!1}catch(jt){console.error("Failed to fetch packet type data:",jt),K.value=jt instanceof Error?jt.message:"Failed to load data",R.value=!1}},It=jt=>{if(s.value.length===0)return 0;const te=Math.max(...s.value.map(le=>le.count));return Math.max(jt/te*100,2)};return op(()=>{_t(),E.value=setInterval(()=>{_t()},3e4)}),zm(()=>{E.value&&clearInterval(E.value)}),(jt,te)=>(ii(),gi("div",wnt,[te[2]||(te[2]=oe("h3",{class:"text-white text-lg lg:text-xl font-semibold mb-3 lg:mb-4"},"Packet Types",-1)),te[3]||(te[3]=oe("p",{class:"text-white text-xs lg:text-sm uppercase mb-3 lg:mb-4"},"Distribution by Type",-1)),oe("div",knt,[R.value?(ii(),gi("div",Tnt,te[0]||(te[0]=[oe("div",{class:"text-white text-sm lg:text-base"},"Loading packet types...",-1)]))):K.value?(ii(),gi("div",Ant,[oe("div",Mnt,mi(K.value),1)])):s.value.length===0?(ii(),gi("div",Snt,te[1]||(te[1]=[oe("div",{class:"text-white text-sm lg:text-base"},"No packet data available",-1)]))):(ii(),gi("div",Ent,[(ii(!0),gi(cu,null,Yc(s.value,le=>(ii(),gi("div",{key:le.type,class:"flex flex-col items-center flex-1 max-w-16 lg:max-w-20 h-full"},[oe("div",Cnt,[oe("div",{class:"w-full rounded-t-[10px] transition-all duration-500 ease-out flex items-end justify-center pb-1 backdrop-blur-[50px] shadow-lg border border-white/20 hover:border-white/30",style:G0({height:It(le.count)+"%",background:`linear-gradient(135deg, + ${le.color} 0%, + ${le.color.replace("0.8","0.6")} 30%, + ${le.color.replace("0.8","0.4")} 70%, + ${le.color.replace("0.8","0.3")} 100%), linear-gradient(91deg, rgba(34, 34, 34, 0.43) 1.17%, rgba(135, 135, 136, 0.10) 99.82%)`,backgroundBlendMode:"overlay, normal",minHeight:"8px",boxShadow:` - 0 8px 32px ${se.color.replace("0.8","0.3")}, + 0 8px 32px ${le.color.replace("0.8","0.3")}, 0 4px 15px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.3), inset 0 -1px 0 rgba(0, 0, 0, 0.2) - `})},[fe("span",Pnt,Ei(se.count),1)],4)]),fe("div",znt,[fe("div",Int,Ei(se.name.replace(/\([^)]*\)/g,"").trim()),1)])]))),128))]))]),s.value.length>0?(ui(),vi("div",Ont," Total packet types: "+Ei(s.value.length)+" | Total packets: "+Ei(s.value.reduce((se,Le)=>se+Le.count,0)),1)):Fo("",!0)]))}}),Fnt=Bf(Dnt,[["__scopeId","data-v-dc58fd68"]]),Bnt={class:"glass-card rounded-[10px] p-6"},Rnt={class:"relative h-48"},Nnt={class:"mt-4 grid grid-cols-2 gap-4"},jnt={class:"text-center"},Unt={class:"text-2xl font-bold text-white"},Vnt={class:"text-center"},Hnt={class:"text-2xl font-bold text-white"},Wnt={class:"mt-3 grid grid-cols-3 gap-3 text-center"},qnt={class:"text-sm font-semibold text-accent-purple"},$nt={class:"text-sm font-semibold text-accent-red"},Znt={class:"text-sm font-semibold text-white"},Gnt=Ec({name:"PerformanceChart",__name:"PerformanceChart",setup(d){const s=sw(),E=ja(null),R=ja([]),K=ja(null),dt=ja(!0),_t=async()=>{try{dt.value=!0;const jt=await ah.get("/recent_packets",{limit:50});if(!jt.success){R.value=[],dt.value=!1,S0(()=>{zt()});return}const te=jt.data||[],se=Date.now(),Le=24,Je=12,fr=Le*60*60*1e3/Je,Tr=[];for(let wr=0;wr{const ei=Dn.timestamp*1e3;return ei>=Vr&&ei!Dn.transmitted).length,Qn=Dt.filter(Dn=>Dn.transmitted).length;Tr.push({time:new Date(Vr+fr/2).toISOString(),rxPackets:cn,txPackets:Qn})}R.value=Tr,dt.value=!1,S0(()=>{zt()})}catch{R.value=[],dt.value=!1,S0(()=>{zt()})}},zt=()=>{if(!E.value)return;const jt=E.value,te=jt.getContext("2d");if(!te)return;const se=jt.parentElement;if(!se)return;const Le=se.getBoundingClientRect(),Je=Le.width,fr=Le.height;jt.width=Je*window.devicePixelRatio,jt.height=fr*window.devicePixelRatio,jt.style.width=Je+"px",jt.style.height=fr+"px",te.scale(window.devicePixelRatio,window.devicePixelRatio);const Tr=20;if(te.clearRect(0,0,Je,fr),dt.value){te.fillStyle="#666",te.font="16px sans-serif",te.textAlign="center",te.fillText("Loading chart data...",Je/2,fr/2);return}if(R.value.length===0){te.fillStyle="#666",te.font="16px sans-serif",te.textAlign="center",te.fillText("No data available",Je/2,fr/2);return}const wr=R.value.every(Di=>Di.rxPackets===0&&Di.txPackets===0),Vr=Je-Tr*2,fn=fr-Tr*2,Dt=R.value.flatMap(Di=>[Di.rxPackets,Di.txPackets]),cn=Math.min(...Dt),Qn=Math.max(...Dt),Dn=cn,ei=Qn,Ui=Math.max(ei-Dn,1);if(te.strokeStyle="rgba(255, 255, 255, 0.1)",te.lineWidth=1,Dn<=0&&ei>=0){te.strokeStyle="rgba(255, 255, 255, 0.3)",te.lineWidth=2;const Di=fr-Tr-(0-Dn)/Ui*fn;te.beginPath(),te.moveTo(Tr,Di),te.lineTo(Je-Tr,Di),te.stroke(),Di>20&&Di1&&(te.strokeStyle="#EBA0FC",te.lineWidth=2,te.beginPath(),R.value.forEach((Di,qr)=>{const Si=Tr+Vr*qr/(R.value.length-1),jn=fr-Tr-(Di.rxPackets-Dn)/Ui*fn;qr===0?te.moveTo(Si,jn):te.lineTo(Si,jn)}),te.stroke(),te.fillStyle="#EBA0FC",R.value.forEach((Di,qr)=>{const Si=Tr+Vr*qr/(R.value.length-1),jn=fr-Tr-(Di.rxPackets-Dn)/Ui*fn;te.beginPath(),te.arc(Si,jn,2,0,2*Math.PI),te.fill()})),R.value.length>1&&(te.strokeStyle="#FB787B",te.lineWidth=2,te.beginPath(),R.value.forEach((Di,qr)=>{const Si=Tr+Vr*qr/(R.value.length-1),jn=fr-Tr-(Di.txPackets-Dn)/Ui*fn;qr===0?te.moveTo(Si,jn):te.lineTo(Si,jn)}),te.stroke(),te.fillStyle="#FB787B",R.value.forEach((Di,qr)=>{const Si=Tr+Vr*qr/(R.value.length-1),jn=fr-Tr-(Di.txPackets-Dn)/Ui*fn;te.beginPath(),te.arc(Si,jn,2,0,2*Math.PI),te.fill()})),te.fillStyle="rgba(255, 255, 255, 0.6)",te.font="12px system-ui",te.textAlign="center",wr&&(te.fillStyle="rgba(255, 255, 255, 0.6)",te.font="14px system-ui",te.textAlign="center",te.fillText("No packet activity in last 24 hours",Je/2,fr-15))};return op(()=>{_t(),K.value=window.setInterval(_t,3e4),S0(()=>{zt(),setTimeout(()=>{zt()},100)}),window.addEventListener("resize",zt)}),Im(()=>{K.value&&clearInterval(K.value),window.removeEventListener("resize",zt)}),(jt,te)=>(ui(),vi("div",Bnt,[te[5]||(te[5]=Ff('Performance MetricsPacket Activity (Last 24 Hours)ReceivedTransmitted',3)),fe("div",Rnt,[fe("canvas",{ref_key:"chartRef",ref:E,class:"absolute inset-0 w-full h-full"},null,512)]),fe("div",Nnt,[fe("div",jnt,[fe("div",Unt,Ei(Ol(s).packetStats?.total_packets||0),1),te[0]||(te[0]=fe("div",{class:"text-xs text-white/70 uppercase tracking-wide"},"Total Received",-1))]),fe("div",Vnt,[fe("div",Hnt,Ei(Ol(s).packetStats?.transmitted_packets||0),1),te[1]||(te[1]=fe("div",{class:"text-xs text-white/70 uppercase tracking-wide"},"Total Transmitted",-1))])]),fe("div",Wnt,[fe("div",null,[fe("div",qnt,Ei(R.value.length>0?Math.round(R.value.reduce((se,Le)=>se+Le.rxPackets,0)/R.value.length*100)/100:0),1),te[2]||(te[2]=fe("div",{class:"text-xs text-white/60"},"Avg RX/hr",-1))]),fe("div",null,[fe("div",$nt,Ei(R.value.length>0?Math.round(R.value.reduce((se,Le)=>se+Le.txPackets,0)/R.value.length*100)/100:0),1),te[3]||(te[3]=fe("div",{class:"text-xs text-white/60"},"Avg TX/hr",-1))]),fe("div",null,[fe("div",Znt,Ei(Ol(s).packetStats?.dropped_packets||0),1),te[4]||(te[4]=fe("div",{class:"text-xs text-white/60"},"Dropped",-1))])])]))}}),Ynt=Bf(Gnt,[["__scopeId","data-v-2ece57e8"]]),Knt={class:"relative w-full max-w-4xl max-h-[90vh] overflow-hidden"},Xnt={class:"glass-card rounded-[20px] p-8 backdrop-blur-[50px] shadow-2xl border border-white/20"},Jnt={class:"flex items-center justify-between mb-6"},Qnt={class:"text-white/70 text-sm"},tit={class:"max-h-[70vh] overflow-y-auto custom-scrollbar"},eit={class:"mb-6"},rit={class:"glass-card bg-white/5 rounded-[15px] p-4"},nit={class:"grid grid-cols-1 md:grid-cols-2 gap-4"},iit={class:"space-y-3"},ait={class:"flex justify-between py-2 border-b border-white/10"},oit={class:"text-white font-mono text-sm"},sit={class:"flex justify-between py-2 border-b border-white/10"},lit={class:"text-white font-mono text-xs break-all"},uit={key:0,class:"flex justify-between py-2 border-b border-white/10"},cit={class:"text-white font-mono text-xs"},hit={class:"space-y-3"},fit={class:"flex justify-between py-2 border-b border-white/10"},dit={class:"text-white font-semibold"},pit={class:"flex justify-between py-2 border-b border-white/10"},mit={class:"text-white font-semibold"},git={class:"flex justify-between py-2 border-b border-white/10"},vit={class:"mb-6"},yit={class:"glass-card bg-white/5 rounded-[15px] p-4"},xit={class:"space-y-3"},_it={class:"flex justify-between py-2 border-b border-white/10"},bit={class:"text-white"},wit={key:0,class:"pt-2"},kit={class:"glass-card bg-black/30 rounded-[10px] p-4 mb-4"},Tit={class:"w-full overflow-x-auto"},Ait={class:"text-white/90 text-xs font-mono whitespace-pre leading-relaxed min-w-full"},Mit={class:"flex items-center justify-between mb-3"},Sit={class:"text-white/80 text-sm font-semibold"},Eit={class:"text-white/60 text-xs"},Cit={class:"glass-card bg-black/40 rounded-[8px] p-3 mb-3 overflow-x-auto"},Lit={class:"font-mono text-sm text-white whitespace-pre min-w-full"},Pit={class:"glass-card bg-white/5 rounded-[10px] overflow-hidden"},zit={class:"text-cyan-400 text-sm font-mono"},Iit={class:"text-white text-sm"},Oit={class:"text-white text-sm font-semibold"},Dit={class:"text-orange-400 text-sm font-mono"},Fit={key:0,class:"text-white/60 text-xs italic mt-2 px-1"},Bit={key:1,class:"py-2"},Rit={class:"mb-6"},Nit={class:"glass-card bg-white/5 rounded-[15px] p-4"},jit={class:"space-y-4"},Uit={class:"grid grid-cols-1 md:grid-cols-2 gap-4"},Vit={class:"flex justify-between py-2 border-b border-white/10"},Hit={class:"flex justify-between py-2 border-b border-white/10"},Wit={key:0,class:"py-2"},qit={class:"glass-card bg-black/20 rounded-[10px] p-4"},$it={class:"flex items-center flex-wrap gap-2"},Zit={class:"relative group"},Git={class:"relative px-3 py-2 bg-gradient-to-br from-blue-500/20 to-cyan-500/20 border border-cyan-400/40 rounded-lg transform transition-all hover:scale-105"},Yit={class:"font-mono text-xs font-semibold text-white/90"},Kit={class:"absolute bottom-full left-1/2 transform -translate-x-1/2 mb-2 px-2 py-1 bg-black/90 text-white text-xs rounded opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none whitespace-nowrap z-10"},Xit={key:0,class:"mx-2 text-cyan-400/60"},Jit={key:1,class:"py-2"},Qit={class:"text-white/70 text-sm mb-2 flex items-center"},tat={key:0,class:"w-4 h-4 ml-2 text-yellow-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},eat={key:1,class:"text-yellow-400 text-xs ml-1"},rat={class:"glass-card bg-black/20 rounded-[10px] p-4"},nat={class:"flex items-center flex-wrap gap-2"},iat={class:"relative group"},aat={key:0,class:"absolute -top-1 -right-1 w-2 h-2 bg-yellow-400 rounded-full animate-pulse"},oat={class:"absolute bottom-full left-1/2 transform -translate-x-1/2 mb-2 px-2 py-1 bg-black/90 text-white text-xs rounded opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none whitespace-nowrap z-10"},sat={key:0,class:"mx-1 text-orange-400/60"},lat={class:"mb-6"},uat={class:"glass-card bg-white/5 rounded-[15px] p-4"},cat={class:"grid grid-cols-1 md:grid-cols-3 gap-4 mb-4"},hat={class:"text-center p-3 glass-card bg-black/20 rounded-[10px]"},fat={class:"text-lg font-bold text-white"},dat={class:"text-center p-3 glass-card bg-black/20 rounded-[10px]"},pat={class:"text-center p-3 glass-card bg-black/20 rounded-[10px]"},mat={class:"text-lg font-bold text-white"},gat={class:"mb-4"},vat={class:"flex items-center gap-3"},yat={class:"flex gap-1"},xat={class:"text-white/80 text-sm capitalize"},_at={key:0,class:"mb-4"},bat={class:"text-white/70 text-sm mb-3"},wat={class:"space-y-2"},kat={class:"flex items-center gap-3"},Tat={class:"text-white/60 text-sm"},Aat={class:"grid grid-cols-1 md:grid-cols-2 gap-4"},Mat={class:"space-y-2"},Sat={class:"flex justify-between py-2 border-b border-white/10"},Eat={class:"text-white"},Cat={class:"flex justify-between py-2 border-b border-white/10"},Lat={class:"space-y-2"},Pat={class:"flex justify-between py-2 border-b border-white/10"},zat={key:0,class:"flex justify-between py-2 border-b border-white/10"},Iat={class:"text-red-400 text-sm"},Oat={class:"mt-6 pt-4 border-t border-white/10 flex justify-end"},Dat=Ec({name:"PacketDetailsModal",__name:"PacketDetailsModal",props:{packet:{},isOpen:{type:Boolean},localHash:{}},emits:["close"],setup(d,{emit:s}){const E=d,R=s,K=Dt=>new Date(Dt*1e3).toLocaleString(),dt=Dt=>Dt.transmitted?Dt.is_duplicate?"text-amber-400":Dt.drop_reason?"text-red-400":"text-green-400":"text-red-400",_t=Dt=>Dt.transmitted?Dt.is_duplicate?"Duplicate":Dt.drop_reason?"Dropped":"Forwarded":"Dropped",zt=Dt=>({0:"Request",1:"Response",2:"Plain Text Message",3:"Acknowledgment",4:"Node Advertisement",5:"Group Text Message",6:"Group Datagram",7:"Anonymous Request",8:"Returned Path",9:"Trace",10:"Multi-part Packet",15:"Custom Packet"})[Dt]||`Unknown Type (${Dt})`,jt=Dt=>({0:"Transport Flood",1:"Flood",2:"Direct",3:"Transport Direct"})[Dt]||`Unknown Route (${Dt})`,te=Dt=>{if(!Dt)return"None";const Qn=Dt.replace(/\s+/g,"").toUpperCase().match(/.{2}/g)||[],Dn=[];for(let ei=0;ei{try{let Dn=0;const ei=cn.length/2;if(ei>=100){if(cn.length>=Dn+64){const Ui=cn.slice(Dn,Dn+64);Dt.push({name:"Public Key",byteRange:`${(Qn+Dn)/2}-${(Qn+Dn+63)/2}`,hexData:Ui.match(/.{8}/g)?.join(" ")||Ui,description:"Ed25519 public key of the node (32 bytes)",fields:[{bits:"0-255",name:"Ed25519 Public Key",value:`${Ui.slice(0,16)}...${Ui.slice(-16)}`,binary:"32 bytes (256 bits)"}]}),Dn+=64}if(cn.length>=Dn+8){const Ui=cn.slice(Dn,Dn+8),Di=parseInt(Ui,16),qr=new Date(Di*1e3);Dt.push({name:"Timestamp",byteRange:`${(Qn+Dn)/2}-${(Qn+Dn+7)/2}`,hexData:Ui.match(/.{2}/g)?.join(" ")||Ui,description:"Unix timestamp of advertisement",fields:[{bits:"0-31",name:"Unix Timestamp",value:`${Di} (${qr.toLocaleString()})`,binary:Di.toString(2).padStart(32,"0")}]}),Dn+=8}if(cn.length>=Dn+128){const Ui=cn.slice(Dn,Dn+128);Dt.push({name:"Signature",byteRange:`${(Qn+Dn)/2}-${(Qn+Dn+127)/2}`,hexData:Ui.match(/.{8}/g)?.join(" ")||Ui,description:"Ed25519 signature of public key, timestamp, and appdata",fields:[{bits:"0-511",name:"Ed25519 Signature",value:`${Ui.slice(0,16)}...${Ui.slice(-16)}`,binary:"64 bytes (512 bits)"}]}),Dn+=128}if(cn.length>Dn){const Ui=cn.slice(Dn);Le(Dt,Ui,Qn+Dn)}}else Dt.push({name:"ADVERT AppData (Partial)",byteRange:`${Qn/2}-${Qn/2+ei-1}`,hexData:cn.match(/.{2}/g)?.join(" ")||cn,description:`Partial ADVERT data - appears to be just AppData portion (${ei} bytes)`,fields:[{bits:`0-${ei*8-1}`,name:"Partial Data",value:`${ei} bytes - attempting to decode as AppData`,binary:`${ei} bytes (${ei*8} bits)`}]}),Le(Dt,cn,Qn)}catch(Dn){Dt.push({name:"ADVERT Parse Error",byteRange:"N/A",hexData:cn.slice(0,32)+"...",description:"Failed to parse ADVERT payload structure",fields:[{bits:"N/A",name:"Error",value:`Parse error: ${Dn instanceof Error?Dn.message:"Unknown error"}`,binary:"Invalid"}]})}},Le=(Dt,cn,Qn)=>{try{const Dn=cn.length/2;Dt.push({name:"AppData",byteRange:`${Qn/2}-${Qn/2+Dn-1}`,hexData:cn.match(/.{2}/g)?.join(" ")||cn,description:`Node advertisement application data (${Dn} bytes)`,fields:[{bits:`0-${Dn*8-1}`,name:"Application Data",value:`${Dn} bytes (contains flags, location, name, etc.)`,binary:`${Dn} bytes (${Dn*8} bits)`}]});let ei=0;if(cn.length>=2){const Ui=parseInt(cn.slice(ei,ei+2),16),Di=[],qr=!!(Ui&16),Si=!!(Ui&32),jn=!!(Ui&64),oi=!!(Ui&128);if(Ui&1&&Di.push("is chat node"),Ui&2&&Di.push("is repeater"),Ui&4&&Di.push("is room server"),Ui&8&&Di.push("is sensor"),qr&&Di.push("has location"),Si&&Di.push("has feature 1"),jn&&Di.push("has feature 2"),oi&&Di.push("has name"),Dt.push({name:"AppData Flags",byteRange:`${(Qn+ei)/2}`,hexData:`0x${cn.slice(ei,ei+2)}`,description:"Flags indicating which optional fields are present",fields:[{bits:"0-7",name:"Flags",value:Di.join(", ")||"none",binary:Ui.toString(2).padStart(8,"0")}]}),ei+=2,qr&&cn.length>=ei+16){const Vn=cn.slice(ei,ei+8),Wn=[];for(let Rl=6;Rl>=0;Rl-=2)Wn.push(Vn.slice(Rl,Rl+2));const sa=parseInt(Wn.join(""),16),wi=sa>2147483647?sa-4294967296:sa,hi=wi/1e6,va=cn.slice(ei+8,ei+16),qo=[];for(let Rl=6;Rl>=0;Rl-=2)qo.push(va.slice(Rl,Rl+2));const qa=parseInt(qo.join(""),16),io=qa>2147483647?qa-4294967296:qa,Rs=io/1e6;Dt.push({name:"Location Data",byteRange:`${(Qn+ei)/2}-${(Qn+ei+15)/2}`,hexData:`${Vn.match(/.{2}/g)?.join(" ")||Vn} ${va.match(/.{2}/g)?.join(" ")||va}`,description:"GPS coordinates (latitude and longitude)",fields:[{bits:"0-31",name:"Latitude",value:`${hi.toFixed(6)}° (raw: ${wi})`,binary:wi.toString(2).padStart(32,"0")},{bits:"32-63",name:"Longitude",value:`${Rs.toFixed(6)}° (raw: ${io})`,binary:io.toString(2).padStart(32,"0")}]}),ei+=16}if(Si&&cn.length>=ei+4){const Vn=cn.slice(ei,ei+4),Wn=parseInt(Vn,16);Dt.push({name:"Feature 1",byteRange:`${(Qn+ei)/2}-${(Qn+ei+3)/2}`,hexData:Vn.match(/.{2}/g)?.join(" ")||Vn,description:"Reserved feature 1 (2 bytes)",fields:[{bits:"0-15",name:"Feature 1 Value",value:`${Wn}`,binary:Wn.toString(2).padStart(16,"0")}]}),ei+=4}if(jn&&cn.length>=ei+4){const Vn=cn.slice(ei,ei+4),Wn=parseInt(Vn,16);Dt.push({name:"Feature 2",byteRange:`${(Qn+ei)/2}-${(Qn+ei+3)/2}`,hexData:Vn.match(/.{2}/g)?.join(" ")||Vn,description:"Reserved feature 2 (2 bytes)",fields:[{bits:"0-15",name:"Feature 2 Value",value:`${Wn}`,binary:Wn.toString(2).padStart(16,"0")}]}),ei+=4}if(oi&&cn.length>ei){const Vn=cn.slice(ei),Wn=Vn.match(/.{2}/g)||[],sa=Wn.map(wi=>{const hi=parseInt(wi,16);return hi>=32&&hi<=126?String.fromCharCode(hi):"."}).join("").replace(/\.+$/,"");Dt.push({name:"Node Name",byteRange:`${(Qn+ei)/2}-${(Qn+cn.length-1)/2}`,hexData:Vn.match(/.{2}/g)?.join(" ")||Vn,description:`Node name string (${Wn.length} bytes)`,fields:[{bits:`0-${Wn.length*8-1}`,name:"Node Name",value:`"${sa}"`,binary:`ASCII text (${Wn.length} bytes)`}]})}}}catch(Dn){Dt.push({name:"AppData Parse Error",byteRange:"N/A",hexData:cn.slice(0,Math.min(32,cn.length)),description:"Failed to parse AppData structure",fields:[{bits:"N/A",name:"Error",value:`Parse error: ${Dn instanceof Error?Dn.message:"Unknown error"}`,binary:"Invalid"}]})}},Je=Dt=>{if(!Dt)return[];if(Array.isArray(Dt))return Dt;if(typeof Dt=="string")try{return JSON.parse(Dt)}catch{return[]}return[]},fr=Dt=>{const cn=[];if(!Dt)return cn;try{const Qn=Dt.raw_packet;if(Qn){const Dn=Qn.replace(/\s+/g,"").toUpperCase();let ei=0;if(Dn.length>=2){const Ui=Dn.slice(ei,ei+2),Di=parseInt(Ui,16),qr=Di&3,Si=(Di&60)>>2,jn=(Di&192)>>6,oi={0:"Transport Flood",1:"Flood",2:"Direct",3:"Transport Direct"},Vn={0:"REQ",1:"RESPONSE",2:"TXT_MSG",3:"ACK",4:"ADVERT",5:"GRP_TXT",6:"GRP_DATA",7:"ANON_REQ",8:"PATH",9:"TRACE",10:"MULTIPART",15:"RAW_CUSTOM"};if(cn.push({name:"Header",byteRange:"0",hexData:`0x${Ui}`,description:"Contains routing type, payload type, and payload version",fields:[{bits:"0-1",name:"Route Type",value:oi[qr]||"Unknown",binary:qr.toString(2).padStart(2,"0")},{bits:"2-5",name:"Payload Type",value:Vn[Si]||"Unknown",binary:Si.toString(2).padStart(4,"0")},{bits:"6-7",name:"Version",value:jn.toString(),binary:jn.toString(2).padStart(2,"0")}]}),ei+=2,(qr===0||qr===3)&&Dn.length>=ei+8){const sa=Dn.slice(ei,ei+8),wi=parseInt(sa.slice(0,4),16),hi=parseInt(sa.slice(4,8),16);cn.push({name:"Transport Codes",byteRange:"1-4",hexData:`${sa.slice(0,4)} ${sa.slice(4,8)}`,description:"2x 16-bit transport codes for routing optimization",fields:[{bits:"0-15",name:"Code 1",value:wi.toString(),binary:wi.toString(2).padStart(16,"0")},{bits:"16-31",name:"Code 2",value:hi.toString(),binary:hi.toString(2).padStart(16,"0")}]}),ei+=8}if(Dn.length>=ei+2){const sa=Dn.slice(ei,ei+2),wi=parseInt(sa,16);if(cn.push({name:"Path Length",byteRange:`${ei/2}`,hexData:`0x${sa}`,description:`${wi} bytes of path data`,fields:[{bits:"0-7",name:"Path Length",value:`${wi} bytes`,binary:wi.toString(2).padStart(8,"0")}]}),ei+=2,wi>0&&Dn.length>=ei+wi*2){const hi=Dn.slice(ei,ei+wi*2);cn.push({name:"Path Data",byteRange:`${ei/2}-${(ei+wi*2-2)/2}`,hexData:hi.match(/.{2}/g)?.join(" ")||hi,description:"Routing path information",fields:[{bits:`0-${wi*8-1}`,name:"Route Path",value:`${wi} bytes of routing data`,binary:`${wi} bytes (${wi*8} bits)`}]}),ei+=wi*2}}if(Dn.length>ei){const sa=Dn.slice(ei),wi=sa.length/2;Si===4?se(cn,sa,ei):cn.push({name:"Payload Data",byteRange:`${ei/2}-${ei/2+wi-1}`,hexData:sa.match(/.{2}/g)?.join(" ")||sa,description:"Application data content",fields:[{bits:`0-${wi*8-1}`,name:"Application Data",value:`${wi} bytes`,binary:`${wi} bytes (${wi*8} bits)`}]})}}}else{if(Dt.header){const Dn=Dt.header.replace(/0x/gi,"").replace(/\s+/g,"").toUpperCase(),ei=parseInt(Dn,16),Ui=ei&3,Di=(ei&60)>>2,qr=(ei&192)>>6,Si={0:"Transport Flood",1:"Flood",2:"Direct",3:"Transport Direct"},jn={0:"REQ",1:"RESPONSE",2:"TXT_MSG",3:"ACK",4:"ADVERT",5:"GRP_TXT",6:"GRP_DATA",7:"ANON_REQ",8:"PATH",9:"TRACE",10:"MULTIPART",15:"RAW_CUSTOM"};cn.push({name:"Header",byteRange:"0",hexData:`0x${Dn}`,description:"Contains routing type, payload type, and payload version",fields:[{bits:"0-1",name:"Route Type",value:Si[Ui]||"Unknown",binary:Ui.toString(2).padStart(2,"0")},{bits:"2-5",name:"Payload Type",value:jn[Di]||"Unknown",binary:Di.toString(2).padStart(4,"0")},{bits:"6-7",name:"Version",value:qr.toString(),binary:qr.toString(2).padStart(2,"0")}]}),Dt.transport_codes&&cn.push({name:"Transport Codes",byteRange:"1-4",hexData:Dt.transport_codes,description:"2x 16-bit transport codes for routing optimization",fields:[{bits:"0-31",name:"Transport Codes",value:Dt.transport_codes,binary:"Available in separate field"}]}),Dt.original_path&&Dt.original_path.length>0&&cn.push({name:"Original Path",byteRange:"?",hexData:Dt.original_path.join(" "),description:`Original routing path (${Dt.original_path.length} nodes)`,fields:[{bits:"0-?",name:"Path Nodes",value:`${Dt.original_path.length} nodes`,binary:"Available as node list"}]}),Dt.forwarded_path&&Dt.forwarded_path.length>0&&cn.push({name:"Forwarded Path",byteRange:"?",hexData:Dt.forwarded_path.join(" "),description:`Forwarded routing path (${Dt.forwarded_path.length} nodes)`,fields:[{bits:"0-?",name:"Path Nodes",value:`${Dt.forwarded_path.length} nodes`,binary:"Available as node list"}]})}if(Dt.payload){const Dn=Dt.payload.replace(/\s+/g,"").toUpperCase(),ei=Dn.length/2;Dt.type===4?se(cn,Dn,0):cn.push({name:"Payload Data",byteRange:`0-${ei-1}`,hexData:Dn.match(/.{2}/g)?.join(" ")||Dn,description:`Application data content (${ei} bytes)`,fields:[{bits:`0-${ei*8-1}`,name:"Application Data",value:`${ei} bytes`,binary:`${ei} bytes (${ei*8} bits)`}]})}}}catch{cn.push({name:"Parse Error",byteRange:"N/A",hexData:"Error",description:"Unable to parse packet structure",fields:[{bits:"N/A",name:"Error",value:"Parse failed",binary:"Invalid"}]})}return cn},Tr=Dt=>Dt>=10?"text-green-400":Dt>=5?"text-cyan-400":Dt>=0?"text-yellow-400":"text-red-400",wr=(Dt,cn=8)=>{const Dn={7:-7.5,8:-10,9:-12.5,10:-15,11:-17.5,12:-20}[cn]||-10;let ei,Ui;return Dt>=Dn+10?(ei=4,Ui="signal-excellent"):Dt>=Dn+5?(ei=3,Ui="signal-good"):Dt>=Dn?(ei=2,Ui="signal-fair"):(ei=1,Ui="signal-poor"),{level:ei,className:Ui}},Vr=Dt=>{Dt.key==="Escape"&&R("close")},fn=Dt=>{Dt.target===Dt.currentTarget&&R("close")};return(Dt,cn)=>(ui(),Y0(QA,{to:"body"},[Tl(KI,{name:"modal",appear:""},{default:ew(()=>[Dt.isOpen&&Dt.packet?(ui(),vi("div",{key:0,class:"fixed inset-0 z-50 flex items-center justify-center p-4",onClick:fn,onKeydown:Vr,tabindex:"0"},[cn[36]||(cn[36]=fe("div",{class:"absolute inset-0 bg-black/60 backdrop-blur-md"},null,-1)),fe("div",Knt,[fe("div",Xnt,[fe("div",Jnt,[fe("div",null,[cn[2]||(cn[2]=fe("h2",{class:"text-2xl font-bold text-white mb-1"},"Packet Details",-1)),fe("p",Qnt,Ei(zt(Dt.packet.type))+" - "+Ei(jt(Dt.packet.route)),1)]),fe("button",{onClick:cn[0]||(cn[0]=Qn=>R("close")),class:"w-8 h-8 flex items-center justify-center rounded-full bg-white/10 hover:bg-white/20 transition-colors duration-200 text-white/70 hover:text-white"},cn[3]||(cn[3]=[fe("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[fe("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1)]))]),fe("div",tit,[fe("div",eit,[cn[10]||(cn[10]=fe("h3",{class:"text-lg font-semibold text-white mb-4 flex items-center"},[fe("div",{class:"w-2 h-2 rounded-full bg-cyan-400 mr-3"}),Zu(" Basic Information ")],-1)),fe("div",rit,[fe("div",nit,[fe("div",iit,[fe("div",ait,[cn[4]||(cn[4]=fe("span",{class:"text-white/70 text-sm"},"Timestamp",-1)),fe("span",oit,Ei(K(Dt.packet.timestamp)),1)]),fe("div",sit,[cn[5]||(cn[5]=fe("span",{class:"text-white/70 text-sm"},"Packet Hash",-1)),fe("span",lit,Ei(Dt.packet.packet_hash),1)]),Dt.packet.header?(ui(),vi("div",uit,[cn[6]||(cn[6]=fe("span",{class:"text-white/70 text-sm"},"Header",-1)),fe("span",cit,Ei(Dt.packet.header),1)])):Fo("",!0)]),fe("div",hit,[fe("div",fit,[cn[7]||(cn[7]=fe("span",{class:"text-white/70 text-sm"},"Type",-1)),fe("span",dit,Ei(Dt.packet.type)+" ("+Ei(zt(Dt.packet.type))+")",1)]),fe("div",pit,[cn[8]||(cn[8]=fe("span",{class:"text-white/70 text-sm"},"Route",-1)),fe("span",mit,Ei(Dt.packet.route)+" ("+Ei(jt(Dt.packet.route))+")",1)]),fe("div",git,[cn[9]||(cn[9]=fe("span",{class:"text-white/70 text-sm"},"Status",-1)),fe("span",{class:Co(["font-semibold",dt(Dt.packet)])},Ei(_t(Dt.packet)),3)])])])])]),fe("div",vit,[cn[16]||(cn[16]=fe("h3",{class:"text-lg font-semibold text-white mb-4 flex items-center"},[fe("div",{class:"w-2 h-2 rounded-full bg-orange-400 mr-3"}),Zu(" Payload Data ")],-1)),fe("div",yit,[fe("div",xit,[fe("div",_it,[cn[11]||(cn[11]=fe("span",{class:"text-white/70 text-sm"},"Payload Length",-1)),fe("span",bit,Ei(Dt.packet.payload_length||Dt.packet.length)+" bytes",1)]),Dt.packet.payload?(ui(),vi("div",wit,[cn[14]||(cn[14]=fe("div",{class:"text-white/70 text-sm mb-3"},"Payload Analysis",-1)),fe("div",kit,[cn[12]||(cn[12]=fe("div",{class:"text-white/70 text-xs mb-2 font-semibold"},"Raw Hex Data",-1)),fe("div",Tit,[fe("pre",Ait,Ei(te(Dt.packet.payload)),1)])]),(ui(!0),vi(mu,null,oh(fr(Dt.packet).filter(Qn=>!Qn.name.includes("Parse Error")),(Qn,Dn)=>(ui(),vi("div",{key:Dn,class:"mb-4"},[fe("div",Mit,[fe("h4",Sit,Ei(Qn.name),1),fe("span",Eit,"Bytes "+Ei(Qn.byteRange),1)]),fe("div",Cit,[fe("div",Lit,Ei(Qn.hexData),1)]),fe("div",Pit,[cn[13]||(cn[13]=fe("div",{class:"grid grid-cols-4 gap-4 p-3 bg-white/10 text-white/70 text-xs font-semibold uppercase tracking-wide"},[fe("div",null,"Bits"),fe("div",null,"Field"),fe("div",null,"Value"),fe("div",null,"Binary")],-1)),(ui(!0),vi(mu,null,oh(Qn.fields,(ei,Ui)=>(ui(),vi("div",{key:Ui,class:"grid grid-cols-4 gap-4 p-3 border-b border-white/5 last:border-b-0 hover:bg-white/5 transition-colors"},[fe("div",zit,Ei(ei.bits),1),fe("div",Iit,Ei(ei.name),1),fe("div",Oit,Ei(ei.value),1),fe("div",Dit,Ei(ei.binary),1)]))),128))]),Qn.description?(ui(),vi("div",Fit,Ei(Qn.description),1)):Fo("",!0)]))),128))])):(ui(),vi("div",Bit,cn[15]||(cn[15]=[fe("span",{class:"text-white/70 text-sm"},"Payload:",-1),fe("span",{class:"text-white/50 ml-2"},"None",-1)])))])])]),fe("div",Rit,[cn[24]||(cn[24]=fe("h3",{class:"text-lg font-semibold text-white mb-4 flex items-center"},[fe("div",{class:"w-2 h-2 rounded-full bg-purple-400 mr-3"}),Zu(" Path Information ")],-1)),fe("div",Nit,[fe("div",jit,[fe("div",Uit,[fe("div",Vit,[cn[17]||(cn[17]=fe("span",{class:"text-white/70 text-sm"},"Source Hash",-1)),fe("span",{class:Co(["text-white font-mono text-xs",E.localHash&&Dt.packet.src_hash===E.localHash?"bg-cyan-400/20 text-cyan-300 px-1 rounded":""])},Ei(Dt.packet.src_hash||"Unknown"),3)]),fe("div",Hit,[cn[18]||(cn[18]=fe("span",{class:"text-white/70 text-sm"},"Destination Hash",-1)),fe("span",{class:Co(["text-white font-mono text-xs",E.localHash&&Dt.packet.dst_hash===E.localHash?"bg-cyan-400/20 text-cyan-300 px-1 rounded":""])},Ei(Dt.packet.dst_hash||"Broadcast"),3)])]),Je(Dt.packet.original_path).length>0?(ui(),vi("div",Wit,[cn[20]||(cn[20]=fe("div",{class:"text-white/70 text-sm mb-2"},"Original Path",-1)),fe("div",qit,[fe("div",$it,[(ui(!0),vi(mu,null,oh(Je(Dt.packet.original_path),(Qn,Dn)=>(ui(),vi("div",{key:Dn,class:"flex items-center"},[fe("div",Zit,[fe("div",Git,[fe("div",Yit,Ei(Qn.length<=2?Qn.toUpperCase():Qn.slice(0,2).toUpperCase()),1)]),fe("div",Kit," Node: "+Ei(Qn),1)]),Dn0?(ui(),vi("div",Jit,[fe("div",Qit,[cn[22]||(cn[22]=Zu(" Forwarded Path ",-1)),JSON.stringify(Je(Dt.packet.original_path))!==JSON.stringify(Je(Dt.packet.forwarded_path))?(ui(),vi("svg",tat,cn[21]||(cn[21]=[fe("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"},null,-1)]))):Fo("",!0),JSON.stringify(Je(Dt.packet.original_path))!==JSON.stringify(Je(Dt.packet.forwarded_path))?(ui(),vi("span",eat,"(Modified)")):Fo("",!0)]),fe("div",rat,[fe("div",nat,[(ui(!0),vi(mu,null,oh(Je(Dt.packet.forwarded_path),(Qn,Dn)=>(ui(),vi("div",{key:Dn,class:"flex items-center"},[fe("div",iat,[fe("div",{class:Co(["relative px-3 py-2 bg-gradient-to-br from-orange-500/20 to-yellow-500/20 border border-orange-400/40 rounded-lg transform transition-all hover:scale-105",E.localHash&&Qn===E.localHash?"bg-gradient-to-br from-yellow-400/30 to-orange-400/30 border-yellow-300 shadow-yellow-400/20 shadow-lg":"hover:border-orange-400/60"])},[fe("div",{class:Co(["font-mono text-xs font-semibold",E.localHash&&Qn===E.localHash?"text-yellow-200":"text-white/90"])},Ei(Qn.slice(0,2).toUpperCase()),3),E.localHash&&Qn===E.localHash?(ui(),vi("div",aat)):Fo("",!0)],2),fe("div",oat,Ei(Qn),1)]),Dnfe("div",{key:Qn,class:Co(["w-2 h-6 rounded-sm transition-all duration-300",Qn<=wr(Dt.packet.snr).level?{"signal-excellent":"bg-green-400","signal-good":"bg-cyan-400","signal-fair":"bg-yellow-400","signal-poor":"bg-red-400"}[wr(Dt.packet.snr).className]:"bg-white/10"])},null,2)),64))]),fe("span",xat,Ei(wr(Dt.packet.snr).className.replace("signal-","")),1)])]),Dt.packet.is_trace&&Dt.packet.path_snr_details&&Dt.packet.path_snr_details.length>0?(ui(),vi("div",_at,[fe("div",bat,"Path SNR Details ("+Ei(Dt.packet.path_snr_details.length)+" hops)",1),fe("div",wat,[(ui(!0),vi(mu,null,oh(Dt.packet.path_snr_details,(Qn,Dn)=>(ui(),vi("div",{key:Dn,class:"flex items-center justify-between p-2 glass-card bg-black/20 rounded-[8px]"},[fe("div",kat,[fe("span",Tat,Ei(Dn+1)+".",1),fe("span",{class:Co(["font-mono text-xs text-white",E.localHash&&Qn.hash===E.localHash?"bg-cyan-400/20 text-cyan-300 px-1 rounded":""])},Ei(Qn.hash),3)]),fe("span",{class:Co(["text-sm font-bold",Tr(Qn.snr_db)])},Ei(Qn.snr_db.toFixed(1))+"dB ",3)]))),128))])])):Fo("",!0),fe("div",Aat,[fe("div",Mat,[fe("div",Sat,[cn[31]||(cn[31]=fe("span",{class:"text-white/70 text-sm"},"TX Delay",-1)),fe("span",Eat,Ei(Number(Dt.packet.tx_delay_ms)>0?Number(Dt.packet.tx_delay_ms).toFixed(1)+"ms":"-"),1)]),fe("div",Cat,[cn[32]||(cn[32]=fe("span",{class:"text-white/70 text-sm"},"Transmitted",-1)),fe("span",{class:Co(Dt.packet.transmitted?"text-green-400":"text-red-400")},Ei(Dt.packet.transmitted?"Yes":"No"),3)])]),fe("div",Lat,[fe("div",Pat,[cn[33]||(cn[33]=fe("span",{class:"text-white/70 text-sm"},"Is Duplicate",-1)),fe("span",{class:Co(Dt.packet.is_duplicate?"text-amber-400":"text-white/60")},Ei(Dt.packet.is_duplicate?"Yes":"No"),3)]),Dt.packet.drop_reason?(ui(),vi("div",zat,[cn[34]||(cn[34]=fe("span",{class:"text-white/70 text-sm"},"Drop Reason",-1)),fe("span",Iat,Ei(Dt.packet.drop_reason),1)])):Fo("",!0)])])])])]),fe("div",Oat,[fe("button",{onClick:cn[1]||(cn[1]=Qn=>R("close")),class:"px-6 py-2 bg-gradient-to-r from-cyan-500/20 to-cyan-400/20 hover:from-cyan-500/30 hover:to-cyan-400/30 border border-cyan-400/30 rounded-[10px] text-white transition-all duration-200 backdrop-blur-sm"}," Close ")])])])],32)):Fo("",!0)]),_:1})]))}}),Fat=Bf(Dat,[["__scopeId","data-v-3b73bfd6"]]),Bat={class:"glass-card rounded-[20px] p-6"},Rat={class:"flex justify-between items-center mb-6"},Nat={class:"flex items-center gap-3"},jat={class:"text-dark-text text-sm"},Uat=["title"],Vat={key:1,class:"text-primary text-sm"},Hat={key:2,class:"text-accent-red text-sm"},Wat={class:"flex items-center gap-3"},qat={class:"flex flex-col"},$at=["value"],Zat={class:"flex flex-col"},Gat=["value"],Yat={class:"flex flex-col"},Kat={class:"flex flex-col"},Xat=["disabled"],Jat={class:"space-y-4 overflow-hidden"},Qat=["onClick"],tot={class:"grid grid-cols-12 gap-2 items-center"},eot={class:"col-span-1 text-white text-sm"},rot={class:"col-span-1 flex items-center gap-2"},not={class:"text-white text-xs"},iot={class:"col-span-2"},aot={class:"col-span-1 text-white text-xs"},oot={class:"col-span-2"},sot={class:"space-y-1"},lot={class:"inline-block px-2 py-0.5 rounded bg-[#588187] text-accent-cyan text-xs"},uot={class:"col-span-1 text-white text-xs"},cot={class:"col-span-1 text-white text-xs"},hot={class:"col-span-1 text-white text-xs"},fot={class:"col-span-1 text-white text-xs"},dot={class:"col-span-1"},pot={key:0,class:"text-accent-red text-[8px] italic truncate"},mot={key:0,class:"flex justify-between items-center mt-6 pt-4 border-t border-dark-border"},got={class:"flex items-center gap-4"},vot={class:"text-dark-text text-sm"},yot={key:0,class:"flex items-center gap-2"},xot=["disabled"],_ot={class:"text-dark-text text-xs"},bot={class:"flex items-center gap-2"},wot=["disabled"],kot={class:"flex items-center gap-1"},Tot={key:1,class:"text-dark-text text-sm px-2"},Aot=["onClick"],Mot={key:2,class:"text-dark-text text-sm px-2"},Sot=["disabled"],Eot={key:1,class:"flex justify-center mt-6 pt-4 border-t border-dark-border"},Cot={class:"flex items-center gap-4"},Lot={class:"text-dark-text text-sm"},Pot={class:"text-dark-text text-xs"},zot={key:2,class:"flex justify-center mt-6 pt-4 border-t border-dark-border"},a2=10,cy=1e3,Iot=Ec({name:"PacketTable",__name:"PacketTable",setup(d){const s=sw(),E=ja(1),R=ja(null),K=ja(100),dt=ja(!1),_t=ja(null),zt=ja(!1),jt=qo=>{_t.value=qo,zt.value=!0},te=()=>{zt.value=!1,_t.value=null},se=ja("all"),Le=ja("all"),Je=ja(!1),fr=ja(null),Tr=["all","0","1","2","3","4","5","6","7","8","9","10","11"],wr=["all","1","2"],Vr=Wo(()=>{let qo=s.recentPackets;if(se.value!=="all"){const qa=parseInt(se.value);qo=qo.filter(io=>io.type===qa)}if(Le.value!=="all"){const qa=parseInt(Le.value);qo=qo.filter(io=>io.route===qa)}return Je.value&&fr.value!==null&&(qo=qo.filter(qa=>qa.timestamp>=fr.value)),qo}),fn=Wo(()=>{const qo=(E.value-1)*a2,qa=qo+a2;return Vr.value.slice(qo,qa)}),Dt=Wo(()=>Math.ceil(Vr.value.length/a2)),cn=Wo(()=>E.value===Dt.value),Qn=Wo(()=>s.recentPackets.length>=K.value&&K.valuecn.value&&Qn.value&&!dt.value),ei=qo=>new Date(qo*1e3).toLocaleTimeString("en-US",{hour12:!1}),Ui=qo=>({0:"REQ",1:"RESPONSE",2:"TXT_MSG",3:"ACK",4:"ADVERT",5:"GRP_TXT",6:"GRP_DATA",7:"ANON_REQ",8:"PATH",9:"TRACE",10:"MULTI_PART",11:"CONTROL"})[qo]||`TYPE_${qo}`,Di=qo=>({0:"T-Flood",1:"Flood",2:"Direct",3:"T-Direct"})[qo]||`Route ${qo}`,qr=qo=>qo.transmitted?"text-accent-green":"text-primary",Si=qo=>qo.drop_reason?"Dropped":qo.transmitted?"Forward":"Received",jn=qo=>qo===1?"bg-[#223231] text-accent-cyan":"bg-secondary/30 text-secondary",oi=qo=>({0:"bg-primary",1:"bg-accent-green",2:"bg-secondary",3:"bg-accent-purple",4:"bg-accent-red",5:"bg-accent-cyan",6:"bg-primary",7:"bg-accent-purple",8:"bg-accent-green",9:"bg-secondary"})[qo]||"bg-gray-500",Vn=qo=>({0:"border-l-primary",1:"border-l-accent-green",2:"border-l-secondary",3:"border-l-accent-purple",4:"border-l-accent-red",5:"border-l-accent-cyan",6:"border-l-primary",7:"border-l-accent-purple",8:"border-l-accent-green",9:"border-l-secondary"})[qo]||"border-l-gray-500",Wn=()=>{se.value="all",Le.value="all",Je.value=!1,fr.value=null,E.value=1},sa=()=>{Je.value?(Je.value=!1,fr.value=null):(Je.value=!0,fr.value=Date.now()/1e3),E.value=1},wi=Wo(()=>fr.value?new Date(fr.value*1e3).toLocaleTimeString():""),hi=async qo=>{try{const qa=qo||K.value;await s.fetchRecentPackets({limit:qa})}catch(qa){console.error("Error fetching packet data:",qa)}},va=async()=>{if(!(dt.value||K.value>=cy)){dt.value=!0;try{const qo=Math.min(K.value+200,cy);K.value=qo,await hi(qo)}catch(qo){console.error("Error loading more records:",qo)}finally{dt.value=!1}}};return op(async()=>{await hi(),R.value=window.setInterval(hi,5e3)}),Im(()=>{R.value&&clearInterval(R.value)}),(qo,qa)=>(ui(),vi(mu,null,[fe("div",Bat,[fe("div",Rat,[fe("div",Nat,[qa[6]||(qa[6]=fe("h3",{class:"text-white text-xl font-semibold"},"Recent Packets",-1)),fe("span",jat," ("+Ei(Vr.value.length)+" of "+Ei(Ol(s).recentPackets.length)+") ",1),Je.value?(ui(),vi("span",{key:0,class:"text-primary text-sm bg-primary/10 px-2 py-1 rounded-md border border-primary/20",title:`Filter activated at ${wi.value}`}," Live Mode (since "+Ei(wi.value)+") ",9,Uat)):Fo("",!0),Ol(s).isLoading?(ui(),vi("span",Vat,"Loading...")):Fo("",!0),Ol(s).error?(ui(),vi("span",Hat,Ei(Ol(s).error),1)):Fo("",!0)]),fe("div",Wat,[fe("div",qat,[qa[7]||(qa[7]=fe("label",{class:"text-dark-text text-xs mb-1"},"Type",-1)),Gp(fe("select",{"onUpdate:modelValue":qa[0]||(qa[0]=io=>se.value=io),class:"glass-card border border-dark-border rounded-[10px] px-3 py-2 text-white text-sm focus:outline-none focus:border-primary focus:ring-1 focus:ring-primary/20 transition-all duration-200 min-w-[120px] cursor-pointer hover:border-primary/50"},[(ui(),vi(mu,null,oh(Tr,io=>fe("option",{key:io,value:io,class:"bg-[#1A1E1F] text-white"},Ei(io==="all"?"All Types":`Type ${io} (${Ui(parseInt(io))})`),9,$at)),64))],512),[[vA,se.value]])]),fe("div",Zat,[qa[8]||(qa[8]=fe("label",{class:"text-dark-text text-xs mb-1"},"Route",-1)),Gp(fe("select",{"onUpdate:modelValue":qa[1]||(qa[1]=io=>Le.value=io),class:"glass-card border border-dark-border rounded-[10px] px-3 py-2 text-white text-sm focus:outline-none focus:border-primary focus:ring-1 focus:ring-primary/20 transition-all duration-200 min-w-[120px] cursor-pointer hover:border-primary/50"},[(ui(),vi(mu,null,oh(wr,io=>fe("option",{key:io,value:io,class:"bg-[#1A1E1F] text-white"},Ei(io==="all"?"All Routes":`Route ${io} (${Di(parseInt(io))})`),9,Gat)),64))],512),[[vA,Le.value]])]),fe("div",Yat,[qa[9]||(qa[9]=fe("label",{class:"text-dark-text text-xs mb-1"},"Filter",-1)),fe("button",{onClick:sa,class:Co(["glass-card border rounded-[10px] px-4 py-2 text-sm transition-all duration-200 focus:outline-none focus:ring-1 focus:ring-primary/20 min-w-[120px]",{"border-primary bg-primary/10 text-primary":Je.value,"border-dark-border text-dark-text hover:border-primary hover:text-white hover:bg-primary/5":!Je.value}])},Ei(Je.value?"New Only":"Show New"),3)]),fe("div",Kat,[qa[10]||(qa[10]=fe("label",{class:"text-transparent text-xs mb-1"},".",-1)),fe("button",{onClick:Wn,class:Co(["glass-card border border-dark-border hover:border-primary rounded-[10px] px-4 py-2 text-dark-text hover:text-white text-sm transition-all duration-200 focus:outline-none focus:border-primary focus:ring-1 focus:ring-primary/20",{"opacity-50 cursor-not-allowed hover:border-dark-border hover:text-dark-text":se.value==="all"&&Le.value==="all"&&!Je.value,"hover:bg-primary/10":se.value!=="all"||Le.value!=="all"||Je.value}]),disabled:se.value==="all"&&Le.value==="all"&&!Je.value}," Reset ",10,Xat)])])]),qa[14]||(qa[14]=Ff('TimeTypeRouteLENPath/HashesRSSISNRScoreTX DelayStatus',1)),fe("div",Jat,[Tl(qK,{name:"packet-list",tag:"div",class:"space-y-4",appear:""},{default:ew(()=>[(ui(!0),vi(mu,null,oh(fn.value,(io,Rs)=>(ui(),vi("div",{key:`${io.packet_hash}_${io.timestamp}_${Rs}`,class:Co(["packet-row border-b border-dark-border/50 pb-4 hover:bg-white/5 transition-colors duration-200 cursor-pointer rounded-[10px] p-2 border-l-4",Vn(io.type)]),onClick:Rl=>jt(io)},[fe("div",tot,[fe("div",eot,Ei(ei(io.timestamp)),1),fe("div",rot,[fe("div",{class:Co(["w-2 h-2 rounded-full",oi(io.type)])},null,2),fe("span",not,Ei(Ui(io.type)),1)]),fe("div",iot,[fe("span",{class:Co(["inline-block px-2 py-1 rounded text-xs font-medium",jn(io.route)])},Ei(Di(io.route)),3)]),fe("div",aot,Ei(io.length)+"B",1),fe("div",oot,[fe("div",sot,[fe("span",lot,Ei(io.src_hash?.slice(-4)||"????")+" → "+Ei(io.dst_hash?.slice(-4)||"????"),1)])]),fe("div",uot,Ei(io.rssi.toFixed(0)),1),fe("div",cot,Ei(io.snr.toFixed(1))+"dB",1),fe("div",hot,Ei(io.score.toFixed(2)),1),fe("div",fot,Ei(Number(io.tx_delay_ms)>0?Number(io.tx_delay_ms).toFixed(1)+"ms":""),1),fe("div",dot,[fe("div",null,[fe("span",{class:Co(["text-xs font-medium",qr(io)])},Ei(Si(io)),3),io.drop_reason?(ui(),vi("p",pot,Ei(io.drop_reason),1)):Fo("",!0)])])])],10,Qat))),128))]),_:1})]),Dt.value>1?(ui(),vi("div",mot,[fe("div",got,[fe("span",vot," Showing "+Ei((E.value-1)*a2+1)+" - "+Ei(Math.min(E.value*a2,Vr.value.length))+" of "+Ei(Vr.value.length)+" packets ",1),Dn.value?(ui(),vi("div",yot,[qa[11]||(qa[11]=fe("span",{class:"text-dark-text text-xs"},"•",-1)),fe("button",{onClick:va,disabled:dt.value,class:Co(["glass-card border border-primary rounded-[8px] px-3 py-1.5 text-xs transition-all duration-200 focus:outline-none focus:ring-1 focus:ring-primary/20 hover:bg-primary/5",{"text-primary border-primary cursor-pointer":!dt.value,"text-dark-text border-dark-border cursor-not-allowed opacity-50":dt.value}])},Ei(dt.value?"Loading...":`Load ${Math.min(200,cy-K.value)} more`),11,xot),fe("span",_ot,"("+Ei(K.value)+"/"+Ei(cy)+" max)",1)])):Fo("",!0)]),fe("div",bot,[fe("button",{onClick:qa[2]||(qa[2]=io=>E.value=E.value-1),disabled:E.value<=1,class:Co(["glass-card border rounded-[10px] px-3 py-2 text-sm transition-all duration-200 focus:outline-none focus:ring-1 focus:ring-primary/20",{"border-dark-border text-dark-text cursor-not-allowed opacity-50":E.value<=1,"border-dark-border text-white hover:border-primary hover:text-primary hover:bg-primary/5":E.value>1}])}," Previous ",10,wot),fe("div",kot,[E.value>3?(ui(),vi("button",{key:0,onClick:qa[3]||(qa[3]=io=>E.value=1),class:"glass-card border border-dark-border hover:border-primary rounded-[8px] px-3 py-2 text-sm text-white hover:text-primary hover:bg-primary/5 transition-all duration-200 focus:outline-none focus:ring-1 focus:ring-primary/20"}," 1 ")):Fo("",!0),E.value>4?(ui(),vi("span",Tot,"...")):Fo("",!0),(ui(!0),vi(mu,null,oh(Array.from({length:Math.min(5,Dt.value)},(io,Rs)=>Math.max(1,Math.min(E.value-2,Dt.value-4))+Rs).filter(io=>io<=Dt.value),io=>(ui(),vi("button",{key:io,onClick:Rs=>E.value=io,class:Co(["glass-card border rounded-[8px] px-3 py-2 text-sm transition-all duration-200 focus:outline-none focus:ring-1 focus:ring-primary/20",{"border-primary bg-primary/10 text-primary":E.value===io,"border-dark-border text-white hover:border-primary hover:text-primary hover:bg-primary/5":E.value!==io}])},Ei(io),11,Aot))),128)),E.valueE.value=Dt.value),class:"glass-card border border-dark-border hover:border-primary rounded-[8px] px-3 py-2 text-sm text-white hover:text-primary hover:bg-primary/5 transition-all duration-200 focus:outline-none focus:ring-1 focus:ring-primary/20"},Ei(Dt.value),1)):Fo("",!0)]),fe("button",{onClick:qa[5]||(qa[5]=io=>E.value=E.value+1),disabled:E.value>=Dt.value,class:Co(["glass-card border rounded-[10px] px-3 py-2 text-sm transition-all duration-200 focus:outline-none focus:ring-1 focus:ring-primary/20",{"border-dark-border text-dark-text cursor-not-allowed opacity-50":E.value>=Dt.value,"border-dark-border text-white hover:border-primary hover:text-primary hover:bg-primary/5":E.value(ui(),vi("div",null,[Tl(wnt),fe("div",Dot,[Tl(Ynt),Tl(Fnt)]),Tl(Oot)]))}}),Bot={class:"bg-white/5 border border-white/10 rounded-lg p-4 mb-6"},Rot={class:"flex items-center gap-3"},Not={class:"flex-1 min-w-0"},jot={class:"text-white font-medium truncate"},Uot={class:"text-white/60 text-sm font-mono"},Vot={key:0,class:"text-white/50 text-xs"},Hot={key:1,class:"text-white/50 text-xs"},Wot=Ec({__name:"DeleteNeighborModal",props:{show:{type:Boolean},neighbor:{}},emits:["close","delete"],setup(d,{emit:s}){const E=d,R=s,K=()=>{E.neighbor&&(R("delete",E.neighbor.id),dt())},dt=()=>{R("close")},_t=zt=>{zt.target===zt.currentTarget&&dt()};return(zt,jt)=>zt.show&&zt.neighbor?(ui(),vi("div",{key:0,onClick:_t,class:"fixed inset-0 bg-black/80 backdrop-blur-lg z-[99999] flex items-center justify-center p-4",style:{"backdrop-filter":"blur(8px) saturate(180%)",position:"fixed",top:"0",left:"0",right:"0",bottom:"0"}},[fe("div",{class:"glass-card rounded-[20px] p-6 w-full max-w-md border border-white/10",onClick:jt[0]||(jt[0]=Pm(()=>{},["stop"]))},[fe("div",{class:"flex items-center gap-3 mb-6"},[jt[2]||(jt[2]=fe("svg",{class:"w-6 h-6 text-accent-red",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[fe("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-2.5L13.732 4c-.77-.833-1.964-.833-2.732 0L3.732 16.5c-.77.833.192 2.5 1.732 2.5z"})],-1)),jt[3]||(jt[3]=fe("div",null,[fe("h3",{class:"text-xl font-semibold text-white"},"Delete Neighbor"),fe("p",{class:"text-white/60 text-sm mt-1"}," Are you sure you want to delete this neighbor? ")],-1)),fe("button",{onClick:dt,class:"ml-auto text-white/60 hover:text-white transition-colors"},jt[1]||(jt[1]=[fe("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[fe("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1)]))]),fe("div",Bot,[fe("div",Rot,[fe("div",Not,[fe("div",jot,Ei(zt.neighbor?.node_name||zt.neighbor?.long_name||zt.neighbor?.short_name||"Unknown"),1),fe("div",Uot," ID: "+Ei(zt.neighbor?.node_num_hex||zt.neighbor?.node_num||zt.neighbor?.id||"N/A"),1),zt.neighbor?.contact_type?(ui(),vi("div",Vot,Ei(zt.neighbor.contact_type),1)):Fo("",!0),zt.neighbor?.hw_model?(ui(),vi("div",Hot,Ei(zt.neighbor.hw_model),1)):Fo("",!0)])])]),jt[4]||(jt[4]=fe("div",{class:"bg-accent-red/10 border border-accent-red/30 rounded-lg p-4 mb-6"},[fe("div",{class:"flex items-center gap-2 text-accent-red text-sm"},[fe("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[fe("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 9v2m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})]),fe("span",null,"This action cannot be undone")])],-1)),fe("div",{class:"flex gap-3"},[fe("button",{onClick:dt,class:"flex-1 px-4 py-3 bg-white/5 hover:bg-white/10 border border-white/20 text-white rounded-lg transition-colors"}," Cancel "),fe("button",{onClick:K,class:"flex-1 px-4 py-3 bg-accent-red/20 hover:bg-accent-red/30 border border-accent-red/50 text-accent-red rounded-lg transition-colors font-medium"}," Delete ")])])])):Fo("",!0)}});function eD(d){return d&&d.__esModule&&Object.prototype.hasOwnProperty.call(d,"default")?d.default:d}var v2={exports:{}};/* @preserve + `})},[oe("span",Lnt,mi(le.count),1)],4)]),oe("div",Pnt,[oe("div",Int,mi(le.name.replace(/\([^)]*\)/g,"").trim()),1)])]))),128))]))]),s.value.length>0?(ii(),gi("div",znt," Total packet types: "+mi(s.value.length)+" | Total packets: "+mi(s.value.reduce((le,Le)=>le+Le.count,0)),1)):Oo("",!0)]))}}),Dnt=Bf(Ont,[["__scopeId","data-v-cf9e6f4e"]]),Fnt={class:"glass-card rounded-[10px] p-4 lg:p-6"},Bnt={class:"relative h-40 lg:h-48"},Rnt={class:"mt-3 lg:mt-4 grid grid-cols-2 gap-3 lg:gap-4"},Nnt={class:"text-center"},jnt={class:"text-lg lg:text-2xl font-bold text-white"},Unt={class:"text-center"},Vnt={class:"text-lg lg:text-2xl font-bold text-white"},Hnt={class:"mt-2 lg:mt-3 grid grid-cols-3 gap-2 lg:gap-3 text-center"},Wnt={class:"text-xs lg:text-sm font-semibold text-accent-purple"},qnt={class:"text-xs lg:text-sm font-semibold text-accent-red"},$nt={class:"text-xs lg:text-sm font-semibold text-white"},Znt=Ec({name:"PerformanceChart",__name:"PerformanceChart",setup(d){const s=sw(),E=ja(null),R=ja([]),K=ja(null),dt=ja(!0),_t=async()=>{try{dt.value=!0;const jt=await oh.get("/recent_packets",{limit:50});if(!jt.success){R.value=[],dt.value=!1,S0(()=>{It()});return}const te=jt.data||[],le=Date.now(),Le=24,Je=12,fr=Le*60*60*1e3/Je,Tr=[];for(let wr=0;wr{const Xn=Dn.timestamp*1e3;return Xn>=Vr&&Xn!Dn.transmitted).length,Qn=Dt.filter(Dn=>Dn.transmitted).length;Tr.push({time:new Date(Vr+fr/2).toISOString(),rxPackets:un,txPackets:Qn})}R.value=Tr,dt.value=!1,S0(()=>{It()})}catch{R.value=[],dt.value=!1,S0(()=>{It()})}},It=()=>{if(!E.value)return;const jt=E.value,te=jt.getContext("2d");if(!te)return;const le=jt.parentElement;if(!le)return;const Le=le.getBoundingClientRect(),Je=Le.width,fr=Le.height;jt.width=Je*window.devicePixelRatio,jt.height=fr*window.devicePixelRatio,jt.style.width=Je+"px",jt.style.height=fr+"px",te.scale(window.devicePixelRatio,window.devicePixelRatio);const Tr=20;if(te.clearRect(0,0,Je,fr),dt.value){te.fillStyle="#666",te.font="16px sans-serif",te.textAlign="center",te.fillText("Loading chart data...",Je/2,fr/2);return}if(R.value.length===0){te.fillStyle="#666",te.font="16px sans-serif",te.textAlign="center",te.fillText("No data available",Je/2,fr/2);return}const wr=R.value.every(zi=>zi.rxPackets===0&&zi.txPackets===0),Vr=Je-Tr*2,fn=fr-Tr*2,Dt=R.value.flatMap(zi=>[zi.rxPackets,zi.txPackets]),un=Math.min(...Dt),Qn=Math.max(...Dt),Dn=un,Xn=Qn,Ni=Math.max(Xn-Dn,1);if(te.strokeStyle="rgba(255, 255, 255, 0.1)",te.lineWidth=1,Dn<=0&&Xn>=0){te.strokeStyle="rgba(255, 255, 255, 0.3)",te.lineWidth=2;const zi=fr-Tr-(0-Dn)/Ni*fn;te.beginPath(),te.moveTo(Tr,zi),te.lineTo(Je-Tr,zi),te.stroke(),zi>20&&zi1&&(te.strokeStyle="#EBA0FC",te.lineWidth=2,te.beginPath(),R.value.forEach((zi,qr)=>{const Si=Tr+Vr*qr/(R.value.length-1),Nn=fr-Tr-(zi.rxPackets-Dn)/Ni*fn;qr===0?te.moveTo(Si,Nn):te.lineTo(Si,Nn)}),te.stroke(),te.fillStyle="#EBA0FC",R.value.forEach((zi,qr)=>{const Si=Tr+Vr*qr/(R.value.length-1),Nn=fr-Tr-(zi.rxPackets-Dn)/Ni*fn;te.beginPath(),te.arc(Si,Nn,2,0,2*Math.PI),te.fill()})),R.value.length>1&&(te.strokeStyle="#FB787B",te.lineWidth=2,te.beginPath(),R.value.forEach((zi,qr)=>{const Si=Tr+Vr*qr/(R.value.length-1),Nn=fr-Tr-(zi.txPackets-Dn)/Ni*fn;qr===0?te.moveTo(Si,Nn):te.lineTo(Si,Nn)}),te.stroke(),te.fillStyle="#FB787B",R.value.forEach((zi,qr)=>{const Si=Tr+Vr*qr/(R.value.length-1),Nn=fr-Tr-(zi.txPackets-Dn)/Ni*fn;te.beginPath(),te.arc(Si,Nn,2,0,2*Math.PI),te.fill()})),te.fillStyle="rgba(255, 255, 255, 0.6)",te.font="12px system-ui",te.textAlign="center",wr&&(te.fillStyle="rgba(255, 255, 255, 0.6)",te.font="14px system-ui",te.textAlign="center",te.fillText("No packet activity in last 24 hours",Je/2,fr-15))};return op(()=>{_t(),K.value=window.setInterval(_t,3e4),S0(()=>{It(),setTimeout(()=>{It()},100)}),window.addEventListener("resize",It)}),zm(()=>{K.value&&clearInterval(K.value),window.removeEventListener("resize",It)}),(jt,te)=>(ii(),gi("div",Fnt,[te[5]||(te[5]=Tf('Performance MetricsPacket Activity (Last 24 Hours)ReceivedTransmitted',3)),oe("div",Bnt,[oe("canvas",{ref_key:"chartRef",ref:E,class:"absolute inset-0 w-full h-full"},null,512)]),oe("div",Rnt,[oe("div",Nnt,[oe("div",jnt,mi(Dl(s).packetStats?.total_packets||0),1),te[0]||(te[0]=oe("div",{class:"text-xs text-white/70 uppercase tracking-wide"},"Total Received",-1))]),oe("div",Unt,[oe("div",Vnt,mi(Dl(s).packetStats?.transmitted_packets||0),1),te[1]||(te[1]=oe("div",{class:"text-xs text-white/70 uppercase tracking-wide"},"Total Transmitted",-1))])]),oe("div",Hnt,[oe("div",null,[oe("div",Wnt,mi(R.value.length>0?Math.round(R.value.reduce((le,Le)=>le+Le.rxPackets,0)/R.value.length*100)/100:0),1),te[2]||(te[2]=oe("div",{class:"text-xs text-white/60"},"Avg RX/hr",-1))]),oe("div",null,[oe("div",qnt,mi(R.value.length>0?Math.round(R.value.reduce((le,Le)=>le+Le.txPackets,0)/R.value.length*100)/100:0),1),te[3]||(te[3]=oe("div",{class:"text-xs text-white/60"},"Avg TX/hr",-1))]),oe("div",null,[oe("div",$nt,mi(Dl(s).packetStats?.dropped_packets||0),1),te[4]||(te[4]=oe("div",{class:"text-xs text-white/60"},"Dropped",-1))])])]))}}),Gnt=Bf(Znt,[["__scopeId","data-v-8361c902"]]),Ynt={class:"relative w-full max-w-4xl max-h-[90vh] overflow-hidden"},Knt={class:"glass-card rounded-[20px] p-8 backdrop-blur-[50px] shadow-2xl border border-white/20"},Xnt={class:"flex items-center justify-between mb-6"},Jnt={class:"text-white/70 text-sm"},Qnt={class:"max-h-[70vh] overflow-y-auto custom-scrollbar"},tit={class:"mb-6"},eit={class:"glass-card bg-white/5 rounded-[15px] p-4"},rit={class:"grid grid-cols-1 md:grid-cols-2 gap-4"},nit={class:"space-y-3"},iit={class:"flex justify-between py-2 border-b border-white/10"},ait={class:"text-white font-mono text-sm"},oit={class:"flex justify-between py-2 border-b border-white/10"},sit={class:"text-white font-mono text-xs break-all"},lit={key:0,class:"flex justify-between py-2 border-b border-white/10"},uit={class:"text-white font-mono text-xs"},cit={class:"space-y-3"},hit={class:"flex justify-between py-2 border-b border-white/10"},fit={class:"text-white font-semibold"},dit={class:"flex justify-between py-2 border-b border-white/10"},pit={class:"text-white font-semibold"},mit={class:"flex justify-between py-2 border-b border-white/10"},git={class:"mb-6"},vit={class:"glass-card bg-white/5 rounded-[15px] p-4"},yit={class:"space-y-3"},xit={class:"flex justify-between py-2 border-b border-white/10"},_it={class:"text-white"},bit={key:0,class:"pt-2"},wit={class:"glass-card bg-black/30 rounded-[10px] p-4 mb-4"},kit={class:"w-full overflow-x-auto"},Tit={class:"text-white/90 text-xs font-mono whitespace-pre leading-relaxed min-w-full"},Ait={class:"flex items-center justify-between mb-3"},Mit={class:"text-white/80 text-sm font-semibold"},Sit={class:"text-white/60 text-xs"},Eit={class:"glass-card bg-black/40 rounded-[8px] p-3 mb-3"},Cit={class:"font-mono text-xs text-white break-all whitespace-pre-wrap leading-relaxed"},Lit={class:"glass-card bg-white/5 rounded-[10px] overflow-hidden"},Pit={class:"text-cyan-400 text-sm font-mono break-words min-w-0"},Iit={class:"text-white text-sm break-words min-w-0"},zit={class:"text-white text-sm font-semibold break-all min-w-0 overflow-hidden"},Oit=["title"],Dit={class:"text-orange-400 text-xs font-mono break-all min-w-0 overflow-hidden"},Fit=["title"],Bit={class:"grid grid-cols-2 gap-2"},Rit={class:"text-cyan-400 text-sm font-mono break-words"},Nit={class:"text-white text-sm break-words"},jit=["title"],Uit=["title"],Vit={key:0,class:"text-white/60 text-xs italic mt-2 px-1"},Hit={key:1,class:"py-2"},Wit={class:"mb-6"},qit={class:"glass-card bg-white/5 rounded-[15px] p-4"},$it={class:"space-y-4"},Zit={class:"grid grid-cols-1 md:grid-cols-2 gap-4"},Git={class:"flex justify-between py-2 border-b border-white/10"},Yit={class:"flex justify-between py-2 border-b border-white/10"},Kit={key:0,class:"py-2"},Xit={class:"glass-card bg-black/20 rounded-[10px] p-4"},Jit={class:"flex items-center flex-wrap gap-2"},Qit={class:"relative group"},tat={class:"relative px-3 py-2 bg-gradient-to-br from-blue-500/20 to-cyan-500/20 border border-cyan-400/40 rounded-lg transform transition-all hover:scale-105"},eat={class:"font-mono text-xs font-semibold text-white/90"},rat={class:"absolute bottom-full left-1/2 transform -translate-x-1/2 mb-2 px-2 py-1 bg-black/90 text-white text-xs rounded opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none whitespace-nowrap z-10"},nat={key:0,class:"mx-2 text-cyan-400/60"},iat={key:1,class:"py-2"},aat={class:"text-white/70 text-sm mb-2 flex items-center"},oat={key:0,class:"w-4 h-4 ml-2 text-yellow-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},sat={key:1,class:"text-yellow-400 text-xs ml-1"},lat={class:"glass-card bg-black/20 rounded-[10px] p-4"},uat={class:"flex items-center flex-wrap gap-2"},cat={class:"relative group"},hat={key:0,class:"absolute -top-1 -right-1 w-2 h-2 bg-yellow-400 rounded-full animate-pulse"},fat={class:"absolute bottom-full left-1/2 transform -translate-x-1/2 mb-2 px-2 py-1 bg-black/90 text-white text-xs rounded opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none whitespace-nowrap z-10"},dat={key:0,class:"mx-1 text-orange-400/60"},pat={class:"mb-6"},mat={class:"glass-card bg-white/5 rounded-[15px] p-4"},gat={class:"grid grid-cols-1 md:grid-cols-3 gap-4 mb-4"},vat={class:"text-center p-3 glass-card bg-black/20 rounded-[10px]"},yat={class:"text-lg font-bold text-white"},xat={class:"text-center p-3 glass-card bg-black/20 rounded-[10px]"},_at={class:"text-center p-3 glass-card bg-black/20 rounded-[10px]"},bat={class:"text-lg font-bold text-white"},wat={class:"mb-4"},kat={class:"flex items-center gap-3"},Tat={class:"flex gap-1"},Aat={class:"text-white/80 text-sm capitalize"},Mat={key:0,class:"mb-4"},Sat={class:"text-white/70 text-sm mb-3"},Eat={class:"space-y-2"},Cat={class:"flex items-center gap-3"},Lat={class:"text-white/60 text-sm"},Pat={class:"grid grid-cols-1 md:grid-cols-2 gap-4"},Iat={class:"space-y-2"},zat={class:"flex justify-between py-2 border-b border-white/10"},Oat={class:"text-white"},Dat={class:"flex justify-between py-2 border-b border-white/10"},Fat={class:"space-y-2"},Bat={class:"flex justify-between py-2 border-b border-white/10"},Rat={key:0,class:"flex justify-between py-2 border-b border-white/10"},Nat={class:"text-red-400 text-sm"},jat={class:"mt-6 pt-4 border-t border-white/10 flex justify-end"},Uat=Ec({name:"PacketDetailsModal",__name:"PacketDetailsModal",props:{packet:{},isOpen:{type:Boolean},localHash:{}},emits:["close"],setup(d,{emit:s}){const E=d,R=s,K=Dt=>new Date(Dt*1e3).toLocaleString(),dt=Dt=>Dt.transmitted?Dt.is_duplicate?"text-amber-400":Dt.drop_reason?"text-red-400":"text-green-400":"text-red-400",_t=Dt=>Dt.transmitted?Dt.is_duplicate?"Duplicate":Dt.drop_reason?"Dropped":"Forwarded":"Dropped",It=Dt=>({0:"Request",1:"Response",2:"Plain Text Message",3:"Acknowledgment",4:"Node Advertisement",5:"Group Text Message",6:"Group Datagram",7:"Anonymous Request",8:"Returned Path",9:"Trace",10:"Multi-part Packet",15:"Custom Packet"})[Dt]||`Unknown Type (${Dt})`,jt=Dt=>({0:"Transport Flood",1:"Flood",2:"Direct",3:"Transport Direct"})[Dt]||`Unknown Route (${Dt})`,te=Dt=>{if(!Dt)return"None";const Qn=Dt.replace(/\s+/g,"").toUpperCase().match(/.{2}/g)||[],Dn=[];for(let Xn=0;Xn{try{let Dn=0;const Xn=un.length/2;if(Xn>=100){if(un.length>=Dn+64){const Ni=un.slice(Dn,Dn+64);Dt.push({name:"Public Key",byteRange:`${(Qn+Dn)/2}-${(Qn+Dn+63)/2}`,hexData:Ni.match(/.{8}/g)?.join(" ")||Ni,description:"Ed25519 public key of the node (32 bytes)",fields:[{bits:"0-255",name:"Ed25519 Public Key",value:`${Ni.slice(0,16)}...${Ni.slice(-16)}`,binary:"32 bytes (256 bits)"}]}),Dn+=64}if(un.length>=Dn+8){const Ni=un.slice(Dn,Dn+8),zi=parseInt(Ni,16),qr=new Date(zi*1e3);Dt.push({name:"Timestamp",byteRange:`${(Qn+Dn)/2}-${(Qn+Dn+7)/2}`,hexData:Ni.match(/.{2}/g)?.join(" ")||Ni,description:"Unix timestamp of advertisement",fields:[{bits:"0-31",name:"Unix Timestamp",value:`${zi} (${qr.toLocaleString()})`,binary:zi.toString(2).padStart(32,"0")}]}),Dn+=8}if(un.length>=Dn+128){const Ni=un.slice(Dn,Dn+128);Dt.push({name:"Signature",byteRange:`${(Qn+Dn)/2}-${(Qn+Dn+127)/2}`,hexData:Ni.match(/.{8}/g)?.join(" ")||Ni,description:"Ed25519 signature of public key, timestamp, and appdata",fields:[{bits:"0-511",name:"Ed25519 Signature",value:`${Ni.slice(0,16)}...${Ni.slice(-16)}`,binary:"64 bytes (512 bits)"}]}),Dn+=128}if(un.length>Dn){const Ni=un.slice(Dn);Le(Dt,Ni,Qn+Dn)}}else Dt.push({name:"ADVERT AppData (Partial)",byteRange:`${Qn/2}-${Qn/2+Xn-1}`,hexData:un.match(/.{2}/g)?.join(" ")||un,description:`Partial ADVERT data - appears to be just AppData portion (${Xn} bytes)`,fields:[{bits:`0-${Xn*8-1}`,name:"Partial Data",value:`${Xn} bytes - attempting to decode as AppData`,binary:`${Xn} bytes (${Xn*8} bits)`}]}),Le(Dt,un,Qn)}catch(Dn){Dt.push({name:"ADVERT Parse Error",byteRange:"N/A",hexData:un.slice(0,32)+"...",description:"Failed to parse ADVERT payload structure",fields:[{bits:"N/A",name:"Error",value:`Parse error: ${Dn instanceof Error?Dn.message:"Unknown error"}`,binary:"Invalid"}]})}},Le=(Dt,un,Qn)=>{try{const Dn=un.length/2;Dt.push({name:"AppData",byteRange:`${Qn/2}-${Qn/2+Dn-1}`,hexData:un.match(/.{2}/g)?.join(" ")||un,description:`Node advertisement application data (${Dn} bytes)`,fields:[{bits:`0-${Dn*8-1}`,name:"Application Data",value:`${Dn} bytes (contains flags, location, name, etc.)`,binary:`${Dn} bytes (${Dn*8} bits)`}]});let Xn=0;if(un.length>=2){const Ni=parseInt(un.slice(Xn,Xn+2),16),zi=[],qr=!!(Ni&16),Si=!!(Ni&32),Nn=!!(Ni&64),si=!!(Ni&128);if(Ni&1&&zi.push("is chat node"),Ni&2&&zi.push("is repeater"),Ni&4&&zi.push("is room server"),Ni&8&&zi.push("is sensor"),qr&&zi.push("has location"),Si&&zi.push("has feature 1"),Nn&&zi.push("has feature 2"),si&&zi.push("has name"),Dt.push({name:"AppData Flags",byteRange:`${(Qn+Xn)/2}`,hexData:`0x${un.slice(Xn,Xn+2)}`,description:"Flags indicating which optional fields are present",fields:[{bits:"0-7",name:"Flags",value:zi.join(", ")||"none",binary:Ni.toString(2).padStart(8,"0")}]}),Xn+=2,qr&&un.length>=Xn+16){const Hn=un.slice(Xn,Xn+8),Vn=[];for(let Ks=6;Ks>=0;Ks-=2)Vn.push(Hn.slice(Ks,Ks+2));const sa=parseInt(Vn.join(""),16),Ti=sa>2147483647?sa-4294967296:sa,fi=Ti/1e6,ma=un.slice(Xn+8,Xn+16),ml=[];for(let Ks=6;Ks>=0;Ks-=2)ml.push(ma.slice(Ks,Ks+2));const Ya=parseInt(ml.join(""),16),ao=Ya>2147483647?Ya-4294967296:Ya,Wa=ao/1e6;Dt.push({name:"Location Data",byteRange:`${(Qn+Xn)/2}-${(Qn+Xn+15)/2}`,hexData:`${Hn.match(/.{2}/g)?.join(" ")||Hn} ${ma.match(/.{2}/g)?.join(" ")||ma}`,description:"GPS coordinates (latitude and longitude)",fields:[{bits:"0-31",name:"Latitude",value:`${fi.toFixed(6)}° (raw: ${Ti})`,binary:Ti.toString(2).padStart(32,"0")},{bits:"32-63",name:"Longitude",value:`${Wa.toFixed(6)}° (raw: ${ao})`,binary:ao.toString(2).padStart(32,"0")}]}),Xn+=16}if(Si&&un.length>=Xn+4){const Hn=un.slice(Xn,Xn+4),Vn=parseInt(Hn,16);Dt.push({name:"Feature 1",byteRange:`${(Qn+Xn)/2}-${(Qn+Xn+3)/2}`,hexData:Hn.match(/.{2}/g)?.join(" ")||Hn,description:"Reserved feature 1 (2 bytes)",fields:[{bits:"0-15",name:"Feature 1 Value",value:`${Vn}`,binary:Vn.toString(2).padStart(16,"0")}]}),Xn+=4}if(Nn&&un.length>=Xn+4){const Hn=un.slice(Xn,Xn+4),Vn=parseInt(Hn,16);Dt.push({name:"Feature 2",byteRange:`${(Qn+Xn)/2}-${(Qn+Xn+3)/2}`,hexData:Hn.match(/.{2}/g)?.join(" ")||Hn,description:"Reserved feature 2 (2 bytes)",fields:[{bits:"0-15",name:"Feature 2 Value",value:`${Vn}`,binary:Vn.toString(2).padStart(16,"0")}]}),Xn+=4}if(si&&un.length>Xn){const Hn=un.slice(Xn),Vn=Hn.match(/.{2}/g)||[],sa=Vn.map(Ti=>{const fi=parseInt(Ti,16);return fi>=32&&fi<=126?String.fromCharCode(fi):"."}).join("").replace(/\.+$/,"");Dt.push({name:"Node Name",byteRange:`${(Qn+Xn)/2}-${(Qn+un.length-1)/2}`,hexData:Hn.match(/.{2}/g)?.join(" ")||Hn,description:`Node name string (${Vn.length} bytes)`,fields:[{bits:`0-${Vn.length*8-1}`,name:"Node Name",value:`"${sa}"`,binary:`ASCII text (${Vn.length} bytes)`}]})}}}catch(Dn){Dt.push({name:"AppData Parse Error",byteRange:"N/A",hexData:un.slice(0,Math.min(32,un.length)),description:"Failed to parse AppData structure",fields:[{bits:"N/A",name:"Error",value:`Parse error: ${Dn instanceof Error?Dn.message:"Unknown error"}`,binary:"Invalid"}]})}},Je=Dt=>{if(!Dt)return[];if(Array.isArray(Dt))return Dt;if(typeof Dt=="string")try{return JSON.parse(Dt)}catch{return[]}return[]},fr=Dt=>{const un=[];if(!Dt)return un;try{const Qn=Dt.raw_packet;if(Qn){const Dn=Qn.replace(/\s+/g,"").toUpperCase();let Xn=0;if(Dn.length>=2){const Ni=Dn.slice(Xn,Xn+2),zi=parseInt(Ni,16),qr=zi&3,Si=(zi&60)>>2,Nn=(zi&192)>>6,si={0:"Transport Flood",1:"Flood",2:"Direct",3:"Transport Direct"},Hn={0:"REQ",1:"RESPONSE",2:"TXT_MSG",3:"ACK",4:"ADVERT",5:"GRP_TXT",6:"GRP_DATA",7:"ANON_REQ",8:"PATH",9:"TRACE",10:"MULTIPART",15:"RAW_CUSTOM"};if(un.push({name:"Header",byteRange:"0",hexData:`0x${Ni}`,description:"Contains routing type, payload type, and payload version",fields:[{bits:"0-1",name:"Route Type",value:si[qr]||"Unknown",binary:qr.toString(2).padStart(2,"0")},{bits:"2-5",name:"Payload Type",value:Hn[Si]||"Unknown",binary:Si.toString(2).padStart(4,"0")},{bits:"6-7",name:"Version",value:Nn.toString(),binary:Nn.toString(2).padStart(2,"0")}]}),Xn+=2,(qr===0||qr===3)&&Dn.length>=Xn+8){const sa=Dn.slice(Xn,Xn+8),Ti=parseInt(sa.slice(0,4),16),fi=parseInt(sa.slice(4,8),16);un.push({name:"Transport Codes",byteRange:"1-4",hexData:`${sa.slice(0,4)} ${sa.slice(4,8)}`,description:"2x 16-bit transport codes for routing optimization",fields:[{bits:"0-15",name:"Code 1",value:Ti.toString(),binary:Ti.toString(2).padStart(16,"0")},{bits:"16-31",name:"Code 2",value:fi.toString(),binary:fi.toString(2).padStart(16,"0")}]}),Xn+=8}if(Dn.length>=Xn+2){const sa=Dn.slice(Xn,Xn+2),Ti=parseInt(sa,16);if(un.push({name:"Path Length",byteRange:`${Xn/2}`,hexData:`0x${sa}`,description:`${Ti} bytes of path data`,fields:[{bits:"0-7",name:"Path Length",value:`${Ti} bytes`,binary:Ti.toString(2).padStart(8,"0")}]}),Xn+=2,Ti>0&&Dn.length>=Xn+Ti*2){const fi=Dn.slice(Xn,Xn+Ti*2);un.push({name:"Path Data",byteRange:`${Xn/2}-${(Xn+Ti*2-2)/2}`,hexData:fi.match(/.{2}/g)?.join(" ")||fi,description:"Routing path information",fields:[{bits:`0-${Ti*8-1}`,name:"Route Path",value:`${Ti} bytes of routing data`,binary:`${Ti} bytes (${Ti*8} bits)`}]}),Xn+=Ti*2}}if(Dn.length>Xn){const sa=Dn.slice(Xn),Ti=sa.length/2;Si===4?le(un,sa,Xn):un.push({name:"Payload Data",byteRange:`${Xn/2}-${Xn/2+Ti-1}`,hexData:sa.match(/.{2}/g)?.join(" ")||sa,description:"Application data content",fields:[{bits:`0-${Ti*8-1}`,name:"Application Data",value:`${Ti} bytes`,binary:`${Ti} bytes (${Ti*8} bits)`}]})}}}else{if(Dt.header){const Dn=Dt.header.replace(/0x/gi,"").replace(/\s+/g,"").toUpperCase(),Xn=parseInt(Dn,16),Ni=Xn&3,zi=(Xn&60)>>2,qr=(Xn&192)>>6,Si={0:"Transport Flood",1:"Flood",2:"Direct",3:"Transport Direct"},Nn={0:"REQ",1:"RESPONSE",2:"TXT_MSG",3:"ACK",4:"ADVERT",5:"GRP_TXT",6:"GRP_DATA",7:"ANON_REQ",8:"PATH",9:"TRACE",10:"MULTIPART",15:"RAW_CUSTOM"};un.push({name:"Header",byteRange:"0",hexData:`0x${Dn}`,description:"Contains routing type, payload type, and payload version",fields:[{bits:"0-1",name:"Route Type",value:Si[Ni]||"Unknown",binary:Ni.toString(2).padStart(2,"0")},{bits:"2-5",name:"Payload Type",value:Nn[zi]||"Unknown",binary:zi.toString(2).padStart(4,"0")},{bits:"6-7",name:"Version",value:qr.toString(),binary:qr.toString(2).padStart(2,"0")}]}),Dt.transport_codes&&un.push({name:"Transport Codes",byteRange:"1-4",hexData:Dt.transport_codes,description:"2x 16-bit transport codes for routing optimization",fields:[{bits:"0-31",name:"Transport Codes",value:Dt.transport_codes,binary:"Available in separate field"}]}),Dt.original_path&&Dt.original_path.length>0&&un.push({name:"Original Path",byteRange:"?",hexData:Dt.original_path.join(" "),description:`Original routing path (${Dt.original_path.length} nodes)`,fields:[{bits:"0-?",name:"Path Nodes",value:`${Dt.original_path.length} nodes`,binary:"Available as node list"}]}),Dt.forwarded_path&&Dt.forwarded_path.length>0&&un.push({name:"Forwarded Path",byteRange:"?",hexData:Dt.forwarded_path.join(" "),description:`Forwarded routing path (${Dt.forwarded_path.length} nodes)`,fields:[{bits:"0-?",name:"Path Nodes",value:`${Dt.forwarded_path.length} nodes`,binary:"Available as node list"}]})}if(Dt.payload){const Dn=Dt.payload.replace(/\s+/g,"").toUpperCase(),Xn=Dn.length/2;Dt.type===4?le(un,Dn,0):un.push({name:"Payload Data",byteRange:`0-${Xn-1}`,hexData:Dn.match(/.{2}/g)?.join(" ")||Dn,description:`Application data content (${Xn} bytes)`,fields:[{bits:`0-${Xn*8-1}`,name:"Application Data",value:`${Xn} bytes`,binary:`${Xn} bytes (${Xn*8} bits)`}]})}}}catch{un.push({name:"Parse Error",byteRange:"N/A",hexData:"Error",description:"Unable to parse packet structure",fields:[{bits:"N/A",name:"Error",value:"Parse failed",binary:"Invalid"}]})}return un},Tr=Dt=>Dt>=10?"text-green-400":Dt>=5?"text-cyan-400":Dt>=0?"text-yellow-400":"text-red-400",wr=(Dt,un=8)=>{const Dn={7:-7.5,8:-10,9:-12.5,10:-15,11:-17.5,12:-20}[un]||-10;let Xn,Ni;return Dt>=Dn+10?(Xn=4,Ni="signal-excellent"):Dt>=Dn+5?(Xn=3,Ni="signal-good"):Dt>=Dn?(Xn=2,Ni="signal-fair"):(Xn=1,Ni="signal-poor"),{level:Xn,className:Ni}},Vr=Dt=>{Dt.key==="Escape"&&R("close")},fn=Dt=>{Dt.target===Dt.currentTarget&&R("close")};return(Dt,un)=>(ii(),Y0(QA,{to:"body"},[Al(Kz,{name:"modal",appear:""},{default:ew(()=>[Dt.isOpen&&Dt.packet?(ii(),gi("div",{key:0,class:"fixed inset-0 z-50 flex items-center justify-center p-4",onClick:fn,onKeydown:Vr,tabindex:"0"},[un[40]||(un[40]=oe("div",{class:"absolute inset-0 bg-black/60 backdrop-blur-md"},null,-1)),oe("div",Ynt,[oe("div",Knt,[oe("div",Xnt,[oe("div",null,[un[2]||(un[2]=oe("h2",{class:"text-2xl font-bold text-white mb-1"},"Packet Details",-1)),oe("p",Jnt,mi(It(Dt.packet.type))+" - "+mi(jt(Dt.packet.route)),1)]),oe("button",{onClick:un[0]||(un[0]=Qn=>R("close")),class:"w-8 h-8 flex items-center justify-center rounded-full bg-white/10 hover:bg-white/20 transition-colors duration-200 text-white/70 hover:text-white"},un[3]||(un[3]=[oe("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[oe("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1)]))]),oe("div",Qnt,[oe("div",tit,[un[10]||(un[10]=oe("h3",{class:"text-lg font-semibold text-white mb-4 flex items-center"},[oe("div",{class:"w-2 h-2 rounded-full bg-cyan-400 mr-3"}),Zu(" Basic Information ")],-1)),oe("div",eit,[oe("div",rit,[oe("div",nit,[oe("div",iit,[un[4]||(un[4]=oe("span",{class:"text-white/70 text-sm"},"Timestamp",-1)),oe("span",ait,mi(K(Dt.packet.timestamp)),1)]),oe("div",oit,[un[5]||(un[5]=oe("span",{class:"text-white/70 text-sm"},"Packet Hash",-1)),oe("span",sit,mi(Dt.packet.packet_hash),1)]),Dt.packet.header?(ii(),gi("div",lit,[un[6]||(un[6]=oe("span",{class:"text-white/70 text-sm"},"Header",-1)),oe("span",uit,mi(Dt.packet.header),1)])):Oo("",!0)]),oe("div",cit,[oe("div",hit,[un[7]||(un[7]=oe("span",{class:"text-white/70 text-sm"},"Type",-1)),oe("span",fit,mi(Dt.packet.type)+" ("+mi(It(Dt.packet.type))+")",1)]),oe("div",dit,[un[8]||(un[8]=oe("span",{class:"text-white/70 text-sm"},"Route",-1)),oe("span",pit,mi(Dt.packet.route)+" ("+mi(jt(Dt.packet.route))+")",1)]),oe("div",mit,[un[9]||(un[9]=oe("span",{class:"text-white/70 text-sm"},"Status",-1)),oe("span",{class:ko(["font-semibold",dt(Dt.packet)])},mi(_t(Dt.packet)),3)])])])])]),oe("div",git,[un[20]||(un[20]=oe("h3",{class:"text-lg font-semibold text-white mb-4 flex items-center"},[oe("div",{class:"w-2 h-2 rounded-full bg-orange-400 mr-3"}),Zu(" Payload Data ")],-1)),oe("div",vit,[oe("div",yit,[oe("div",xit,[un[11]||(un[11]=oe("span",{class:"text-white/70 text-sm"},"Payload Length",-1)),oe("span",_it,mi(Dt.packet.payload_length||Dt.packet.length)+" bytes",1)]),Dt.packet.payload?(ii(),gi("div",bit,[un[18]||(un[18]=oe("div",{class:"text-white/70 text-sm mb-3"},"Payload Analysis",-1)),oe("div",wit,[un[12]||(un[12]=oe("div",{class:"text-white/70 text-xs mb-2 font-semibold"},"Raw Hex Data",-1)),oe("div",kit,[oe("pre",Tit,mi(te(Dt.packet.payload)),1)])]),(ii(!0),gi(cu,null,Yc(fr(Dt.packet).filter(Qn=>!Qn.name.includes("Parse Error")),(Qn,Dn)=>(ii(),gi("div",{key:Dn,class:"mb-4"},[oe("div",Ait,[oe("h4",Mit,mi(Qn.name),1),oe("span",Sit,"Bytes "+mi(Qn.byteRange),1)]),oe("div",Eit,[oe("div",Cit,mi(Qn.hexData),1)]),oe("div",Lit,[un[17]||(un[17]=oe("div",{class:"hidden md:grid grid-cols-4 gap-3 p-3 bg-white/10 text-white/70 text-xs font-semibold uppercase tracking-wide"},[oe("div",{class:"min-w-0"},"Bits"),oe("div",{class:"min-w-0"},"Field"),oe("div",{class:"min-w-0"},"Value"),oe("div",{class:"min-w-0"},"Binary")],-1)),(ii(!0),gi(cu,null,Yc(Qn.fields,(Xn,Ni)=>(ii(),gi("div",{key:Ni,class:"hidden md:grid grid-cols-4 gap-3 p-3 border-b border-white/5 last:border-b-0 hover:bg-white/5 transition-colors"},[oe("div",Pit,mi(Xn.bits),1),oe("div",Iit,mi(Xn.name),1),oe("div",zit,[oe("span",{class:"block",title:Xn.value},mi(Xn.value),9,Oit)]),oe("div",Dit,[oe("span",{class:"block",title:Xn.binary},mi(Xn.binary),9,Fit)])]))),128)),(ii(!0),gi(cu,null,Yc(Qn.fields,(Xn,Ni)=>(ii(),gi("div",{key:`mobile-${Ni}`,class:"md:hidden p-3 border-b border-white/5 last:border-b-0 space-y-2"},[oe("div",Bit,[oe("div",null,[un[13]||(un[13]=oe("span",{class:"text-white/70 text-xs uppercase tracking-wide"},"Bits:",-1)),oe("div",Rit,mi(Xn.bits),1)]),oe("div",null,[un[14]||(un[14]=oe("span",{class:"text-white/70 text-xs uppercase tracking-wide"},"Field:",-1)),oe("div",Nit,mi(Xn.name),1)])]),oe("div",null,[un[15]||(un[15]=oe("span",{class:"text-white/70 text-xs uppercase tracking-wide"},"Value:",-1)),oe("div",{class:"text-white text-sm font-semibold break-all",title:Xn.value},mi(Xn.value),9,jit)]),oe("div",null,[un[16]||(un[16]=oe("span",{class:"text-white/70 text-xs uppercase tracking-wide"},"Binary:",-1)),oe("div",{class:"text-orange-400 text-xs font-mono break-all",title:Xn.binary},mi(Xn.binary),9,Uit)])]))),128))]),Qn.description?(ii(),gi("div",Vit,mi(Qn.description),1)):Oo("",!0)]))),128))])):(ii(),gi("div",Hit,un[19]||(un[19]=[oe("span",{class:"text-white/70 text-sm"},"Payload:",-1),oe("span",{class:"text-white/50 ml-2"},"None",-1)])))])])]),oe("div",Wit,[un[28]||(un[28]=oe("h3",{class:"text-lg font-semibold text-white mb-4 flex items-center"},[oe("div",{class:"w-2 h-2 rounded-full bg-purple-400 mr-3"}),Zu(" Path Information ")],-1)),oe("div",qit,[oe("div",$it,[oe("div",Zit,[oe("div",Git,[un[21]||(un[21]=oe("span",{class:"text-white/70 text-sm"},"Source Hash",-1)),oe("span",{class:ko(["text-white font-mono text-xs",E.localHash&&Dt.packet.src_hash===E.localHash?"bg-cyan-400/20 text-cyan-300 px-1 rounded":""])},mi(Dt.packet.src_hash||"Unknown"),3)]),oe("div",Yit,[un[22]||(un[22]=oe("span",{class:"text-white/70 text-sm"},"Destination Hash",-1)),oe("span",{class:ko(["text-white font-mono text-xs",E.localHash&&Dt.packet.dst_hash===E.localHash?"bg-cyan-400/20 text-cyan-300 px-1 rounded":""])},mi(Dt.packet.dst_hash||"Broadcast"),3)])]),Je(Dt.packet.original_path).length>0?(ii(),gi("div",Kit,[un[24]||(un[24]=oe("div",{class:"text-white/70 text-sm mb-2"},"Original Path",-1)),oe("div",Xit,[oe("div",Jit,[(ii(!0),gi(cu,null,Yc(Je(Dt.packet.original_path),(Qn,Dn)=>(ii(),gi("div",{key:Dn,class:"flex items-center"},[oe("div",Qit,[oe("div",tat,[oe("div",eat,mi(Qn.length<=2?Qn.toUpperCase():Qn.slice(0,2).toUpperCase()),1)]),oe("div",rat," Node: "+mi(Qn),1)]),Dn0?(ii(),gi("div",iat,[oe("div",aat,[un[26]||(un[26]=Zu(" Forwarded Path ",-1)),JSON.stringify(Je(Dt.packet.original_path))!==JSON.stringify(Je(Dt.packet.forwarded_path))?(ii(),gi("svg",oat,un[25]||(un[25]=[oe("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"},null,-1)]))):Oo("",!0),JSON.stringify(Je(Dt.packet.original_path))!==JSON.stringify(Je(Dt.packet.forwarded_path))?(ii(),gi("span",sat,"(Modified)")):Oo("",!0)]),oe("div",lat,[oe("div",uat,[(ii(!0),gi(cu,null,Yc(Je(Dt.packet.forwarded_path),(Qn,Dn)=>(ii(),gi("div",{key:Dn,class:"flex items-center"},[oe("div",cat,[oe("div",{class:ko(["relative px-3 py-2 bg-gradient-to-br from-orange-500/20 to-yellow-500/20 border border-orange-400/40 rounded-lg transform transition-all hover:scale-105",E.localHash&&Qn===E.localHash?"bg-gradient-to-br from-yellow-400/30 to-orange-400/30 border-yellow-300 shadow-yellow-400/20 shadow-lg":"hover:border-orange-400/60"])},[oe("div",{class:ko(["font-mono text-xs font-semibold",E.localHash&&Qn===E.localHash?"text-yellow-200":"text-white/90"])},mi(Qn.slice(0,2).toUpperCase()),3),E.localHash&&Qn===E.localHash?(ii(),gi("div",hat)):Oo("",!0)],2),oe("div",fat,mi(Qn),1)]),Dnoe("div",{key:Qn,class:ko(["w-2 h-6 rounded-sm transition-all duration-300",Qn<=wr(Dt.packet.snr).level?{"signal-excellent":"bg-green-400","signal-good":"bg-cyan-400","signal-fair":"bg-yellow-400","signal-poor":"bg-red-400"}[wr(Dt.packet.snr).className]:"bg-white/10"])},null,2)),64))]),oe("span",Aat,mi(wr(Dt.packet.snr).className.replace("signal-","")),1)])]),Dt.packet.is_trace&&Dt.packet.path_snr_details&&Dt.packet.path_snr_details.length>0?(ii(),gi("div",Mat,[oe("div",Sat,"Path SNR Details ("+mi(Dt.packet.path_snr_details.length)+" hops)",1),oe("div",Eat,[(ii(!0),gi(cu,null,Yc(Dt.packet.path_snr_details,(Qn,Dn)=>(ii(),gi("div",{key:Dn,class:"flex items-center justify-between p-2 glass-card bg-black/20 rounded-[8px]"},[oe("div",Cat,[oe("span",Lat,mi(Dn+1)+".",1),oe("span",{class:ko(["font-mono text-xs text-white",E.localHash&&Qn.hash===E.localHash?"bg-cyan-400/20 text-cyan-300 px-1 rounded":""])},mi(Qn.hash),3)]),oe("span",{class:ko(["text-sm font-bold",Tr(Qn.snr_db)])},mi(Qn.snr_db.toFixed(1))+"dB ",3)]))),128))])])):Oo("",!0),oe("div",Pat,[oe("div",Iat,[oe("div",zat,[un[35]||(un[35]=oe("span",{class:"text-white/70 text-sm"},"TX Delay",-1)),oe("span",Oat,mi(Number(Dt.packet.tx_delay_ms)>0?Number(Dt.packet.tx_delay_ms).toFixed(1)+"ms":"-"),1)]),oe("div",Dat,[un[36]||(un[36]=oe("span",{class:"text-white/70 text-sm"},"Transmitted",-1)),oe("span",{class:ko(Dt.packet.transmitted?"text-green-400":"text-red-400")},mi(Dt.packet.transmitted?"Yes":"No"),3)])]),oe("div",Fat,[oe("div",Bat,[un[37]||(un[37]=oe("span",{class:"text-white/70 text-sm"},"Is Duplicate",-1)),oe("span",{class:ko(Dt.packet.is_duplicate?"text-amber-400":"text-white/60")},mi(Dt.packet.is_duplicate?"Yes":"No"),3)]),Dt.packet.drop_reason?(ii(),gi("div",Rat,[un[38]||(un[38]=oe("span",{class:"text-white/70 text-sm"},"Drop Reason",-1)),oe("span",Nat,mi(Dt.packet.drop_reason),1)])):Oo("",!0)])])])])]),oe("div",jat,[oe("button",{onClick:un[1]||(un[1]=Qn=>R("close")),class:"px-6 py-2 bg-gradient-to-r from-cyan-500/20 to-cyan-400/20 hover:from-cyan-500/30 hover:to-cyan-400/30 border border-cyan-400/30 rounded-[10px] text-white transition-all duration-200 backdrop-blur-sm"}," Close ")])])])],32)):Oo("",!0)]),_:1})]))}}),Vat=Bf(Uat,[["__scopeId","data-v-16f69406"]]),Hat={class:"glass-card rounded-[20px] p-6"},Wat={class:"flex justify-between items-center mb-6 filter-container"},qat={class:"flex items-center gap-3 header-info"},$at={class:"text-dark-text text-sm packet-count"},Zat=["title"],Gat={class:"hidden sm:inline"},Yat={key:1,class:"text-primary text-sm loading-indicator"},Kat={key:2,class:"text-accent-red text-sm error-indicator"},Xat={class:"flex items-center gap-3 lg:flex filter-controls"},Jat={class:"flex flex-col"},Qat=["value"],tot={class:"flex flex-col"},eot=["value"],rot={class:"flex flex-col"},not={class:"flex flex-col reset-container"},iot=["disabled"],aot={class:"space-y-4 overflow-hidden"},oot=["onClick"],sot={class:"hidden lg:grid grid-cols-12 gap-2 items-center"},lot={class:"col-span-1 text-white text-sm"},uot={class:"col-span-1 flex items-center gap-2"},cot={class:"flex flex-col"},hot={class:"text-white text-xs"},fot=["title"],dot={class:"col-span-2"},pot={class:"col-span-1 text-white text-xs"},mot={class:"col-span-2"},got={class:"space-y-1"},vot={class:"inline-block px-2 py-0.5 rounded bg-[#588187] text-accent-cyan text-xs"},yot={class:"col-span-1 text-white text-xs"},xot={class:"col-span-1 text-white text-xs"},_ot={class:"col-span-1 text-white text-xs"},bot={class:"col-span-1 text-white text-xs"},wot={class:"col-span-1"},kot={key:0,class:"text-accent-red text-[8px] italic truncate"},Tot={class:"lg:hidden space-y-2"},Aot={class:"flex items-center justify-between"},Mot={class:"flex items-center gap-2"},Sot={class:"flex flex-col"},Eot={class:"text-white text-sm font-medium"},Cot=["title"],Lot={class:"flex items-center gap-2 text-right"},Pot={class:"text-white/70 text-xs"},Iot={class:"flex items-center justify-between"},zot={class:"flex items-center gap-2"},Oot={class:"inline-block px-2 py-0.5 rounded bg-[#588187] text-accent-cyan text-xs"},Dot={class:"flex items-center gap-2"},Fot={class:"flex items-center gap-1"},Bot={class:"flex gap-0.5"},Rot={class:"text-white text-xs"},Not={class:"flex items-center justify-between text-white/60 text-xs"},jot={class:"flex items-center gap-3"},Uot={class:"flex items-center gap-2"},Vot={key:0},Hot={key:0,class:"text-accent-red text-xs italic"},Wot={key:0,class:"flex justify-between items-center mt-6 pt-4 border-t border-dark-border pagination-container"},qot={class:"flex items-center gap-4 pagination-info"},$ot={class:"text-dark-text text-sm"},Zot={key:0,class:"flex items-center gap-2 load-more-section"},Got=["disabled"],Yot={class:"text-dark-text text-xs load-more-count"},Kot={class:"flex items-center gap-2 pagination-controls"},Xot=["disabled"],Jot={class:"flex items-center gap-1 page-numbers"},Qot={key:1,class:"text-dark-text text-sm px-2 ellipsis"},tst=["onClick"],est={key:2,class:"text-dark-text text-sm px-2 ellipsis"},rst=["disabled"],nst={key:1,class:"flex justify-center mt-6 pt-4 border-t border-dark-border"},ist={class:"flex items-center gap-4"},ast={class:"text-dark-text text-sm"},ost={class:"text-dark-text text-xs"},sst={key:2,class:"flex justify-center mt-6 pt-4 border-t border-dark-border"},a2=10,cy=1e3,lst=Ec({name:"PacketTable",__name:"PacketTable",setup(d){const s=sw(),E=ja(1),R=ja(null),K=ja(100),dt=ja(!1),_t=ja(null),It=ja(!1),jt=Ya=>{_t.value=Ya,It.value=!0},te=()=>{It.value=!1,_t.value=null},le=ja("all"),Le=ja("all"),Je=ja(!1),fr=ja(null),Tr=["all","0","1","2","3","4","5","6","7","8","9","10","11"],wr=["all","1","2"],Vr=qo(()=>{let Ya=s.recentPackets;if(le.value!=="all"){const ao=parseInt(le.value);Ya=Ya.filter(Wa=>Wa.type===ao)}if(Le.value!=="all"){const ao=parseInt(Le.value);Ya=Ya.filter(Wa=>Wa.route===ao)}return Je.value&&fr.value!==null&&(Ya=Ya.filter(ao=>ao.timestamp>=fr.value)),Ya}),fn=qo(()=>{const Ya=(E.value-1)*a2,ao=Ya+a2;return Vr.value.slice(Ya,ao)}),Dt=qo(()=>Math.ceil(Vr.value.length/a2)),un=qo(()=>E.value===Dt.value),Qn=qo(()=>s.recentPackets.length>=K.value&&K.valueun.value&&Qn.value&&!dt.value),Xn=Ya=>new Date(Ya*1e3).toLocaleTimeString("en-US",{hour12:!1}),Ni=Ya=>({0:"REQ",1:"RESPONSE",2:"TXT_MSG",3:"ACK",4:"ADVERT",5:"GRP_TXT",6:"GRP_DATA",7:"ANON_REQ",8:"PATH",9:"TRACE",10:"MULTI_PART",11:"CONTROL"})[Ya]||`TYPE_${Ya}`,zi=Ya=>({0:"T-Flood",1:"Flood",2:"Direct",3:"T-Direct"})[Ya]||`Route ${Ya}`,qr=Ya=>Ya.transmitted?"text-accent-green":"text-primary",Si=Ya=>Ya.drop_reason?"Dropped":Ya.transmitted?"Forward":"Received",Nn=Ya=>Ya===1?"bg-[#223231] text-accent-cyan":"bg-secondary/30 text-secondary",si=Ya=>({0:"bg-primary",1:"bg-accent-green",2:"bg-secondary",3:"bg-accent-purple",4:"bg-accent-red",5:"bg-accent-cyan",6:"bg-primary",7:"bg-accent-purple",8:"bg-accent-green",9:"bg-secondary"})[Ya]||"bg-gray-500",Hn=Ya=>({0:"border-l-primary",1:"border-l-accent-green",2:"border-l-secondary",3:"border-l-accent-purple",4:"border-l-accent-red",5:"border-l-accent-cyan",6:"border-l-primary",7:"border-l-accent-purple",8:"border-l-accent-green",9:"border-l-secondary"})[Ya]||"border-l-gray-500",Vn=Ya=>{if(Ya.type!==4||!Ya.payload)return null;try{const ao=Ya.payload.replace(/\s+/g,"").toUpperCase();let Wa=ao,Ks=0;if(ao.length/2>=100)if(ao.length>200)Wa=ao.slice(200),Ks=0;else return null;if(Wa.length>=2){const $a=parseInt(Wa.slice(0,2),16);Ks+=2;const Ca=!!($a&16),ha=!!($a&32),oo=!!($a&64);if(!!!($a&128))return null;if(Ca&&Wa.length>=Ks+16&&(Ks+=16),ha&&Wa.length>=Ks+4&&(Ks+=4),oo&&Wa.length>=Ks+4&&(Ks+=4),Wa.length>Ks){const di=(Wa.slice(Ks).match(/.{2}/g)||[]).map(Ai=>{const hi=parseInt(Ai,16);return hi>=32&&hi<=126?String.fromCharCode(hi):"."}).join("").replace(/\.*$/,"");return di.length>0?di:null}}}catch(ao){console.error("Error parsing ADVERT node name:",ao)}return null},sa=()=>{le.value="all",Le.value="all",Je.value=!1,fr.value=null,E.value=1},Ti=()=>{Je.value?(Je.value=!1,fr.value=null):(Je.value=!0,fr.value=Date.now()/1e3),E.value=1},fi=qo(()=>fr.value?new Date(fr.value*1e3).toLocaleTimeString():""),ma=async Ya=>{try{const ao=Ya||K.value;await s.fetchRecentPackets({limit:ao})}catch(ao){console.error("Error fetching packet data:",ao)}},ml=async()=>{if(!(dt.value||K.value>=cy)){dt.value=!0;try{const Ya=Math.min(K.value+200,cy);K.value=Ya,await ma(Ya)}catch(Ya){console.error("Error loading more records:",Ya)}finally{dt.value=!1}}};return op(async()=>{await ma(),R.value=window.setInterval(ma,5e3)}),zm(()=>{R.value&&clearInterval(R.value)}),(Ya,ao)=>(ii(),gi(cu,null,[oe("div",Hat,[oe("div",Wat,[oe("div",qat,[ao[7]||(ao[7]=oe("h3",{class:"text-white text-xl font-semibold"},"Recent Packets",-1)),oe("span",$at," ("+mi(Vr.value.length)+" of "+mi(Dl(s).recentPackets.length)+") ",1),Je.value?(ii(),gi("span",{key:0,class:"text-primary text-sm bg-primary/10 px-2 py-1 rounded-md border border-primary/20 live-mode-badge",title:`Filter activated at ${fi.value}`},[oe("span",Gat,"Live Mode (since "+mi(fi.value)+")",1),ao[6]||(ao[6]=oe("span",{class:"sm:hidden"},"Live Mode",-1))],8,Zat)):Oo("",!0),Dl(s).isLoading?(ii(),gi("span",Yat,"Loading...")):Oo("",!0),Dl(s).error?(ii(),gi("span",Kat,mi(Dl(s).error),1)):Oo("",!0)]),oe("div",Xat,[oe("div",Jat,[ao[8]||(ao[8]=oe("label",{class:"text-dark-text text-xs mb-1"},"Type",-1)),Gp(oe("select",{"onUpdate:modelValue":ao[0]||(ao[0]=Wa=>le.value=Wa),class:"glass-card border border-dark-border rounded-[10px] px-3 py-2 text-white text-sm focus:outline-none focus:border-primary focus:ring-1 focus:ring-primary/20 transition-all duration-200 min-w-[120px] cursor-pointer hover:border-primary/50"},[(ii(),gi(cu,null,Yc(Tr,Wa=>oe("option",{key:Wa,value:Wa,class:"bg-[#1A1E1F] text-white"},mi(Wa==="all"?"All Types":`Type ${Wa} (${Ni(parseInt(Wa))})`),9,Qat)),64))],512),[[vA,le.value]])]),oe("div",tot,[ao[9]||(ao[9]=oe("label",{class:"text-dark-text text-xs mb-1"},"Route",-1)),Gp(oe("select",{"onUpdate:modelValue":ao[1]||(ao[1]=Wa=>Le.value=Wa),class:"glass-card border border-dark-border rounded-[10px] px-3 py-2 text-white text-sm focus:outline-none focus:border-primary focus:ring-1 focus:ring-primary/20 transition-all duration-200 min-w-[120px] cursor-pointer hover:border-primary/50"},[(ii(),gi(cu,null,Yc(wr,Wa=>oe("option",{key:Wa,value:Wa,class:"bg-[#1A1E1F] text-white"},mi(Wa==="all"?"All Routes":`Route ${Wa} (${zi(parseInt(Wa))})`),9,eot)),64))],512),[[vA,Le.value]])]),oe("div",rot,[ao[10]||(ao[10]=oe("label",{class:"text-dark-text text-xs mb-1"},"Filter",-1)),oe("button",{onClick:Ti,class:ko(["glass-card border rounded-[10px] px-4 py-2 text-sm transition-all duration-200 focus:outline-none focus:ring-1 focus:ring-primary/20 min-w-[120px]",{"border-primary bg-primary/10 text-primary":Je.value,"border-dark-border text-dark-text hover:border-primary hover:text-white hover:bg-primary/5":!Je.value}])},mi(Je.value?"New Only":"Show New"),3)]),oe("div",not,[ao[11]||(ao[11]=oe("label",{class:"text-transparent text-xs mb-1"},".",-1)),oe("button",{onClick:sa,class:ko(["glass-card border border-dark-border hover:border-primary rounded-[10px] px-4 py-2 text-dark-text hover:text-white text-sm transition-all duration-200 focus:outline-none focus:border-primary focus:ring-1 focus:ring-primary/20",{"opacity-50 cursor-not-allowed hover:border-dark-border hover:text-dark-text":le.value==="all"&&Le.value==="all"&&!Je.value,"hover:bg-primary/10":le.value!=="all"||Le.value!=="all"||Je.value}]),disabled:le.value==="all"&&Le.value==="all"&&!Je.value}," Reset ",10,iot)])])]),ao[17]||(ao[17]=Tf('TimeTypeRouteLENPath/HashesRSSISNRScoreTX DelayStatus',1)),oe("div",aot,[Al(qK,{name:"packet-list",tag:"div",class:"space-y-4",appear:""},{default:ew(()=>[(ii(!0),gi(cu,null,Yc(fn.value,(Wa,Ks)=>(ii(),gi("div",{key:`${Wa.packet_hash}_${Wa.timestamp}_${Ks}`,class:ko(["packet-row border-b border-dark-border/50 pb-4 hover:bg-white/5 transition-colors duration-200 cursor-pointer rounded-[10px] p-2 border-l-4",Hn(Wa.type)]),onClick:Fo=>jt(Wa)},[oe("div",sot,[oe("div",lot,mi(Xn(Wa.timestamp)),1),oe("div",uot,[oe("div",{class:ko(["w-2 h-2 rounded-full",si(Wa.type)])},null,2),oe("div",cot,[oe("span",hot,mi(Ni(Wa.type)),1),Wa.type===4&&Vn(Wa)?(ii(),gi("span",{key:0,class:"text-accent-red/70 text-[10px] font-medium max-w-[80px] truncate",title:Vn(Wa)||void 0},mi(Vn(Wa)),9,fot)):Oo("",!0)])]),oe("div",dot,[oe("span",{class:ko(["inline-block px-2 py-1 rounded text-xs font-medium",Nn(Wa.route)])},mi(zi(Wa.route)),3)]),oe("div",pot,mi(Wa.length)+"B",1),oe("div",mot,[oe("div",got,[oe("span",vot,mi(Wa.src_hash?.slice(-4)||"????")+" → "+mi(Wa.dst_hash?.slice(-4)||"????"),1)])]),oe("div",yot,mi(Wa.rssi.toFixed(0)),1),oe("div",xot,mi(Wa.snr.toFixed(1))+"dB",1),oe("div",_ot,mi(Wa.score.toFixed(2)),1),oe("div",bot,mi(Number(Wa.tx_delay_ms)>0?Number(Wa.tx_delay_ms).toFixed(1)+"ms":""),1),oe("div",wot,[oe("div",null,[oe("span",{class:ko(["text-xs font-medium",qr(Wa)])},mi(Si(Wa)),3),Wa.drop_reason?(ii(),gi("p",kot,mi(Wa.drop_reason),1)):Oo("",!0)])])]),oe("div",Tot,[oe("div",Aot,[oe("div",Mot,[oe("div",{class:ko(["w-2 h-2 rounded-full flex-shrink-0",si(Wa.type)])},null,2),oe("div",Sot,[oe("span",Eot,mi(Ni(Wa.type)),1),Wa.type===4&&Vn(Wa)?(ii(),gi("span",{key:0,class:"text-accent-red/70 text-[10px] font-medium leading-tight",title:Vn(Wa)||void 0},mi(Vn(Wa)),9,Cot)):Oo("",!0)]),oe("span",{class:ko(["inline-block px-2 py-1 rounded text-xs font-medium ml-2",Nn(Wa.route)])},mi(zi(Wa.route)),3)]),oe("div",Lot,[oe("span",Pot,mi(Xn(Wa.timestamp)),1),oe("span",{class:ko(["text-xs font-medium",qr(Wa)])},mi(Si(Wa)),3)])]),oe("div",Iot,[oe("div",zot,[oe("span",Oot,mi(Wa.src_hash?.slice(-4)||"????")+" → "+mi(Wa.dst_hash?.slice(-4)||"????"),1)]),oe("div",Dot,[oe("div",Fot,[oe("div",Bot,[oe("div",{class:ko(["w-1 h-3 rounded-sm",Wa.snr>=-10?"bg-green-400":"bg-white/20"])},null,2),oe("div",{class:ko(["w-1 h-4 rounded-sm",Wa.snr>=-5?"bg-green-400":"bg-white/20"])},null,2),oe("div",{class:ko(["w-1 h-5 rounded-sm",Wa.snr>=0?"bg-green-400":"bg-white/20"])},null,2),oe("div",{class:ko(["w-1 h-6 rounded-sm",Wa.snr>=10?"bg-green-400":"bg-white/20"])},null,2)]),oe("span",Rot,mi(Wa.rssi.toFixed(0))+"dBm",1)])])]),oe("div",Not,[oe("div",jot,[oe("span",null,mi(Wa.length)+"B",1),oe("span",null,"SNR: "+mi(Wa.snr.toFixed(1))+"dB",1),oe("span",null,"Score: "+mi(Wa.score.toFixed(2)),1)]),oe("div",Uot,[Number(Wa.tx_delay_ms)>0?(ii(),gi("span",Vot,mi(Number(Wa.tx_delay_ms).toFixed(1))+"ms ",1)):Oo("",!0)])]),Wa.drop_reason?(ii(),gi("div",Hot,mi(Wa.drop_reason),1)):Oo("",!0)])],10,oot))),128))]),_:1})]),Dt.value>1?(ii(),gi("div",Wot,[oe("div",qot,[oe("span",$ot," Showing "+mi((E.value-1)*a2+1)+" - "+mi(Math.min(E.value*a2,Vr.value.length))+" of "+mi(Vr.value.length)+" packets ",1),Dn.value?(ii(),gi("div",Zot,[ao[12]||(ao[12]=oe("span",{class:"text-dark-text text-xs"},"•",-1)),oe("button",{onClick:ml,disabled:dt.value,class:ko(["glass-card border border-primary rounded-[8px] px-3 py-1.5 text-xs transition-all duration-200 focus:outline-none focus:ring-1 focus:ring-primary/20 hover:bg-primary/5",{"text-primary border-primary cursor-pointer":!dt.value,"text-dark-text border-dark-border cursor-not-allowed opacity-50":dt.value}])},mi(dt.value?"Loading...":`Load ${Math.min(200,cy-K.value)} more`),11,Got),oe("span",Yot,"("+mi(K.value)+"/"+mi(cy)+" max)",1)])):Oo("",!0)]),oe("div",Kot,[oe("button",{onClick:ao[2]||(ao[2]=Wa=>E.value=E.value-1),disabled:E.value<=1,class:ko(["glass-card border rounded-[10px] px-3 py-2 text-sm transition-all duration-200 focus:outline-none focus:ring-1 focus:ring-primary/20 prev-next-btn",{"border-dark-border text-dark-text cursor-not-allowed opacity-50":E.value<=1,"border-dark-border text-white hover:border-primary hover:text-primary hover:bg-primary/5":E.value>1}])},ao[13]||(ao[13]=[oe("span",{class:"hidden sm:inline"},"Previous",-1),oe("span",{class:"sm:hidden"},"‹",-1)]),10,Xot),oe("div",Jot,[E.value>3?(ii(),gi("button",{key:0,onClick:ao[3]||(ao[3]=Wa=>E.value=1),class:"glass-card border border-dark-border hover:border-primary rounded-[8px] px-3 py-2 text-sm text-white hover:text-primary hover:bg-primary/5 transition-all duration-200 focus:outline-none focus:ring-1 focus:ring-primary/20"}," 1 ")):Oo("",!0),E.value>4?(ii(),gi("span",Qot,"...")):Oo("",!0),(ii(!0),gi(cu,null,Yc(Array.from({length:Math.min(5,Dt.value)},(Wa,Ks)=>Math.max(1,Math.min(E.value-2,Dt.value-4))+Ks).filter(Wa=>Wa<=Dt.value),Wa=>(ii(),gi("button",{key:Wa,onClick:Ks=>E.value=Wa,class:ko(["glass-card border rounded-[8px] px-3 py-2 text-sm transition-all duration-200 focus:outline-none focus:ring-1 focus:ring-primary/20 page-number",{"border-primary bg-primary/10 text-primary":E.value===Wa,"border-dark-border text-white hover:border-primary hover:text-primary hover:bg-primary/5":E.value!==Wa}])},mi(Wa),11,tst))),128)),E.valueE.value=Dt.value),class:"glass-card border border-dark-border hover:border-primary rounded-[8px] px-3 py-2 text-sm text-white hover:text-primary hover:bg-primary/5 transition-all duration-200 focus:outline-none focus:ring-1 focus:ring-primary/20"},mi(Dt.value),1)):Oo("",!0)]),oe("button",{onClick:ao[5]||(ao[5]=Wa=>E.value=E.value+1),disabled:E.value>=Dt.value,class:ko(["glass-card border rounded-[10px] px-3 py-2 text-sm transition-all duration-200 focus:outline-none focus:ring-1 focus:ring-primary/20 prev-next-btn",{"border-dark-border text-dark-text cursor-not-allowed opacity-50":E.value>=Dt.value,"border-dark-border text-white hover:border-primary hover:text-primary hover:bg-primary/5":E.value(ii(),gi("div",null,[Al(bnt),oe("div",cst,[Al(Gnt),Al(Dnt)]),Al(ust)]))}}),fst={class:"bg-white/5 border border-white/10 rounded-lg p-4 mb-6"},dst={class:"flex items-center gap-3"},pst={class:"flex-1 min-w-0"},mst={class:"text-white font-medium truncate"},gst={class:"text-white/60 text-sm font-mono"},vst={key:0,class:"text-white/50 text-xs"},yst={key:1,class:"text-white/50 text-xs"},xst=Ec({__name:"DeleteNeighborModal",props:{show:{type:Boolean},neighbor:{}},emits:["close","delete"],setup(d,{emit:s}){const E=d,R=s,K=()=>{E.neighbor&&(R("delete",E.neighbor.id),dt())},dt=()=>{R("close")},_t=It=>{It.target===It.currentTarget&&dt()};return(It,jt)=>It.show&&It.neighbor?(ii(),gi("div",{key:0,onClick:_t,class:"fixed inset-0 bg-black/80 backdrop-blur-lg z-[99999] flex items-center justify-center p-4",style:{"backdrop-filter":"blur(8px) saturate(180%)",position:"fixed",top:"0",left:"0",right:"0",bottom:"0"}},[oe("div",{class:"glass-card rounded-[20px] p-6 w-full max-w-md border border-white/10",onClick:jt[0]||(jt[0]=Pm(()=>{},["stop"]))},[oe("div",{class:"flex items-center gap-3 mb-6"},[jt[2]||(jt[2]=oe("svg",{class:"w-6 h-6 text-accent-red",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[oe("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-2.5L13.732 4c-.77-.833-1.964-.833-2.732 0L3.732 16.5c-.77.833.192 2.5 1.732 2.5z"})],-1)),jt[3]||(jt[3]=oe("div",null,[oe("h3",{class:"text-xl font-semibold text-white"},"Delete Neighbor"),oe("p",{class:"text-white/60 text-sm mt-1"}," Are you sure you want to delete this neighbor? ")],-1)),oe("button",{onClick:dt,class:"ml-auto text-white/60 hover:text-white transition-colors"},jt[1]||(jt[1]=[oe("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[oe("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1)]))]),oe("div",fst,[oe("div",dst,[oe("div",pst,[oe("div",mst,mi(It.neighbor?.node_name||It.neighbor?.long_name||It.neighbor?.short_name||"Unknown"),1),oe("div",gst," ID: "+mi(It.neighbor?.node_num_hex||It.neighbor?.node_num||It.neighbor?.id||"N/A"),1),It.neighbor?.contact_type?(ii(),gi("div",vst,mi(It.neighbor.contact_type),1)):Oo("",!0),It.neighbor?.hw_model?(ii(),gi("div",yst,mi(It.neighbor.hw_model),1)):Oo("",!0)])])]),jt[4]||(jt[4]=oe("div",{class:"bg-accent-red/10 border border-accent-red/30 rounded-lg p-4 mb-6"},[oe("div",{class:"flex items-center gap-2 text-accent-red text-sm"},[oe("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[oe("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 9v2m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})]),oe("span",null,"This action cannot be undone")])],-1)),oe("div",{class:"flex gap-3"},[oe("button",{onClick:dt,class:"flex-1 px-4 py-3 bg-white/5 hover:bg-white/10 border border-white/20 text-white rounded-lg transition-colors"}," Cancel "),oe("button",{onClick:K,class:"flex-1 px-4 py-3 bg-accent-red/20 hover:bg-accent-red/30 border border-accent-red/50 text-accent-red rounded-lg transition-colors font-medium"}," Delete ")])])])):Oo("",!0)}});function eD(d){return d&&d.__esModule&&Object.prototype.hasOwnProperty.call(d,"default")?d.default:d}var v2={exports:{}};/* @preserve * Leaflet 1.9.4, a JS library for interactive maps. https://leafletjs.com * (c) 2010-2023 Vladimir Agafonkin, (c) 2010-2011 CloudMade - */var qot=v2.exports,eP;function $ot(){return eP||(eP=1,function(d,s){(function(E,R){R(s)})(qot,function(E){var R="1.9.4";function K(ct){var Rt,ge,tr,Ir;for(ge=1,tr=arguments.length;ge"u"||!L||!L.Mixin)){ct=cn(ct)?ct:[ct];for(var Rt=0;Rt0?Math.floor(ct):Math.ceil(ct)};va.prototype={clone:function(){return new va(this.x,this.y)},add:function(ct){return this.clone()._add(qa(ct))},_add:function(ct){return this.x+=ct.x,this.y+=ct.y,this},subtract:function(ct){return this.clone()._subtract(qa(ct))},_subtract:function(ct){return this.x-=ct.x,this.y-=ct.y,this},divideBy:function(ct){return this.clone()._divideBy(ct)},_divideBy:function(ct){return this.x/=ct,this.y/=ct,this},multiplyBy:function(ct){return this.clone()._multiplyBy(ct)},_multiplyBy:function(ct){return this.x*=ct,this.y*=ct,this},scaleBy:function(ct){return new va(this.x*ct.x,this.y*ct.y)},unscaleBy:function(ct){return new va(this.x/ct.x,this.y/ct.y)},round:function(){return this.clone()._round()},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},floor:function(){return this.clone()._floor()},_floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},ceil:function(){return this.clone()._ceil()},_ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},trunc:function(){return this.clone()._trunc()},_trunc:function(){return this.x=qo(this.x),this.y=qo(this.y),this},distanceTo:function(ct){ct=qa(ct);var Rt=ct.x-this.x,ge=ct.y-this.y;return Math.sqrt(Rt*Rt+ge*ge)},equals:function(ct){return ct=qa(ct),ct.x===this.x&&ct.y===this.y},contains:function(ct){return ct=qa(ct),Math.abs(ct.x)<=Math.abs(this.x)&&Math.abs(ct.y)<=Math.abs(this.y)},toString:function(){return"Point("+Je(this.x)+", "+Je(this.y)+")"}};function qa(ct,Rt,ge){return ct instanceof va?ct:cn(ct)?new va(ct[0],ct[1]):ct==null?ct:typeof ct=="object"&&"x"in ct&&"y"in ct?new va(ct.x,ct.y):new va(ct,Rt,ge)}function io(ct,Rt){if(ct)for(var ge=Rt?[ct,Rt]:ct,tr=0,Ir=ge.length;tr=this.min.x&&ge.x<=this.max.x&&Rt.y>=this.min.y&&ge.y<=this.max.y},intersects:function(ct){ct=Rs(ct);var Rt=this.min,ge=this.max,tr=ct.min,Ir=ct.max,An=Ir.x>=Rt.x&&tr.x<=ge.x,Zi=Ir.y>=Rt.y&&tr.y<=ge.y;return An&&Zi},overlaps:function(ct){ct=Rs(ct);var Rt=this.min,ge=this.max,tr=ct.min,Ir=ct.max,An=Ir.x>Rt.x&&tr.xRt.y&&tr.y=Rt.lat&&Ir.lat<=ge.lat&&tr.lng>=Rt.lng&&Ir.lng<=ge.lng},intersects:function(ct){ct=No(ct);var Rt=this._southWest,ge=this._northEast,tr=ct.getSouthWest(),Ir=ct.getNorthEast(),An=Ir.lat>=Rt.lat&&tr.lat<=ge.lat,Zi=Ir.lng>=Rt.lng&&tr.lng<=ge.lng;return An&&Zi},overlaps:function(ct){ct=No(ct);var Rt=this._southWest,ge=this._northEast,tr=ct.getSouthWest(),Ir=ct.getNorthEast(),An=Ir.lat>Rt.lat&&tr.latRt.lng&&tr.lng1,u6=function(){var ct=!1;try{var Rt=Object.defineProperty({},"passive",{get:function(){ct=!0}});window.addEventListener("testPassiveEventSupport",Le,Rt),window.removeEventListener("testPassiveEventSupport",Le,Rt)}catch{}return ct}(),c6=function(){return!!document.createElement("canvas").getContext}(),M_=!!(document.createElementNS&&po("svg").createSVGRect),h6=!!M_&&function(){var ct=document.createElement("div");return ct.innerHTML="",(ct.firstChild&&ct.firstChild.namespaceURI)==="http://www.w3.org/2000/svg"}(),f6=!M_&&function(){try{var ct=document.createElement("div");ct.innerHTML='';var Rt=ct.firstChild;return Rt.style.behavior="url(#default#VML)",Rt&&typeof Rt.adj=="object"}catch{return!1}}(),gw=navigator.platform.indexOf("Mac")===0,S_=navigator.platform.indexOf("Linux")===0;function r0(ct){return navigator.userAgent.toLowerCase().indexOf(ct)>=0}var Cl={ie:ps,ielt9:ys,edge:is,webkit:Go,android:El,android23:Ns,androidStock:yu,opera:tc,chrome:ph,gecko:Fc,safari:sp,phantom:Kd,opera12:e0,win:d0,ie3d:Fm,webkit3d:hv,gecko3d:lp,any3d:p0,mobile:Bm,mobileWebkit:Ry,mobileWebkit3d:i6,msPointer:dw,pointer:pw,touch:a6,touchNative:mw,mobileOpera:o6,mobileGecko:s6,retina:l6,passiveEvents:u6,canvas:c6,svg:M_,vml:f6,inlineSvg:h6,mac:gw,linux:S_},Yc=Cl.msPointer?"MSPointerDown":"pointerdown",kd=Cl.msPointer?"MSPointerMove":"pointermove",E_=Cl.msPointer?"MSPointerUp":"pointerup",Gu=Cl.msPointer?"MSPointerCancel":"pointercancel",w1={touchstart:Yc,touchmove:kd,touchend:E_,touchcancel:Gu},vw={touchstart:m6,touchmove:K0,touchend:K0,touchcancel:K0},fv={},Ny=!1;function k1(ct,Rt,ge){return Rt==="touchstart"&&C_(),vw[Rt]?(ge=vw[Rt].bind(this,ge),ct.addEventListener(w1[Rt],ge,!1),ge):(console.warn("wrong event specified:",Rt),Le)}function d6(ct,Rt,ge){if(!w1[Rt]){console.warn("wrong event specified:",Rt);return}ct.removeEventListener(w1[Rt],ge,!1)}function ts(ct){fv[ct.pointerId]=ct}function p6(ct){fv[ct.pointerId]&&(fv[ct.pointerId]=ct)}function T1(ct){delete fv[ct.pointerId]}function C_(){Ny||(document.addEventListener(Yc,ts,!0),document.addEventListener(kd,p6,!0),document.addEventListener(E_,T1,!0),document.addEventListener(Gu,T1,!0),Ny=!0)}function K0(ct,Rt){if(Rt.pointerType!==(Rt.MSPOINTER_TYPE_MOUSE||"mouse")){Rt.touches=[];for(var ge in fv)Rt.touches.push(fv[ge]);Rt.changedTouches=[Rt],ct(Rt)}}function m6(ct,Rt){Rt.MSPOINTER_TYPE_TOUCH&&Rt.pointerType===Rt.MSPOINTER_TYPE_TOUCH&&mc(Rt),K0(ct,Rt)}function g6(ct){var Rt={},ge,tr;for(tr in ct)ge=ct[tr],Rt[tr]=ge&&ge.bind?ge.bind(ct):ge;return ct=Rt,Rt.type="dblclick",Rt.detail=2,Rt.isTrusted=!1,Rt._simulated=!0,Rt}var v6=200;function y6(ct,Rt){ct.addEventListener("dblclick",Rt);var ge=0,tr;function Ir(An){if(An.detail!==1){tr=An.detail;return}if(!(An.pointerType==="mouse"||An.sourceCapabilities&&!An.sourceCapabilities.firesTouchEvents)){var Zi=bw(An);if(!(Zi.some(function(Ja){return Ja instanceof HTMLLabelElement&&Ja.attributes.for})&&!Zi.some(function(Ja){return Ja instanceof HTMLInputElement||Ja instanceof HTMLSelectElement}))){var Ua=Date.now();Ua-ge<=v6?(tr++,tr===2&&Rt(g6(An))):tr=1,ge=Ua}}}return ct.addEventListener("click",Ir),{dblclick:Rt,simDblclick:Ir}}function L_(ct,Rt){ct.removeEventListener("dblclick",Rt.dblclick),ct.removeEventListener("click",Rt.simDblclick)}var P_=jm(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),A1=jm(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),yw=A1==="webkitTransition"||A1==="OTransition"?A1+"End":"transitionend";function xw(ct){return typeof ct=="string"?document.getElementById(ct):ct}function M1(ct,Rt){var ge=ct.style[Rt]||ct.currentStyle&&ct.currentStyle[Rt];if((!ge||ge==="auto")&&document.defaultView){var tr=document.defaultView.getComputedStyle(ct,null);ge=tr?tr[Rt]:null}return ge==="auto"?null:ge}function Cc(ct,Rt,ge){var tr=document.createElement(ct);return tr.className=Rt||"",ge&&ge.appendChild(tr),tr}function Tf(ct){var Rt=ct.parentNode;Rt&&Rt.removeChild(ct)}function jy(ct){for(;ct.firstChild;)ct.removeChild(ct.firstChild)}function dv(ct){var Rt=ct.parentNode;Rt&&Rt.lastChild!==ct&&Rt.appendChild(ct)}function kn(ct){var Rt=ct.parentNode;Rt&&Rt.firstChild!==ct&&Rt.insertBefore(ct,Rt.firstChild)}function z_(ct,Rt){if(ct.classList!==void 0)return ct.classList.contains(Rt);var ge=Nm(ct);return ge.length>0&&new RegExp("(^|\\s)"+Rt+"(\\s|$)").test(ge)}function Wu(ct,Rt){if(ct.classList!==void 0)for(var ge=Tr(Rt),tr=0,Ir=ge.length;tr0?2*window.devicePixelRatio:1;function Tc(ct){return Cl.edge?ct.wheelDeltaY/2:ct.deltaY&&ct.deltaMode===0?-ct.deltaY/Xc:ct.deltaY&&ct.deltaMode===1?-ct.deltaY*20:ct.deltaY&&ct.deltaMode===2?-ct.deltaY*60:ct.deltaX||ct.deltaZ?0:ct.wheelDelta?(ct.wheelDeltaY||ct.wheelDelta)/2:ct.detail&&Math.abs(ct.detail)<32765?-ct.detail*20:ct.detail?ct.detail/-32765*60:0}function wg(ct,Rt){var ge=Rt.relatedTarget;if(!ge)return!0;try{for(;ge&&ge!==ct;)ge=ge.parentNode}catch{return!1}return ge!==ct}var Fp={__proto__:null,on:Ou,off:jh,stopPropagation:n0,disableScrollPropagation:dm,disableClickPropagation:pv,preventDefault:mc,stop:bg,getPropagationPath:bw,getMousePosition:Xd,getWheelDelta:Tc,isExternalTarget:wg,addListener:Ou,removeListener:jh},C1=hi.extend({run:function(ct,Rt,ge,tr){this.stop(),this._el=ct,this._inProgress=!0,this._duration=ge||.25,this._easeOutPower=1/Math.max(tr||.5,.2),this._startPos=Bc(ct),this._offset=Rt.subtract(this._startPos),this._startTime=+new Date,this.fire("start"),this._animate()},stop:function(){this._inProgress&&(this._step(!0),this._complete())},_animate:function(){this._animId=jn(this._animate,this),this._step()},_step:function(ct){var Rt=+new Date-this._startTime,ge=this._duration*1e3;Rtthis.options.maxZoom)?this.setZoom(ct):this},panInsideBounds:function(ct,Rt){this._enforcingBounds=!0;var ge=this.getCenter(),tr=this._limitCenter(ge,this._zoom,No(ct));return ge.equals(tr)||this.panTo(tr,Rt),this._enforcingBounds=!1,this},panInside:function(ct,Rt){Rt=Rt||{};var ge=qa(Rt.paddingTopLeft||Rt.padding||[0,0]),tr=qa(Rt.paddingBottomRight||Rt.padding||[0,0]),Ir=this.project(this.getCenter()),An=this.project(ct),Zi=this.getPixelBounds(),Ua=Rs([Zi.min.add(ge),Zi.max.subtract(tr)]),Ja=Ua.getSize();if(!Ua.contains(An)){this._enforcingBounds=!0;var xo=An.subtract(Ua.getCenter()),Ws=Ua.extend(An).getSize().subtract(Ja);Ir.x+=xo.x<0?-Ws.x:Ws.x,Ir.y+=xo.y<0?-Ws.y:Ws.y,this.panTo(this.unproject(Ir),Rt),this._enforcingBounds=!1}return this},invalidateSize:function(ct){if(!this._loaded)return this;ct=K({animate:!1,pan:!0},ct===!0?{animate:!0}:ct);var Rt=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var ge=this.getSize(),tr=Rt.divideBy(2).round(),Ir=ge.divideBy(2).round(),An=tr.subtract(Ir);return!An.x&&!An.y?this:(ct.animate&&ct.pan?this.panBy(An):(ct.pan&&this._rawPanBy(An),this.fire("move"),ct.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(_t(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:Rt,newSize:ge}))},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(ct){if(ct=this._locateOptions=K({timeout:1e4,watch:!1},ct),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var Rt=_t(this._handleGeolocationResponse,this),ge=_t(this._handleGeolocationError,this);return ct.watch?this._locationWatchId=navigator.geolocation.watchPosition(Rt,ge,ct):navigator.geolocation.getCurrentPosition(Rt,ge,ct),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(ct){if(this._container._leaflet_id){var Rt=ct.code,ge=ct.message||(Rt===1?"permission denied":Rt===2?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:Rt,message:"Geolocation error: "+ge+"."})}},_handleGeolocationResponse:function(ct){if(this._container._leaflet_id){var Rt=ct.coords.latitude,ge=ct.coords.longitude,tr=new Ka(Rt,ge),Ir=tr.toBounds(ct.coords.accuracy*2),An=this._locateOptions;if(An.setView){var Zi=this.getBoundsZoom(Ir);this.setView(tr,An.maxZoom?Math.min(Zi,An.maxZoom):Zi)}var Ua={latlng:tr,bounds:Ir,timestamp:ct.timestamp};for(var Ja in ct.coords)typeof ct.coords[Ja]=="number"&&(Ua[Ja]=ct.coords[Ja]);this.fire("locationfound",Ua)}},addHandler:function(ct,Rt){if(!Rt)return this;var ge=this[ct]=new Rt(this);return this._handlers.push(ge),this.options[ct]&&ge.enable(),this},remove:function(){if(this._initEvents(!0),this.options.maxBounds&&this.off("moveend",this._panInsideMaxBounds),this._containerId!==this._container._leaflet_id)throw new Error("Map container is being reused by another instance");try{delete this._container._leaflet_id,delete this._containerId}catch{this._container._leaflet_id=void 0,this._containerId=void 0}this._locationWatchId!==void 0&&this.stopLocate(),this._stop(),Tf(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(oi(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire("unload");var ct;for(ct in this._layers)this._layers[ct].remove();for(ct in this._panes)Tf(this._panes[ct]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(ct,Rt){var ge="leaflet-pane"+(ct?" leaflet-"+ct.replace("Pane","")+"-pane":""),tr=Cc("div",ge,Rt||this._mapPane);return ct&&(this._panes[ct]=tr),tr},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter.clone():this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var ct=this.getPixelBounds(),Rt=this.unproject(ct.getBottomLeft()),ge=this.unproject(ct.getTopRight());return new Rl(Rt,ge)},getMinZoom:function(){return this.options.minZoom===void 0?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return this.options.maxZoom===void 0?this._layersMaxZoom===void 0?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(ct,Rt,ge){ct=No(ct),ge=qa(ge||[0,0]);var tr=this.getZoom()||0,Ir=this.getMinZoom(),An=this.getMaxZoom(),Zi=ct.getNorthWest(),Ua=ct.getSouthEast(),Ja=this.getSize().subtract(ge),xo=Rs(this.project(Ua,tr),this.project(Zi,tr)).getSize(),Ws=Cl.any3d?this.options.zoomSnap:1,xl=Ja.x/xo.x,Bu=Ja.y/xo.y,Md=Rt?Math.max(xl,Bu):Math.min(xl,Bu);return tr=this.getScaleZoom(Md,tr),Ws&&(tr=Math.round(tr/(Ws/100))*(Ws/100),tr=Rt?Math.ceil(tr/Ws)*Ws:Math.floor(tr/Ws)*Ws),Math.max(Ir,Math.min(An,tr))},getSize:function(){return(!this._size||this._sizeChanged)&&(this._size=new va(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(ct,Rt){var ge=this._getTopLeftPoint(ct,Rt);return new io(ge,ge.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(ct){return this.options.crs.getProjectedBounds(ct===void 0?this.getZoom():ct)},getPane:function(ct){return typeof ct=="string"?this._panes[ct]:ct},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(ct,Rt){var ge=this.options.crs;return Rt=Rt===void 0?this._zoom:Rt,ge.scale(ct)/ge.scale(Rt)},getScaleZoom:function(ct,Rt){var ge=this.options.crs;Rt=Rt===void 0?this._zoom:Rt;var tr=ge.zoom(ct*ge.scale(Rt));return isNaN(tr)?1/0:tr},project:function(ct,Rt){return Rt=Rt===void 0?this._zoom:Rt,this.options.crs.latLngToPoint(La(ct),Rt)},unproject:function(ct,Rt){return Rt=Rt===void 0?this._zoom:Rt,this.options.crs.pointToLatLng(qa(ct),Rt)},layerPointToLatLng:function(ct){var Rt=qa(ct).add(this.getPixelOrigin());return this.unproject(Rt)},latLngToLayerPoint:function(ct){var Rt=this.project(La(ct))._round();return Rt._subtract(this.getPixelOrigin())},wrapLatLng:function(ct){return this.options.crs.wrapLatLng(La(ct))},wrapLatLngBounds:function(ct){return this.options.crs.wrapLatLngBounds(No(ct))},distance:function(ct,Rt){return this.options.crs.distance(La(ct),La(Rt))},containerPointToLayerPoint:function(ct){return qa(ct).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(ct){return qa(ct).add(this._getMapPanePos())},containerPointToLatLng:function(ct){var Rt=this.containerPointToLayerPoint(qa(ct));return this.layerPointToLatLng(Rt)},latLngToContainerPoint:function(ct){return this.layerPointToContainerPoint(this.latLngToLayerPoint(La(ct)))},mouseEventToContainerPoint:function(ct){return Xd(ct,this._container)},mouseEventToLayerPoint:function(ct){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(ct))},mouseEventToLatLng:function(ct){return this.layerPointToLatLng(this.mouseEventToLayerPoint(ct))},_initContainer:function(ct){var Rt=this._container=xw(ct);if(Rt){if(Rt._leaflet_id)throw new Error("Map container is already initialized.")}else throw new Error("Map container not found.");Ou(Rt,"scroll",this._onScroll,this),this._containerId=jt(Rt)},_initLayout:function(){var ct=this._container;this._fadeAnimated=this.options.fadeAnimation&&Cl.any3d,Wu(ct,"leaflet-container"+(Cl.touch?" leaflet-touch":"")+(Cl.retina?" leaflet-retina":"")+(Cl.ielt9?" leaflet-oldie":"")+(Cl.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var Rt=M1(ct,"position");Rt!=="absolute"&&Rt!=="relative"&&Rt!=="fixed"&&Rt!=="sticky"&&(ct.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var ct=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),ic(this._mapPane,new va(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(Wu(ct.markerPane,"leaflet-zoom-hide"),Wu(ct.shadowPane,"leaflet-zoom-hide"))},_resetView:function(ct,Rt,ge){ic(this._mapPane,new va(0,0));var tr=!this._loaded;this._loaded=!0,Rt=this._limitZoom(Rt),this.fire("viewprereset");var Ir=this._zoom!==Rt;this._moveStart(Ir,ge)._move(ct,Rt)._moveEnd(Ir),this.fire("viewreset"),tr&&this.fire("load")},_moveStart:function(ct,Rt){return ct&&this.fire("zoomstart"),Rt||this.fire("movestart"),this},_move:function(ct,Rt,ge,tr){Rt===void 0&&(Rt=this._zoom);var Ir=this._zoom!==Rt;return this._zoom=Rt,this._lastCenter=ct,this._pixelOrigin=this._getNewPixelOrigin(ct),tr?ge&&ge.pinch&&this.fire("zoom",ge):((Ir||ge&&ge.pinch)&&this.fire("zoom",ge),this.fire("move",ge)),this},_moveEnd:function(ct){return ct&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return oi(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(ct){ic(this._mapPane,this._getMapPanePos().subtract(ct))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error("Set map center and zoom first.")},_initEvents:function(ct){this._targets={},this._targets[jt(this._container)]=this;var Rt=ct?jh:Ou;Rt(this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup",this._handleDOMEvent,this),this.options.trackResize&&Rt(window,"resize",this._onResize,this),Cl.any3d&&this.options.transform3DLimit&&(ct?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){oi(this._resizeRequest),this._resizeRequest=jn(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var ct=this._getMapPanePos();Math.max(Math.abs(ct.x),Math.abs(ct.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(ct,Rt){for(var ge=[],tr,Ir=Rt==="mouseout"||Rt==="mouseover",An=ct.target||ct.srcElement,Zi=!1;An;){if(tr=this._targets[jt(An)],tr&&(Rt==="click"||Rt==="preclick")&&this._draggableMoved(tr)){Zi=!0;break}if(tr&&tr.listens(Rt,!0)&&(Ir&&!wg(An,ct)||(ge.push(tr),Ir))||An===this._container)break;An=An.parentNode}return!ge.length&&!Zi&&!Ir&&this.listens(Rt,!0)&&(ge=[this]),ge},_isClickDisabled:function(ct){for(;ct&&ct!==this._container;){if(ct._leaflet_disable_click)return!0;ct=ct.parentNode}},_handleDOMEvent:function(ct){var Rt=ct.target||ct.srcElement;if(!(!this._loaded||Rt._leaflet_disable_events||ct.type==="click"&&this._isClickDisabled(Rt))){var ge=ct.type;ge==="mousedown"&&Ud(Rt),this._fireDOMEvent(ct,ge)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(ct,Rt,ge){if(ct.type==="click"){var tr=K({},ct);tr.type="preclick",this._fireDOMEvent(tr,tr.type,ge)}var Ir=this._findEventTargets(ct,Rt);if(ge){for(var An=[],Zi=0;Zi0?Math.round(ct-Rt)/2:Math.max(0,Math.ceil(ct))-Math.max(0,Math.floor(Rt))},_limitZoom:function(ct){var Rt=this.getMinZoom(),ge=this.getMaxZoom(),tr=Cl.any3d?this.options.zoomSnap:1;return tr&&(ct=Math.round(ct/tr)*tr),Math.max(Rt,Math.min(ge,ct))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){Rf(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(ct,Rt){var ge=this._getCenterOffset(ct)._trunc();return(Rt&&Rt.animate)!==!0&&!this.getSize().contains(ge)?!1:(this.panBy(ge,Rt),!0)},_createAnimProxy:function(){var ct=this._proxy=Cc("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(ct),this.on("zoomanim",function(Rt){var ge=P_,tr=this._proxy.style[ge];gu(this._proxy,this.project(Rt.center,Rt.zoom),this.getZoomScale(Rt.zoom,1)),tr===this._proxy.style[ge]&&this._animatingZoom&&this._onZoomTransitionEnd()},this),this.on("load moveend",this._animMoveEnd,this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){Tf(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var ct=this.getCenter(),Rt=this.getZoom();gu(this._proxy,this.project(ct,Rt),this.getZoomScale(Rt,1))},_catchTransitionEnd:function(ct){this._animatingZoom&&ct.propertyName.indexOf("transform")>=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(ct,Rt,ge){if(this._animatingZoom)return!0;if(ge=ge||{},!this._zoomAnimated||ge.animate===!1||this._nothingToAnimate()||Math.abs(Rt-this._zoom)>this.options.zoomAnimationThreshold)return!1;var tr=this.getZoomScale(Rt),Ir=this._getCenterOffset(ct)._divideBy(1-1/tr);return ge.animate!==!0&&!this.getSize().contains(Ir)?!1:(jn(function(){this._moveStart(!0,ge.noMoveStart||!1)._animateZoom(ct,Rt,!0)},this),!0)},_animateZoom:function(ct,Rt,ge,tr){this._mapPane&&(ge&&(this._animatingZoom=!0,this._animateToCenter=ct,this._animateToZoom=Rt,Wu(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:ct,zoom:Rt,noUpdate:tr}),this._tempFireZoomEvent||(this._tempFireZoomEvent=this._zoom!==this._animateToZoom),this._move(this._animateToCenter,this._animateToZoom,void 0,!0),setTimeout(_t(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&Rf(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom,void 0,!0),this._tempFireZoomEvent&&this.fire("zoom"),delete this._tempFireZoomEvent,this.fire("move"),this._moveEnd(!0))}});function Vs(ct,Rt){return new Ac(ct,Rt)}var up=Wn.extend({options:{position:"topright"},initialize:function(ct){wr(this,ct)},getPosition:function(){return this.options.position},setPosition:function(ct){var Rt=this._map;return Rt&&Rt.removeControl(this),this.options.position=ct,Rt&&Rt.addControl(this),this},getContainer:function(){return this._container},addTo:function(ct){this.remove(),this._map=ct;var Rt=this._container=this.onAdd(ct),ge=this.getPosition(),tr=ct._controlCorners[ge];return Wu(Rt,"leaflet-control"),ge.indexOf("bottom")!==-1?tr.insertBefore(Rt,tr.firstChild):tr.appendChild(Rt),this._map.on("unload",this.remove,this),this},remove:function(){return this._map?(Tf(this._container),this.onRemove&&this.onRemove(this._map),this._map.off("unload",this.remove,this),this._map=null,this):this},_refocusOnMap:function(ct){this._map&&ct&&ct.screenX>0&&ct.screenY>0&&this._map.getContainer().focus()}}),i0=function(ct){return new up(ct)};Ac.include({addControl:function(ct){return ct.addTo(this),this},removeControl:function(ct){return ct.remove(),this},_initControlPos:function(){var ct=this._controlCorners={},Rt="leaflet-",ge=this._controlContainer=Cc("div",Rt+"control-container",this._container);function tr(Ir,An){var Zi=Rt+Ir+" "+Rt+An;ct[Ir+An]=Cc("div",Zi,ge)}tr("top","left"),tr("top","right"),tr("bottom","left"),tr("bottom","right")},_clearControlPos:function(){for(var ct in this._controlCorners)Tf(this._controlCorners[ct]);Tf(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var mv=up.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(ct,Rt,ge,tr){return ge1,this._baseLayersList.style.display=ct?"":"none"),this._separator.style.display=Rt&&ct?"":"none",this},_onLayerChange:function(ct){this._handlingClick||this._update();var Rt=this._getLayer(jt(ct.target)),ge=Rt.overlay?ct.type==="add"?"overlayadd":"overlayremove":ct.type==="add"?"baselayerchange":null;ge&&this._map.fire(ge,Rt)},_createRadioElement:function(ct,Rt){var ge='",tr=document.createElement("div");return tr.innerHTML=ge,tr.firstChild},_addItem:function(ct){var Rt=document.createElement("label"),ge=this._map.hasLayer(ct.layer),tr;ct.overlay?(tr=document.createElement("input"),tr.type="checkbox",tr.className="leaflet-control-layers-selector",tr.defaultChecked=ge):tr=this._createRadioElement("leaflet-base-layers_"+jt(this),ge),this._layerControlInputs.push(tr),tr.layerId=jt(ct.layer),Ou(tr,"click",this._onInputClick,this);var Ir=document.createElement("span");Ir.innerHTML=" "+ct.name;var An=document.createElement("span");Rt.appendChild(An),An.appendChild(tr),An.appendChild(Ir);var Zi=ct.overlay?this._overlaysList:this._baseLayersList;return Zi.appendChild(Rt),this._checkDisabledLayers(),Rt},_onInputClick:function(){if(!this._preventClick){var ct=this._layerControlInputs,Rt,ge,tr=[],Ir=[];this._handlingClick=!0;for(var An=ct.length-1;An>=0;An--)Rt=ct[An],ge=this._getLayer(Rt.layerId).layer,Rt.checked?tr.push(ge):Rt.checked||Ir.push(ge);for(An=0;An=0;Ir--)Rt=ct[Ir],ge=this._getLayer(Rt.layerId).layer,Rt.disabled=ge.options.minZoom!==void 0&&trge.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expandSafely:function(){var ct=this._section;this._preventClick=!0,Ou(ct,"click",mc),this.expand();var Rt=this;setTimeout(function(){jh(ct,"click",mc),Rt._preventClick=!1})}}),X0=function(ct,Rt,ge){return new mv(ct,Rt,ge)},Cs=up.extend({options:{position:"topleft",zoomInText:'+',zoomInTitle:"Zoom in",zoomOutText:'−',zoomOutTitle:"Zoom out"},onAdd:function(ct){var Rt="leaflet-control-zoom",ge=Cc("div",Rt+" leaflet-bar"),tr=this.options;return this._zoomInButton=this._createButton(tr.zoomInText,tr.zoomInTitle,Rt+"-in",ge,this._zoomIn),this._zoomOutButton=this._createButton(tr.zoomOutText,tr.zoomOutTitle,Rt+"-out",ge,this._zoomOut),this._updateDisabled(),ct.on("zoomend zoomlevelschange",this._updateDisabled,this),ge},onRemove:function(ct){ct.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(ct){!this._disabled&&this._map._zoomthis._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(ct.shiftKey?3:1))},_createButton:function(ct,Rt,ge,tr,Ir){var An=Cc("a",ge,tr);return An.innerHTML=ct,An.href="#",An.title=Rt,An.setAttribute("role","button"),An.setAttribute("aria-label",Rt),pv(An),Ou(An,"click",bg),Ou(An,"click",Ir,this),Ou(An,"click",this._refocusOnMap,this),An},_updateDisabled:function(){var ct=this._map,Rt="leaflet-disabled";Rf(this._zoomInButton,Rt),Rf(this._zoomOutButton,Rt),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),(this._disabled||ct._zoom===ct.getMinZoom())&&(Wu(this._zoomOutButton,Rt),this._zoomOutButton.setAttribute("aria-disabled","true")),(this._disabled||ct._zoom===ct.getMaxZoom())&&(Wu(this._zoomInButton,Rt),this._zoomInButton.setAttribute("aria-disabled","true"))}});Ac.mergeOptions({zoomControl:!0}),Ac.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new Cs,this.addControl(this.zoomControl))});var ww=function(ct){return new Cs(ct)},I_=up.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(ct){var Rt="leaflet-control-scale",ge=Cc("div",Rt),tr=this.options;return this._addScales(tr,Rt+"-line",ge),ct.on(tr.updateWhenIdle?"moveend":"move",this._update,this),ct.whenReady(this._update,this),ge},onRemove:function(ct){ct.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(ct,Rt,ge){ct.metric&&(this._mScale=Cc("div",Rt,ge)),ct.imperial&&(this._iScale=Cc("div",Rt,ge))},_update:function(){var ct=this._map,Rt=ct.getSize().y/2,ge=ct.distance(ct.containerPointToLatLng([0,Rt]),ct.containerPointToLatLng([this.options.maxWidth,Rt]));this._updateScales(ge)},_updateScales:function(ct){this.options.metric&&ct&&this._updateMetric(ct),this.options.imperial&&ct&&this._updateImperial(ct)},_updateMetric:function(ct){var Rt=this._getRoundNum(ct),ge=Rt<1e3?Rt+" m":Rt/1e3+" km";this._updateScale(this._mScale,ge,Rt/ct)},_updateImperial:function(ct){var Rt=ct*3.2808399,ge,tr,Ir;Rt>5280?(ge=Rt/5280,tr=this._getRoundNum(ge),this._updateScale(this._iScale,tr+" mi",tr/ge)):(Ir=this._getRoundNum(Rt),this._updateScale(this._iScale,Ir+" ft",Ir/Rt))},_updateScale:function(ct,Rt,ge){ct.style.width=Math.round(this.options.maxWidth*ge)+"px",ct.innerHTML=Rt},_getRoundNum:function(ct){var Rt=Math.pow(10,(Math.floor(ct)+"").length-1),ge=ct/Rt;return ge=ge>=10?10:ge>=5?5:ge>=3?3:ge>=2?2:1,Rt*ge}}),x6=function(ct){return new I_(ct)},O_='',D_=up.extend({options:{position:"bottomright",prefix:''+(Cl.inlineSvg?O_+" ":"")+"Leaflet"},initialize:function(ct){wr(this,ct),this._attributions={}},onAdd:function(ct){ct.attributionControl=this,this._container=Cc("div","leaflet-control-attribution"),pv(this._container);for(var Rt in ct._layers)ct._layers[Rt].getAttribution&&this.addAttribution(ct._layers[Rt].getAttribution());return this._update(),ct.on("layeradd",this._addAttribution,this),this._container},onRemove:function(ct){ct.off("layeradd",this._addAttribution,this)},_addAttribution:function(ct){ct.layer.getAttribution&&(this.addAttribution(ct.layer.getAttribution()),ct.layer.once("remove",function(){this.removeAttribution(ct.layer.getAttribution())},this))},setPrefix:function(ct){return this.options.prefix=ct,this._update(),this},addAttribution:function(ct){return ct?(this._attributions[ct]||(this._attributions[ct]=0),this._attributions[ct]++,this._update(),this):this},removeAttribution:function(ct){return ct?(this._attributions[ct]&&(this._attributions[ct]--,this._update()),this):this},_update:function(){if(this._map){var ct=[];for(var Rt in this._attributions)this._attributions[Rt]&&ct.push(Rt);var ge=[];this.options.prefix&&ge.push(this.options.prefix),ct.length&&ge.push(ct.join(", ")),this._container.innerHTML=ge.join(' | ')}}});Ac.mergeOptions({attributionControl:!0}),Ac.addInitHook(function(){this.options.attributionControl&&new D_().addTo(this)});var _6=function(ct){return new D_(ct)};up.Layers=mv,up.Zoom=Cs,up.Scale=I_,up.Attribution=D_,i0.layers=X0,i0.zoom=ww,i0.scale=x6,i0.attribution=_6;var J0=Wn.extend({initialize:function(ct){this._map=ct},enable:function(){return this._enabled?this:(this._enabled=!0,this.addHooks(),this)},disable:function(){return this._enabled?(this._enabled=!1,this.removeHooks(),this):this},enabled:function(){return!!this._enabled}});J0.addTo=function(ct,Rt){return ct.addHandler(Rt,this),this};var cp={Events:wi},z0=Cl.touch?"touchstart mousedown":"mousedown",Um=hi.extend({options:{clickTolerance:3},initialize:function(ct,Rt,ge,tr){wr(this,tr),this._element=ct,this._dragStartTarget=Rt||ct,this._preventOutline=ge},enable:function(){this._enabled||(Ou(this._dragStartTarget,z0,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(Um._dragging===this&&this.finishDrag(!0),jh(this._dragStartTarget,z0,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(ct){if(this._enabled&&(this._moved=!1,!z_(this._element,"leaflet-zoom-anim"))){if(ct.touches&&ct.touches.length!==1){Um._dragging===this&&this.finishDrag();return}if(!(Um._dragging||ct.shiftKey||ct.which!==1&&ct.button!==1&&!ct.touches)&&(Um._dragging=this,this._preventOutline&&Ud(this._element),Kc(),L0(),!this._moving)){this.fire("down");var Rt=ct.touches?ct.touches[0]:ct,ge=Td(this._element);this._startPoint=new va(Rt.clientX,Rt.clientY),this._startPos=Bc(this._element),this._parentScale=E1(ge);var tr=ct.type==="mousedown";Ou(document,tr?"mousemove":"touchmove",this._onMove,this),Ou(document,tr?"mouseup":"touchend touchcancel",this._onUp,this)}}},_onMove:function(ct){if(this._enabled){if(ct.touches&&ct.touches.length>1){this._moved=!0;return}var Rt=ct.touches&&ct.touches.length===1?ct.touches[0]:ct,ge=new va(Rt.clientX,Rt.clientY)._subtract(this._startPoint);!ge.x&&!ge.y||Math.abs(ge.x)+Math.abs(ge.y)An&&(Zi=Ua,An=Ja);An>ge&&(Rt[Zi]=1,Tg(ct,Rt,ge,tr,Zi),Tg(ct,Rt,ge,Zi,Ir))}function Tw(ct,Rt){for(var ge=[ct[0]],tr=1,Ir=0,An=ct.length;trRt&&(ge.push(ct[tr]),Ir=tr);return IrRt.max.x&&(ge|=2),ct.yRt.max.y&&(ge|=8),ge}function k6(ct,Rt){var ge=Rt.x-ct.x,tr=Rt.y-ct.y;return ge*ge+tr*tr}function gv(ct,Rt,ge,tr){var Ir=Rt.x,An=Rt.y,Zi=ge.x-Ir,Ua=ge.y-An,Ja=Zi*Zi+Ua*Ua,xo;return Ja>0&&(xo=((ct.x-Ir)*Zi+(ct.y-An)*Ua)/Ja,xo>1?(Ir=ge.x,An=ge.y):xo>0&&(Ir+=Zi*xo,An+=Ua*xo)),Zi=ct.x-Ir,Ua=ct.y-An,tr?Zi*Zi+Ua*Ua:new va(Ir,An)}function g0(ct){return!cn(ct[0])||typeof ct[0][0]!="object"&&typeof ct[0][0]<"u"}function Aw(ct){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),g0(ct)}function Mw(ct,Rt){var ge,tr,Ir,An,Zi,Ua,Ja,xo;if(!ct||ct.length===0)throw new Error("latlngs not passed");g0(ct)||(console.warn("latlngs are not flat! Only the first ring will be used"),ct=ct[0]);var Ws=La([0,0]),xl=No(ct),Bu=xl.getNorthWest().distanceTo(xl.getSouthWest())*xl.getNorthEast().distanceTo(xl.getNorthWest());Bu<1700&&(Ws=Hy(ct));var Md=ct.length,Nf=[];for(ge=0;getr){Ja=(An-tr)/Ir,xo=[Ua.x-Ja*(Ua.x-Zi.x),Ua.y-Ja*(Ua.y-Zi.y)];break}var kp=Rt.unproject(qa(xo));return La([kp.lat+Ws.lat,kp.lng+Ws.lng])}var tf={__proto__:null,simplify:B_,pointToSegmentDistance:kw,closestPointOnSegment:kg,clipSegment:N_,_getEdgeIntersection:Ag,_getBitCode:Mg,_sqClosestPointOnSegment:gv,isFlat:g0,_flat:Aw,polylineCenter:Mw},v0={project:function(ct){return new va(ct.lng,ct.lat)},unproject:function(ct){return new Ka(ct.y,ct.x)},bounds:new io([-180,-90],[180,90])},vv={R:6378137,R_MINOR:6356752314245179e-9,bounds:new io([-2003750834279e-5,-1549657073972e-5],[2003750834279e-5,1876465623138e-5]),project:function(ct){var Rt=Math.PI/180,ge=this.R,tr=ct.lat*Rt,Ir=this.R_MINOR/ge,An=Math.sqrt(1-Ir*Ir),Zi=An*Math.sin(tr),Ua=Math.tan(Math.PI/4-tr/2)/Math.pow((1-Zi)/(1+Zi),An/2);return tr=-ge*Math.log(Math.max(Ua,1e-10)),new va(ct.lng*Rt*ge,tr)},unproject:function(ct){for(var Rt=180/Math.PI,ge=this.R,tr=this.R_MINOR/ge,Ir=Math.sqrt(1-tr*tr),An=Math.exp(-ct.y/ge),Zi=Math.PI/2-2*Math.atan(An),Ua=0,Ja=.1,xo;Ua<15&&Math.abs(Ja)>1e-7;Ua++)xo=Ir*Math.sin(Zi),xo=Math.pow((1-xo)/(1+xo),Ir/2),Ja=Math.PI/2-2*Math.atan(An*xo)-Zi,Zi+=Ja;return new Ka(Zi*Rt,ct.x*Rt/ge)}},j_={__proto__:null,LonLat:v0,Mercator:vv,SphericalMercator:Qo},U_=K({},so,{code:"EPSG:3395",projection:vv,transformation:function(){var ct=.5/(Math.PI*vv.R);return mi(ct,.5,-ct,.5)}()}),Wy=K({},so,{code:"EPSG:4326",projection:v0,transformation:mi(1/180,1,-1/180,.5)}),Sg=K({},fa,{projection:v0,transformation:mi(1,0,-1,0),scale:function(ct){return Math.pow(2,ct)},zoom:function(ct){return Math.log(ct)/Math.LN2},distance:function(ct,Rt){var ge=Rt.lng-ct.lng,tr=Rt.lat-ct.lat;return Math.sqrt(ge*ge+tr*tr)},infinite:!0});fa.Earth=so,fa.EPSG3395=U_,fa.EPSG3857=Ai,fa.EPSG900913=fi,fa.EPSG4326=Wy,fa.Simple=Sg;var a0=hi.extend({options:{pane:"overlayPane",attribution:null,bubblingMouseEvents:!0},addTo:function(ct){return ct.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(ct){return ct&&ct.removeLayer(this),this},getPane:function(ct){return this._map.getPane(ct?this.options[ct]||ct:this.options.pane)},addInteractiveTarget:function(ct){return this._map._targets[jt(ct)]=this,this},removeInteractiveTarget:function(ct){return delete this._map._targets[jt(ct)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(ct){var Rt=ct.target;if(Rt.hasLayer(this)){if(this._map=Rt,this._zoomAnimated=Rt._zoomAnimated,this.getEvents){var ge=this.getEvents();Rt.on(ge,this),this.once("remove",function(){Rt.off(ge,this)},this)}this.onAdd(Rt),this.fire("add"),Rt.fire("layeradd",{layer:this})}}});Ac.include({addLayer:function(ct){if(!ct._layerAdd)throw new Error("The provided object is not a Layer.");var Rt=jt(ct);return this._layers[Rt]?this:(this._layers[Rt]=ct,ct._mapToAdd=this,ct.beforeAdd&&ct.beforeAdd(this),this.whenReady(ct._layerAdd,ct),this)},removeLayer:function(ct){var Rt=jt(ct);return this._layers[Rt]?(this._loaded&&ct.onRemove(this),delete this._layers[Rt],this._loaded&&(this.fire("layerremove",{layer:ct}),ct.fire("remove")),ct._map=ct._mapToAdd=null,this):this},hasLayer:function(ct){return jt(ct)in this._layers},eachLayer:function(ct,Rt){for(var ge in this._layers)ct.call(Rt,this._layers[ge]);return this},_addLayers:function(ct){ct=ct?cn(ct)?ct:[ct]:[];for(var Rt=0,ge=ct.length;Rtthis._layersMaxZoom&&this.setZoom(this._layersMaxZoom),this.options.minZoom===void 0&&this._layersMinZoom&&this.getZoom()=2&&Rt[0]instanceof Ka&&Rt[0].equals(Rt[ge-1])&&Rt.pop(),Rt},_setLatLngs:function(ct){y0.prototype._setLatLngs.call(this,ct),g0(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return g0(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var ct=this._renderer._bounds,Rt=this.options.weight,ge=new va(Rt,Rt);if(ct=new io(ct.min.subtract(ge),ct.max.add(ge)),this._parts=[],!(!this._pxBounds||!this._pxBounds.intersects(ct))){if(this.options.noClip){this._parts=this._rings;return}for(var tr=0,Ir=this._rings.length,An;trct.y!=Ir.y>ct.y&&ct.x<(Ir.x-tr.x)*(ct.y-tr.y)/(Ir.y-tr.y)+tr.x&&(Rt=!Rt);return Rt||y0.prototype._containsPoint.call(this,ct,!0)}});function A6(ct,Rt){return new _v(ct,Rt)}var pm=wp.extend({initialize:function(ct,Rt){wr(this,Rt),this._layers={},ct&&this.addData(ct)},addData:function(ct){var Rt=cn(ct)?ct:ct.features,ge,tr,Ir;if(Rt){for(ge=0,tr=Rt.length;ge0&&Ir.push(Ir[0].slice()),Ir}function mm(ct,Rt){return ct.feature?K({},ct.feature,{geometry:Rt}):Xy(Rt)}function Xy(ct){return ct.type==="Feature"||ct.type==="FeatureCollection"?ct:{type:"Feature",properties:{},geometry:ct}}var $_={toGeoJSON:function(ct){return mm(this,{type:"Point",coordinates:q_(this.getLatLng(),ct)})}};L1.include($_),Zy.include($_),$y.include($_),y0.include({toGeoJSON:function(ct){var Rt=!g0(this._latlngs),ge=Ky(this._latlngs,Rt?1:0,!1,ct);return mm(this,{type:(Rt?"Multi":"")+"LineString",coordinates:ge})}}),_v.include({toGeoJSON:function(ct){var Rt=!g0(this._latlngs),ge=Rt&&!g0(this._latlngs[0]),tr=Ky(this._latlngs,ge?2:Rt?1:0,!0,ct);return Rt||(tr=[tr]),mm(this,{type:(ge?"Multi":"")+"Polygon",coordinates:tr})}}),Eg.include({toMultiPoint:function(ct){var Rt=[];return this.eachLayer(function(ge){Rt.push(ge.toGeoJSON(ct).geometry.coordinates)}),mm(this,{type:"MultiPoint",coordinates:Rt})},toGeoJSON:function(ct){var Rt=this.feature&&this.feature.geometry&&this.feature.geometry.type;if(Rt==="MultiPoint")return this.toMultiPoint(ct);var ge=Rt==="GeometryCollection",tr=[];return this.eachLayer(function(Ir){if(Ir.toGeoJSON){var An=Ir.toGeoJSON(ct);if(ge)tr.push(An.geometry);else{var Zi=Xy(An);Zi.type==="FeatureCollection"?tr.push.apply(tr,Zi.features):tr.push(Zi)}}}),ge?mm(this,{geometries:tr,type:"GeometryCollection"}):{type:"FeatureCollection",features:tr}}});function Z_(ct,Rt){return new pm(ct,Rt)}var Jy=Z_,gm=a0.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(ct,Rt,ge){this._url=ct,this._bounds=No(Rt),wr(this,ge)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(Wu(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){Tf(this._image),this.options.interactive&&this.removeInteractiveTarget(this._image)},setOpacity:function(ct){return this.options.opacity=ct,this._image&&this._updateOpacity(),this},setStyle:function(ct){return ct.opacity&&this.setOpacity(ct.opacity),this},bringToFront:function(){return this._map&&dv(this._image),this},bringToBack:function(){return this._map&&kn(this._image),this},setUrl:function(ct){return this._url=ct,this._image&&(this._image.src=ct),this},setBounds:function(ct){return this._bounds=No(ct),this._map&&this._reset(),this},getEvents:function(){var ct={zoom:this._reset,viewreset:this._reset};return this._zoomAnimated&&(ct.zoomanim=this._animateZoom),ct},setZIndex:function(ct){return this.options.zIndex=ct,this._updateZIndex(),this},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var ct=this._url.tagName==="IMG",Rt=this._image=ct?this._url:Cc("img");if(Wu(Rt,"leaflet-image-layer"),this._zoomAnimated&&Wu(Rt,"leaflet-zoom-animated"),this.options.className&&Wu(Rt,this.options.className),Rt.onselectstart=Le,Rt.onmousemove=Le,Rt.onload=_t(this.fire,this,"load"),Rt.onerror=_t(this._overlayOnError,this,"error"),(this.options.crossOrigin||this.options.crossOrigin==="")&&(Rt.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),this.options.zIndex&&this._updateZIndex(),ct){this._url=Rt.src;return}Rt.src=this._url,Rt.alt=this.options.alt},_animateZoom:function(ct){var Rt=this._map.getZoomScale(ct.zoom),ge=this._map._latLngBoundsToNewLayerBounds(this._bounds,ct.zoom,ct.center).min;gu(this._image,ge,Rt)},_reset:function(){var ct=this._image,Rt=new io(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),ge=Rt.getSize();ic(ct,Rt.min),ct.style.width=ge.x+"px",ct.style.height=ge.y+"px"},_updateOpacity:function(){m0(this._image,this.options.opacity)},_updateZIndex:function(){this._image&&this.options.zIndex!==void 0&&this.options.zIndex!==null&&(this._image.style.zIndex=this.options.zIndex)},_overlayOnError:function(){this.fire("error");var ct=this.options.errorOverlayUrl;ct&&this._url!==ct&&(this._url=ct,this._image.src=ct)},getCenter:function(){return this._bounds.getCenter()}}),vm=function(ct,Rt,ge){return new gm(ct,Rt,ge)},I0=gm.extend({options:{autoplay:!0,loop:!0,keepAspectRatio:!0,muted:!1,playsInline:!0},_initImage:function(){var ct=this._url.tagName==="VIDEO",Rt=this._image=ct?this._url:Cc("video");if(Wu(Rt,"leaflet-image-layer"),this._zoomAnimated&&Wu(Rt,"leaflet-zoom-animated"),this.options.className&&Wu(Rt,this.options.className),Rt.onselectstart=Le,Rt.onmousemove=Le,Rt.onloadeddata=_t(this.fire,this,"load"),ct){for(var ge=Rt.getElementsByTagName("source"),tr=[],Ir=0;Ir0?tr:[Rt.src];return}cn(this._url)||(this._url=[this._url]),!this.options.keepAspectRatio&&Object.prototype.hasOwnProperty.call(Rt.style,"objectFit")&&(Rt.style.objectFit="fill"),Rt.autoplay=!!this.options.autoplay,Rt.loop=!!this.options.loop,Rt.muted=!!this.options.muted,Rt.playsInline=!!this.options.playsInline;for(var An=0;An×',Ou(tr,"click",function(Ir){mc(Ir),this.close()},this)}},_updateLayout:function(){var ct=this._contentNode,Rt=ct.style;Rt.width="",Rt.whiteSpace="nowrap";var ge=ct.offsetWidth;ge=Math.min(ge,this.options.maxWidth),ge=Math.max(ge,this.options.minWidth),Rt.width=ge+1+"px",Rt.whiteSpace="",Rt.height="";var tr=ct.offsetHeight,Ir=this.options.maxHeight,An="leaflet-popup-scrolled";Ir&&tr>Ir?(Rt.height=Ir+"px",Wu(ct,An)):Rf(ct,An),this._containerWidth=this._container.offsetWidth},_animateZoom:function(ct){var Rt=this._map._latLngToNewLayerPoint(this._latlng,ct.zoom,ct.center),ge=this._getAnchor();ic(this._container,Rt.add(ge))},_adjustPan:function(){if(this.options.autoPan){if(this._map._panAnim&&this._map._panAnim.stop(),this._autopanning){this._autopanning=!1;return}var ct=this._map,Rt=parseInt(M1(this._container,"marginBottom"),10)||0,ge=this._container.offsetHeight+Rt,tr=this._containerWidth,Ir=new va(this._containerLeft,-ge-this._containerBottom);Ir._add(Bc(this._container));var An=ct.layerPointToContainerPoint(Ir),Zi=qa(this.options.autoPanPadding),Ua=qa(this.options.autoPanPaddingTopLeft||Zi),Ja=qa(this.options.autoPanPaddingBottomRight||Zi),xo=ct.getSize(),Ws=0,xl=0;An.x+tr+Ja.x>xo.x&&(Ws=An.x+tr-xo.x+Ja.x),An.x-Ws-Ua.x<0&&(Ws=An.x-Ua.x),An.y+ge+Ja.y>xo.y&&(xl=An.y+ge-xo.y+Ja.y),An.y-xl-Ua.y<0&&(xl=An.y-Ua.y),(Ws||xl)&&(this.options.keepInView&&(this._autopanning=!0),ct.fire("autopanstart").panBy([Ws,xl]))}},_getAnchor:function(){return qa(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}}),vf=function(ct,Rt){return new Cg(ct,Rt)};Ac.mergeOptions({closePopupOnClick:!0}),Ac.include({openPopup:function(ct,Rt,ge){return this._initOverlay(Cg,ct,Rt,ge).openOn(this),this},closePopup:function(ct){return ct=arguments.length?ct:this._popup,ct&&ct.close(),this}}),a0.include({bindPopup:function(ct,Rt){return this._popup=this._initOverlay(Cg,this._popup,ct,Rt),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(ct){return this._popup&&(this instanceof wp||(this._popup._source=this),this._popup._prepareOpen(ct||this._latlng)&&this._popup.openOn(this._map)),this},closePopup:function(){return this._popup&&this._popup.close(),this},togglePopup:function(){return this._popup&&this._popup.toggle(this),this},isPopupOpen:function(){return this._popup?this._popup.isOpen():!1},setPopupContent:function(ct){return this._popup&&this._popup.setContent(ct),this},getPopup:function(){return this._popup},_openPopup:function(ct){if(!(!this._popup||!this._map)){bg(ct);var Rt=ct.layer||ct.target;if(this._popup._source===Rt&&!(Rt instanceof Hm)){this._map.hasLayer(this._popup)?this.closePopup():this.openPopup(ct.latlng);return}this._popup._source=Rt,this.openPopup(ct.latlng)}},_movePopup:function(ct){this._popup.setLatLng(ct.latlng)},_onKeyPress:function(ct){ct.originalEvent.keyCode===13&&this._openPopup(ct)}});var P1=Q0.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(ct){Q0.prototype.onAdd.call(this,ct),this.setOpacity(this.options.opacity),ct.fire("tooltipopen",{tooltip:this}),this._source&&(this.addEventParent(this._source),this._source.fire("tooltipopen",{tooltip:this},!0))},onRemove:function(ct){Q0.prototype.onRemove.call(this,ct),ct.fire("tooltipclose",{tooltip:this}),this._source&&(this.removeEventParent(this._source),this._source.fire("tooltipclose",{tooltip:this},!0))},getEvents:function(){var ct=Q0.prototype.getEvents.call(this);return this.options.permanent||(ct.preclick=this.close),ct},_initLayout:function(){var ct="leaflet-tooltip",Rt=ct+" "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=Cc("div",Rt),this._container.setAttribute("role","tooltip"),this._container.setAttribute("id","leaflet-tooltip-"+jt(this))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(ct){var Rt,ge,tr=this._map,Ir=this._container,An=tr.latLngToContainerPoint(tr.getCenter()),Zi=tr.layerPointToContainerPoint(ct),Ua=this.options.direction,Ja=Ir.offsetWidth,xo=Ir.offsetHeight,Ws=qa(this.options.offset),xl=this._getAnchor();Ua==="top"?(Rt=Ja/2,ge=xo):Ua==="bottom"?(Rt=Ja/2,ge=0):Ua==="center"?(Rt=Ja/2,ge=xo/2):Ua==="right"?(Rt=0,ge=xo/2):Ua==="left"?(Rt=Ja,ge=xo/2):Zi.xthis.options.maxZoom||getr?this._retainParent(Ir,An,Zi,tr):!1)},_retainChildren:function(ct,Rt,ge,tr){for(var Ir=2*ct;Ir<2*ct+2;Ir++)for(var An=2*Rt;An<2*Rt+2;An++){var Zi=new va(Ir,An);Zi.z=ge+1;var Ua=this._tileCoordsToKey(Zi),Ja=this._tiles[Ua];if(Ja&&Ja.active){Ja.retain=!0;continue}else Ja&&Ja.loaded&&(Ja.retain=!0);ge+1this.options.maxZoom||this.options.minZoom!==void 0&&Ir1){this._setView(ct,ge);return}for(var xl=Ir.min.y;xl<=Ir.max.y;xl++)for(var Bu=Ir.min.x;Bu<=Ir.max.x;Bu++){var Md=new va(Bu,xl);if(Md.z=this._tileZoom,!!this._isValidTile(Md)){var Nf=this._tiles[this._tileCoordsToKey(Md)];Nf?Nf.current=!0:Zi.push(Md)}}if(Zi.sort(function(kp,qm){return kp.distanceTo(An)-qm.distanceTo(An)}),Zi.length!==0){this._loading||(this._loading=!0,this.fire("loading"));var _0=document.createDocumentFragment();for(Bu=0;Buge.max.x)||!Rt.wrapLat&&(ct.yge.max.y))return!1}if(!this.options.bounds)return!0;var tr=this._tileCoordsToBounds(ct);return No(this.options.bounds).overlaps(tr)},_keyToBounds:function(ct){return this._tileCoordsToBounds(this._keyToTileCoords(ct))},_tileCoordsToNwSe:function(ct){var Rt=this._map,ge=this.getTileSize(),tr=ct.scaleBy(ge),Ir=tr.add(ge),An=Rt.unproject(tr,ct.z),Zi=Rt.unproject(Ir,ct.z);return[An,Zi]},_tileCoordsToBounds:function(ct){var Rt=this._tileCoordsToNwSe(ct),ge=new Rl(Rt[0],Rt[1]);return this.options.noWrap||(ge=this._map.wrapLatLngBounds(ge)),ge},_tileCoordsToKey:function(ct){return ct.x+":"+ct.y+":"+ct.z},_keyToTileCoords:function(ct){var Rt=ct.split(":"),ge=new va(+Rt[0],+Rt[1]);return ge.z=+Rt[2],ge},_removeTile:function(ct){var Rt=this._tiles[ct];Rt&&(Tf(Rt.el),delete this._tiles[ct],this.fire("tileunload",{tile:Rt.el,coords:this._keyToTileCoords(ct)}))},_initTile:function(ct){Wu(ct,"leaflet-tile");var Rt=this.getTileSize();ct.style.width=Rt.x+"px",ct.style.height=Rt.y+"px",ct.onselectstart=Le,ct.onmousemove=Le,Cl.ielt9&&this.options.opacity<1&&m0(ct,this.options.opacity)},_addTile:function(ct,Rt){var ge=this._getTilePos(ct),tr=this._tileCoordsToKey(ct),Ir=this.createTile(this._wrapCoords(ct),_t(this._tileReady,this,ct));this._initTile(Ir),this.createTile.length<2&&jn(_t(this._tileReady,this,ct,null,Ir)),ic(Ir,ge),this._tiles[tr]={el:Ir,coords:ct,current:!0},Rt.appendChild(Ir),this.fire("tileloadstart",{tile:Ir,coords:ct})},_tileReady:function(ct,Rt,ge){Rt&&this.fire("tileerror",{error:Rt,tile:ge,coords:ct});var tr=this._tileCoordsToKey(ct);ge=this._tiles[tr],ge&&(ge.loaded=+new Date,this._map._fadeAnimated?(m0(ge.el,0),oi(this._fadeFrame),this._fadeFrame=jn(this._updateOpacity,this)):(ge.active=!0,this._pruneTiles()),Rt||(Wu(ge.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:ge.el,coords:ct})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),Cl.ielt9||!this._map._fadeAnimated?jn(this._pruneTiles,this):setTimeout(_t(this._pruneTiles,this),250)))},_getTilePos:function(ct){return ct.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(ct){var Rt=new va(this._wrapX?se(ct.x,this._wrapX):ct.x,this._wrapY?se(ct.y,this._wrapY):ct.y);return Rt.z=ct.z,Rt},_pxBoundsToTileRange:function(ct){var Rt=this.getTileSize();return new io(ct.min.unscaleBy(Rt).floor(),ct.max.unscaleBy(Rt).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var ct in this._tiles)if(!this._tiles[ct].loaded)return!1;return!0}});function Y_(ct){return new z1(ct)}var o0=z1.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1,referrerPolicy:!1},initialize:function(ct,Rt){this._url=ct,Rt=wr(this,Rt),Rt.detectRetina&&Cl.retina&&Rt.maxZoom>0?(Rt.tileSize=Math.floor(Rt.tileSize/2),Rt.zoomReverse?(Rt.zoomOffset--,Rt.minZoom=Math.min(Rt.maxZoom,Rt.minZoom+1)):(Rt.zoomOffset++,Rt.maxZoom=Math.max(Rt.minZoom,Rt.maxZoom-1)),Rt.minZoom=Math.max(0,Rt.minZoom)):Rt.zoomReverse?Rt.minZoom=Math.min(Rt.maxZoom,Rt.minZoom):Rt.maxZoom=Math.max(Rt.minZoom,Rt.maxZoom),typeof Rt.subdomains=="string"&&(Rt.subdomains=Rt.subdomains.split("")),this.on("tileunload",this._onTileRemove)},setUrl:function(ct,Rt){return this._url===ct&&Rt===void 0&&(Rt=!0),this._url=ct,Rt||this.redraw(),this},createTile:function(ct,Rt){var ge=document.createElement("img");return Ou(ge,"load",_t(this._tileOnLoad,this,Rt,ge)),Ou(ge,"error",_t(this._tileOnError,this,Rt,ge)),(this.options.crossOrigin||this.options.crossOrigin==="")&&(ge.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),typeof this.options.referrerPolicy=="string"&&(ge.referrerPolicy=this.options.referrerPolicy),ge.alt="",ge.src=this.getTileUrl(ct),ge},getTileUrl:function(ct){var Rt={r:Cl.retina?"@2x":"",s:this._getSubdomain(ct),x:ct.x,y:ct.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var ge=this._globalTileRange.max.y-ct.y;this.options.tms&&(Rt.y=ge),Rt["-y"]=ge}return Dt(this._url,K(Rt,this.options))},_tileOnLoad:function(ct,Rt){Cl.ielt9?setTimeout(_t(ct,this,null,Rt),0):ct(null,Rt)},_tileOnError:function(ct,Rt,ge){var tr=this.options.errorTileUrl;tr&&Rt.getAttribute("src")!==tr&&(Rt.src=tr),ct(ge,Rt)},_onTileRemove:function(ct){ct.tile.onload=null},_getZoomForUrl:function(){var ct=this._tileZoom,Rt=this.options.maxZoom,ge=this.options.zoomReverse,tr=this.options.zoomOffset;return ge&&(ct=Rt-ct),ct+tr},_getSubdomain:function(ct){var Rt=Math.abs(ct.x+ct.y)%this.options.subdomains.length;return this.options.subdomains[Rt]},_abortLoading:function(){var ct,Rt;for(ct in this._tiles)if(this._tiles[ct].coords.z!==this._tileZoom&&(Rt=this._tiles[ct].el,Rt.onload=Le,Rt.onerror=Le,!Rt.complete)){Rt.src=Dn;var ge=this._tiles[ct].coords;Tf(Rt),delete this._tiles[ct],this.fire("tileabort",{tile:Rt,coords:ge})}},_removeTile:function(ct){var Rt=this._tiles[ct];if(Rt)return Rt.el.setAttribute("src",Dn),z1.prototype._removeTile.call(this,ct)},_tileReady:function(ct,Rt,ge){if(!(!this._map||ge&&ge.getAttribute("src")===Dn))return z1.prototype._tileReady.call(this,ct,Rt,ge)}});function Qy(ct,Rt){return new o0(ct,Rt)}var tx=o0.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(ct,Rt){this._url=ct;var ge=K({},this.defaultWmsParams);for(var tr in Rt)tr in this.options||(ge[tr]=Rt[tr]);Rt=wr(this,Rt);var Ir=Rt.detectRetina&&Cl.retina?2:1,An=this.getTileSize();ge.width=An.x*Ir,ge.height=An.y*Ir,this.wmsParams=ge},onAdd:function(ct){this._crs=this.options.crs||ct.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var Rt=this._wmsVersion>=1.3?"crs":"srs";this.wmsParams[Rt]=this._crs.code,o0.prototype.onAdd.call(this,ct)},getTileUrl:function(ct){var Rt=this._tileCoordsToNwSe(ct),ge=this._crs,tr=Rs(ge.project(Rt[0]),ge.project(Rt[1])),Ir=tr.min,An=tr.max,Zi=(this._wmsVersion>=1.3&&this._crs===Wy?[Ir.y,Ir.x,An.y,An.x]:[Ir.x,Ir.y,An.x,An.y]).join(","),Ua=o0.prototype.getTileUrl.call(this,ct);return Ua+Vr(this.wmsParams,Ua,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+Zi},setParams:function(ct,Rt){return K(this.wmsParams,ct),Rt||this.redraw(),this}});function Iw(ct,Rt){return new tx(ct,Rt)}o0.WMS=tx,Qy.wms=Iw;var ym=a0.extend({options:{padding:.1},initialize:function(ct){wr(this,ct),jt(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),Wu(this._container,"leaflet-zoom-animated")),this.getPane().appendChild(this._container),this._update(),this.on("update",this._updatePaths,this)},onRemove:function(){this.off("update",this._updatePaths,this),this._destroyContainer()},getEvents:function(){var ct={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(ct.zoomanim=this._onAnimZoom),ct},_onAnimZoom:function(ct){this._updateTransform(ct.center,ct.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(ct,Rt){var ge=this._map.getZoomScale(Rt,this._zoom),tr=this._map.getSize().multiplyBy(.5+this.options.padding),Ir=this._map.project(this._center,Rt),An=tr.multiplyBy(-ge).add(Ir).subtract(this._map._getNewPixelOrigin(ct,Rt));Cl.any3d?gu(this._container,An,ge):ic(this._container,An)},_reset:function(){this._update(),this._updateTransform(this._center,this._zoom);for(var ct in this._layers)this._layers[ct]._reset()},_onZoomEnd:function(){for(var ct in this._layers)this._layers[ct]._project()},_updatePaths:function(){for(var ct in this._layers)this._layers[ct]._update()},_update:function(){var ct=this.options.padding,Rt=this._map.getSize(),ge=this._map.containerPointToLayerPoint(Rt.multiplyBy(-ct)).round();this._bounds=new io(ge,ge.add(Rt.multiplyBy(1+ct*2)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),Ow=ym.extend({options:{tolerance:0},getEvents:function(){var ct=ym.prototype.getEvents.call(this);return ct.viewprereset=this._onViewPreReset,ct},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){ym.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var ct=this._container=document.createElement("canvas");Ou(ct,"mousemove",this._onMouseMove,this),Ou(ct,"click dblclick mousedown mouseup contextmenu",this._onClick,this),Ou(ct,"mouseout",this._handleMouseOut,this),ct._leaflet_disable_events=!0,this._ctx=ct.getContext("2d")},_destroyContainer:function(){oi(this._redrawRequest),delete this._ctx,Tf(this._container),jh(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){var ct;this._redrawBounds=null;for(var Rt in this._layers)ct=this._layers[Rt],ct._update();this._redraw()}},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){ym.prototype._update.call(this);var ct=this._bounds,Rt=this._container,ge=ct.getSize(),tr=Cl.retina?2:1;ic(Rt,ct.min),Rt.width=tr*ge.x,Rt.height=tr*ge.y,Rt.style.width=ge.x+"px",Rt.style.height=ge.y+"px",Cl.retina&&this._ctx.scale(2,2),this._ctx.translate(-ct.min.x,-ct.min.y),this.fire("update")}},_reset:function(){ym.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(ct){this._updateDashArray(ct),this._layers[jt(ct)]=ct;var Rt=ct._order={layer:ct,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=Rt),this._drawLast=Rt,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(ct){this._requestRedraw(ct)},_removePath:function(ct){var Rt=ct._order,ge=Rt.next,tr=Rt.prev;ge?ge.prev=tr:this._drawLast=tr,tr?tr.next=ge:this._drawFirst=ge,delete ct._order,delete this._layers[jt(ct)],this._requestRedraw(ct)},_updatePath:function(ct){this._extendRedrawBounds(ct),ct._project(),ct._update(),this._requestRedraw(ct)},_updateStyle:function(ct){this._updateDashArray(ct),this._requestRedraw(ct)},_updateDashArray:function(ct){if(typeof ct.options.dashArray=="string"){var Rt=ct.options.dashArray.split(/[, ]+/),ge=[],tr,Ir;for(Ir=0;Ir')}}catch{}return function(ct){return document.createElement("<"+ct+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}(),E6={_initContainer:function(){this._container=Cc("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(ym.prototype._update.call(this),this.fire("update"))},_initPath:function(ct){var Rt=ct._container=I1("shape");Wu(Rt,"leaflet-vml-shape "+(this.options.className||"")),Rt.coordsize="1 1",ct._path=I1("path"),Rt.appendChild(ct._path),this._updateStyle(ct),this._layers[jt(ct)]=ct},_addPath:function(ct){var Rt=ct._container;this._container.appendChild(Rt),ct.options.interactive&&ct.addInteractiveTarget(Rt)},_removePath:function(ct){var Rt=ct._container;Tf(Rt),ct.removeInteractiveTarget(Rt),delete this._layers[jt(ct)]},_updateStyle:function(ct){var Rt=ct._stroke,ge=ct._fill,tr=ct.options,Ir=ct._container;Ir.stroked=!!tr.stroke,Ir.filled=!!tr.fill,tr.stroke?(Rt||(Rt=ct._stroke=I1("stroke")),Ir.appendChild(Rt),Rt.weight=tr.weight+"px",Rt.color=tr.color,Rt.opacity=tr.opacity,tr.dashArray?Rt.dashStyle=cn(tr.dashArray)?tr.dashArray.join(" "):tr.dashArray.replace(/( *, *)/g," "):Rt.dashStyle="",Rt.endcap=tr.lineCap.replace("butt","flat"),Rt.joinstyle=tr.lineJoin):Rt&&(Ir.removeChild(Rt),ct._stroke=null),tr.fill?(ge||(ge=ct._fill=I1("fill")),Ir.appendChild(ge),ge.color=tr.fillColor||tr.color,ge.opacity=tr.fillOpacity):ge&&(Ir.removeChild(ge),ct._fill=null)},_updateCircle:function(ct){var Rt=ct._point.round(),ge=Math.round(ct._radius),tr=Math.round(ct._radiusY||ge);this._setPath(ct,ct._empty()?"M0 0":"AL "+Rt.x+","+Rt.y+" "+ge+","+tr+" 0,"+65535*360)},_setPath:function(ct,Rt){ct._path.v=Rt},_bringToFront:function(ct){dv(ct._container)},_bringToBack:function(ct){kn(ct._container)}},Wm=Cl.vml?I1:po,Bp=ym.extend({_initContainer:function(){this._container=Wm("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=Wm("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){Tf(this._container),jh(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){ym.prototype._update.call(this);var ct=this._bounds,Rt=ct.getSize(),ge=this._container;(!this._svgSize||!this._svgSize.equals(Rt))&&(this._svgSize=Rt,ge.setAttribute("width",Rt.x),ge.setAttribute("height",Rt.y)),ic(ge,ct.min),ge.setAttribute("viewBox",[ct.min.x,ct.min.y,Rt.x,Rt.y].join(" ")),this.fire("update")}},_initPath:function(ct){var Rt=ct._path=Wm("path");ct.options.className&&Wu(Rt,ct.options.className),ct.options.interactive&&Wu(Rt,"leaflet-interactive"),this._updateStyle(ct),this._layers[jt(ct)]=ct},_addPath:function(ct){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(ct._path),ct.addInteractiveTarget(ct._path)},_removePath:function(ct){Tf(ct._path),ct.removeInteractiveTarget(ct._path),delete this._layers[jt(ct)]},_updatePath:function(ct){ct._project(),ct._update()},_updateStyle:function(ct){var Rt=ct._path,ge=ct.options;Rt&&(ge.stroke?(Rt.setAttribute("stroke",ge.color),Rt.setAttribute("stroke-opacity",ge.opacity),Rt.setAttribute("stroke-width",ge.weight),Rt.setAttribute("stroke-linecap",ge.lineCap),Rt.setAttribute("stroke-linejoin",ge.lineJoin),ge.dashArray?Rt.setAttribute("stroke-dasharray",ge.dashArray):Rt.removeAttribute("stroke-dasharray"),ge.dashOffset?Rt.setAttribute("stroke-dashoffset",ge.dashOffset):Rt.removeAttribute("stroke-dashoffset")):Rt.setAttribute("stroke","none"),ge.fill?(Rt.setAttribute("fill",ge.fillColor||ge.color),Rt.setAttribute("fill-opacity",ge.fillOpacity),Rt.setAttribute("fill-rule",ge.fillRule||"evenodd")):Rt.setAttribute("fill","none"))},_updatePoly:function(ct,Rt){this._setPath(ct,To(ct._parts,Rt))},_updateCircle:function(ct){var Rt=ct._point,ge=Math.max(Math.round(ct._radius),1),tr=Math.max(Math.round(ct._radiusY),1)||ge,Ir="a"+ge+","+tr+" 0 1,0 ",An=ct._empty()?"M0 0":"M"+(Rt.x-ge)+","+Rt.y+Ir+ge*2+",0 "+Ir+-ge*2+",0 ";this._setPath(ct,An)},_setPath:function(ct,Rt){ct._path.setAttribute("d",Rt)},_bringToFront:function(ct){dv(ct._path)},_bringToBack:function(ct){kn(ct._path)}});Cl.vml&&Bp.include(E6);function Dw(ct){return Cl.svg||Cl.vml?new Bp(ct):null}Ac.include({getRenderer:function(ct){var Rt=ct.options.renderer||this._getPaneRenderer(ct.options.pane)||this.options.renderer||this._renderer;return Rt||(Rt=this._renderer=this._createRenderer()),this.hasLayer(Rt)||this.addLayer(Rt),Rt},_getPaneRenderer:function(ct){if(ct==="overlayPane"||ct===void 0)return!1;var Rt=this._paneRenderers[ct];return Rt===void 0&&(Rt=this._createRenderer({pane:ct}),this._paneRenderers[ct]=Rt),Rt},_createRenderer:function(ct){return this.options.preferCanvas&&K_(ct)||Dw(ct)}});var s0=_v.extend({initialize:function(ct,Rt){_v.prototype.initialize.call(this,this._boundsToLatLngs(ct),Rt)},setBounds:function(ct){return this.setLatLngs(this._boundsToLatLngs(ct))},_boundsToLatLngs:function(ct){return ct=No(ct),[ct.getSouthWest(),ct.getNorthWest(),ct.getNorthEast(),ct.getSouthEast()]}});function O0(ct,Rt){return new s0(ct,Rt)}Bp.create=Wm,Bp.pointsToPath=To,pm.geometryToLayer=Gy,pm.coordsToLatLng=W_,pm.coordsToLatLngs=Yy,pm.latLngToCoords=q_,pm.latLngsToCoords=Ky,pm.getFeature=mm,pm.asFeature=Xy,Ac.mergeOptions({boxZoom:!0});var bv=J0.extend({initialize:function(ct){this._map=ct,this._container=ct._container,this._pane=ct._panes.overlayPane,this._resetStateTimeout=0,ct.on("unload",this._destroy,this)},addHooks:function(){Ou(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){jh(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){Tf(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){this._resetStateTimeout!==0&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(ct){if(!ct.shiftKey||ct.which!==1&&ct.button!==1)return!1;this._clearDeferredResetState(),this._resetState(),L0(),Kc(),this._startPoint=this._map.mouseEventToContainerPoint(ct),Ou(document,{contextmenu:bg,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(ct){this._moved||(this._moved=!0,this._box=Cc("div","leaflet-zoom-box",this._container),Wu(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(ct);var Rt=new io(this._point,this._startPoint),ge=Rt.getSize();ic(this._box,Rt.min),this._box.style.width=ge.x+"px",this._box.style.height=ge.y+"px"},_finish:function(){this._moved&&(Tf(this._box),Rf(this._container,"leaflet-crosshair")),yg(),Dp(),jh(document,{contextmenu:bg,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(ct){if(!(ct.which!==1&&ct.button!==1)&&(this._finish(),!!this._moved)){this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(_t(this._resetState,this),0);var Rt=new Rl(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(Rt).fire("boxzoomend",{boxZoomBounds:Rt})}},_onKeyDown:function(ct){ct.keyCode===27&&(this._finish(),this._clearDeferredResetState(),this._resetState())}});Ac.addInitHook("addHandler","boxZoom",bv),Ac.mergeOptions({doubleClickZoom:!0});var x0=J0.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(ct){var Rt=this._map,ge=Rt.getZoom(),tr=Rt.options.zoomDelta,Ir=ct.originalEvent.shiftKey?ge-tr:ge+tr;Rt.options.doubleClickZoom==="center"?Rt.setZoom(Ir):Rt.setZoomAround(ct.containerPoint,Ir)}});Ac.addInitHook("addHandler","doubleClickZoom",x0),Ac.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var D0=J0.extend({addHooks:function(){if(!this._draggable){var ct=this._map;this._draggable=new Um(ct._mapPane,ct._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),ct.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),ct.on("zoomend",this._onZoomEnd,this),ct.whenReady(this._onZoomEnd,this))}Wu(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){Rf(this._map._container,"leaflet-grab"),Rf(this._map._container,"leaflet-touch-drag"),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var ct=this._map;if(ct._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity){var Rt=No(this._map.options.maxBounds);this._offsetLimit=Rs(this._map.latLngToContainerPoint(Rt.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(Rt.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))}else this._offsetLimit=null;ct.fire("movestart").fire("dragstart"),ct.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(ct){if(this._map.options.inertia){var Rt=this._lastTime=+new Date,ge=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(ge),this._times.push(Rt),this._prunePositions(Rt)}this._map.fire("move",ct).fire("drag",ct)},_prunePositions:function(ct){for(;this._positions.length>1&&ct-this._times[0]>50;)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var ct=this._map.getSize().divideBy(2),Rt=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=Rt.subtract(ct).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(ct,Rt){return ct-(ct-Rt)*this._viscosity},_onPreDragLimit:function(){if(!(!this._viscosity||!this._offsetLimit)){var ct=this._draggable._newPos.subtract(this._draggable._startPos),Rt=this._offsetLimit;ct.xRt.max.x&&(ct.x=this._viscousLimit(ct.x,Rt.max.x)),ct.y>Rt.max.y&&(ct.y=this._viscousLimit(ct.y,Rt.max.y)),this._draggable._newPos=this._draggable._startPos.add(ct)}},_onPreDragWrap:function(){var ct=this._worldWidth,Rt=Math.round(ct/2),ge=this._initialWorldOffset,tr=this._draggable._newPos.x,Ir=(tr-Rt+ge)%ct+Rt-ge,An=(tr+Rt+ge)%ct-Rt-ge,Zi=Math.abs(Ir+ge)0?An:-An))-Rt;this._delta=0,this._startTime=null,Zi&&(ct.options.scrollWheelZoom==="center"?ct.setZoom(Rt+Zi):ct.setZoomAround(this._lastMousePos,Rt+Zi))}});Ac.addInitHook("addHandler","scrollWheelZoom",Lg);var Bw=600;Ac.mergeOptions({tapHold:Cl.touchNative&&Cl.safari&&Cl.mobile,tapTolerance:15});var Rw=J0.extend({addHooks:function(){Ou(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){jh(this._map._container,"touchstart",this._onDown,this)},_onDown:function(ct){if(clearTimeout(this._holdTimeout),ct.touches.length===1){var Rt=ct.touches[0];this._startPos=this._newPos=new va(Rt.clientX,Rt.clientY),this._holdTimeout=setTimeout(_t(function(){this._cancel(),this._isTapValid()&&(Ou(document,"touchend",mc),Ou(document,"touchend touchcancel",this._cancelClickPrevent),this._simulateEvent("contextmenu",Rt))},this),Bw),Ou(document,"touchend touchcancel contextmenu",this._cancel,this),Ou(document,"touchmove",this._onMove,this)}},_cancelClickPrevent:function ct(){jh(document,"touchend",mc),jh(document,"touchend touchcancel",ct)},_cancel:function(){clearTimeout(this._holdTimeout),jh(document,"touchend touchcancel contextmenu",this._cancel,this),jh(document,"touchmove",this._onMove,this)},_onMove:function(ct){var Rt=ct.touches[0];this._newPos=new va(Rt.clientX,Rt.clientY)},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_simulateEvent:function(ct,Rt){var ge=new MouseEvent(ct,{bubbles:!0,cancelable:!0,view:window,screenX:Rt.screenX,screenY:Rt.screenY,clientX:Rt.clientX,clientY:Rt.clientY});ge._simulated=!0,Rt.target.dispatchEvent(ge)}});Ac.addInitHook("addHandler","tapHold",Rw),Ac.mergeOptions({touchZoom:Cl.touch,bounceAtZoomLimits:!0});var F0=J0.extend({addHooks:function(){Wu(this._map._container,"leaflet-touch-zoom"),Ou(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){Rf(this._map._container,"leaflet-touch-zoom"),jh(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(ct){var Rt=this._map;if(!(!ct.touches||ct.touches.length!==2||Rt._animatingZoom||this._zooming)){var ge=Rt.mouseEventToContainerPoint(ct.touches[0]),tr=Rt.mouseEventToContainerPoint(ct.touches[1]);this._centerPoint=Rt.getSize()._divideBy(2),this._startLatLng=Rt.containerPointToLatLng(this._centerPoint),Rt.options.touchZoom!=="center"&&(this._pinchStartLatLng=Rt.containerPointToLatLng(ge.add(tr)._divideBy(2))),this._startDist=ge.distanceTo(tr),this._startZoom=Rt.getZoom(),this._moved=!1,this._zooming=!0,Rt._stop(),Ou(document,"touchmove",this._onTouchMove,this),Ou(document,"touchend touchcancel",this._onTouchEnd,this),mc(ct)}},_onTouchMove:function(ct){if(!(!ct.touches||ct.touches.length!==2||!this._zooming)){var Rt=this._map,ge=Rt.mouseEventToContainerPoint(ct.touches[0]),tr=Rt.mouseEventToContainerPoint(ct.touches[1]),Ir=ge.distanceTo(tr)/this._startDist;if(this._zoom=Rt.getScaleZoom(Ir,this._startZoom),!Rt.options.bounceAtZoomLimits&&(this._zoomRt.getMaxZoom()&&Ir>1)&&(this._zoom=Rt._limitZoom(this._zoom)),Rt.options.touchZoom==="center"){if(this._center=this._startLatLng,Ir===1)return}else{var An=ge._add(tr)._divideBy(2)._subtract(this._centerPoint);if(Ir===1&&An.x===0&&An.y===0)return;this._center=Rt.unproject(Rt.project(this._pinchStartLatLng,this._zoom).subtract(An),this._zoom)}this._moved||(Rt._moveStart(!0,!1),this._moved=!0),oi(this._animRequest);var Zi=_t(Rt._move,Rt,this._center,this._zoom,{pinch:!0,round:!1},void 0);this._animRequest=jn(Zi,this,!0),mc(ct)}},_onTouchEnd:function(){if(!this._moved||!this._zooming){this._zooming=!1;return}this._zooming=!1,oi(this._animRequest),jh(document,"touchmove",this._onTouchMove,this),jh(document,"touchend touchcancel",this._onTouchEnd,this),this._map.options.zoomAnimation?this._map._animateZoom(this._center,this._map._limitZoom(this._zoom),!0,this._map.options.zoomSnap):this._map._resetView(this._center,this._map._limitZoom(this._zoom))}});Ac.addInitHook("addHandler","touchZoom",F0),Ac.BoxZoom=bv,Ac.DoubleClickZoom=x0,Ac.Drag=D0,Ac.Keyboard=Fw,Ac.ScrollWheelZoom=Lg,Ac.TapHold=Rw,Ac.TouchZoom=F0,E.Bounds=io,E.Browser=Cl,E.CRS=fa,E.Canvas=Ow,E.Circle=Zy,E.CircleMarker=$y,E.Class=Wn,E.Control=up,E.DivIcon=zw,E.DivOverlay=Q0,E.DomEvent=Fp,E.DomUtil=kc,E.Draggable=Um,E.Evented=hi,E.FeatureGroup=wp,E.GeoJSON=pm,E.GridLayer=z1,E.Handler=J0,E.Icon=Vm,E.ImageOverlay=gm,E.LatLng=Ka,E.LatLngBounds=Rl,E.Layer=a0,E.LayerGroup=Eg,E.LineUtil=tf,E.Map=Ac,E.Marker=L1,E.Mixin=cp,E.Path=Hm,E.Point=va,E.PolyUtil=b6,E.Polygon=_v,E.Polyline=y0,E.Popup=Cg,E.PosAnimation=C1,E.Projection=j_,E.Rectangle=s0,E.Renderer=ym,E.SVG=Bp,E.SVGOverlay=G_,E.TileLayer=o0,E.Tooltip=P1,E.Transformation=zo,E.Util=Vn,E.VideoOverlay=I0,E.bind=_t,E.bounds=Rs,E.canvas=K_,E.circle=xv,E.circleMarker=Ew,E.control=i0,E.divIcon=S6,E.extend=K,E.featureGroup=Sw,E.geoJSON=Z_,E.geoJson=Jy,E.gridLayer=Y_,E.icon=V_,E.imageOverlay=vm,E.latLng=La,E.latLngBounds=No,E.layerGroup=qy,E.map=Vs,E.marker=T6,E.point=qa,E.polygon=A6,E.polyline=Cw,E.popup=vf,E.rectangle=O0,E.setOptions=wr,E.stamp=jt,E.svg=Dw,E.svgOverlay=M6,E.tileLayer=Qy,E.tooltip=Pw,E.transformation=mi,E.version=R,E.videoOverlay=ef;var B0=window.L;E.noConflict=function(){return window.L=B0,this},window.L=E})}(v2,v2.exports)),v2.exports}var Zot=$ot();const Mm=eD(Zot),rP=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],R8=1,o2=8;class mM{static from(s){if(!(s instanceof ArrayBuffer))throw new Error("Data must be an instance of ArrayBuffer.");const[E,R]=new Uint8Array(s,0,2);if(E!==219)throw new Error("Data does not appear to be in a KDBush format.");const K=R>>4;if(K!==R8)throw new Error(`Got v${K} data when expected v${R8}.`);const dt=rP[R&15];if(!dt)throw new Error("Unrecognized array type.");const[_t]=new Uint16Array(s,2,1),[zt]=new Uint32Array(s,4,1);return new mM(zt,_t,dt,s)}constructor(s,E=64,R=Float64Array,K){if(isNaN(s)||s<0)throw new Error(`Unpexpected numItems value: ${s}.`);this.numItems=+s,this.nodeSize=Math.min(Math.max(+E,2),65535),this.ArrayType=R,this.IndexArrayType=s<65536?Uint16Array:Uint32Array;const dt=rP.indexOf(this.ArrayType),_t=s*2*this.ArrayType.BYTES_PER_ELEMENT,zt=s*this.IndexArrayType.BYTES_PER_ELEMENT,jt=(8-zt%8)%8;if(dt<0)throw new Error(`Unexpected typed array class: ${R}.`);K&&K instanceof ArrayBuffer?(this.data=K,this.ids=new this.IndexArrayType(this.data,o2,s),this.coords=new this.ArrayType(this.data,o2+zt+jt,s*2),this._pos=s*2,this._finished=!0):(this.data=new ArrayBuffer(o2+_t+zt+jt),this.ids=new this.IndexArrayType(this.data,o2,s),this.coords=new this.ArrayType(this.data,o2+zt+jt,s*2),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,(R8<<4)+dt]),new Uint16Array(this.data,2,1)[0]=E,new Uint32Array(this.data,4,1)[0]=s)}add(s,E){const R=this._pos>>1;return this.ids[R]=R,this.coords[this._pos++]=s,this.coords[this._pos++]=E,R}finish(){const s=this._pos>>1;if(s!==this.numItems)throw new Error(`Added ${s} items when expected ${this.numItems}.`);return EA(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(s,E,R,K){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:dt,coords:_t,nodeSize:zt}=this,jt=[0,dt.length-1,0],te=[];for(;jt.length;){const se=jt.pop()||0,Le=jt.pop()||0,Je=jt.pop()||0;if(Le-Je<=zt){for(let Vr=Je;Vr<=Le;Vr++){const fn=_t[2*Vr],Dt=_t[2*Vr+1];fn>=s&&fn<=R&&Dt>=E&&Dt<=K&&te.push(dt[Vr])}continue}const fr=Je+Le>>1,Tr=_t[2*fr],wr=_t[2*fr+1];Tr>=s&&Tr<=R&&wr>=E&&wr<=K&&te.push(dt[fr]),(se===0?s<=Tr:E<=wr)&&(jt.push(Je),jt.push(fr-1),jt.push(1-se)),(se===0?R>=Tr:K>=wr)&&(jt.push(fr+1),jt.push(Le),jt.push(1-se))}return te}within(s,E,R){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:K,coords:dt,nodeSize:_t}=this,zt=[0,K.length-1,0],jt=[],te=R*R;for(;zt.length;){const se=zt.pop()||0,Le=zt.pop()||0,Je=zt.pop()||0;if(Le-Je<=_t){for(let Vr=Je;Vr<=Le;Vr++)nP(dt[2*Vr],dt[2*Vr+1],s,E)<=te&&jt.push(K[Vr]);continue}const fr=Je+Le>>1,Tr=dt[2*fr],wr=dt[2*fr+1];nP(Tr,wr,s,E)<=te&&jt.push(K[fr]),(se===0?s-R<=Tr:E-R<=wr)&&(zt.push(Je),zt.push(fr-1),zt.push(1-se)),(se===0?s+R>=Tr:E+R>=wr)&&(zt.push(fr+1),zt.push(Le),zt.push(1-se))}return jt}}function EA(d,s,E,R,K,dt){if(K-R<=E)return;const _t=R+K>>1;rD(d,s,_t,R,K,dt),EA(d,s,E,R,_t-1,1-dt),EA(d,s,E,_t+1,K,1-dt)}function rD(d,s,E,R,K,dt){for(;K>R;){if(K-R>600){const te=K-R+1,se=E-R+1,Le=Math.log(te),Je=.5*Math.exp(2*Le/3),fr=.5*Math.sqrt(Le*Je*(te-Je)/te)*(se-te/2<0?-1:1),Tr=Math.max(R,Math.floor(E-se*Je/te+fr)),wr=Math.min(K,Math.floor(E+(te-se)*Je/te+fr));rD(d,s,E,Tr,wr,dt)}const _t=s[2*E+dt];let zt=R,jt=K;for(s2(d,s,R,E),s[2*K+dt]>_t&&s2(d,s,R,K);zt_t;)jt--}s[2*R+dt]===_t?s2(d,s,R,jt):(jt++,s2(d,s,jt,K)),jt<=E&&(R=jt+1),E<=jt&&(K=jt-1)}}function s2(d,s,E,R){N8(d,E,R),N8(s,2*E,2*R),N8(s,2*E+1,2*R+1)}function N8(d,s,E){const R=d[s];d[s]=d[E],d[E]=R}function nP(d,s,E,R){const K=d-E,dt=s-R;return K*K+dt*dt}const Got={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:d=>d},iP=Math.fround||(d=>s=>(d[0]=+s,d[0]))(new Float32Array(1)),hy=2,c1=3,j8=4,a1=5,nD=6;class Yot{constructor(s){this.options=Object.assign(Object.create(Got),s),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(s){const{log:E,minZoom:R,maxZoom:K}=this.options;E&&console.time("total time");const dt=`prepare ${s.length} points`;E&&console.time(dt),this.points=s;const _t=[];for(let jt=0;jt=R;jt--){const te=+Date.now();zt=this.trees[jt]=this._createTree(this._cluster(zt,jt)),E&&console.log("z%d: %d clusters in %dms",jt,zt.numItems,+Date.now()-te)}return E&&console.timeEnd("total time"),this}getClusters(s,E){let R=((s[0]+180)%360+360)%360-180;const K=Math.max(-90,Math.min(90,s[1]));let dt=s[2]===180?180:((s[2]+180)%360+360)%360-180;const _t=Math.max(-90,Math.min(90,s[3]));if(s[2]-s[0]>=360)R=-180,dt=180;else if(R>dt){const Le=this.getClusters([R,K,180,_t],E),Je=this.getClusters([-180,K,dt,_t],E);return Le.concat(Je)}const zt=this.trees[this._limitZoom(E)],jt=zt.range(I5(R),O5(_t),I5(dt),O5(K)),te=zt.data,se=[];for(const Le of jt){const Je=this.stride*Le;se.push(te[Je+a1]>1?aP(te,Je,this.clusterProps):this.points[te[Je+c1]])}return se}getChildren(s){const E=this._getOriginId(s),R=this._getOriginZoom(s),K="No cluster with the specified id.",dt=this.trees[R];if(!dt)throw new Error(K);const _t=dt.data;if(E*this.stride>=_t.length)throw new Error(K);const zt=this.options.radius/(this.options.extent*Math.pow(2,R-1)),jt=_t[E*this.stride],te=_t[E*this.stride+1],se=dt.within(jt,te,zt),Le=[];for(const Je of se){const fr=Je*this.stride;_t[fr+j8]===s&&Le.push(_t[fr+a1]>1?aP(_t,fr,this.clusterProps):this.points[_t[fr+c1]])}if(Le.length===0)throw new Error(K);return Le}getLeaves(s,E,R){E=E||10,R=R||0;const K=[];return this._appendLeaves(K,s,E,R,0),K}getTile(s,E,R){const K=this.trees[this._limitZoom(s)],dt=Math.pow(2,s),{extent:_t,radius:zt}=this.options,jt=zt/_t,te=(R-jt)/dt,se=(R+1+jt)/dt,Le={features:[]};return this._addTileFeatures(K.range((E-jt)/dt,te,(E+1+jt)/dt,se),K.data,E,R,dt,Le),E===0&&this._addTileFeatures(K.range(1-jt/dt,te,1,se),K.data,dt,R,dt,Le),E===dt-1&&this._addTileFeatures(K.range(0,te,jt/dt,se),K.data,-1,R,dt,Le),Le.features.length?Le:null}getClusterExpansionZoom(s){let E=this._getOriginZoom(s)-1;for(;E<=this.options.maxZoom;){const R=this.getChildren(s);if(E++,R.length!==1)break;s=R[0].properties.cluster_id}return E}_appendLeaves(s,E,R,K,dt){const _t=this.getChildren(E);for(const zt of _t){const jt=zt.properties;if(jt&&jt.cluster?dt+jt.point_count<=K?dt+=jt.point_count:dt=this._appendLeaves(s,jt.cluster_id,R,K,dt):dt1;let se,Le,Je;if(te)se=iD(E,jt,this.clusterProps),Le=E[jt],Je=E[jt+1];else{const wr=this.points[E[jt+c1]];se=wr.properties;const[Vr,fn]=wr.geometry.coordinates;Le=I5(Vr),Je=O5(fn)}const fr={type:1,geometry:[[Math.round(this.options.extent*(Le*dt-R)),Math.round(this.options.extent*(Je*dt-K))]],tags:se};let Tr;te||this.options.generateId?Tr=E[jt+c1]:Tr=this.points[E[jt+c1]].id,Tr!==void 0&&(fr.id=Tr),_t.features.push(fr)}}_limitZoom(s){return Math.max(this.options.minZoom,Math.min(Math.floor(+s),this.options.maxZoom+1))}_cluster(s,E){const{radius:R,extent:K,reduce:dt,minPoints:_t}=this.options,zt=R/(K*Math.pow(2,E)),jt=s.data,te=[],se=this.stride;for(let Le=0;LeE&&(Vr+=jt[Dt+a1])}if(Vr>wr&&Vr>=_t){let fn=Je*wr,Dt=fr*wr,cn,Qn=-1;const Dn=((Le/se|0)<<5)+(E+1)+this.points.length;for(const ei of Tr){const Ui=ei*se;if(jt[Ui+hy]<=E)continue;jt[Ui+hy]=E;const Di=jt[Ui+a1];fn+=jt[Ui]*Di,Dt+=jt[Ui+1]*Di,jt[Ui+j8]=Dn,dt&&(cn||(cn=this._map(jt,Le,!0),Qn=this.clusterProps.length,this.clusterProps.push(cn)),dt(cn,this._map(jt,Ui)))}jt[Le+j8]=Dn,te.push(fn/Vr,Dt/Vr,1/0,Dn,-1,Vr),dt&&te.push(Qn)}else{for(let fn=0;fn1)for(const fn of Tr){const Dt=fn*se;if(!(jt[Dt+hy]<=E)){jt[Dt+hy]=E;for(let cn=0;cn>5}_getOriginZoom(s){return(s-this.points.length)%32}_map(s,E,R){if(s[E+a1]>1){const _t=this.clusterProps[s[E+nD]];return R?Object.assign({},_t):_t}const K=this.points[s[E+c1]].properties,dt=this.options.map(K);return R&&dt===K?Object.assign({},dt):dt}}function aP(d,s,E){return{type:"Feature",id:d[s+c1],properties:iD(d,s,E),geometry:{type:"Point",coordinates:[Kot(d[s]),Xot(d[s+1])]}}}function iD(d,s,E){const R=d[s+a1],K=R>=1e4?`${Math.round(R/1e3)}k`:R>=1e3?`${Math.round(R/100)/10}k`:R,dt=d[s+nD],_t=dt===-1?{}:Object.assign({},E[dt]);return Object.assign(_t,{cluster:!0,cluster_id:d[s+c1],point_count:R,point_count_abbreviated:K})}function I5(d){return d/360+.5}function O5(d){const s=Math.sin(d*Math.PI/180),E=.5-.25*Math.log((1+s)/(1-s))/Math.PI;return E<0?0:E>1?1:E}function Kot(d){return(d-.5)*360}function Xot(d){const s=(180-d*360)*Math.PI/180;return 360*Math.atan(Math.exp(s))/Math.PI-90}const Jot={class:"map-container"},Qot={key:0,class:"flex items-center justify-center h-96 bg-dark-card/30 backdrop-blur border border-white/10 rounded-[15px]"},tst={class:"hidden sm:inline"},est={key:3,class:"map-legend"},rst={class:"legend-footer"},nst={key:4,class:"map-attribution"},ist=Ec({__name:"NetworkMap",props:{adverts:{},baseLatitude:{default:null},baseLongitude:{default:null},showLegend:{type:Boolean,default:!0}},emits:["update:showLegend"],setup(d,{expose:s,emit:E}){typeof window<"u"&&!window.chrome&&(window.chrome={runtime:{}});const R=d,K=E,dt=()=>{K("update:showLegend",!R.showLegend)},_t=ja();let zt=null;const jt=ja(new Map);let te=null;const se=ja(new Map),Le=ja([]),Je=ja(!0),fr=ja(60),Tr=ja(14),wr=Wo(()=>R.baseLatitude!==null&&R.baseLongitude!==null&&typeof R.baseLatitude=="number"&&typeof R.baseLongitude=="number"&&R.baseLatitude!==0&&R.baseLongitude!==0&&Math.abs(R.baseLatitude)<=90&&Math.abs(R.baseLongitude)<=180),Vr=jn=>new Date(jn*1e3).toLocaleString(),fn=jn=>jn?`${jn} dBm`:"N/A",Dt=jn=>jn?`${jn} dB`:"N/A",cn=jn=>({0:"Transport Flood",1:"Flood",2:"Direct",3:"Transport Direct"})[jn||0]||"Unknown",Qn=(jn,oi,Vn,Wn)=>{const wi=(Vn-jn)*Math.PI/180,hi=(Wn-oi)*Math.PI/180,va=Math.sin(wi/2)*Math.sin(wi/2)+Math.cos(jn*Math.PI/180)*Math.cos(Vn*Math.PI/180)*Math.sin(hi/2)*Math.sin(hi/2);return 6371*(2*Math.atan2(Math.sqrt(va),Math.sqrt(1-va)))},Dn=()=>{zt&&(Le.value.forEach(jn=>{zt&&jn.remove()}),Le.value.length=0,zt.remove(),zt=null),jt.value.clear(),se.value.clear(),te=null},ei=jn=>{const oi=new Map;return jn.filter(Vn=>Vn.latitude!==null&&Vn.longitude!==null).map(Vn=>{let Wn=Vn.latitude,sa=Vn.longitude;const wi=`${Wn.toFixed(6)}_${sa.toFixed(6)}`,hi=oi.get(wi)||0;if(oi.set(wi,hi+1),hi>0){const qo=hi*60*(Math.PI/180);Wn+=Math.sin(qo)*.001*(hi*.5),sa+=Math.cos(qo)*.001*(hi*.5)}return{type:"Feature",properties:{advert:{...Vn,jittered_latitude:Wn,jittered_longitude:sa}},geometry:{type:"Point",coordinates:[sa,Wn]}}})},Ui=jn=>{te=new Yot({radius:fr.value,maxZoom:Tr.value,minPoints:2}),te.load(jn)},Di=async()=>{if(!_t.value||!wr.value){console.warn("Cannot initialize map: missing container or coordinates");return}Dn(),await S0();const jn=R.baseLatitude,oi=R.baseLongitude;try{zt=Mm.map(_t.value,{center:[jn,oi],zoom:10,zoomControl:!0,scrollWheelZoom:!0,doubleClickZoom:!0,boxZoom:!0,keyboard:!0,attributionControl:!1});try{const qa=Mm.tileLayer("https://{s}.basemaps.cartocdn.com/dark_nolabels/{z}/{x}/{y}{r}.png",{maxZoom:19,attribution:'© OpenStreetMap contributors © CARTO',errorTileUrl:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg=="}),io=Mm.tileLayer("https://{s}.basemaps.cartocdn.com/dark_only_labels/{z}/{x}/{y}{r}.png",{maxZoom:19,attribution:"",errorTileUrl:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg=="});qa.addTo(zt),io.addTo(zt)}catch(qa){console.warn("Error loading tiles:",qa)}const Vn=(qa,io=!1)=>{const Rs=io?16:12;return Mm.divIcon({className:"custom-div-icon",html:``,iconSize:[Rs+4,Rs+4],iconAnchor:[(Rs+4)/2,(Rs+4)/2]})},Wn=qa=>{const io=qa<10?30:qa<100?40:50;return Mm.divIcon({className:"custom-cluster-icon",html:` + */var _st=v2.exports,eP;function bst(){return eP||(eP=1,function(d,s){(function(E,R){R(s)})(_st,function(E){var R="1.9.4";function K(ct){var Rt,ge,tr,zr;for(ge=1,tr=arguments.length;ge"u"||!L||!L.Mixin)){ct=un(ct)?ct:[ct];for(var Rt=0;Rt0?Math.floor(ct):Math.ceil(ct)};ma.prototype={clone:function(){return new ma(this.x,this.y)},add:function(ct){return this.clone()._add(Ya(ct))},_add:function(ct){return this.x+=ct.x,this.y+=ct.y,this},subtract:function(ct){return this.clone()._subtract(Ya(ct))},_subtract:function(ct){return this.x-=ct.x,this.y-=ct.y,this},divideBy:function(ct){return this.clone()._divideBy(ct)},_divideBy:function(ct){return this.x/=ct,this.y/=ct,this},multiplyBy:function(ct){return this.clone()._multiplyBy(ct)},_multiplyBy:function(ct){return this.x*=ct,this.y*=ct,this},scaleBy:function(ct){return new ma(this.x*ct.x,this.y*ct.y)},unscaleBy:function(ct){return new ma(this.x/ct.x,this.y/ct.y)},round:function(){return this.clone()._round()},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},floor:function(){return this.clone()._floor()},_floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},ceil:function(){return this.clone()._ceil()},_ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},trunc:function(){return this.clone()._trunc()},_trunc:function(){return this.x=ml(this.x),this.y=ml(this.y),this},distanceTo:function(ct){ct=Ya(ct);var Rt=ct.x-this.x,ge=ct.y-this.y;return Math.sqrt(Rt*Rt+ge*ge)},equals:function(ct){return ct=Ya(ct),ct.x===this.x&&ct.y===this.y},contains:function(ct){return ct=Ya(ct),Math.abs(ct.x)<=Math.abs(this.x)&&Math.abs(ct.y)<=Math.abs(this.y)},toString:function(){return"Point("+Je(this.x)+", "+Je(this.y)+")"}};function Ya(ct,Rt,ge){return ct instanceof ma?ct:un(ct)?new ma(ct[0],ct[1]):ct==null?ct:typeof ct=="object"&&"x"in ct&&"y"in ct?new ma(ct.x,ct.y):new ma(ct,Rt,ge)}function ao(ct,Rt){if(ct)for(var ge=Rt?[ct,Rt]:ct,tr=0,zr=ge.length;tr=this.min.x&&ge.x<=this.max.x&&Rt.y>=this.min.y&&ge.y<=this.max.y},intersects:function(ct){ct=Wa(ct);var Rt=this.min,ge=this.max,tr=ct.min,zr=ct.max,An=zr.x>=Rt.x&&tr.x<=ge.x,Zi=zr.y>=Rt.y&&tr.y<=ge.y;return An&&Zi},overlaps:function(ct){ct=Wa(ct);var Rt=this.min,ge=this.max,tr=ct.min,zr=ct.max,An=zr.x>Rt.x&&tr.xRt.y&&tr.y=Rt.lat&&zr.lat<=ge.lat&&tr.lng>=Rt.lng&&zr.lng<=ge.lng},intersects:function(ct){ct=Fo(ct);var Rt=this._southWest,ge=this._northEast,tr=ct.getSouthWest(),zr=ct.getNorthEast(),An=zr.lat>=Rt.lat&&tr.lat<=ge.lat,Zi=zr.lng>=Rt.lng&&tr.lng<=ge.lng;return An&&Zi},overlaps:function(ct){ct=Fo(ct);var Rt=this._southWest,ge=this._northEast,tr=ct.getSouthWest(),zr=ct.getNorthEast(),An=zr.lat>Rt.lat&&tr.latRt.lng&&tr.lng1,u6=function(){var ct=!1;try{var Rt=Object.defineProperty({},"passive",{get:function(){ct=!0}});window.addEventListener("testPassiveEventSupport",Le,Rt),window.removeEventListener("testPassiveEventSupport",Le,Rt)}catch{}return ct}(),c6=function(){return!!document.createElement("canvas").getContext}(),M_=!!(document.createElementNS&&go("svg").createSVGRect),h6=!!M_&&function(){var ct=document.createElement("div");return ct.innerHTML="",(ct.firstChild&&ct.firstChild.namespaceURI)==="http://www.w3.org/2000/svg"}(),f6=!M_&&function(){try{var ct=document.createElement("div");ct.innerHTML='';var Rt=ct.firstChild;return Rt.style.behavior="url(#default#VML)",Rt&&typeof Rt.adj=="object"}catch{return!1}}(),gw=navigator.platform.indexOf("Mac")===0,S_=navigator.platform.indexOf("Linux")===0;function r0(ct){return navigator.userAgent.toLowerCase().indexOf(ct)>=0}var Ll={ie:ps,ielt9:ys,edge:is,webkit:Go,android:Cl,android23:Rs,androidStock:yu,opera:tc,chrome:ph,gecko:Fc,safari:sp,phantom:Kd,opera12:e0,win:d0,ie3d:Fm,webkit3d:hv,gecko3d:lp,any3d:p0,mobile:Bm,mobileWebkit:Ry,mobileWebkit3d:i6,msPointer:dw,pointer:pw,touch:a6,touchNative:mw,mobileOpera:o6,mobileGecko:s6,retina:l6,passiveEvents:u6,canvas:c6,svg:M_,vml:f6,inlineSvg:h6,mac:gw,linux:S_},Kc=Ll.msPointer?"MSPointerDown":"pointerdown",kd=Ll.msPointer?"MSPointerMove":"pointermove",E_=Ll.msPointer?"MSPointerUp":"pointerup",Gu=Ll.msPointer?"MSPointerCancel":"pointercancel",w1={touchstart:Kc,touchmove:kd,touchend:E_,touchcancel:Gu},vw={touchstart:m6,touchmove:K0,touchend:K0,touchcancel:K0},fv={},Ny=!1;function k1(ct,Rt,ge){return Rt==="touchstart"&&C_(),vw[Rt]?(ge=vw[Rt].bind(this,ge),ct.addEventListener(w1[Rt],ge,!1),ge):(console.warn("wrong event specified:",Rt),Le)}function d6(ct,Rt,ge){if(!w1[Rt]){console.warn("wrong event specified:",Rt);return}ct.removeEventListener(w1[Rt],ge,!1)}function ts(ct){fv[ct.pointerId]=ct}function p6(ct){fv[ct.pointerId]&&(fv[ct.pointerId]=ct)}function T1(ct){delete fv[ct.pointerId]}function C_(){Ny||(document.addEventListener(Kc,ts,!0),document.addEventListener(kd,p6,!0),document.addEventListener(E_,T1,!0),document.addEventListener(Gu,T1,!0),Ny=!0)}function K0(ct,Rt){if(Rt.pointerType!==(Rt.MSPOINTER_TYPE_MOUSE||"mouse")){Rt.touches=[];for(var ge in fv)Rt.touches.push(fv[ge]);Rt.changedTouches=[Rt],ct(Rt)}}function m6(ct,Rt){Rt.MSPOINTER_TYPE_TOUCH&&Rt.pointerType===Rt.MSPOINTER_TYPE_TOUCH&&mc(Rt),K0(ct,Rt)}function g6(ct){var Rt={},ge,tr;for(tr in ct)ge=ct[tr],Rt[tr]=ge&&ge.bind?ge.bind(ct):ge;return ct=Rt,Rt.type="dblclick",Rt.detail=2,Rt.isTrusted=!1,Rt._simulated=!0,Rt}var v6=200;function y6(ct,Rt){ct.addEventListener("dblclick",Rt);var ge=0,tr;function zr(An){if(An.detail!==1){tr=An.detail;return}if(!(An.pointerType==="mouse"||An.sourceCapabilities&&!An.sourceCapabilities.firesTouchEvents)){var Zi=bw(An);if(!(Zi.some(function(Qa){return Qa instanceof HTMLLabelElement&&Qa.attributes.for})&&!Zi.some(function(Qa){return Qa instanceof HTMLInputElement||Qa instanceof HTMLSelectElement}))){var Ua=Date.now();Ua-ge<=v6?(tr++,tr===2&&Rt(g6(An))):tr=1,ge=Ua}}}return ct.addEventListener("click",zr),{dblclick:Rt,simDblclick:zr}}function L_(ct,Rt){ct.removeEventListener("dblclick",Rt.dblclick),ct.removeEventListener("click",Rt.simDblclick)}var P_=jm(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),A1=jm(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),yw=A1==="webkitTransition"||A1==="OTransition"?A1+"End":"transitionend";function xw(ct){return typeof ct=="string"?document.getElementById(ct):ct}function M1(ct,Rt){var ge=ct.style[Rt]||ct.currentStyle&&ct.currentStyle[Rt];if((!ge||ge==="auto")&&document.defaultView){var tr=document.defaultView.getComputedStyle(ct,null);ge=tr?tr[Rt]:null}return ge==="auto"?null:ge}function Cc(ct,Rt,ge){var tr=document.createElement(ct);return tr.className=Rt||"",ge&&ge.appendChild(tr),tr}function Af(ct){var Rt=ct.parentNode;Rt&&Rt.removeChild(ct)}function jy(ct){for(;ct.firstChild;)ct.removeChild(ct.firstChild)}function dv(ct){var Rt=ct.parentNode;Rt&&Rt.lastChild!==ct&&Rt.appendChild(ct)}function kn(ct){var Rt=ct.parentNode;Rt&&Rt.firstChild!==ct&&Rt.insertBefore(ct,Rt.firstChild)}function I_(ct,Rt){if(ct.classList!==void 0)return ct.classList.contains(Rt);var ge=Nm(ct);return ge.length>0&&new RegExp("(^|\\s)"+Rt+"(\\s|$)").test(ge)}function Wu(ct,Rt){if(ct.classList!==void 0)for(var ge=Tr(Rt),tr=0,zr=ge.length;tr0?2*window.devicePixelRatio:1;function Tc(ct){return Ll.edge?ct.wheelDeltaY/2:ct.deltaY&&ct.deltaMode===0?-ct.deltaY/Jc:ct.deltaY&&ct.deltaMode===1?-ct.deltaY*20:ct.deltaY&&ct.deltaMode===2?-ct.deltaY*60:ct.deltaX||ct.deltaZ?0:ct.wheelDelta?(ct.wheelDeltaY||ct.wheelDelta)/2:ct.detail&&Math.abs(ct.detail)<32765?-ct.detail*20:ct.detail?ct.detail/-32765*60:0}function wg(ct,Rt){var ge=Rt.relatedTarget;if(!ge)return!0;try{for(;ge&&ge!==ct;)ge=ge.parentNode}catch{return!1}return ge!==ct}var Fp={__proto__:null,on:Ou,off:jh,stopPropagation:n0,disableScrollPropagation:dm,disableClickPropagation:pv,preventDefault:mc,stop:bg,getPropagationPath:bw,getMousePosition:Xd,getWheelDelta:Tc,isExternalTarget:wg,addListener:Ou,removeListener:jh},C1=fi.extend({run:function(ct,Rt,ge,tr){this.stop(),this._el=ct,this._inProgress=!0,this._duration=ge||.25,this._easeOutPower=1/Math.max(tr||.5,.2),this._startPos=Bc(ct),this._offset=Rt.subtract(this._startPos),this._startTime=+new Date,this.fire("start"),this._animate()},stop:function(){this._inProgress&&(this._step(!0),this._complete())},_animate:function(){this._animId=Nn(this._animate,this),this._step()},_step:function(ct){var Rt=+new Date-this._startTime,ge=this._duration*1e3;Rtthis.options.maxZoom)?this.setZoom(ct):this},panInsideBounds:function(ct,Rt){this._enforcingBounds=!0;var ge=this.getCenter(),tr=this._limitCenter(ge,this._zoom,Fo(ct));return ge.equals(tr)||this.panTo(tr,Rt),this._enforcingBounds=!1,this},panInside:function(ct,Rt){Rt=Rt||{};var ge=Ya(Rt.paddingTopLeft||Rt.padding||[0,0]),tr=Ya(Rt.paddingBottomRight||Rt.padding||[0,0]),zr=this.project(this.getCenter()),An=this.project(ct),Zi=this.getPixelBounds(),Ua=Wa([Zi.min.add(ge),Zi.max.subtract(tr)]),Qa=Ua.getSize();if(!Ua.contains(An)){this._enforcingBounds=!0;var _o=An.subtract(Ua.getCenter()),Hs=Ua.extend(An).getSize().subtract(Qa);zr.x+=_o.x<0?-Hs.x:Hs.x,zr.y+=_o.y<0?-Hs.y:Hs.y,this.panTo(this.unproject(zr),Rt),this._enforcingBounds=!1}return this},invalidateSize:function(ct){if(!this._loaded)return this;ct=K({animate:!1,pan:!0},ct===!0?{animate:!0}:ct);var Rt=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var ge=this.getSize(),tr=Rt.divideBy(2).round(),zr=ge.divideBy(2).round(),An=tr.subtract(zr);return!An.x&&!An.y?this:(ct.animate&&ct.pan?this.panBy(An):(ct.pan&&this._rawPanBy(An),this.fire("move"),ct.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(_t(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:Rt,newSize:ge}))},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(ct){if(ct=this._locateOptions=K({timeout:1e4,watch:!1},ct),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var Rt=_t(this._handleGeolocationResponse,this),ge=_t(this._handleGeolocationError,this);return ct.watch?this._locationWatchId=navigator.geolocation.watchPosition(Rt,ge,ct):navigator.geolocation.getCurrentPosition(Rt,ge,ct),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(ct){if(this._container._leaflet_id){var Rt=ct.code,ge=ct.message||(Rt===1?"permission denied":Rt===2?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:Rt,message:"Geolocation error: "+ge+"."})}},_handleGeolocationResponse:function(ct){if(this._container._leaflet_id){var Rt=ct.coords.latitude,ge=ct.coords.longitude,tr=new $a(Rt,ge),zr=tr.toBounds(ct.coords.accuracy*2),An=this._locateOptions;if(An.setView){var Zi=this.getBoundsZoom(zr);this.setView(tr,An.maxZoom?Math.min(Zi,An.maxZoom):Zi)}var Ua={latlng:tr,bounds:zr,timestamp:ct.timestamp};for(var Qa in ct.coords)typeof ct.coords[Qa]=="number"&&(Ua[Qa]=ct.coords[Qa]);this.fire("locationfound",Ua)}},addHandler:function(ct,Rt){if(!Rt)return this;var ge=this[ct]=new Rt(this);return this._handlers.push(ge),this.options[ct]&&ge.enable(),this},remove:function(){if(this._initEvents(!0),this.options.maxBounds&&this.off("moveend",this._panInsideMaxBounds),this._containerId!==this._container._leaflet_id)throw new Error("Map container is being reused by another instance");try{delete this._container._leaflet_id,delete this._containerId}catch{this._container._leaflet_id=void 0,this._containerId=void 0}this._locationWatchId!==void 0&&this.stopLocate(),this._stop(),Af(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(si(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire("unload");var ct;for(ct in this._layers)this._layers[ct].remove();for(ct in this._panes)Af(this._panes[ct]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(ct,Rt){var ge="leaflet-pane"+(ct?" leaflet-"+ct.replace("Pane","")+"-pane":""),tr=Cc("div",ge,Rt||this._mapPane);return ct&&(this._panes[ct]=tr),tr},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter.clone():this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var ct=this.getPixelBounds(),Rt=this.unproject(ct.getBottomLeft()),ge=this.unproject(ct.getTopRight());return new Ks(Rt,ge)},getMinZoom:function(){return this.options.minZoom===void 0?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return this.options.maxZoom===void 0?this._layersMaxZoom===void 0?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(ct,Rt,ge){ct=Fo(ct),ge=Ya(ge||[0,0]);var tr=this.getZoom()||0,zr=this.getMinZoom(),An=this.getMaxZoom(),Zi=ct.getNorthWest(),Ua=ct.getSouthEast(),Qa=this.getSize().subtract(ge),_o=Wa(this.project(Ua,tr),this.project(Zi,tr)).getSize(),Hs=Ll.any3d?this.options.zoomSnap:1,_l=Qa.x/_o.x,Bu=Qa.y/_o.y,Md=Rt?Math.max(_l,Bu):Math.min(_l,Bu);return tr=this.getScaleZoom(Md,tr),Hs&&(tr=Math.round(tr/(Hs/100))*(Hs/100),tr=Rt?Math.ceil(tr/Hs)*Hs:Math.floor(tr/Hs)*Hs),Math.max(zr,Math.min(An,tr))},getSize:function(){return(!this._size||this._sizeChanged)&&(this._size=new ma(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(ct,Rt){var ge=this._getTopLeftPoint(ct,Rt);return new ao(ge,ge.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(ct){return this.options.crs.getProjectedBounds(ct===void 0?this.getZoom():ct)},getPane:function(ct){return typeof ct=="string"?this._panes[ct]:ct},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(ct,Rt){var ge=this.options.crs;return Rt=Rt===void 0?this._zoom:Rt,ge.scale(ct)/ge.scale(Rt)},getScaleZoom:function(ct,Rt){var ge=this.options.crs;Rt=Rt===void 0?this._zoom:Rt;var tr=ge.zoom(ct*ge.scale(Rt));return isNaN(tr)?1/0:tr},project:function(ct,Rt){return Rt=Rt===void 0?this._zoom:Rt,this.options.crs.latLngToPoint(Ca(ct),Rt)},unproject:function(ct,Rt){return Rt=Rt===void 0?this._zoom:Rt,this.options.crs.pointToLatLng(Ya(ct),Rt)},layerPointToLatLng:function(ct){var Rt=Ya(ct).add(this.getPixelOrigin());return this.unproject(Rt)},latLngToLayerPoint:function(ct){var Rt=this.project(Ca(ct))._round();return Rt._subtract(this.getPixelOrigin())},wrapLatLng:function(ct){return this.options.crs.wrapLatLng(Ca(ct))},wrapLatLngBounds:function(ct){return this.options.crs.wrapLatLngBounds(Fo(ct))},distance:function(ct,Rt){return this.options.crs.distance(Ca(ct),Ca(Rt))},containerPointToLayerPoint:function(ct){return Ya(ct).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(ct){return Ya(ct).add(this._getMapPanePos())},containerPointToLatLng:function(ct){var Rt=this.containerPointToLayerPoint(Ya(ct));return this.layerPointToLatLng(Rt)},latLngToContainerPoint:function(ct){return this.layerPointToContainerPoint(this.latLngToLayerPoint(Ca(ct)))},mouseEventToContainerPoint:function(ct){return Xd(ct,this._container)},mouseEventToLayerPoint:function(ct){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(ct))},mouseEventToLatLng:function(ct){return this.layerPointToLatLng(this.mouseEventToLayerPoint(ct))},_initContainer:function(ct){var Rt=this._container=xw(ct);if(Rt){if(Rt._leaflet_id)throw new Error("Map container is already initialized.")}else throw new Error("Map container not found.");Ou(Rt,"scroll",this._onScroll,this),this._containerId=jt(Rt)},_initLayout:function(){var ct=this._container;this._fadeAnimated=this.options.fadeAnimation&&Ll.any3d,Wu(ct,"leaflet-container"+(Ll.touch?" leaflet-touch":"")+(Ll.retina?" leaflet-retina":"")+(Ll.ielt9?" leaflet-oldie":"")+(Ll.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var Rt=M1(ct,"position");Rt!=="absolute"&&Rt!=="relative"&&Rt!=="fixed"&&Rt!=="sticky"&&(ct.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var ct=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),ic(this._mapPane,new ma(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(Wu(ct.markerPane,"leaflet-zoom-hide"),Wu(ct.shadowPane,"leaflet-zoom-hide"))},_resetView:function(ct,Rt,ge){ic(this._mapPane,new ma(0,0));var tr=!this._loaded;this._loaded=!0,Rt=this._limitZoom(Rt),this.fire("viewprereset");var zr=this._zoom!==Rt;this._moveStart(zr,ge)._move(ct,Rt)._moveEnd(zr),this.fire("viewreset"),tr&&this.fire("load")},_moveStart:function(ct,Rt){return ct&&this.fire("zoomstart"),Rt||this.fire("movestart"),this},_move:function(ct,Rt,ge,tr){Rt===void 0&&(Rt=this._zoom);var zr=this._zoom!==Rt;return this._zoom=Rt,this._lastCenter=ct,this._pixelOrigin=this._getNewPixelOrigin(ct),tr?ge&&ge.pinch&&this.fire("zoom",ge):((zr||ge&&ge.pinch)&&this.fire("zoom",ge),this.fire("move",ge)),this},_moveEnd:function(ct){return ct&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return si(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(ct){ic(this._mapPane,this._getMapPanePos().subtract(ct))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error("Set map center and zoom first.")},_initEvents:function(ct){this._targets={},this._targets[jt(this._container)]=this;var Rt=ct?jh:Ou;Rt(this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup",this._handleDOMEvent,this),this.options.trackResize&&Rt(window,"resize",this._onResize,this),Ll.any3d&&this.options.transform3DLimit&&(ct?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){si(this._resizeRequest),this._resizeRequest=Nn(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var ct=this._getMapPanePos();Math.max(Math.abs(ct.x),Math.abs(ct.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(ct,Rt){for(var ge=[],tr,zr=Rt==="mouseout"||Rt==="mouseover",An=ct.target||ct.srcElement,Zi=!1;An;){if(tr=this._targets[jt(An)],tr&&(Rt==="click"||Rt==="preclick")&&this._draggableMoved(tr)){Zi=!0;break}if(tr&&tr.listens(Rt,!0)&&(zr&&!wg(An,ct)||(ge.push(tr),zr))||An===this._container)break;An=An.parentNode}return!ge.length&&!Zi&&!zr&&this.listens(Rt,!0)&&(ge=[this]),ge},_isClickDisabled:function(ct){for(;ct&&ct!==this._container;){if(ct._leaflet_disable_click)return!0;ct=ct.parentNode}},_handleDOMEvent:function(ct){var Rt=ct.target||ct.srcElement;if(!(!this._loaded||Rt._leaflet_disable_events||ct.type==="click"&&this._isClickDisabled(Rt))){var ge=ct.type;ge==="mousedown"&&Ud(Rt),this._fireDOMEvent(ct,ge)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(ct,Rt,ge){if(ct.type==="click"){var tr=K({},ct);tr.type="preclick",this._fireDOMEvent(tr,tr.type,ge)}var zr=this._findEventTargets(ct,Rt);if(ge){for(var An=[],Zi=0;Zi0?Math.round(ct-Rt)/2:Math.max(0,Math.ceil(ct))-Math.max(0,Math.floor(Rt))},_limitZoom:function(ct){var Rt=this.getMinZoom(),ge=this.getMaxZoom(),tr=Ll.any3d?this.options.zoomSnap:1;return tr&&(ct=Math.round(ct/tr)*tr),Math.max(Rt,Math.min(ge,ct))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){Rf(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(ct,Rt){var ge=this._getCenterOffset(ct)._trunc();return(Rt&&Rt.animate)!==!0&&!this.getSize().contains(ge)?!1:(this.panBy(ge,Rt),!0)},_createAnimProxy:function(){var ct=this._proxy=Cc("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(ct),this.on("zoomanim",function(Rt){var ge=P_,tr=this._proxy.style[ge];gu(this._proxy,this.project(Rt.center,Rt.zoom),this.getZoomScale(Rt.zoom,1)),tr===this._proxy.style[ge]&&this._animatingZoom&&this._onZoomTransitionEnd()},this),this.on("load moveend",this._animMoveEnd,this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){Af(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var ct=this.getCenter(),Rt=this.getZoom();gu(this._proxy,this.project(ct,Rt),this.getZoomScale(Rt,1))},_catchTransitionEnd:function(ct){this._animatingZoom&&ct.propertyName.indexOf("transform")>=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(ct,Rt,ge){if(this._animatingZoom)return!0;if(ge=ge||{},!this._zoomAnimated||ge.animate===!1||this._nothingToAnimate()||Math.abs(Rt-this._zoom)>this.options.zoomAnimationThreshold)return!1;var tr=this.getZoomScale(Rt),zr=this._getCenterOffset(ct)._divideBy(1-1/tr);return ge.animate!==!0&&!this.getSize().contains(zr)?!1:(Nn(function(){this._moveStart(!0,ge.noMoveStart||!1)._animateZoom(ct,Rt,!0)},this),!0)},_animateZoom:function(ct,Rt,ge,tr){this._mapPane&&(ge&&(this._animatingZoom=!0,this._animateToCenter=ct,this._animateToZoom=Rt,Wu(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:ct,zoom:Rt,noUpdate:tr}),this._tempFireZoomEvent||(this._tempFireZoomEvent=this._zoom!==this._animateToZoom),this._move(this._animateToCenter,this._animateToZoom,void 0,!0),setTimeout(_t(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&Rf(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom,void 0,!0),this._tempFireZoomEvent&&this.fire("zoom"),delete this._tempFireZoomEvent,this.fire("move"),this._moveEnd(!0))}});function Us(ct,Rt){return new Ac(ct,Rt)}var up=Vn.extend({options:{position:"topright"},initialize:function(ct){wr(this,ct)},getPosition:function(){return this.options.position},setPosition:function(ct){var Rt=this._map;return Rt&&Rt.removeControl(this),this.options.position=ct,Rt&&Rt.addControl(this),this},getContainer:function(){return this._container},addTo:function(ct){this.remove(),this._map=ct;var Rt=this._container=this.onAdd(ct),ge=this.getPosition(),tr=ct._controlCorners[ge];return Wu(Rt,"leaflet-control"),ge.indexOf("bottom")!==-1?tr.insertBefore(Rt,tr.firstChild):tr.appendChild(Rt),this._map.on("unload",this.remove,this),this},remove:function(){return this._map?(Af(this._container),this.onRemove&&this.onRemove(this._map),this._map.off("unload",this.remove,this),this._map=null,this):this},_refocusOnMap:function(ct){this._map&&ct&&ct.screenX>0&&ct.screenY>0&&this._map.getContainer().focus()}}),i0=function(ct){return new up(ct)};Ac.include({addControl:function(ct){return ct.addTo(this),this},removeControl:function(ct){return ct.remove(),this},_initControlPos:function(){var ct=this._controlCorners={},Rt="leaflet-",ge=this._controlContainer=Cc("div",Rt+"control-container",this._container);function tr(zr,An){var Zi=Rt+zr+" "+Rt+An;ct[zr+An]=Cc("div",Zi,ge)}tr("top","left"),tr("top","right"),tr("bottom","left"),tr("bottom","right")},_clearControlPos:function(){for(var ct in this._controlCorners)Af(this._controlCorners[ct]);Af(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var mv=up.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(ct,Rt,ge,tr){return ge1,this._baseLayersList.style.display=ct?"":"none"),this._separator.style.display=Rt&&ct?"":"none",this},_onLayerChange:function(ct){this._handlingClick||this._update();var Rt=this._getLayer(jt(ct.target)),ge=Rt.overlay?ct.type==="add"?"overlayadd":"overlayremove":ct.type==="add"?"baselayerchange":null;ge&&this._map.fire(ge,Rt)},_createRadioElement:function(ct,Rt){var ge='",tr=document.createElement("div");return tr.innerHTML=ge,tr.firstChild},_addItem:function(ct){var Rt=document.createElement("label"),ge=this._map.hasLayer(ct.layer),tr;ct.overlay?(tr=document.createElement("input"),tr.type="checkbox",tr.className="leaflet-control-layers-selector",tr.defaultChecked=ge):tr=this._createRadioElement("leaflet-base-layers_"+jt(this),ge),this._layerControlInputs.push(tr),tr.layerId=jt(ct.layer),Ou(tr,"click",this._onInputClick,this);var zr=document.createElement("span");zr.innerHTML=" "+ct.name;var An=document.createElement("span");Rt.appendChild(An),An.appendChild(tr),An.appendChild(zr);var Zi=ct.overlay?this._overlaysList:this._baseLayersList;return Zi.appendChild(Rt),this._checkDisabledLayers(),Rt},_onInputClick:function(){if(!this._preventClick){var ct=this._layerControlInputs,Rt,ge,tr=[],zr=[];this._handlingClick=!0;for(var An=ct.length-1;An>=0;An--)Rt=ct[An],ge=this._getLayer(Rt.layerId).layer,Rt.checked?tr.push(ge):Rt.checked||zr.push(ge);for(An=0;An=0;zr--)Rt=ct[zr],ge=this._getLayer(Rt.layerId).layer,Rt.disabled=ge.options.minZoom!==void 0&&trge.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expandSafely:function(){var ct=this._section;this._preventClick=!0,Ou(ct,"click",mc),this.expand();var Rt=this;setTimeout(function(){jh(ct,"click",mc),Rt._preventClick=!1})}}),X0=function(ct,Rt,ge){return new mv(ct,Rt,ge)},Cs=up.extend({options:{position:"topleft",zoomInText:'+',zoomInTitle:"Zoom in",zoomOutText:'−',zoomOutTitle:"Zoom out"},onAdd:function(ct){var Rt="leaflet-control-zoom",ge=Cc("div",Rt+" leaflet-bar"),tr=this.options;return this._zoomInButton=this._createButton(tr.zoomInText,tr.zoomInTitle,Rt+"-in",ge,this._zoomIn),this._zoomOutButton=this._createButton(tr.zoomOutText,tr.zoomOutTitle,Rt+"-out",ge,this._zoomOut),this._updateDisabled(),ct.on("zoomend zoomlevelschange",this._updateDisabled,this),ge},onRemove:function(ct){ct.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(ct){!this._disabled&&this._map._zoomthis._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(ct.shiftKey?3:1))},_createButton:function(ct,Rt,ge,tr,zr){var An=Cc("a",ge,tr);return An.innerHTML=ct,An.href="#",An.title=Rt,An.setAttribute("role","button"),An.setAttribute("aria-label",Rt),pv(An),Ou(An,"click",bg),Ou(An,"click",zr,this),Ou(An,"click",this._refocusOnMap,this),An},_updateDisabled:function(){var ct=this._map,Rt="leaflet-disabled";Rf(this._zoomInButton,Rt),Rf(this._zoomOutButton,Rt),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),(this._disabled||ct._zoom===ct.getMinZoom())&&(Wu(this._zoomOutButton,Rt),this._zoomOutButton.setAttribute("aria-disabled","true")),(this._disabled||ct._zoom===ct.getMaxZoom())&&(Wu(this._zoomInButton,Rt),this._zoomInButton.setAttribute("aria-disabled","true"))}});Ac.mergeOptions({zoomControl:!0}),Ac.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new Cs,this.addControl(this.zoomControl))});var ww=function(ct){return new Cs(ct)},z_=up.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(ct){var Rt="leaflet-control-scale",ge=Cc("div",Rt),tr=this.options;return this._addScales(tr,Rt+"-line",ge),ct.on(tr.updateWhenIdle?"moveend":"move",this._update,this),ct.whenReady(this._update,this),ge},onRemove:function(ct){ct.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(ct,Rt,ge){ct.metric&&(this._mScale=Cc("div",Rt,ge)),ct.imperial&&(this._iScale=Cc("div",Rt,ge))},_update:function(){var ct=this._map,Rt=ct.getSize().y/2,ge=ct.distance(ct.containerPointToLatLng([0,Rt]),ct.containerPointToLatLng([this.options.maxWidth,Rt]));this._updateScales(ge)},_updateScales:function(ct){this.options.metric&&ct&&this._updateMetric(ct),this.options.imperial&&ct&&this._updateImperial(ct)},_updateMetric:function(ct){var Rt=this._getRoundNum(ct),ge=Rt<1e3?Rt+" m":Rt/1e3+" km";this._updateScale(this._mScale,ge,Rt/ct)},_updateImperial:function(ct){var Rt=ct*3.2808399,ge,tr,zr;Rt>5280?(ge=Rt/5280,tr=this._getRoundNum(ge),this._updateScale(this._iScale,tr+" mi",tr/ge)):(zr=this._getRoundNum(Rt),this._updateScale(this._iScale,zr+" ft",zr/Rt))},_updateScale:function(ct,Rt,ge){ct.style.width=Math.round(this.options.maxWidth*ge)+"px",ct.innerHTML=Rt},_getRoundNum:function(ct){var Rt=Math.pow(10,(Math.floor(ct)+"").length-1),ge=ct/Rt;return ge=ge>=10?10:ge>=5?5:ge>=3?3:ge>=2?2:1,Rt*ge}}),x6=function(ct){return new z_(ct)},O_='',D_=up.extend({options:{position:"bottomright",prefix:''+(Ll.inlineSvg?O_+" ":"")+"Leaflet"},initialize:function(ct){wr(this,ct),this._attributions={}},onAdd:function(ct){ct.attributionControl=this,this._container=Cc("div","leaflet-control-attribution"),pv(this._container);for(var Rt in ct._layers)ct._layers[Rt].getAttribution&&this.addAttribution(ct._layers[Rt].getAttribution());return this._update(),ct.on("layeradd",this._addAttribution,this),this._container},onRemove:function(ct){ct.off("layeradd",this._addAttribution,this)},_addAttribution:function(ct){ct.layer.getAttribution&&(this.addAttribution(ct.layer.getAttribution()),ct.layer.once("remove",function(){this.removeAttribution(ct.layer.getAttribution())},this))},setPrefix:function(ct){return this.options.prefix=ct,this._update(),this},addAttribution:function(ct){return ct?(this._attributions[ct]||(this._attributions[ct]=0),this._attributions[ct]++,this._update(),this):this},removeAttribution:function(ct){return ct?(this._attributions[ct]&&(this._attributions[ct]--,this._update()),this):this},_update:function(){if(this._map){var ct=[];for(var Rt in this._attributions)this._attributions[Rt]&&ct.push(Rt);var ge=[];this.options.prefix&&ge.push(this.options.prefix),ct.length&&ge.push(ct.join(", ")),this._container.innerHTML=ge.join(' | ')}}});Ac.mergeOptions({attributionControl:!0}),Ac.addInitHook(function(){this.options.attributionControl&&new D_().addTo(this)});var _6=function(ct){return new D_(ct)};up.Layers=mv,up.Zoom=Cs,up.Scale=z_,up.Attribution=D_,i0.layers=X0,i0.zoom=ww,i0.scale=x6,i0.attribution=_6;var J0=Vn.extend({initialize:function(ct){this._map=ct},enable:function(){return this._enabled?this:(this._enabled=!0,this.addHooks(),this)},disable:function(){return this._enabled?(this._enabled=!1,this.removeHooks(),this):this},enabled:function(){return!!this._enabled}});J0.addTo=function(ct,Rt){return ct.addHandler(Rt,this),this};var cp={Events:Ti},I0=Ll.touch?"touchstart mousedown":"mousedown",Um=fi.extend({options:{clickTolerance:3},initialize:function(ct,Rt,ge,tr){wr(this,tr),this._element=ct,this._dragStartTarget=Rt||ct,this._preventOutline=ge},enable:function(){this._enabled||(Ou(this._dragStartTarget,I0,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(Um._dragging===this&&this.finishDrag(!0),jh(this._dragStartTarget,I0,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(ct){if(this._enabled&&(this._moved=!1,!I_(this._element,"leaflet-zoom-anim"))){if(ct.touches&&ct.touches.length!==1){Um._dragging===this&&this.finishDrag();return}if(!(Um._dragging||ct.shiftKey||ct.which!==1&&ct.button!==1&&!ct.touches)&&(Um._dragging=this,this._preventOutline&&Ud(this._element),Xc(),L0(),!this._moving)){this.fire("down");var Rt=ct.touches?ct.touches[0]:ct,ge=Td(this._element);this._startPoint=new ma(Rt.clientX,Rt.clientY),this._startPos=Bc(this._element),this._parentScale=E1(ge);var tr=ct.type==="mousedown";Ou(document,tr?"mousemove":"touchmove",this._onMove,this),Ou(document,tr?"mouseup":"touchend touchcancel",this._onUp,this)}}},_onMove:function(ct){if(this._enabled){if(ct.touches&&ct.touches.length>1){this._moved=!0;return}var Rt=ct.touches&&ct.touches.length===1?ct.touches[0]:ct,ge=new ma(Rt.clientX,Rt.clientY)._subtract(this._startPoint);!ge.x&&!ge.y||Math.abs(ge.x)+Math.abs(ge.y)An&&(Zi=Ua,An=Qa);An>ge&&(Rt[Zi]=1,Tg(ct,Rt,ge,tr,Zi),Tg(ct,Rt,ge,Zi,zr))}function Tw(ct,Rt){for(var ge=[ct[0]],tr=1,zr=0,An=ct.length;trRt&&(ge.push(ct[tr]),zr=tr);return zrRt.max.x&&(ge|=2),ct.yRt.max.y&&(ge|=8),ge}function k6(ct,Rt){var ge=Rt.x-ct.x,tr=Rt.y-ct.y;return ge*ge+tr*tr}function gv(ct,Rt,ge,tr){var zr=Rt.x,An=Rt.y,Zi=ge.x-zr,Ua=ge.y-An,Qa=Zi*Zi+Ua*Ua,_o;return Qa>0&&(_o=((ct.x-zr)*Zi+(ct.y-An)*Ua)/Qa,_o>1?(zr=ge.x,An=ge.y):_o>0&&(zr+=Zi*_o,An+=Ua*_o)),Zi=ct.x-zr,Ua=ct.y-An,tr?Zi*Zi+Ua*Ua:new ma(zr,An)}function g0(ct){return!un(ct[0])||typeof ct[0][0]!="object"&&typeof ct[0][0]<"u"}function Aw(ct){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),g0(ct)}function Mw(ct,Rt){var ge,tr,zr,An,Zi,Ua,Qa,_o;if(!ct||ct.length===0)throw new Error("latlngs not passed");g0(ct)||(console.warn("latlngs are not flat! Only the first ring will be used"),ct=ct[0]);var Hs=Ca([0,0]),_l=Fo(ct),Bu=_l.getNorthWest().distanceTo(_l.getSouthWest())*_l.getNorthEast().distanceTo(_l.getNorthWest());Bu<1700&&(Hs=Hy(ct));var Md=ct.length,Nf=[];for(ge=0;getr){Qa=(An-tr)/zr,_o=[Ua.x-Qa*(Ua.x-Zi.x),Ua.y-Qa*(Ua.y-Zi.y)];break}var kp=Rt.unproject(Ya(_o));return Ca([kp.lat+Hs.lat,kp.lng+Hs.lng])}var tf={__proto__:null,simplify:B_,pointToSegmentDistance:kw,closestPointOnSegment:kg,clipSegment:N_,_getEdgeIntersection:Ag,_getBitCode:Mg,_sqClosestPointOnSegment:gv,isFlat:g0,_flat:Aw,polylineCenter:Mw},v0={project:function(ct){return new ma(ct.lng,ct.lat)},unproject:function(ct){return new $a(ct.y,ct.x)},bounds:new ao([-180,-90],[180,90])},vv={R:6378137,R_MINOR:6356752314245179e-9,bounds:new ao([-2003750834279e-5,-1549657073972e-5],[2003750834279e-5,1876465623138e-5]),project:function(ct){var Rt=Math.PI/180,ge=this.R,tr=ct.lat*Rt,zr=this.R_MINOR/ge,An=Math.sqrt(1-zr*zr),Zi=An*Math.sin(tr),Ua=Math.tan(Math.PI/4-tr/2)/Math.pow((1-Zi)/(1+Zi),An/2);return tr=-ge*Math.log(Math.max(Ua,1e-10)),new ma(ct.lng*Rt*ge,tr)},unproject:function(ct){for(var Rt=180/Math.PI,ge=this.R,tr=this.R_MINOR/ge,zr=Math.sqrt(1-tr*tr),An=Math.exp(-ct.y/ge),Zi=Math.PI/2-2*Math.atan(An),Ua=0,Qa=.1,_o;Ua<15&&Math.abs(Qa)>1e-7;Ua++)_o=zr*Math.sin(Zi),_o=Math.pow((1-_o)/(1+_o),zr/2),Qa=Math.PI/2-2*Math.atan(An*_o)-Zi,Zi+=Qa;return new $a(Zi*Rt,ct.x*Rt/ge)}},j_={__proto__:null,LonLat:v0,Mercator:vv,SphericalMercator:Jo},U_=K({},oo,{code:"EPSG:3395",projection:vv,transformation:function(){var ct=.5/(Math.PI*vv.R);return di(ct,.5,-ct,.5)}()}),Wy=K({},oo,{code:"EPSG:4326",projection:v0,transformation:di(1/180,1,-1/180,.5)}),Sg=K({},ha,{projection:v0,transformation:di(1,0,-1,0),scale:function(ct){return Math.pow(2,ct)},zoom:function(ct){return Math.log(ct)/Math.LN2},distance:function(ct,Rt){var ge=Rt.lng-ct.lng,tr=Rt.lat-ct.lat;return Math.sqrt(ge*ge+tr*tr)},infinite:!0});ha.Earth=oo,ha.EPSG3395=U_,ha.EPSG3857=Ai,ha.EPSG900913=hi,ha.EPSG4326=Wy,ha.Simple=Sg;var a0=fi.extend({options:{pane:"overlayPane",attribution:null,bubblingMouseEvents:!0},addTo:function(ct){return ct.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(ct){return ct&&ct.removeLayer(this),this},getPane:function(ct){return this._map.getPane(ct?this.options[ct]||ct:this.options.pane)},addInteractiveTarget:function(ct){return this._map._targets[jt(ct)]=this,this},removeInteractiveTarget:function(ct){return delete this._map._targets[jt(ct)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(ct){var Rt=ct.target;if(Rt.hasLayer(this)){if(this._map=Rt,this._zoomAnimated=Rt._zoomAnimated,this.getEvents){var ge=this.getEvents();Rt.on(ge,this),this.once("remove",function(){Rt.off(ge,this)},this)}this.onAdd(Rt),this.fire("add"),Rt.fire("layeradd",{layer:this})}}});Ac.include({addLayer:function(ct){if(!ct._layerAdd)throw new Error("The provided object is not a Layer.");var Rt=jt(ct);return this._layers[Rt]?this:(this._layers[Rt]=ct,ct._mapToAdd=this,ct.beforeAdd&&ct.beforeAdd(this),this.whenReady(ct._layerAdd,ct),this)},removeLayer:function(ct){var Rt=jt(ct);return this._layers[Rt]?(this._loaded&&ct.onRemove(this),delete this._layers[Rt],this._loaded&&(this.fire("layerremove",{layer:ct}),ct.fire("remove")),ct._map=ct._mapToAdd=null,this):this},hasLayer:function(ct){return jt(ct)in this._layers},eachLayer:function(ct,Rt){for(var ge in this._layers)ct.call(Rt,this._layers[ge]);return this},_addLayers:function(ct){ct=ct?un(ct)?ct:[ct]:[];for(var Rt=0,ge=ct.length;Rtthis._layersMaxZoom&&this.setZoom(this._layersMaxZoom),this.options.minZoom===void 0&&this._layersMinZoom&&this.getZoom()=2&&Rt[0]instanceof $a&&Rt[0].equals(Rt[ge-1])&&Rt.pop(),Rt},_setLatLngs:function(ct){y0.prototype._setLatLngs.call(this,ct),g0(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return g0(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var ct=this._renderer._bounds,Rt=this.options.weight,ge=new ma(Rt,Rt);if(ct=new ao(ct.min.subtract(ge),ct.max.add(ge)),this._parts=[],!(!this._pxBounds||!this._pxBounds.intersects(ct))){if(this.options.noClip){this._parts=this._rings;return}for(var tr=0,zr=this._rings.length,An;trct.y!=zr.y>ct.y&&ct.x<(zr.x-tr.x)*(ct.y-tr.y)/(zr.y-tr.y)+tr.x&&(Rt=!Rt);return Rt||y0.prototype._containsPoint.call(this,ct,!0)}});function A6(ct,Rt){return new _v(ct,Rt)}var pm=wp.extend({initialize:function(ct,Rt){wr(this,Rt),this._layers={},ct&&this.addData(ct)},addData:function(ct){var Rt=un(ct)?ct:ct.features,ge,tr,zr;if(Rt){for(ge=0,tr=Rt.length;ge0&&zr.push(zr[0].slice()),zr}function mm(ct,Rt){return ct.feature?K({},ct.feature,{geometry:Rt}):Xy(Rt)}function Xy(ct){return ct.type==="Feature"||ct.type==="FeatureCollection"?ct:{type:"Feature",properties:{},geometry:ct}}var $_={toGeoJSON:function(ct){return mm(this,{type:"Point",coordinates:q_(this.getLatLng(),ct)})}};L1.include($_),Zy.include($_),$y.include($_),y0.include({toGeoJSON:function(ct){var Rt=!g0(this._latlngs),ge=Ky(this._latlngs,Rt?1:0,!1,ct);return mm(this,{type:(Rt?"Multi":"")+"LineString",coordinates:ge})}}),_v.include({toGeoJSON:function(ct){var Rt=!g0(this._latlngs),ge=Rt&&!g0(this._latlngs[0]),tr=Ky(this._latlngs,ge?2:Rt?1:0,!0,ct);return Rt||(tr=[tr]),mm(this,{type:(ge?"Multi":"")+"Polygon",coordinates:tr})}}),Eg.include({toMultiPoint:function(ct){var Rt=[];return this.eachLayer(function(ge){Rt.push(ge.toGeoJSON(ct).geometry.coordinates)}),mm(this,{type:"MultiPoint",coordinates:Rt})},toGeoJSON:function(ct){var Rt=this.feature&&this.feature.geometry&&this.feature.geometry.type;if(Rt==="MultiPoint")return this.toMultiPoint(ct);var ge=Rt==="GeometryCollection",tr=[];return this.eachLayer(function(zr){if(zr.toGeoJSON){var An=zr.toGeoJSON(ct);if(ge)tr.push(An.geometry);else{var Zi=Xy(An);Zi.type==="FeatureCollection"?tr.push.apply(tr,Zi.features):tr.push(Zi)}}}),ge?mm(this,{geometries:tr,type:"GeometryCollection"}):{type:"FeatureCollection",features:tr}}});function Z_(ct,Rt){return new pm(ct,Rt)}var Jy=Z_,gm=a0.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(ct,Rt,ge){this._url=ct,this._bounds=Fo(Rt),wr(this,ge)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(Wu(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){Af(this._image),this.options.interactive&&this.removeInteractiveTarget(this._image)},setOpacity:function(ct){return this.options.opacity=ct,this._image&&this._updateOpacity(),this},setStyle:function(ct){return ct.opacity&&this.setOpacity(ct.opacity),this},bringToFront:function(){return this._map&&dv(this._image),this},bringToBack:function(){return this._map&&kn(this._image),this},setUrl:function(ct){return this._url=ct,this._image&&(this._image.src=ct),this},setBounds:function(ct){return this._bounds=Fo(ct),this._map&&this._reset(),this},getEvents:function(){var ct={zoom:this._reset,viewreset:this._reset};return this._zoomAnimated&&(ct.zoomanim=this._animateZoom),ct},setZIndex:function(ct){return this.options.zIndex=ct,this._updateZIndex(),this},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var ct=this._url.tagName==="IMG",Rt=this._image=ct?this._url:Cc("img");if(Wu(Rt,"leaflet-image-layer"),this._zoomAnimated&&Wu(Rt,"leaflet-zoom-animated"),this.options.className&&Wu(Rt,this.options.className),Rt.onselectstart=Le,Rt.onmousemove=Le,Rt.onload=_t(this.fire,this,"load"),Rt.onerror=_t(this._overlayOnError,this,"error"),(this.options.crossOrigin||this.options.crossOrigin==="")&&(Rt.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),this.options.zIndex&&this._updateZIndex(),ct){this._url=Rt.src;return}Rt.src=this._url,Rt.alt=this.options.alt},_animateZoom:function(ct){var Rt=this._map.getZoomScale(ct.zoom),ge=this._map._latLngBoundsToNewLayerBounds(this._bounds,ct.zoom,ct.center).min;gu(this._image,ge,Rt)},_reset:function(){var ct=this._image,Rt=new ao(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),ge=Rt.getSize();ic(ct,Rt.min),ct.style.width=ge.x+"px",ct.style.height=ge.y+"px"},_updateOpacity:function(){m0(this._image,this.options.opacity)},_updateZIndex:function(){this._image&&this.options.zIndex!==void 0&&this.options.zIndex!==null&&(this._image.style.zIndex=this.options.zIndex)},_overlayOnError:function(){this.fire("error");var ct=this.options.errorOverlayUrl;ct&&this._url!==ct&&(this._url=ct,this._image.src=ct)},getCenter:function(){return this._bounds.getCenter()}}),vm=function(ct,Rt,ge){return new gm(ct,Rt,ge)},z0=gm.extend({options:{autoplay:!0,loop:!0,keepAspectRatio:!0,muted:!1,playsInline:!0},_initImage:function(){var ct=this._url.tagName==="VIDEO",Rt=this._image=ct?this._url:Cc("video");if(Wu(Rt,"leaflet-image-layer"),this._zoomAnimated&&Wu(Rt,"leaflet-zoom-animated"),this.options.className&&Wu(Rt,this.options.className),Rt.onselectstart=Le,Rt.onmousemove=Le,Rt.onloadeddata=_t(this.fire,this,"load"),ct){for(var ge=Rt.getElementsByTagName("source"),tr=[],zr=0;zr0?tr:[Rt.src];return}un(this._url)||(this._url=[this._url]),!this.options.keepAspectRatio&&Object.prototype.hasOwnProperty.call(Rt.style,"objectFit")&&(Rt.style.objectFit="fill"),Rt.autoplay=!!this.options.autoplay,Rt.loop=!!this.options.loop,Rt.muted=!!this.options.muted,Rt.playsInline=!!this.options.playsInline;for(var An=0;An×',Ou(tr,"click",function(zr){mc(zr),this.close()},this)}},_updateLayout:function(){var ct=this._contentNode,Rt=ct.style;Rt.width="",Rt.whiteSpace="nowrap";var ge=ct.offsetWidth;ge=Math.min(ge,this.options.maxWidth),ge=Math.max(ge,this.options.minWidth),Rt.width=ge+1+"px",Rt.whiteSpace="",Rt.height="";var tr=ct.offsetHeight,zr=this.options.maxHeight,An="leaflet-popup-scrolled";zr&&tr>zr?(Rt.height=zr+"px",Wu(ct,An)):Rf(ct,An),this._containerWidth=this._container.offsetWidth},_animateZoom:function(ct){var Rt=this._map._latLngToNewLayerPoint(this._latlng,ct.zoom,ct.center),ge=this._getAnchor();ic(this._container,Rt.add(ge))},_adjustPan:function(){if(this.options.autoPan){if(this._map._panAnim&&this._map._panAnim.stop(),this._autopanning){this._autopanning=!1;return}var ct=this._map,Rt=parseInt(M1(this._container,"marginBottom"),10)||0,ge=this._container.offsetHeight+Rt,tr=this._containerWidth,zr=new ma(this._containerLeft,-ge-this._containerBottom);zr._add(Bc(this._container));var An=ct.layerPointToContainerPoint(zr),Zi=Ya(this.options.autoPanPadding),Ua=Ya(this.options.autoPanPaddingTopLeft||Zi),Qa=Ya(this.options.autoPanPaddingBottomRight||Zi),_o=ct.getSize(),Hs=0,_l=0;An.x+tr+Qa.x>_o.x&&(Hs=An.x+tr-_o.x+Qa.x),An.x-Hs-Ua.x<0&&(Hs=An.x-Ua.x),An.y+ge+Qa.y>_o.y&&(_l=An.y+ge-_o.y+Qa.y),An.y-_l-Ua.y<0&&(_l=An.y-Ua.y),(Hs||_l)&&(this.options.keepInView&&(this._autopanning=!0),ct.fire("autopanstart").panBy([Hs,_l]))}},_getAnchor:function(){return Ya(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}}),vf=function(ct,Rt){return new Cg(ct,Rt)};Ac.mergeOptions({closePopupOnClick:!0}),Ac.include({openPopup:function(ct,Rt,ge){return this._initOverlay(Cg,ct,Rt,ge).openOn(this),this},closePopup:function(ct){return ct=arguments.length?ct:this._popup,ct&&ct.close(),this}}),a0.include({bindPopup:function(ct,Rt){return this._popup=this._initOverlay(Cg,this._popup,ct,Rt),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(ct){return this._popup&&(this instanceof wp||(this._popup._source=this),this._popup._prepareOpen(ct||this._latlng)&&this._popup.openOn(this._map)),this},closePopup:function(){return this._popup&&this._popup.close(),this},togglePopup:function(){return this._popup&&this._popup.toggle(this),this},isPopupOpen:function(){return this._popup?this._popup.isOpen():!1},setPopupContent:function(ct){return this._popup&&this._popup.setContent(ct),this},getPopup:function(){return this._popup},_openPopup:function(ct){if(!(!this._popup||!this._map)){bg(ct);var Rt=ct.layer||ct.target;if(this._popup._source===Rt&&!(Rt instanceof Hm)){this._map.hasLayer(this._popup)?this.closePopup():this.openPopup(ct.latlng);return}this._popup._source=Rt,this.openPopup(ct.latlng)}},_movePopup:function(ct){this._popup.setLatLng(ct.latlng)},_onKeyPress:function(ct){ct.originalEvent.keyCode===13&&this._openPopup(ct)}});var P1=Q0.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(ct){Q0.prototype.onAdd.call(this,ct),this.setOpacity(this.options.opacity),ct.fire("tooltipopen",{tooltip:this}),this._source&&(this.addEventParent(this._source),this._source.fire("tooltipopen",{tooltip:this},!0))},onRemove:function(ct){Q0.prototype.onRemove.call(this,ct),ct.fire("tooltipclose",{tooltip:this}),this._source&&(this.removeEventParent(this._source),this._source.fire("tooltipclose",{tooltip:this},!0))},getEvents:function(){var ct=Q0.prototype.getEvents.call(this);return this.options.permanent||(ct.preclick=this.close),ct},_initLayout:function(){var ct="leaflet-tooltip",Rt=ct+" "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=Cc("div",Rt),this._container.setAttribute("role","tooltip"),this._container.setAttribute("id","leaflet-tooltip-"+jt(this))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(ct){var Rt,ge,tr=this._map,zr=this._container,An=tr.latLngToContainerPoint(tr.getCenter()),Zi=tr.layerPointToContainerPoint(ct),Ua=this.options.direction,Qa=zr.offsetWidth,_o=zr.offsetHeight,Hs=Ya(this.options.offset),_l=this._getAnchor();Ua==="top"?(Rt=Qa/2,ge=_o):Ua==="bottom"?(Rt=Qa/2,ge=0):Ua==="center"?(Rt=Qa/2,ge=_o/2):Ua==="right"?(Rt=0,ge=_o/2):Ua==="left"?(Rt=Qa,ge=_o/2):Zi.xthis.options.maxZoom||getr?this._retainParent(zr,An,Zi,tr):!1)},_retainChildren:function(ct,Rt,ge,tr){for(var zr=2*ct;zr<2*ct+2;zr++)for(var An=2*Rt;An<2*Rt+2;An++){var Zi=new ma(zr,An);Zi.z=ge+1;var Ua=this._tileCoordsToKey(Zi),Qa=this._tiles[Ua];if(Qa&&Qa.active){Qa.retain=!0;continue}else Qa&&Qa.loaded&&(Qa.retain=!0);ge+1this.options.maxZoom||this.options.minZoom!==void 0&&zr1){this._setView(ct,ge);return}for(var _l=zr.min.y;_l<=zr.max.y;_l++)for(var Bu=zr.min.x;Bu<=zr.max.x;Bu++){var Md=new ma(Bu,_l);if(Md.z=this._tileZoom,!!this._isValidTile(Md)){var Nf=this._tiles[this._tileCoordsToKey(Md)];Nf?Nf.current=!0:Zi.push(Md)}}if(Zi.sort(function(kp,qm){return kp.distanceTo(An)-qm.distanceTo(An)}),Zi.length!==0){this._loading||(this._loading=!0,this.fire("loading"));var _0=document.createDocumentFragment();for(Bu=0;Buge.max.x)||!Rt.wrapLat&&(ct.yge.max.y))return!1}if(!this.options.bounds)return!0;var tr=this._tileCoordsToBounds(ct);return Fo(this.options.bounds).overlaps(tr)},_keyToBounds:function(ct){return this._tileCoordsToBounds(this._keyToTileCoords(ct))},_tileCoordsToNwSe:function(ct){var Rt=this._map,ge=this.getTileSize(),tr=ct.scaleBy(ge),zr=tr.add(ge),An=Rt.unproject(tr,ct.z),Zi=Rt.unproject(zr,ct.z);return[An,Zi]},_tileCoordsToBounds:function(ct){var Rt=this._tileCoordsToNwSe(ct),ge=new Ks(Rt[0],Rt[1]);return this.options.noWrap||(ge=this._map.wrapLatLngBounds(ge)),ge},_tileCoordsToKey:function(ct){return ct.x+":"+ct.y+":"+ct.z},_keyToTileCoords:function(ct){var Rt=ct.split(":"),ge=new ma(+Rt[0],+Rt[1]);return ge.z=+Rt[2],ge},_removeTile:function(ct){var Rt=this._tiles[ct];Rt&&(Af(Rt.el),delete this._tiles[ct],this.fire("tileunload",{tile:Rt.el,coords:this._keyToTileCoords(ct)}))},_initTile:function(ct){Wu(ct,"leaflet-tile");var Rt=this.getTileSize();ct.style.width=Rt.x+"px",ct.style.height=Rt.y+"px",ct.onselectstart=Le,ct.onmousemove=Le,Ll.ielt9&&this.options.opacity<1&&m0(ct,this.options.opacity)},_addTile:function(ct,Rt){var ge=this._getTilePos(ct),tr=this._tileCoordsToKey(ct),zr=this.createTile(this._wrapCoords(ct),_t(this._tileReady,this,ct));this._initTile(zr),this.createTile.length<2&&Nn(_t(this._tileReady,this,ct,null,zr)),ic(zr,ge),this._tiles[tr]={el:zr,coords:ct,current:!0},Rt.appendChild(zr),this.fire("tileloadstart",{tile:zr,coords:ct})},_tileReady:function(ct,Rt,ge){Rt&&this.fire("tileerror",{error:Rt,tile:ge,coords:ct});var tr=this._tileCoordsToKey(ct);ge=this._tiles[tr],ge&&(ge.loaded=+new Date,this._map._fadeAnimated?(m0(ge.el,0),si(this._fadeFrame),this._fadeFrame=Nn(this._updateOpacity,this)):(ge.active=!0,this._pruneTiles()),Rt||(Wu(ge.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:ge.el,coords:ct})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),Ll.ielt9||!this._map._fadeAnimated?Nn(this._pruneTiles,this):setTimeout(_t(this._pruneTiles,this),250)))},_getTilePos:function(ct){return ct.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(ct){var Rt=new ma(this._wrapX?le(ct.x,this._wrapX):ct.x,this._wrapY?le(ct.y,this._wrapY):ct.y);return Rt.z=ct.z,Rt},_pxBoundsToTileRange:function(ct){var Rt=this.getTileSize();return new ao(ct.min.unscaleBy(Rt).floor(),ct.max.unscaleBy(Rt).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var ct in this._tiles)if(!this._tiles[ct].loaded)return!1;return!0}});function Y_(ct){return new I1(ct)}var o0=I1.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1,referrerPolicy:!1},initialize:function(ct,Rt){this._url=ct,Rt=wr(this,Rt),Rt.detectRetina&&Ll.retina&&Rt.maxZoom>0?(Rt.tileSize=Math.floor(Rt.tileSize/2),Rt.zoomReverse?(Rt.zoomOffset--,Rt.minZoom=Math.min(Rt.maxZoom,Rt.minZoom+1)):(Rt.zoomOffset++,Rt.maxZoom=Math.max(Rt.minZoom,Rt.maxZoom-1)),Rt.minZoom=Math.max(0,Rt.minZoom)):Rt.zoomReverse?Rt.minZoom=Math.min(Rt.maxZoom,Rt.minZoom):Rt.maxZoom=Math.max(Rt.minZoom,Rt.maxZoom),typeof Rt.subdomains=="string"&&(Rt.subdomains=Rt.subdomains.split("")),this.on("tileunload",this._onTileRemove)},setUrl:function(ct,Rt){return this._url===ct&&Rt===void 0&&(Rt=!0),this._url=ct,Rt||this.redraw(),this},createTile:function(ct,Rt){var ge=document.createElement("img");return Ou(ge,"load",_t(this._tileOnLoad,this,Rt,ge)),Ou(ge,"error",_t(this._tileOnError,this,Rt,ge)),(this.options.crossOrigin||this.options.crossOrigin==="")&&(ge.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),typeof this.options.referrerPolicy=="string"&&(ge.referrerPolicy=this.options.referrerPolicy),ge.alt="",ge.src=this.getTileUrl(ct),ge},getTileUrl:function(ct){var Rt={r:Ll.retina?"@2x":"",s:this._getSubdomain(ct),x:ct.x,y:ct.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var ge=this._globalTileRange.max.y-ct.y;this.options.tms&&(Rt.y=ge),Rt["-y"]=ge}return Dt(this._url,K(Rt,this.options))},_tileOnLoad:function(ct,Rt){Ll.ielt9?setTimeout(_t(ct,this,null,Rt),0):ct(null,Rt)},_tileOnError:function(ct,Rt,ge){var tr=this.options.errorTileUrl;tr&&Rt.getAttribute("src")!==tr&&(Rt.src=tr),ct(ge,Rt)},_onTileRemove:function(ct){ct.tile.onload=null},_getZoomForUrl:function(){var ct=this._tileZoom,Rt=this.options.maxZoom,ge=this.options.zoomReverse,tr=this.options.zoomOffset;return ge&&(ct=Rt-ct),ct+tr},_getSubdomain:function(ct){var Rt=Math.abs(ct.x+ct.y)%this.options.subdomains.length;return this.options.subdomains[Rt]},_abortLoading:function(){var ct,Rt;for(ct in this._tiles)if(this._tiles[ct].coords.z!==this._tileZoom&&(Rt=this._tiles[ct].el,Rt.onload=Le,Rt.onerror=Le,!Rt.complete)){Rt.src=Dn;var ge=this._tiles[ct].coords;Af(Rt),delete this._tiles[ct],this.fire("tileabort",{tile:Rt,coords:ge})}},_removeTile:function(ct){var Rt=this._tiles[ct];if(Rt)return Rt.el.setAttribute("src",Dn),I1.prototype._removeTile.call(this,ct)},_tileReady:function(ct,Rt,ge){if(!(!this._map||ge&&ge.getAttribute("src")===Dn))return I1.prototype._tileReady.call(this,ct,Rt,ge)}});function Qy(ct,Rt){return new o0(ct,Rt)}var tx=o0.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(ct,Rt){this._url=ct;var ge=K({},this.defaultWmsParams);for(var tr in Rt)tr in this.options||(ge[tr]=Rt[tr]);Rt=wr(this,Rt);var zr=Rt.detectRetina&&Ll.retina?2:1,An=this.getTileSize();ge.width=An.x*zr,ge.height=An.y*zr,this.wmsParams=ge},onAdd:function(ct){this._crs=this.options.crs||ct.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var Rt=this._wmsVersion>=1.3?"crs":"srs";this.wmsParams[Rt]=this._crs.code,o0.prototype.onAdd.call(this,ct)},getTileUrl:function(ct){var Rt=this._tileCoordsToNwSe(ct),ge=this._crs,tr=Wa(ge.project(Rt[0]),ge.project(Rt[1])),zr=tr.min,An=tr.max,Zi=(this._wmsVersion>=1.3&&this._crs===Wy?[zr.y,zr.x,An.y,An.x]:[zr.x,zr.y,An.x,An.y]).join(","),Ua=o0.prototype.getTileUrl.call(this,ct);return Ua+Vr(this.wmsParams,Ua,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+Zi},setParams:function(ct,Rt){return K(this.wmsParams,ct),Rt||this.redraw(),this}});function zw(ct,Rt){return new tx(ct,Rt)}o0.WMS=tx,Qy.wms=zw;var ym=a0.extend({options:{padding:.1},initialize:function(ct){wr(this,ct),jt(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),Wu(this._container,"leaflet-zoom-animated")),this.getPane().appendChild(this._container),this._update(),this.on("update",this._updatePaths,this)},onRemove:function(){this.off("update",this._updatePaths,this),this._destroyContainer()},getEvents:function(){var ct={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(ct.zoomanim=this._onAnimZoom),ct},_onAnimZoom:function(ct){this._updateTransform(ct.center,ct.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(ct,Rt){var ge=this._map.getZoomScale(Rt,this._zoom),tr=this._map.getSize().multiplyBy(.5+this.options.padding),zr=this._map.project(this._center,Rt),An=tr.multiplyBy(-ge).add(zr).subtract(this._map._getNewPixelOrigin(ct,Rt));Ll.any3d?gu(this._container,An,ge):ic(this._container,An)},_reset:function(){this._update(),this._updateTransform(this._center,this._zoom);for(var ct in this._layers)this._layers[ct]._reset()},_onZoomEnd:function(){for(var ct in this._layers)this._layers[ct]._project()},_updatePaths:function(){for(var ct in this._layers)this._layers[ct]._update()},_update:function(){var ct=this.options.padding,Rt=this._map.getSize(),ge=this._map.containerPointToLayerPoint(Rt.multiplyBy(-ct)).round();this._bounds=new ao(ge,ge.add(Rt.multiplyBy(1+ct*2)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),Ow=ym.extend({options:{tolerance:0},getEvents:function(){var ct=ym.prototype.getEvents.call(this);return ct.viewprereset=this._onViewPreReset,ct},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){ym.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var ct=this._container=document.createElement("canvas");Ou(ct,"mousemove",this._onMouseMove,this),Ou(ct,"click dblclick mousedown mouseup contextmenu",this._onClick,this),Ou(ct,"mouseout",this._handleMouseOut,this),ct._leaflet_disable_events=!0,this._ctx=ct.getContext("2d")},_destroyContainer:function(){si(this._redrawRequest),delete this._ctx,Af(this._container),jh(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){var ct;this._redrawBounds=null;for(var Rt in this._layers)ct=this._layers[Rt],ct._update();this._redraw()}},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){ym.prototype._update.call(this);var ct=this._bounds,Rt=this._container,ge=ct.getSize(),tr=Ll.retina?2:1;ic(Rt,ct.min),Rt.width=tr*ge.x,Rt.height=tr*ge.y,Rt.style.width=ge.x+"px",Rt.style.height=ge.y+"px",Ll.retina&&this._ctx.scale(2,2),this._ctx.translate(-ct.min.x,-ct.min.y),this.fire("update")}},_reset:function(){ym.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(ct){this._updateDashArray(ct),this._layers[jt(ct)]=ct;var Rt=ct._order={layer:ct,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=Rt),this._drawLast=Rt,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(ct){this._requestRedraw(ct)},_removePath:function(ct){var Rt=ct._order,ge=Rt.next,tr=Rt.prev;ge?ge.prev=tr:this._drawLast=tr,tr?tr.next=ge:this._drawFirst=ge,delete ct._order,delete this._layers[jt(ct)],this._requestRedraw(ct)},_updatePath:function(ct){this._extendRedrawBounds(ct),ct._project(),ct._update(),this._requestRedraw(ct)},_updateStyle:function(ct){this._updateDashArray(ct),this._requestRedraw(ct)},_updateDashArray:function(ct){if(typeof ct.options.dashArray=="string"){var Rt=ct.options.dashArray.split(/[, ]+/),ge=[],tr,zr;for(zr=0;zr')}}catch{}return function(ct){return document.createElement("<"+ct+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}(),E6={_initContainer:function(){this._container=Cc("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(ym.prototype._update.call(this),this.fire("update"))},_initPath:function(ct){var Rt=ct._container=z1("shape");Wu(Rt,"leaflet-vml-shape "+(this.options.className||"")),Rt.coordsize="1 1",ct._path=z1("path"),Rt.appendChild(ct._path),this._updateStyle(ct),this._layers[jt(ct)]=ct},_addPath:function(ct){var Rt=ct._container;this._container.appendChild(Rt),ct.options.interactive&&ct.addInteractiveTarget(Rt)},_removePath:function(ct){var Rt=ct._container;Af(Rt),ct.removeInteractiveTarget(Rt),delete this._layers[jt(ct)]},_updateStyle:function(ct){var Rt=ct._stroke,ge=ct._fill,tr=ct.options,zr=ct._container;zr.stroked=!!tr.stroke,zr.filled=!!tr.fill,tr.stroke?(Rt||(Rt=ct._stroke=z1("stroke")),zr.appendChild(Rt),Rt.weight=tr.weight+"px",Rt.color=tr.color,Rt.opacity=tr.opacity,tr.dashArray?Rt.dashStyle=un(tr.dashArray)?tr.dashArray.join(" "):tr.dashArray.replace(/( *, *)/g," "):Rt.dashStyle="",Rt.endcap=tr.lineCap.replace("butt","flat"),Rt.joinstyle=tr.lineJoin):Rt&&(zr.removeChild(Rt),ct._stroke=null),tr.fill?(ge||(ge=ct._fill=z1("fill")),zr.appendChild(ge),ge.color=tr.fillColor||tr.color,ge.opacity=tr.fillOpacity):ge&&(zr.removeChild(ge),ct._fill=null)},_updateCircle:function(ct){var Rt=ct._point.round(),ge=Math.round(ct._radius),tr=Math.round(ct._radiusY||ge);this._setPath(ct,ct._empty()?"M0 0":"AL "+Rt.x+","+Rt.y+" "+ge+","+tr+" 0,"+65535*360)},_setPath:function(ct,Rt){ct._path.v=Rt},_bringToFront:function(ct){dv(ct._container)},_bringToBack:function(ct){kn(ct._container)}},Wm=Ll.vml?z1:go,Bp=ym.extend({_initContainer:function(){this._container=Wm("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=Wm("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){Af(this._container),jh(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){ym.prototype._update.call(this);var ct=this._bounds,Rt=ct.getSize(),ge=this._container;(!this._svgSize||!this._svgSize.equals(Rt))&&(this._svgSize=Rt,ge.setAttribute("width",Rt.x),ge.setAttribute("height",Rt.y)),ic(ge,ct.min),ge.setAttribute("viewBox",[ct.min.x,ct.min.y,Rt.x,Rt.y].join(" ")),this.fire("update")}},_initPath:function(ct){var Rt=ct._path=Wm("path");ct.options.className&&Wu(Rt,ct.options.className),ct.options.interactive&&Wu(Rt,"leaflet-interactive"),this._updateStyle(ct),this._layers[jt(ct)]=ct},_addPath:function(ct){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(ct._path),ct.addInteractiveTarget(ct._path)},_removePath:function(ct){Af(ct._path),ct.removeInteractiveTarget(ct._path),delete this._layers[jt(ct)]},_updatePath:function(ct){ct._project(),ct._update()},_updateStyle:function(ct){var Rt=ct._path,ge=ct.options;Rt&&(ge.stroke?(Rt.setAttribute("stroke",ge.color),Rt.setAttribute("stroke-opacity",ge.opacity),Rt.setAttribute("stroke-width",ge.weight),Rt.setAttribute("stroke-linecap",ge.lineCap),Rt.setAttribute("stroke-linejoin",ge.lineJoin),ge.dashArray?Rt.setAttribute("stroke-dasharray",ge.dashArray):Rt.removeAttribute("stroke-dasharray"),ge.dashOffset?Rt.setAttribute("stroke-dashoffset",ge.dashOffset):Rt.removeAttribute("stroke-dashoffset")):Rt.setAttribute("stroke","none"),ge.fill?(Rt.setAttribute("fill",ge.fillColor||ge.color),Rt.setAttribute("fill-opacity",ge.fillOpacity),Rt.setAttribute("fill-rule",ge.fillRule||"evenodd")):Rt.setAttribute("fill","none"))},_updatePoly:function(ct,Rt){this._setPath(ct,Mo(ct._parts,Rt))},_updateCircle:function(ct){var Rt=ct._point,ge=Math.max(Math.round(ct._radius),1),tr=Math.max(Math.round(ct._radiusY),1)||ge,zr="a"+ge+","+tr+" 0 1,0 ",An=ct._empty()?"M0 0":"M"+(Rt.x-ge)+","+Rt.y+zr+ge*2+",0 "+zr+-ge*2+",0 ";this._setPath(ct,An)},_setPath:function(ct,Rt){ct._path.setAttribute("d",Rt)},_bringToFront:function(ct){dv(ct._path)},_bringToBack:function(ct){kn(ct._path)}});Ll.vml&&Bp.include(E6);function Dw(ct){return Ll.svg||Ll.vml?new Bp(ct):null}Ac.include({getRenderer:function(ct){var Rt=ct.options.renderer||this._getPaneRenderer(ct.options.pane)||this.options.renderer||this._renderer;return Rt||(Rt=this._renderer=this._createRenderer()),this.hasLayer(Rt)||this.addLayer(Rt),Rt},_getPaneRenderer:function(ct){if(ct==="overlayPane"||ct===void 0)return!1;var Rt=this._paneRenderers[ct];return Rt===void 0&&(Rt=this._createRenderer({pane:ct}),this._paneRenderers[ct]=Rt),Rt},_createRenderer:function(ct){return this.options.preferCanvas&&K_(ct)||Dw(ct)}});var s0=_v.extend({initialize:function(ct,Rt){_v.prototype.initialize.call(this,this._boundsToLatLngs(ct),Rt)},setBounds:function(ct){return this.setLatLngs(this._boundsToLatLngs(ct))},_boundsToLatLngs:function(ct){return ct=Fo(ct),[ct.getSouthWest(),ct.getNorthWest(),ct.getNorthEast(),ct.getSouthEast()]}});function O0(ct,Rt){return new s0(ct,Rt)}Bp.create=Wm,Bp.pointsToPath=Mo,pm.geometryToLayer=Gy,pm.coordsToLatLng=W_,pm.coordsToLatLngs=Yy,pm.latLngToCoords=q_,pm.latLngsToCoords=Ky,pm.getFeature=mm,pm.asFeature=Xy,Ac.mergeOptions({boxZoom:!0});var bv=J0.extend({initialize:function(ct){this._map=ct,this._container=ct._container,this._pane=ct._panes.overlayPane,this._resetStateTimeout=0,ct.on("unload",this._destroy,this)},addHooks:function(){Ou(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){jh(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){Af(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){this._resetStateTimeout!==0&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(ct){if(!ct.shiftKey||ct.which!==1&&ct.button!==1)return!1;this._clearDeferredResetState(),this._resetState(),L0(),Xc(),this._startPoint=this._map.mouseEventToContainerPoint(ct),Ou(document,{contextmenu:bg,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(ct){this._moved||(this._moved=!0,this._box=Cc("div","leaflet-zoom-box",this._container),Wu(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(ct);var Rt=new ao(this._point,this._startPoint),ge=Rt.getSize();ic(this._box,Rt.min),this._box.style.width=ge.x+"px",this._box.style.height=ge.y+"px"},_finish:function(){this._moved&&(Af(this._box),Rf(this._container,"leaflet-crosshair")),yg(),Dp(),jh(document,{contextmenu:bg,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(ct){if(!(ct.which!==1&&ct.button!==1)&&(this._finish(),!!this._moved)){this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(_t(this._resetState,this),0);var Rt=new Ks(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(Rt).fire("boxzoomend",{boxZoomBounds:Rt})}},_onKeyDown:function(ct){ct.keyCode===27&&(this._finish(),this._clearDeferredResetState(),this._resetState())}});Ac.addInitHook("addHandler","boxZoom",bv),Ac.mergeOptions({doubleClickZoom:!0});var x0=J0.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(ct){var Rt=this._map,ge=Rt.getZoom(),tr=Rt.options.zoomDelta,zr=ct.originalEvent.shiftKey?ge-tr:ge+tr;Rt.options.doubleClickZoom==="center"?Rt.setZoom(zr):Rt.setZoomAround(ct.containerPoint,zr)}});Ac.addInitHook("addHandler","doubleClickZoom",x0),Ac.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var D0=J0.extend({addHooks:function(){if(!this._draggable){var ct=this._map;this._draggable=new Um(ct._mapPane,ct._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),ct.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),ct.on("zoomend",this._onZoomEnd,this),ct.whenReady(this._onZoomEnd,this))}Wu(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){Rf(this._map._container,"leaflet-grab"),Rf(this._map._container,"leaflet-touch-drag"),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var ct=this._map;if(ct._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity){var Rt=Fo(this._map.options.maxBounds);this._offsetLimit=Wa(this._map.latLngToContainerPoint(Rt.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(Rt.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))}else this._offsetLimit=null;ct.fire("movestart").fire("dragstart"),ct.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(ct){if(this._map.options.inertia){var Rt=this._lastTime=+new Date,ge=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(ge),this._times.push(Rt),this._prunePositions(Rt)}this._map.fire("move",ct).fire("drag",ct)},_prunePositions:function(ct){for(;this._positions.length>1&&ct-this._times[0]>50;)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var ct=this._map.getSize().divideBy(2),Rt=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=Rt.subtract(ct).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(ct,Rt){return ct-(ct-Rt)*this._viscosity},_onPreDragLimit:function(){if(!(!this._viscosity||!this._offsetLimit)){var ct=this._draggable._newPos.subtract(this._draggable._startPos),Rt=this._offsetLimit;ct.xRt.max.x&&(ct.x=this._viscousLimit(ct.x,Rt.max.x)),ct.y>Rt.max.y&&(ct.y=this._viscousLimit(ct.y,Rt.max.y)),this._draggable._newPos=this._draggable._startPos.add(ct)}},_onPreDragWrap:function(){var ct=this._worldWidth,Rt=Math.round(ct/2),ge=this._initialWorldOffset,tr=this._draggable._newPos.x,zr=(tr-Rt+ge)%ct+Rt-ge,An=(tr+Rt+ge)%ct-Rt-ge,Zi=Math.abs(zr+ge)0?An:-An))-Rt;this._delta=0,this._startTime=null,Zi&&(ct.options.scrollWheelZoom==="center"?ct.setZoom(Rt+Zi):ct.setZoomAround(this._lastMousePos,Rt+Zi))}});Ac.addInitHook("addHandler","scrollWheelZoom",Lg);var Bw=600;Ac.mergeOptions({tapHold:Ll.touchNative&&Ll.safari&&Ll.mobile,tapTolerance:15});var Rw=J0.extend({addHooks:function(){Ou(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){jh(this._map._container,"touchstart",this._onDown,this)},_onDown:function(ct){if(clearTimeout(this._holdTimeout),ct.touches.length===1){var Rt=ct.touches[0];this._startPos=this._newPos=new ma(Rt.clientX,Rt.clientY),this._holdTimeout=setTimeout(_t(function(){this._cancel(),this._isTapValid()&&(Ou(document,"touchend",mc),Ou(document,"touchend touchcancel",this._cancelClickPrevent),this._simulateEvent("contextmenu",Rt))},this),Bw),Ou(document,"touchend touchcancel contextmenu",this._cancel,this),Ou(document,"touchmove",this._onMove,this)}},_cancelClickPrevent:function ct(){jh(document,"touchend",mc),jh(document,"touchend touchcancel",ct)},_cancel:function(){clearTimeout(this._holdTimeout),jh(document,"touchend touchcancel contextmenu",this._cancel,this),jh(document,"touchmove",this._onMove,this)},_onMove:function(ct){var Rt=ct.touches[0];this._newPos=new ma(Rt.clientX,Rt.clientY)},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_simulateEvent:function(ct,Rt){var ge=new MouseEvent(ct,{bubbles:!0,cancelable:!0,view:window,screenX:Rt.screenX,screenY:Rt.screenY,clientX:Rt.clientX,clientY:Rt.clientY});ge._simulated=!0,Rt.target.dispatchEvent(ge)}});Ac.addInitHook("addHandler","tapHold",Rw),Ac.mergeOptions({touchZoom:Ll.touch,bounceAtZoomLimits:!0});var F0=J0.extend({addHooks:function(){Wu(this._map._container,"leaflet-touch-zoom"),Ou(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){Rf(this._map._container,"leaflet-touch-zoom"),jh(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(ct){var Rt=this._map;if(!(!ct.touches||ct.touches.length!==2||Rt._animatingZoom||this._zooming)){var ge=Rt.mouseEventToContainerPoint(ct.touches[0]),tr=Rt.mouseEventToContainerPoint(ct.touches[1]);this._centerPoint=Rt.getSize()._divideBy(2),this._startLatLng=Rt.containerPointToLatLng(this._centerPoint),Rt.options.touchZoom!=="center"&&(this._pinchStartLatLng=Rt.containerPointToLatLng(ge.add(tr)._divideBy(2))),this._startDist=ge.distanceTo(tr),this._startZoom=Rt.getZoom(),this._moved=!1,this._zooming=!0,Rt._stop(),Ou(document,"touchmove",this._onTouchMove,this),Ou(document,"touchend touchcancel",this._onTouchEnd,this),mc(ct)}},_onTouchMove:function(ct){if(!(!ct.touches||ct.touches.length!==2||!this._zooming)){var Rt=this._map,ge=Rt.mouseEventToContainerPoint(ct.touches[0]),tr=Rt.mouseEventToContainerPoint(ct.touches[1]),zr=ge.distanceTo(tr)/this._startDist;if(this._zoom=Rt.getScaleZoom(zr,this._startZoom),!Rt.options.bounceAtZoomLimits&&(this._zoomRt.getMaxZoom()&&zr>1)&&(this._zoom=Rt._limitZoom(this._zoom)),Rt.options.touchZoom==="center"){if(this._center=this._startLatLng,zr===1)return}else{var An=ge._add(tr)._divideBy(2)._subtract(this._centerPoint);if(zr===1&&An.x===0&&An.y===0)return;this._center=Rt.unproject(Rt.project(this._pinchStartLatLng,this._zoom).subtract(An),this._zoom)}this._moved||(Rt._moveStart(!0,!1),this._moved=!0),si(this._animRequest);var Zi=_t(Rt._move,Rt,this._center,this._zoom,{pinch:!0,round:!1},void 0);this._animRequest=Nn(Zi,this,!0),mc(ct)}},_onTouchEnd:function(){if(!this._moved||!this._zooming){this._zooming=!1;return}this._zooming=!1,si(this._animRequest),jh(document,"touchmove",this._onTouchMove,this),jh(document,"touchend touchcancel",this._onTouchEnd,this),this._map.options.zoomAnimation?this._map._animateZoom(this._center,this._map._limitZoom(this._zoom),!0,this._map.options.zoomSnap):this._map._resetView(this._center,this._map._limitZoom(this._zoom))}});Ac.addInitHook("addHandler","touchZoom",F0),Ac.BoxZoom=bv,Ac.DoubleClickZoom=x0,Ac.Drag=D0,Ac.Keyboard=Fw,Ac.ScrollWheelZoom=Lg,Ac.TapHold=Rw,Ac.TouchZoom=F0,E.Bounds=ao,E.Browser=Ll,E.CRS=ha,E.Canvas=Ow,E.Circle=Zy,E.CircleMarker=$y,E.Class=Vn,E.Control=up,E.DivIcon=Iw,E.DivOverlay=Q0,E.DomEvent=Fp,E.DomUtil=kc,E.Draggable=Um,E.Evented=fi,E.FeatureGroup=wp,E.GeoJSON=pm,E.GridLayer=I1,E.Handler=J0,E.Icon=Vm,E.ImageOverlay=gm,E.LatLng=$a,E.LatLngBounds=Ks,E.Layer=a0,E.LayerGroup=Eg,E.LineUtil=tf,E.Map=Ac,E.Marker=L1,E.Mixin=cp,E.Path=Hm,E.Point=ma,E.PolyUtil=b6,E.Polygon=_v,E.Polyline=y0,E.Popup=Cg,E.PosAnimation=C1,E.Projection=j_,E.Rectangle=s0,E.Renderer=ym,E.SVG=Bp,E.SVGOverlay=G_,E.TileLayer=o0,E.Tooltip=P1,E.Transformation=zo,E.Util=Hn,E.VideoOverlay=z0,E.bind=_t,E.bounds=Wa,E.canvas=K_,E.circle=xv,E.circleMarker=Ew,E.control=i0,E.divIcon=S6,E.extend=K,E.featureGroup=Sw,E.geoJSON=Z_,E.geoJson=Jy,E.gridLayer=Y_,E.icon=V_,E.imageOverlay=vm,E.latLng=Ca,E.latLngBounds=Fo,E.layerGroup=qy,E.map=Us,E.marker=T6,E.point=Ya,E.polygon=A6,E.polyline=Cw,E.popup=vf,E.rectangle=O0,E.setOptions=wr,E.stamp=jt,E.svg=Dw,E.svgOverlay=M6,E.tileLayer=Qy,E.tooltip=Pw,E.transformation=di,E.version=R,E.videoOverlay=ef;var B0=window.L;E.noConflict=function(){return window.L=B0,this},window.L=E})}(v2,v2.exports)),v2.exports}var wst=bst();const Mm=eD(wst),rP=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],R8=1,o2=8;class mM{static from(s){if(!(s instanceof ArrayBuffer))throw new Error("Data must be an instance of ArrayBuffer.");const[E,R]=new Uint8Array(s,0,2);if(E!==219)throw new Error("Data does not appear to be in a KDBush format.");const K=R>>4;if(K!==R8)throw new Error(`Got v${K} data when expected v${R8}.`);const dt=rP[R&15];if(!dt)throw new Error("Unrecognized array type.");const[_t]=new Uint16Array(s,2,1),[It]=new Uint32Array(s,4,1);return new mM(It,_t,dt,s)}constructor(s,E=64,R=Float64Array,K){if(isNaN(s)||s<0)throw new Error(`Unpexpected numItems value: ${s}.`);this.numItems=+s,this.nodeSize=Math.min(Math.max(+E,2),65535),this.ArrayType=R,this.IndexArrayType=s<65536?Uint16Array:Uint32Array;const dt=rP.indexOf(this.ArrayType),_t=s*2*this.ArrayType.BYTES_PER_ELEMENT,It=s*this.IndexArrayType.BYTES_PER_ELEMENT,jt=(8-It%8)%8;if(dt<0)throw new Error(`Unexpected typed array class: ${R}.`);K&&K instanceof ArrayBuffer?(this.data=K,this.ids=new this.IndexArrayType(this.data,o2,s),this.coords=new this.ArrayType(this.data,o2+It+jt,s*2),this._pos=s*2,this._finished=!0):(this.data=new ArrayBuffer(o2+_t+It+jt),this.ids=new this.IndexArrayType(this.data,o2,s),this.coords=new this.ArrayType(this.data,o2+It+jt,s*2),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,(R8<<4)+dt]),new Uint16Array(this.data,2,1)[0]=E,new Uint32Array(this.data,4,1)[0]=s)}add(s,E){const R=this._pos>>1;return this.ids[R]=R,this.coords[this._pos++]=s,this.coords[this._pos++]=E,R}finish(){const s=this._pos>>1;if(s!==this.numItems)throw new Error(`Added ${s} items when expected ${this.numItems}.`);return EA(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(s,E,R,K){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:dt,coords:_t,nodeSize:It}=this,jt=[0,dt.length-1,0],te=[];for(;jt.length;){const le=jt.pop()||0,Le=jt.pop()||0,Je=jt.pop()||0;if(Le-Je<=It){for(let Vr=Je;Vr<=Le;Vr++){const fn=_t[2*Vr],Dt=_t[2*Vr+1];fn>=s&&fn<=R&&Dt>=E&&Dt<=K&&te.push(dt[Vr])}continue}const fr=Je+Le>>1,Tr=_t[2*fr],wr=_t[2*fr+1];Tr>=s&&Tr<=R&&wr>=E&&wr<=K&&te.push(dt[fr]),(le===0?s<=Tr:E<=wr)&&(jt.push(Je),jt.push(fr-1),jt.push(1-le)),(le===0?R>=Tr:K>=wr)&&(jt.push(fr+1),jt.push(Le),jt.push(1-le))}return te}within(s,E,R){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:K,coords:dt,nodeSize:_t}=this,It=[0,K.length-1,0],jt=[],te=R*R;for(;It.length;){const le=It.pop()||0,Le=It.pop()||0,Je=It.pop()||0;if(Le-Je<=_t){for(let Vr=Je;Vr<=Le;Vr++)nP(dt[2*Vr],dt[2*Vr+1],s,E)<=te&&jt.push(K[Vr]);continue}const fr=Je+Le>>1,Tr=dt[2*fr],wr=dt[2*fr+1];nP(Tr,wr,s,E)<=te&&jt.push(K[fr]),(le===0?s-R<=Tr:E-R<=wr)&&(It.push(Je),It.push(fr-1),It.push(1-le)),(le===0?s+R>=Tr:E+R>=wr)&&(It.push(fr+1),It.push(Le),It.push(1-le))}return jt}}function EA(d,s,E,R,K,dt){if(K-R<=E)return;const _t=R+K>>1;rD(d,s,_t,R,K,dt),EA(d,s,E,R,_t-1,1-dt),EA(d,s,E,_t+1,K,1-dt)}function rD(d,s,E,R,K,dt){for(;K>R;){if(K-R>600){const te=K-R+1,le=E-R+1,Le=Math.log(te),Je=.5*Math.exp(2*Le/3),fr=.5*Math.sqrt(Le*Je*(te-Je)/te)*(le-te/2<0?-1:1),Tr=Math.max(R,Math.floor(E-le*Je/te+fr)),wr=Math.min(K,Math.floor(E+(te-le)*Je/te+fr));rD(d,s,E,Tr,wr,dt)}const _t=s[2*E+dt];let It=R,jt=K;for(s2(d,s,R,E),s[2*K+dt]>_t&&s2(d,s,R,K);It_t;)jt--}s[2*R+dt]===_t?s2(d,s,R,jt):(jt++,s2(d,s,jt,K)),jt<=E&&(R=jt+1),E<=jt&&(K=jt-1)}}function s2(d,s,E,R){N8(d,E,R),N8(s,2*E,2*R),N8(s,2*E+1,2*R+1)}function N8(d,s,E){const R=d[s];d[s]=d[E],d[E]=R}function nP(d,s,E,R){const K=d-E,dt=s-R;return K*K+dt*dt}const kst={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:d=>d},iP=Math.fround||(d=>s=>(d[0]=+s,d[0]))(new Float32Array(1)),hy=2,c1=3,j8=4,a1=5,nD=6;class Tst{constructor(s){this.options=Object.assign(Object.create(kst),s),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(s){const{log:E,minZoom:R,maxZoom:K}=this.options;E&&console.time("total time");const dt=`prepare ${s.length} points`;E&&console.time(dt),this.points=s;const _t=[];for(let jt=0;jt=R;jt--){const te=+Date.now();It=this.trees[jt]=this._createTree(this._cluster(It,jt)),E&&console.log("z%d: %d clusters in %dms",jt,It.numItems,+Date.now()-te)}return E&&console.timeEnd("total time"),this}getClusters(s,E){let R=((s[0]+180)%360+360)%360-180;const K=Math.max(-90,Math.min(90,s[1]));let dt=s[2]===180?180:((s[2]+180)%360+360)%360-180;const _t=Math.max(-90,Math.min(90,s[3]));if(s[2]-s[0]>=360)R=-180,dt=180;else if(R>dt){const Le=this.getClusters([R,K,180,_t],E),Je=this.getClusters([-180,K,dt,_t],E);return Le.concat(Je)}const It=this.trees[this._limitZoom(E)],jt=It.range(z5(R),O5(_t),z5(dt),O5(K)),te=It.data,le=[];for(const Le of jt){const Je=this.stride*Le;le.push(te[Je+a1]>1?aP(te,Je,this.clusterProps):this.points[te[Je+c1]])}return le}getChildren(s){const E=this._getOriginId(s),R=this._getOriginZoom(s),K="No cluster with the specified id.",dt=this.trees[R];if(!dt)throw new Error(K);const _t=dt.data;if(E*this.stride>=_t.length)throw new Error(K);const It=this.options.radius/(this.options.extent*Math.pow(2,R-1)),jt=_t[E*this.stride],te=_t[E*this.stride+1],le=dt.within(jt,te,It),Le=[];for(const Je of le){const fr=Je*this.stride;_t[fr+j8]===s&&Le.push(_t[fr+a1]>1?aP(_t,fr,this.clusterProps):this.points[_t[fr+c1]])}if(Le.length===0)throw new Error(K);return Le}getLeaves(s,E,R){E=E||10,R=R||0;const K=[];return this._appendLeaves(K,s,E,R,0),K}getTile(s,E,R){const K=this.trees[this._limitZoom(s)],dt=Math.pow(2,s),{extent:_t,radius:It}=this.options,jt=It/_t,te=(R-jt)/dt,le=(R+1+jt)/dt,Le={features:[]};return this._addTileFeatures(K.range((E-jt)/dt,te,(E+1+jt)/dt,le),K.data,E,R,dt,Le),E===0&&this._addTileFeatures(K.range(1-jt/dt,te,1,le),K.data,dt,R,dt,Le),E===dt-1&&this._addTileFeatures(K.range(0,te,jt/dt,le),K.data,-1,R,dt,Le),Le.features.length?Le:null}getClusterExpansionZoom(s){let E=this._getOriginZoom(s)-1;for(;E<=this.options.maxZoom;){const R=this.getChildren(s);if(E++,R.length!==1)break;s=R[0].properties.cluster_id}return E}_appendLeaves(s,E,R,K,dt){const _t=this.getChildren(E);for(const It of _t){const jt=It.properties;if(jt&&jt.cluster?dt+jt.point_count<=K?dt+=jt.point_count:dt=this._appendLeaves(s,jt.cluster_id,R,K,dt):dt1;let le,Le,Je;if(te)le=iD(E,jt,this.clusterProps),Le=E[jt],Je=E[jt+1];else{const wr=this.points[E[jt+c1]];le=wr.properties;const[Vr,fn]=wr.geometry.coordinates;Le=z5(Vr),Je=O5(fn)}const fr={type:1,geometry:[[Math.round(this.options.extent*(Le*dt-R)),Math.round(this.options.extent*(Je*dt-K))]],tags:le};let Tr;te||this.options.generateId?Tr=E[jt+c1]:Tr=this.points[E[jt+c1]].id,Tr!==void 0&&(fr.id=Tr),_t.features.push(fr)}}_limitZoom(s){return Math.max(this.options.minZoom,Math.min(Math.floor(+s),this.options.maxZoom+1))}_cluster(s,E){const{radius:R,extent:K,reduce:dt,minPoints:_t}=this.options,It=R/(K*Math.pow(2,E)),jt=s.data,te=[],le=this.stride;for(let Le=0;LeE&&(Vr+=jt[Dt+a1])}if(Vr>wr&&Vr>=_t){let fn=Je*wr,Dt=fr*wr,un,Qn=-1;const Dn=((Le/le|0)<<5)+(E+1)+this.points.length;for(const Xn of Tr){const Ni=Xn*le;if(jt[Ni+hy]<=E)continue;jt[Ni+hy]=E;const zi=jt[Ni+a1];fn+=jt[Ni]*zi,Dt+=jt[Ni+1]*zi,jt[Ni+j8]=Dn,dt&&(un||(un=this._map(jt,Le,!0),Qn=this.clusterProps.length,this.clusterProps.push(un)),dt(un,this._map(jt,Ni)))}jt[Le+j8]=Dn,te.push(fn/Vr,Dt/Vr,1/0,Dn,-1,Vr),dt&&te.push(Qn)}else{for(let fn=0;fn1)for(const fn of Tr){const Dt=fn*le;if(!(jt[Dt+hy]<=E)){jt[Dt+hy]=E;for(let un=0;un>5}_getOriginZoom(s){return(s-this.points.length)%32}_map(s,E,R){if(s[E+a1]>1){const _t=this.clusterProps[s[E+nD]];return R?Object.assign({},_t):_t}const K=this.points[s[E+c1]].properties,dt=this.options.map(K);return R&&dt===K?Object.assign({},dt):dt}}function aP(d,s,E){return{type:"Feature",id:d[s+c1],properties:iD(d,s,E),geometry:{type:"Point",coordinates:[Ast(d[s]),Mst(d[s+1])]}}}function iD(d,s,E){const R=d[s+a1],K=R>=1e4?`${Math.round(R/1e3)}k`:R>=1e3?`${Math.round(R/100)/10}k`:R,dt=d[s+nD],_t=dt===-1?{}:Object.assign({},E[dt]);return Object.assign(_t,{cluster:!0,cluster_id:d[s+c1],point_count:R,point_count_abbreviated:K})}function z5(d){return d/360+.5}function O5(d){const s=Math.sin(d*Math.PI/180),E=.5-.25*Math.log((1+s)/(1-s))/Math.PI;return E<0?0:E>1?1:E}function Ast(d){return(d-.5)*360}function Mst(d){const s=(180-d*360)*Math.PI/180;return 360*Math.atan(Math.exp(s))/Math.PI-90}const Sst={class:"map-container"},Est={key:0,class:"flex items-center justify-center h-96 bg-dark-card/30 backdrop-blur border border-white/10 rounded-[15px]"},Cst={class:"hidden sm:inline"},Lst={key:3,class:"map-legend"},Pst={class:"legend-footer"},Ist={key:4,class:"map-attribution"},zst=Ec({__name:"NetworkMap",props:{adverts:{},baseLatitude:{default:null},baseLongitude:{default:null},showLegend:{type:Boolean,default:!0}},emits:["update:showLegend"],setup(d,{expose:s,emit:E}){typeof window<"u"&&!window.chrome&&(window.chrome={runtime:{}});const R=d,K=E,dt=()=>{K("update:showLegend",!R.showLegend)},_t=ja();let It=null;const jt=ja(new Map);let te=null;const le=ja(new Map),Le=ja([]),Je=ja(!0),fr=ja(60),Tr=ja(14),wr=qo(()=>R.baseLatitude!==null&&R.baseLongitude!==null&&typeof R.baseLatitude=="number"&&typeof R.baseLongitude=="number"&&R.baseLatitude!==0&&R.baseLongitude!==0&&Math.abs(R.baseLatitude)<=90&&Math.abs(R.baseLongitude)<=180),Vr=Nn=>new Date(Nn*1e3).toLocaleString(),fn=Nn=>Nn?`${Nn} dBm`:"N/A",Dt=Nn=>Nn?`${Nn} dB`:"N/A",un=Nn=>({0:"Transport Flood",1:"Flood",2:"Direct",3:"Transport Direct"})[Nn||0]||"Unknown",Qn=(Nn,si,Hn,Vn)=>{const Ti=(Hn-Nn)*Math.PI/180,fi=(Vn-si)*Math.PI/180,ma=Math.sin(Ti/2)*Math.sin(Ti/2)+Math.cos(Nn*Math.PI/180)*Math.cos(Hn*Math.PI/180)*Math.sin(fi/2)*Math.sin(fi/2);return 6371*(2*Math.atan2(Math.sqrt(ma),Math.sqrt(1-ma)))},Dn=()=>{It&&(Le.value.forEach(Nn=>{It&&Nn.remove()}),Le.value.length=0,It.remove(),It=null),jt.value.clear(),le.value.clear(),te=null},Xn=Nn=>{const si=new Map;return Nn.filter(Hn=>Hn.latitude!==null&&Hn.longitude!==null).map(Hn=>{let Vn=Hn.latitude,sa=Hn.longitude;const Ti=`${Vn.toFixed(6)}_${sa.toFixed(6)}`,fi=si.get(Ti)||0;if(si.set(Ti,fi+1),fi>0){const ml=fi*60*(Math.PI/180);Vn+=Math.sin(ml)*.001*(fi*.5),sa+=Math.cos(ml)*.001*(fi*.5)}return{type:"Feature",properties:{advert:{...Hn,jittered_latitude:Vn,jittered_longitude:sa}},geometry:{type:"Point",coordinates:[sa,Vn]}}})},Ni=Nn=>{te=new Tst({radius:fr.value,maxZoom:Tr.value,minPoints:2}),te.load(Nn)},zi=async()=>{if(!_t.value||!wr.value){console.warn("Cannot initialize map: missing container or coordinates");return}Dn(),await S0();const Nn=R.baseLatitude,si=R.baseLongitude;try{It=Mm.map(_t.value,{center:[Nn,si],zoom:10,zoomControl:!0,scrollWheelZoom:!0,doubleClickZoom:!0,boxZoom:!0,keyboard:!0,attributionControl:!1});try{const Ya=Mm.tileLayer("https://{s}.basemaps.cartocdn.com/dark_nolabels/{z}/{x}/{y}{r}.png",{maxZoom:19,attribution:'© OpenStreetMap contributors © CARTO',errorTileUrl:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg=="}),ao=Mm.tileLayer("https://{s}.basemaps.cartocdn.com/dark_only_labels/{z}/{x}/{y}{r}.png",{maxZoom:19,attribution:"",errorTileUrl:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg=="});Ya.addTo(It),ao.addTo(It)}catch(Ya){console.warn("Error loading tiles:",Ya)}const Hn=(Ya,ao=!1)=>{const Wa=ao?16:12;return Mm.divIcon({className:"custom-div-icon",html:``,iconSize:[Wa+4,Wa+4],iconAnchor:[(Wa+4)/2,(Wa+4)/2]})},Vn=Ya=>{const ao=Ya<10?30:Ya<100?40:50;return Mm.divIcon({className:"custom-cluster-icon",html:` - ${qa} + ${Ya} - `,iconSize:[io,io],iconAnchor:[io/2,io/2]})},sa=Vn("#ef4444",!0);Mm.marker([jn,oi],{icon:sa}).addTo(zt).bindPopup(` + `,iconSize:[ao,ao],iconAnchor:[ao/2,ao/2]})},sa=Hn("#ef4444",!0);Mm.marker([Nn,si],{icon:sa}).addTo(It).bindPopup(` Base Station Base Station - ${jn.toFixed(6)}, ${oi.toFixed(6)} + ${Nn.toFixed(6)}, ${si.toFixed(6)} - `);const wi={Unknown:"#9CA3AF","Chat Node":"#60A5FA",Repeater:"#A5E5B6","Room Server":"#EBA0FC","Hybrid Node":"#FFC246"},hi=(qa,io,Rs,Rl,No=0)=>{if(!zt)return;const Ka=qa.jittered_latitude||qa.latitude,La=qa.jittered_longitude||qa.longitude;if(Ka===null||La===null)return;const fa=qa.route_type||0;let so=Rl,go=3,Qo=.7,zo;fa===2?(so="#A5E5B6",go=4,Qo=.9):fa===1?(so="#FFC246",zo="10, 5",Qo=.8):fa===3?(so="#059669",go=5,Qo=.95):fa===0?(so="#ea580c",zo="12, 6",Qo=.8):(so="#9CA3AF",zo="2, 5",Qo=.6);const mi=[io,Rs],Ai=[Ka,La],fi=Mm.polyline([mi,Ai],{color:so,weight:go,opacity:0,dashArray:zo,className:"connection-line"}).addTo(zt),po=Mm.polyline([mi,mi],{color:so,weight:go,opacity:0,dashArray:zo,className:"connection-line animated-line"}).addTo(zt);setTimeout(()=>{let To=0;const wo=30;po.setStyle({opacity:Qo+.2});const ps=()=>{To++;const ys=To/wo,is=mi[0]+(Ai[0]-mi[0])*ys,Go=mi[1]+(Ai[1]-mi[1])*ys;po.setLatLngs([mi,[is,Go]]),To{zt&&po&&po.remove(),fi.setStyle({opacity:Qo}),fi.on("mouseover",()=>{fi.setStyle({weight:go+2,opacity:Math.min(Qo+.3,1)})}),fi.on("mouseout",()=>{fi.setStyle({weight:go,opacity:Qo})});const El=Qn(io,Rs,Ka,La);fi.bindPopup(` + `);const Ti={Unknown:"#9CA3AF","Chat Node":"#60A5FA",Repeater:"#A5E5B6","Room Server":"#EBA0FC","Hybrid Node":"#FFC246"},fi=(Ya,ao,Wa,Ks,Fo=0)=>{if(!It)return;const $a=Ya.jittered_latitude||Ya.latitude,Ca=Ya.jittered_longitude||Ya.longitude;if($a===null||Ca===null)return;const ha=Ya.route_type||0;let oo=Ks,mo=3,Jo=.7,zo;ha===2?(oo="#A5E5B6",mo=4,Jo=.9):ha===1?(oo="#FFC246",zo="10, 5",Jo=.8):ha===3?(oo="#059669",mo=5,Jo=.95):ha===0?(oo="#ea580c",zo="12, 6",Jo=.8):(oo="#9CA3AF",zo="2, 5",Jo=.6);const di=[ao,Wa],Ai=[$a,Ca],hi=Mm.polyline([di,Ai],{color:oo,weight:mo,opacity:0,dashArray:zo,className:"connection-line"}).addTo(It),go=Mm.polyline([di,di],{color:oo,weight:mo,opacity:0,dashArray:zo,className:"connection-line animated-line"}).addTo(It);setTimeout(()=>{let Mo=0;const To=30;go.setStyle({opacity:Jo+.2});const ps=()=>{Mo++;const ys=Mo/To,is=di[0]+(Ai[0]-di[0])*ys,Go=di[1]+(Ai[1]-di[1])*ys;go.setLatLngs([di,[is,Go]]),Mo{It&&go&&go.remove(),hi.setStyle({opacity:Jo}),hi.on("mouseover",()=>{hi.setStyle({weight:mo+2,opacity:Math.min(Jo+.3,1)})}),hi.on("mouseout",()=>{hi.setStyle({weight:mo,opacity:Jo})});const Cl=Qn(ao,Wa,$a,Ca);hi.bindPopup(` - Connection to ${qa.node_name||"Unknown Node"} - Distance: ${El.toFixed(2)} km - Route: ${cn(qa.route_type)} - Signal: ${fn(qa.rssi)} / ${Dt(qa.snr)} + Connection to ${Ya.node_name||"Unknown Node"} + Distance: ${Cl.toFixed(2)} km + Route: ${un(Ya.route_type)} + Signal: ${fn(Ya.rssi)} / ${Dt(Ya.snr)} - `),Le.value.push(fi)},200)};ps()},No)},va=()=>{if(!zt||!te)return;const qa=zt.getBounds(),io=Math.floor(zt.getZoom());se.value.forEach(Rl=>{zt&&Rl.remove()}),se.value.clear(),Le.value.forEach(Rl=>{zt&&Rl.remove()}),Le.value.length=0,te.getClusters([qa.getWest(),qa.getSouth(),qa.getEast(),qa.getNorth()],io).forEach(Rl=>{const[No,Ka]=Rl.geometry.coordinates,La=Rl.properties;if(La.cluster){const fa=Mm.marker([Ka,No],{icon:Wn(La.point_count||0)}).addTo(zt);fa.on("click",()=>{if(zt&&te){const Ai=te.getClusterExpansionZoom(La.cluster_id);zt.setView([Ka,No],Ai)}});const go=te.getLeaves(La.cluster_id,1/0).map(Ai=>` + `),Le.value.push(hi)},200)};ps()},Fo)},ma=()=>{if(!It||!te)return;const Ya=It.getBounds(),ao=Math.floor(It.getZoom());le.value.forEach(Ks=>{It&&Ks.remove()}),le.value.clear(),Le.value.forEach(Ks=>{It&&Ks.remove()}),Le.value.length=0,te.getClusters([Ya.getWest(),Ya.getSouth(),Ya.getEast(),Ya.getNorth()],ao).forEach(Ks=>{const[Fo,$a]=Ks.geometry.coordinates,Ca=Ks.properties;if(Ca.cluster){const ha=Mm.marker([$a,Fo],{icon:Vn(Ca.point_count||0)}).addTo(It);ha.on("click",()=>{if(It&&te){const Ai=te.getClusterExpansionZoom(Ca.cluster_id);It.setView([$a,Fo],Ai)}});const mo=te.getLeaves(Ca.cluster_id,1/0).map(Ai=>` • ${Ai.properties.advert.node_name||"Unknown Node"} (${Ai.properties.advert.contact_type}) - `).join("");fa.bindPopup(` + `).join("");ha.bindPopup(` - Cluster: ${La.point_count} nodes + Cluster: ${Ca.point_count} nodes - ${go} + ${mo} Click to zoom in and separate nodes - `),se.value.set(`cluster-${La.cluster_id}`,fa);const Qo=Qn(jn,oi,Ka,No),zo=Math.min(Math.floor(Qo*5),200),mi={node_name:`Cluster of ${La.point_count} nodes`,contact_type:"Cluster",route_type:2,rssi:null,snr:null,jittered_latitude:Ka,jittered_longitude:No,latitude:Ka,longitude:No};hi(mi,jn,oi,"#AAE8E8",zo)}else{const fa=La.advert,so=wi[fa.contact_type]||wi.Unknown,go=Vn(so),Qo=Ka,zo=No,mi=Qn(jn,oi,Qo,zo),Ai=Mm.marker([Qo,zo],{icon:go}).addTo(zt).bindPopup(` + `),le.value.set(`cluster-${Ca.cluster_id}`,ha);const Jo=Qn(Nn,si,$a,Fo),zo=Math.min(Math.floor(Jo*5),200),di={node_name:`Cluster of ${Ca.point_count} nodes`,contact_type:"Cluster",route_type:2,rssi:null,snr:null,jittered_latitude:$a,jittered_longitude:Fo,latitude:$a,longitude:Fo};fi(di,Nn,si,"#AAE8E8",zo)}else{const ha=Ca.advert,oo=Ti[ha.contact_type]||Ti.Unknown,mo=Hn(oo),Jo=$a,zo=Fo,di=Qn(Nn,si,Jo,zo),Ai=Mm.marker([Jo,zo],{icon:mo}).addTo(It).bindPopup(` - ${fa.node_name||"Unknown Node"} - Type: ${fa.contact_type} - Distance: ${mi.toFixed(2)} km - Signal: ${fn(fa.rssi)} / ${Dt(fa.snr)} - Route: ${cn(fa.route_type)} - Last Seen: ${Vr(fa.last_seen)} - ${fa.jittered_latitude?'Position adjusted to separate overlapping nodes':""} + ${ha.node_name||"Unknown Node"} + Type: ${ha.contact_type} + Distance: ${di.toFixed(2)} km + Signal: ${fn(ha.rssi)} / ${Dt(ha.snr)} + Route: ${un(ha.route_type)} + Last Seen: ${Vr(ha.last_seen)} + ${ha.jittered_latitude?'Position adjusted to separate overlapping nodes':""} - `);jt.value.set(fa.pubkey,Ai),se.value.set(`node-${fa.pubkey}`,Ai);const fi=Math.min(Math.floor(mi*5),200),po={...fa,jittered_latitude:Qo,jittered_longitude:zo};hi(po,jn,oi,so,fi)}})},qo=(qa,io)=>{let Rs=0;ei(R.adverts).forEach(No=>{const Ka=No.properties.advert;if(Ka.latitude!==null&&Ka.longitude!==null){const La=wi[Ka.contact_type]||wi.Unknown,fa=Vn(La),so=Ka.jittered_latitude||Ka.latitude,go=Ka.jittered_longitude||Ka.longitude,Qo=Mm.marker([so,go],{icon:fa}).addTo(zt).bindPopup(` + `);jt.value.set(ha.pubkey,Ai),le.value.set(`node-${ha.pubkey}`,Ai);const hi=Math.min(Math.floor(di*5),200),go={...ha,jittered_latitude:Jo,jittered_longitude:zo};fi(go,Nn,si,oo,hi)}})},ml=(Ya,ao)=>{let Wa=0;Xn(R.adverts).forEach(Fo=>{const $a=Fo.properties.advert;if($a.latitude!==null&&$a.longitude!==null){const Ca=Ti[$a.contact_type]||Ti.Unknown,ha=Hn(Ca),oo=$a.jittered_latitude||$a.latitude,mo=$a.jittered_longitude||$a.longitude,Jo=Mm.marker([oo,mo],{icon:ha}).addTo(It).bindPopup(` - ${Ka.node_name||"Unknown Node"} - Type: ${Ka.contact_type} - Distance: ${Qn(qa,io,so,go).toFixed(2)} km - Signal: ${fn(Ka.rssi)} / ${Dt(Ka.snr)} - Route: ${cn(Ka.route_type)} - Last Seen: ${Vr(Ka.last_seen)} - ${Ka.jittered_latitude?'Position adjusted to separate overlapping nodes':""} + ${$a.node_name||"Unknown Node"} + Type: ${$a.contact_type} + Distance: ${Qn(Ya,ao,oo,mo).toFixed(2)} km + Signal: ${fn($a.rssi)} / ${Dt($a.snr)} + Route: ${un($a.route_type)} + Last Seen: ${Vr($a.last_seen)} + ${$a.jittered_latitude?'Position adjusted to separate overlapping nodes':""} - `);jt.value.set(Ka.pubkey,Qo);const zo=Qo.getElement();zo&&(zo.style.opacity="0",zo.style.transition="opacity 0.5s ease-out"),hi(Ka,qa,io,La,Rs),setTimeout(()=>{zo&&(zo.style.opacity="1")},Rs+1e3),Rs+=100}})};if(Je.value&&R.adverts.length>0)try{const qa=ei(R.adverts);Ui(qa);const io=Math.min(14,zt.getZoom());zt.setZoom(io),setTimeout(()=>{try{va()}catch(Rs){console.warn("Error updating clusters:",Rs),qo(jn,oi)}},100),zt.on("moveend",()=>{try{va()}catch(Rs){console.warn("Error updating clusters on move:",Rs)}}),zt.on("zoomend",()=>{try{va()}catch(Rs){console.warn("Error updating clusters on zoom:",Rs)}})}catch(qa){console.warn("Error initializing clustering:",qa),qo(jn,oi)}else qo(jn,oi);setTimeout(()=>{zt&&zt.invalidateSize()},1e3)}catch(Vn){console.error("Error initializing map:",Vn)}};return s({highlightNode:jn=>{const oi=jt.value.get(jn);if(oi){const Vn=oi.getElement();if(Vn){const Wn=Vn.querySelector("div");Wn&&Wn.classList.add("marker-highlight")}}},unhighlightNode:jn=>{const oi=jt.value.get(jn);if(oi){const Vn=oi.getElement();if(Vn){const Wn=Vn.querySelector("div");Wn&&Wn.classList.remove("marker-highlight")}}},initializeOpenStreetMap:Di}),Em(()=>R.adverts,()=>{zt&&wr.value&&setTimeout(()=>{Di()},100)},{immediate:!1}),op(()=>{wr.value&&R.adverts.length>0&&setTimeout(()=>{Di()},300)}),Oy(()=>{Dn()}),(jn,oi)=>(ui(),vi("div",Jot,[wr.value?(ui(),vi("div",{key:1,ref_key:"mapContainer",ref:_t,class:"leaflet-map-container h-96 w-full bg-dark-card/30 backdrop-blur border border-white/10 rounded-[15px] overflow-hidden",style:{"min-height":"384px",position:"relative"}},null,512)):(ui(),vi("div",Qot,oi[0]||(oi[0]=[Ff('No valid coordinates availableConfigure base station location to view map',1)]))),wr.value&&jn.adverts.length>0?(ui(),vi("button",{key:2,onClick:dt,class:"absolute bottom-3 right-3 z-[1001] flex items-center gap-2 px-3 py-2 bg-black/40 border border-white/10 rounded-lg text-white/80 hover:bg-white/10 hover:text-white transition-colors text-sm backdrop-blur-sm"},[oi[1]||(oi[1]=fe("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[fe("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"})],-1)),fe("span",tst,Ei(jn.showLegend?"Hide":"Show"),1)])):Fo("",!0),wr.value&&jn.adverts.length>0&&jn.showLegend?(ui(),vi("div",est,[oi[2]||(oi[2]=Ff('Node TypesBase StationChat NodeRepeaterRoom ServerHybrid NodeRoute TypesDirectTransport DirectFloodTransport Flood',2)),fe("div",rst,Ei(jn.adverts.length)+" node"+Ei(jn.adverts.length!==1?"s":"")+" visible ",1)])):Fo("",!0),wr.value?(ui(),vi("div",nst," © OpenStreetMap contributors © CARTO ")):Fo("",!0)]))}}),ast=Bf(ist,[["__scopeId","data-v-9c7dd490"]]),ost={class:"relative","data-menu-container":""},oP=Ec({__name:"NeighborMenu",props:{neighbor:{},canPing:{type:Boolean}},emits:["ping","delete"],setup(d,{emit:s}){const E=window.__neighborMenuManager||{activeMenu:null,setActiveMenu:Tr=>{if(E.activeMenu&&E.activeMenu!==Tr)try{E.activeMenu.closeMenu()}catch(wr){console.warn("Error closing previous menu:",wr)}E.activeMenu=Tr}};window.__neighborMenuManager=E;const R=d,K=s,dt=ja(!1),_t=ja(),zt=ja({top:0,left:0}),jt=()=>{dt.value=!1,document.removeEventListener("click",Le,!0),document.removeEventListener("keydown",Je),E.activeMenu===te&&(E.activeMenu=null)},te={closeMenu:jt},se=()=>{jt(),K("delete",R.neighbor)},Le=Tr=>{Tr.target.closest("[data-menu-container]")||jt()},Je=Tr=>{Tr.key==="Escape"&&jt()},fr=async()=>{if(!dt.value&&_t.value){E.setActiveMenu(te);const Tr=_t.value.getBoundingClientRect(),wr=window.innerWidth,Vr=144,fn=wr<1024,Dt=Tr.left+Vr>wr-16;let cn=Tr.left;fn&&Dt&&(cn=Tr.right-Vr),cn=Math.max(8,cn),zt.value={top:Tr.bottom+4,left:cn},dt.value=!0,await S0(),document.addEventListener("click",Le,!0),document.addEventListener("keydown",Je)}else jt()};return Oy(()=>{jt()}),(Tr,wr)=>(ui(),vi("div",ost,[fe("button",{ref_key:"buttonRef",ref:_t,onClick:fr,class:Co(["p-1 rounded hover:bg-white/10 transition-colors text-white/60 hover:text-white/80",{"bg-white/10 text-white/80":dt.value}]),"data-menu-container":""},wr[0]||(wr[0]=[fe("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[fe("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 5v.01M12 12v.01M12 19v.01M12 6a1 1 0 110-2 1 1 0 010 2zm0 7a1 1 0 110-2 1 1 0 010 2zm0 7a1 1 0 110-2 1 1 0 010 2z"})],-1)]),2),(ui(),Y0(QA,{to:"body"},[dt.value?(ui(),vi("div",{key:0,class:"fixed w-36 bg-dark-card/90 backdrop-blur-lg border border-white/20 rounded-[15px] shadow-2xl z-[999999]",style:G0({top:zt.value.top+"px",left:zt.value.left+"px"}),"data-menu-container":""},[fe("div",{class:"py-2"},[fe("button",{onClick:se,class:"flex items-center gap-3 w-full px-4 py-3 text-sm text-accent-red hover:bg-accent-red/10 transition-colors"},wr[1]||(wr[1]=[fe("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[fe("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"})],-1),fe("span",{class:"font-medium"},"Delete",-1)]))])],4)):Fo("",!0)]))]))}}),sst={class:"bg-dark-card/30 backdrop-blur border border-white/10 rounded-[15px] p-6"},lst={class:"flex items-center justify-between mb-4"},ust={class:"flex items-center gap-3"},cst={class:"text-white text-lg font-semibold"},hst={class:"bg-white/10 text-white text-xs px-2 py-1 rounded-full"},fst={key:0,class:"hidden lg:flex bg-dark-card/30 backdrop-blur rounded-lg border border-white/10 p-1"},dst={class:"hidden lg:block overflow-x-auto"},pst={class:"w-full"},mst={class:"bg-dark-bg/50"},gst={class:"bg-dark-bg/30"},vst=["onMouseenter","onMouseleave"],yst=["onClick","title"],xst={key:0,class:"ml-1 text-xs"},_st={key:0,class:"flex items-center gap-3"},bst={class:"text-white/70"},wst={class:"flex gap-1"},kst=["onClick"],Tst=["onClick"],Ast={key:1,class:"text-dark-text"},Mst={class:"flex items-center gap-2"},Sst={class:"flex items-end gap-0.5"},Est={class:"flex items-center gap-2"},Cst=["title"],Lst=["title"],Pst={class:"lg:hidden space-y-3"},zst=["onClick"],Ist={class:"flex items-center justify-between mb-3"},Ost={class:"flex items-center gap-3"},Dst={class:"text-white font-medium text-base"},Fst={class:"grid grid-cols-1 gap-3"},Bst={class:"grid grid-cols-2 gap-4"},Rst=["onClick","title"],Nst={key:0,class:"ml-1 text-xs"},jst={class:"flex items-center gap-2 justify-end"},Ust={class:"flex items-end gap-0.5"},Vst={class:"grid grid-cols-2 gap-4"},Hst={class:"flex items-center gap-2"},Wst=["title"],qst={class:"text-white text-sm block text-right"},$st={key:0,class:"border-t border-white/10 pt-3"},Zst={class:"flex items-center justify-between"},Gst={class:"text-white/70 text-sm font-mono"},Yst={class:"flex gap-2"},Kst=["onClick"],Xst=["onClick"],Jst={class:"grid grid-cols-3 gap-4 pt-3 border-t border-white/10"},Qst={class:"text-center"},tlt={class:"text-white text-sm font-medium"},elt={class:"text-center"},rlt={class:"text-white text-sm font-medium"},nlt={class:"text-center"},ilt=["title"],alt=Ec({__name:"NeighborTable",props:{contactType:{},contactTypeKey:{},adverts:{},color:{},baseLatitude:{default:null},baseLongitude:{default:null},isCompactView:{type:Boolean,default:!1},isFirstTable:{type:Boolean,default:!1},showViewToggle:{type:Boolean,default:!1}},emits:["highlight-node","unhighlight-node","menu-ping","menu-delete","toggle-view"],setup(d,{emit:s}){const E=ja(null),R=d,K=s,dt=qr=>new Date(qr*1e3).toLocaleString(),_t=qr=>`${qr.slice(0,4)}...${qr.slice(-4)}`,zt=qr=>{switch(qr){case 2:return{text:"Direct",bgColor:"bg-green-500/20",borderColor:"border-green-400/30",textColor:"text-green-400"};case 3:return{text:"Transport Direct",bgColor:"bg-green-600/20",borderColor:"border-green-500/30",textColor:"text-green-500"};case 1:return{text:"Flood",bgColor:"bg-yellow-500/20",borderColor:"border-yellow-400/30",textColor:"text-yellow-400"};case 0:return{text:"Transport Flood",bgColor:"bg-orange-500/20",borderColor:"border-orange-400/30",textColor:"text-orange-400"};default:return{text:"Unknown",bgColor:"bg-gray-500/20",borderColor:"border-gray-400/30",textColor:"text-gray-400"}}},jt=qr=>qr?`${qr} dBm`:"N/A",te=qr=>qr?`${qr} dB`:"N/A",se=(qr,Si,jn,oi)=>{const Wn=(jn-qr)*Math.PI/180,sa=(oi-Si)*Math.PI/180,wi=Math.sin(Wn/2)*Math.sin(Wn/2)+Math.cos(qr*Math.PI/180)*Math.cos(jn*Math.PI/180)*Math.sin(sa/2)*Math.sin(sa/2);return 6371*(2*Math.atan2(Math.sqrt(wi),Math.sqrt(1-wi)))},Le=qr=>R.baseLatitude===null||R.baseLongitude===null||qr.latitude===null||qr.longitude===null?"N/A":`${se(R.baseLatitude,R.baseLongitude,qr.latitude,qr.longitude).toFixed(1)} km`,Je=async qr=>{try{return await navigator.clipboard.writeText(qr),!0}catch{const Si=document.createElement("textarea");return Si.value=qr,document.body.appendChild(Si),Si.select(),document.execCommand("copy"),document.body.removeChild(Si),!0}},fr=qr=>{const Si=Date.now(),jn=qr*1e3,oi=Si-jn,Vn=Math.floor(oi/1e3),Wn=Math.floor(Vn/60),sa=Math.floor(Wn/60),wi=Math.floor(sa/24);return Vn<60?`${Vn}s ago`:Wn<60?`${Wn}m ago`:sa<24?`${sa}h ago`:`${wi}d ago`},Tr=qr=>{const Si=Date.now(),jn=qr*1e3,oi=Si-jn,Vn=Math.floor(oi/(1e3*60*60));return Vn<1?{color:"text-green-400"}:Vn<26?{color:"text-yellow-400"}:{color:"text-red-400"}},wr=async(qr,Si)=>{const jn=`${qr.toFixed(6)}, ${Si.toFixed(6)}`;await Je(jn)},Vr=(qr,Si)=>{const jn=`https://www.google.com/maps?q=${qr},${Si}`;window.open(jn,"_blank")},fn=async qr=>{await Je(qr),E.value=qr,setTimeout(()=>{E.value=null},2e3)},Dt=qr=>qr?qr>=-50?{bars:5,color:"text-green-400"}:qr>=-60?{bars:4,color:"text-green-300"}:qr>=-70?{bars:3,color:"text-yellow-400"}:qr>=-80?{bars:2,color:"text-orange-400"}:qr>=-90?{bars:1,color:"text-red-400"}:{bars:0,color:"text-red-500"}:{bars:0,color:"text-gray-400"},cn=()=>R.isCompactView?"py-2 px-2":"py-4 px-3",Qn=()=>{K("toggle-view")},Dn=qr=>{K("highlight-node",qr)},ei=qr=>{K("unhighlight-node",qr)},Ui=qr=>{K("menu-ping",qr)},Di=qr=>{K("menu-delete",qr)};return(qr,Si)=>(ui(),vi("div",sst,[fe("div",lst,[fe("div",ust,[fe("div",{class:"w-3 h-3 rounded-full border border-white/20",style:G0({backgroundColor:qr.color})},null,4),fe("h3",cst,Ei(qr.contactType),1),fe("span",hst,Ei(qr.adverts.length),1)]),qr.isFirstTable&&qr.showViewToggle?(ui(),vi("div",fst,[fe("button",{onClick:Qn,class:Co(["p-2 rounded-md transition-colors",qr.isCompactView?"text-white/60 hover:text-primary hover:bg-primary/10":"bg-primary/20 text-primary border border-primary/30"]),title:"Comfortable view"},Si[0]||(Si[0]=[fe("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[fe("rect",{x:"3",y:"3",width:"18",height:"6",rx:"2",stroke:"currentColor","stroke-width":"2"}),fe("rect",{x:"3",y:"12",width:"18",height:"6",rx:"2",stroke:"currentColor","stroke-width":"2"})],-1)]),2),fe("button",{onClick:Qn,class:Co(["p-2 rounded-md transition-colors",qr.isCompactView?"bg-primary/20 text-primary border border-primary/30":"text-white/60 hover:text-primary hover:bg-primary/10"]),title:"Compact view"},Si[1]||(Si[1]=[fe("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[fe("rect",{x:"3",y:"3",width:"18",height:"4",rx:"2",stroke:"currentColor","stroke-width":"2"}),fe("rect",{x:"3",y:"10",width:"18",height:"4",rx:"2",stroke:"currentColor","stroke-width":"2"}),fe("rect",{x:"3",y:"17",width:"18",height:"4",rx:"2",stroke:"currentColor","stroke-width":"2"})],-1)]),2)])):Fo("",!0)]),fe("div",dst,[fe("table",pst,[fe("thead",null,[fe("tr",mst,[fe("th",{class:Co(`text-left text-dark-text text-xs font-medium py-3 ${cn().split(" ")[1]} border-b border-white/5`)},null,2),fe("th",{class:Co(`text-left text-dark-text text-xs font-medium py-3 ${cn().split(" ")[1]} border-b border-white/5`)},"Node Name",2),fe("th",{class:Co(`text-left text-dark-text text-xs font-medium py-3 ${cn().split(" ")[1]} border-b border-white/5`)},"Public Key",2),fe("th",{class:Co(`text-left text-dark-text text-xs font-medium py-3 ${cn().split(" ")[1]} border-b border-white/5`)},"Location",2),fe("th",{class:Co(`text-left text-dark-text text-xs font-medium py-3 ${cn().split(" ")[1]} border-b border-white/5`)},"Distance",2),fe("th",{class:Co(`text-left text-dark-text text-xs font-medium py-3 ${cn().split(" ")[1]} border-b border-white/5`)},"Route Type",2),fe("th",{class:Co(`text-left text-dark-text text-xs font-medium py-3 ${cn().split(" ")[1]} border-b border-white/5`)},"RSSI",2),fe("th",{class:Co(`text-left text-dark-text text-xs font-medium py-3 ${cn().split(" ")[1]} border-b border-white/5`)},"SNR",2),fe("th",{class:Co(`text-left text-dark-text text-xs font-medium py-3 ${cn().split(" ")[1]} border-b border-white/5`)},"Last Seen",2),fe("th",{class:Co(`text-left text-dark-text text-xs font-medium py-3 ${cn().split(" ")[1]} border-b border-white/5`)},"First Seen",2),fe("th",{class:Co(`text-left text-dark-text text-xs font-medium py-3 ${cn().split(" ")[1]} border-b border-white/5`)},"Advert Count",2)])]),fe("tbody",gst,[(ui(!0),vi(mu,null,oh(qr.adverts,jn=>(ui(),vi("tr",{key:jn.id,class:"hover:bg-white/5 transition-colors",onMouseenter:oi=>Dn(jn.pubkey),onMouseleave:oi=>ei(jn.pubkey)},[fe("td",{class:Co(cn())},[Tl(oP,{neighbor:jn,onPing:Ui,onDelete:Di},null,8,["neighbor"])],2),fe("td",{class:Co(`${cn()} text-white text-sm`)},Ei(jn.node_name||"Unknown"),3),fe("td",{class:Co(`${cn()} text-white text-sm font-mono`)},[fe("button",{onClick:oi=>fn(jn.pubkey),class:Co(["text-white hover:text-primary-light transition-colors cursor-pointer underline underline-offset-2 decoration-white/30 hover:decoration-primary-light/60",E.value===jn.pubkey?"text-green-400 decoration-green-400/60":""]),title:E.value===jn.pubkey?"Copied!":"Click to copy full public key"},[Zu(Ei(_t(jn.pubkey))+" ",1),E.value===jn.pubkey?(ui(),vi("span",xst,"✓")):Fo("",!0)],10,yst)],2),fe("td",{class:Co(`${cn()} text-white text-sm`)},[jn.latitude!==null&&jn.longitude!==null?(ui(),vi("div",_st,[fe("span",bst,Ei(jn.latitude.toFixed(4))+", "+Ei(jn.longitude.toFixed(4)),1),fe("div",wst,[fe("button",{onClick:oi=>wr(jn.latitude,jn.longitude),class:"text-white/60 hover:text-white transition-colors cursor-pointer",title:"Copy coordinates to clipboard"},Si[2]||(Si[2]=[fe("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[fe("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2",stroke:"currentColor","stroke-width":"2"}),fe("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1",stroke:"currentColor","stroke-width":"2"})],-1)]),8,kst),fe("button",{onClick:oi=>Vr(jn.latitude,jn.longitude),class:"text-white/60 hover:text-blue-400 transition-colors cursor-pointer",title:"Open in Google Maps"},Si[3]||(Si[3]=[fe("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[fe("path",{d:"M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z",stroke:"currentColor","stroke-width":"2"}),fe("circle",{cx:"12",cy:"10",r:"3",stroke:"currentColor","stroke-width":"2"})],-1)]),8,Tst)])])):(ui(),vi("span",Ast,"Unknown"))],2),fe("td",{class:Co(`${cn()} text-white text-sm`)},Ei(Le(jn)),3),fe("td",{class:Co(`${cn()} text-white text-sm`)},[fe("span",{class:Co(["inline-block px-2 py-1 rounded-full text-xs border transition-colors",zt(jn.route_type).bgColor,zt(jn.route_type).borderColor,zt(jn.route_type).textColor])},Ei(zt(jn.route_type).text),3)],2),fe("td",{class:Co(`${cn()} text-white text-sm`)},[fe("div",Mst,[fe("div",Sst,[(ui(),vi(mu,null,oh(5,oi=>fe("div",{key:oi,class:Co(["w-1 transition-colors",oi<=Dt(jn.rssi).bars?Dt(jn.rssi).color:"text-gray-600"]),style:G0({height:`${4+oi*2}px`})},Si[4]||(Si[4]=[fe("div",{class:"w-full h-full bg-current rounded-sm"},null,-1)]),6)),64))]),fe("span",{class:Co(Dt(jn.rssi).color)},Ei(jt(jn.rssi)),3)])],2),fe("td",{class:Co(`${cn()} text-white text-sm`)},Ei(te(jn.snr)),3),fe("td",{class:Co(`${cn()} text-white text-sm`)},[fe("div",Est,[fe("div",{class:Co(["w-2 h-2 rounded-full",Tr(jn.last_seen).color==="text-green-400"?"bg-green-400":"",Tr(jn.last_seen).color==="text-yellow-400"?"bg-yellow-400":"",Tr(jn.last_seen).color==="text-red-400"?"bg-red-400":""])},null,2),fe("span",{class:Co([Tr(jn.last_seen).color,"cursor-help"]),title:dt(jn.last_seen)},Ei(fr(jn.last_seen)),11,Cst)])],2),fe("td",{class:Co(`${cn()} text-white text-sm`)},[fe("span",{title:dt(jn.first_seen),class:"cursor-help"},Ei(fr(jn.first_seen)),9,Lst)],2),fe("td",{class:Co(`${cn()} text-white text-sm text-center`)},Ei(jn.advert_count),3)],40,vst))),128))])])]),fe("div",Pst,[(ui(!0),vi(mu,null,oh(qr.adverts,jn=>(ui(),vi("div",{key:jn.id,class:"bg-dark-bg/30 border border-white/10 rounded-lg p-4 hover:bg-white/5 transition-colors",onClick:oi=>Dn(jn.pubkey)},[fe("div",Ist,[fe("div",Ost,[fe("h4",Dst,Ei(jn.node_name||"Unknown Node"),1),fe("span",{class:Co(["inline-block px-2 py-1 rounded-full text-xs border",zt(jn.route_type).bgColor,zt(jn.route_type).borderColor,zt(jn.route_type).textColor])},Ei(zt(jn.route_type).text),3)]),Tl(oP,{neighbor:jn,onPing:Ui,onDelete:Di},null,8,["neighbor"])]),fe("div",Fst,[fe("div",Bst,[fe("div",null,[Si[5]||(Si[5]=fe("div",{class:"text-dark-text text-xs mb-1"},"Public Key",-1)),fe("button",{onClick:oi=>fn(jn.pubkey),class:Co(["text-white hover:text-primary-light transition-colors cursor-pointer font-mono text-sm underline underline-offset-2 decoration-white/30 hover:decoration-primary-light/60 break-all",E.value===jn.pubkey?"text-green-400 decoration-green-400/60":""]),title:E.value===jn.pubkey?"Copied!":"Click to copy full public key"},[Zu(Ei(_t(jn.pubkey))+" ",1),E.value===jn.pubkey?(ui(),vi("span",Nst,"✓")):Fo("",!0)],10,Rst)]),fe("div",null,[Si[7]||(Si[7]=fe("div",{class:"text-dark-text text-xs mb-1"},"Signal",-1)),fe("div",jst,[fe("div",Ust,[(ui(),vi(mu,null,oh(5,oi=>fe("div",{key:oi,class:Co(["w-1.5 transition-colors",oi<=Dt(jn.rssi).bars?Dt(jn.rssi).color:"text-gray-600"]),style:G0({height:`${6+oi*2}px`})},Si[6]||(Si[6]=[fe("div",{class:"w-full h-full bg-current rounded-sm"},null,-1)]),6)),64))]),fe("span",{class:Co(`${Dt(jn.rssi).color} text-sm font-medium`)},Ei(jt(jn.rssi)),3)])])]),fe("div",Vst,[fe("div",null,[Si[8]||(Si[8]=fe("div",{class:"text-dark-text text-xs mb-1"},"Last Seen",-1)),fe("div",Hst,[fe("div",{class:Co(["w-2 h-2 rounded-full",Tr(jn.last_seen).color==="text-green-400"?"bg-green-400":"",Tr(jn.last_seen).color==="text-yellow-400"?"bg-yellow-400":"",Tr(jn.last_seen).color==="text-red-400"?"bg-red-400":""])},null,2),fe("span",{class:Co(`${Tr(jn.last_seen).color} text-sm`),title:dt(jn.last_seen)},Ei(fr(jn.last_seen)),11,Wst)])]),fe("div",null,[Si[9]||(Si[9]=fe("div",{class:"text-dark-text text-xs mb-1"},"Distance",-1)),fe("span",qst,Ei(Le(jn)),1)])]),jn.latitude!==null&&jn.longitude!==null?(ui(),vi("div",$st,[Si[12]||(Si[12]=fe("div",{class:"text-dark-text text-xs mb-1"},"Location",-1)),fe("div",Zst,[fe("span",Gst,Ei(jn.latitude.toFixed(4))+", "+Ei(jn.longitude.toFixed(4)),1),fe("div",Yst,[fe("button",{onClick:oi=>wr(jn.latitude,jn.longitude),class:"text-white/60 hover:text-white transition-colors p-2 hover:bg-white/10 rounded-lg",title:"Copy coordinates"},Si[10]||(Si[10]=[fe("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[fe("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2",stroke:"currentColor","stroke-width":"2"}),fe("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1",stroke:"currentColor","stroke-width":"2"})],-1)]),8,Kst),fe("button",{onClick:oi=>Vr(jn.latitude,jn.longitude),class:"text-white/60 hover:text-blue-400 transition-colors p-2 hover:bg-white/10 rounded-lg",title:"Open in Maps"},Si[11]||(Si[11]=[fe("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[fe("path",{d:"M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z",stroke:"currentColor","stroke-width":"2"}),fe("circle",{cx:"12",cy:"10",r:"3",stroke:"currentColor","stroke-width":"2"})],-1)]),8,Xst)])])])):Fo("",!0),fe("div",Jst,[fe("div",Qst,[Si[13]||(Si[13]=fe("div",{class:"text-dark-text text-xs mb-1"},"SNR",-1)),fe("span",tlt,Ei(te(jn.snr)),1)]),fe("div",elt,[Si[14]||(Si[14]=fe("div",{class:"text-dark-text text-xs mb-1"},"Adverts",-1)),fe("span",rlt,Ei(jn.advert_count),1)]),fe("div",nlt,[Si[15]||(Si[15]=fe("div",{class:"text-dark-text text-xs mb-1"},"First Seen",-1)),fe("span",{class:"text-white text-sm",title:dt(jn.first_seen)},Ei(fr(jn.first_seen)),9,ilt)])])])],8,zst))),128))])]))}}),olt={class:"space-y-6"},slt={key:0,class:"flex items-center justify-center py-12"},llt={key:1,class:"bg-accent-red/10 border border-accent-red/20 rounded-[15px] p-6"},ult={class:"flex items-center gap-3"},clt={class:"text-accent-red/80 text-sm"},hlt={key:0,class:"text-center py-12"},flt=Ec({name:"NeighborsView",__name:"Neighbors",setup(d){const s=Dm(),E={0:"Unknown",1:"Chat Node",2:"Repeater",3:"Room Server",4:"Hybrid Node"},R={0:"#6b7280",1:"#60a5fa",2:"#34d399",3:"#a855f7",4:"#f59e0b"},K=ja({}),dt=ja(!0),_t=ja(null),zt=ja(!1),jt=ja(typeof window<"u"?window.innerWidth>=1024:!0),te=ja(!1),se=ja(null),Le=Wo(()=>{if(!se.value)return null;const qr=se.value;return{id:qr.id,pubkey:qr.pubkey,node_name:qr.node_name,contact_type:qr.contact_type,latitude:qr.latitude,longitude:qr.longitude,rssi:qr.rssi,snr:qr.snr,route_type:qr.route_type,last_seen:qr.last_seen,first_seen:qr.first_seen,advert_count:qr.advert_count,timestamp:qr.timestamp,is_repeater:qr.is_repeater,is_new_neighbor:qr.is_new_neighbor}}),Je=Wo(()=>s.stats?.config?.repeater?.latitude),fr=Wo(()=>s.stats?.config?.repeater?.longitude),Tr=Wo(()=>Object.entries(E).filter(([qr])=>K.value[qr]?.length>0).sort(([qr],[Si])=>parseInt(qr)-parseInt(Si))),wr=Wo(()=>Object.values(K.value).flat().filter(qr=>{const Si=qr.latitude,jn=qr.longitude;return Si!=null&&Si!==0&&jn!==null&&jn!==void 0&&jn!==0&&typeof Si=="number"&&typeof jn=="number"&&!isNaN(Si)&&!isNaN(jn)})),Vr=async qr=>{try{const Si=await ah.get(`/adverts_by_contact_type?contact_type=${encodeURIComponent(qr)}&hours=168`);return Si.success&&Array.isArray(Si.data)?Si.data:[]}catch(Si){return console.error(`Error fetching adverts for contact type ${qr}:`,Si),[]}},fn=async()=>{dt.value=!0,_t.value=null;try{K.value={};for(const[qr,Si]of Object.entries(E)){const jn=await Vr(Si);jn.length>0&&(K.value[qr]=jn)}}catch(qr){console.error("Error loading adverts:",qr),_t.value=qr instanceof Error?qr.message:"Failed to load neighbor data"}finally{dt.value=!1}},Dt=ja(),cn=qr=>{Dt.value?.highlightNode(qr)},Qn=qr=>{Dt.value?.unhighlightNode(qr)},Dn=async qr=>{const Si=qr;try{const jn=await ah.post("/ping_neighbor",{pubkey:Si.pubkey});jn.success?console.log("Ping sent successfully"):console.error("Failed to ping neighbor:",jn.error)}catch(jn){console.error("Error pinging neighbor:",jn)}},ei=qr=>{se.value=qr,te.value=!0},Ui=()=>{te.value=!1,se.value=null},Di=async qr=>{try{await ah.deleteAdvert(qr),await fn(),Ui()}catch(Si){console.error("Error deleting neighbor:",Si)}};return op(async()=>{await fn()}),(qr,Si)=>(ui(),vi("div",olt,[dt.value?(ui(),vi("div",slt,Si[2]||(Si[2]=[fe("div",{class:"text-center"},[fe("div",{class:"animate-spin rounded-full h-12 w-12 border-b-2 border-primary mx-auto mb-4"}),fe("p",{class:"text-dark-text"},"Loading neighbor data...")],-1)]))):_t.value?(ui(),vi("div",llt,[fe("div",ult,[Si[4]||(Si[4]=fe("svg",{class:"w-5 h-5 text-accent-red",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[fe("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-2.5L13.732 4c-.77-.833-1.964-.833-2.732 0L4.082 16.5c-.77.833.192 2.5 1.732 2.5z"})],-1)),fe("div",null,[Si[3]||(Si[3]=fe("h3",{class:"text-accent-red font-medium"},"Error Loading Neighbors",-1)),fe("p",clt,Ei(_t.value),1)])])])):(ui(),vi(mu,{key:2},[Tl(ast,{ref_key:"networkMapRef",ref:Dt,adverts:wr.value,"base-latitude":Je.value,"base-longitude":fr.value,"show-legend":jt.value,"onUpdate:showLegend":Si[0]||(Si[0]=jn=>jt.value=jn)},null,8,["adverts","base-latitude","base-longitude","show-legend"]),(ui(!0),vi(mu,null,oh(Tr.value,([jn,oi])=>(ui(),vi("div",{key:jn,class:"space-y-6"},[Tl(alt,{"contact-type":oi,"contact-type-key":jn,adverts:K.value[jn],color:R[parseInt(jn)],"base-latitude":Je.value,"base-longitude":fr.value,"is-compact-view":zt.value,"is-first-table":jn===Tr.value[0]?.[0],"show-view-toggle":Tr.value.length>0,onHighlightNode:cn,onUnhighlightNode:Qn,onMenuPing:Dn,onMenuDelete:ei,onToggleView:Si[1]||(Si[1]=Vn=>zt.value=!zt.value)},null,8,["contact-type","contact-type-key","adverts","color","base-latitude","base-longitude","is-compact-view","is-first-table","show-view-toggle"])]))),128)),Tr.value.length===0?(ui(),vi("div",hlt,[Si[5]||(Si[5]=Ff('No Neighbors FoundNo mesh neighbors have been discovered in your area yet.',3)),fe("button",{onClick:fn,class:"mt-4 px-4 py-2 bg-primary/20 text-primary border border-primary/30 rounded-lg hover:bg-primary/30 transition-colors"}," Refresh ")])):Fo("",!0)],64)),Tl(Wot,{show:te.value,neighbor:Le.value,onClose:Ui,onDelete:Di},null,8,["show","neighbor"])]))}});/*! + `);jt.value.set($a.pubkey,Jo);const zo=Jo.getElement();zo&&(zo.style.opacity="0",zo.style.transition="opacity 0.5s ease-out"),fi($a,Ya,ao,Ca,Wa),setTimeout(()=>{zo&&(zo.style.opacity="1")},Wa+1e3),Wa+=100}})};if(Je.value&&R.adverts.length>0)try{const Ya=Xn(R.adverts);Ni(Ya);const ao=Math.min(14,It.getZoom());It.setZoom(ao),setTimeout(()=>{try{ma()}catch(Wa){console.warn("Error updating clusters:",Wa),ml(Nn,si)}},100),It.on("moveend",()=>{try{ma()}catch(Wa){console.warn("Error updating clusters on move:",Wa)}}),It.on("zoomend",()=>{try{ma()}catch(Wa){console.warn("Error updating clusters on zoom:",Wa)}})}catch(Ya){console.warn("Error initializing clustering:",Ya),ml(Nn,si)}else ml(Nn,si);setTimeout(()=>{It&&It.invalidateSize()},1e3)}catch(Hn){console.error("Error initializing map:",Hn)}};return s({highlightNode:Nn=>{const si=jt.value.get(Nn);if(si){const Hn=si.getElement();if(Hn){const Vn=Hn.querySelector("div");Vn&&Vn.classList.add("marker-highlight")}}},unhighlightNode:Nn=>{const si=jt.value.get(Nn);if(si){const Hn=si.getElement();if(Hn){const Vn=Hn.querySelector("div");Vn&&Vn.classList.remove("marker-highlight")}}},initializeOpenStreetMap:zi}),Em(()=>R.adverts,()=>{It&&wr.value&&setTimeout(()=>{zi()},100)},{immediate:!1}),op(()=>{wr.value&&R.adverts.length>0&&setTimeout(()=>{zi()},300)}),Oy(()=>{Dn()}),(Nn,si)=>(ii(),gi("div",Sst,[wr.value?(ii(),gi("div",{key:1,ref_key:"mapContainer",ref:_t,class:"leaflet-map-container h-96 w-full bg-dark-card/30 backdrop-blur border border-white/10 rounded-[15px] overflow-hidden",style:{"min-height":"384px",position:"relative"}},null,512)):(ii(),gi("div",Est,si[0]||(si[0]=[Tf('No valid coordinates availableConfigure base station location to view map',1)]))),wr.value&&Nn.adverts.length>0?(ii(),gi("button",{key:2,onClick:dt,class:"absolute bottom-3 right-3 z-[1001] flex items-center gap-2 px-3 py-2 bg-black/40 border border-white/10 rounded-lg text-white/80 hover:bg-white/10 hover:text-white transition-colors text-sm backdrop-blur-sm"},[si[1]||(si[1]=oe("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[oe("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"})],-1)),oe("span",Cst,mi(Nn.showLegend?"Hide":"Show"),1)])):Oo("",!0),wr.value&&Nn.adverts.length>0&&Nn.showLegend?(ii(),gi("div",Lst,[si[2]||(si[2]=Tf('Node TypesBase StationChat NodeRepeaterRoom ServerHybrid NodeRoute TypesDirectTransport DirectFloodTransport Flood',2)),oe("div",Pst,mi(Nn.adverts.length)+" node"+mi(Nn.adverts.length!==1?"s":"")+" visible ",1)])):Oo("",!0),wr.value?(ii(),gi("div",Ist," © OpenStreetMap contributors © CARTO ")):Oo("",!0)]))}}),Ost=Bf(zst,[["__scopeId","data-v-9c7dd490"]]),Dst={class:"relative","data-menu-container":""},oP=Ec({__name:"NeighborMenu",props:{neighbor:{},canPing:{type:Boolean}},emits:["ping","delete"],setup(d,{emit:s}){const E=window.__neighborMenuManager||{activeMenu:null,setActiveMenu:Tr=>{if(E.activeMenu&&E.activeMenu!==Tr)try{E.activeMenu.closeMenu()}catch(wr){console.warn("Error closing previous menu:",wr)}E.activeMenu=Tr}};window.__neighborMenuManager=E;const R=d,K=s,dt=ja(!1),_t=ja(),It=ja({top:0,left:0}),jt=()=>{dt.value=!1,document.removeEventListener("click",Le,!0),document.removeEventListener("keydown",Je),E.activeMenu===te&&(E.activeMenu=null)},te={closeMenu:jt},le=()=>{jt(),K("delete",R.neighbor)},Le=Tr=>{Tr.target.closest("[data-menu-container]")||jt()},Je=Tr=>{Tr.key==="Escape"&&jt()},fr=async()=>{if(!dt.value&&_t.value){E.setActiveMenu(te);const Tr=_t.value.getBoundingClientRect(),wr=window.innerWidth,Vr=144,fn=wr<1024,Dt=Tr.left+Vr>wr-16;let un=Tr.left;fn&&Dt&&(un=Tr.right-Vr),un=Math.max(8,un),It.value={top:Tr.bottom+4,left:un},dt.value=!0,await S0(),document.addEventListener("click",Le,!0),document.addEventListener("keydown",Je)}else jt()};return Oy(()=>{jt()}),(Tr,wr)=>(ii(),gi("div",Dst,[oe("button",{ref_key:"buttonRef",ref:_t,onClick:fr,class:ko(["p-1 rounded hover:bg-white/10 transition-colors text-white/60 hover:text-white/80",{"bg-white/10 text-white/80":dt.value}]),"data-menu-container":""},wr[0]||(wr[0]=[oe("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[oe("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 5v.01M12 12v.01M12 19v.01M12 6a1 1 0 110-2 1 1 0 010 2zm0 7a1 1 0 110-2 1 1 0 010 2zm0 7a1 1 0 110-2 1 1 0 010 2z"})],-1)]),2),(ii(),Y0(QA,{to:"body"},[dt.value?(ii(),gi("div",{key:0,class:"fixed w-36 bg-dark-card/90 backdrop-blur-lg border border-white/20 rounded-[15px] shadow-2xl z-[999999]",style:G0({top:It.value.top+"px",left:It.value.left+"px"}),"data-menu-container":""},[oe("div",{class:"py-2"},[oe("button",{onClick:le,class:"flex items-center gap-3 w-full px-4 py-3 text-sm text-accent-red hover:bg-accent-red/10 transition-colors"},wr[1]||(wr[1]=[oe("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[oe("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"})],-1),oe("span",{class:"font-medium"},"Delete",-1)]))])],4)):Oo("",!0)]))]))}}),Fst={class:"bg-dark-card/30 backdrop-blur border border-white/10 rounded-[15px] p-6"},Bst={class:"flex items-center justify-between mb-4"},Rst={class:"flex items-center gap-3"},Nst={class:"text-white text-lg font-semibold"},jst={class:"bg-white/10 text-white text-xs px-2 py-1 rounded-full"},Ust={key:0,class:"hidden lg:flex bg-dark-card/30 backdrop-blur rounded-lg border border-white/10 p-1"},Vst={class:"hidden lg:block overflow-x-auto"},Hst={class:"w-full"},Wst={class:"bg-dark-bg/50"},qst={class:"bg-dark-bg/30"},$st=["onMouseenter","onMouseleave"],Zst=["onClick","title"],Gst={key:0,class:"ml-1 text-xs"},Yst={key:0,class:"flex items-center gap-3"},Kst={class:"text-white/70"},Xst={class:"flex gap-1"},Jst=["onClick"],Qst=["onClick"],tlt={key:1,class:"text-dark-text"},elt={class:"flex items-center gap-2"},rlt={class:"flex items-end gap-0.5"},nlt={class:"flex items-center gap-2"},ilt=["title"],alt=["title"],olt={class:"lg:hidden space-y-3"},slt=["onClick"],llt={class:"flex items-center justify-between mb-3"},ult={class:"flex items-center gap-3"},clt={class:"text-white font-medium text-base"},hlt={class:"grid grid-cols-1 gap-3"},flt={class:"grid grid-cols-2 gap-4"},dlt=["onClick","title"],plt={key:0,class:"ml-1 text-xs"},mlt={class:"flex items-center gap-2 justify-end"},glt={class:"flex items-end gap-0.5"},vlt={class:"grid grid-cols-2 gap-4"},ylt={class:"flex items-center gap-2"},xlt=["title"],_lt={class:"text-white text-sm block text-right"},blt={key:0,class:"border-t border-white/10 pt-3"},wlt={class:"flex items-center justify-between"},klt={class:"text-white/70 text-sm font-mono"},Tlt={class:"flex gap-2"},Alt=["onClick"],Mlt=["onClick"],Slt={class:"grid grid-cols-3 gap-4 pt-3 border-t border-white/10"},Elt={class:"text-center"},Clt={class:"text-white text-sm font-medium"},Llt={class:"text-center"},Plt={class:"text-white text-sm font-medium"},Ilt={class:"text-center"},zlt=["title"],Olt=Ec({__name:"NeighborTable",props:{contactType:{},contactTypeKey:{},adverts:{},color:{},baseLatitude:{default:null},baseLongitude:{default:null},isCompactView:{type:Boolean,default:!1},isFirstTable:{type:Boolean,default:!1},showViewToggle:{type:Boolean,default:!1}},emits:["highlight-node","unhighlight-node","menu-ping","menu-delete","toggle-view"],setup(d,{emit:s}){const E=ja(null),R=d,K=s,dt=qr=>new Date(qr*1e3).toLocaleString(),_t=qr=>`${qr.slice(0,4)}...${qr.slice(-4)}`,It=qr=>{switch(qr){case 2:return{text:"Direct",bgColor:"bg-green-500/20",borderColor:"border-green-400/30",textColor:"text-green-400"};case 3:return{text:"Transport Direct",bgColor:"bg-green-600/20",borderColor:"border-green-500/30",textColor:"text-green-500"};case 1:return{text:"Flood",bgColor:"bg-yellow-500/20",borderColor:"border-yellow-400/30",textColor:"text-yellow-400"};case 0:return{text:"Transport Flood",bgColor:"bg-orange-500/20",borderColor:"border-orange-400/30",textColor:"text-orange-400"};default:return{text:"Unknown",bgColor:"bg-gray-500/20",borderColor:"border-gray-400/30",textColor:"text-gray-400"}}},jt=qr=>qr?`${qr} dBm`:"N/A",te=qr=>qr?`${qr} dB`:"N/A",le=(qr,Si,Nn,si)=>{const Vn=(Nn-qr)*Math.PI/180,sa=(si-Si)*Math.PI/180,Ti=Math.sin(Vn/2)*Math.sin(Vn/2)+Math.cos(qr*Math.PI/180)*Math.cos(Nn*Math.PI/180)*Math.sin(sa/2)*Math.sin(sa/2);return 6371*(2*Math.atan2(Math.sqrt(Ti),Math.sqrt(1-Ti)))},Le=qr=>R.baseLatitude===null||R.baseLongitude===null||qr.latitude===null||qr.longitude===null?"N/A":`${le(R.baseLatitude,R.baseLongitude,qr.latitude,qr.longitude).toFixed(1)} km`,Je=async qr=>{try{return await navigator.clipboard.writeText(qr),!0}catch{const Si=document.createElement("textarea");return Si.value=qr,document.body.appendChild(Si),Si.select(),document.execCommand("copy"),document.body.removeChild(Si),!0}},fr=qr=>{const Si=Date.now(),Nn=qr*1e3,si=Si-Nn,Hn=Math.floor(si/1e3),Vn=Math.floor(Hn/60),sa=Math.floor(Vn/60),Ti=Math.floor(sa/24);return Hn<60?`${Hn}s ago`:Vn<60?`${Vn}m ago`:sa<24?`${sa}h ago`:`${Ti}d ago`},Tr=qr=>{const Si=Date.now(),Nn=qr*1e3,si=Si-Nn,Hn=Math.floor(si/(1e3*60*60));return Hn<1?{color:"text-green-400"}:Hn<26?{color:"text-yellow-400"}:{color:"text-red-400"}},wr=async(qr,Si)=>{const Nn=`${qr.toFixed(6)}, ${Si.toFixed(6)}`;await Je(Nn)},Vr=(qr,Si)=>{const Nn=`https://www.google.com/maps?q=${qr},${Si}`;window.open(Nn,"_blank")},fn=async qr=>{await Je(qr),E.value=qr,setTimeout(()=>{E.value=null},2e3)},Dt=qr=>qr?qr>=-50?{bars:5,color:"text-green-400"}:qr>=-60?{bars:4,color:"text-green-300"}:qr>=-70?{bars:3,color:"text-yellow-400"}:qr>=-80?{bars:2,color:"text-orange-400"}:qr>=-90?{bars:1,color:"text-red-400"}:{bars:0,color:"text-red-500"}:{bars:0,color:"text-gray-400"},un=()=>R.isCompactView?"py-2 px-2":"py-4 px-3",Qn=()=>{K("toggle-view")},Dn=qr=>{K("highlight-node",qr)},Xn=qr=>{K("unhighlight-node",qr)},Ni=qr=>{K("menu-ping",qr)},zi=qr=>{K("menu-delete",qr)};return(qr,Si)=>(ii(),gi("div",Fst,[oe("div",Bst,[oe("div",Rst,[oe("div",{class:"w-3 h-3 rounded-full border border-white/20",style:G0({backgroundColor:qr.color})},null,4),oe("h3",Nst,mi(qr.contactType),1),oe("span",jst,mi(qr.adverts.length),1)]),qr.isFirstTable&&qr.showViewToggle?(ii(),gi("div",Ust,[oe("button",{onClick:Qn,class:ko(["p-2 rounded-md transition-colors",qr.isCompactView?"text-white/60 hover:text-primary hover:bg-primary/10":"bg-primary/20 text-primary border border-primary/30"]),title:"Comfortable view"},Si[0]||(Si[0]=[oe("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[oe("rect",{x:"3",y:"3",width:"18",height:"6",rx:"2",stroke:"currentColor","stroke-width":"2"}),oe("rect",{x:"3",y:"12",width:"18",height:"6",rx:"2",stroke:"currentColor","stroke-width":"2"})],-1)]),2),oe("button",{onClick:Qn,class:ko(["p-2 rounded-md transition-colors",qr.isCompactView?"bg-primary/20 text-primary border border-primary/30":"text-white/60 hover:text-primary hover:bg-primary/10"]),title:"Compact view"},Si[1]||(Si[1]=[oe("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[oe("rect",{x:"3",y:"3",width:"18",height:"4",rx:"2",stroke:"currentColor","stroke-width":"2"}),oe("rect",{x:"3",y:"10",width:"18",height:"4",rx:"2",stroke:"currentColor","stroke-width":"2"}),oe("rect",{x:"3",y:"17",width:"18",height:"4",rx:"2",stroke:"currentColor","stroke-width":"2"})],-1)]),2)])):Oo("",!0)]),oe("div",Vst,[oe("table",Hst,[oe("thead",null,[oe("tr",Wst,[oe("th",{class:ko(`text-left text-dark-text text-xs font-medium py-3 ${un().split(" ")[1]} border-b border-white/5`)},null,2),oe("th",{class:ko(`text-left text-dark-text text-xs font-medium py-3 ${un().split(" ")[1]} border-b border-white/5`)},"Node Name",2),oe("th",{class:ko(`text-left text-dark-text text-xs font-medium py-3 ${un().split(" ")[1]} border-b border-white/5`)},"Public Key",2),oe("th",{class:ko(`text-left text-dark-text text-xs font-medium py-3 ${un().split(" ")[1]} border-b border-white/5`)},"Location",2),oe("th",{class:ko(`text-left text-dark-text text-xs font-medium py-3 ${un().split(" ")[1]} border-b border-white/5`)},"Distance",2),oe("th",{class:ko(`text-left text-dark-text text-xs font-medium py-3 ${un().split(" ")[1]} border-b border-white/5`)},"Route Type",2),oe("th",{class:ko(`text-left text-dark-text text-xs font-medium py-3 ${un().split(" ")[1]} border-b border-white/5`)},"RSSI",2),oe("th",{class:ko(`text-left text-dark-text text-xs font-medium py-3 ${un().split(" ")[1]} border-b border-white/5`)},"SNR",2),oe("th",{class:ko(`text-left text-dark-text text-xs font-medium py-3 ${un().split(" ")[1]} border-b border-white/5`)},"Last Seen",2),oe("th",{class:ko(`text-left text-dark-text text-xs font-medium py-3 ${un().split(" ")[1]} border-b border-white/5`)},"First Seen",2),oe("th",{class:ko(`text-left text-dark-text text-xs font-medium py-3 ${un().split(" ")[1]} border-b border-white/5`)},"Advert Count",2)])]),oe("tbody",qst,[(ii(!0),gi(cu,null,Yc(qr.adverts,Nn=>(ii(),gi("tr",{key:Nn.id,class:"hover:bg-white/5 transition-colors",onMouseenter:si=>Dn(Nn.pubkey),onMouseleave:si=>Xn(Nn.pubkey)},[oe("td",{class:ko(un())},[Al(oP,{neighbor:Nn,onPing:Ni,onDelete:zi},null,8,["neighbor"])],2),oe("td",{class:ko(`${un()} text-white text-sm`)},mi(Nn.node_name||"Unknown"),3),oe("td",{class:ko(`${un()} text-white text-sm font-mono`)},[oe("button",{onClick:si=>fn(Nn.pubkey),class:ko(["text-white hover:text-primary-light transition-colors cursor-pointer underline underline-offset-2 decoration-white/30 hover:decoration-primary-light/60",E.value===Nn.pubkey?"text-green-400 decoration-green-400/60":""]),title:E.value===Nn.pubkey?"Copied!":"Click to copy full public key"},[Zu(mi(_t(Nn.pubkey))+" ",1),E.value===Nn.pubkey?(ii(),gi("span",Gst,"✓")):Oo("",!0)],10,Zst)],2),oe("td",{class:ko(`${un()} text-white text-sm`)},[Nn.latitude!==null&&Nn.longitude!==null?(ii(),gi("div",Yst,[oe("span",Kst,mi(Nn.latitude.toFixed(4))+", "+mi(Nn.longitude.toFixed(4)),1),oe("div",Xst,[oe("button",{onClick:si=>wr(Nn.latitude,Nn.longitude),class:"text-white/60 hover:text-white transition-colors cursor-pointer",title:"Copy coordinates to clipboard"},Si[2]||(Si[2]=[oe("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[oe("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2",stroke:"currentColor","stroke-width":"2"}),oe("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1",stroke:"currentColor","stroke-width":"2"})],-1)]),8,Jst),oe("button",{onClick:si=>Vr(Nn.latitude,Nn.longitude),class:"text-white/60 hover:text-blue-400 transition-colors cursor-pointer",title:"Open in Google Maps"},Si[3]||(Si[3]=[oe("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[oe("path",{d:"M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z",stroke:"currentColor","stroke-width":"2"}),oe("circle",{cx:"12",cy:"10",r:"3",stroke:"currentColor","stroke-width":"2"})],-1)]),8,Qst)])])):(ii(),gi("span",tlt,"Unknown"))],2),oe("td",{class:ko(`${un()} text-white text-sm`)},mi(Le(Nn)),3),oe("td",{class:ko(`${un()} text-white text-sm`)},[oe("span",{class:ko(["inline-block px-2 py-1 rounded-full text-xs border transition-colors",It(Nn.route_type).bgColor,It(Nn.route_type).borderColor,It(Nn.route_type).textColor])},mi(It(Nn.route_type).text),3)],2),oe("td",{class:ko(`${un()} text-white text-sm`)},[oe("div",elt,[oe("div",rlt,[(ii(),gi(cu,null,Yc(5,si=>oe("div",{key:si,class:ko(["w-1 transition-colors",si<=Dt(Nn.rssi).bars?Dt(Nn.rssi).color:"text-gray-600"]),style:G0({height:`${4+si*2}px`})},Si[4]||(Si[4]=[oe("div",{class:"w-full h-full bg-current rounded-sm"},null,-1)]),6)),64))]),oe("span",{class:ko(Dt(Nn.rssi).color)},mi(jt(Nn.rssi)),3)])],2),oe("td",{class:ko(`${un()} text-white text-sm`)},mi(te(Nn.snr)),3),oe("td",{class:ko(`${un()} text-white text-sm`)},[oe("div",nlt,[oe("div",{class:ko(["w-2 h-2 rounded-full",Tr(Nn.last_seen).color==="text-green-400"?"bg-green-400":"",Tr(Nn.last_seen).color==="text-yellow-400"?"bg-yellow-400":"",Tr(Nn.last_seen).color==="text-red-400"?"bg-red-400":""])},null,2),oe("span",{class:ko([Tr(Nn.last_seen).color,"cursor-help"]),title:dt(Nn.last_seen)},mi(fr(Nn.last_seen)),11,ilt)])],2),oe("td",{class:ko(`${un()} text-white text-sm`)},[oe("span",{title:dt(Nn.first_seen),class:"cursor-help"},mi(fr(Nn.first_seen)),9,alt)],2),oe("td",{class:ko(`${un()} text-white text-sm text-center`)},mi(Nn.advert_count),3)],40,$st))),128))])])]),oe("div",olt,[(ii(!0),gi(cu,null,Yc(qr.adverts,Nn=>(ii(),gi("div",{key:Nn.id,class:"bg-dark-bg/30 border border-white/10 rounded-lg p-4 hover:bg-white/5 transition-colors",onClick:si=>Dn(Nn.pubkey)},[oe("div",llt,[oe("div",ult,[oe("h4",clt,mi(Nn.node_name||"Unknown Node"),1),oe("span",{class:ko(["inline-block px-2 py-1 rounded-full text-xs border",It(Nn.route_type).bgColor,It(Nn.route_type).borderColor,It(Nn.route_type).textColor])},mi(It(Nn.route_type).text),3)]),Al(oP,{neighbor:Nn,onPing:Ni,onDelete:zi},null,8,["neighbor"])]),oe("div",hlt,[oe("div",flt,[oe("div",null,[Si[5]||(Si[5]=oe("div",{class:"text-dark-text text-xs mb-1"},"Public Key",-1)),oe("button",{onClick:si=>fn(Nn.pubkey),class:ko(["text-white hover:text-primary-light transition-colors cursor-pointer font-mono text-sm underline underline-offset-2 decoration-white/30 hover:decoration-primary-light/60 break-all",E.value===Nn.pubkey?"text-green-400 decoration-green-400/60":""]),title:E.value===Nn.pubkey?"Copied!":"Click to copy full public key"},[Zu(mi(_t(Nn.pubkey))+" ",1),E.value===Nn.pubkey?(ii(),gi("span",plt,"✓")):Oo("",!0)],10,dlt)]),oe("div",null,[Si[7]||(Si[7]=oe("div",{class:"text-dark-text text-xs mb-1"},"Signal",-1)),oe("div",mlt,[oe("div",glt,[(ii(),gi(cu,null,Yc(5,si=>oe("div",{key:si,class:ko(["w-1.5 transition-colors",si<=Dt(Nn.rssi).bars?Dt(Nn.rssi).color:"text-gray-600"]),style:G0({height:`${6+si*2}px`})},Si[6]||(Si[6]=[oe("div",{class:"w-full h-full bg-current rounded-sm"},null,-1)]),6)),64))]),oe("span",{class:ko(`${Dt(Nn.rssi).color} text-sm font-medium`)},mi(jt(Nn.rssi)),3)])])]),oe("div",vlt,[oe("div",null,[Si[8]||(Si[8]=oe("div",{class:"text-dark-text text-xs mb-1"},"Last Seen",-1)),oe("div",ylt,[oe("div",{class:ko(["w-2 h-2 rounded-full",Tr(Nn.last_seen).color==="text-green-400"?"bg-green-400":"",Tr(Nn.last_seen).color==="text-yellow-400"?"bg-yellow-400":"",Tr(Nn.last_seen).color==="text-red-400"?"bg-red-400":""])},null,2),oe("span",{class:ko(`${Tr(Nn.last_seen).color} text-sm`),title:dt(Nn.last_seen)},mi(fr(Nn.last_seen)),11,xlt)])]),oe("div",null,[Si[9]||(Si[9]=oe("div",{class:"text-dark-text text-xs mb-1"},"Distance",-1)),oe("span",_lt,mi(Le(Nn)),1)])]),Nn.latitude!==null&&Nn.longitude!==null?(ii(),gi("div",blt,[Si[12]||(Si[12]=oe("div",{class:"text-dark-text text-xs mb-1"},"Location",-1)),oe("div",wlt,[oe("span",klt,mi(Nn.latitude.toFixed(4))+", "+mi(Nn.longitude.toFixed(4)),1),oe("div",Tlt,[oe("button",{onClick:si=>wr(Nn.latitude,Nn.longitude),class:"text-white/60 hover:text-white transition-colors p-2 hover:bg-white/10 rounded-lg",title:"Copy coordinates"},Si[10]||(Si[10]=[oe("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[oe("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2",stroke:"currentColor","stroke-width":"2"}),oe("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1",stroke:"currentColor","stroke-width":"2"})],-1)]),8,Alt),oe("button",{onClick:si=>Vr(Nn.latitude,Nn.longitude),class:"text-white/60 hover:text-blue-400 transition-colors p-2 hover:bg-white/10 rounded-lg",title:"Open in Maps"},Si[11]||(Si[11]=[oe("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[oe("path",{d:"M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z",stroke:"currentColor","stroke-width":"2"}),oe("circle",{cx:"12",cy:"10",r:"3",stroke:"currentColor","stroke-width":"2"})],-1)]),8,Mlt)])])])):Oo("",!0),oe("div",Slt,[oe("div",Elt,[Si[13]||(Si[13]=oe("div",{class:"text-dark-text text-xs mb-1"},"SNR",-1)),oe("span",Clt,mi(te(Nn.snr)),1)]),oe("div",Llt,[Si[14]||(Si[14]=oe("div",{class:"text-dark-text text-xs mb-1"},"Adverts",-1)),oe("span",Plt,mi(Nn.advert_count),1)]),oe("div",Ilt,[Si[15]||(Si[15]=oe("div",{class:"text-dark-text text-xs mb-1"},"First Seen",-1)),oe("span",{class:"text-white text-sm",title:dt(Nn.first_seen)},mi(fr(Nn.first_seen)),9,zlt)])])])],8,slt))),128))])]))}}),Dlt={class:"space-y-6"},Flt={key:0,class:"flex items-center justify-center py-12"},Blt={key:1,class:"bg-accent-red/10 border border-accent-red/20 rounded-[15px] p-6"},Rlt={class:"flex items-center gap-3"},Nlt={class:"text-accent-red/80 text-sm"},jlt={key:0,class:"text-center py-12"},Ult=Ec({name:"NeighborsView",__name:"Neighbors",setup(d){const s=Dm(),E={0:"Unknown",1:"Chat Node",2:"Repeater",3:"Room Server",4:"Hybrid Node"},R={0:"#6b7280",1:"#60a5fa",2:"#34d399",3:"#a855f7",4:"#f59e0b"},K=ja({}),dt=ja(!0),_t=ja(null),It=ja(!1),jt=ja(typeof window<"u"?window.innerWidth>=1024:!0),te=ja(!1),le=ja(null),Le=qo(()=>{if(!le.value)return null;const qr=le.value;return{id:qr.id,pubkey:qr.pubkey,node_name:qr.node_name,contact_type:qr.contact_type,latitude:qr.latitude,longitude:qr.longitude,rssi:qr.rssi,snr:qr.snr,route_type:qr.route_type,last_seen:qr.last_seen,first_seen:qr.first_seen,advert_count:qr.advert_count,timestamp:qr.timestamp,is_repeater:qr.is_repeater,is_new_neighbor:qr.is_new_neighbor}}),Je=qo(()=>s.stats?.config?.repeater?.latitude),fr=qo(()=>s.stats?.config?.repeater?.longitude),Tr=qo(()=>Object.entries(E).filter(([qr])=>K.value[qr]?.length>0).sort(([qr],[Si])=>parseInt(qr)-parseInt(Si))),wr=qo(()=>Object.values(K.value).flat().filter(qr=>{const Si=qr.latitude,Nn=qr.longitude;return Si!=null&&Si!==0&&Nn!==null&&Nn!==void 0&&Nn!==0&&typeof Si=="number"&&typeof Nn=="number"&&!isNaN(Si)&&!isNaN(Nn)})),Vr=async qr=>{try{const Si=await oh.get(`/adverts_by_contact_type?contact_type=${encodeURIComponent(qr)}&hours=168`);return Si.success&&Array.isArray(Si.data)?Si.data:[]}catch(Si){return console.error(`Error fetching adverts for contact type ${qr}:`,Si),[]}},fn=async()=>{dt.value=!0,_t.value=null;try{K.value={};for(const[qr,Si]of Object.entries(E)){const Nn=await Vr(Si);Nn.length>0&&(K.value[qr]=Nn)}}catch(qr){console.error("Error loading adverts:",qr),_t.value=qr instanceof Error?qr.message:"Failed to load neighbor data"}finally{dt.value=!1}},Dt=ja(),un=qr=>{Dt.value?.highlightNode(qr)},Qn=qr=>{Dt.value?.unhighlightNode(qr)},Dn=async qr=>{const Si=qr;try{const Nn=await oh.post("/ping_neighbor",{pubkey:Si.pubkey});Nn.success?console.log("Ping sent successfully"):console.error("Failed to ping neighbor:",Nn.error)}catch(Nn){console.error("Error pinging neighbor:",Nn)}},Xn=qr=>{le.value=qr,te.value=!0},Ni=()=>{te.value=!1,le.value=null},zi=async qr=>{try{await oh.deleteAdvert(qr),await fn(),Ni()}catch(Si){console.error("Error deleting neighbor:",Si)}};return op(async()=>{await fn()}),(qr,Si)=>(ii(),gi("div",Dlt,[dt.value?(ii(),gi("div",Flt,Si[2]||(Si[2]=[oe("div",{class:"text-center"},[oe("div",{class:"animate-spin rounded-full h-12 w-12 border-b-2 border-primary mx-auto mb-4"}),oe("p",{class:"text-dark-text"},"Loading neighbor data...")],-1)]))):_t.value?(ii(),gi("div",Blt,[oe("div",Rlt,[Si[4]||(Si[4]=oe("svg",{class:"w-5 h-5 text-accent-red",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[oe("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-2.5L13.732 4c-.77-.833-1.964-.833-2.732 0L4.082 16.5c-.77.833.192 2.5 1.732 2.5z"})],-1)),oe("div",null,[Si[3]||(Si[3]=oe("h3",{class:"text-accent-red font-medium"},"Error Loading Neighbors",-1)),oe("p",Nlt,mi(_t.value),1)])])])):(ii(),gi(cu,{key:2},[Al(Ost,{ref_key:"networkMapRef",ref:Dt,adverts:wr.value,"base-latitude":Je.value,"base-longitude":fr.value,"show-legend":jt.value,"onUpdate:showLegend":Si[0]||(Si[0]=Nn=>jt.value=Nn)},null,8,["adverts","base-latitude","base-longitude","show-legend"]),(ii(!0),gi(cu,null,Yc(Tr.value,([Nn,si])=>(ii(),gi("div",{key:Nn,class:"space-y-6"},[Al(Olt,{"contact-type":si,"contact-type-key":Nn,adverts:K.value[Nn],color:R[parseInt(Nn)],"base-latitude":Je.value,"base-longitude":fr.value,"is-compact-view":It.value,"is-first-table":Nn===Tr.value[0]?.[0],"show-view-toggle":Tr.value.length>0,onHighlightNode:un,onUnhighlightNode:Qn,onMenuPing:Dn,onMenuDelete:Xn,onToggleView:Si[1]||(Si[1]=Hn=>It.value=!It.value)},null,8,["contact-type","contact-type-key","adverts","color","base-latitude","base-longitude","is-compact-view","is-first-table","show-view-toggle"])]))),128)),Tr.value.length===0?(ii(),gi("div",jlt,[Si[5]||(Si[5]=Tf('No Neighbors FoundNo mesh neighbors have been discovered in your area yet.',3)),oe("button",{onClick:fn,class:"mt-4 px-4 py-2 bg-primary/20 text-primary border border-primary/30 rounded-lg hover:bg-primary/30 transition-colors"}," Refresh ")])):Oo("",!0)],64)),Al(xst,{show:te.value,neighbor:Le.value,onClose:Ni,onDelete:zi},null,8,["show","neighbor"])]))}});/*! * @kurkle/color v0.3.4 * https://github.com/kurkle/color#readme * (c) 2024 Jukka Kurkela * Released under the MIT License - */function lw(d){return d+.5|0}const f1=(d,s,E)=>Math.max(Math.min(d,E),s);function y2(d){return f1(lw(d*2.55),0,255)}function y1(d){return f1(lw(d*255),0,255)}function tv(d){return f1(lw(d/2.55)/100,0,1)}function sP(d){return f1(lw(d*100),0,100)}const sm={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},CA=[..."0123456789ABCDEF"],dlt=d=>CA[d&15],plt=d=>CA[(d&240)>>4]+CA[d&15],D5=d=>(d&240)>>4===(d&15),mlt=d=>D5(d.r)&&D5(d.g)&&D5(d.b)&&D5(d.a);function glt(d){var s=d.length,E;return d[0]==="#"&&(s===4||s===5?E={r:255&sm[d[1]]*17,g:255&sm[d[2]]*17,b:255&sm[d[3]]*17,a:s===5?sm[d[4]]*17:255}:(s===7||s===9)&&(E={r:sm[d[1]]<<4|sm[d[2]],g:sm[d[3]]<<4|sm[d[4]],b:sm[d[5]]<<4|sm[d[6]],a:s===9?sm[d[7]]<<4|sm[d[8]]:255})),E}const vlt=(d,s)=>d<255?s(d):"";function ylt(d){var s=mlt(d)?dlt:plt;return d?"#"+s(d.r)+s(d.g)+s(d.b)+vlt(d.a,s):void 0}const xlt=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function aD(d,s,E){const R=s*Math.min(E,1-E),K=(dt,_t=(dt+d/30)%12)=>E-R*Math.max(Math.min(_t-3,9-_t,1),-1);return[K(0),K(8),K(4)]}function _lt(d,s,E){const R=(K,dt=(K+d/60)%6)=>E-E*s*Math.max(Math.min(dt,4-dt,1),0);return[R(5),R(3),R(1)]}function blt(d,s,E){const R=aD(d,1,.5);let K;for(s+E>1&&(K=1/(s+E),s*=K,E*=K),K=0;K<3;K++)R[K]*=1-s-E,R[K]+=s;return R}function wlt(d,s,E,R,K){return d===K?(s-E)/R+(s.5?se/(2-dt-_t):se/(dt+_t),jt=wlt(E,R,K,se,dt),jt=jt*60+.5),[jt|0,te||0,zt]}function vM(d,s,E,R){return(Array.isArray(s)?d(s[0],s[1],s[2]):d(s,E,R)).map(y1)}function yM(d,s,E){return vM(aD,d,s,E)}function klt(d,s,E){return vM(blt,d,s,E)}function Tlt(d,s,E){return vM(_lt,d,s,E)}function oD(d){return(d%360+360)%360}function Alt(d){const s=xlt.exec(d);let E=255,R;if(!s)return;s[5]!==R&&(E=s[6]?y2(+s[5]):y1(+s[5]));const K=oD(+s[2]),dt=+s[3]/100,_t=+s[4]/100;return s[1]==="hwb"?R=klt(K,dt,_t):s[1]==="hsv"?R=Tlt(K,dt,_t):R=yM(K,dt,_t),{r:R[0],g:R[1],b:R[2],a:E}}function Mlt(d,s){var E=gM(d);E[0]=oD(E[0]+s),E=yM(E),d.r=E[0],d.g=E[1],d.b=E[2]}function Slt(d){if(!d)return;const s=gM(d),E=s[0],R=sP(s[1]),K=sP(s[2]);return d.a<255?`hsla(${E}, ${R}%, ${K}%, ${tv(d.a)})`:`hsl(${E}, ${R}%, ${K}%)`}const lP={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},uP={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};function Elt(){const d={},s=Object.keys(uP),E=Object.keys(lP);let R,K,dt,_t,zt;for(R=0;R>16&255,dt>>8&255,dt&255]}return d}let F5;function Clt(d){F5||(F5=Elt(),F5.transparent=[0,0,0,0]);const s=F5[d.toLowerCase()];return s&&{r:s[0],g:s[1],b:s[2],a:s.length===4?s[3]:255}}const Llt=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function Plt(d){const s=Llt.exec(d);let E=255,R,K,dt;if(s){if(s[7]!==R){const _t=+s[7];E=s[8]?y2(_t):f1(_t*255,0,255)}return R=+s[1],K=+s[3],dt=+s[5],R=255&(s[2]?y2(R):f1(R,0,255)),K=255&(s[4]?y2(K):f1(K,0,255)),dt=255&(s[6]?y2(dt):f1(dt,0,255)),{r:R,g:K,b:dt,a:E}}}function zlt(d){return d&&(d.a<255?`rgba(${d.r}, ${d.g}, ${d.b}, ${tv(d.a)})`:`rgb(${d.r}, ${d.g}, ${d.b})`)}const U8=d=>d<=.0031308?d*12.92:Math.pow(d,1/2.4)*1.055-.055,n_=d=>d<=.04045?d/12.92:Math.pow((d+.055)/1.055,2.4);function Ilt(d,s,E){const R=n_(tv(d.r)),K=n_(tv(d.g)),dt=n_(tv(d.b));return{r:y1(U8(R+E*(n_(tv(s.r))-R))),g:y1(U8(K+E*(n_(tv(s.g))-K))),b:y1(U8(dt+E*(n_(tv(s.b))-dt))),a:d.a+E*(s.a-d.a)}}function B5(d,s,E){if(d){let R=gM(d);R[s]=Math.max(0,Math.min(R[s]+R[s]*E,s===0?360:1)),R=yM(R),d.r=R[0],d.g=R[1],d.b=R[2]}}function sD(d,s){return d&&Object.assign(s||{},d)}function cP(d){var s={r:0,g:0,b:0,a:255};return Array.isArray(d)?d.length>=3&&(s={r:d[0],g:d[1],b:d[2],a:255},d.length>3&&(s.a=y1(d[3]))):(s=sD(d,{r:0,g:0,b:0,a:1}),s.a=y1(s.a)),s}function Olt(d){return d.charAt(0)==="r"?Plt(d):Alt(d)}class q2{constructor(s){if(s instanceof q2)return s;const E=typeof s;let R;E==="object"?R=cP(s):E==="string"&&(R=glt(s)||Clt(s)||Olt(s)),this._rgb=R,this._valid=!!R}get valid(){return this._valid}get rgb(){var s=sD(this._rgb);return s&&(s.a=tv(s.a)),s}set rgb(s){this._rgb=cP(s)}rgbString(){return this._valid?zlt(this._rgb):void 0}hexString(){return this._valid?ylt(this._rgb):void 0}hslString(){return this._valid?Slt(this._rgb):void 0}mix(s,E){if(s){const R=this.rgb,K=s.rgb;let dt;const _t=E===dt?.5:E,zt=2*_t-1,jt=R.a-K.a,te=((zt*jt===-1?zt:(zt+jt)/(1+zt*jt))+1)/2;dt=1-te,R.r=255&te*R.r+dt*K.r+.5,R.g=255&te*R.g+dt*K.g+.5,R.b=255&te*R.b+dt*K.b+.5,R.a=_t*R.a+(1-_t)*K.a,this.rgb=R}return this}interpolate(s,E){return s&&(this._rgb=Ilt(this._rgb,s._rgb,E)),this}clone(){return new q2(this.rgb)}alpha(s){return this._rgb.a=y1(s),this}clearer(s){const E=this._rgb;return E.a*=1-s,this}greyscale(){const s=this._rgb,E=lw(s.r*.3+s.g*.59+s.b*.11);return s.r=s.g=s.b=E,this}opaquer(s){const E=this._rgb;return E.a*=1+s,this}negate(){const s=this._rgb;return s.r=255-s.r,s.g=255-s.g,s.b=255-s.b,this}lighten(s){return B5(this._rgb,2,s),this}darken(s){return B5(this._rgb,2,-s),this}saturate(s){return B5(this._rgb,1,s),this}desaturate(s){return B5(this._rgb,1,-s),this}rotate(s){return Mlt(this._rgb,s),this}}/*! + */function lw(d){return d+.5|0}const f1=(d,s,E)=>Math.max(Math.min(d,E),s);function y2(d){return f1(lw(d*2.55),0,255)}function y1(d){return f1(lw(d*255),0,255)}function tv(d){return f1(lw(d/2.55)/100,0,1)}function sP(d){return f1(lw(d*100),0,100)}const sm={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},CA=[..."0123456789ABCDEF"],Vlt=d=>CA[d&15],Hlt=d=>CA[(d&240)>>4]+CA[d&15],D5=d=>(d&240)>>4===(d&15),Wlt=d=>D5(d.r)&&D5(d.g)&&D5(d.b)&&D5(d.a);function qlt(d){var s=d.length,E;return d[0]==="#"&&(s===4||s===5?E={r:255&sm[d[1]]*17,g:255&sm[d[2]]*17,b:255&sm[d[3]]*17,a:s===5?sm[d[4]]*17:255}:(s===7||s===9)&&(E={r:sm[d[1]]<<4|sm[d[2]],g:sm[d[3]]<<4|sm[d[4]],b:sm[d[5]]<<4|sm[d[6]],a:s===9?sm[d[7]]<<4|sm[d[8]]:255})),E}const $lt=(d,s)=>d<255?s(d):"";function Zlt(d){var s=Wlt(d)?Vlt:Hlt;return d?"#"+s(d.r)+s(d.g)+s(d.b)+$lt(d.a,s):void 0}const Glt=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function aD(d,s,E){const R=s*Math.min(E,1-E),K=(dt,_t=(dt+d/30)%12)=>E-R*Math.max(Math.min(_t-3,9-_t,1),-1);return[K(0),K(8),K(4)]}function Ylt(d,s,E){const R=(K,dt=(K+d/60)%6)=>E-E*s*Math.max(Math.min(dt,4-dt,1),0);return[R(5),R(3),R(1)]}function Klt(d,s,E){const R=aD(d,1,.5);let K;for(s+E>1&&(K=1/(s+E),s*=K,E*=K),K=0;K<3;K++)R[K]*=1-s-E,R[K]+=s;return R}function Xlt(d,s,E,R,K){return d===K?(s-E)/R+(s.5?le/(2-dt-_t):le/(dt+_t),jt=Xlt(E,R,K,le,dt),jt=jt*60+.5),[jt|0,te||0,It]}function vM(d,s,E,R){return(Array.isArray(s)?d(s[0],s[1],s[2]):d(s,E,R)).map(y1)}function yM(d,s,E){return vM(aD,d,s,E)}function Jlt(d,s,E){return vM(Klt,d,s,E)}function Qlt(d,s,E){return vM(Ylt,d,s,E)}function oD(d){return(d%360+360)%360}function tut(d){const s=Glt.exec(d);let E=255,R;if(!s)return;s[5]!==R&&(E=s[6]?y2(+s[5]):y1(+s[5]));const K=oD(+s[2]),dt=+s[3]/100,_t=+s[4]/100;return s[1]==="hwb"?R=Jlt(K,dt,_t):s[1]==="hsv"?R=Qlt(K,dt,_t):R=yM(K,dt,_t),{r:R[0],g:R[1],b:R[2],a:E}}function eut(d,s){var E=gM(d);E[0]=oD(E[0]+s),E=yM(E),d.r=E[0],d.g=E[1],d.b=E[2]}function rut(d){if(!d)return;const s=gM(d),E=s[0],R=sP(s[1]),K=sP(s[2]);return d.a<255?`hsla(${E}, ${R}%, ${K}%, ${tv(d.a)})`:`hsl(${E}, ${R}%, ${K}%)`}const lP={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},uP={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};function nut(){const d={},s=Object.keys(uP),E=Object.keys(lP);let R,K,dt,_t,It;for(R=0;R>16&255,dt>>8&255,dt&255]}return d}let F5;function iut(d){F5||(F5=nut(),F5.transparent=[0,0,0,0]);const s=F5[d.toLowerCase()];return s&&{r:s[0],g:s[1],b:s[2],a:s.length===4?s[3]:255}}const aut=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function out(d){const s=aut.exec(d);let E=255,R,K,dt;if(s){if(s[7]!==R){const _t=+s[7];E=s[8]?y2(_t):f1(_t*255,0,255)}return R=+s[1],K=+s[3],dt=+s[5],R=255&(s[2]?y2(R):f1(R,0,255)),K=255&(s[4]?y2(K):f1(K,0,255)),dt=255&(s[6]?y2(dt):f1(dt,0,255)),{r:R,g:K,b:dt,a:E}}}function sut(d){return d&&(d.a<255?`rgba(${d.r}, ${d.g}, ${d.b}, ${tv(d.a)})`:`rgb(${d.r}, ${d.g}, ${d.b})`)}const U8=d=>d<=.0031308?d*12.92:Math.pow(d,1/2.4)*1.055-.055,n_=d=>d<=.04045?d/12.92:Math.pow((d+.055)/1.055,2.4);function lut(d,s,E){const R=n_(tv(d.r)),K=n_(tv(d.g)),dt=n_(tv(d.b));return{r:y1(U8(R+E*(n_(tv(s.r))-R))),g:y1(U8(K+E*(n_(tv(s.g))-K))),b:y1(U8(dt+E*(n_(tv(s.b))-dt))),a:d.a+E*(s.a-d.a)}}function B5(d,s,E){if(d){let R=gM(d);R[s]=Math.max(0,Math.min(R[s]+R[s]*E,s===0?360:1)),R=yM(R),d.r=R[0],d.g=R[1],d.b=R[2]}}function sD(d,s){return d&&Object.assign(s||{},d)}function cP(d){var s={r:0,g:0,b:0,a:255};return Array.isArray(d)?d.length>=3&&(s={r:d[0],g:d[1],b:d[2],a:255},d.length>3&&(s.a=y1(d[3]))):(s=sD(d,{r:0,g:0,b:0,a:1}),s.a=y1(s.a)),s}function uut(d){return d.charAt(0)==="r"?out(d):tut(d)}class q2{constructor(s){if(s instanceof q2)return s;const E=typeof s;let R;E==="object"?R=cP(s):E==="string"&&(R=qlt(s)||iut(s)||uut(s)),this._rgb=R,this._valid=!!R}get valid(){return this._valid}get rgb(){var s=sD(this._rgb);return s&&(s.a=tv(s.a)),s}set rgb(s){this._rgb=cP(s)}rgbString(){return this._valid?sut(this._rgb):void 0}hexString(){return this._valid?Zlt(this._rgb):void 0}hslString(){return this._valid?rut(this._rgb):void 0}mix(s,E){if(s){const R=this.rgb,K=s.rgb;let dt;const _t=E===dt?.5:E,It=2*_t-1,jt=R.a-K.a,te=((It*jt===-1?It:(It+jt)/(1+It*jt))+1)/2;dt=1-te,R.r=255&te*R.r+dt*K.r+.5,R.g=255&te*R.g+dt*K.g+.5,R.b=255&te*R.b+dt*K.b+.5,R.a=_t*R.a+(1-_t)*K.a,this.rgb=R}return this}interpolate(s,E){return s&&(this._rgb=lut(this._rgb,s._rgb,E)),this}clone(){return new q2(this.rgb)}alpha(s){return this._rgb.a=y1(s),this}clearer(s){const E=this._rgb;return E.a*=1-s,this}greyscale(){const s=this._rgb,E=lw(s.r*.3+s.g*.59+s.b*.11);return s.r=s.g=s.b=E,this}opaquer(s){const E=this._rgb;return E.a*=1+s,this}negate(){const s=this._rgb;return s.r=255-s.r,s.g=255-s.g,s.b=255-s.b,this}lighten(s){return B5(this._rgb,2,s),this}darken(s){return B5(this._rgb,2,-s),this}saturate(s){return B5(this._rgb,1,s),this}desaturate(s){return B5(this._rgb,1,-s),this}rotate(s){return eut(this._rgb,s),this}}/*! * Chart.js v4.5.1 * https://www.chartjs.org * (c) 2025 Chart.js Contributors * Released under the MIT License - */function Kg(){}const Dlt=(()=>{let d=0;return()=>d++})();function Nh(d){return d==null}function Yd(d){if(Array.isArray&&Array.isArray(d))return!0;const s=Object.prototype.toString.call(d);return s.slice(0,7)==="[object"&&s.slice(-6)==="Array]"}function Sc(d){return d!==null&&Object.prototype.toString.call(d)==="[object Object]"}function t0(d){return(typeof d=="number"||d instanceof Number)&&isFinite(+d)}function og(d,s){return t0(d)?d:s}function cc(d,s){return typeof d>"u"?s:d}const Flt=(d,s)=>typeof d=="string"&&d.endsWith("%")?parseFloat(d)/100:+d/s,lD=(d,s)=>typeof d=="string"&&d.endsWith("%")?parseFloat(d)/100*s:+d;function Df(d,s,E){if(d&&typeof d.call=="function")return d.apply(E,s)}function Jh(d,s,E,R){let K,dt,_t;if(Yd(d))for(dt=d.length,K=0;Kd,x:d=>d.x,y:d=>d.y};function Nlt(d){const s=d.split("."),E=[];let R="";for(const K of s)R+=K,R.endsWith("\\")?R=R.slice(0,-1)+".":(E.push(R),R="");return E}function jlt(d){const s=Nlt(d);return E=>{for(const R of s){if(R==="")break;E=E&&E[R]}return E}}function Py(d,s){return(hP[s]||(hP[s]=jlt(s)))(d)}function xM(d){return d.charAt(0).toUpperCase()+d.slice(1)}const Z2=d=>typeof d<"u",b1=d=>typeof d=="function",fP=(d,s)=>{if(d.size!==s.size)return!1;for(const E of d)if(!s.has(E))return!1;return!0};function Ult(d){return d.type==="mouseup"||d.type==="click"||d.type==="contextmenu"}const Qh=Math.PI,sd=2*Qh,Vlt=sd+Qh,b4=Number.POSITIVE_INFINITY,Hlt=Qh/180,ip=Qh/2,fy=Qh/4,dP=Qh*2/3,cD=Math.log10,gg=Math.sign;function P2(d,s,E){return Math.abs(d-s)K-dt).pop(),s}function qlt(d){return typeof d=="symbol"||typeof d=="object"&&d!==null&&!(Symbol.toPrimitive in d||"toString"in d||"valueOf"in d)}function G2(d){return!qlt(d)&&!isNaN(parseFloat(d))&&isFinite(d)}function $lt(d,s){const E=Math.round(d);return E-s<=d&&E+s>=d}function Zlt(d,s,E){let R,K,dt;for(R=0,K=d.length;Rjt&&te=Math.min(s,E)-R&&d<=Math.max(s,E)+R}function _M(d,s,E){E=E||(_t=>d[_t]1;)dt=K+R>>1,E(dt)?K=dt:R=dt;return{lo:K,hi:R}}const ky=(d,s,E,R)=>_M(d,E,R?K=>{const dt=d[K][s];return dtd[K][s]_M(d,E,R=>d[R][s]>=E);function Jlt(d,s,E){let R=0,K=d.length;for(;RR&&d[K-1]>E;)K--;return R>0||K{const R="_onData"+xM(E),K=d[E];Object.defineProperty(d,E,{configurable:!0,enumerable:!1,value(...dt){const _t=K.apply(this,dt);return d._chartjs.listeners.forEach(zt=>{typeof zt[R]=="function"&&zt[R](...dt)}),_t}})})}function gP(d,s){const E=d._chartjs;if(!E)return;const R=E.listeners,K=R.indexOf(s);K!==-1&&R.splice(K,1),!(R.length>0)&&(fD.forEach(dt=>{delete d[dt]}),delete d._chartjs)}function dD(d){const s=new Set(d);return s.size===d.length?d:Array.from(s)}const pD=function(){return typeof window>"u"?function(d){return d()}:window.requestAnimationFrame}();function mD(d,s){let E=[],R=!1;return function(...K){E=K,R||(R=!0,pD.call(window,()=>{R=!1,d.apply(s,E)}))}}function tut(d,s){let E;return function(...R){return s?(clearTimeout(E),E=setTimeout(d,s,R)):d.apply(this,R),s}}const bM=d=>d==="start"?"left":d==="end"?"right":"center",qp=(d,s,E)=>d==="start"?s:d==="end"?E:(s+E)/2,eut=(d,s,E,R)=>d===(R?"left":"right")?E:d==="center"?(s+E)/2:s;function rut(d,s,E){const R=s.length;let K=0,dt=R;if(d._sorted){const{iScale:_t,vScale:zt,_parsed:jt}=d,te=d.dataset&&d.dataset.options?d.dataset.options.spanGaps:null,se=_t.axis,{min:Le,max:Je,minDefined:fr,maxDefined:Tr}=_t.getUserBounds();if(fr){if(K=Math.min(ky(jt,se,Le).lo,E?R:ky(s,se,_t.getPixelForValue(Le)).lo),te){const wr=jt.slice(0,K+1).reverse().findIndex(Vr=>!Nh(Vr[zt.axis]));K-=Math.max(0,wr)}K=Jp(K,0,R-1)}if(Tr){let wr=Math.max(ky(jt,_t.axis,Je,!0).hi+1,E?0:ky(s,se,_t.getPixelForValue(Je),!0).hi+1);if(te){const Vr=jt.slice(wr-1).findIndex(fn=>!Nh(fn[zt.axis]));wr+=Math.max(0,Vr)}dt=Jp(wr,K,R)-K}else dt=R-K}return{start:K,count:dt}}function nut(d){const{xScale:s,yScale:E,_scaleRanges:R}=d,K={xmin:s.min,xmax:s.max,ymin:E.min,ymax:E.max};if(!R)return d._scaleRanges=K,!0;const dt=R.xmin!==s.min||R.xmax!==s.max||R.ymin!==E.min||R.ymax!==E.max;return Object.assign(R,K),dt}const R5=d=>d===0||d===1,vP=(d,s,E)=>-(Math.pow(2,10*(d-=1))*Math.sin((d-s)*sd/E)),yP=(d,s,E)=>Math.pow(2,-10*d)*Math.sin((d-s)*sd/E)+1,z2={linear:d=>d,easeInQuad:d=>d*d,easeOutQuad:d=>-d*(d-2),easeInOutQuad:d=>(d/=.5)<1?.5*d*d:-.5*(--d*(d-2)-1),easeInCubic:d=>d*d*d,easeOutCubic:d=>(d-=1)*d*d+1,easeInOutCubic:d=>(d/=.5)<1?.5*d*d*d:.5*((d-=2)*d*d+2),easeInQuart:d=>d*d*d*d,easeOutQuart:d=>-((d-=1)*d*d*d-1),easeInOutQuart:d=>(d/=.5)<1?.5*d*d*d*d:-.5*((d-=2)*d*d*d-2),easeInQuint:d=>d*d*d*d*d,easeOutQuint:d=>(d-=1)*d*d*d*d+1,easeInOutQuint:d=>(d/=.5)<1?.5*d*d*d*d*d:.5*((d-=2)*d*d*d*d+2),easeInSine:d=>-Math.cos(d*ip)+1,easeOutSine:d=>Math.sin(d*ip),easeInOutSine:d=>-.5*(Math.cos(Qh*d)-1),easeInExpo:d=>d===0?0:Math.pow(2,10*(d-1)),easeOutExpo:d=>d===1?1:-Math.pow(2,-10*d)+1,easeInOutExpo:d=>R5(d)?d:d<.5?.5*Math.pow(2,10*(d*2-1)):.5*(-Math.pow(2,-10*(d*2-1))+2),easeInCirc:d=>d>=1?d:-(Math.sqrt(1-d*d)-1),easeOutCirc:d=>Math.sqrt(1-(d-=1)*d),easeInOutCirc:d=>(d/=.5)<1?-.5*(Math.sqrt(1-d*d)-1):.5*(Math.sqrt(1-(d-=2)*d)+1),easeInElastic:d=>R5(d)?d:vP(d,.075,.3),easeOutElastic:d=>R5(d)?d:yP(d,.075,.3),easeInOutElastic(d){return R5(d)?d:d<.5?.5*vP(d*2,.1125,.45):.5+.5*yP(d*2-1,.1125,.45)},easeInBack(d){return d*d*((1.70158+1)*d-1.70158)},easeOutBack(d){return(d-=1)*d*((1.70158+1)*d+1.70158)+1},easeInOutBack(d){let s=1.70158;return(d/=.5)<1?.5*(d*d*(((s*=1.525)+1)*d-s)):.5*((d-=2)*d*(((s*=1.525)+1)*d+s)+2)},easeInBounce:d=>1-z2.easeOutBounce(1-d),easeOutBounce(d){return d<1/2.75?7.5625*d*d:d<2/2.75?7.5625*(d-=1.5/2.75)*d+.75:d<2.5/2.75?7.5625*(d-=2.25/2.75)*d+.9375:7.5625*(d-=2.625/2.75)*d+.984375},easeInOutBounce:d=>d<.5?z2.easeInBounce(d*2)*.5:z2.easeOutBounce(d*2-1)*.5+.5};function wM(d){if(d&&typeof d=="object"){const s=d.toString();return s==="[object CanvasPattern]"||s==="[object CanvasGradient]"}return!1}function xP(d){return wM(d)?d:new q2(d)}function V8(d){return wM(d)?d:new q2(d).saturate(.5).darken(.1).hexString()}const iut=["x","y","borderWidth","radius","tension"],aut=["color","borderColor","backgroundColor"];function out(d){d.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),d.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:s=>s!=="onProgress"&&s!=="onComplete"&&s!=="fn"}),d.set("animations",{colors:{type:"color",properties:aut},numbers:{type:"number",properties:iut}}),d.describe("animations",{_fallback:"animation"}),d.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:s=>s|0}}}})}function sut(d){d.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}const _P=new Map;function lut(d,s){s=s||{};const E=d+JSON.stringify(s);let R=_P.get(E);return R||(R=new Intl.NumberFormat(d,s),_P.set(E,R)),R}function kM(d,s,E){return lut(s,E).format(d)}const uut={values(d){return Yd(d)?d:""+d},numeric(d,s,E){if(d===0)return"0";const R=this.chart.options.locale;let K,dt=d;if(E.length>1){const te=Math.max(Math.abs(E[0].value),Math.abs(E[E.length-1].value));(te<1e-4||te>1e15)&&(K="scientific"),dt=cut(d,E)}const _t=cD(Math.abs(dt)),zt=isNaN(_t)?1:Math.max(Math.min(-1*Math.floor(_t),20),0),jt={notation:K,minimumFractionDigits:zt,maximumFractionDigits:zt};return Object.assign(jt,this.options.ticks.format),kM(d,R,jt)}};function cut(d,s){let E=s.length>3?s[2].value-s[1].value:s[1].value-s[0].value;return Math.abs(E)>=1&&d!==Math.floor(d)&&(E=d-Math.floor(d)),E}var gD={formatters:uut};function hut(d){d.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",clip:!0,grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(s,E)=>E.lineWidth,tickColor:(s,E)=>E.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:gD.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),d.route("scale.ticks","color","","color"),d.route("scale.grid","color","","borderColor"),d.route("scale.border","color","","borderColor"),d.route("scale.title","color","","color"),d.describe("scale",{_fallback:!1,_scriptable:s=>!s.startsWith("before")&&!s.startsWith("after")&&s!=="callback"&&s!=="parser",_indexable:s=>s!=="borderDash"&&s!=="tickBorderDash"&&s!=="dash"}),d.describe("scales",{_fallback:"scale"}),d.describe("scale.ticks",{_scriptable:s=>s!=="backdropPadding"&&s!=="callback",_indexable:s=>s!=="backdropPadding"})}const zy=Object.create(null),PA=Object.create(null);function I2(d,s){if(!s)return d;const E=s.split(".");for(let R=0,K=E.length;RR.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(R,K)=>V8(K.backgroundColor),this.hoverBorderColor=(R,K)=>V8(K.borderColor),this.hoverColor=(R,K)=>V8(K.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(s),this.apply(E)}set(s,E){return H8(this,s,E)}get(s){return I2(this,s)}describe(s,E){return H8(PA,s,E)}override(s,E){return H8(zy,s,E)}route(s,E,R,K){const dt=I2(this,s),_t=I2(this,R),zt="_"+E;Object.defineProperties(dt,{[zt]:{value:dt[E],writable:!0},[E]:{enumerable:!0,get(){const jt=this[zt],te=_t[K];return Sc(jt)?Object.assign({},te,jt):cc(jt,te)},set(jt){this[zt]=jt}}})}apply(s){s.forEach(E=>E(this))}}var Bd=new fut({_scriptable:d=>!d.startsWith("on"),_indexable:d=>d!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[out,sut,hut]);function dut(d){return!d||Nh(d.size)||Nh(d.family)?null:(d.style?d.style+" ":"")+(d.weight?d.weight+" ":"")+d.size+"px "+d.family}function bP(d,s,E,R,K){let dt=s[K];return dt||(dt=s[K]=d.measureText(K).width,E.push(K)),dt>R&&(R=dt),R}function dy(d,s,E){const R=d.currentDevicePixelRatio,K=E!==0?Math.max(E/2,.5):0;return Math.round((s-K)*R)/R+K}function wP(d,s){!s&&!d||(s=s||d.getContext("2d"),s.save(),s.resetTransform(),s.clearRect(0,0,d.width,d.height),s.restore())}function zA(d,s,E,R){vD(d,s,E,R,null)}function vD(d,s,E,R,K){let dt,_t,zt,jt,te,se,Le,Je;const fr=s.pointStyle,Tr=s.rotation,wr=s.radius;let Vr=(Tr||0)*Hlt;if(fr&&typeof fr=="object"&&(dt=fr.toString(),dt==="[object HTMLImageElement]"||dt==="[object HTMLCanvasElement]")){d.save(),d.translate(E,R),d.rotate(Vr),d.drawImage(fr,-fr.width/2,-fr.height/2,fr.width,fr.height),d.restore();return}if(!(isNaN(wr)||wr<=0)){switch(d.beginPath(),fr){default:K?d.ellipse(E,R,K/2,wr,0,0,sd):d.arc(E,R,wr,0,sd),d.closePath();break;case"triangle":se=K?K/2:wr,d.moveTo(E+Math.sin(Vr)*se,R-Math.cos(Vr)*wr),Vr+=dP,d.lineTo(E+Math.sin(Vr)*se,R-Math.cos(Vr)*wr),Vr+=dP,d.lineTo(E+Math.sin(Vr)*se,R-Math.cos(Vr)*wr),d.closePath();break;case"rectRounded":te=wr*.516,jt=wr-te,_t=Math.cos(Vr+fy)*jt,Le=Math.cos(Vr+fy)*(K?K/2-te:jt),zt=Math.sin(Vr+fy)*jt,Je=Math.sin(Vr+fy)*(K?K/2-te:jt),d.arc(E-Le,R-zt,te,Vr-Qh,Vr-ip),d.arc(E+Je,R-_t,te,Vr-ip,Vr),d.arc(E+Le,R+zt,te,Vr,Vr+ip),d.arc(E-Je,R+_t,te,Vr+ip,Vr+Qh),d.closePath();break;case"rect":if(!Tr){jt=Math.SQRT1_2*wr,se=K?K/2:jt,d.rect(E-se,R-jt,2*se,2*jt);break}Vr+=fy;case"rectRot":Le=Math.cos(Vr)*(K?K/2:wr),_t=Math.cos(Vr)*wr,zt=Math.sin(Vr)*wr,Je=Math.sin(Vr)*(K?K/2:wr),d.moveTo(E-Le,R-zt),d.lineTo(E+Je,R-_t),d.lineTo(E+Le,R+zt),d.lineTo(E-Je,R+_t),d.closePath();break;case"crossRot":Vr+=fy;case"cross":Le=Math.cos(Vr)*(K?K/2:wr),_t=Math.cos(Vr)*wr,zt=Math.sin(Vr)*wr,Je=Math.sin(Vr)*(K?K/2:wr),d.moveTo(E-Le,R-zt),d.lineTo(E+Le,R+zt),d.moveTo(E+Je,R-_t),d.lineTo(E-Je,R+_t);break;case"star":Le=Math.cos(Vr)*(K?K/2:wr),_t=Math.cos(Vr)*wr,zt=Math.sin(Vr)*wr,Je=Math.sin(Vr)*(K?K/2:wr),d.moveTo(E-Le,R-zt),d.lineTo(E+Le,R+zt),d.moveTo(E+Je,R-_t),d.lineTo(E-Je,R+_t),Vr+=fy,Le=Math.cos(Vr)*(K?K/2:wr),_t=Math.cos(Vr)*wr,zt=Math.sin(Vr)*wr,Je=Math.sin(Vr)*(K?K/2:wr),d.moveTo(E-Le,R-zt),d.lineTo(E+Le,R+zt),d.moveTo(E+Je,R-_t),d.lineTo(E-Je,R+_t);break;case"line":_t=K?K/2:Math.cos(Vr)*wr,zt=Math.sin(Vr)*wr,d.moveTo(E-_t,R-zt),d.lineTo(E+_t,R+zt);break;case"dash":d.moveTo(E,R),d.lineTo(E+Math.cos(Vr)*(K?K/2:wr),R+Math.sin(Vr)*wr);break;case!1:d.closePath();break}d.fill(),s.borderWidth>0&&d.stroke()}}function K2(d,s,E){return E=E||.5,!s||d&&d.x>s.left-E&&d.xs.top-E&&d.y0&&dt.strokeColor!=="";let jt,te;for(d.save(),d.font=K.string,gut(d,dt),jt=0;jt<_t.length;++jt)te=_t[jt],dt.backdrop&&yut(d,dt.backdrop),zt&&(dt.strokeColor&&(d.strokeStyle=dt.strokeColor),Nh(dt.strokeWidth)||(d.lineWidth=dt.strokeWidth),d.strokeText(te,E,R,dt.maxWidth)),d.fillText(te,E,R,dt.maxWidth),vut(d,E,R,te,dt),R+=Number(K.lineHeight);d.restore()}function w4(d,s){const{x:E,y:R,w:K,h:dt,radius:_t}=s;d.arc(E+_t.topLeft,R+_t.topLeft,_t.topLeft,1.5*Qh,Qh,!0),d.lineTo(E,R+dt-_t.bottomLeft),d.arc(E+_t.bottomLeft,R+dt-_t.bottomLeft,_t.bottomLeft,Qh,ip,!0),d.lineTo(E+K-_t.bottomRight,R+dt),d.arc(E+K-_t.bottomRight,R+dt-_t.bottomRight,_t.bottomRight,ip,0,!0),d.lineTo(E+K,R+_t.topRight),d.arc(E+K-_t.topRight,R+_t.topRight,_t.topRight,0,-ip,!0),d.lineTo(E+_t.topLeft,R)}const xut=/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/,_ut=/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/;function but(d,s){const E=(""+d).match(xut);if(!E||E[1]==="normal")return s*1.2;switch(d=+E[2],E[3]){case"px":return d;case"%":d/=100;break}return s*d}const wut=d=>+d||0;function TM(d,s){const E={},R=Sc(s),K=R?Object.keys(s):s,dt=Sc(d)?R?_t=>cc(d[_t],d[s[_t]]):_t=>d[_t]:()=>d;for(const _t of K)E[_t]=wut(dt(_t));return E}function yD(d){return TM(d,{top:"y",right:"x",bottom:"y",left:"x"})}function f_(d){return TM(d,["topLeft","topRight","bottomLeft","bottomRight"])}function fm(d){const s=yD(d);return s.width=s.left+s.right,s.height=s.top+s.bottom,s}function Qp(d,s){d=d||{},s=s||Bd.font;let E=cc(d.size,s.size);typeof E=="string"&&(E=parseInt(E,10));let R=cc(d.style,s.style);R&&!(""+R).match(_ut)&&(console.warn('Invalid font style specified: "'+R+'"'),R=void 0);const K={family:cc(d.family,s.family),lineHeight:but(cc(d.lineHeight,s.lineHeight),E),size:E,style:R,weight:cc(d.weight,s.weight),string:""};return K.string=dut(K),K}function N5(d,s,E,R){let K,dt,_t;for(K=0,dt=d.length;KE&&zt===0?0:zt+jt;return{min:_t(R,-Math.abs(dt)),max:_t(K,dt)}}function Dy(d,s){return Object.assign(Object.create(d),s)}function AM(d,s=[""],E,R,K=()=>d[0]){const dt=E||d;typeof R>"u"&&(R=wD("_fallback",d));const _t={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:d,_rootScopes:dt,_fallback:R,_getTarget:K,override:zt=>AM([zt,...d],s,dt,R)};return new Proxy(_t,{deleteProperty(zt,jt){return delete zt[jt],delete zt._keys,delete d[0][jt],!0},get(zt,jt){return _D(zt,jt,()=>Put(jt,s,d,zt))},getOwnPropertyDescriptor(zt,jt){return Reflect.getOwnPropertyDescriptor(zt._scopes[0],jt)},getPrototypeOf(){return Reflect.getPrototypeOf(d[0])},has(zt,jt){return TP(zt).includes(jt)},ownKeys(zt){return TP(zt)},set(zt,jt,te){const se=zt._storage||(zt._storage=K());return zt[jt]=se[jt]=te,delete zt._keys,!0}})}function __(d,s,E,R){const K={_cacheable:!1,_proxy:d,_context:s,_subProxy:E,_stack:new Set,_descriptors:xD(d,R),setContext:dt=>__(d,dt,E,R),override:dt=>__(d.override(dt),s,E,R)};return new Proxy(K,{deleteProperty(dt,_t){return delete dt[_t],delete d[_t],!0},get(dt,_t,zt){return _D(dt,_t,()=>Aut(dt,_t,zt))},getOwnPropertyDescriptor(dt,_t){return dt._descriptors.allKeys?Reflect.has(d,_t)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(d,_t)},getPrototypeOf(){return Reflect.getPrototypeOf(d)},has(dt,_t){return Reflect.has(d,_t)},ownKeys(){return Reflect.ownKeys(d)},set(dt,_t,zt){return d[_t]=zt,delete dt[_t],!0}})}function xD(d,s={scriptable:!0,indexable:!0}){const{_scriptable:E=s.scriptable,_indexable:R=s.indexable,_allKeys:K=s.allKeys}=d;return{allKeys:K,scriptable:E,indexable:R,isScriptable:b1(E)?E:()=>E,isIndexable:b1(R)?R:()=>R}}const Tut=(d,s)=>d?d+xM(s):s,MM=(d,s)=>Sc(s)&&d!=="adapters"&&(Object.getPrototypeOf(s)===null||s.constructor===Object);function _D(d,s,E){if(Object.prototype.hasOwnProperty.call(d,s)||s==="constructor")return d[s];const R=E();return d[s]=R,R}function Aut(d,s,E){const{_proxy:R,_context:K,_subProxy:dt,_descriptors:_t}=d;let zt=R[s];return b1(zt)&&_t.isScriptable(s)&&(zt=Mut(s,zt,d,E)),Yd(zt)&&zt.length&&(zt=Sut(s,zt,d,_t.isIndexable)),MM(s,zt)&&(zt=__(zt,K,dt&&dt[s],_t)),zt}function Mut(d,s,E,R){const{_proxy:K,_context:dt,_subProxy:_t,_stack:zt}=E;if(zt.has(d))throw new Error("Recursion detected: "+Array.from(zt).join("->")+"->"+d);zt.add(d);let jt=s(dt,_t||R);return zt.delete(d),MM(d,jt)&&(jt=SM(K._scopes,K,d,jt)),jt}function Sut(d,s,E,R){const{_proxy:K,_context:dt,_subProxy:_t,_descriptors:zt}=E;if(typeof dt.index<"u"&&R(d))return s[dt.index%s.length];if(Sc(s[0])){const jt=s,te=K._scopes.filter(se=>se!==jt);s=[];for(const se of jt){const Le=SM(te,K,d,se);s.push(__(Le,dt,_t&&_t[d],zt))}}return s}function bD(d,s,E){return b1(d)?d(s,E):d}const Eut=(d,s)=>d===!0?s:typeof d=="string"?Py(s,d):void 0;function Cut(d,s,E,R,K){for(const dt of s){const _t=Eut(E,dt);if(_t){d.add(_t);const zt=bD(_t._fallback,E,K);if(typeof zt<"u"&&zt!==E&&zt!==R)return zt}else if(_t===!1&&typeof R<"u"&&E!==R)return null}return!1}function SM(d,s,E,R){const K=s._rootScopes,dt=bD(s._fallback,E,R),_t=[...d,...K],zt=new Set;zt.add(R);let jt=kP(zt,_t,E,dt||E,R);return jt===null||typeof dt<"u"&&dt!==E&&(jt=kP(zt,_t,dt,jt,R),jt===null)?!1:AM(Array.from(zt),[""],K,dt,()=>Lut(s,E,R))}function kP(d,s,E,R,K){for(;E;)E=Cut(d,s,E,R,K);return E}function Lut(d,s,E){const R=d._getTarget();s in R||(R[s]={});const K=R[s];return Yd(K)&&Sc(E)?E:K||{}}function Put(d,s,E,R){let K;for(const dt of s)if(K=wD(Tut(dt,d),E),typeof K<"u")return MM(d,K)?SM(E,R,d,K):K}function wD(d,s){for(const E of s){if(!E)continue;const R=E[d];if(typeof R<"u")return R}}function TP(d){let s=d._keys;return s||(s=d._keys=zut(d._scopes)),s}function zut(d){const s=new Set;for(const E of d)for(const R of Object.keys(E).filter(K=>!K.startsWith("_")))s.add(R);return Array.from(s)}const Iut=Number.EPSILON||1e-14,b_=(d,s)=>sd==="x"?"y":"x";function Out(d,s,E,R){const K=d.skip?s:d,dt=s,_t=E.skip?s:E,zt=LA(dt,K),jt=LA(_t,dt);let te=zt/(zt+jt),se=jt/(zt+jt);te=isNaN(te)?0:te,se=isNaN(se)?0:se;const Le=R*te,Je=R*se;return{previous:{x:dt.x-Le*(_t.x-K.x),y:dt.y-Le*(_t.y-K.y)},next:{x:dt.x+Je*(_t.x-K.x),y:dt.y+Je*(_t.y-K.y)}}}function Dut(d,s,E){const R=d.length;let K,dt,_t,zt,jt,te=b_(d,0);for(let se=0;se!te.skip)),s.cubicInterpolationMode==="monotone")But(d,K);else{let te=R?d[d.length-1]:d[0];for(dt=0,_t=d.length;dt<_t;++dt)zt=d[dt],jt=Out(te,zt,d[Math.min(dt+1,_t-(R?0:1))%_t],s.tension),zt.cp1x=jt.previous.x,zt.cp1y=jt.previous.y,zt.cp2x=jt.next.x,zt.cp2y=jt.next.y,te=zt}s.capBezierPoints&&Rut(d,E)}function EM(){return typeof window<"u"&&typeof document<"u"}function CM(d){let s=d.parentNode;return s&&s.toString()==="[object ShadowRoot]"&&(s=s.host),s}function k4(d,s,E){let R;return typeof d=="string"?(R=parseInt(d,10),d.indexOf("%")!==-1&&(R=R/100*s.parentNode[E])):R=d,R}const J4=d=>d.ownerDocument.defaultView.getComputedStyle(d,null);function jut(d,s){return J4(d).getPropertyValue(s)}const Uut=["top","right","bottom","left"];function Sy(d,s,E){const R={};E=E?"-"+E:"";for(let K=0;K<4;K++){const dt=Uut[K];R[dt]=parseFloat(d[s+"-"+dt+E])||0}return R.width=R.left+R.right,R.height=R.top+R.bottom,R}const Vut=(d,s,E)=>(d>0||s>0)&&(!E||!E.shadowRoot);function Hut(d,s){const E=d.touches,R=E&&E.length?E[0]:d,{offsetX:K,offsetY:dt}=R;let _t=!1,zt,jt;if(Vut(K,dt,d.target))zt=K,jt=dt;else{const te=s.getBoundingClientRect();zt=R.clientX-te.left,jt=R.clientY-te.top,_t=!0}return{x:zt,y:jt,box:_t}}function gy(d,s){if("native"in d)return d;const{canvas:E,currentDevicePixelRatio:R}=s,K=J4(E),dt=K.boxSizing==="border-box",_t=Sy(K,"padding"),zt=Sy(K,"border","width"),{x:jt,y:te,box:se}=Hut(d,E),Le=_t.left+(se&&zt.left),Je=_t.top+(se&&zt.top);let{width:fr,height:Tr}=s;return dt&&(fr-=_t.width+zt.width,Tr-=_t.height+zt.height),{x:Math.round((jt-Le)/fr*E.width/R),y:Math.round((te-Je)/Tr*E.height/R)}}function Wut(d,s,E){let R,K;if(s===void 0||E===void 0){const dt=d&&CM(d);if(!dt)s=d.clientWidth,E=d.clientHeight;else{const _t=dt.getBoundingClientRect(),zt=J4(dt),jt=Sy(zt,"border","width"),te=Sy(zt,"padding");s=_t.width-te.width-jt.width,E=_t.height-te.height-jt.height,R=k4(zt.maxWidth,dt,"clientWidth"),K=k4(zt.maxHeight,dt,"clientHeight")}}return{width:s,height:E,maxWidth:R||b4,maxHeight:K||b4}}const d1=d=>Math.round(d*10)/10;function qut(d,s,E,R){const K=J4(d),dt=Sy(K,"margin"),_t=k4(K.maxWidth,d,"clientWidth")||b4,zt=k4(K.maxHeight,d,"clientHeight")||b4,jt=Wut(d,s,E);let{width:te,height:se}=jt;if(K.boxSizing==="content-box"){const Je=Sy(K,"border","width"),fr=Sy(K,"padding");te-=fr.width+Je.width,se-=fr.height+Je.height}return te=Math.max(0,te-dt.width),se=Math.max(0,R?te/R:se-dt.height),te=d1(Math.min(te,_t,jt.maxWidth)),se=d1(Math.min(se,zt,jt.maxHeight)),te&&!se&&(se=d1(te/2)),(s!==void 0||E!==void 0)&&R&&jt.height&&se>jt.height&&(se=jt.height,te=d1(Math.floor(se*R))),{width:te,height:se}}function AP(d,s,E){const R=s||1,K=d1(d.height*R),dt=d1(d.width*R);d.height=d1(d.height),d.width=d1(d.width);const _t=d.canvas;return _t.style&&(E||!_t.style.height&&!_t.style.width)&&(_t.style.height=`${d.height}px`,_t.style.width=`${d.width}px`),d.currentDevicePixelRatio!==R||_t.height!==K||_t.width!==dt?(d.currentDevicePixelRatio=R,_t.height=K,_t.width=dt,d.ctx.setTransform(R,0,0,R,0,0),!0):!1}const $ut=function(){let d=!1;try{const s={get passive(){return d=!0,!1}};EM()&&(window.addEventListener("test",null,s),window.removeEventListener("test",null,s))}catch{}return d}();function MP(d,s){const E=jut(d,s),R=E&&E.match(/^(\d+)(\.\d+)?px$/);return R?+R[1]:void 0}function vy(d,s,E,R){return{x:d.x+E*(s.x-d.x),y:d.y+E*(s.y-d.y)}}function Zut(d,s,E,R){return{x:d.x+E*(s.x-d.x),y:R==="middle"?E<.5?d.y:s.y:R==="after"?E<1?d.y:s.y:E>0?s.y:d.y}}function Gut(d,s,E,R){const K={x:d.cp2x,y:d.cp2y},dt={x:s.cp1x,y:s.cp1y},_t=vy(d,K,E),zt=vy(K,dt,E),jt=vy(dt,s,E),te=vy(_t,zt,E),se=vy(zt,jt,E);return vy(te,se,E)}const Yut=function(d,s){return{x(E){return d+d+s-E},setWidth(E){s=E},textAlign(E){return E==="center"?E:E==="right"?"left":"right"},xPlus(E,R){return E-R},leftForLtr(E,R){return E-R}}},Kut=function(){return{x(d){return d},setWidth(d){},textAlign(d){return d},xPlus(d,s){return d+s},leftForLtr(d,s){return d}}};function d_(d,s,E){return d?Yut(s,E):Kut()}function TD(d,s){let E,R;(s==="ltr"||s==="rtl")&&(E=d.canvas.style,R=[E.getPropertyValue("direction"),E.getPropertyPriority("direction")],E.setProperty("direction",s,"important"),d.prevTextDirection=R)}function AD(d,s){s!==void 0&&(delete d.prevTextDirection,d.canvas.style.setProperty("direction",s[0],s[1]))}function MD(d){return d==="angle"?{between:Y2,compare:Ylt,normalize:$0}:{between:av,compare:(s,E)=>s-E,normalize:s=>s}}function SP({start:d,end:s,count:E,loop:R,style:K}){return{start:d%E,end:s%E,loop:R&&(s-d+1)%E===0,style:K}}function Xut(d,s,E){const{property:R,start:K,end:dt}=E,{between:_t,normalize:zt}=MD(R),jt=s.length;let{start:te,end:se,loop:Le}=d,Je,fr;if(Le){for(te+=jt,se+=jt,Je=0,fr=jt;Jejt(K,cn,fn)&&zt(K,cn)!==0,Dn=()=>zt(dt,fn)===0||jt(dt,cn,fn),ei=()=>wr||Qn(),Ui=()=>!wr||Dn();for(let Di=se,qr=se;Di<=Le;++Di)Dt=s[Di%_t],!Dt.skip&&(fn=te(Dt[R]),fn!==cn&&(wr=jt(fn,K,dt),Vr===null&&ei()&&(Vr=zt(fn,K)===0?Di:qr),Vr!==null&&Ui()&&(Tr.push(SP({start:Vr,end:Di,loop:Je,count:_t,style:fr})),Vr=null),qr=Di,cn=fn));return Vr!==null&&Tr.push(SP({start:Vr,end:Le,loop:Je,count:_t,style:fr})),Tr}function ED(d,s){const E=[],R=d.segments;for(let K=0;KK&&d[dt%s].skip;)dt--;return dt%=s,{start:K,end:dt}}function Qut(d,s,E,R){const K=d.length,dt=[];let _t=s,zt=d[s],jt;for(jt=s+1;jt<=E;++jt){const te=d[jt%K];te.skip||te.stop?zt.skip||(R=!1,dt.push({start:s%K,end:(jt-1)%K,loop:R}),s=_t=te.stop?jt:null):(_t=jt,zt.skip&&(s=jt)),zt=te}return _t!==null&&dt.push({start:s%K,end:_t%K,loop:R}),dt}function tct(d,s){const E=d.points,R=d.options.spanGaps,K=E.length;if(!K)return[];const dt=!!d._loop,{start:_t,end:zt}=Jut(E,K,dt,R);if(R===!0)return EP(d,[{start:_t,end:zt,loop:dt}],E,s);const jt=zt<_t?zt+K:zt,te=!!d._fullLoop&&_t===0&&zt===K-1;return EP(d,Qut(E,_t,jt,te),E,s)}function EP(d,s,E,R){return!R||!R.setContext||!E?s:ect(d,s,E,R)}function ect(d,s,E,R){const K=d._chart.getContext(),dt=CP(d.options),{_datasetIndex:_t,options:{spanGaps:zt}}=d,jt=E.length,te=[];let se=dt,Le=s[0].start,Je=Le;function fr(Tr,wr,Vr,fn){const Dt=zt?-1:1;if(Tr!==wr){for(Tr+=jt;E[Tr%jt].skip;)Tr-=Dt;for(;E[wr%jt].skip;)wr+=Dt;Tr%jt!==wr%jt&&(te.push({start:Tr%jt,end:wr%jt,loop:Vr,style:fn}),se=fn,Le=wr%jt)}}for(const Tr of s){Le=zt?Le:Tr.start;let wr=E[Le%jt],Vr;for(Je=Le+1;Je<=Tr.end;Je++){const fn=E[Je%jt];Vr=CP(R.setContext(Dy(K,{type:"segment",p0:wr,p1:fn,p0DataIndex:(Je-1)%jt,p1DataIndex:Je%jt,datasetIndex:_t}))),rct(Vr,se)&&fr(Le,Je-1,Tr.loop,se),wr=fn,se=Vr}Le{let d=0;return()=>d++})();function Nh(d){return d==null}function Yd(d){if(Array.isArray&&Array.isArray(d))return!0;const s=Object.prototype.toString.call(d);return s.slice(0,7)==="[object"&&s.slice(-6)==="Array]"}function Sc(d){return d!==null&&Object.prototype.toString.call(d)==="[object Object]"}function t0(d){return(typeof d=="number"||d instanceof Number)&&isFinite(+d)}function og(d,s){return t0(d)?d:s}function cc(d,s){return typeof d>"u"?s:d}const hut=(d,s)=>typeof d=="string"&&d.endsWith("%")?parseFloat(d)/100:+d/s,lD=(d,s)=>typeof d=="string"&&d.endsWith("%")?parseFloat(d)/100*s:+d;function Ff(d,s,E){if(d&&typeof d.call=="function")return d.apply(E,s)}function Jh(d,s,E,R){let K,dt,_t;if(Yd(d))for(dt=d.length,K=0;Kd,x:d=>d.x,y:d=>d.y};function put(d){const s=d.split("."),E=[];let R="";for(const K of s)R+=K,R.endsWith("\\")?R=R.slice(0,-1)+".":(E.push(R),R="");return E}function mut(d){const s=put(d);return E=>{for(const R of s){if(R==="")break;E=E&&E[R]}return E}}function Py(d,s){return(hP[s]||(hP[s]=mut(s)))(d)}function xM(d){return d.charAt(0).toUpperCase()+d.slice(1)}const Z2=d=>typeof d<"u",b1=d=>typeof d=="function",fP=(d,s)=>{if(d.size!==s.size)return!1;for(const E of d)if(!s.has(E))return!1;return!0};function gut(d){return d.type==="mouseup"||d.type==="click"||d.type==="contextmenu"}const Qh=Math.PI,sd=2*Qh,vut=sd+Qh,b4=Number.POSITIVE_INFINITY,yut=Qh/180,ip=Qh/2,fy=Qh/4,dP=Qh*2/3,cD=Math.log10,gg=Math.sign;function P2(d,s,E){return Math.abs(d-s)K-dt).pop(),s}function _ut(d){return typeof d=="symbol"||typeof d=="object"&&d!==null&&!(Symbol.toPrimitive in d||"toString"in d||"valueOf"in d)}function G2(d){return!_ut(d)&&!isNaN(parseFloat(d))&&isFinite(d)}function but(d,s){const E=Math.round(d);return E-s<=d&&E+s>=d}function wut(d,s,E){let R,K,dt;for(R=0,K=d.length;Rjt&&te=Math.min(s,E)-R&&d<=Math.max(s,E)+R}function _M(d,s,E){E=E||(_t=>d[_t]1;)dt=K+R>>1,E(dt)?K=dt:R=dt;return{lo:K,hi:R}}const ky=(d,s,E,R)=>_M(d,E,R?K=>{const dt=d[K][s];return dtd[K][s]_M(d,E,R=>d[R][s]>=E);function Sut(d,s,E){let R=0,K=d.length;for(;RR&&d[K-1]>E;)K--;return R>0||K{const R="_onData"+xM(E),K=d[E];Object.defineProperty(d,E,{configurable:!0,enumerable:!1,value(...dt){const _t=K.apply(this,dt);return d._chartjs.listeners.forEach(It=>{typeof It[R]=="function"&&It[R](...dt)}),_t}})})}function gP(d,s){const E=d._chartjs;if(!E)return;const R=E.listeners,K=R.indexOf(s);K!==-1&&R.splice(K,1),!(R.length>0)&&(fD.forEach(dt=>{delete d[dt]}),delete d._chartjs)}function dD(d){const s=new Set(d);return s.size===d.length?d:Array.from(s)}const pD=function(){return typeof window>"u"?function(d){return d()}:window.requestAnimationFrame}();function mD(d,s){let E=[],R=!1;return function(...K){E=K,R||(R=!0,pD.call(window,()=>{R=!1,d.apply(s,E)}))}}function Cut(d,s){let E;return function(...R){return s?(clearTimeout(E),E=setTimeout(d,s,R)):d.apply(this,R),s}}const bM=d=>d==="start"?"left":d==="end"?"right":"center",qp=(d,s,E)=>d==="start"?s:d==="end"?E:(s+E)/2,Lut=(d,s,E,R)=>d===(R?"left":"right")?E:d==="center"?(s+E)/2:s;function Put(d,s,E){const R=s.length;let K=0,dt=R;if(d._sorted){const{iScale:_t,vScale:It,_parsed:jt}=d,te=d.dataset&&d.dataset.options?d.dataset.options.spanGaps:null,le=_t.axis,{min:Le,max:Je,minDefined:fr,maxDefined:Tr}=_t.getUserBounds();if(fr){if(K=Math.min(ky(jt,le,Le).lo,E?R:ky(s,le,_t.getPixelForValue(Le)).lo),te){const wr=jt.slice(0,K+1).reverse().findIndex(Vr=>!Nh(Vr[It.axis]));K-=Math.max(0,wr)}K=Jp(K,0,R-1)}if(Tr){let wr=Math.max(ky(jt,_t.axis,Je,!0).hi+1,E?0:ky(s,le,_t.getPixelForValue(Je),!0).hi+1);if(te){const Vr=jt.slice(wr-1).findIndex(fn=>!Nh(fn[It.axis]));wr+=Math.max(0,Vr)}dt=Jp(wr,K,R)-K}else dt=R-K}return{start:K,count:dt}}function Iut(d){const{xScale:s,yScale:E,_scaleRanges:R}=d,K={xmin:s.min,xmax:s.max,ymin:E.min,ymax:E.max};if(!R)return d._scaleRanges=K,!0;const dt=R.xmin!==s.min||R.xmax!==s.max||R.ymin!==E.min||R.ymax!==E.max;return Object.assign(R,K),dt}const R5=d=>d===0||d===1,vP=(d,s,E)=>-(Math.pow(2,10*(d-=1))*Math.sin((d-s)*sd/E)),yP=(d,s,E)=>Math.pow(2,-10*d)*Math.sin((d-s)*sd/E)+1,I2={linear:d=>d,easeInQuad:d=>d*d,easeOutQuad:d=>-d*(d-2),easeInOutQuad:d=>(d/=.5)<1?.5*d*d:-.5*(--d*(d-2)-1),easeInCubic:d=>d*d*d,easeOutCubic:d=>(d-=1)*d*d+1,easeInOutCubic:d=>(d/=.5)<1?.5*d*d*d:.5*((d-=2)*d*d+2),easeInQuart:d=>d*d*d*d,easeOutQuart:d=>-((d-=1)*d*d*d-1),easeInOutQuart:d=>(d/=.5)<1?.5*d*d*d*d:-.5*((d-=2)*d*d*d-2),easeInQuint:d=>d*d*d*d*d,easeOutQuint:d=>(d-=1)*d*d*d*d+1,easeInOutQuint:d=>(d/=.5)<1?.5*d*d*d*d*d:.5*((d-=2)*d*d*d*d+2),easeInSine:d=>-Math.cos(d*ip)+1,easeOutSine:d=>Math.sin(d*ip),easeInOutSine:d=>-.5*(Math.cos(Qh*d)-1),easeInExpo:d=>d===0?0:Math.pow(2,10*(d-1)),easeOutExpo:d=>d===1?1:-Math.pow(2,-10*d)+1,easeInOutExpo:d=>R5(d)?d:d<.5?.5*Math.pow(2,10*(d*2-1)):.5*(-Math.pow(2,-10*(d*2-1))+2),easeInCirc:d=>d>=1?d:-(Math.sqrt(1-d*d)-1),easeOutCirc:d=>Math.sqrt(1-(d-=1)*d),easeInOutCirc:d=>(d/=.5)<1?-.5*(Math.sqrt(1-d*d)-1):.5*(Math.sqrt(1-(d-=2)*d)+1),easeInElastic:d=>R5(d)?d:vP(d,.075,.3),easeOutElastic:d=>R5(d)?d:yP(d,.075,.3),easeInOutElastic(d){return R5(d)?d:d<.5?.5*vP(d*2,.1125,.45):.5+.5*yP(d*2-1,.1125,.45)},easeInBack(d){return d*d*((1.70158+1)*d-1.70158)},easeOutBack(d){return(d-=1)*d*((1.70158+1)*d+1.70158)+1},easeInOutBack(d){let s=1.70158;return(d/=.5)<1?.5*(d*d*(((s*=1.525)+1)*d-s)):.5*((d-=2)*d*(((s*=1.525)+1)*d+s)+2)},easeInBounce:d=>1-I2.easeOutBounce(1-d),easeOutBounce(d){return d<1/2.75?7.5625*d*d:d<2/2.75?7.5625*(d-=1.5/2.75)*d+.75:d<2.5/2.75?7.5625*(d-=2.25/2.75)*d+.9375:7.5625*(d-=2.625/2.75)*d+.984375},easeInOutBounce:d=>d<.5?I2.easeInBounce(d*2)*.5:I2.easeOutBounce(d*2-1)*.5+.5};function wM(d){if(d&&typeof d=="object"){const s=d.toString();return s==="[object CanvasPattern]"||s==="[object CanvasGradient]"}return!1}function xP(d){return wM(d)?d:new q2(d)}function V8(d){return wM(d)?d:new q2(d).saturate(.5).darken(.1).hexString()}const zut=["x","y","borderWidth","radius","tension"],Out=["color","borderColor","backgroundColor"];function Dut(d){d.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),d.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:s=>s!=="onProgress"&&s!=="onComplete"&&s!=="fn"}),d.set("animations",{colors:{type:"color",properties:Out},numbers:{type:"number",properties:zut}}),d.describe("animations",{_fallback:"animation"}),d.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:s=>s|0}}}})}function Fut(d){d.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}const _P=new Map;function But(d,s){s=s||{};const E=d+JSON.stringify(s);let R=_P.get(E);return R||(R=new Intl.NumberFormat(d,s),_P.set(E,R)),R}function kM(d,s,E){return But(s,E).format(d)}const Rut={values(d){return Yd(d)?d:""+d},numeric(d,s,E){if(d===0)return"0";const R=this.chart.options.locale;let K,dt=d;if(E.length>1){const te=Math.max(Math.abs(E[0].value),Math.abs(E[E.length-1].value));(te<1e-4||te>1e15)&&(K="scientific"),dt=Nut(d,E)}const _t=cD(Math.abs(dt)),It=isNaN(_t)?1:Math.max(Math.min(-1*Math.floor(_t),20),0),jt={notation:K,minimumFractionDigits:It,maximumFractionDigits:It};return Object.assign(jt,this.options.ticks.format),kM(d,R,jt)}};function Nut(d,s){let E=s.length>3?s[2].value-s[1].value:s[1].value-s[0].value;return Math.abs(E)>=1&&d!==Math.floor(d)&&(E=d-Math.floor(d)),E}var gD={formatters:Rut};function jut(d){d.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",clip:!0,grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(s,E)=>E.lineWidth,tickColor:(s,E)=>E.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:gD.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),d.route("scale.ticks","color","","color"),d.route("scale.grid","color","","borderColor"),d.route("scale.border","color","","borderColor"),d.route("scale.title","color","","color"),d.describe("scale",{_fallback:!1,_scriptable:s=>!s.startsWith("before")&&!s.startsWith("after")&&s!=="callback"&&s!=="parser",_indexable:s=>s!=="borderDash"&&s!=="tickBorderDash"&&s!=="dash"}),d.describe("scales",{_fallback:"scale"}),d.describe("scale.ticks",{_scriptable:s=>s!=="backdropPadding"&&s!=="callback",_indexable:s=>s!=="backdropPadding"})}const Iy=Object.create(null),PA=Object.create(null);function z2(d,s){if(!s)return d;const E=s.split(".");for(let R=0,K=E.length;RR.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(R,K)=>V8(K.backgroundColor),this.hoverBorderColor=(R,K)=>V8(K.borderColor),this.hoverColor=(R,K)=>V8(K.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(s),this.apply(E)}set(s,E){return H8(this,s,E)}get(s){return z2(this,s)}describe(s,E){return H8(PA,s,E)}override(s,E){return H8(Iy,s,E)}route(s,E,R,K){const dt=z2(this,s),_t=z2(this,R),It="_"+E;Object.defineProperties(dt,{[It]:{value:dt[E],writable:!0},[E]:{enumerable:!0,get(){const jt=this[It],te=_t[K];return Sc(jt)?Object.assign({},te,jt):cc(jt,te)},set(jt){this[It]=jt}}})}apply(s){s.forEach(E=>E(this))}}var Bd=new Uut({_scriptable:d=>!d.startsWith("on"),_indexable:d=>d!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[Dut,Fut,jut]);function Vut(d){return!d||Nh(d.size)||Nh(d.family)?null:(d.style?d.style+" ":"")+(d.weight?d.weight+" ":"")+d.size+"px "+d.family}function bP(d,s,E,R,K){let dt=s[K];return dt||(dt=s[K]=d.measureText(K).width,E.push(K)),dt>R&&(R=dt),R}function dy(d,s,E){const R=d.currentDevicePixelRatio,K=E!==0?Math.max(E/2,.5):0;return Math.round((s-K)*R)/R+K}function wP(d,s){!s&&!d||(s=s||d.getContext("2d"),s.save(),s.resetTransform(),s.clearRect(0,0,d.width,d.height),s.restore())}function IA(d,s,E,R){vD(d,s,E,R,null)}function vD(d,s,E,R,K){let dt,_t,It,jt,te,le,Le,Je;const fr=s.pointStyle,Tr=s.rotation,wr=s.radius;let Vr=(Tr||0)*yut;if(fr&&typeof fr=="object"&&(dt=fr.toString(),dt==="[object HTMLImageElement]"||dt==="[object HTMLCanvasElement]")){d.save(),d.translate(E,R),d.rotate(Vr),d.drawImage(fr,-fr.width/2,-fr.height/2,fr.width,fr.height),d.restore();return}if(!(isNaN(wr)||wr<=0)){switch(d.beginPath(),fr){default:K?d.ellipse(E,R,K/2,wr,0,0,sd):d.arc(E,R,wr,0,sd),d.closePath();break;case"triangle":le=K?K/2:wr,d.moveTo(E+Math.sin(Vr)*le,R-Math.cos(Vr)*wr),Vr+=dP,d.lineTo(E+Math.sin(Vr)*le,R-Math.cos(Vr)*wr),Vr+=dP,d.lineTo(E+Math.sin(Vr)*le,R-Math.cos(Vr)*wr),d.closePath();break;case"rectRounded":te=wr*.516,jt=wr-te,_t=Math.cos(Vr+fy)*jt,Le=Math.cos(Vr+fy)*(K?K/2-te:jt),It=Math.sin(Vr+fy)*jt,Je=Math.sin(Vr+fy)*(K?K/2-te:jt),d.arc(E-Le,R-It,te,Vr-Qh,Vr-ip),d.arc(E+Je,R-_t,te,Vr-ip,Vr),d.arc(E+Le,R+It,te,Vr,Vr+ip),d.arc(E-Je,R+_t,te,Vr+ip,Vr+Qh),d.closePath();break;case"rect":if(!Tr){jt=Math.SQRT1_2*wr,le=K?K/2:jt,d.rect(E-le,R-jt,2*le,2*jt);break}Vr+=fy;case"rectRot":Le=Math.cos(Vr)*(K?K/2:wr),_t=Math.cos(Vr)*wr,It=Math.sin(Vr)*wr,Je=Math.sin(Vr)*(K?K/2:wr),d.moveTo(E-Le,R-It),d.lineTo(E+Je,R-_t),d.lineTo(E+Le,R+It),d.lineTo(E-Je,R+_t),d.closePath();break;case"crossRot":Vr+=fy;case"cross":Le=Math.cos(Vr)*(K?K/2:wr),_t=Math.cos(Vr)*wr,It=Math.sin(Vr)*wr,Je=Math.sin(Vr)*(K?K/2:wr),d.moveTo(E-Le,R-It),d.lineTo(E+Le,R+It),d.moveTo(E+Je,R-_t),d.lineTo(E-Je,R+_t);break;case"star":Le=Math.cos(Vr)*(K?K/2:wr),_t=Math.cos(Vr)*wr,It=Math.sin(Vr)*wr,Je=Math.sin(Vr)*(K?K/2:wr),d.moveTo(E-Le,R-It),d.lineTo(E+Le,R+It),d.moveTo(E+Je,R-_t),d.lineTo(E-Je,R+_t),Vr+=fy,Le=Math.cos(Vr)*(K?K/2:wr),_t=Math.cos(Vr)*wr,It=Math.sin(Vr)*wr,Je=Math.sin(Vr)*(K?K/2:wr),d.moveTo(E-Le,R-It),d.lineTo(E+Le,R+It),d.moveTo(E+Je,R-_t),d.lineTo(E-Je,R+_t);break;case"line":_t=K?K/2:Math.cos(Vr)*wr,It=Math.sin(Vr)*wr,d.moveTo(E-_t,R-It),d.lineTo(E+_t,R+It);break;case"dash":d.moveTo(E,R),d.lineTo(E+Math.cos(Vr)*(K?K/2:wr),R+Math.sin(Vr)*wr);break;case!1:d.closePath();break}d.fill(),s.borderWidth>0&&d.stroke()}}function K2(d,s,E){return E=E||.5,!s||d&&d.x>s.left-E&&d.xs.top-E&&d.y0&&dt.strokeColor!=="";let jt,te;for(d.save(),d.font=K.string,qut(d,dt),jt=0;jt<_t.length;++jt)te=_t[jt],dt.backdrop&&Zut(d,dt.backdrop),It&&(dt.strokeColor&&(d.strokeStyle=dt.strokeColor),Nh(dt.strokeWidth)||(d.lineWidth=dt.strokeWidth),d.strokeText(te,E,R,dt.maxWidth)),d.fillText(te,E,R,dt.maxWidth),$ut(d,E,R,te,dt),R+=Number(K.lineHeight);d.restore()}function w4(d,s){const{x:E,y:R,w:K,h:dt,radius:_t}=s;d.arc(E+_t.topLeft,R+_t.topLeft,_t.topLeft,1.5*Qh,Qh,!0),d.lineTo(E,R+dt-_t.bottomLeft),d.arc(E+_t.bottomLeft,R+dt-_t.bottomLeft,_t.bottomLeft,Qh,ip,!0),d.lineTo(E+K-_t.bottomRight,R+dt),d.arc(E+K-_t.bottomRight,R+dt-_t.bottomRight,_t.bottomRight,ip,0,!0),d.lineTo(E+K,R+_t.topRight),d.arc(E+K-_t.topRight,R+_t.topRight,_t.topRight,0,-ip,!0),d.lineTo(E+_t.topLeft,R)}const Gut=/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/,Yut=/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/;function Kut(d,s){const E=(""+d).match(Gut);if(!E||E[1]==="normal")return s*1.2;switch(d=+E[2],E[3]){case"px":return d;case"%":d/=100;break}return s*d}const Xut=d=>+d||0;function TM(d,s){const E={},R=Sc(s),K=R?Object.keys(s):s,dt=Sc(d)?R?_t=>cc(d[_t],d[s[_t]]):_t=>d[_t]:()=>d;for(const _t of K)E[_t]=Xut(dt(_t));return E}function yD(d){return TM(d,{top:"y",right:"x",bottom:"y",left:"x"})}function f_(d){return TM(d,["topLeft","topRight","bottomLeft","bottomRight"])}function fm(d){const s=yD(d);return s.width=s.left+s.right,s.height=s.top+s.bottom,s}function Qp(d,s){d=d||{},s=s||Bd.font;let E=cc(d.size,s.size);typeof E=="string"&&(E=parseInt(E,10));let R=cc(d.style,s.style);R&&!(""+R).match(Yut)&&(console.warn('Invalid font style specified: "'+R+'"'),R=void 0);const K={family:cc(d.family,s.family),lineHeight:Kut(cc(d.lineHeight,s.lineHeight),E),size:E,style:R,weight:cc(d.weight,s.weight),string:""};return K.string=Vut(K),K}function N5(d,s,E,R){let K,dt,_t;for(K=0,dt=d.length;KE&&It===0?0:It+jt;return{min:_t(R,-Math.abs(dt)),max:_t(K,dt)}}function Dy(d,s){return Object.assign(Object.create(d),s)}function AM(d,s=[""],E,R,K=()=>d[0]){const dt=E||d;typeof R>"u"&&(R=wD("_fallback",d));const _t={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:d,_rootScopes:dt,_fallback:R,_getTarget:K,override:It=>AM([It,...d],s,dt,R)};return new Proxy(_t,{deleteProperty(It,jt){return delete It[jt],delete It._keys,delete d[0][jt],!0},get(It,jt){return _D(It,jt,()=>oct(jt,s,d,It))},getOwnPropertyDescriptor(It,jt){return Reflect.getOwnPropertyDescriptor(It._scopes[0],jt)},getPrototypeOf(){return Reflect.getPrototypeOf(d[0])},has(It,jt){return TP(It).includes(jt)},ownKeys(It){return TP(It)},set(It,jt,te){const le=It._storage||(It._storage=K());return It[jt]=le[jt]=te,delete It._keys,!0}})}function __(d,s,E,R){const K={_cacheable:!1,_proxy:d,_context:s,_subProxy:E,_stack:new Set,_descriptors:xD(d,R),setContext:dt=>__(d,dt,E,R),override:dt=>__(d.override(dt),s,E,R)};return new Proxy(K,{deleteProperty(dt,_t){return delete dt[_t],delete d[_t],!0},get(dt,_t,It){return _D(dt,_t,()=>tct(dt,_t,It))},getOwnPropertyDescriptor(dt,_t){return dt._descriptors.allKeys?Reflect.has(d,_t)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(d,_t)},getPrototypeOf(){return Reflect.getPrototypeOf(d)},has(dt,_t){return Reflect.has(d,_t)},ownKeys(){return Reflect.ownKeys(d)},set(dt,_t,It){return d[_t]=It,delete dt[_t],!0}})}function xD(d,s={scriptable:!0,indexable:!0}){const{_scriptable:E=s.scriptable,_indexable:R=s.indexable,_allKeys:K=s.allKeys}=d;return{allKeys:K,scriptable:E,indexable:R,isScriptable:b1(E)?E:()=>E,isIndexable:b1(R)?R:()=>R}}const Qut=(d,s)=>d?d+xM(s):s,MM=(d,s)=>Sc(s)&&d!=="adapters"&&(Object.getPrototypeOf(s)===null||s.constructor===Object);function _D(d,s,E){if(Object.prototype.hasOwnProperty.call(d,s)||s==="constructor")return d[s];const R=E();return d[s]=R,R}function tct(d,s,E){const{_proxy:R,_context:K,_subProxy:dt,_descriptors:_t}=d;let It=R[s];return b1(It)&&_t.isScriptable(s)&&(It=ect(s,It,d,E)),Yd(It)&&It.length&&(It=rct(s,It,d,_t.isIndexable)),MM(s,It)&&(It=__(It,K,dt&&dt[s],_t)),It}function ect(d,s,E,R){const{_proxy:K,_context:dt,_subProxy:_t,_stack:It}=E;if(It.has(d))throw new Error("Recursion detected: "+Array.from(It).join("->")+"->"+d);It.add(d);let jt=s(dt,_t||R);return It.delete(d),MM(d,jt)&&(jt=SM(K._scopes,K,d,jt)),jt}function rct(d,s,E,R){const{_proxy:K,_context:dt,_subProxy:_t,_descriptors:It}=E;if(typeof dt.index<"u"&&R(d))return s[dt.index%s.length];if(Sc(s[0])){const jt=s,te=K._scopes.filter(le=>le!==jt);s=[];for(const le of jt){const Le=SM(te,K,d,le);s.push(__(Le,dt,_t&&_t[d],It))}}return s}function bD(d,s,E){return b1(d)?d(s,E):d}const nct=(d,s)=>d===!0?s:typeof d=="string"?Py(s,d):void 0;function ict(d,s,E,R,K){for(const dt of s){const _t=nct(E,dt);if(_t){d.add(_t);const It=bD(_t._fallback,E,K);if(typeof It<"u"&&It!==E&&It!==R)return It}else if(_t===!1&&typeof R<"u"&&E!==R)return null}return!1}function SM(d,s,E,R){const K=s._rootScopes,dt=bD(s._fallback,E,R),_t=[...d,...K],It=new Set;It.add(R);let jt=kP(It,_t,E,dt||E,R);return jt===null||typeof dt<"u"&&dt!==E&&(jt=kP(It,_t,dt,jt,R),jt===null)?!1:AM(Array.from(It),[""],K,dt,()=>act(s,E,R))}function kP(d,s,E,R,K){for(;E;)E=ict(d,s,E,R,K);return E}function act(d,s,E){const R=d._getTarget();s in R||(R[s]={});const K=R[s];return Yd(K)&&Sc(E)?E:K||{}}function oct(d,s,E,R){let K;for(const dt of s)if(K=wD(Qut(dt,d),E),typeof K<"u")return MM(d,K)?SM(E,R,d,K):K}function wD(d,s){for(const E of s){if(!E)continue;const R=E[d];if(typeof R<"u")return R}}function TP(d){let s=d._keys;return s||(s=d._keys=sct(d._scopes)),s}function sct(d){const s=new Set;for(const E of d)for(const R of Object.keys(E).filter(K=>!K.startsWith("_")))s.add(R);return Array.from(s)}const lct=Number.EPSILON||1e-14,b_=(d,s)=>sd==="x"?"y":"x";function uct(d,s,E,R){const K=d.skip?s:d,dt=s,_t=E.skip?s:E,It=LA(dt,K),jt=LA(_t,dt);let te=It/(It+jt),le=jt/(It+jt);te=isNaN(te)?0:te,le=isNaN(le)?0:le;const Le=R*te,Je=R*le;return{previous:{x:dt.x-Le*(_t.x-K.x),y:dt.y-Le*(_t.y-K.y)},next:{x:dt.x+Je*(_t.x-K.x),y:dt.y+Je*(_t.y-K.y)}}}function cct(d,s,E){const R=d.length;let K,dt,_t,It,jt,te=b_(d,0);for(let le=0;le!te.skip)),s.cubicInterpolationMode==="monotone")fct(d,K);else{let te=R?d[d.length-1]:d[0];for(dt=0,_t=d.length;dt<_t;++dt)It=d[dt],jt=uct(te,It,d[Math.min(dt+1,_t-(R?0:1))%_t],s.tension),It.cp1x=jt.previous.x,It.cp1y=jt.previous.y,It.cp2x=jt.next.x,It.cp2y=jt.next.y,te=It}s.capBezierPoints&&dct(d,E)}function EM(){return typeof window<"u"&&typeof document<"u"}function CM(d){let s=d.parentNode;return s&&s.toString()==="[object ShadowRoot]"&&(s=s.host),s}function k4(d,s,E){let R;return typeof d=="string"?(R=parseInt(d,10),d.indexOf("%")!==-1&&(R=R/100*s.parentNode[E])):R=d,R}const J4=d=>d.ownerDocument.defaultView.getComputedStyle(d,null);function mct(d,s){return J4(d).getPropertyValue(s)}const gct=["top","right","bottom","left"];function Sy(d,s,E){const R={};E=E?"-"+E:"";for(let K=0;K<4;K++){const dt=gct[K];R[dt]=parseFloat(d[s+"-"+dt+E])||0}return R.width=R.left+R.right,R.height=R.top+R.bottom,R}const vct=(d,s,E)=>(d>0||s>0)&&(!E||!E.shadowRoot);function yct(d,s){const E=d.touches,R=E&&E.length?E[0]:d,{offsetX:K,offsetY:dt}=R;let _t=!1,It,jt;if(vct(K,dt,d.target))It=K,jt=dt;else{const te=s.getBoundingClientRect();It=R.clientX-te.left,jt=R.clientY-te.top,_t=!0}return{x:It,y:jt,box:_t}}function gy(d,s){if("native"in d)return d;const{canvas:E,currentDevicePixelRatio:R}=s,K=J4(E),dt=K.boxSizing==="border-box",_t=Sy(K,"padding"),It=Sy(K,"border","width"),{x:jt,y:te,box:le}=yct(d,E),Le=_t.left+(le&&It.left),Je=_t.top+(le&&It.top);let{width:fr,height:Tr}=s;return dt&&(fr-=_t.width+It.width,Tr-=_t.height+It.height),{x:Math.round((jt-Le)/fr*E.width/R),y:Math.round((te-Je)/Tr*E.height/R)}}function xct(d,s,E){let R,K;if(s===void 0||E===void 0){const dt=d&&CM(d);if(!dt)s=d.clientWidth,E=d.clientHeight;else{const _t=dt.getBoundingClientRect(),It=J4(dt),jt=Sy(It,"border","width"),te=Sy(It,"padding");s=_t.width-te.width-jt.width,E=_t.height-te.height-jt.height,R=k4(It.maxWidth,dt,"clientWidth"),K=k4(It.maxHeight,dt,"clientHeight")}}return{width:s,height:E,maxWidth:R||b4,maxHeight:K||b4}}const d1=d=>Math.round(d*10)/10;function _ct(d,s,E,R){const K=J4(d),dt=Sy(K,"margin"),_t=k4(K.maxWidth,d,"clientWidth")||b4,It=k4(K.maxHeight,d,"clientHeight")||b4,jt=xct(d,s,E);let{width:te,height:le}=jt;if(K.boxSizing==="content-box"){const Je=Sy(K,"border","width"),fr=Sy(K,"padding");te-=fr.width+Je.width,le-=fr.height+Je.height}return te=Math.max(0,te-dt.width),le=Math.max(0,R?te/R:le-dt.height),te=d1(Math.min(te,_t,jt.maxWidth)),le=d1(Math.min(le,It,jt.maxHeight)),te&&!le&&(le=d1(te/2)),(s!==void 0||E!==void 0)&&R&&jt.height&&le>jt.height&&(le=jt.height,te=d1(Math.floor(le*R))),{width:te,height:le}}function AP(d,s,E){const R=s||1,K=d1(d.height*R),dt=d1(d.width*R);d.height=d1(d.height),d.width=d1(d.width);const _t=d.canvas;return _t.style&&(E||!_t.style.height&&!_t.style.width)&&(_t.style.height=`${d.height}px`,_t.style.width=`${d.width}px`),d.currentDevicePixelRatio!==R||_t.height!==K||_t.width!==dt?(d.currentDevicePixelRatio=R,_t.height=K,_t.width=dt,d.ctx.setTransform(R,0,0,R,0,0),!0):!1}const bct=function(){let d=!1;try{const s={get passive(){return d=!0,!1}};EM()&&(window.addEventListener("test",null,s),window.removeEventListener("test",null,s))}catch{}return d}();function MP(d,s){const E=mct(d,s),R=E&&E.match(/^(\d+)(\.\d+)?px$/);return R?+R[1]:void 0}function vy(d,s,E,R){return{x:d.x+E*(s.x-d.x),y:d.y+E*(s.y-d.y)}}function wct(d,s,E,R){return{x:d.x+E*(s.x-d.x),y:R==="middle"?E<.5?d.y:s.y:R==="after"?E<1?d.y:s.y:E>0?s.y:d.y}}function kct(d,s,E,R){const K={x:d.cp2x,y:d.cp2y},dt={x:s.cp1x,y:s.cp1y},_t=vy(d,K,E),It=vy(K,dt,E),jt=vy(dt,s,E),te=vy(_t,It,E),le=vy(It,jt,E);return vy(te,le,E)}const Tct=function(d,s){return{x(E){return d+d+s-E},setWidth(E){s=E},textAlign(E){return E==="center"?E:E==="right"?"left":"right"},xPlus(E,R){return E-R},leftForLtr(E,R){return E-R}}},Act=function(){return{x(d){return d},setWidth(d){},textAlign(d){return d},xPlus(d,s){return d+s},leftForLtr(d,s){return d}}};function d_(d,s,E){return d?Tct(s,E):Act()}function TD(d,s){let E,R;(s==="ltr"||s==="rtl")&&(E=d.canvas.style,R=[E.getPropertyValue("direction"),E.getPropertyPriority("direction")],E.setProperty("direction",s,"important"),d.prevTextDirection=R)}function AD(d,s){s!==void 0&&(delete d.prevTextDirection,d.canvas.style.setProperty("direction",s[0],s[1]))}function MD(d){return d==="angle"?{between:Y2,compare:Tut,normalize:$0}:{between:av,compare:(s,E)=>s-E,normalize:s=>s}}function SP({start:d,end:s,count:E,loop:R,style:K}){return{start:d%E,end:s%E,loop:R&&(s-d+1)%E===0,style:K}}function Mct(d,s,E){const{property:R,start:K,end:dt}=E,{between:_t,normalize:It}=MD(R),jt=s.length;let{start:te,end:le,loop:Le}=d,Je,fr;if(Le){for(te+=jt,le+=jt,Je=0,fr=jt;Je
In Progress
Packet Activity (Last 24 Hours)
No valid coordinates available
Configure base station location to view map
No mesh neighbors have been discovered in your area yet.