diff --git a/InjectLib b/InjectLib index 3b70d10..1a10466 100755 Binary files a/InjectLib and b/InjectLib differ diff --git a/frontend/dist/assets/index-Bp_NEZ7u.js b/frontend/dist/assets/index-Bp_NEZ7u.js deleted file mode 100644 index 6e32841..0000000 --- a/frontend/dist/assets/index-Bp_NEZ7u.js +++ /dev/null @@ -1,95 +0,0 @@ -(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))s(o);new MutationObserver(o=>{for(const r of o)if(r.type==="childList")for(const i of r.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&s(i)}).observe(document,{childList:!0,subtree:!0});function n(o){const r={};return o.integrity&&(r.integrity=o.integrity),o.referrerPolicy&&(r.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?r.credentials="include":o.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function s(o){if(o.ep)return;o.ep=!0;const r=n(o);fetch(o.href,r)}})();/** -* @vue/shared v3.5.22 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/function sr(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const we={},cn=[],_t=()=>{},hl=()=>!1,Bs=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),or=e=>e.startsWith("onUpdate:"),Pe=Object.assign,rr=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Dc=Object.prototype.hasOwnProperty,me=(e,t)=>Dc.call(e,t),Y=Array.isArray,un=e=>Yn(e)==="[object Map]",Hs=e=>Yn(e)==="[object Set]",Pr=e=>Yn(e)==="[object Date]",se=e=>typeof e=="function",Ee=e=>typeof e=="string",Ct=e=>typeof e=="symbol",be=e=>e!==null&&typeof e=="object",gl=e=>(be(e)||se(e))&&se(e.then)&&se(e.catch),ml=Object.prototype.toString,Yn=e=>ml.call(e),Nc=e=>Yn(e).slice(8,-1),vl=e=>Yn(e)==="[object Object]",ir=e=>Ee(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,In=sr(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Vs=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Fc=/-\w/g,nt=Vs(e=>e.replace(Fc,t=>t.slice(1).toUpperCase())),Uc=/\B([A-Z])/g,on=Vs(e=>e.replace(Uc,"-$1").toLowerCase()),qs=Vs(e=>e.charAt(0).toUpperCase()+e.slice(1)),fo=Vs(e=>e?`on${qs(e)}`:""),Bt=(e,t)=>!Object.is(e,t),ps=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},Es=e=>{const t=parseFloat(e);return isNaN(t)?e:t},jc=e=>{const t=Ee(e)?Number(e):NaN;return isNaN(t)?e:t};let Ir;const zs=()=>Ir||(Ir=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Ks(e){if(Y(e)){const t={};for(let n=0;n{if(n){const s=n.split(Hc);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function oe(e){let t="";if(Ee(e))t=e;else if(Y(e))for(let n=0;nWs(n,t))}const _l=e=>!!(e&&e.__v_isRef===!0),V=e=>Ee(e)?e:e==null?"":Y(e)||be(e)&&(e.toString===ml||!se(e.toString))?_l(e)?V(e.value):JSON.stringify(e,wl,2):String(e),wl=(e,t)=>_l(t)?wl(e,t.value):un(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,o],r)=>(n[po(s,r)+" =>"]=o,n),{})}:Hs(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>po(n))}:Ct(t)?po(t):be(t)&&!Y(t)&&!vl(t)?String(t):t,po=(e,t="")=>{var n;return Ct(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** -* @vue/reactivity v3.5.22 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/let Ke;class Cl{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=Ke,!t&&Ke&&(this.index=(Ke.scopes||(Ke.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t0&&--this._on===0&&(Ke=this.prevScope,this.prevScope=void 0)}stop(t){if(this._active){this._active=!1;let n,s;for(n=0,s=this.effects.length;n0)return;if(Mn){let t=Mn;for(Mn=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Ln;){let t=Ln;for(Ln=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(s){e||(e=s)}t=n}}if(e)throw e}function Tl(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Al(e){let t,n=e.depsTail,s=n;for(;s;){const o=s.prevDep;s.version===-1?(s===n&&(n=o),cr(s),Zc(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=o}e.deps=t,e.depsTail=n}function $o(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Rl(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Rl(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Vn)||(e.globalVersion=Vn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!$o(e))))return;e.flags|=2;const t=e.dep,n=Se,s=it;Se=e,it=!0;try{Tl(e);const o=e.fn(e._value);(t.version===0||Bt(o,e._value))&&(e.flags|=128,e._value=o,t.version++)}catch(o){throw t.version++,o}finally{Se=n,it=s,Al(e),e.flags&=-3}}function cr(e,t=!1){const{dep:n,prevSub:s,nextSub:o}=e;if(s&&(s.nextSub=o,e.prevSub=void 0),o&&(o.prevSub=s,e.nextSub=void 0),n.subs===e&&(n.subs=s,!s&&n.computed)){n.computed.flags&=-5;for(let r=n.computed.deps;r;r=r.nextDep)cr(r,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Zc(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let it=!0;const kl=[];function $t(){kl.push(it),it=!1}function Pt(){const e=kl.pop();it=e===void 0?!0:e}function Lr(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=Se;Se=void 0;try{t()}finally{Se=n}}}let Vn=0;class Xc{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class ur{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!Se||!it||Se===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==Se)n=this.activeLink=new Xc(Se,this),Se.deps?(n.prevDep=Se.depsTail,Se.depsTail.nextDep=n,Se.depsTail=n):Se.deps=Se.depsTail=n,Ol(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const s=n.nextDep;s.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=s),n.prevDep=Se.depsTail,n.nextDep=void 0,Se.depsTail.nextDep=n,Se.depsTail=n,Se.deps===n&&(Se.deps=s)}return n}trigger(t){this.version++,Vn++,this.notify(t)}notify(t){lr();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{ar()}}}function Ol(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let s=t.deps;s;s=s.nextDep)Ol(s)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Po=new WeakMap,tn=Symbol(""),Io=Symbol(""),qn=Symbol("");function Le(e,t,n){if(it&&Se){let s=Po.get(e);s||Po.set(e,s=new Map);let o=s.get(n);o||(s.set(n,o=new ur),o.map=s,o.key=n),o.track()}}function kt(e,t,n,s,o,r){const i=Po.get(e);if(!i){Vn++;return}const l=a=>{a&&a.trigger()};if(lr(),t==="clear")i.forEach(l);else{const a=Y(e),u=a&&ir(n);if(a&&n==="length"){const c=Number(s);i.forEach((f,d)=>{(d==="length"||d===qn||!Ct(d)&&d>=c)&&l(f)})}else switch((n!==void 0||i.has(void 0))&&l(i.get(n)),u&&l(i.get(qn)),t){case"add":a?u&&l(i.get("length")):(l(i.get(tn)),un(e)&&l(i.get(Io)));break;case"delete":a||(l(i.get(tn)),un(e)&&l(i.get(Io)));break;case"set":un(e)&&l(i.get(tn));break}}ar()}function rn(e){const t=he(e);return t===e?t:(Le(t,"iterate",qn),tt(e)?t:t.map(Ie))}function Gs(e){return Le(e=he(e),"iterate",qn),e}const Yc={__proto__:null,[Symbol.iterator](){return go(this,Symbol.iterator,Ie)},concat(...e){return rn(this).concat(...e.map(t=>Y(t)?rn(t):t))},entries(){return go(this,"entries",e=>(e[1]=Ie(e[1]),e))},every(e,t){return St(this,"every",e,t,void 0,arguments)},filter(e,t){return St(this,"filter",e,t,n=>n.map(Ie),arguments)},find(e,t){return St(this,"find",e,t,Ie,arguments)},findIndex(e,t){return St(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return St(this,"findLast",e,t,Ie,arguments)},findLastIndex(e,t){return St(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return St(this,"forEach",e,t,void 0,arguments)},includes(...e){return mo(this,"includes",e)},indexOf(...e){return mo(this,"indexOf",e)},join(e){return rn(this).join(e)},lastIndexOf(...e){return mo(this,"lastIndexOf",e)},map(e,t){return St(this,"map",e,t,void 0,arguments)},pop(){return xn(this,"pop")},push(...e){return xn(this,"push",e)},reduce(e,...t){return Mr(this,"reduce",e,t)},reduceRight(e,...t){return Mr(this,"reduceRight",e,t)},shift(){return xn(this,"shift")},some(e,t){return St(this,"some",e,t,void 0,arguments)},splice(...e){return xn(this,"splice",e)},toReversed(){return rn(this).toReversed()},toSorted(e){return rn(this).toSorted(e)},toSpliced(...e){return rn(this).toSpliced(...e)},unshift(...e){return xn(this,"unshift",e)},values(){return go(this,"values",Ie)}};function go(e,t,n){const s=Gs(e),o=s[t]();return s!==e&&!tt(e)&&(o._next=o.next,o.next=()=>{const r=o._next();return r.done||(r.value=n(r.value)),r}),o}const eu=Array.prototype;function St(e,t,n,s,o,r){const i=Gs(e),l=i!==e&&!tt(e),a=i[t];if(a!==eu[t]){const f=a.apply(e,r);return l?Ie(f):f}let u=n;i!==e&&(l?u=function(f,d){return n.call(this,Ie(f),d,e)}:n.length>2&&(u=function(f,d){return n.call(this,f,d,e)}));const c=a.call(i,u,s);return l&&o?o(c):c}function Mr(e,t,n,s){const o=Gs(e);let r=n;return o!==e&&(tt(e)?n.length>3&&(r=function(i,l,a){return n.call(this,i,l,a,e)}):r=function(i,l,a){return n.call(this,i,Ie(l),a,e)}),o[t](r,...s)}function mo(e,t,n){const s=he(e);Le(s,"iterate",qn);const o=s[t](...n);return(o===-1||o===!1)&&pr(n[0])?(n[0]=he(n[0]),s[t](...n)):o}function xn(e,t,n=[]){$t(),lr();const s=he(e)[t].apply(e,n);return ar(),Pt(),s}const tu=sr("__proto__,__v_isRef,__isVue"),$l=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Ct));function nu(e){Ct(e)||(e=String(e));const t=he(this);return Le(t,"has",e),t.hasOwnProperty(e)}class Pl{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){if(n==="__v_skip")return t.__v_skip;const o=this._isReadonly,r=this._isShallow;if(n==="__v_isReactive")return!o;if(n==="__v_isReadonly")return o;if(n==="__v_isShallow")return r;if(n==="__v_raw")return s===(o?r?du:Dl:r?Ml:Ll).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const i=Y(t);if(!o){let a;if(i&&(a=Yc[n]))return a;if(n==="hasOwnProperty")return nu}const l=Reflect.get(t,n,Ne(t)?t:s);if((Ct(n)?$l.has(n):tu(n))||(o||Le(t,"get",n),r))return l;if(Ne(l)){const a=i&&ir(n)?l:l.value;return o&&be(a)?Mo(a):a}return be(l)?o?Mo(l):Js(l):l}}class Il extends Pl{constructor(t=!1){super(!1,t)}set(t,n,s,o){let r=t[n];if(!this._isShallow){const a=Ht(r);if(!tt(s)&&!Ht(s)&&(r=he(r),s=he(s)),!Y(t)&&Ne(r)&&!Ne(s))return a||(r.value=s),!0}const i=Y(t)&&ir(n)?Number(n)e,ls=e=>Reflect.getPrototypeOf(e);function lu(e,t,n){return function(...s){const o=this.__v_raw,r=he(o),i=un(r),l=e==="entries"||e===Symbol.iterator&&i,a=e==="keys"&&i,u=o[e](...s),c=n?Lo:t?Ts:Ie;return!t&&Le(r,"iterate",a?Io:tn),{next(){const{value:f,done:d}=u.next();return d?{value:f,done:d}:{value:l?[c(f[0]),c(f[1])]:c(f),done:d}},[Symbol.iterator](){return this}}}}function as(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function au(e,t){const n={get(o){const r=this.__v_raw,i=he(r),l=he(o);e||(Bt(o,l)&&Le(i,"get",o),Le(i,"get",l));const{has:a}=ls(i),u=t?Lo:e?Ts:Ie;if(a.call(i,o))return u(r.get(o));if(a.call(i,l))return u(r.get(l));r!==i&&r.get(o)},get size(){const o=this.__v_raw;return!e&&Le(he(o),"iterate",tn),o.size},has(o){const r=this.__v_raw,i=he(r),l=he(o);return e||(Bt(o,l)&&Le(i,"has",o),Le(i,"has",l)),o===l?r.has(o):r.has(o)||r.has(l)},forEach(o,r){const i=this,l=i.__v_raw,a=he(l),u=t?Lo:e?Ts:Ie;return!e&&Le(a,"iterate",tn),l.forEach((c,f)=>o.call(r,u(c),u(f),i))}};return Pe(n,e?{add:as("add"),set:as("set"),delete:as("delete"),clear:as("clear")}:{add(o){!t&&!tt(o)&&!Ht(o)&&(o=he(o));const r=he(this);return ls(r).has.call(r,o)||(r.add(o),kt(r,"add",o,o)),this},set(o,r){!t&&!tt(r)&&!Ht(r)&&(r=he(r));const i=he(this),{has:l,get:a}=ls(i);let u=l.call(i,o);u||(o=he(o),u=l.call(i,o));const c=a.call(i,o);return i.set(o,r),u?Bt(r,c)&&kt(i,"set",o,r):kt(i,"add",o,r),this},delete(o){const r=he(this),{has:i,get:l}=ls(r);let a=i.call(r,o);a||(o=he(o),a=i.call(r,o)),l&&l.call(r,o);const u=r.delete(o);return a&&kt(r,"delete",o,void 0),u},clear(){const o=he(this),r=o.size!==0,i=o.clear();return r&&kt(o,"clear",void 0,void 0),i}}),["keys","values","entries",Symbol.iterator].forEach(o=>{n[o]=lu(o,e,t)}),n}function fr(e,t){const n=au(e,t);return(s,o,r)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?s:Reflect.get(me(n,o)&&o in s?n:s,o,r)}const cu={get:fr(!1,!1)},uu={get:fr(!1,!0)},fu={get:fr(!0,!1)};const Ll=new WeakMap,Ml=new WeakMap,Dl=new WeakMap,du=new WeakMap;function pu(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function hu(e){return e.__v_skip||!Object.isExtensible(e)?0:pu(Nc(e))}function Js(e){return Ht(e)?e:dr(e,!1,ou,cu,Ll)}function Nl(e){return dr(e,!1,iu,uu,Ml)}function Mo(e){return dr(e,!0,ru,fu,Dl)}function dr(e,t,n,s,o){if(!be(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const r=hu(e);if(r===0)return e;const i=o.get(e);if(i)return i;const l=new Proxy(e,r===2?s:n);return o.set(e,l),l}function fn(e){return Ht(e)?fn(e.__v_raw):!!(e&&e.__v_isReactive)}function Ht(e){return!!(e&&e.__v_isReadonly)}function tt(e){return!!(e&&e.__v_isShallow)}function pr(e){return e?!!e.__v_raw:!1}function he(e){const t=e&&e.__v_raw;return t?he(t):e}function Fl(e){return!me(e,"__v_skip")&&Object.isExtensible(e)&&yl(e,"__v_skip",!0),e}const Ie=e=>be(e)?Js(e):e,Ts=e=>be(e)?Mo(e):e;function Ne(e){return e?e.__v_isRef===!0:!1}function Q(e){return jl(e,!1)}function Ul(e){return jl(e,!0)}function jl(e,t){return Ne(e)?e:new gu(e,t)}class gu{constructor(t,n){this.dep=new ur,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:he(t),this._value=n?t:Ie(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,s=this.__v_isShallow||tt(t)||Ht(t);t=s?t:he(t),Bt(t,n)&&(this._rawValue=t,this._value=s?t:Ie(t),this.dep.trigger())}}function W(e){return Ne(e)?e.value:e}const mu={get:(e,t,n)=>t==="__v_raw"?e:W(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const o=e[t];return Ne(o)&&!Ne(n)?(o.value=n,!0):Reflect.set(e,t,n,s)}};function Bl(e){return fn(e)?e:new Proxy(e,mu)}class vu{constructor(t,n,s){this.fn=t,this.setter=n,this._value=void 0,this.dep=new ur(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Vn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=s}notify(){if(this.flags|=16,!(this.flags&8)&&Se!==this)return El(this,!0),!0}get value(){const t=this.dep.track();return Rl(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function yu(e,t,n=!1){let s,o;return se(e)?s=e:(s=e.get,o=e.set),new vu(s,o,n)}const cs={},As=new WeakMap;let Zt;function bu(e,t=!1,n=Zt){if(n){let s=As.get(n);s||As.set(n,s=[]),s.push(e)}}function _u(e,t,n=we){const{immediate:s,deep:o,once:r,scheduler:i,augmentJob:l,call:a}=n,u=P=>o?P:tt(P)||o===!1||o===0?Ot(P,1):Ot(P);let c,f,d,h,v=!1,b=!1;if(Ne(e)?(f=()=>e.value,v=tt(e)):fn(e)?(f=()=>u(e),v=!0):Y(e)?(b=!0,v=e.some(P=>fn(P)||tt(P)),f=()=>e.map(P=>{if(Ne(P))return P.value;if(fn(P))return u(P);if(se(P))return a?a(P,2):P()})):se(e)?t?f=a?()=>a(e,2):e:f=()=>{if(d){$t();try{d()}finally{Pt()}}const P=Zt;Zt=c;try{return a?a(e,3,[h]):e(h)}finally{Zt=P}}:f=_t,t&&o){const P=f,G=o===!0?1/0:o;f=()=>Ot(P(),G)}const y=Qc(),x=()=>{c.stop(),y&&y.active&&rr(y.effects,c)};if(r&&t){const P=t;t=(...G)=>{P(...G),x()}}let S=b?new Array(e.length).fill(cs):cs;const k=P=>{if(!(!(c.flags&1)||!c.dirty&&!P))if(t){const G=c.run();if(o||v||(b?G.some((I,M)=>Bt(I,S[M])):Bt(G,S))){d&&d();const I=Zt;Zt=c;try{const M=[G,S===cs?void 0:b&&S[0]===cs?[]:S,h];S=G,a?a(t,3,M):t(...M)}finally{Zt=I}}}else c.run()};return l&&l(k),c=new Sl(f),c.scheduler=i?()=>i(k,!1):k,h=P=>bu(P,!1,c),d=c.onStop=()=>{const P=As.get(c);if(P){if(a)a(P,4);else for(const G of P)G();As.delete(c)}},t?s?k(!0):S=c.run():i?i(k.bind(null,!0),!0):c.run(),x.pause=c.pause.bind(c),x.resume=c.resume.bind(c),x.stop=x,x}function Ot(e,t=1/0,n){if(t<=0||!be(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,Ne(e))Ot(e.value,t,n);else if(Y(e))for(let s=0;s{Ot(s,t,n)});else if(vl(e)){for(const s in e)Ot(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&Ot(e[s],t,n)}return e}/** -* @vue/runtime-core v3.5.22 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/function es(e,t,n,s){try{return s?e(...s):e()}catch(o){Qs(o,t,n)}}function at(e,t,n,s){if(se(e)){const o=es(e,t,n,s);return o&&gl(o)&&o.catch(r=>{Qs(r,t,n)}),o}if(Y(e)){const o=[];for(let r=0;r>>1,o=Be[s],r=zn(o);r=zn(n)?Be.push(e):Be.splice(Cu(t),0,e),e.flags|=1,Vl()}}function Vl(){Rs||(Rs=Hl.then(zl))}function Su(e){Y(e)?dn.push(...e):Nt&&e.id===-1?Nt.splice(ln+1,0,e):e.flags&1||(dn.push(e),e.flags|=1),Vl()}function Dr(e,t,n=yt+1){for(;nzn(n)-zn(s));if(dn.length=0,Nt){Nt.push(...t);return}for(Nt=t,ln=0;lne.id==null?e.flags&2?-1:1/0:e.id;function zl(e){try{for(yt=0;yt{s._d&&Ps(-1);const r=ks(t);let i;try{i=e(...o)}finally{ks(r),s._d&&Ps(1)}return i};return s._n=!0,s._c=!0,s._d=!0,s}function Vt(e,t){if(Qe===null)return e;const n=to(Qe),s=e.dirs||(e.dirs=[]);for(let o=0;oe.__isTeleport,Dn=e=>e&&(e.disabled||e.disabled===""),Nr=e=>e&&(e.defer||e.defer===""),Fr=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Ur=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Do=(e,t)=>{const n=e&&e.to;return Ee(n)?t?t(n):null:n},Jl={name:"Teleport",__isTeleport:!0,process(e,t,n,s,o,r,i,l,a,u){const{mc:c,pc:f,pbc:d,o:{insert:h,querySelector:v,createText:b,createComment:y}}=u,x=Dn(t.props);let{shapeFlag:S,children:k,dynamicChildren:P}=t;if(e==null){const G=t.el=b(""),I=t.anchor=b("");h(G,n,s),h(I,n,s);const M=(C,O)=>{S&16&&c(k,C,O,o,r,i,l,a)},A=()=>{const C=t.target=Do(t.props,v),O=Zl(C,t,b,h);C&&(i!=="svg"&&Fr(C)?i="svg":i!=="mathml"&&Ur(C)&&(i="mathml"),o&&o.isCE&&(o.ce._teleportTargets||(o.ce._teleportTargets=new Set)).add(C),x||(M(C,O),hs(t,!1)))};x&&(M(n,I),hs(t,!0)),Nr(t.props)?(t.el.__isMounted=!1,je(()=>{A(),delete t.el.__isMounted},r)):A()}else{if(Nr(t.props)&&e.el.__isMounted===!1){je(()=>{Jl.process(e,t,n,s,o,r,i,l,a,u)},r);return}t.el=e.el,t.targetStart=e.targetStart;const G=t.anchor=e.anchor,I=t.target=e.target,M=t.targetAnchor=e.targetAnchor,A=Dn(e.props),C=A?n:I,O=A?G:M;if(i==="svg"||Fr(I)?i="svg":(i==="mathml"||Ur(I))&&(i="mathml"),P?(d(e.dynamicChildren,P,C,o,r,i,l),vr(e,t,!0)):a||f(e,t,C,O,o,r,i,l,!1),x)A?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):us(t,n,G,u,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const F=t.target=Do(t.props,v);F&&us(t,F,null,u,0)}else A&&us(t,I,M,u,1);hs(t,x)}},remove(e,t,n,{um:s,o:{remove:o}},r){const{shapeFlag:i,children:l,anchor:a,targetStart:u,targetAnchor:c,target:f,props:d}=e;if(f&&(o(u),o(c)),r&&o(a),i&16){const h=r||!Dn(d);for(let v=0;v{e.isMounted=!0}),ra(()=>{e.isUnmounting=!0}),e}const et=[Function,Array],Xl={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:et,onEnter:et,onAfterEnter:et,onEnterCancelled:et,onBeforeLeave:et,onLeave:et,onAfterLeave:et,onLeaveCancelled:et,onBeforeAppear:et,onAppear:et,onAfterAppear:et,onAppearCancelled:et},Yl=e=>{const t=e.subTree;return t.component?Yl(t.component):t},Tu={name:"BaseTransition",props:Xl,setup(e,{slots:t}){const n=Ra(),s=Eu();return()=>{const o=t.default&&na(t.default(),!0);if(!o||!o.length)return;const r=ea(o),i=he(e),{mode:l}=i;if(s.isLeaving)return vo(r);const a=jr(r);if(!a)return vo(r);let u=No(a,i,s,n,f=>u=f);a.type!==He&&Kn(a,u);let c=n.subTree&&jr(n.subTree);if(c&&c.type!==He&&!Xt(c,a)&&Yl(n).type!==He){let f=No(c,i,s,n);if(Kn(c,f),l==="out-in"&&a.type!==He)return s.isLeaving=!0,f.afterLeave=()=>{s.isLeaving=!1,n.job.flags&8||n.update(),delete f.afterLeave,c=void 0},vo(r);l==="in-out"&&a.type!==He?f.delayLeave=(d,h,v)=>{const b=ta(s,c);b[String(c.key)]=c,d[Rt]=()=>{h(),d[Rt]=void 0,delete u.delayedLeave,c=void 0},u.delayedLeave=()=>{v(),delete u.delayedLeave,c=void 0}}:c=void 0}else c&&(c=void 0);return r}}};function ea(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==He){t=n;break}}return t}const Au=Tu;function ta(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function No(e,t,n,s,o){const{appear:r,mode:i,persisted:l=!1,onBeforeEnter:a,onEnter:u,onAfterEnter:c,onEnterCancelled:f,onBeforeLeave:d,onLeave:h,onAfterLeave:v,onLeaveCancelled:b,onBeforeAppear:y,onAppear:x,onAfterAppear:S,onAppearCancelled:k}=t,P=String(e.key),G=ta(n,e),I=(C,O)=>{C&&at(C,s,9,O)},M=(C,O)=>{const F=O[1];I(C,O),Y(C)?C.every(U=>U.length<=1)&&F():C.length<=1&&F()},A={mode:i,persisted:l,beforeEnter(C){let O=a;if(!n.isMounted)if(r)O=y||a;else return;C[Rt]&&C[Rt](!0);const F=G[P];F&&Xt(e,F)&&F.el[Rt]&&F.el[Rt](),I(O,[C])},enter(C){let O=u,F=c,U=f;if(!n.isMounted)if(r)O=x||u,F=S||c,U=k||f;else return;let ie=!1;const le=C[fs]=xe=>{ie||(ie=!0,xe?I(U,[C]):I(F,[C]),A.delayedLeave&&A.delayedLeave(),C[fs]=void 0)};O?M(O,[C,le]):le()},leave(C,O){const F=String(e.key);if(C[fs]&&C[fs](!0),n.isUnmounting)return O();I(d,[C]);let U=!1;const ie=C[Rt]=le=>{U||(U=!0,O(),le?I(b,[C]):I(v,[C]),C[Rt]=void 0,G[F]===e&&delete G[F])};G[F]=e,h?M(h,[C,ie]):ie()},clone(C){const O=No(C,t,n,s,o);return o&&o(O),O}};return A}function vo(e){if(Zs(e))return e=qt(e),e.children=null,e}function jr(e){if(!Zs(e))return Gl(e.type)&&e.children?ea(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&se(n.default))return n.default()}}function Kn(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Kn(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function na(e,t=!1,n){let s=[],o=0;for(let r=0;r1)for(let r=0;rNn(v,t&&(Y(t)?t[b]:t),n,s,o));return}if(Fn(s)&&!o){s.shapeFlag&512&&s.type.__asyncResolved&&s.component.subTree.component&&Nn(e,t,n,s.component.subTree);return}const r=s.shapeFlag&4?to(s.component):s.el,i=o?null:r,{i:l,r:a}=e,u=t&&t.r,c=l.refs===we?l.refs={}:l.refs,f=l.setupState,d=he(f),h=f===we?hl:v=>me(d,v);if(u!=null&&u!==a){if(Br(t),Ee(u))c[u]=null,h(u)&&(f[u]=null);else if(Ne(u)){u.value=null;const v=t;v.k&&(c[v.k]=null)}}if(se(a))es(a,l,12,[i,c]);else{const v=Ee(a),b=Ne(a);if(v||b){const y=()=>{if(e.f){const x=v?h(a)?f[a]:c[a]:a.value;if(o)Y(x)&&rr(x,r);else if(Y(x))x.includes(r)||x.push(r);else if(v)c[a]=[r],h(a)&&(f[a]=c[a]);else{const S=[r];a.value=S,e.k&&(c[e.k]=S)}}else v?(c[a]=i,h(a)&&(f[a]=i)):b&&(a.value=i,e.k&&(c[e.k]=i))};if(i){const x=()=>{y(),Os.delete(e)};x.id=-1,Os.set(e,x),je(x,n)}else Br(e),y()}}}function Br(e){const t=Os.get(e);t&&(t.flags|=8,Os.delete(e))}zs().requestIdleCallback;zs().cancelIdleCallback;const Fn=e=>!!e.type.__asyncLoader,Zs=e=>e.type.__isKeepAlive;function Ru(e,t){oa(e,"a",t)}function ku(e,t){oa(e,"da",t)}function oa(e,t,n=Me){const s=e.__wdc||(e.__wdc=()=>{let o=n;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(Xs(t,s,n),n){let o=n.parent;for(;o&&o.parent;)Zs(o.parent.vnode)&&Ou(s,t,n,o),o=o.parent}}function Ou(e,t,n,s){const o=Xs(t,e,s,!0);ts(()=>{rr(s[t],o)},n)}function Xs(e,t,n=Me,s=!1){if(n){const o=n[e]||(n[e]=[]),r=t.__weh||(t.__weh=(...i)=>{$t();const l=ns(n),a=at(t,n,e,i);return l(),Pt(),a});return s?o.unshift(r):o.push(r),r}}const It=e=>(t,n=Me)=>{(!Gn||e==="sp")&&Xs(e,(...s)=>t(...s),n)},$u=It("bm"),st=It("m"),Pu=It("bu"),Iu=It("u"),ra=It("bum"),ts=It("um"),Lu=It("sp"),Mu=It("rtg"),Du=It("rtc");function Nu(e,t=Me){Xs("ec",e,t)}const ia="components";function Hr(e,t){return aa(ia,e,!0,t)||e}const la=Symbol.for("v-ndc");function Fu(e){return Ee(e)?aa(ia,e,!1)||e:e||la}function aa(e,t,n=!0,s=!1){const o=Qe||Me;if(o){const r=o.type;{const l=Tf(r,!1);if(l&&(l===t||l===nt(t)||l===qs(nt(t))))return r}const i=Vr(o[e]||r[e],t)||Vr(o.appContext[e],t);return!i&&s?r:i}}function Vr(e,t){return e&&(e[t]||e[nt(t)]||e[qs(nt(t))])}function mn(e,t,n,s){let o;const r=n,i=Y(e);if(i||Ee(e)){const l=i&&fn(e);let a=!1,u=!1;l&&(a=!tt(e),u=Ht(e),e=Gs(e)),o=new Array(e.length);for(let c=0,f=e.length;ct(l,a,void 0,r));else{const l=Object.keys(e);o=new Array(l.length);for(let a=0,u=l.length;ae?ka(e)?to(e):Fo(e.parent):null,Un=Pe(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Fo(e.parent),$root:e=>Fo(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>ua(e),$forceUpdate:e=>e.f||(e.f=()=>{hr(e.update)}),$nextTick:e=>e.n||(e.n=gn.bind(e.proxy)),$watch:e=>rf.bind(e)}),yo=(e,t)=>e!==we&&!e.__isScriptSetup&&me(e,t),Uu={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:o,props:r,accessCache:i,type:l,appContext:a}=e;let u;if(t[0]!=="$"){const h=i[t];if(h!==void 0)switch(h){case 1:return s[t];case 2:return o[t];case 4:return n[t];case 3:return r[t]}else{if(yo(s,t))return i[t]=1,s[t];if(o!==we&&me(o,t))return i[t]=2,o[t];if((u=e.propsOptions[0])&&me(u,t))return i[t]=3,r[t];if(n!==we&&me(n,t))return i[t]=4,n[t];Uo&&(i[t]=0)}}const c=Un[t];let f,d;if(c)return t==="$attrs"&&Le(e.attrs,"get",""),c(e);if((f=l.__cssModules)&&(f=f[t]))return f;if(n!==we&&me(n,t))return i[t]=4,n[t];if(d=a.config.globalProperties,me(d,t))return d[t]},set({_:e},t,n){const{data:s,setupState:o,ctx:r}=e;return yo(o,t)?(o[t]=n,!0):s!==we&&me(s,t)?(s[t]=n,!0):me(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(r[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:o,propsOptions:r,type:i}},l){let a,u;return!!(n[l]||e!==we&&l[0]!=="$"&&me(e,l)||yo(t,l)||(a=r[0])&&me(a,l)||me(s,l)||me(Un,l)||me(o.config.globalProperties,l)||(u=i.__cssModules)&&u[l])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:me(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function qr(e){return Y(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Uo=!0;function ju(e){const t=ua(e),n=e.proxy,s=e.ctx;Uo=!1,t.beforeCreate&&zr(t.beforeCreate,e,"bc");const{data:o,computed:r,methods:i,watch:l,provide:a,inject:u,created:c,beforeMount:f,mounted:d,beforeUpdate:h,updated:v,activated:b,deactivated:y,beforeDestroy:x,beforeUnmount:S,destroyed:k,unmounted:P,render:G,renderTracked:I,renderTriggered:M,errorCaptured:A,serverPrefetch:C,expose:O,inheritAttrs:F,components:U,directives:ie,filters:le}=t;if(u&&Bu(u,s,null),i)for(const pe in i){const ae=i[pe];se(ae)&&(s[pe]=ae.bind(n))}if(o){const pe=o.call(n,n);be(pe)&&(e.data=Js(pe))}if(Uo=!0,r)for(const pe in r){const ae=r[pe],Xe=se(ae)?ae.bind(n,n):se(ae.get)?ae.get.bind(n,n):_t,ft=!se(ae)&&se(ae.set)?ae.set.bind(n):_t,ke=ye({get:Xe,set:ft});Object.defineProperty(s,pe,{enumerable:!0,configurable:!0,get:()=>ke.value,set:Te=>ke.value=Te})}if(l)for(const pe in l)ca(l[pe],s,n,pe);if(a){const pe=se(a)?a.call(n):a;Reflect.ownKeys(pe).forEach(ae=>{gs(ae,pe[ae])})}c&&zr(c,e,"c");function fe(pe,ae){Y(ae)?ae.forEach(Xe=>pe(Xe.bind(n))):ae&&pe(ae.bind(n))}if(fe($u,f),fe(st,d),fe(Pu,h),fe(Iu,v),fe(Ru,b),fe(ku,y),fe(Nu,A),fe(Du,I),fe(Mu,M),fe(ra,S),fe(ts,P),fe(Lu,C),Y(O))if(O.length){const pe=e.exposed||(e.exposed={});O.forEach(ae=>{Object.defineProperty(pe,ae,{get:()=>n[ae],set:Xe=>n[ae]=Xe,enumerable:!0})})}else e.exposed||(e.exposed={});G&&e.render===_t&&(e.render=G),F!=null&&(e.inheritAttrs=F),U&&(e.components=U),ie&&(e.directives=ie),C&&sa(e)}function Bu(e,t,n=_t){Y(e)&&(e=jo(e));for(const s in e){const o=e[s];let r;be(o)?"default"in o?r=lt(o.from||s,o.default,!0):r=lt(o.from||s):r=lt(o),Ne(r)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>r.value,set:i=>r.value=i}):t[s]=r}}function zr(e,t,n){at(Y(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function ca(e,t,n,s){let o=s.includes(".")?Ca(n,s):()=>n[s];if(Ee(e)){const r=t[e];se(r)&&wt(o,r)}else if(se(e))wt(o,e.bind(n));else if(be(e))if(Y(e))e.forEach(r=>ca(r,t,n,s));else{const r=se(e.handler)?e.handler.bind(n):t[e.handler];se(r)&&wt(o,r,e)}}function ua(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:o,optionsCache:r,config:{optionMergeStrategies:i}}=e.appContext,l=r.get(t);let a;return l?a=l:!o.length&&!n&&!s?a=t:(a={},o.length&&o.forEach(u=>$s(a,u,i,!0)),$s(a,t,i)),be(t)&&r.set(t,a),a}function $s(e,t,n,s=!1){const{mixins:o,extends:r}=t;r&&$s(e,r,n,!0),o&&o.forEach(i=>$s(e,i,n,!0));for(const i in t)if(!(s&&i==="expose")){const l=Hu[i]||n&&n[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const Hu={data:Kr,props:Wr,emits:Wr,methods:Pn,computed:Pn,beforeCreate:Ue,created:Ue,beforeMount:Ue,mounted:Ue,beforeUpdate:Ue,updated:Ue,beforeDestroy:Ue,beforeUnmount:Ue,destroyed:Ue,unmounted:Ue,activated:Ue,deactivated:Ue,errorCaptured:Ue,serverPrefetch:Ue,components:Pn,directives:Pn,watch:qu,provide:Kr,inject:Vu};function Kr(e,t){return t?e?function(){return Pe(se(e)?e.call(this,this):e,se(t)?t.call(this,this):t)}:t:e}function Vu(e,t){return Pn(jo(e),jo(t))}function jo(e){if(Y(e)){const t={};for(let n=0;n1)return n&&se(t)?t.call(s&&s.proxy):t}}const da={},pa=()=>Object.create(da),ha=e=>Object.getPrototypeOf(e)===da;function Wu(e,t,n,s=!1){const o={},r=pa();e.propsDefaults=Object.create(null),ga(e,t,o,r);for(const i in e.propsOptions[0])i in o||(o[i]=void 0);n?e.props=s?o:Nl(o):e.type.props?e.props=o:e.props=r,e.attrs=r}function Gu(e,t,n,s){const{props:o,attrs:r,vnode:{patchFlag:i}}=e,l=he(o),[a]=e.propsOptions;let u=!1;if((s||i>0)&&!(i&16)){if(i&8){const c=e.vnode.dynamicProps;for(let f=0;f{a=!0;const[d,h]=ma(f,t,!0);Pe(i,d),h&&l.push(...h)};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}if(!r&&!a)return be(e)&&s.set(e,cn),cn;if(Y(r))for(let c=0;ce==="_"||e==="_ctx"||e==="$stable",mr=e=>Y(e)?e.map(bt):[bt(e)],Qu=(e,t,n)=>{if(t._n)return t;const s=At((...o)=>mr(t(...o)),n);return s._c=!1,s},va=(e,t,n)=>{const s=e._ctx;for(const o in e){if(gr(o))continue;const r=e[o];if(se(r))t[o]=Qu(o,r,s);else if(r!=null){const i=mr(r);t[o]=()=>i}}},ya=(e,t)=>{const n=mr(t);e.slots.default=()=>n},ba=(e,t,n)=>{for(const s in t)(n||!gr(s))&&(e[s]=t[s])},Zu=(e,t,n)=>{const s=e.slots=pa();if(e.vnode.shapeFlag&32){const o=t._;o?(ba(s,t,n),n&&yl(s,"_",o,!0)):va(t,s)}else t&&ya(e,t)},Xu=(e,t,n)=>{const{vnode:s,slots:o}=e;let r=!0,i=we;if(s.shapeFlag&32){const l=t._;l?n&&l===1?r=!1:ba(o,t,n):(r=!t.$stable,va(t,o)),i=t}else t&&(ya(e,t),i={default:1});if(r)for(const l in o)!gr(l)&&i[l]==null&&delete o[l]},je=hf;function Yu(e){return ef(e)}function ef(e,t){const n=zs();n.__VUE__=!0;const{insert:s,remove:o,patchProp:r,createElement:i,createText:l,createComment:a,setText:u,setElementText:c,parentNode:f,nextSibling:d,setScopeId:h=_t,insertStaticContent:v}=e,b=(g,m,_,T=null,$=null,E=null,q=void 0,H=null,j=!!m.dynamicChildren)=>{if(g===m)return;g&&!Xt(g,m)&&(T=R(g),Te(g,$,E,!0),g=null),m.patchFlag===-2&&(j=!1,m.dynamicChildren=null);const{type:D,ref:ee,shapeFlag:K}=m;switch(D){case eo:y(g,m,_,T);break;case He:x(g,m,_,T);break;case ms:g==null&&S(m,_,T,q);break;case $e:U(g,m,_,T,$,E,q,H,j);break;default:K&1?G(g,m,_,T,$,E,q,H,j):K&6?ie(g,m,_,T,$,E,q,H,j):(K&64||K&128)&&D.process(g,m,_,T,$,E,q,H,j,Z)}ee!=null&&$?Nn(ee,g&&g.ref,E,m||g,!m):ee==null&&g&&g.ref!=null&&Nn(g.ref,null,E,g,!0)},y=(g,m,_,T)=>{if(g==null)s(m.el=l(m.children),_,T);else{const $=m.el=g.el;m.children!==g.children&&u($,m.children)}},x=(g,m,_,T)=>{g==null?s(m.el=a(m.children||""),_,T):m.el=g.el},S=(g,m,_,T)=>{[g.el,g.anchor]=v(g.children,m,_,T,g.el,g.anchor)},k=({el:g,anchor:m},_,T)=>{let $;for(;g&&g!==m;)$=d(g),s(g,_,T),g=$;s(m,_,T)},P=({el:g,anchor:m})=>{let _;for(;g&&g!==m;)_=d(g),o(g),g=_;o(m)},G=(g,m,_,T,$,E,q,H,j)=>{m.type==="svg"?q="svg":m.type==="math"&&(q="mathml"),g==null?I(m,_,T,$,E,q,H,j):C(g,m,$,E,q,H,j)},I=(g,m,_,T,$,E,q,H)=>{let j,D;const{props:ee,shapeFlag:K,transition:X,dirs:ne}=g;if(j=g.el=i(g.type,E,ee&&ee.is,ee),K&8?c(j,g.children):K&16&&A(g.children,j,null,T,$,bo(g,E),q,H),ne&&Wt(g,null,T,"created"),M(j,g,g.scopeId,q,T),ee){for(const Ce in ee)Ce!=="value"&&!In(Ce)&&r(j,Ce,null,ee[Ce],E,T);"value"in ee&&r(j,"value",null,ee.value,E),(D=ee.onVnodeBeforeMount)&&mt(D,T,g)}ne&&Wt(g,null,T,"beforeMount");const de=tf($,X);de&&X.beforeEnter(j),s(j,m,_),((D=ee&&ee.onVnodeMounted)||de||ne)&&je(()=>{D&&mt(D,T,g),de&&X.enter(j),ne&&Wt(g,null,T,"mounted")},$)},M=(g,m,_,T,$)=>{if(_&&h(g,_),T)for(let E=0;E{for(let D=j;D{const H=m.el=g.el;let{patchFlag:j,dynamicChildren:D,dirs:ee}=m;j|=g.patchFlag&16;const K=g.props||we,X=m.props||we;let ne;if(_&&Gt(_,!1),(ne=X.onVnodeBeforeUpdate)&&mt(ne,_,m,g),ee&&Wt(m,g,_,"beforeUpdate"),_&&Gt(_,!0),(K.innerHTML&&X.innerHTML==null||K.textContent&&X.textContent==null)&&c(H,""),D?O(g.dynamicChildren,D,H,_,T,bo(m,$),E):q||ae(g,m,H,null,_,T,bo(m,$),E,!1),j>0){if(j&16)F(H,K,X,_,$);else if(j&2&&K.class!==X.class&&r(H,"class",null,X.class,$),j&4&&r(H,"style",K.style,X.style,$),j&8){const de=m.dynamicProps;for(let Ce=0;Ce{ne&&mt(ne,_,m,g),ee&&Wt(m,g,_,"updated")},T)},O=(g,m,_,T,$,E,q)=>{for(let H=0;H{if(m!==_){if(m!==we)for(const E in m)!In(E)&&!(E in _)&&r(g,E,m[E],null,$,T);for(const E in _){if(In(E))continue;const q=_[E],H=m[E];q!==H&&E!=="value"&&r(g,E,H,q,$,T)}"value"in _&&r(g,"value",m.value,_.value,$)}},U=(g,m,_,T,$,E,q,H,j)=>{const D=m.el=g?g.el:l(""),ee=m.anchor=g?g.anchor:l("");let{patchFlag:K,dynamicChildren:X,slotScopeIds:ne}=m;ne&&(H=H?H.concat(ne):ne),g==null?(s(D,_,T),s(ee,_,T),A(m.children||[],_,ee,$,E,q,H,j)):K>0&&K&64&&X&&g.dynamicChildren?(O(g.dynamicChildren,X,_,$,E,q,H),(m.key!=null||$&&m===$.subTree)&&vr(g,m,!0)):ae(g,m,_,ee,$,E,q,H,j)},ie=(g,m,_,T,$,E,q,H,j)=>{m.slotScopeIds=H,g==null?m.shapeFlag&512?$.ctx.activate(m,_,T,q,j):le(m,_,T,$,E,q,j):xe(g,m,j)},le=(g,m,_,T,$,E,q)=>{const H=g.component=wf(g,T,$);if(Zs(g)&&(H.ctx.renderer=Z),Cf(H,!1,q),H.asyncDep){if($&&$.registerDep(H,fe,q),!g.el){const j=H.subTree=B(He);x(null,j,m,_),g.placeholder=j.el}}else fe(H,g,m,_,$,E,q)},xe=(g,m,_)=>{const T=m.component=g.component;if(df(g,m,_))if(T.asyncDep&&!T.asyncResolved){pe(T,m,_);return}else T.next=m,T.update();else m.el=g.el,T.vnode=m},fe=(g,m,_,T,$,E,q)=>{const H=()=>{if(g.isMounted){let{next:K,bu:X,u:ne,parent:de,vnode:Ce}=g;{const ht=_a(g);if(ht){K&&(K.el=Ce.el,pe(g,K,q)),ht.asyncDep.then(()=>{g.isUnmounted||H()});return}}let ve=K,qe;Gt(g,!1),K?(K.el=Ce.el,pe(g,K,q)):K=Ce,X&&ps(X),(qe=K.props&&K.props.onVnodeBeforeUpdate)&&mt(qe,de,K,Ce),Gt(g,!0);const ze=Qr(g),pt=g.subTree;g.subTree=ze,b(pt,ze,f(pt.el),R(pt),g,$,E),K.el=ze.el,ve===null&&pf(g,ze.el),ne&&je(ne,$),(qe=K.props&&K.props.onVnodeUpdated)&&je(()=>mt(qe,de,K,Ce),$)}else{let K;const{el:X,props:ne}=m,{bm:de,m:Ce,parent:ve,root:qe,type:ze}=g,pt=Fn(m);Gt(g,!1),de&&ps(de),!pt&&(K=ne&&ne.onVnodeBeforeMount)&&mt(K,ve,m),Gt(g,!0);{qe.ce&&qe.ce._def.shadowRoot!==!1&&qe.ce._injectChildStyle(ze);const ht=g.subTree=Qr(g);b(null,ht,_,T,g,$,E),m.el=ht.el}if(Ce&&je(Ce,$),!pt&&(K=ne&&ne.onVnodeMounted)){const ht=m;je(()=>mt(K,ve,ht),$)}(m.shapeFlag&256||ve&&Fn(ve.vnode)&&ve.vnode.shapeFlag&256)&&g.a&&je(g.a,$),g.isMounted=!0,m=_=T=null}};g.scope.on();const j=g.effect=new Sl(H);g.scope.off();const D=g.update=j.run.bind(j),ee=g.job=j.runIfDirty.bind(j);ee.i=g,ee.id=g.uid,j.scheduler=()=>hr(ee),Gt(g,!0),D()},pe=(g,m,_)=>{m.component=g;const T=g.vnode.props;g.vnode=m,g.next=null,Gu(g,m.props,T,_),Xu(g,m.children,_),$t(),Dr(g),Pt()},ae=(g,m,_,T,$,E,q,H,j=!1)=>{const D=g&&g.children,ee=g?g.shapeFlag:0,K=m.children,{patchFlag:X,shapeFlag:ne}=m;if(X>0){if(X&128){ft(D,K,_,T,$,E,q,H,j);return}else if(X&256){Xe(D,K,_,T,$,E,q,H,j);return}}ne&8?(ee&16&&Ye(D,$,E),K!==D&&c(_,K)):ee&16?ne&16?ft(D,K,_,T,$,E,q,H,j):Ye(D,$,E,!0):(ee&8&&c(_,""),ne&16&&A(K,_,T,$,E,q,H,j))},Xe=(g,m,_,T,$,E,q,H,j)=>{g=g||cn,m=m||cn;const D=g.length,ee=m.length,K=Math.min(D,ee);let X;for(X=0;Xee?Ye(g,$,E,!0,!1,K):A(m,_,T,$,E,q,H,j,K)},ft=(g,m,_,T,$,E,q,H,j)=>{let D=0;const ee=m.length;let K=g.length-1,X=ee-1;for(;D<=K&&D<=X;){const ne=g[D],de=m[D]=j?Ft(m[D]):bt(m[D]);if(Xt(ne,de))b(ne,de,_,null,$,E,q,H,j);else break;D++}for(;D<=K&&D<=X;){const ne=g[K],de=m[X]=j?Ft(m[X]):bt(m[X]);if(Xt(ne,de))b(ne,de,_,null,$,E,q,H,j);else break;K--,X--}if(D>K){if(D<=X){const ne=X+1,de=neX)for(;D<=K;)Te(g[D],$,E,!0),D++;else{const ne=D,de=D,Ce=new Map;for(D=de;D<=X;D++){const Je=m[D]=j?Ft(m[D]):bt(m[D]);Je.key!=null&&Ce.set(Je.key,D)}let ve,qe=0;const ze=X-de+1;let pt=!1,ht=0;const Sn=new Array(ze);for(D=0;D=ze){Te(Je,$,E,!0);continue}let gt;if(Je.key!=null)gt=Ce.get(Je.key);else for(ve=de;ve<=X;ve++)if(Sn[ve-de]===0&&Xt(Je,m[ve])){gt=ve;break}gt===void 0?Te(Je,$,E,!0):(Sn[gt-de]=D+1,gt>=ht?ht=gt:pt=!0,b(Je,m[gt],_,null,$,E,q,H,j),qe++)}const kr=pt?nf(Sn):cn;for(ve=kr.length-1,D=ze-1;D>=0;D--){const Je=de+D,gt=m[Je],Or=m[Je+1],$r=Je+1{const{el:E,type:q,transition:H,children:j,shapeFlag:D}=g;if(D&6){ke(g.component.subTree,m,_,T);return}if(D&128){g.suspense.move(m,_,T);return}if(D&64){q.move(g,m,_,Z);return}if(q===$e){s(E,m,_);for(let K=0;KH.enter(E),$);else{const{leave:K,delayLeave:X,afterLeave:ne}=H,de=()=>{g.ctx.isUnmounted?o(E):s(E,m,_)},Ce=()=>{E._isLeaving&&E[Rt](!0),K(E,()=>{de(),ne&&ne()})};X?X(E,de,Ce):Ce()}else s(E,m,_)},Te=(g,m,_,T=!1,$=!1)=>{const{type:E,props:q,ref:H,children:j,dynamicChildren:D,shapeFlag:ee,patchFlag:K,dirs:X,cacheIndex:ne}=g;if(K===-2&&($=!1),H!=null&&($t(),Nn(H,null,_,g,!0),Pt()),ne!=null&&(m.renderCache[ne]=void 0),ee&256){m.ctx.deactivate(g);return}const de=ee&1&&X,Ce=!Fn(g);let ve;if(Ce&&(ve=q&&q.onVnodeBeforeUnmount)&&mt(ve,m,g),ee&6)Kt(g.component,_,T);else{if(ee&128){g.suspense.unmount(_,T);return}de&&Wt(g,null,m,"beforeUnmount"),ee&64?g.type.remove(g,m,_,Z,T):D&&!D.hasOnce&&(E!==$e||K>0&&K&64)?Ye(D,m,_,!1,!0):(E===$e&&K&384||!$&&ee&16)&&Ye(j,m,_),T&&dt(g)}(Ce&&(ve=q&&q.onVnodeUnmounted)||de)&&je(()=>{ve&&mt(ve,m,g),de&&Wt(g,null,m,"unmounted")},_)},dt=g=>{const{type:m,el:_,anchor:T,transition:$}=g;if(m===$e){rt(_,T);return}if(m===ms){P(g);return}const E=()=>{o(_),$&&!$.persisted&&$.afterLeave&&$.afterLeave()};if(g.shapeFlag&1&&$&&!$.persisted){const{leave:q,delayLeave:H}=$,j=()=>q(_,E);H?H(g.el,E,j):j()}else E()},rt=(g,m)=>{let _;for(;g!==m;)_=d(g),o(g),g=_;o(m)},Kt=(g,m,_)=>{const{bum:T,scope:$,job:E,subTree:q,um:H,m:j,a:D}=g;Jr(j),Jr(D),T&&ps(T),$.stop(),E&&(E.flags|=8,Te(q,g,m,_)),H&&je(H,m),je(()=>{g.isUnmounted=!0},m)},Ye=(g,m,_,T=!1,$=!1,E=0)=>{for(let q=E;q{if(g.shapeFlag&6)return R(g.component.subTree);if(g.shapeFlag&128)return g.suspense.next();const m=d(g.anchor||g.el),_=m&&m[Wl];return _?d(_):m};let J=!1;const z=(g,m,_)=>{g==null?m._vnode&&Te(m._vnode,null,null,!0):b(m._vnode||null,g,m,null,null,null,_),m._vnode=g,J||(J=!0,Dr(),ql(),J=!1)},Z={p:b,um:Te,m:ke,r:dt,mt:le,mc:A,pc:ae,pbc:O,n:R,o:e};return{render:z,hydrate:void 0,createApp:Ku(z)}}function bo({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Gt({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function tf(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function vr(e,t,n=!1){const s=e.children,o=t.children;if(Y(s)&&Y(o))for(let r=0;r>1,e[n[l]]0&&(t[s]=n[r-1]),n[r]=s)}}for(r=n.length,i=n[r-1];r-- >0;)n[r]=i,i=t[i];return n}function _a(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:_a(t)}function Jr(e){if(e)for(let t=0;tlt(sf);function wt(e,t,n){return wa(e,t,n)}function wa(e,t,n=we){const{immediate:s,deep:o,flush:r,once:i}=n,l=Pe({},n),a=t&&s||!t&&r!=="post";let u;if(Gn){if(r==="sync"){const h=of();u=h.__watcherHandles||(h.__watcherHandles=[])}else if(!a){const h=()=>{};return h.stop=_t,h.resume=_t,h.pause=_t,h}}const c=Me;l.call=(h,v,b)=>at(h,c,v,b);let f=!1;r==="post"?l.scheduler=h=>{je(h,c&&c.suspense)}:r!=="sync"&&(f=!0,l.scheduler=(h,v)=>{v?h():hr(h)}),l.augmentJob=h=>{t&&(h.flags|=4),f&&(h.flags|=2,c&&(h.id=c.uid,h.i=c))};const d=_u(e,t,l);return Gn&&(u?u.push(d):a&&d()),d}function rf(e,t,n){const s=this.proxy,o=Ee(e)?e.includes(".")?Ca(s,e):()=>s[e]:e.bind(s,s);let r;se(t)?r=t:(r=t.handler,n=t);const i=ns(this),l=wa(o,r.bind(s),n);return i(),l}function Ca(e,t){const n=t.split(".");return()=>{let s=e;for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${nt(t)}Modifiers`]||e[`${on(t)}Modifiers`];function af(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||we;let o=n;const r=t.startsWith("update:"),i=r&&lf(s,t.slice(7));i&&(i.trim&&(o=n.map(c=>Ee(c)?c.trim():c)),i.number&&(o=n.map(Es)));let l,a=s[l=fo(t)]||s[l=fo(nt(t))];!a&&r&&(a=s[l=fo(on(t))]),a&&at(a,e,6,o);const u=s[l+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,at(u,e,6,o)}}const cf=new WeakMap;function Sa(e,t,n=!1){const s=n?cf:t.emitsCache,o=s.get(e);if(o!==void 0)return o;const r=e.emits;let i={},l=!1;if(!se(e)){const a=u=>{const c=Sa(u,t,!0);c&&(l=!0,Pe(i,c))};!n&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}return!r&&!l?(be(e)&&s.set(e,null),null):(Y(r)?r.forEach(a=>i[a]=null):Pe(i,r),be(e)&&s.set(e,i),i)}function Ys(e,t){return!e||!Bs(t)?!1:(t=t.slice(2).replace(/Once$/,""),me(e,t[0].toLowerCase()+t.slice(1))||me(e,on(t))||me(e,t))}function Qr(e){const{type:t,vnode:n,proxy:s,withProxy:o,propsOptions:[r],slots:i,attrs:l,emit:a,render:u,renderCache:c,props:f,data:d,setupState:h,ctx:v,inheritAttrs:b}=e,y=ks(e);let x,S;try{if(n.shapeFlag&4){const P=o||s,G=P;x=bt(u.call(G,P,c,f,h,d,v)),S=l}else{const P=t;x=bt(P.length>1?P(f,{attrs:l,slots:i,emit:a}):P(f,null)),S=t.props?l:uf(l)}}catch(P){jn.length=0,Qs(P,e,1),x=B(He)}let k=x;if(S&&b!==!1){const P=Object.keys(S),{shapeFlag:G}=k;P.length&&G&7&&(r&&P.some(or)&&(S=ff(S,r)),k=qt(k,S,!1,!0))}return n.dirs&&(k=qt(k,null,!1,!0),k.dirs=k.dirs?k.dirs.concat(n.dirs):n.dirs),n.transition&&Kn(k,n.transition),x=k,ks(y),x}const uf=e=>{let t;for(const n in e)(n==="class"||n==="style"||Bs(n))&&((t||(t={}))[n]=e[n]);return t},ff=(e,t)=>{const n={};for(const s in e)(!or(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function df(e,t,n){const{props:s,children:o,component:r}=e,{props:i,children:l,patchFlag:a}=t,u=r.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&a>=0){if(a&1024)return!0;if(a&16)return s?Zr(s,i,u):!!i;if(a&8){const c=t.dynamicProps;for(let f=0;fe.__isSuspense;function hf(e,t){t&&t.pendingBranch?Y(e)?t.effects.push(...e):t.effects.push(e):Su(e)}const $e=Symbol.for("v-fgt"),eo=Symbol.for("v-txt"),He=Symbol.for("v-cmt"),ms=Symbol.for("v-stc"),jn=[];let Ze=null;function L(e=!1){jn.push(Ze=e?null:[])}function gf(){jn.pop(),Ze=jn[jn.length-1]||null}let Wn=1;function Ps(e,t=!1){Wn+=e,e<0&&Ze&&t&&(Ze.hasOnce=!0)}function Ea(e){return e.dynamicChildren=Wn>0?Ze||cn:null,gf(),Wn>0&&Ze&&Ze.push(e),e}function N(e,t,n,s,o,r){return Ea(p(e,t,n,s,o,r,!0))}function Ve(e,t,n,s,o){return Ea(B(e,t,n,s,o,!0))}function Is(e){return e?e.__v_isVNode===!0:!1}function Xt(e,t){return e.type===t.type&&e.key===t.key}const Ta=({key:e})=>e??null,vs=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?Ee(e)||Ne(e)||se(e)?{i:Qe,r:e,k:t,f:!!n}:e:null);function p(e,t=null,n=null,s=0,o=null,r=e===$e?0:1,i=!1,l=!1){const a={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Ta(t),ref:t&&vs(t),scopeId:Kl,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:r,patchFlag:s,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:Qe};return l?(yr(a,n),r&128&&e.normalize(a)):n&&(a.shapeFlag|=Ee(n)?8:16),Wn>0&&!i&&Ze&&(a.patchFlag>0||r&6)&&a.patchFlag!==32&&Ze.push(a),a}const B=mf;function mf(e,t=null,n=null,s=0,o=null,r=!1){if((!e||e===la)&&(e=He),Is(e)){const l=qt(e,t,!0);return n&&yr(l,n),Wn>0&&!r&&Ze&&(l.shapeFlag&6?Ze[Ze.indexOf(e)]=l:Ze.push(l)),l.patchFlag=-2,l}if(Af(e)&&(e=e.__vccOpts),t){t=vf(t);let{class:l,style:a}=t;l&&!Ee(l)&&(t.class=oe(l)),be(a)&&(pr(a)&&!Y(a)&&(a=Pe({},a)),t.style=Ks(a))}const i=Ee(e)?1:xa(e)?128:Gl(e)?64:be(e)?4:se(e)?2:0;return p(e,t,n,s,o,i,r,!0)}function vf(e){return e?pr(e)||ha(e)?Pe({},e):e:null}function qt(e,t,n=!1,s=!1){const{props:o,ref:r,patchFlag:i,children:l,transition:a}=e,u=t?yf(o||{},t):o,c={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&Ta(u),ref:t&&t.ref?n&&r?Y(r)?r.concat(vs(t)):[r,vs(t)]:vs(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==$e?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:a,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&qt(e.ssContent),ssFallback:e.ssFallback&&qt(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return a&&s&&Kn(c,a.clone(c)),c}function ue(e=" ",t=0){return B(eo,null,e,t)}function Aa(e,t){const n=B(ms,null,e);return n.staticCount=t,n}function ce(e="",t=!1){return t?(L(),Ve(He,null,e)):B(He,null,e)}function bt(e){return e==null||typeof e=="boolean"?B(He):Y(e)?B($e,null,e.slice()):Is(e)?Ft(e):B(eo,null,String(e))}function Ft(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:qt(e)}function yr(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(Y(t))n=16;else if(typeof t=="object")if(s&65){const o=t.default;o&&(o._c&&(o._d=!1),yr(e,o()),o._c&&(o._d=!0));return}else{n=32;const o=t._;!o&&!ha(t)?t._ctx=Qe:o===3&&Qe&&(Qe.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else se(t)?(t={default:t,_ctx:Qe},n=32):(t=String(t),s&64?(n=16,t=[ue(t)]):n=8);e.children=t,e.shapeFlag|=n}function yf(...e){const t={};for(let n=0;nMe||Qe;let Ls,Ho;{const e=zs(),t=(n,s)=>{let o;return(o=e[n])||(o=e[n]=[]),o.push(s),r=>{o.length>1?o.forEach(i=>i(r)):o[0](r)}};Ls=t("__VUE_INSTANCE_SETTERS__",n=>Me=n),Ho=t("__VUE_SSR_SETTERS__",n=>Gn=n)}const ns=e=>{const t=Me;return Ls(e),e.scope.on(),()=>{e.scope.off(),Ls(t)}},Xr=()=>{Me&&Me.scope.off(),Ls(null)};function ka(e){return e.vnode.shapeFlag&4}let Gn=!1;function Cf(e,t=!1,n=!1){t&&Ho(t);const{props:s,children:o}=e.vnode,r=ka(e);Wu(e,s,r,t),Zu(e,o,n||t);const i=r?Sf(e,t):void 0;return t&&Ho(!1),i}function Sf(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Uu);const{setup:s}=n;if(s){$t();const o=e.setupContext=s.length>1?Ef(e):null,r=ns(e),i=es(s,e,0,[e.props,o]),l=gl(i);if(Pt(),r(),(l||e.sp)&&!Fn(e)&&sa(e),l){if(i.then(Xr,Xr),t)return i.then(a=>{Yr(e,a)}).catch(a=>{Qs(a,e,0)});e.asyncDep=i}else Yr(e,i)}else Oa(e)}function Yr(e,t,n){se(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:be(t)&&(e.setupState=Bl(t)),Oa(e)}function Oa(e,t,n){const s=e.type;e.render||(e.render=s.render||_t);{const o=ns(e);$t();try{ju(e)}finally{Pt(),o()}}}const xf={get(e,t){return Le(e,"get",""),e[t]}};function Ef(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,xf),slots:e.slots,emit:e.emit,expose:t}}function to(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Bl(Fl(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Un)return Un[n](e)},has(t,n){return n in t||n in Un}})):e.proxy}function Tf(e,t=!0){return se(e)?e.displayName||e.name:e.name||t&&e.__name}function Af(e){return se(e)&&"__vccOpts"in e}const ye=(e,t)=>yu(e,t,Gn);function zt(e,t,n){try{Ps(-1);const s=arguments.length;return s===2?be(t)&&!Y(t)?Is(t)?B(e,null,[t]):B(e,t):B(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&Is(n)&&(n=[n]),B(e,t,n))}finally{Ps(1)}}const Rf="3.5.22";/** -* @vue/runtime-dom v3.5.22 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/let Vo;const ei=typeof window<"u"&&window.trustedTypes;if(ei)try{Vo=ei.createPolicy("vue",{createHTML:e=>e})}catch{}const $a=Vo?e=>Vo.createHTML(e):e=>e,kf="http://www.w3.org/2000/svg",Of="http://www.w3.org/1998/Math/MathML",Tt=typeof document<"u"?document:null,ti=Tt&&Tt.createElement("template"),$f={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const o=t==="svg"?Tt.createElementNS(kf,e):t==="mathml"?Tt.createElementNS(Of,e):n?Tt.createElement(e,{is:n}):Tt.createElement(e);return e==="select"&&s&&s.multiple!=null&&o.setAttribute("multiple",s.multiple),o},createText:e=>Tt.createTextNode(e),createComment:e=>Tt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Tt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,o,r){const i=n?n.previousSibling:t.lastChild;if(o&&(o===r||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),n),!(o===r||!(o=o.nextSibling)););else{ti.innerHTML=$a(s==="svg"?`${e}`:s==="mathml"?`${e}`:e);const l=ti.content;if(s==="svg"||s==="mathml"){const a=l.firstChild;for(;a.firstChild;)l.appendChild(a.firstChild);l.removeChild(a)}t.insertBefore(l,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Mt="transition",En="animation",Jn=Symbol("_vtc"),Pa={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},Pf=Pe({},Xl,Pa),If=e=>(e.displayName="Transition",e.props=Pf,e),Ia=If((e,{slots:t})=>zt(Au,Lf(e),t)),Jt=(e,t=[])=>{Y(e)?e.forEach(n=>n(...t)):e&&e(...t)},ni=e=>e?Y(e)?e.some(t=>t.length>1):e.length>1:!1;function Lf(e){const t={};for(const U in e)U in Pa||(t[U]=e[U]);if(e.css===!1)return t;const{name:n="v",type:s,duration:o,enterFromClass:r=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:a=r,appearActiveClass:u=i,appearToClass:c=l,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:d=`${n}-leave-active`,leaveToClass:h=`${n}-leave-to`}=e,v=Mf(o),b=v&&v[0],y=v&&v[1],{onBeforeEnter:x,onEnter:S,onEnterCancelled:k,onLeave:P,onLeaveCancelled:G,onBeforeAppear:I=x,onAppear:M=S,onAppearCancelled:A=k}=t,C=(U,ie,le,xe)=>{U._enterCancelled=xe,Qt(U,ie?c:l),Qt(U,ie?u:i),le&&le()},O=(U,ie)=>{U._isLeaving=!1,Qt(U,f),Qt(U,h),Qt(U,d),ie&&ie()},F=U=>(ie,le)=>{const xe=U?M:S,fe=()=>C(ie,U,le);Jt(xe,[ie,fe]),si(()=>{Qt(ie,U?a:r),xt(ie,U?c:l),ni(xe)||oi(ie,s,b,fe)})};return Pe(t,{onBeforeEnter(U){Jt(x,[U]),xt(U,r),xt(U,i)},onBeforeAppear(U){Jt(I,[U]),xt(U,a),xt(U,u)},onEnter:F(!1),onAppear:F(!0),onLeave(U,ie){U._isLeaving=!0;const le=()=>O(U,ie);xt(U,f),U._enterCancelled?(xt(U,d),li(U)):(li(U),xt(U,d)),si(()=>{U._isLeaving&&(Qt(U,f),xt(U,h),ni(P)||oi(U,s,y,le))}),Jt(P,[U,le])},onEnterCancelled(U){C(U,!1,void 0,!0),Jt(k,[U])},onAppearCancelled(U){C(U,!0,void 0,!0),Jt(A,[U])},onLeaveCancelled(U){O(U),Jt(G,[U])}})}function Mf(e){if(e==null)return null;if(be(e))return[_o(e.enter),_o(e.leave)];{const t=_o(e);return[t,t]}}function _o(e){return jc(e)}function xt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Jn]||(e[Jn]=new Set)).add(t)}function Qt(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const n=e[Jn];n&&(n.delete(t),n.size||(e[Jn]=void 0))}function si(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Df=0;function oi(e,t,n,s){const o=e._endId=++Df,r=()=>{o===e._endId&&s()};if(n!=null)return setTimeout(r,n);const{type:i,timeout:l,propCount:a}=Nf(e,t);if(!i)return s();const u=i+"end";let c=0;const f=()=>{e.removeEventListener(u,d),r()},d=h=>{h.target===e&&++c>=a&&f()};setTimeout(()=>{c(n[v]||"").split(", "),o=s(`${Mt}Delay`),r=s(`${Mt}Duration`),i=ri(o,r),l=s(`${En}Delay`),a=s(`${En}Duration`),u=ri(l,a);let c=null,f=0,d=0;t===Mt?i>0&&(c=Mt,f=i,d=r.length):t===En?u>0&&(c=En,f=u,d=a.length):(f=Math.max(i,u),c=f>0?i>u?Mt:En:null,d=c?c===Mt?r.length:a.length:0);const h=c===Mt&&/\b(?:transform|all)(?:,|$)/.test(s(`${Mt}Property`).toString());return{type:c,timeout:f,propCount:d,hasTransform:h}}function ri(e,t){for(;e.lengthii(n)+ii(e[s])))}function ii(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function li(e){return(e?e.ownerDocument:document).body.offsetHeight}function Ff(e,t,n){const s=e[Jn];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Ms=Symbol("_vod"),La=Symbol("_vsh"),Ds={name:"show",beforeMount(e,{value:t},{transition:n}){e[Ms]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):Tn(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:s}){!t!=!n&&(s?t?(s.beforeEnter(e),Tn(e,!0),s.enter(e)):s.leave(e,()=>{Tn(e,!1)}):Tn(e,t))},beforeUnmount(e,{value:t}){Tn(e,t)}};function Tn(e,t){e.style.display=t?e[Ms]:"none",e[La]=!t}const Uf=Symbol(""),jf=/(?:^|;)\s*display\s*:/;function Bf(e,t,n){const s=e.style,o=Ee(n);let r=!1;if(n&&!o){if(t)if(Ee(t))for(const i of t.split(";")){const l=i.slice(0,i.indexOf(":")).trim();n[l]==null&&ys(s,l,"")}else for(const i in t)n[i]==null&&ys(s,i,"");for(const i in n)i==="display"&&(r=!0),ys(s,i,n[i])}else if(o){if(t!==n){const i=s[Uf];i&&(n+=";"+i),s.cssText=n,r=jf.test(n)}}else t&&e.removeAttribute("style");Ms in e&&(e[Ms]=r?s.display:"",e[La]&&(s.display="none"))}const ai=/\s*!important$/;function ys(e,t,n){if(Y(n))n.forEach(s=>ys(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=Hf(e,t);ai.test(n)?e.setProperty(on(s),n.replace(ai,""),"important"):e[s]=n}}const ci=["Webkit","Moz","ms"],wo={};function Hf(e,t){const n=wo[t];if(n)return n;let s=nt(t);if(s!=="filter"&&s in e)return wo[t]=s;s=qs(s);for(let o=0;oCo||(Kf.then(()=>Co=0),Co=Date.now());function Gf(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;at(Jf(s,n.value),t,5,[s])};return n.value=e,n.attached=Wf(),n}function Jf(e,t){if(Y(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>o=>!o._stopped&&s&&s(o))}else return t}const gi=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Qf=(e,t,n,s,o,r)=>{const i=o==="svg";t==="class"?Ff(e,s,i):t==="style"?Bf(e,n,s):Bs(t)?or(t)||qf(e,t,n,s,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Zf(e,t,s,i))?(di(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&fi(e,t,s,i,r,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!Ee(s))?di(e,nt(t),s,r,t):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),fi(e,t,s,i))};function Zf(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&gi(t)&&se(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const o=e.tagName;if(o==="IMG"||o==="VIDEO"||o==="CANVAS"||o==="SOURCE")return!1}return gi(t)&&Ee(n)?!1:t in e}const Ns=e=>{const t=e.props["onUpdate:modelValue"]||!1;return Y(t)?n=>ps(t,n):t};function Xf(e){e.target.composing=!0}function mi(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const hn=Symbol("_assign"),Ma={created(e,{modifiers:{lazy:t,trim:n,number:s}},o){e[hn]=Ns(o);const r=s||o.props&&o.props.type==="number";Yt(e,t?"change":"input",i=>{if(i.target.composing)return;let l=e.value;n&&(l=l.trim()),r&&(l=Es(l)),e[hn](l)}),n&&Yt(e,"change",()=>{e.value=e.value.trim()}),t||(Yt(e,"compositionstart",Xf),Yt(e,"compositionend",mi),Yt(e,"change",mi))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:s,trim:o,number:r}},i){if(e[hn]=Ns(i),e.composing)return;const l=(r||e.type==="number")&&!/^0\d/.test(e.value)?Es(e.value):e.value,a=t??"";l!==a&&(document.activeElement===e&&e.type!=="range"&&(s&&t===n||o&&e.value.trim()===a)||(e.value=a))}},Da={deep:!0,created(e,{value:t,modifiers:{number:n}},s){const o=Hs(t);Yt(e,"change",()=>{const r=Array.prototype.filter.call(e.options,i=>i.selected).map(i=>n?Es(Fs(i)):Fs(i));e[hn](e.multiple?o?new Set(r):r:r[0]),e._assigning=!0,gn(()=>{e._assigning=!1})}),e[hn]=Ns(s)},mounted(e,{value:t}){vi(e,t)},beforeUpdate(e,t,n){e[hn]=Ns(n)},updated(e,{value:t}){e._assigning||vi(e,t)}};function vi(e,t){const n=e.multiple,s=Y(t);if(!(n&&!s&&!Hs(t))){for(let o=0,r=e.options.length;oString(u)===String(l)):i.selected=Gc(t,l)>-1}else i.selected=t.has(l);else if(Ws(Fs(i),t)){e.selectedIndex!==o&&(e.selectedIndex=o);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Fs(e){return"_value"in e?e._value:e.value}const Yf=["ctrl","shift","alt","meta"],ed={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Yf.some(n=>e[`${n}Key`]&&!t.includes(n))},jt=(e,t)=>{const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=(o,...r)=>{for(let i=0;i{const t=nd().createApp(...e),{mount:n}=t;return t.mount=s=>{const o=rd(s);if(!o)return;const r=t._component;!se(r)&&!r.render&&!r.template&&(r.template=o.innerHTML),o.nodeType===1&&(o.textContent="");const i=n(o,!1,od(o));return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),i},t};function od(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function rd(e){return Ee(e)?document.querySelector(e):e}/*! - * pinia v2.3.1 - * (c) 2025 Eduardo San Martin Morote - * @license MIT - */const id=Symbol();var bi;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(bi||(bi={}));function ld(){const e=Jc(!0),t=e.run(()=>Q({}));let n=[],s=[];const o=Fl({install(r){o._a=r,r.provide(id,o),r.config.globalProperties.$pinia=o,s.forEach(i=>n.push(i)),s=[]},use(r){return this._a?n.push(r):s.push(r),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return o}function Na(e,t){return function(){return e.apply(t,arguments)}}const{toString:ad}=Object.prototype,{getPrototypeOf:br}=Object,{iterator:no,toStringTag:Fa}=Symbol,so=(e=>t=>{const n=ad.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),ut=e=>(e=e.toLowerCase(),t=>so(t)===e),oo=e=>t=>typeof t===e,{isArray:wn}=Array,vn=oo("undefined");function ss(e){return e!==null&&!vn(e)&&e.constructor!==null&&!vn(e.constructor)&&We(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const Ua=ut("ArrayBuffer");function cd(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&Ua(e.buffer),t}const ud=oo("string"),We=oo("function"),ja=oo("number"),os=e=>e!==null&&typeof e=="object",fd=e=>e===!0||e===!1,bs=e=>{if(so(e)!=="object")return!1;const t=br(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Fa in e)&&!(no in e)},dd=e=>{if(!os(e)||ss(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},pd=ut("Date"),hd=ut("File"),gd=ut("Blob"),md=ut("FileList"),vd=e=>os(e)&&We(e.pipe),yd=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||We(e.append)&&((t=so(e))==="formdata"||t==="object"&&We(e.toString)&&e.toString()==="[object FormData]"))},bd=ut("URLSearchParams"),[_d,wd,Cd,Sd]=["ReadableStream","Request","Response","Headers"].map(ut),xd=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function rs(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let s,o;if(typeof e!="object"&&(e=[e]),wn(e))for(s=0,o=e.length;s0;)if(o=n[s],t===o.toLowerCase())return o;return null}const en=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,Ha=e=>!vn(e)&&e!==en;function qo(){const{caseless:e,skipUndefined:t}=Ha(this)&&this||{},n={},s=(o,r)=>{const i=e&&Ba(n,r)||r;bs(n[i])&&bs(o)?n[i]=qo(n[i],o):bs(o)?n[i]=qo({},o):wn(o)?n[i]=o.slice():(!t||!vn(o))&&(n[i]=o)};for(let o=0,r=arguments.length;o(rs(t,(o,r)=>{n&&We(o)?e[r]=Na(o,n):e[r]=o},{allOwnKeys:s}),e),Td=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),Ad=(e,t,n,s)=>{e.prototype=Object.create(t.prototype,s),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},Rd=(e,t,n,s)=>{let o,r,i;const l={};if(t=t||{},e==null)return t;do{for(o=Object.getOwnPropertyNames(e),r=o.length;r-- >0;)i=o[r],(!s||s(i,e,t))&&!l[i]&&(t[i]=e[i],l[i]=!0);e=n!==!1&&br(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},kd=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const s=e.indexOf(t,n);return s!==-1&&s===n},Od=e=>{if(!e)return null;if(wn(e))return e;let t=e.length;if(!ja(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},$d=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&br(Uint8Array)),Pd=(e,t)=>{const s=(e&&e[no]).call(e);let o;for(;(o=s.next())&&!o.done;){const r=o.value;t.call(e,r[0],r[1])}},Id=(e,t)=>{let n;const s=[];for(;(n=e.exec(t))!==null;)s.push(n);return s},Ld=ut("HTMLFormElement"),Md=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,s,o){return s.toUpperCase()+o}),_i=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),Dd=ut("RegExp"),Va=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),s={};rs(n,(o,r)=>{let i;(i=t(o,r,e))!==!1&&(s[r]=i||o)}),Object.defineProperties(e,s)},Nd=e=>{Va(e,(t,n)=>{if(We(e)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const s=e[n];if(We(s)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},Fd=(e,t)=>{const n={},s=o=>{o.forEach(r=>{n[r]=!0})};return wn(e)?s(e):s(String(e).split(t)),n},Ud=()=>{},jd=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function Bd(e){return!!(e&&We(e.append)&&e[Fa]==="FormData"&&e[no])}const Hd=e=>{const t=new Array(10),n=(s,o)=>{if(os(s)){if(t.indexOf(s)>=0)return;if(ss(s))return s;if(!("toJSON"in s)){t[o]=s;const r=wn(s)?[]:{};return rs(s,(i,l)=>{const a=n(i,o+1);!vn(a)&&(r[l]=a)}),t[o]=void 0,r}}return s};return n(e,0)},Vd=ut("AsyncFunction"),qd=e=>e&&(os(e)||We(e))&&We(e.then)&&We(e.catch),qa=((e,t)=>e?setImmediate:t?((n,s)=>(en.addEventListener("message",({source:o,data:r})=>{o===en&&r===n&&s.length&&s.shift()()},!1),o=>{s.push(o),en.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",We(en.postMessage)),zd=typeof queueMicrotask<"u"?queueMicrotask.bind(en):typeof process<"u"&&process.nextTick||qa,Kd=e=>e!=null&&We(e[no]),w={isArray:wn,isArrayBuffer:Ua,isBuffer:ss,isFormData:yd,isArrayBufferView:cd,isString:ud,isNumber:ja,isBoolean:fd,isObject:os,isPlainObject:bs,isEmptyObject:dd,isReadableStream:_d,isRequest:wd,isResponse:Cd,isHeaders:Sd,isUndefined:vn,isDate:pd,isFile:hd,isBlob:gd,isRegExp:Dd,isFunction:We,isStream:vd,isURLSearchParams:bd,isTypedArray:$d,isFileList:md,forEach:rs,merge:qo,extend:Ed,trim:xd,stripBOM:Td,inherits:Ad,toFlatObject:Rd,kindOf:so,kindOfTest:ut,endsWith:kd,toArray:Od,forEachEntry:Pd,matchAll:Id,isHTMLForm:Ld,hasOwnProperty:_i,hasOwnProp:_i,reduceDescriptors:Va,freezeMethods:Nd,toObjectSet:Fd,toCamelCase:Md,noop:Ud,toFiniteNumber:jd,findKey:Ba,global:en,isContextDefined:Ha,isSpecCompliantForm:Bd,toJSONObject:Hd,isAsyncFn:Vd,isThenable:qd,setImmediate:qa,asap:zd,isIterable:Kd};function re(e,t,n,s,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),s&&(this.request=s),o&&(this.response=o,this.status=o.status?o.status:null)}w.inherits(re,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:w.toJSONObject(this.config),code:this.code,status:this.status}}});const za=re.prototype,Ka={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{Ka[e]={value:e}});Object.defineProperties(re,Ka);Object.defineProperty(za,"isAxiosError",{value:!0});re.from=(e,t,n,s,o,r)=>{const i=Object.create(za);w.toFlatObject(e,i,function(c){return c!==Error.prototype},u=>u!=="isAxiosError");const l=e&&e.message?e.message:"Error",a=t==null&&e?e.code:t;return re.call(i,l,a,n,s,o),e&&i.cause==null&&Object.defineProperty(i,"cause",{value:e,configurable:!0}),i.name=e&&e.name||"Error",r&&Object.assign(i,r),i};const Wd=null;function zo(e){return w.isPlainObject(e)||w.isArray(e)}function Wa(e){return w.endsWith(e,"[]")?e.slice(0,-2):e}function wi(e,t,n){return e?e.concat(t).map(function(o,r){return o=Wa(o),!n&&r?"["+o+"]":o}).join(n?".":""):t}function Gd(e){return w.isArray(e)&&!e.some(zo)}const Jd=w.toFlatObject(w,{},null,function(t){return/^is[A-Z]/.test(t)});function ro(e,t,n){if(!w.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=w.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(b,y){return!w.isUndefined(y[b])});const s=n.metaTokens,o=n.visitor||c,r=n.dots,i=n.indexes,a=(n.Blob||typeof Blob<"u"&&Blob)&&w.isSpecCompliantForm(t);if(!w.isFunction(o))throw new TypeError("visitor must be a function");function u(v){if(v===null)return"";if(w.isDate(v))return v.toISOString();if(w.isBoolean(v))return v.toString();if(!a&&w.isBlob(v))throw new re("Blob is not supported. Use a Buffer instead.");return w.isArrayBuffer(v)||w.isTypedArray(v)?a&&typeof Blob=="function"?new Blob([v]):Buffer.from(v):v}function c(v,b,y){let x=v;if(v&&!y&&typeof v=="object"){if(w.endsWith(b,"{}"))b=s?b:b.slice(0,-2),v=JSON.stringify(v);else if(w.isArray(v)&&Gd(v)||(w.isFileList(v)||w.endsWith(b,"[]"))&&(x=w.toArray(v)))return b=Wa(b),x.forEach(function(k,P){!(w.isUndefined(k)||k===null)&&t.append(i===!0?wi([b],P,r):i===null?b:b+"[]",u(k))}),!1}return zo(v)?!0:(t.append(wi(y,b,r),u(v)),!1)}const f=[],d=Object.assign(Jd,{defaultVisitor:c,convertValue:u,isVisitable:zo});function h(v,b){if(!w.isUndefined(v)){if(f.indexOf(v)!==-1)throw Error("Circular reference detected in "+b.join("."));f.push(v),w.forEach(v,function(x,S){(!(w.isUndefined(x)||x===null)&&o.call(t,x,w.isString(S)?S.trim():S,b,d))===!0&&h(x,b?b.concat(S):[S])}),f.pop()}}if(!w.isObject(e))throw new TypeError("data must be an object");return h(e),t}function Ci(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(s){return t[s]})}function _r(e,t){this._pairs=[],e&&ro(e,this,t)}const Ga=_r.prototype;Ga.append=function(t,n){this._pairs.push([t,n])};Ga.toString=function(t){const n=t?function(s){return t.call(this,s,Ci)}:Ci;return this._pairs.map(function(o){return n(o[0])+"="+n(o[1])},"").join("&")};function Qd(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function Ja(e,t,n){if(!t)return e;const s=n&&n.encode||Qd;w.isFunction(n)&&(n={serialize:n});const o=n&&n.serialize;let r;if(o?r=o(t,n):r=w.isURLSearchParams(t)?t.toString():new _r(t,n).toString(s),r){const i=e.indexOf("#");i!==-1&&(e=e.slice(0,i)),e+=(e.indexOf("?")===-1?"?":"&")+r}return e}class Si{constructor(){this.handlers=[]}use(t,n,s){return this.handlers.push({fulfilled:t,rejected:n,synchronous:s?s.synchronous:!1,runWhen:s?s.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){w.forEach(this.handlers,function(s){s!==null&&t(s)})}}const Qa={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Zd=typeof URLSearchParams<"u"?URLSearchParams:_r,Xd=typeof FormData<"u"?FormData:null,Yd=typeof Blob<"u"?Blob:null,ep={isBrowser:!0,classes:{URLSearchParams:Zd,FormData:Xd,Blob:Yd},protocols:["http","https","file","blob","url","data"]},wr=typeof window<"u"&&typeof document<"u",Ko=typeof navigator=="object"&&navigator||void 0,tp=wr&&(!Ko||["ReactNative","NativeScript","NS"].indexOf(Ko.product)<0),np=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",sp=wr&&window.location.href||"http://localhost",op=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:wr,hasStandardBrowserEnv:tp,hasStandardBrowserWebWorkerEnv:np,navigator:Ko,origin:sp},Symbol.toStringTag,{value:"Module"})),De={...op,...ep};function rp(e,t){return ro(e,new De.classes.URLSearchParams,{visitor:function(n,s,o,r){return De.isNode&&w.isBuffer(n)?(this.append(s,n.toString("base64")),!1):r.defaultVisitor.apply(this,arguments)},...t})}function ip(e){return w.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function lp(e){const t={},n=Object.keys(e);let s;const o=n.length;let r;for(s=0;s=n.length;return i=!i&&w.isArray(o)?o.length:i,a?(w.hasOwnProp(o,i)?o[i]=[o[i],s]:o[i]=s,!l):((!o[i]||!w.isObject(o[i]))&&(o[i]=[]),t(n,s,o[i],r)&&w.isArray(o[i])&&(o[i]=lp(o[i])),!l)}if(w.isFormData(e)&&w.isFunction(e.entries)){const n={};return w.forEachEntry(e,(s,o)=>{t(ip(s),o,n,0)}),n}return null}function ap(e,t,n){if(w.isString(e))try{return(t||JSON.parse)(e),w.trim(e)}catch(s){if(s.name!=="SyntaxError")throw s}return(n||JSON.stringify)(e)}const is={transitional:Qa,adapter:["xhr","http","fetch"],transformRequest:[function(t,n){const s=n.getContentType()||"",o=s.indexOf("application/json")>-1,r=w.isObject(t);if(r&&w.isHTMLForm(t)&&(t=new FormData(t)),w.isFormData(t))return o?JSON.stringify(Za(t)):t;if(w.isArrayBuffer(t)||w.isBuffer(t)||w.isStream(t)||w.isFile(t)||w.isBlob(t)||w.isReadableStream(t))return t;if(w.isArrayBufferView(t))return t.buffer;if(w.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let l;if(r){if(s.indexOf("application/x-www-form-urlencoded")>-1)return rp(t,this.formSerializer).toString();if((l=w.isFileList(t))||s.indexOf("multipart/form-data")>-1){const a=this.env&&this.env.FormData;return ro(l?{"files[]":t}:t,a&&new a,this.formSerializer)}}return r||o?(n.setContentType("application/json",!1),ap(t)):t}],transformResponse:[function(t){const n=this.transitional||is.transitional,s=n&&n.forcedJSONParsing,o=this.responseType==="json";if(w.isResponse(t)||w.isReadableStream(t))return t;if(t&&w.isString(t)&&(s&&!this.responseType||o)){const i=!(n&&n.silentJSONParsing)&&o;try{return JSON.parse(t,this.parseReviver)}catch(l){if(i)throw l.name==="SyntaxError"?re.from(l,re.ERR_BAD_RESPONSE,this,null,this.response):l}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:De.classes.FormData,Blob:De.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};w.forEach(["delete","get","head","post","put","patch"],e=>{is.headers[e]={}});const cp=w.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"]),up=e=>{const t={};let n,s,o;return e&&e.split(` -`).forEach(function(i){o=i.indexOf(":"),n=i.substring(0,o).trim().toLowerCase(),s=i.substring(o+1).trim(),!(!n||t[n]&&cp[n])&&(n==="set-cookie"?t[n]?t[n].push(s):t[n]=[s]:t[n]=t[n]?t[n]+", "+s:s)}),t},xi=Symbol("internals");function An(e){return e&&String(e).trim().toLowerCase()}function _s(e){return e===!1||e==null?e:w.isArray(e)?e.map(_s):String(e)}function fp(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let s;for(;s=n.exec(e);)t[s[1]]=s[2];return t}const dp=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function So(e,t,n,s,o){if(w.isFunction(s))return s.call(this,t,n);if(o&&(t=n),!!w.isString(t)){if(w.isString(s))return t.indexOf(s)!==-1;if(w.isRegExp(s))return s.test(t)}}function pp(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,s)=>n.toUpperCase()+s)}function hp(e,t){const n=w.toCamelCase(" "+t);["get","set","has"].forEach(s=>{Object.defineProperty(e,s+n,{value:function(o,r,i){return this[s].call(this,t,o,r,i)},configurable:!0})})}let Ge=class{constructor(t){t&&this.set(t)}set(t,n,s){const o=this;function r(l,a,u){const c=An(a);if(!c)throw new Error("header name must be a non-empty string");const f=w.findKey(o,c);(!f||o[f]===void 0||u===!0||u===void 0&&o[f]!==!1)&&(o[f||a]=_s(l))}const i=(l,a)=>w.forEach(l,(u,c)=>r(u,c,a));if(w.isPlainObject(t)||t instanceof this.constructor)i(t,n);else if(w.isString(t)&&(t=t.trim())&&!dp(t))i(up(t),n);else if(w.isObject(t)&&w.isIterable(t)){let l={},a,u;for(const c of t){if(!w.isArray(c))throw TypeError("Object iterator must return a key-value pair");l[u=c[0]]=(a=l[u])?w.isArray(a)?[...a,c[1]]:[a,c[1]]:c[1]}i(l,n)}else t!=null&&r(n,t,s);return this}get(t,n){if(t=An(t),t){const s=w.findKey(this,t);if(s){const o=this[s];if(!n)return o;if(n===!0)return fp(o);if(w.isFunction(n))return n.call(this,o,s);if(w.isRegExp(n))return n.exec(o);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,n){if(t=An(t),t){const s=w.findKey(this,t);return!!(s&&this[s]!==void 0&&(!n||So(this,this[s],s,n)))}return!1}delete(t,n){const s=this;let o=!1;function r(i){if(i=An(i),i){const l=w.findKey(s,i);l&&(!n||So(s,s[l],l,n))&&(delete s[l],o=!0)}}return w.isArray(t)?t.forEach(r):r(t),o}clear(t){const n=Object.keys(this);let s=n.length,o=!1;for(;s--;){const r=n[s];(!t||So(this,this[r],r,t,!0))&&(delete this[r],o=!0)}return o}normalize(t){const n=this,s={};return w.forEach(this,(o,r)=>{const i=w.findKey(s,r);if(i){n[i]=_s(o),delete n[r];return}const l=t?pp(r):String(r).trim();l!==r&&delete n[r],n[l]=_s(o),s[l]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const n=Object.create(null);return w.forEach(this,(s,o)=>{s!=null&&s!==!1&&(n[o]=t&&w.isArray(s)?s.join(", "):s)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,n])=>t+": "+n).join(` -`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...n){const s=new this(t);return n.forEach(o=>s.set(o)),s}static accessor(t){const s=(this[xi]=this[xi]={accessors:{}}).accessors,o=this.prototype;function r(i){const l=An(i);s[l]||(hp(o,i),s[l]=!0)}return w.isArray(t)?t.forEach(r):r(t),this}};Ge.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);w.reduceDescriptors(Ge.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(s){this[n]=s}}});w.freezeMethods(Ge);function xo(e,t){const n=this||is,s=t||n,o=Ge.from(s.headers);let r=s.data;return w.forEach(e,function(l){r=l.call(n,r,o.normalize(),t?t.status:void 0)}),o.normalize(),r}function Xa(e){return!!(e&&e.__CANCEL__)}function Cn(e,t,n){re.call(this,e??"canceled",re.ERR_CANCELED,t,n),this.name="CanceledError"}w.inherits(Cn,re,{__CANCEL__:!0});function Ya(e,t,n){const s=n.config.validateStatus;!n.status||!s||s(n.status)?e(n):t(new re("Request failed with status code "+n.status,[re.ERR_BAD_REQUEST,re.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function gp(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function mp(e,t){e=e||10;const n=new Array(e),s=new Array(e);let o=0,r=0,i;return t=t!==void 0?t:1e3,function(a){const u=Date.now(),c=s[r];i||(i=u),n[o]=a,s[o]=u;let f=r,d=0;for(;f!==o;)d+=n[f++],f=f%e;if(o=(o+1)%e,o===r&&(r=(r+1)%e),u-i{n=c,o=null,r&&(clearTimeout(r),r=null),e(...u)};return[(...u)=>{const c=Date.now(),f=c-n;f>=s?i(u,c):(o=u,r||(r=setTimeout(()=>{r=null,i(o)},s-f)))},()=>o&&i(o)]}const Us=(e,t,n=3)=>{let s=0;const o=mp(50,250);return vp(r=>{const i=r.loaded,l=r.lengthComputable?r.total:void 0,a=i-s,u=o(a),c=i<=l;s=i;const f={loaded:i,total:l,progress:l?i/l:void 0,bytes:a,rate:u||void 0,estimated:u&&l&&c?(l-i)/u:void 0,event:r,lengthComputable:l!=null,[t?"download":"upload"]:!0};e(f)},n)},Ei=(e,t)=>{const n=e!=null;return[s=>t[0]({lengthComputable:n,total:e,loaded:s}),t[1]]},Ti=e=>(...t)=>w.asap(()=>e(...t)),yp=De.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,De.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(De.origin),De.navigator&&/(msie|trident)/i.test(De.navigator.userAgent)):()=>!0,bp=De.hasStandardBrowserEnv?{write(e,t,n,s,o,r){const i=[e+"="+encodeURIComponent(t)];w.isNumber(n)&&i.push("expires="+new Date(n).toGMTString()),w.isString(s)&&i.push("path="+s),w.isString(o)&&i.push("domain="+o),r===!0&&i.push("secure"),document.cookie=i.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function _p(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function wp(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function ec(e,t,n){let s=!_p(t);return e&&(s||n==!1)?wp(e,t):t}const Ai=e=>e instanceof Ge?{...e}:e;function sn(e,t){t=t||{};const n={};function s(u,c,f,d){return w.isPlainObject(u)&&w.isPlainObject(c)?w.merge.call({caseless:d},u,c):w.isPlainObject(c)?w.merge({},c):w.isArray(c)?c.slice():c}function o(u,c,f,d){if(w.isUndefined(c)){if(!w.isUndefined(u))return s(void 0,u,f,d)}else return s(u,c,f,d)}function r(u,c){if(!w.isUndefined(c))return s(void 0,c)}function i(u,c){if(w.isUndefined(c)){if(!w.isUndefined(u))return s(void 0,u)}else return s(void 0,c)}function l(u,c,f){if(f in t)return s(u,c);if(f in e)return s(void 0,u)}const a={url:r,method:r,data:r,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,withXSRFToken:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,beforeRedirect:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,responseEncoding:i,validateStatus:l,headers:(u,c,f)=>o(Ai(u),Ai(c),f,!0)};return w.forEach(Object.keys({...e,...t}),function(c){const f=a[c]||o,d=f(e[c],t[c],c);w.isUndefined(d)&&f!==l||(n[c]=d)}),n}const tc=e=>{const t=sn({},e);let{data:n,withXSRFToken:s,xsrfHeaderName:o,xsrfCookieName:r,headers:i,auth:l}=t;if(t.headers=i=Ge.from(i),t.url=Ja(ec(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),l&&i.set("Authorization","Basic "+btoa((l.username||"")+":"+(l.password?unescape(encodeURIComponent(l.password)):""))),w.isFormData(n)){if(De.hasStandardBrowserEnv||De.hasStandardBrowserWebWorkerEnv)i.setContentType(void 0);else if(w.isFunction(n.getHeaders)){const a=n.getHeaders(),u=["content-type","content-length"];Object.entries(a).forEach(([c,f])=>{u.includes(c.toLowerCase())&&i.set(c,f)})}}if(De.hasStandardBrowserEnv&&(s&&w.isFunction(s)&&(s=s(t)),s||s!==!1&&yp(t.url))){const a=o&&r&&bp.read(r);a&&i.set(o,a)}return t},Cp=typeof XMLHttpRequest<"u",Sp=Cp&&function(e){return new Promise(function(n,s){const o=tc(e);let r=o.data;const i=Ge.from(o.headers).normalize();let{responseType:l,onUploadProgress:a,onDownloadProgress:u}=o,c,f,d,h,v;function b(){h&&h(),v&&v(),o.cancelToken&&o.cancelToken.unsubscribe(c),o.signal&&o.signal.removeEventListener("abort",c)}let y=new XMLHttpRequest;y.open(o.method.toUpperCase(),o.url,!0),y.timeout=o.timeout;function x(){if(!y)return;const k=Ge.from("getAllResponseHeaders"in y&&y.getAllResponseHeaders()),G={data:!l||l==="text"||l==="json"?y.responseText:y.response,status:y.status,statusText:y.statusText,headers:k,config:e,request:y};Ya(function(M){n(M),b()},function(M){s(M),b()},G),y=null}"onloadend"in y?y.onloadend=x:y.onreadystatechange=function(){!y||y.readyState!==4||y.status===0&&!(y.responseURL&&y.responseURL.indexOf("file:")===0)||setTimeout(x)},y.onabort=function(){y&&(s(new re("Request aborted",re.ECONNABORTED,e,y)),y=null)},y.onerror=function(P){const G=P&&P.message?P.message:"Network Error",I=new re(G,re.ERR_NETWORK,e,y);I.event=P||null,s(I),y=null},y.ontimeout=function(){let P=o.timeout?"timeout of "+o.timeout+"ms exceeded":"timeout exceeded";const G=o.transitional||Qa;o.timeoutErrorMessage&&(P=o.timeoutErrorMessage),s(new re(P,G.clarifyTimeoutError?re.ETIMEDOUT:re.ECONNABORTED,e,y)),y=null},r===void 0&&i.setContentType(null),"setRequestHeader"in y&&w.forEach(i.toJSON(),function(P,G){y.setRequestHeader(G,P)}),w.isUndefined(o.withCredentials)||(y.withCredentials=!!o.withCredentials),l&&l!=="json"&&(y.responseType=o.responseType),u&&([d,v]=Us(u,!0),y.addEventListener("progress",d)),a&&y.upload&&([f,h]=Us(a),y.upload.addEventListener("progress",f),y.upload.addEventListener("loadend",h)),(o.cancelToken||o.signal)&&(c=k=>{y&&(s(!k||k.type?new Cn(null,e,y):k),y.abort(),y=null)},o.cancelToken&&o.cancelToken.subscribe(c),o.signal&&(o.signal.aborted?c():o.signal.addEventListener("abort",c)));const S=gp(o.url);if(S&&De.protocols.indexOf(S)===-1){s(new re("Unsupported protocol "+S+":",re.ERR_BAD_REQUEST,e));return}y.send(r||null)})},xp=(e,t)=>{const{length:n}=e=e?e.filter(Boolean):[];if(t||n){let s=new AbortController,o;const r=function(u){if(!o){o=!0,l();const c=u instanceof Error?u:this.reason;s.abort(c instanceof re?c:new Cn(c instanceof Error?c.message:c))}};let i=t&&setTimeout(()=>{i=null,r(new re(`timeout ${t} of ms exceeded`,re.ETIMEDOUT))},t);const l=()=>{e&&(i&&clearTimeout(i),i=null,e.forEach(u=>{u.unsubscribe?u.unsubscribe(r):u.removeEventListener("abort",r)}),e=null)};e.forEach(u=>u.addEventListener("abort",r));const{signal:a}=s;return a.unsubscribe=()=>w.asap(l),a}},Ep=function*(e,t){let n=e.byteLength;if(n{const o=Tp(e,t);let r=0,i,l=a=>{i||(i=!0,s&&s(a))};return new ReadableStream({async pull(a){try{const{done:u,value:c}=await o.next();if(u){l(),a.close();return}let f=c.byteLength;if(n){let d=r+=f;n(d)}a.enqueue(new Uint8Array(c))}catch(u){throw l(u),u}},cancel(a){return l(a),o.return()}},{highWaterMark:2})},ki=64*1024,{isFunction:ds}=w,Rp=(({Request:e,Response:t})=>({Request:e,Response:t}))(w.global),{ReadableStream:Oi,TextEncoder:$i}=w.global,Pi=(e,...t)=>{try{return!!e(...t)}catch{return!1}},kp=e=>{e=w.merge.call({skipUndefined:!0},Rp,e);const{fetch:t,Request:n,Response:s}=e,o=t?ds(t):typeof fetch=="function",r=ds(n),i=ds(s);if(!o)return!1;const l=o&&ds(Oi),a=o&&(typeof $i=="function"?(v=>b=>v.encode(b))(new $i):async v=>new Uint8Array(await new n(v).arrayBuffer())),u=r&&l&&Pi(()=>{let v=!1;const b=new n(De.origin,{body:new Oi,method:"POST",get duplex(){return v=!0,"half"}}).headers.has("Content-Type");return v&&!b}),c=i&&l&&Pi(()=>w.isReadableStream(new s("").body)),f={stream:c&&(v=>v.body)};o&&["text","arrayBuffer","blob","formData","stream"].forEach(v=>{!f[v]&&(f[v]=(b,y)=>{let x=b&&b[v];if(x)return x.call(b);throw new re(`Response type '${v}' is not supported`,re.ERR_NOT_SUPPORT,y)})});const d=async v=>{if(v==null)return 0;if(w.isBlob(v))return v.size;if(w.isSpecCompliantForm(v))return(await new n(De.origin,{method:"POST",body:v}).arrayBuffer()).byteLength;if(w.isArrayBufferView(v)||w.isArrayBuffer(v))return v.byteLength;if(w.isURLSearchParams(v)&&(v=v+""),w.isString(v))return(await a(v)).byteLength},h=async(v,b)=>{const y=w.toFiniteNumber(v.getContentLength());return y??d(b)};return async v=>{let{url:b,method:y,data:x,signal:S,cancelToken:k,timeout:P,onDownloadProgress:G,onUploadProgress:I,responseType:M,headers:A,withCredentials:C="same-origin",fetchOptions:O}=tc(v),F=t||fetch;M=M?(M+"").toLowerCase():"text";let U=xp([S,k&&k.toAbortSignal()],P),ie=null;const le=U&&U.unsubscribe&&(()=>{U.unsubscribe()});let xe;try{if(I&&u&&y!=="get"&&y!=="head"&&(xe=await h(A,x))!==0){let ke=new n(b,{method:"POST",body:x,duplex:"half"}),Te;if(w.isFormData(x)&&(Te=ke.headers.get("content-type"))&&A.setContentType(Te),ke.body){const[dt,rt]=Ei(xe,Us(Ti(I)));x=Ri(ke.body,ki,dt,rt)}}w.isString(C)||(C=C?"include":"omit");const fe=r&&"credentials"in n.prototype,pe={...O,signal:U,method:y.toUpperCase(),headers:A.normalize().toJSON(),body:x,duplex:"half",credentials:fe?C:void 0};ie=r&&new n(b,pe);let ae=await(r?F(ie,O):F(b,pe));const Xe=c&&(M==="stream"||M==="response");if(c&&(G||Xe&&le)){const ke={};["status","statusText","headers"].forEach(Kt=>{ke[Kt]=ae[Kt]});const Te=w.toFiniteNumber(ae.headers.get("content-length")),[dt,rt]=G&&Ei(Te,Us(Ti(G),!0))||[];ae=new s(Ri(ae.body,ki,dt,()=>{rt&&rt(),le&&le()}),ke)}M=M||"text";let ft=await f[w.findKey(f,M)||"text"](ae,v);return!Xe&&le&&le(),await new Promise((ke,Te)=>{Ya(ke,Te,{data:ft,headers:Ge.from(ae.headers),status:ae.status,statusText:ae.statusText,config:v,request:ie})})}catch(fe){throw le&&le(),fe&&fe.name==="TypeError"&&/Load failed|fetch/i.test(fe.message)?Object.assign(new re("Network Error",re.ERR_NETWORK,v,ie),{cause:fe.cause||fe}):re.from(fe,fe&&fe.code,v,ie)}}},Op=new Map,nc=e=>{let t=e?e.env:{};const{fetch:n,Request:s,Response:o}=t,r=[s,o,n];let i=r.length,l=i,a,u,c=Op;for(;l--;)a=r[l],u=c.get(a),u===void 0&&c.set(a,u=l?new Map:kp(t)),c=u;return u};nc();const Wo={http:Wd,xhr:Sp,fetch:{get:nc}};w.forEach(Wo,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const Ii=e=>`- ${e}`,$p=e=>w.isFunction(e)||e===null||e===!1,sc={getAdapter:(e,t)=>{e=w.isArray(e)?e:[e];const{length:n}=e;let s,o;const r={};for(let i=0;i`adapter ${a} `+(u===!1?"is not supported by the environment":"is not available in the build"));let l=n?i.length>1?`since : -`+i.map(Ii).join(` -`):" "+Ii(i[0]):"as no adapter specified";throw new re("There is no suitable adapter to dispatch the request "+l,"ERR_NOT_SUPPORT")}return o},adapters:Wo};function Eo(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Cn(null,e)}function Li(e){return Eo(e),e.headers=Ge.from(e.headers),e.data=xo.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),sc.getAdapter(e.adapter||is.adapter,e)(e).then(function(s){return Eo(e),s.data=xo.call(e,e.transformResponse,s),s.headers=Ge.from(s.headers),s},function(s){return Xa(s)||(Eo(e),s&&s.response&&(s.response.data=xo.call(e,e.transformResponse,s.response),s.response.headers=Ge.from(s.response.headers))),Promise.reject(s)})}const oc="1.12.2",io={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{io[e]=function(s){return typeof s===e||"a"+(t<1?"n ":" ")+e}});const Mi={};io.transitional=function(t,n,s){function o(r,i){return"[Axios v"+oc+"] Transitional option '"+r+"'"+i+(s?". "+s:"")}return(r,i,l)=>{if(t===!1)throw new re(o(i," has been removed"+(n?" in "+n:"")),re.ERR_DEPRECATED);return n&&!Mi[i]&&(Mi[i]=!0,console.warn(o(i," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(r,i,l):!0}};io.spelling=function(t){return(n,s)=>(console.warn(`${s} is likely a misspelling of ${t}`),!0)};function Pp(e,t,n){if(typeof e!="object")throw new re("options must be an object",re.ERR_BAD_OPTION_VALUE);const s=Object.keys(e);let o=s.length;for(;o-- >0;){const r=s[o],i=t[r];if(i){const l=e[r],a=l===void 0||i(l,r,e);if(a!==!0)throw new re("option "+r+" must be "+a,re.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new re("Unknown option "+r,re.ERR_BAD_OPTION)}}const ws={assertOptions:Pp,validators:io},vt=ws.validators;let nn=class{constructor(t){this.defaults=t||{},this.interceptors={request:new Si,response:new Si}}async request(t,n){try{return await this._request(t,n)}catch(s){if(s instanceof Error){let o={};Error.captureStackTrace?Error.captureStackTrace(o):o=new Error;const r=o.stack?o.stack.replace(/^.+\n/,""):"";try{s.stack?r&&!String(s.stack).endsWith(r.replace(/^.+\n.+\n/,""))&&(s.stack+=` -`+r):s.stack=r}catch{}}throw s}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=sn(this.defaults,n);const{transitional:s,paramsSerializer:o,headers:r}=n;s!==void 0&&ws.assertOptions(s,{silentJSONParsing:vt.transitional(vt.boolean),forcedJSONParsing:vt.transitional(vt.boolean),clarifyTimeoutError:vt.transitional(vt.boolean)},!1),o!=null&&(w.isFunction(o)?n.paramsSerializer={serialize:o}:ws.assertOptions(o,{encode:vt.function,serialize:vt.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),ws.assertOptions(n,{baseUrl:vt.spelling("baseURL"),withXsrfToken:vt.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let i=r&&w.merge(r.common,r[n.method]);r&&w.forEach(["delete","get","head","post","put","patch","common"],v=>{delete r[v]}),n.headers=Ge.concat(i,r);const l=[];let a=!0;this.interceptors.request.forEach(function(b){typeof b.runWhen=="function"&&b.runWhen(n)===!1||(a=a&&b.synchronous,l.unshift(b.fulfilled,b.rejected))});const u=[];this.interceptors.response.forEach(function(b){u.push(b.fulfilled,b.rejected)});let c,f=0,d;if(!a){const v=[Li.bind(this),void 0];for(v.unshift(...l),v.push(...u),d=v.length,c=Promise.resolve(n);f{if(!s._listeners)return;let r=s._listeners.length;for(;r-- >0;)s._listeners[r](o);s._listeners=null}),this.promise.then=o=>{let r;const i=new Promise(l=>{s.subscribe(l),r=l}).then(o);return i.cancel=function(){s.unsubscribe(r)},i},t(function(r,i,l){s.reason||(s.reason=new Cn(r,i,l),n(s.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const t=new AbortController,n=s=>{t.abort(s)};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return{token:new rc(function(o){t=o}),cancel:t}}};function Lp(e){return function(n){return e.apply(null,n)}}function Mp(e){return w.isObject(e)&&e.isAxiosError===!0}const Go={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Go).forEach(([e,t])=>{Go[t]=e});function ic(e){const t=new nn(e),n=Na(nn.prototype.request,t);return w.extend(n,nn.prototype,t,{allOwnKeys:!0}),w.extend(n,t,null,{allOwnKeys:!0}),n.create=function(o){return ic(sn(e,o))},n}const Re=ic(is);Re.Axios=nn;Re.CanceledError=Cn;Re.CancelToken=Ip;Re.isCancel=Xa;Re.VERSION=oc;Re.toFormData=ro;Re.AxiosError=re;Re.Cancel=Re.CanceledError;Re.all=function(t){return Promise.all(t)};Re.spread=Lp;Re.isAxiosError=Mp;Re.mergeConfig=sn;Re.AxiosHeaders=Ge;Re.formToJSON=e=>Za(w.isHTMLForm(e)?new FormData(e):e);Re.getAdapter=sc.getAdapter;Re.HttpStatusCode=Go;Re.default=Re;const{Axios:a2,AxiosError:c2,CanceledError:u2,isCancel:f2,CancelToken:d2,VERSION:p2,all:h2,Cancel:g2,isAxiosError:m2,spread:v2,toFormData:y2,AxiosHeaders:b2,HttpStatusCode:_2,formToJSON:w2,getAdapter:C2,mergeConfig:S2}=Re,Oe=Re.create({baseURL:"/api",timeout:12e4});function Dp(e){var o,r,i,l,a,u;const t=e;if(!t)return null;const n=((o=t.response)==null?void 0:o.status)&&t.response.status>=500,s=t.code==="ERR_NETWORK"||t.code==="ECONNREFUSED"||t.code==="ERR_CONNECTION_REFUSED"||((r=t.message)==null?void 0:r.includes("Network Error"))||((i=t.message)==null?void 0:i.includes("Connection refused"));if(n||s){let c="无法连接到后端服务,请确保服务已启动";return n&&(c=`服务器错误 (${(l=t.response)==null?void 0:l.status}): 内部服务器错误`),{isConnectionError:!0,message:c,code:t.code,requestUrl:(a=t.config)==null?void 0:a.url,statusCode:(u=t.response)==null?void 0:u.status}}return null}class Ae{static async getApps(){return(await Oe.get("/apps")).data}static async getApp(t){return(await Oe.get(`/apps/${t}`)).data}static getAppIconUrl(t){return`/api/apps/icon/${t}`}static async updateApp(t){return(await Oe.post(`/apps/${t}/update`)).data}static async getConfig(){return(await Oe.get("/config")).data}static async getStatus(){return(await Oe.get("/status")).data}static async getStoreApps(){return(await Oe.get("/store/apps")).data}static async getAppVersions(t){return(await Oe.get(`/apps/${t}/versions`)).data.data}static async checkAppUpdate(t){try{const n=await Oe.get(`/apps/${t}/check-update`);return n.data.data.hasUpdate?n.data.data.latestVersion:null}catch(n){return console.error("检查更新失败:",n),null}}static async startDownload(t,n){return(await Oe.post("/download/start",{url:t,fileName:n})).data}static async pauseDownload(t){await Oe.post(`/download/${t}/pause`)}static async resumeDownload(t){await Oe.post(`/download/${t}/resume`)}static async getDownloadTask(t){return(await Oe.get(`/download/${t}`)).data}static async getAllDownloads(){return(await Oe.get("/downloads")).data}static async deleteDownload(t){await Oe.delete(`/download/${t}`)}static async openDownloadFile(t){await Oe.post(`/download/${t}/open`)}static async getAllSettings(){return(await Oe.get("/settings")).data.data}static async updateSettings(t){await Oe.post("/settings",t)}static async validatePath(t){return(await Oe.get("/validate-path",{params:{path:t}})).data.data}}function Cr(){const e=Q("auto"),t=Q(!1),n=ye(()=>e.value==="auto"?t.value:e.value==="dark"),s=()=>{if(typeof window<"u"){const h=window.matchMedia("(prefers-color-scheme: dark)");t.value=h.matches}};let o=null;const r=h=>{t.value=h.matches},i=()=>{if(typeof document<"u"){const h=document.documentElement;n.value?h.setAttribute("data-theme","dark"):h.removeAttribute("data-theme")}},l=h=>{typeof localStorage<"u"&&localStorage.setItem("hayaku-theme",h)},a=()=>{if(typeof localStorage<"u"){const h=localStorage.getItem("hayaku-theme");if(h&&["light","dark","auto"].includes(h))return h}return"auto"},u=()=>{e.value==="auto"?e.value="dark":e.value==="dark"?e.value="light":e.value="auto",l(e.value)},c=h=>{e.value=h,l(h)},f=()=>{e.value=a(),s(),typeof window<"u"&&(o=window.matchMedia("(prefers-color-scheme: dark)"),o.addEventListener("change",r)),i()},d=()=>{o&&o.removeEventListener("change",r)};return wt(n,()=>{i()},{immediate:!0}),wt(e,()=>{i()}),st(()=>{f()}),ts(()=>{d()}),{theme:e,isDark:n,toggleTheme:u,setTheme:c,systemPrefersDark:t}}const Np={class:"text-mask"},Fp={"stroke-miterlimit":"10",style:{"fill-rule":"nonzero","clip-rule":"evenodd","stroke-linecap":"round","stroke-linejoin":"round"},version:"1.1",viewBox:"0 0 365 280","xml:space":"preserve",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},Up=Fe({__name:"SplashScreen",emits:["complete"],setup(e,{emit:t}){const{isDark:n}=Cr(),s=t,o=Q(!0),r=Q(1),i=ye(()=>`stage-${r.value}`);return st(()=>{setTimeout(()=>{r.value=2},500),setTimeout(()=>{r.value=3},2500),setTimeout(()=>{r.value=4},4500),setTimeout(()=>{r.value=5},6500),setTimeout(()=>{r.value=6},8500),setTimeout(()=>{r.value=7},12e3),setTimeout(()=>{r.value=8},13e3),setTimeout(()=>{o.value=!1,s("complete")},14500)}),(l,a)=>o.value?(L(),N("div",{key:0,class:oe(["splash-screen",i.value])},[p("div",{class:oe(["black-background",{hidden:r.value>=5}])},null,2),p("div",{class:oe(["white-background",{visible:r.value>=6}])},null,2),p("div",{class:oe(["theme-overlay",{visible:r.value>=8,"dark-theme":W(n)}])},null,2),p("div",{class:oe(["gradient-background",{visible:r.value>=2,hidden:r.value>=5}])},[...a[0]||(a[0]=[p("div",{class:"blur-gradient gradient-1"},null,-1),p("div",{class:"blur-gradient gradient-2"},null,-1),p("div",{class:"blur-gradient gradient-3"},null,-1)])],2),p("div",{class:oe(["glass-layer",{visible:r.value>=2,hidden:r.value>=5}])},null,2),p("div",{class:oe(["splash-content",{hidden:r.value>=5}])},[p("div",Np,[p("h1",{class:oe(["author-name",{reveal:r.value>=3}])},"QiuChenly",2)]),p("p",{class:oe(["subtitle",{reveal:r.value>=4}])},[...a[1]||(a[1]=[p("span",{class:"word"},"诚意",-1),p("span",{class:"word"},"巨献",-1)])],2)],2),p("div",{class:oe(["yuanshen-logo",{reveal:r.value>=6,fadeout:r.value>=7}])},[(L(),N("svg",Fp,[...a[2]||(a[2]=[p("defs",null,null,-1),p("g",{id:"レイヤー-2-コピー"},[p("path",{d:"M300.129 3.96878C299.043 3.79118 298.934 6.23188 298.934 6.23188C298.934 6.23188 294.584 41.0931 290.542 56.3035C285.651 74.7105 271.306 76.8915 271.306 76.8915C271.306 76.8915 269.618 77.0025 269.545 78.1175C269.473 79.2315 271.148 79.3435 271.148 79.3435C271.148 79.3435 277.387 81.1955 284.884 83.6495C291.736 85.8915 294.932 95.6505 295.791 98.6735C283.211 98.6275 270.597 98.4715 269.985 98.2025C268.675 97.6245 255.932 91.6455 250.812 92.4185C247.898 92.8585 247.386 95.1215 247.386 95.1215L246.914 166.63C246.914 166.63 246.794 170.386 246.914 170.59C247.831 172.151 256.678 171.005 261.813 166.724C265.796 163.403 270.389 158.709 272.343 156.666C272.908 156.075 272.931 156.002 273.506 155.628C274.081 155.254 275.455 155.408 275.455 155.408L296.137 155.314C295.533 157.233 292.302 167.238 288.059 169.207C284.274 170.963 269.891 176.814 269.891 176.814C269.891 176.814 268.804 177.501 268.822 178.102C268.841 178.703 269.985 179.202 269.985 179.202C269.985 179.202 285.693 186.076 289.725 200.419C293.728 214.66 298.589 275.039 298.589 275.039C298.589 275.039 299.27 276.67 299.877 276.736C300.484 276.802 301.166 275.039 301.166 275.039C301.166 275.039 304.022 220.171 311.067 199.539C318.181 178.706 328.984 179.831 328.984 179.831C328.984 179.831 331.631 179.263 331.592 178.008C331.554 176.753 328.952 176.373 328.952 176.373C328.952 176.373 319.046 174.7 311.602 169.458C305.975 165.497 304.686 158.118 304.372 155.283L324.269 155.188C324.269 155.188 325.462 155.15 325.903 155.283C326.344 155.415 326.336 155.68 326.815 156.446C328.186 158.64 331.475 163.277 336.496 166.221C343.267 170.192 350.307 171.491 351.866 170.904C353.426 170.318 353.123 168.735 353.123 168.735C353.123 168.735 353.152 113.095 353.155 110.366C353.158 107.637 359.041 104.402 359.001 101.974C358.961 99.5455 341.868 91.2665 338.665 91.5385C330.359 92.2435 328.258 97.7585 325.998 98.3285C325.125 98.5475 314.113 98.5825 304.121 98.6105C304.877 95.6275 307.285 87.9435 313.047 85.1895C321.11 81.3365 328.826 79.1545 328.826 79.1545C328.826 79.1545 330.659 78.9745 330.618 78.1805C330.577 77.3855 328.826 77.1115 328.826 77.1115C328.826 77.1115 317.339 72.2415 313.833 66.0785C304.4 49.4975 301.575 6.20048 301.575 6.20048C301.575 6.20048 301.214 4.14638 300.129 3.96878ZM275.643 103.828L293.402 103.86C293.402 103.86 294.77 103.851 294.943 104.142C295.115 104.434 295.192 104.745 294.628 106.091C293.396 109.034 290.829 114.227 287.022 117.47C283.351 120.597 278.524 121.907 275.675 122.436C274.217 122.707 274.327 122.553 273.726 122.247C273.125 121.942 273.254 121.241 273.254 121.242L273.192 107.16C273.192 107.16 273.017 105.414 273.632 104.583C274.246 103.751 275.643 103.828 275.643 103.828ZM324.08 103.828C324.08 103.828 325.481 103.756 326.092 104.583C326.667 105.361 326.532 107.129 326.532 107.129C326.531 107.137 326.532 107.173 326.532 107.191L326.469 121.242C326.469 121.242 326.591 121.946 325.998 122.247C325.396 122.553 325.506 122.707 324.049 122.436C321.2 121.907 316.373 120.597 312.702 117.47C308.895 114.227 306.328 109.034 305.095 106.091C304.531 104.745 304.64 104.434 304.812 104.142C304.977 103.865 306.321 103.86 306.321 103.86C306.324 103.86 306.334 103.86 306.352 103.86L324.08 103.828ZM274.386 130.734C274.617 130.688 274.946 130.693 275.675 130.828C278.524 131.357 283.351 132.667 287.022 135.795C290.829 139.038 293.396 144.23 294.628 147.173C295.192 148.52 295.115 148.862 294.943 149.153C294.77 149.444 293.402 149.405 293.402 149.405L275.643 149.468C275.643 149.468 274.246 149.545 273.632 148.713C273.017 147.882 273.192 146.136 273.192 146.136L273.254 132.054C273.254 132.054 273.125 131.353 273.726 131.048C274.027 130.896 274.155 130.781 274.386 130.734ZM325.337 130.734C325.569 130.781 325.697 130.896 325.998 131.048C326.599 131.353 326.469 132.054 326.469 132.054L326.532 146.136C326.532 146.136 326.706 147.882 326.092 148.713C325.477 149.545 324.08 149.468 324.08 149.468L306.321 149.405C306.321 149.405 304.953 149.444 304.781 149.153C304.608 148.862 304.531 148.52 305.095 147.173C306.328 144.23 308.895 139.037 312.702 135.795C316.373 132.668 321.2 131.357 324.049 130.828C324.777 130.693 325.106 130.688 325.337 130.734ZM42.6054 49.1055C41.9365 49.1255 41.8511 50.0795 41.8511 50.0795C41.8511 50.0795 40.4852 60.0595 34.9046 66.9585C30.4399 72.4785 15.4167 76.3255 15.4167 76.3255C15.4167 76.3255 14.712 76.5765 14.8194 77.0485C14.9269 77.5205 15.3852 77.6775 15.3852 77.6775C15.3852 77.6775 21.3446 79.9625 25.5692 81.8895C29.0641 83.4825 28.8696 84.9065 28.8696 84.9065C28.8696 84.9065 31.2354 137.519 29.4354 147.519C27.6354 157.519 27.0166 161.946 19.44 174.11C14.3388 182.301 9.38522 188.684 7.37003 191.209C6.76463 191.968 7.08713 192.121 7.08713 192.121C7.08713 192.121 7.00162 192.249 7.99873 191.932C12.9086 190.372 28.2899 184.847 38.3307 174.142C50.4106 161.263 52.1751 152.698 55.1469 141.578C58.1186 130.458 56.0584 84.4035 56.0584 84.4035C56.0584 84.4035 56.8375 82.6075 58.6673 81.4175C60.497 80.2275 63.6335 80.4745 63.6335 80.4745L110.53 80.6005C110.346 80.7735 102.523 88.1145 102.358 88.4265C102.191 88.7425 102.154 90.9345 102.452 91.3185C102.75 91.7025 110.003 98.1045 109.022 98.1395C108.04 98.1745 89.9499 98.6675 86.5159 97.8875C83.0819 97.1085 73.9108 93.6435 72.3088 93.5185C69.7927 93.3235 66.9402 93.1475 66.4938 93.1105C65.0617 92.9905 63.739 93.8805 63.2249 94.9965C62.7108 96.1125 62.5596 153.314 63.2878 154.34C64.016 155.365 68.6818 154.83 74.2576 152.642C79.8334 150.454 83.6139 146.504 85.3849 145.947C85.6349 145.868 97.3289 145.57 97.3289 145.57C97.3289 145.57 100.39 145.82 101.132 146.387C101.875 146.954 101.572 149.939 101.572 149.939L101.572 204.537C101.572 204.537 101.482 205.222 101.981 206.171C102.479 207.121 103.507 206.353 104.527 206.077C107.315 205.323 111.829 203.838 116.282 200.136C122.366 195.08 124.63 190.585 125.932 186.652C127.235 182.718 125.123 148.194 126.246 146.544C126.413 146.3 126.89 145.881 127.409 145.696C127.929 145.51 136.5 145.614 137.405 145.633C138.31 145.652 138.707 145.521 138.945 146.01C139.158 146.446 139.082 148.641 139.039 150.442C139.018 151.323 139.428 151.909 139.699 152.014C139.97 152.118 140.568 152.56 141.208 152.548C145.639 152.466 162.568 151.894 164.122 147.142C164.754 145.211 164.408 109.563 164.562 108.606C164.716 107.648 168.473 105.681 168.931 102.728C169.153 101.298 163.527 98.5085 157.71 95.5305C153.958 93.6095 149.565 92.5265 147.84 92.3875C145.781 92.2215 143.123 94.0415 141.46 95.6875C140.257 96.8785 139.948 98.0275 138.976 98.0765C135.209 98.2675 120.119 98.3505 118.608 98.2025C117.098 98.0535 125.166 91.5265 125.335 91.3505C125.504 91.1735 125.682 89.0235 125.366 88.5845C125.052 88.1465 117.568 80.6595 117.508 80.6005L189.802 80.7885C189.802 80.7885 196.846 82.2845 201.086 86.3525C204.418 89.5485 207.133 97.9805 206.681 98.2655C206.229 98.5495 176.343 98.0385 175.658 98.3905C174.354 99.0625 173.64 100.608 173.646 101.471C173.655 102.688 174.058 103.75 174.652 103.828C177.638 104.219 193.043 103.915 196.529 103.828C196.936 103.818 198.389 104.069 198.729 104.394C199.069 104.719 198.855 106.971 198.855 106.971L198.792 205.92C198.792 205.92 198.77 206.948 199.169 207.146C199.568 207.343 199.777 207.569 201.275 206.894C204.006 205.663 208.423 203.34 211.553 199.916C216.401 194.615 217.158 192.463 218.405 186.683C219.653 180.903 218.971 117.312 218.971 117.313C218.971 117.313 218.901 114.569 219.16 114.169C219.418 113.769 219.977 113.824 219.977 113.824L239.936 113.918C239.936 113.918 243.349 113.411 244.054 111.623C244.759 109.835 243.268 107.317 243.268 107.317C243.268 107.317 241.426 103.955 237.39 98.6425C234.79 95.2185 230.143 89.0175 228.118 89.0865C222.95 89.2635 213.785 98.2025 213.785 98.2025C213.785 98.2025 211.406 98.6565 211.019 98.2655C210.631 97.8735 212.008 91.2185 218.091 85.2835C224.175 79.3485 235.002 78.2425 235.002 78.2425C235.002 78.2425 237.267 78.0555 237.202 77.1745C237.136 76.2935 234.939 76.2945 234.939 76.2945C234.939 76.2945 222.516 73.2005 217.462 67.8385C211.224 61.2205 209.667 51.0855 209.667 51.0855C209.667 51.0855 209.435 49.0775 208.63 49.1365C207.825 49.1955 207.781 51.0855 207.781 51.0855C207.781 51.0855 205.027 62.4965 201.683 66.6755C197.236 72.2355 191.405 73.1825 191.405 73.1825L59.5788 73.4335C59.5788 73.4335 52.2067 71.0755 48.7976 64.8525C46.1625 60.0425 43.5484 50.0795 43.5484 50.0795C43.5484 50.0795 43.2744 49.0855 42.6054 49.1055ZM90.2249 104.08L136.902 104.08C136.902 104.08 137.95 104.112 138.473 104.677C138.997 105.242 139.008 106.343 139.008 106.343L139.228 137.649C139.228 137.649 139.129 138.997 138.599 139.598C138.07 140.199 137.153 139.975 137.153 139.975L90.1939 139.975C90.1939 139.975 89.3039 139.761 88.8739 139.378C88.4429 138.994 88.4649 138.435 88.4649 138.435L88.4339 127.622C88.4339 127.622 88.2299 126.493 88.9049 125.893C89.5799 125.294 89.4289 125.219 91.1369 125.233C100.387 125.312 130.271 125.525 133.036 125.045C134.715 124.753 131.312 119.845 129.484 119.387C127.656 118.929 89.5969 119.576 89.5969 119.576C89.5969 119.576 88.9709 119.581 88.6849 119.293C88.3989 119.004 88.4339 118.413 88.4339 118.413L88.3709 105.903C88.3709 105.903 88.2839 104.915 88.7479 104.457C89.2119 103.998 90.2249 104.08 90.2249 104.08ZM192.725 109.172L177.606 109.297C177.606 109.297 177.313 109.259 176.632 109.957C175.952 110.656 175.972 111.089 175.972 111.089L176.129 167.981C176.129 167.981 175.962 168.524 175.878 168.83C173.358 167.037 170.376 165.189 166.448 163.549C155.587 159.014 146.206 157.106 141.617 157.043C137.027 156.979 139.823 162.429 137.185 165.184C135.802 166.627 132.112 167.295 129.955 168.264C127.997 169.144 130.741 172.853 130.741 172.853C130.741 172.853 162.271 177.483 164.688 182.44C166.587 186.335 144.913 191.188 142.56 191.744C140.206 192.3 139.35 194.558 141.962 194.384C145.915 194.121 152.984 192.76 159.753 191.084C167.539 189.483 176.286 186.727 182.321 181.811C195.598 170.996 194.297 150.159 194.297 150.159L194.14 110.303C194.14 110.303 194.08 109.776 193.731 109.486C193.382 109.195 192.725 109.172 192.725 109.172ZM225.383 123.19C225.383 123.19 224.121 123.154 223.592 123.599L223.152 125.045L222.994 164.178C222.994 164.178 222.886 164.796 223.403 165.215C223.92 165.634 224.173 165.647 224.692 165.529C226.375 165.146 229.54 164.124 232.927 161.38C237.357 157.792 240.058 153.283 240.848 151.479C240.965 151.212 240.816 124.259 240.816 124.259C240.816 124.259 240.692 123.672 240.282 123.41C239.872 123.149 239.182 123.19 239.182 123.19L225.383 123.19ZM85.2899 156.948C80.7008 157.012 71.3199 158.888 60.4589 163.423C49.5979 167.959 44.1478 174.521 43.957 175.116C43.7662 175.712 43.9934 183.106 54.7697 187.28C62.5155 190.281 78.2662 193.846 84.9449 194.29C87.5569 194.463 86.7009 192.174 84.3469 191.618C81.994 191.062 60.3203 186.209 62.2191 182.314C64.6356 177.357 96.1659 172.727 96.1659 172.727C96.1659 172.727 98.9099 169.019 96.9519 168.138C94.7949 167.169 91.1049 166.502 89.7219 165.058C87.0839 162.303 89.8799 156.885 85.2899 156.948Z",fill:"#000000","fill-rule":"nonzero",opacity:"1",stroke:"none"})],-1)])]))],2)],2)):ce("",!0)}}),ot=(e,t)=>{const n=e.__vccOpts||e;for(const[s,o]of t)n[s]=o;return n},jp=ot(Up,[["__scopeId","data-v-5702a337"]]),lc=/^[a-z0-9]+(-[a-z0-9]+)*$/,lo=(e,t,n,s="")=>{const o=e.split(":");if(e.slice(0,1)==="@"){if(o.length<2||o.length>3)return null;s=o.shift().slice(1)}if(o.length>3||!o.length)return null;if(o.length>1){const l=o.pop(),a=o.pop(),u={provider:o.length>0?o[0]:s,prefix:a,name:l};return t&&!Cs(u)?null:u}const r=o[0],i=r.split("-");if(i.length>1){const l={provider:s,prefix:i.shift(),name:i.join("-")};return t&&!Cs(l)?null:l}if(n&&s===""){const l={provider:s,prefix:"",name:r};return t&&!Cs(l,n)?null:l}return null},Cs=(e,t)=>e?!!((t&&e.prefix===""||e.prefix)&&e.name):!1,ac=Object.freeze({left:0,top:0,width:16,height:16}),js=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),ao=Object.freeze({...ac,...js}),Jo=Object.freeze({...ao,body:"",hidden:!1});function Bp(e,t){const n={};!e.hFlip!=!t.hFlip&&(n.hFlip=!0),!e.vFlip!=!t.vFlip&&(n.vFlip=!0);const s=((e.rotate||0)+(t.rotate||0))%4;return s&&(n.rotate=s),n}function Di(e,t){const n=Bp(e,t);for(const s in Jo)s in js?s in e&&!(s in n)&&(n[s]=js[s]):s in t?n[s]=t[s]:s in e&&(n[s]=e[s]);return n}function Hp(e,t){const n=e.icons,s=e.aliases||Object.create(null),o=Object.create(null);function r(i){if(n[i])return o[i]=[];if(!(i in o)){o[i]=null;const l=s[i]&&s[i].parent,a=l&&r(l);a&&(o[i]=[l].concat(a))}return o[i]}return Object.keys(n).concat(Object.keys(s)).forEach(r),o}function Vp(e,t,n){const s=e.icons,o=e.aliases||Object.create(null);let r={};function i(l){r=Di(s[l]||o[l],r)}return i(t),n.forEach(i),Di(e,r)}function cc(e,t){const n=[];if(typeof e!="object"||typeof e.icons!="object")return n;e.not_found instanceof Array&&e.not_found.forEach(o=>{t(o,null),n.push(o)});const s=Hp(e);for(const o in s){const r=s[o];r&&(t(o,Vp(e,o,r)),n.push(o))}return n}const qp={provider:"",aliases:{},not_found:{},...ac};function To(e,t){for(const n in t)if(n in e&&typeof e[n]!=typeof t[n])return!1;return!0}function uc(e){if(typeof e!="object"||e===null)return null;const t=e;if(typeof t.prefix!="string"||!e.icons||typeof e.icons!="object"||!To(e,qp))return null;const n=t.icons;for(const o in n){const r=n[o];if(!o||typeof r.body!="string"||!To(r,Jo))return null}const s=t.aliases||Object.create(null);for(const o in s){const r=s[o],i=r.parent;if(!o||typeof i!="string"||!n[i]&&!s[i]||!To(r,Jo))return null}return t}const Ni=Object.create(null);function zp(e,t){return{provider:e,prefix:t,icons:Object.create(null),missing:new Set}}function yn(e,t){const n=Ni[e]||(Ni[e]=Object.create(null));return n[t]||(n[t]=zp(e,t))}function fc(e,t){return uc(t)?cc(t,(n,s)=>{s?e.icons[n]=s:e.missing.add(n)}):[]}function Kp(e,t,n){try{if(typeof n.body=="string")return e.icons[t]={...n},!0}catch{}return!1}let Qn=!1;function dc(e){return typeof e=="boolean"&&(Qn=e),Qn}function Wp(e){const t=typeof e=="string"?lo(e,!0,Qn):e;if(t){const n=yn(t.provider,t.prefix),s=t.name;return n.icons[s]||(n.missing.has(s)?null:void 0)}}function Gp(e,t){const n=lo(e,!0,Qn);if(!n)return!1;const s=yn(n.provider,n.prefix);return t?Kp(s,n.name,t):(s.missing.add(n.name),!0)}function Jp(e,t){if(typeof e!="object")return!1;if(typeof t!="string"&&(t=e.provider||""),Qn&&!t&&!e.prefix){let o=!1;return uc(e)&&(e.prefix="",cc(e,(r,i)=>{Gp(r,i)&&(o=!0)})),o}const n=e.prefix;if(!Cs({prefix:n,name:"a"}))return!1;const s=yn(t,n);return!!fc(s,e)}const pc=Object.freeze({width:null,height:null}),hc=Object.freeze({...pc,...js}),Qp=/(-?[0-9.]*[0-9]+[0-9.]*)/g,Zp=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function Fi(e,t,n){if(t===1)return e;if(n=n||100,typeof e=="number")return Math.ceil(e*t*n)/n;if(typeof e!="string")return e;const s=e.split(Qp);if(s===null||!s.length)return e;const o=[];let r=s.shift(),i=Zp.test(r);for(;;){if(i){const l=parseFloat(r);isNaN(l)?o.push(r):o.push(Math.ceil(l*t*n)/n)}else o.push(r);if(r=s.shift(),r===void 0)return o.join("");i=!i}}function Xp(e,t="defs"){let n="";const s=e.indexOf("<"+t);for(;s>=0;){const o=e.indexOf(">",s),r=e.indexOf("",r);if(i===-1)break;n+=e.slice(o+1,r).trim(),e=e.slice(0,s).trim()+e.slice(i+1)}return{defs:n,content:e}}function Yp(e,t){return e?""+e+""+t:t}function eh(e,t,n){const s=Xp(e);return Yp(s.defs,t+s.content+n)}const th=e=>e==="unset"||e==="undefined"||e==="none";function nh(e,t){const n={...ao,...e},s={...hc,...t},o={left:n.left,top:n.top,width:n.width,height:n.height};let r=n.body;[n,s].forEach(b=>{const y=[],x=b.hFlip,S=b.vFlip;let k=b.rotate;x?S?k+=2:(y.push("translate("+(o.width+o.left).toString()+" "+(0-o.top).toString()+")"),y.push("scale(-1 1)"),o.top=o.left=0):S&&(y.push("translate("+(0-o.left).toString()+" "+(o.height+o.top).toString()+")"),y.push("scale(1 -1)"),o.top=o.left=0);let P;switch(k<0&&(k-=Math.floor(k/4)*4),k=k%4,k){case 1:P=o.height/2+o.top,y.unshift("rotate(90 "+P.toString()+" "+P.toString()+")");break;case 2:y.unshift("rotate(180 "+(o.width/2+o.left).toString()+" "+(o.height/2+o.top).toString()+")");break;case 3:P=o.width/2+o.left,y.unshift("rotate(-90 "+P.toString()+" "+P.toString()+")");break}k%2===1&&(o.left!==o.top&&(P=o.left,o.left=o.top,o.top=P),o.width!==o.height&&(P=o.width,o.width=o.height,o.height=P)),y.length&&(r=eh(r,'',""))});const i=s.width,l=s.height,a=o.width,u=o.height;let c,f;i===null?(f=l===null?"1em":l==="auto"?u:l,c=Fi(f,a/u)):(c=i==="auto"?a:i,f=l===null?Fi(c,u/a):l==="auto"?u:l);const d={},h=(b,y)=>{th(y)||(d[b]=y.toString())};h("width",c),h("height",f);const v=[o.left,o.top,a,u];return d.viewBox=v.join(" "),{attributes:d,viewBox:v,body:r}}const sh=/\sid="(\S+)"/g,oh="IconifyId"+Date.now().toString(16)+(Math.random()*16777216|0).toString(16);let rh=0;function ih(e,t=oh){const n=[];let s;for(;s=sh.exec(e);)n.push(s[1]);if(!n.length)return e;const o="suffix"+(Math.random()*16777216|Date.now()).toString(16);return n.forEach(r=>{const i=typeof t=="function"?t(r):t+(rh++).toString(),l=r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");e=e.replace(new RegExp('([#;"])('+l+')([")]|\\.[a-z])',"g"),"$1"+i+o+"$3")}),e=e.replace(new RegExp(o,"g"),""),e}const Qo=Object.create(null);function lh(e,t){Qo[e]=t}function Zo(e){return Qo[e]||Qo[""]}function Sr(e){let t;if(typeof e.resources=="string")t=[e.resources];else if(t=e.resources,!(t instanceof Array)||!t.length)return null;return{resources:t,path:e.path||"/",maxURL:e.maxURL||500,rotate:e.rotate||750,timeout:e.timeout||5e3,random:e.random===!0,index:e.index||0,dataAfterTimeout:e.dataAfterTimeout!==!1}}const xr=Object.create(null),Rn=["https://api.simplesvg.com","https://api.unisvg.com"],Ss=[];for(;Rn.length>0;)Rn.length===1||Math.random()>.5?Ss.push(Rn.shift()):Ss.push(Rn.pop());xr[""]=Sr({resources:["https://api.iconify.design"].concat(Ss)});function ah(e,t){const n=Sr(t);return n===null?!1:(xr[e]=n,!0)}function Er(e){return xr[e]}const ch=()=>{let e;try{if(e=fetch,typeof e=="function")return e}catch{}};let Ui=ch();function uh(e,t){const n=Er(e);if(!n)return 0;let s;if(!n.maxURL)s=0;else{let o=0;n.resources.forEach(i=>{o=Math.max(o,i.length)});const r=t+".json?icons=";s=n.maxURL-o-n.path.length-r.length}return s}function fh(e){return e===404}const dh=(e,t,n)=>{const s=[],o=uh(e,t),r="icons";let i={type:r,provider:e,prefix:t,icons:[]},l=0;return n.forEach((a,u)=>{l+=a.length+1,l>=o&&u>0&&(s.push(i),i={type:r,provider:e,prefix:t,icons:[]},l=a.length),i.icons.push(a)}),s.push(i),s};function ph(e){if(typeof e=="string"){const t=Er(e);if(t)return t.path}return"/"}const hh=(e,t,n)=>{if(!Ui){n("abort",424);return}let s=ph(t.provider);switch(t.type){case"icons":{const r=t.prefix,l=t.icons.join(","),a=new URLSearchParams({icons:l});s+=r+".json?"+a.toString();break}case"custom":{const r=t.uri;s+=r.slice(0,1)==="/"?r.slice(1):r;break}default:n("abort",400);return}let o=503;Ui(e+s).then(r=>{const i=r.status;if(i!==200){setTimeout(()=>{n(fh(i)?"abort":"next",i)});return}return o=501,r.json()}).then(r=>{if(typeof r!="object"||r===null){setTimeout(()=>{r===404?n("abort",r):n("next",o)});return}setTimeout(()=>{n("success",r)})}).catch(()=>{n("next",o)})},gh={prepare:dh,send:hh};function mh(e){const t={loaded:[],missing:[],pending:[]},n=Object.create(null);e.sort((o,r)=>o.provider!==r.provider?o.provider.localeCompare(r.provider):o.prefix!==r.prefix?o.prefix.localeCompare(r.prefix):o.name.localeCompare(r.name));let s={provider:"",prefix:"",name:""};return e.forEach(o=>{if(s.name===o.name&&s.prefix===o.prefix&&s.provider===o.provider)return;s=o;const r=o.provider,i=o.prefix,l=o.name,a=n[r]||(n[r]=Object.create(null)),u=a[i]||(a[i]=yn(r,i));let c;l in u.icons?c=t.loaded:i===""||u.missing.has(l)?c=t.missing:c=t.pending;const f={provider:r,prefix:i,name:l};c.push(f)}),t}function gc(e,t){e.forEach(n=>{const s=n.loaderCallbacks;s&&(n.loaderCallbacks=s.filter(o=>o.id!==t))})}function vh(e){e.pendingCallbacksFlag||(e.pendingCallbacksFlag=!0,setTimeout(()=>{e.pendingCallbacksFlag=!1;const t=e.loaderCallbacks?e.loaderCallbacks.slice(0):[];if(!t.length)return;let n=!1;const s=e.provider,o=e.prefix;t.forEach(r=>{const i=r.icons,l=i.pending.length;i.pending=i.pending.filter(a=>{if(a.prefix!==o)return!0;const u=a.name;if(e.icons[u])i.loaded.push({provider:s,prefix:o,name:u});else if(e.missing.has(u))i.missing.push({provider:s,prefix:o,name:u});else return n=!0,!0;return!1}),i.pending.length!==l&&(n||gc([e],r.id),r.callback(i.loaded.slice(0),i.missing.slice(0),i.pending.slice(0),r.abort))})}))}let yh=0;function bh(e,t,n){const s=yh++,o=gc.bind(null,n,s);if(!t.pending.length)return o;const r={id:s,icons:t,callback:e,abort:o};return n.forEach(i=>{(i.loaderCallbacks||(i.loaderCallbacks=[])).push(r)}),o}function _h(e,t=!0,n=!1){const s=[];return e.forEach(o=>{const r=typeof o=="string"?lo(o,t,n):o;r&&s.push(r)}),s}var wh={resources:[],index:0,timeout:2e3,rotate:750,random:!1,dataAfterTimeout:!1};function Ch(e,t,n,s){const o=e.resources.length,r=e.random?Math.floor(Math.random()*o):e.index;let i;if(e.random){let I=e.resources.slice(0);for(i=[];I.length>1;){const M=Math.floor(Math.random()*I.length);i.push(I[M]),I=I.slice(0,M).concat(I.slice(M+1))}i=i.concat(I)}else i=e.resources.slice(r).concat(e.resources.slice(0,r));const l=Date.now();let a="pending",u=0,c,f=null,d=[],h=[];typeof s=="function"&&h.push(s);function v(){f&&(clearTimeout(f),f=null)}function b(){a==="pending"&&(a="aborted"),v(),d.forEach(I=>{I.status==="pending"&&(I.status="aborted")}),d=[]}function y(I,M){M&&(h=[]),typeof I=="function"&&h.push(I)}function x(){return{startTime:l,payload:t,status:a,queriesSent:u,queriesPending:d.length,subscribe:y,abort:b}}function S(){a="failed",h.forEach(I=>{I(void 0,c)})}function k(){d.forEach(I=>{I.status==="pending"&&(I.status="aborted")}),d=[]}function P(I,M,A){const C=M!=="success";switch(d=d.filter(O=>O!==I),a){case"pending":break;case"failed":if(C||!e.dataAfterTimeout)return;break;default:return}if(M==="abort"){c=A,S();return}if(C){c=A,d.length||(i.length?G():S());return}if(v(),k(),!e.random){const O=e.resources.indexOf(I.resource);O!==-1&&O!==e.index&&(e.index=O)}a="completed",h.forEach(O=>{O(A)})}function G(){if(a!=="pending")return;v();const I=i.shift();if(I===void 0){if(d.length){f=setTimeout(()=>{v(),a==="pending"&&(k(),S())},e.timeout);return}S();return}const M={status:"pending",resource:I,callback:(A,C)=>{P(M,A,C)}};d.push(M),u++,f=setTimeout(G,e.rotate),n(I,t,M.callback)}return setTimeout(G),x}function mc(e){const t={...wh,...e};let n=[];function s(){n=n.filter(l=>l().status==="pending")}function o(l,a,u){const c=Ch(t,l,a,(f,d)=>{s(),u&&u(f,d)});return n.push(c),c}function r(l){return n.find(a=>l(a))||null}return{query:o,find:r,setIndex:l=>{t.index=l},getIndex:()=>t.index,cleanup:s}}function ji(){}const Ao=Object.create(null);function Sh(e){if(!Ao[e]){const t=Er(e);if(!t)return;const n=mc(t),s={config:t,redundancy:n};Ao[e]=s}return Ao[e]}function xh(e,t,n){let s,o;if(typeof e=="string"){const r=Zo(e);if(!r)return n(void 0,424),ji;o=r.send;const i=Sh(e);i&&(s=i.redundancy)}else{const r=Sr(e);if(r){s=mc(r);const i=e.resources?e.resources[0]:"",l=Zo(i);l&&(o=l.send)}}return!s||!o?(n(void 0,424),ji):s.query(t,o,n)().abort}function Bi(){}function Eh(e){e.iconsLoaderFlag||(e.iconsLoaderFlag=!0,setTimeout(()=>{e.iconsLoaderFlag=!1,vh(e)}))}function Th(e){const t=[],n=[];return e.forEach(s=>{(s.match(lc)?t:n).push(s)}),{valid:t,invalid:n}}function kn(e,t,n){function s(){const o=e.pendingIcons;t.forEach(r=>{o&&o.delete(r),e.icons[r]||e.missing.add(r)})}if(n&&typeof n=="object")try{if(!fc(e,n).length){s();return}}catch(o){console.error(o)}s(),Eh(e)}function Hi(e,t){e instanceof Promise?e.then(n=>{t(n)}).catch(()=>{t(null)}):t(e)}function Ah(e,t){e.iconsToLoad?e.iconsToLoad=e.iconsToLoad.concat(t).sort():e.iconsToLoad=t,e.iconsQueueFlag||(e.iconsQueueFlag=!0,setTimeout(()=>{e.iconsQueueFlag=!1;const{provider:n,prefix:s}=e,o=e.iconsToLoad;if(delete e.iconsToLoad,!o||!o.length)return;const r=e.loadIcon;if(e.loadIcons&&(o.length>1||!r)){Hi(e.loadIcons(o,s,n),c=>{kn(e,o,c)});return}if(r){o.forEach(c=>{const f=r(c,s,n);Hi(f,d=>{const h=d?{prefix:s,icons:{[c]:d}}:null;kn(e,[c],h)})});return}const{valid:i,invalid:l}=Th(o);if(l.length&&kn(e,l,null),!i.length)return;const a=s.match(lc)?Zo(n):null;if(!a){kn(e,i,null);return}a.prepare(n,s,i).forEach(c=>{xh(n,c,f=>{kn(e,c.icons,f)})})}))}const Rh=(e,t)=>{const n=_h(e,!0,dc()),s=mh(n);if(!s.pending.length){let a=!0;return t&&setTimeout(()=>{a&&t(s.loaded,s.missing,s.pending,Bi)}),()=>{a=!1}}const o=Object.create(null),r=[];let i,l;return s.pending.forEach(a=>{const{provider:u,prefix:c}=a;if(c===l&&u===i)return;i=u,l=c,r.push(yn(u,c));const f=o[u]||(o[u]=Object.create(null));f[c]||(f[c]=[])}),s.pending.forEach(a=>{const{provider:u,prefix:c,name:f}=a,d=yn(u,c),h=d.pendingIcons||(d.pendingIcons=new Set);h.has(f)||(h.add(f),o[u][c].push(f))}),r.forEach(a=>{const u=o[a.provider][a.prefix];u.length&&Ah(a,u)}),t?bh(t,s,r):Bi};function kh(e,t){const n={...e};for(const s in t){const o=t[s],r=typeof o;s in pc?(o===null||o&&(r==="string"||r==="number"))&&(n[s]=o):r===typeof n[s]&&(n[s]=s==="rotate"?o%4:o)}return n}const Oh=/[\s,]+/;function $h(e,t){t.split(Oh).forEach(n=>{switch(n.trim()){case"horizontal":e.hFlip=!0;break;case"vertical":e.vFlip=!0;break}})}function Ph(e,t=0){const n=e.replace(/^-?[0-9.]*/,"");function s(o){for(;o<0;)o+=4;return o%4}if(n===""){const o=parseInt(e);return isNaN(o)?0:s(o)}else if(n!==e){let o=0;switch(n){case"%":o=25;break;case"deg":o=90}if(o){let r=parseFloat(e.slice(0,e.length-n.length));return isNaN(r)?0:(r=r/o,r%1===0?s(r):0)}}return t}function Ih(e,t){let n=e.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(const s in t)n+=" "+s+'="'+t[s]+'"';return'"+e+""}function Lh(e){return e.replace(/"/g,"'").replace(/%/g,"%25").replace(/#/g,"%23").replace(//g,"%3E").replace(/\s+/g," ")}function Mh(e){return"data:image/svg+xml,"+Lh(e)}function Dh(e){return'url("'+Mh(e)+'")'}const Vi={...hc,inline:!1},Nh={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink","aria-hidden":!0,role:"img"},Fh={display:"inline-block"},Xo={backgroundColor:"currentColor"},vc={backgroundColor:"transparent"},qi={Image:"var(--svg)",Repeat:"no-repeat",Size:"100% 100%"},zi={webkitMask:Xo,mask:Xo,background:vc};for(const e in zi){const t=zi[e];for(const n in qi)t[e+n]=qi[n]}const xs={};["horizontal","vertical"].forEach(e=>{const t=e.slice(0,1)+"Flip";xs[e+"-flip"]=t,xs[e.slice(0,1)+"-flip"]=t,xs[e+"Flip"]=t});function Ki(e){return e+(e.match(/^[-0-9.]+$/)?"px":"")}const Wi=(e,t)=>{const n=kh(Vi,t),s={...Nh},o=t.mode||"svg",r={},i=t.style,l=typeof i=="object"&&!(i instanceof Array)?i:{};for(let b in t){const y=t[b];if(y!==void 0)switch(b){case"icon":case"style":case"onLoad":case"mode":case"ssr":break;case"inline":case"hFlip":case"vFlip":n[b]=y===!0||y==="true"||y===1;break;case"flip":typeof y=="string"&&$h(n,y);break;case"color":r.color=y;break;case"rotate":typeof y=="string"?n[b]=Ph(y):typeof y=="number"&&(n[b]=y);break;case"ariaHidden":case"aria-hidden":y!==!0&&y!=="true"&&delete s["aria-hidden"];break;default:{const x=xs[b];x?(y===!0||y==="true"||y===1)&&(n[x]=!0):Vi[b]===void 0&&(s[b]=y)}}}const a=nh(e,n),u=a.attributes;if(n.inline&&(r.verticalAlign="-0.125em"),o==="svg"){s.style={...r,...l},Object.assign(s,u);let b=0,y=t.id;return typeof y=="string"&&(y=y.replace(/-/g,"_")),s.innerHTML=ih(a.body,y?()=>y+"ID"+b++:"iconifyVue"),zt("svg",s)}const{body:c,width:f,height:d}=e,h=o==="mask"||(o==="bg"?!1:c.indexOf("currentColor")!==-1),v=Ih(c,{...u,width:f+"",height:d+""});return s.style={...r,"--svg":Dh(v),width:Ki(u.width),height:Ki(u.height),...Fh,...h?Xo:vc,...l},zt("span",s)};dc(!0);lh("",gh);if(typeof document<"u"&&typeof window<"u"){const e=window;if(e.IconifyPreload!==void 0){const t=e.IconifyPreload,n="Invalid IconifyPreload syntax.";typeof t=="object"&&t!==null&&(t instanceof Array?t:[t]).forEach(s=>{try{(typeof s!="object"||s===null||s instanceof Array||typeof s.icons!="object"||typeof s.prefix!="string"||!Jp(s))&&console.error(n)}catch{console.error(n)}})}if(e.IconifyProviders!==void 0){const t=e.IconifyProviders;if(typeof t=="object"&&t!==null)for(let n in t){const s="IconifyProviders["+n+"] is invalid.";try{const o=t[n];if(typeof o!="object"||!o||o.resources===void 0)continue;ah(n,o)||console.error(s)}catch{console.error(s)}}}}const Uh={...ao,body:""},jh=Fe((e,{emit:t})=>{const n=Q(null);function s(){var u,c;n.value&&((c=(u=n.value).abort)==null||c.call(u),n.value=null)}const o=Q(!!e.ssr),r=Q(""),i=Ul(null);function l(){const u=e.icon;if(typeof u=="object"&&u!==null&&typeof u.body=="string")return r.value="",{data:u};let c;if(typeof u!="string"||(c=lo(u,!1,!0))===null)return null;let f=Wp(c);if(!f){const v=n.value;return(!v||v.name!==u)&&(f===null?n.value={name:u}:n.value={name:u,abort:Rh([c],a)}),null}s(),r.value!==u&&(r.value=u,gn(()=>{t("load",u)}));const d=e.customise;if(d){f=Object.assign({},f);const v=d(f.body,c.name,c.prefix,c.provider);typeof v=="string"&&(f.body=v)}const h=["iconify"];return c.prefix!==""&&h.push("iconify--"+c.prefix),c.provider!==""&&h.push("iconify--"+c.provider),{data:f,classes:h}}function a(){var c;const u=l();u?u.data!==((c=i.value)==null?void 0:c.data)&&(i.value=u):i.value=null}return o.value?a():st(()=>{o.value=!0,a()}),wt(()=>e.icon,a),ts(s),()=>{const u=i.value;if(!u)return Wi(Uh,e);let c=e;return u.classes&&(c={...e,class:u.classes.join(" ")}),Wi({...ao,...u.data},c)}},{props:["icon","mode","ssr","width","height","style","color","inline","rotate","hFlip","horizontalFlip","vFlip","verticalFlip","flip","id","ariaHidden","customise","title"],emits:["load"]}),te=Fe({__name:"IconifyIcon",props:{icon:{},className:{}},setup(e){return(t,n)=>(L(),Ve(W(jh),{icon:e.icon,class:oe(e.className)},null,8,["icon","class"]))}});function Bh(){const e=Q(!1),t=Q({title:"",message:"",type:"warning",confirmText:"确认",cancelText:"取消"});let n=null;return{visible:e,config:t,show:i=>(t.value={...t.value,...i},e.value=!0,new Promise(l=>{n=l})),handleConfirm:()=>{e.value=!1,n&&(n(!0),n=null)},handleCancel:()=>{e.value=!1,n&&(n(!1),n=null)}}}const Hh={key:0,class:"dialog-icon"},Vh={class:"dialog-title"},qh={class:"dialog-message"},zh={class:"dialog-actions"},Kh=Fe({__name:"ConfirmDialog",props:{visible:{type:Boolean},title:{},message:{},type:{default:"warning"},confirmText:{default:"确认"},cancelText:{default:"取消"},showIcon:{type:Boolean,default:!0}},emits:["confirm","cancel","update:visible"],setup(e,{emit:t}){const n=e,s=t,o=ye(()=>({info:"mdi:information",warning:"mdi:alert",danger:"mdi:alert-circle"})[n.type]),r=ye(()=>({info:"btn-primary",warning:"btn-warning",danger:"btn-error"})[n.type]),i=()=>{s("confirm"),s("update:visible",!1)},l=()=>{s("cancel"),s("update:visible",!1)};return(a,u)=>(L(),Ve(Ql,{to:"body"},[B(Ia,{name:"fade"},{default:At(()=>[e.visible?(L(),N("div",{key:0,class:"confirm-dialog-overlay",onClick:jt(l,["self"])},[p("div",{class:oe(["confirm-dialog",`type-${e.type}`])},[e.showIcon?(L(),N("div",Hh,[B(te,{icon:o.value},null,8,["icon"])])):ce("",!0),p("h3",Vh,V(e.title),1),p("p",qh,V(e.message),1),p("div",zh,[e.cancelText?(L(),N("button",{key:0,class:"btn btn-outline",onClick:l},V(e.cancelText),1)):ce("",!0),p("button",{class:oe(["btn",r.value]),onClick:i},V(e.confirmText),3)])],2)])):ce("",!0)]),_:1})]))}}),yc=ot(Kh,[["__scopeId","data-v-06d5569c"]]),Wh={class:"setup-wizard"},Gh={class:"wizard-card"},Jh={class:"steps-indicator"},Qh={key:0,class:"wizard-content step-1"},Zh={class:"setting-group"},Xh={class:"setting-label"},Yh={class:"path-input-group"},e1={key:0,class:"setting-error"},t1={class:"quick-options"},n1=["onClick"],s1={key:1,class:"wizard-content step-2"},o1={class:"setting-group"},r1={class:"setting-label"},i1={class:"wizard-actions"},l1=["disabled"],a1=Fe({__name:"SetupWizard",emits:["complete"],setup(e,{emit:t}){const n=t,s=Q(1),o=Q(""),r=Q(""),i=Q(3),l=Q(!0),a=Q(!0),{visible:u,config:c,show:f,handleConfirm:d,handleCancel:h}=Bh(),v=ye(()=>o.value.trim().length>0&&!r.value);st(()=>{setTimeout(()=>{a.value=!1},100)});const b=[{label:"Downloads",value:"/Users/用户/Downloads/Hayaku/",icon:"mdi:folder-download"},{label:"Desktop",value:"/Users/用户/Desktop/Hayaku/",icon:"mdi:desktop-classic"},{label:"自定义",value:"",icon:"mdi:folder-cog"}],y=()=>{if(r.value="",!!o.value.trim()){if(o.value.includes("~")){r.value="路径不能包含 ~ 符号,请使用完整路径(例如:/Users/你的用户名/Downloads/Hayaku/)";return}if(!o.value.startsWith("/")){r.value="路径必须是绝对路径,以 / 开头";return}o.value.endsWith("/")||(r.value="路径必须以 / 结尾")}},x=async()=>{await f({title:"路径格式说明",message:"请输入完整的绝对路径(不能使用 ~ 符号),例如:/Users/你的用户名/Downloads/Hayaku/。注意:必须以 / 开头并以 / 结尾",type:"info",confirmText:"我知道了",cancelText:""})},S=()=>{d()},k=()=>{h()},P=async()=>{if(s.value<2&&o.value&&!r.value)try{const M=await Ae.validatePath(o.value);if(!M.exists){r.value="目录不存在,请选择有效的目录";return}if(!M.isDirectory){r.value="所选路径不是目录";return}s.value++}catch(M){console.error("验证路径失败:",M),r.value="无法验证目录是否存在"}},G=()=>{s.value>1&&s.value--},I=async()=>{try{await Ae.updateSettings({download_path:o.value,concurrent_downloads:i.value.toString(),auto_check_update:l.value?"true":"false"}),n("complete")}catch(M){console.error("保存配置失败:",M),alert("保存配置失败,请重试")}};return(M,A)=>(L(),N("div",Wh,[p("div",{class:oe(["white-overlay",{"fade-out":!a.value}])},null,2),p("div",{class:oe(["starfield-layer",{visible:!a.value}])},null,2),p("div",{class:oe(["glass-blur-layer",{visible:!a.value}])},null,2),A[15]||(A[15]=Aa('
',1)),p("div",Gh,[A[14]||(A[14]=p("div",{class:"wizard-header"},[p("h1",{class:"wizard-title"},"欢迎使用"),p("p",{class:"wizard-subtitle"},"让我们先进行简单的配置")],-1)),p("div",Jh,[p("div",{class:oe(["step",{active:s.value===1}])},[...A[2]||(A[2]=[p("div",{class:"step-circle"},"1",-1),p("span",null,"下载路径",-1)])],2),A[4]||(A[4]=p("div",{class:"step-line"},null,-1)),p("div",{class:oe(["step",{active:s.value===2}])},[...A[3]||(A[3]=[p("div",{class:"step-circle"},"2",-1),p("span",null,"偏好设置",-1)])],2)]),s.value===1?(L(),N("div",Qh,[p("div",Zh,[p("label",Xh,[B(te,{icon:"mdi:folder-download"}),A[5]||(A[5]=ue(" 输入默认下载位置 ",-1))]),p("div",Yh,[Vt(p("input",{ref:"pathInputRef","onUpdate:modelValue":A[0]||(A[0]=C=>o.value=C),type:"text",class:"path-input",placeholder:"/Users/你的用户名/Downloads/Hayaku/",onInput:y},null,544),[[Ma,o.value]]),p("button",{class:"browse-btn",onClick:x},[B(te,{icon:"mdi:help-circle"}),A[6]||(A[6]=ue(" 帮助 ",-1))])]),A[7]||(A[7]=p("p",{class:"setting-hint"},"请输入完整的绝对路径,不能使用 ~ 符号",-1)),r.value?(L(),N("p",e1,V(r.value),1)):ce("",!0)]),p("div",t1,[A[8]||(A[8]=p("p",{class:"quick-label"},"快速选择:",-1)),(L(),N($e,null,mn(b,C=>p("button",{key:C.value,class:"quick-option",onClick:O=>{o.value=C.value,y()}},[B(te,{icon:C.icon},null,8,["icon"]),ue(" "+V(C.label),1)],8,n1)),64))])])):s.value===2?(L(),N("div",s1,[p("div",o1,[p("label",r1,[B(te,{icon:"mdi:download-multiple"}),A[9]||(A[9]=ue(" 最大并发下载数 ",-1))]),Vt(p("select",{"onUpdate:modelValue":A[1]||(A[1]=C=>i.value=C),class:"setting-select"},[...A[10]||(A[10]=[p("option",{value:1},"1个(较慢但稳定)",-1),p("option",{value:3},"3个(推荐)",-1),p("option",{value:5},"5个(快速)",-1)])],512),[[Da,i.value]])])])):ce("",!0),p("div",i1,[s.value>1?(L(),N("button",{key:0,class:"btn btn-secondary",onClick:G},[B(te,{icon:"mdi:arrow-left"}),A[11]||(A[11]=ue(" 上一步 ",-1))])):ce("",!0),s.value<2?(L(),N("button",{key:1,class:"btn btn-primary",onClick:P,disabled:!v.value},[A[12]||(A[12]=ue(" 下一步 ",-1)),B(te,{icon:"mdi:arrow-right"})],8,l1)):(L(),N("button",{key:2,class:"btn btn-primary btn-finish",onClick:I},[B(te,{icon:"mdi:check"}),A[13]||(A[13]=ue(" 完成设置 ",-1))]))])]),B(yc,{visible:W(u),title:W(c).title,message:W(c).message,type:W(c).type,confirmText:W(c).confirmText,cancelText:W(c).cancelText,onConfirm:S,onCancel:k},null,8,["visible","title","message","type","confirmText","cancelText"])]))}}),c1=ot(a1,[["__scopeId","data-v-68f4ce85"]]),u1={class:"error-card"},f1={class:"error-icon-container"},d1={key:0,class:"error-details"},p1={class:"detail-item"},h1={class:"detail-value"},g1={key:0,class:"detail-item detail-status"},m1={class:"tech-details"},v1={key:0,class:"tech-content"},y1={class:"tech-item"},b1={class:"tech-value"},_1={class:"tech-item"},w1={class:"tech-value"},C1={class:"tech-item"},S1={class:"tech-value"},x1=Fe({__name:"ErrorPage",props:{errorMessage:{},errorCode:{},requestUrl:{},statusCode:{}},emits:["retry"],setup(e,{emit:t}){const{isDark:n}=Cr(),s=t,o=Q(!1),r=()=>{s("retry")},i=l=>l&&l>=500?"status-5xx":"";return(l,a)=>(L(),N("div",{class:oe(["error-page",{"light-theme":!W(n)}])},[a[9]||(a[9]=Aa('
',2)),p("div",u1,[p("div",f1,[B(te,{icon:"mdi:alert-circle",class:"error-icon"})]),a[7]||(a[7]=p("h1",{class:"error-title"},"无法连接到服务",-1)),a[8]||(a[8]=p("p",{class:"error-description"},"无法与后端服务建立连接,请确保服务已启动",-1)),e.errorMessage?(L(),N("div",d1,[p("div",p1,[a[1]||(a[1]=p("span",{class:"detail-label"},"错误信息:",-1)),p("span",h1,V(e.errorMessage),1)]),e.statusCode?(L(),N("div",g1,[a[2]||(a[2]=p("span",{class:"detail-label"},"HTTP 状态:",-1)),p("span",{class:oe(["detail-value status-badge",i(e.statusCode)])},V(e.statusCode),3)])):ce("",!0)])):ce("",!0),p("button",{class:"retry-button",onClick:r},[B(te,{icon:"mdi:refresh",class:"retry-icon"}),a[3]||(a[3]=ue(" 重试连接 ",-1))]),p("div",m1,[p("button",{class:"tech-toggle",onClick:a[0]||(a[0]=u=>o.value=!o.value)},[B(te,{icon:o.value?"mdi:chevron-up":"mdi:chevron-down",class:"toggle-icon"},null,8,["icon"]),ue(" "+V(o.value?"隐藏":"显示")+"技术细节 ",1)]),o.value?(L(),N("div",v1,[p("div",y1,[a[4]||(a[4]=p("span",{class:"tech-label"},"错误代码:",-1)),p("code",b1,V(e.errorCode||"N/A"),1)]),p("div",_1,[a[5]||(a[5]=p("span",{class:"tech-label"},"请求地址:",-1)),p("code",w1,V(e.requestUrl||"N/A"),1)]),p("div",C1,[a[6]||(a[6]=p("span",{class:"tech-label"},"状态码:",-1)),p("code",S1,V(e.statusCode||"N/A"),1)])])):ce("",!0)])])],2))}}),E1=ot(x1,[["__scopeId","data-v-3fb3f07d"]]);/** - * @license lucide-vue-next v0.548.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Gi=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),T1=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,n,s)=>s?s.toUpperCase():n.toLowerCase()),A1=e=>{const t=T1(e);return t.charAt(0).toUpperCase()+t.slice(1)},R1=(...e)=>e.filter((t,n,s)=>!!t&&t.trim()!==""&&s.indexOf(t)===n).join(" ").trim(),Ji=e=>e==="";/** - * @license lucide-vue-next v0.548.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */var On={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round"};/** - * @license lucide-vue-next v0.548.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const k1=({name:e,iconNode:t,absoluteStrokeWidth:n,"absolute-stroke-width":s,strokeWidth:o,"stroke-width":r,size:i=On.width,color:l=On.stroke,...a},{slots:u})=>zt("svg",{...On,...a,width:i,height:i,stroke:l,"stroke-width":Ji(n)||Ji(s)||n===!0||s===!0?Number(o||r||On["stroke-width"])*24/Number(i):o||r||On["stroke-width"],class:R1("lucide",a.class,...e?[`lucide-${Gi(A1(e))}-icon`,`lucide-${Gi(e)}`]:["lucide-icon"])},[...t.map(c=>zt(...c)),...u.default?[u.default()]:[]]);/** - * @license lucide-vue-next v0.548.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Lt=(e,t)=>(n,{slots:s,attrs:o})=>zt(k1,{...o,...n,iconNode:t,name:e},s);/** - * @license lucide-vue-next v0.548.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const O1=Lt("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** - * @license lucide-vue-next v0.548.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const $1=Lt("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);/** - * @license lucide-vue-next v0.548.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const P1=Lt("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);/** - * @license lucide-vue-next v0.548.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const I1=Lt("layout-grid",[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]]);/** - * @license lucide-vue-next v0.548.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const L1=Lt("monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]);/** - * @license lucide-vue-next v0.548.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const M1=Lt("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]]);/** - * @license lucide-vue-next v0.548.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const D1=Lt("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);/** - * @license lucide-vue-next v0.548.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const N1=Lt("shopping-bag",[["path",{d:"M16 10a4 4 0 0 1-8 0",key:"1ltviw"}],["path",{d:"M3.103 6.034h17.794",key:"awc11p"}],["path",{d:"M3.4 5.467a2 2 0 0 0-.4 1.2V20a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6.667a2 2 0 0 0-.4-1.2l-2-2.667A2 2 0 0 0 17 2H7a2 2 0 0 0-1.6.8z",key:"o988cm"}]]);/** - * @license lucide-vue-next v0.548.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const F1=Lt("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]),U1={id:"app"},j1={key:3,class:"app-layout"},B1={class:"sidebar"},H1={class:"sidebar-nav"},V1={class:"nav-count"},q1={class:"nav-count"},z1={class:"nav-count"},K1={class:"nav-count"},W1={class:"nav-count"},G1={class:"nav-count"},J1={class:"sidebar-footer"},Q1={class:"theme-text"},Z1={class:"service-status"},X1={class:"status-text"},Y1={class:"main-content"},eg=Fe({__name:"App",setup(e){const t=Q([]),n=Q([]),s=Q(!1),{theme:o,toggleTheme:r}=Cr(),i=Q(!0),l=Q(!1),a=Q(!1),u=Q(null),c=()=>{i.value=!1,h()},f=()=>{l.value=!1},d=()=>{a.value=!1,u.value=null,l.value=!1,h()},h=async()=>{try{(await Ae.getAllSettings()).download_path?(l.value=!1,a.value=!1):(l.value=!0,a.value=!1)}catch(I){console.error("检查设置状态失败:",I);const M=Dp(I);M?(u.value=M,a.value=!0,l.value=!1):(l.value=!0,a.value=!1)}},v=ye(()=>t.value.length),b=ye(()=>t.value.filter(I=>I.isInjected).length),y=ye(()=>t.value.filter(I=>I.needsUpgrade).length),x=ye(()=>t.value.filter(I=>!I.supported).length),S=ye(()=>t.value.filter(I=>I.feedUrl&&I.feedUrl.length>0).length),k=ye(()=>n.value.filter(I=>I.status==="downloading").length),P=async()=>{try{t.value=await Ae.getApps(),s.value=!0}catch(I){console.error("加载应用列表失败:",I),s.value=!1}},G=async()=>{try{n.value=await Ae.getAllDownloads()}catch(I){console.error("加载下载列表失败:",I)}};return st(()=>{P(),G(),setInterval(G,2e3)}),(I,M)=>{var O,F,U,ie;const A=Hr("router-link"),C=Hr("router-view");return L(),N("div",U1,[i.value?(L(),Ve(jp,{key:0,onComplete:c})):a.value?(L(),Ve(E1,{key:1,onRetry:d,"error-message":(O=u.value)==null?void 0:O.message,"error-code":(F=u.value)==null?void 0:F.code,"request-url":(U=u.value)==null?void 0:U.requestUrl,"status-code":(ie=u.value)==null?void 0:ie.statusCode},null,8,["error-message","error-code","request-url","status-code"])):l.value?(L(),Ve(c1,{key:2,onComplete:f})):(L(),N("div",j1,[p("aside",B1,[M[7]||(M[7]=p("div",{class:"sidebar-header"},[p("h1",{class:"app-title"},"QiuChenly"),p("p",{class:"app-subtitle"},"应用商店 - 预览测试版 0.1b")],-1)),p("nav",H1,[B(A,{to:"/",class:oe(["nav-item",{active:I.$route.path==="/"&&!I.$route.query.filter}])},{default:At(()=>[B(W(I1),{class:"nav-icon"}),M[1]||(M[1]=p("span",{class:"nav-text"},"所有应用",-1)),p("span",V1,V(v.value),1)]),_:1},8,["class"]),B(A,{to:"/?filter=injected",class:oe(["nav-item",{active:I.$route.query.filter==="injected"}])},{default:At(()=>[B(W(O1),{class:"nav-icon"}),M[2]||(M[2]=p("span",{class:"nav-text"},"已注入",-1)),p("span",q1,V(b.value),1)]),_:1},8,["class"]),B(A,{to:"/?filter=update",class:oe(["nav-item",{active:I.$route.query.filter==="update"}])},{default:At(()=>[B(W(D1),{class:"nav-icon"}),M[3]||(M[3]=p("span",{class:"nav-text"},"可更新",-1)),p("span",z1,V(y.value),1)]),_:1},8,["class"]),B(A,{to:"/?filter=unsupported",class:oe(["nav-item",{active:I.$route.query.filter==="unsupported"}])},{default:At(()=>[B(W($1),{class:"nav-icon"}),M[4]||(M[4]=p("span",{class:"nav-text"},"不支持",-1)),p("span",K1,V(x.value),1)]),_:1},8,["class"]),B(A,{to:"/?filter=store",class:oe(["nav-item",{active:I.$route.query.filter==="store"}])},{default:At(()=>[B(W(N1),{class:"nav-icon"}),M[5]||(M[5]=p("span",{class:"nav-text"},"商店",-1)),p("span",W1,V(S.value),1)]),_:1},8,["class"]),B(A,{to:"/downloads",class:oe(["nav-item",{active:I.$route.path==="/downloads"}])},{default:At(()=>[B(W(P1),{class:"nav-icon"}),M[6]||(M[6]=p("span",{class:"nav-text"},"下载管理",-1)),p("span",G1,V(k.value),1)]),_:1},8,["class"])]),p("div",J1,[p("button",{onClick:M[0]||(M[0]=(...le)=>W(r)&&W(r)(...le)),class:"theme-toggle"},[(L(),Ve(Fu(W(o)==="auto"?W(L1):W(o)==="dark"?W(M1):W(F1)),{class:"theme-icon"})),p("span",Q1,V(W(o)==="auto"?"自动":W(o)==="dark"?"暗色":"浅色"),1)]),p("div",Z1,[p("div",{class:oe(["status-indicator",{online:s.value}])},null,2),p("span",X1,V(s.value?"服务在线":"服务离线"),1)])])]),p("main",Y1,[B(C)])]))])}}}),tg=ot(eg,[["__scopeId","data-v-41dad825"]]);/*! - * vue-router v4.5.1 - * (c) 2025 Eduardo San Martin Morote - * @license MIT - */const an=typeof document<"u";function bc(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function ng(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&bc(e.default)}const ge=Object.assign;function Ro(e,t){const n={};for(const s in t){const o=t[s];n[s]=ct(o)?o.map(e):e(o)}return n}const Bn=()=>{},ct=Array.isArray,_c=/#/g,sg=/&/g,og=/\//g,rg=/=/g,ig=/\?/g,wc=/\+/g,lg=/%5B/g,ag=/%5D/g,Cc=/%5E/g,cg=/%60/g,Sc=/%7B/g,ug=/%7C/g,xc=/%7D/g,fg=/%20/g;function Tr(e){return encodeURI(""+e).replace(ug,"|").replace(lg,"[").replace(ag,"]")}function dg(e){return Tr(e).replace(Sc,"{").replace(xc,"}").replace(Cc,"^")}function Yo(e){return Tr(e).replace(wc,"%2B").replace(fg,"+").replace(_c,"%23").replace(sg,"%26").replace(cg,"`").replace(Sc,"{").replace(xc,"}").replace(Cc,"^")}function pg(e){return Yo(e).replace(rg,"%3D")}function hg(e){return Tr(e).replace(_c,"%23").replace(ig,"%3F")}function gg(e){return e==null?"":hg(e).replace(og,"%2F")}function Zn(e){try{return decodeURIComponent(""+e)}catch{}return""+e}const mg=/\/$/,vg=e=>e.replace(mg,"");function ko(e,t,n="/"){let s,o={},r="",i="";const l=t.indexOf("#");let a=t.indexOf("?");return l=0&&(a=-1),a>-1&&(s=t.slice(0,a),r=t.slice(a+1,l>-1?l:t.length),o=e(r)),l>-1&&(s=s||t.slice(0,l),i=t.slice(l,t.length)),s=wg(s??t,n),{fullPath:s+(r&&"?")+r+i,path:s,query:o,hash:Zn(i)}}function yg(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Qi(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function bg(e,t,n){const s=t.matched.length-1,o=n.matched.length-1;return s>-1&&s===o&&bn(t.matched[s],n.matched[o])&&Ec(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function bn(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Ec(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!_g(e[n],t[n]))return!1;return!0}function _g(e,t){return ct(e)?Zi(e,t):ct(t)?Zi(t,e):e===t}function Zi(e,t){return ct(t)?e.length===t.length&&e.every((n,s)=>n===t[s]):e.length===1&&e[0]===t}function wg(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),s=e.split("/"),o=s[s.length-1];(o===".."||o===".")&&s.push("");let r=n.length-1,i,l;for(i=0;i1&&r--;else break;return n.slice(0,r).join("/")+"/"+s.slice(i).join("/")}const Dt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};var Xn;(function(e){e.pop="pop",e.push="push"})(Xn||(Xn={}));var Hn;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Hn||(Hn={}));function Cg(e){if(!e)if(an){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),vg(e)}const Sg=/^[^#]+#/;function xg(e,t){return e.replace(Sg,"#")+t}function Eg(e,t){const n=document.documentElement.getBoundingClientRect(),s=e.getBoundingClientRect();return{behavior:t.behavior,left:s.left-n.left-(t.left||0),top:s.top-n.top-(t.top||0)}}const co=()=>({left:window.scrollX,top:window.scrollY});function Tg(e){let t;if("el"in e){const n=e.el,s=typeof n=="string"&&n.startsWith("#"),o=typeof n=="string"?s?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!o)return;t=Eg(o,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Xi(e,t){return(history.state?history.state.position-t:-1)+e}const er=new Map;function Ag(e,t){er.set(e,t)}function Rg(e){const t=er.get(e);return er.delete(e),t}let kg=()=>location.protocol+"//"+location.host;function Tc(e,t){const{pathname:n,search:s,hash:o}=t,r=e.indexOf("#");if(r>-1){let l=o.includes(e.slice(r))?e.slice(r).length:1,a=o.slice(l);return a[0]!=="/"&&(a="/"+a),Qi(a,"")}return Qi(n,e)+s+o}function Og(e,t,n,s){let o=[],r=[],i=null;const l=({state:d})=>{const h=Tc(e,location),v=n.value,b=t.value;let y=0;if(d){if(n.value=h,t.value=d,i&&i===v){i=null;return}y=b?d.position-b.position:0}else s(h);o.forEach(x=>{x(n.value,v,{delta:y,type:Xn.pop,direction:y?y>0?Hn.forward:Hn.back:Hn.unknown})})};function a(){i=n.value}function u(d){o.push(d);const h=()=>{const v=o.indexOf(d);v>-1&&o.splice(v,1)};return r.push(h),h}function c(){const{history:d}=window;d.state&&d.replaceState(ge({},d.state,{scroll:co()}),"")}function f(){for(const d of r)d();r=[],window.removeEventListener("popstate",l),window.removeEventListener("beforeunload",c)}return window.addEventListener("popstate",l),window.addEventListener("beforeunload",c,{passive:!0}),{pauseListeners:a,listen:u,destroy:f}}function Yi(e,t,n,s=!1,o=!1){return{back:e,current:t,forward:n,replaced:s,position:window.history.length,scroll:o?co():null}}function $g(e){const{history:t,location:n}=window,s={value:Tc(e,n)},o={value:t.state};o.value||r(s.value,{back:null,current:s.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function r(a,u,c){const f=e.indexOf("#"),d=f>-1?(n.host&&document.querySelector("base")?e:e.slice(f))+a:kg()+e+a;try{t[c?"replaceState":"pushState"](u,"",d),o.value=u}catch(h){console.error(h),n[c?"replace":"assign"](d)}}function i(a,u){const c=ge({},t.state,Yi(o.value.back,a,o.value.forward,!0),u,{position:o.value.position});r(a,c,!0),s.value=a}function l(a,u){const c=ge({},o.value,t.state,{forward:a,scroll:co()});r(c.current,c,!0);const f=ge({},Yi(s.value,a,null),{position:c.position+1},u);r(a,f,!1),s.value=a}return{location:s,state:o,push:l,replace:i}}function Pg(e){e=Cg(e);const t=$g(e),n=Og(e,t.state,t.location,t.replace);function s(r,i=!0){i||n.pauseListeners(),history.go(r)}const o=ge({location:"",base:e,go:s,createHref:xg.bind(null,e)},t,n);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>t.state.value}),o}function Ig(e){return typeof e=="string"||e&&typeof e=="object"}function Ac(e){return typeof e=="string"||typeof e=="symbol"}const Rc=Symbol("");var el;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(el||(el={}));function _n(e,t){return ge(new Error,{type:e,[Rc]:!0},t)}function Et(e,t){return e instanceof Error&&Rc in e&&(t==null||!!(e.type&t))}const tl="[^/]+?",Lg={sensitive:!1,strict:!1,start:!0,end:!0},Mg=/[.+*?^${}()[\]/\\]/g;function Dg(e,t){const n=ge({},Lg,t),s=[];let o=n.start?"^":"";const r=[];for(const u of e){const c=u.length?[]:[90];n.strict&&!u.length&&(o+="/");for(let f=0;ft.length?t.length===1&&t[0]===80?1:-1:0}function kc(e,t){let n=0;const s=e.score,o=t.score;for(;n0&&t[t.length-1]<0}const Fg={type:0,value:""},Ug=/[a-zA-Z0-9_]/;function jg(e){if(!e)return[[]];if(e==="/")return[[Fg]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(h){throw new Error(`ERR (${n})/"${u}": ${h}`)}let n=0,s=n;const o=[];let r;function i(){r&&o.push(r),r=[]}let l=0,a,u="",c="";function f(){u&&(n===0?r.push({type:0,value:u}):n===1||n===2||n===3?(r.length>1&&(a==="*"||a==="+")&&t(`A repeatable param (${u}) must be alone in its segment. eg: '/:ids+.`),r.push({type:1,value:u,regexp:c,repeatable:a==="*"||a==="+",optional:a==="*"||a==="?"})):t("Invalid state to consume buffer"),u="")}function d(){u+=a}for(;l{i(k)}:Bn}function i(f){if(Ac(f)){const d=s.get(f);d&&(s.delete(f),n.splice(n.indexOf(d),1),d.children.forEach(i),d.alias.forEach(i))}else{const d=n.indexOf(f);d>-1&&(n.splice(d,1),f.record.name&&s.delete(f.record.name),f.children.forEach(i),f.alias.forEach(i))}}function l(){return n}function a(f){const d=zg(f,n);n.splice(d,0,f),f.record.name&&!rl(f)&&s.set(f.record.name,f)}function u(f,d){let h,v={},b,y;if("name"in f&&f.name){if(h=s.get(f.name),!h)throw _n(1,{location:f});y=h.record.name,v=ge(sl(d.params,h.keys.filter(k=>!k.optional).concat(h.parent?h.parent.keys.filter(k=>k.optional):[]).map(k=>k.name)),f.params&&sl(f.params,h.keys.map(k=>k.name))),b=h.stringify(v)}else if(f.path!=null)b=f.path,h=n.find(k=>k.re.test(b)),h&&(v=h.parse(b),y=h.record.name);else{if(h=d.name?s.get(d.name):n.find(k=>k.re.test(d.path)),!h)throw _n(1,{location:f,currentLocation:d});y=h.record.name,v=ge({},d.params,f.params),b=h.stringify(v)}const x=[];let S=h;for(;S;)x.unshift(S.record),S=S.parent;return{name:y,path:b,params:v,matched:x,meta:qg(x)}}e.forEach(f=>r(f));function c(){n.length=0,s.clear()}return{addRoute:r,resolve:u,removeRoute:i,clearRoutes:c,getRoutes:l,getRecordMatcher:o}}function sl(e,t){const n={};for(const s of t)s in e&&(n[s]=e[s]);return n}function ol(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Vg(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function Vg(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const s in e.components)t[s]=typeof n=="object"?n[s]:n;return t}function rl(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function qg(e){return e.reduce((t,n)=>ge(t,n.meta),{})}function il(e,t){const n={};for(const s in e)n[s]=s in t?t[s]:e[s];return n}function zg(e,t){let n=0,s=t.length;for(;n!==s;){const r=n+s>>1;kc(e,t[r])<0?s=r:n=r+1}const o=Kg(e);return o&&(s=t.lastIndexOf(o,s-1)),s}function Kg(e){let t=e;for(;t=t.parent;)if(Oc(t)&&kc(e,t)===0)return t}function Oc({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function Wg(e){const t={};if(e===""||e==="?")return t;const s=(e[0]==="?"?e.slice(1):e).split("&");for(let o=0;or&&Yo(r)):[s&&Yo(s)]).forEach(r=>{r!==void 0&&(t+=(t.length?"&":"")+n,r!=null&&(t+="="+r))})}return t}function Gg(e){const t={};for(const n in e){const s=e[n];s!==void 0&&(t[n]=ct(s)?s.map(o=>o==null?null:""+o):s==null?s:""+s)}return t}const Jg=Symbol(""),al=Symbol(""),uo=Symbol(""),Ar=Symbol(""),tr=Symbol("");function $n(){let e=[];function t(s){return e.push(s),()=>{const o=e.indexOf(s);o>-1&&e.splice(o,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Ut(e,t,n,s,o,r=i=>i()){const i=s&&(s.enterCallbacks[o]=s.enterCallbacks[o]||[]);return()=>new Promise((l,a)=>{const u=d=>{d===!1?a(_n(4,{from:n,to:t})):d instanceof Error?a(d):Ig(d)?a(_n(2,{from:t,to:d})):(i&&s.enterCallbacks[o]===i&&typeof d=="function"&&i.push(d),l())},c=r(()=>e.call(s&&s.instances[o],t,n,u));let f=Promise.resolve(c);e.length<3&&(f=f.then(u)),f.catch(d=>a(d))})}function Oo(e,t,n,s,o=r=>r()){const r=[];for(const i of e)for(const l in i.components){let a=i.components[l];if(!(t!=="beforeRouteEnter"&&!i.instances[l]))if(bc(a)){const c=(a.__vccOpts||a)[t];c&&r.push(Ut(c,n,s,i,l,o))}else{let u=a();r.push(()=>u.then(c=>{if(!c)throw new Error(`Couldn't resolve component "${l}" at "${i.path}"`);const f=ng(c)?c.default:c;i.mods[l]=c,i.components[l]=f;const h=(f.__vccOpts||f)[t];return h&&Ut(h,n,s,i,l,o)()}))}}return r}function cl(e){const t=lt(uo),n=lt(Ar),s=ye(()=>{const a=W(e.to);return t.resolve(a)}),o=ye(()=>{const{matched:a}=s.value,{length:u}=a,c=a[u-1],f=n.matched;if(!c||!f.length)return-1;const d=f.findIndex(bn.bind(null,c));if(d>-1)return d;const h=ul(a[u-2]);return u>1&&ul(c)===h&&f[f.length-1].path!==h?f.findIndex(bn.bind(null,a[u-2])):d}),r=ye(()=>o.value>-1&&em(n.params,s.value.params)),i=ye(()=>o.value>-1&&o.value===n.matched.length-1&&Ec(n.params,s.value.params));function l(a={}){if(Yg(a)){const u=t[W(e.replace)?"replace":"push"](W(e.to)).catch(Bn);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>u),u}return Promise.resolve()}return{route:s,href:ye(()=>s.value.href),isActive:r,isExactActive:i,navigate:l}}function Qg(e){return e.length===1?e[0]:e}const Zg=Fe({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:cl,setup(e,{slots:t}){const n=Js(cl(e)),{options:s}=lt(uo),o=ye(()=>({[fl(e.activeClass,s.linkActiveClass,"router-link-active")]:n.isActive,[fl(e.exactActiveClass,s.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const r=t.default&&Qg(t.default(n));return e.custom?r:zt("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:o.value},r)}}}),Xg=Zg;function Yg(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function em(e,t){for(const n in t){const s=t[n],o=e[n];if(typeof s=="string"){if(s!==o)return!1}else if(!ct(o)||o.length!==s.length||s.some((r,i)=>r!==o[i]))return!1}return!0}function ul(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const fl=(e,t,n)=>e??t??n,tm=Fe({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const s=lt(tr),o=ye(()=>e.route||s.value),r=lt(al,0),i=ye(()=>{let u=W(r);const{matched:c}=o.value;let f;for(;(f=c[u])&&!f.components;)u++;return u}),l=ye(()=>o.value.matched[i.value]);gs(al,ye(()=>i.value+1)),gs(Jg,l),gs(tr,o);const a=Q();return wt(()=>[a.value,l.value,e.name],([u,c,f],[d,h,v])=>{c&&(c.instances[f]=u,h&&h!==c&&u&&u===d&&(c.leaveGuards.size||(c.leaveGuards=h.leaveGuards),c.updateGuards.size||(c.updateGuards=h.updateGuards))),u&&c&&(!h||!bn(c,h)||!d)&&(c.enterCallbacks[f]||[]).forEach(b=>b(u))},{flush:"post"}),()=>{const u=o.value,c=e.name,f=l.value,d=f&&f.components[c];if(!d)return dl(n.default,{Component:d,route:u});const h=f.props[c],v=h?h===!0?u.params:typeof h=="function"?h(u):h:null,y=zt(d,ge({},v,t,{onVnodeUnmounted:x=>{x.component.isUnmounted&&(f.instances[c]=null)},ref:a}));return dl(n.default,{Component:y,route:u})||y}}});function dl(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const nm=tm;function sm(e){const t=Hg(e.routes,e),n=e.parseQuery||Wg,s=e.stringifyQuery||ll,o=e.history,r=$n(),i=$n(),l=$n(),a=Ul(Dt);let u=Dt;an&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const c=Ro.bind(null,R=>""+R),f=Ro.bind(null,gg),d=Ro.bind(null,Zn);function h(R,J){let z,Z;return Ac(R)?(z=t.getRecordMatcher(R),Z=J):Z=R,t.addRoute(Z,z)}function v(R){const J=t.getRecordMatcher(R);J&&t.removeRoute(J)}function b(){return t.getRoutes().map(R=>R.record)}function y(R){return!!t.getRecordMatcher(R)}function x(R,J){if(J=ge({},J||a.value),typeof R=="string"){const _=ko(n,R,J.path),T=t.resolve({path:_.path},J),$=o.createHref(_.fullPath);return ge(_,T,{params:d(T.params),hash:Zn(_.hash),redirectedFrom:void 0,href:$})}let z;if(R.path!=null)z=ge({},R,{path:ko(n,R.path,J.path).path});else{const _=ge({},R.params);for(const T in _)_[T]==null&&delete _[T];z=ge({},R,{params:f(_)}),J.params=f(J.params)}const Z=t.resolve(z,J),_e=R.hash||"";Z.params=c(d(Z.params));const g=yg(s,ge({},R,{hash:dg(_e),path:Z.path})),m=o.createHref(g);return ge({fullPath:g,hash:_e,query:s===ll?Gg(R.query):R.query||{}},Z,{redirectedFrom:void 0,href:m})}function S(R){return typeof R=="string"?ko(n,R,a.value.path):ge({},R)}function k(R,J){if(u!==R)return _n(8,{from:J,to:R})}function P(R){return M(R)}function G(R){return P(ge(S(R),{replace:!0}))}function I(R){const J=R.matched[R.matched.length-1];if(J&&J.redirect){const{redirect:z}=J;let Z=typeof z=="function"?z(R):z;return typeof Z=="string"&&(Z=Z.includes("?")||Z.includes("#")?Z=S(Z):{path:Z},Z.params={}),ge({query:R.query,hash:R.hash,params:Z.path!=null?{}:R.params},Z)}}function M(R,J){const z=u=x(R),Z=a.value,_e=R.state,g=R.force,m=R.replace===!0,_=I(z);if(_)return M(ge(S(_),{state:typeof _=="object"?ge({},_e,_.state):_e,force:g,replace:m}),J||z);const T=z;T.redirectedFrom=J;let $;return!g&&bg(s,Z,z)&&($=_n(16,{to:T,from:Z}),ke(Z,Z,!0,!1)),($?Promise.resolve($):O(T,Z)).catch(E=>Et(E)?Et(E,2)?E:ft(E):ae(E,T,Z)).then(E=>{if(E){if(Et(E,2))return M(ge({replace:m},S(E.to),{state:typeof E.to=="object"?ge({},_e,E.to.state):_e,force:g}),J||T)}else E=U(T,Z,!0,m,_e);return F(T,Z,E),E})}function A(R,J){const z=k(R,J);return z?Promise.reject(z):Promise.resolve()}function C(R){const J=rt.values().next().value;return J&&typeof J.runWithContext=="function"?J.runWithContext(R):R()}function O(R,J){let z;const[Z,_e,g]=om(R,J);z=Oo(Z.reverse(),"beforeRouteLeave",R,J);for(const _ of Z)_.leaveGuards.forEach(T=>{z.push(Ut(T,R,J))});const m=A.bind(null,R,J);return z.push(m),Ye(z).then(()=>{z=[];for(const _ of r.list())z.push(Ut(_,R,J));return z.push(m),Ye(z)}).then(()=>{z=Oo(_e,"beforeRouteUpdate",R,J);for(const _ of _e)_.updateGuards.forEach(T=>{z.push(Ut(T,R,J))});return z.push(m),Ye(z)}).then(()=>{z=[];for(const _ of g)if(_.beforeEnter)if(ct(_.beforeEnter))for(const T of _.beforeEnter)z.push(Ut(T,R,J));else z.push(Ut(_.beforeEnter,R,J));return z.push(m),Ye(z)}).then(()=>(R.matched.forEach(_=>_.enterCallbacks={}),z=Oo(g,"beforeRouteEnter",R,J,C),z.push(m),Ye(z))).then(()=>{z=[];for(const _ of i.list())z.push(Ut(_,R,J));return z.push(m),Ye(z)}).catch(_=>Et(_,8)?_:Promise.reject(_))}function F(R,J,z){l.list().forEach(Z=>C(()=>Z(R,J,z)))}function U(R,J,z,Z,_e){const g=k(R,J);if(g)return g;const m=J===Dt,_=an?history.state:{};z&&(Z||m?o.replace(R.fullPath,ge({scroll:m&&_&&_.scroll},_e)):o.push(R.fullPath,_e)),a.value=R,ke(R,J,z,m),ft()}let ie;function le(){ie||(ie=o.listen((R,J,z)=>{if(!Kt.listening)return;const Z=x(R),_e=I(Z);if(_e){M(ge(_e,{replace:!0,force:!0}),Z).catch(Bn);return}u=Z;const g=a.value;an&&Ag(Xi(g.fullPath,z.delta),co()),O(Z,g).catch(m=>Et(m,12)?m:Et(m,2)?(M(ge(S(m.to),{force:!0}),Z).then(_=>{Et(_,20)&&!z.delta&&z.type===Xn.pop&&o.go(-1,!1)}).catch(Bn),Promise.reject()):(z.delta&&o.go(-z.delta,!1),ae(m,Z,g))).then(m=>{m=m||U(Z,g,!1),m&&(z.delta&&!Et(m,8)?o.go(-z.delta,!1):z.type===Xn.pop&&Et(m,20)&&o.go(-1,!1)),F(Z,g,m)}).catch(Bn)}))}let xe=$n(),fe=$n(),pe;function ae(R,J,z){ft(R);const Z=fe.list();return Z.length?Z.forEach(_e=>_e(R,J,z)):console.error(R),Promise.reject(R)}function Xe(){return pe&&a.value!==Dt?Promise.resolve():new Promise((R,J)=>{xe.add([R,J])})}function ft(R){return pe||(pe=!R,le(),xe.list().forEach(([J,z])=>R?z(R):J()),xe.reset()),R}function ke(R,J,z,Z){const{scrollBehavior:_e}=e;if(!an||!_e)return Promise.resolve();const g=!z&&Rg(Xi(R.fullPath,0))||(Z||!z)&&history.state&&history.state.scroll||null;return gn().then(()=>_e(R,J,g)).then(m=>m&&Tg(m)).catch(m=>ae(m,R,J))}const Te=R=>o.go(R);let dt;const rt=new Set,Kt={currentRoute:a,listening:!0,addRoute:h,removeRoute:v,clearRoutes:t.clearRoutes,hasRoute:y,getRoutes:b,resolve:x,options:e,push:P,replace:G,go:Te,back:()=>Te(-1),forward:()=>Te(1),beforeEach:r.add,beforeResolve:i.add,afterEach:l.add,onError:fe.add,isReady:Xe,install(R){const J=this;R.component("RouterLink",Xg),R.component("RouterView",nm),R.config.globalProperties.$router=J,Object.defineProperty(R.config.globalProperties,"$route",{enumerable:!0,get:()=>W(a)}),an&&!dt&&a.value===Dt&&(dt=!0,P(o.location).catch(_e=>{}));const z={};for(const _e in Dt)Object.defineProperty(z,_e,{get:()=>a.value[_e],enumerable:!0});R.provide(uo,J),R.provide(Ar,Nl(z)),R.provide(tr,a);const Z=R.unmount;rt.add(R),R.unmount=function(){rt.delete(R),rt.size<1&&(u=Dt,ie&&ie(),ie=null,a.value=Dt,dt=!1,pe=!1),Z()}}};function Ye(R){return R.reduce((J,z)=>J.then(()=>C(z)),Promise.resolve())}return Kt}function om(e,t){const n=[],s=[],o=[],r=Math.max(t.matched.length,e.matched.length);for(let i=0;ibn(u,l))?s.push(l):n.push(l));const a=e.matched[i];a&&(t.matched.find(u=>bn(u,a))||o.push(a))}return[n,s,o]}function $c(){return lt(uo)}function Pc(e){return lt(Ar)}const rm={class:"modal-header"},im={class:"modal-title"},lm={class:"modal-body"},am={class:"log-time"},cm={class:"log-message"},um={key:0,class:"log-line loading"},fm={class:"modal-footer"},dm={class:"footer-status"},pm={key:0,class:"status-success"},hm={key:1,class:"status-error"},gm={key:2,class:"status-loading"},mm={class:"footer-actions"},vm=Fe({__name:"LogModal",props:{visible:{type:Boolean},title:{default:"操作日志"},logs:{default:()=>[]},loading:{type:Boolean,default:!1},status:{default:"idle"},canClose:{type:Boolean,default:!0}},emits:["close"],setup(e,{emit:t}){const n=e,s=t,o=Q(null),r=()=>{o.value&&(o.value.scrollTop=o.value.scrollHeight)};wt(()=>n.logs,async()=>{await gn(),r()},{deep:!0,flush:"post"}),wt(()=>n.loading,async()=>{await gn(),r()});const i=()=>{switch(n.status){case"success":return"mdi:check-circle";case"error":return"mdi:alert-circle";case"loading":return"mdi:loading";default:return"mdi:information"}},l=c=>c.level?`log-${c.level}`:"log-info",a=()=>{s("close")},u=()=>{n.canClose&&a()};return(c,f)=>(L(),Ve(Ql,{to:"body"},[B(Ia,{name:"modal"},{default:At(()=>[e.visible?(L(),N("div",{key:0,class:"modal-overlay",onClick:u},[p("div",{class:"modal-container",onClick:f[0]||(f[0]=jt(()=>{},["stop"]))},[p("div",rm,[p("h2",im,[B(te,{icon:i(),class:"modal-icon"},null,8,["icon"]),ue(" "+V(e.title),1)]),e.canClose?(L(),N("button",{key:0,onClick:a,class:"modal-close","aria-label":"关闭"},[B(te,{icon:"mdi:close"})])):ce("",!0)]),p("div",lm,[p("div",{ref_key:"logContainer",ref:o,class:"log-container"},[(L(!0),N($e,null,mn(e.logs,(d,h)=>(L(),N("div",{key:h,class:oe(["log-line",l(d)])},[p("span",am,V(d.time),1),p("span",cm,V(d.message),1)],2))),128)),e.loading?(L(),N("div",um,[...f[1]||(f[1]=[p("div",{class:"spinner-small"},null,-1),p("span",{class:"log-message"},"处理中...",-1)])])):ce("",!0)],512)]),p("div",fm,[p("div",dm,[e.status==="success"?(L(),N("span",pm,[B(te,{icon:"mdi:check-circle"}),f[2]||(f[2]=ue(" 操作成功 ",-1))])):e.status==="error"?(L(),N("span",hm,[B(te,{icon:"mdi:alert-circle"}),f[3]||(f[3]=ue(" 操作失败 ",-1))])):e.loading?(L(),N("span",gm,[...f[4]||(f[4]=[p("div",{class:"spinner-small"},null,-1),ue(" 处理中... ",-1)])])):ce("",!0)]),p("div",mm,[e.canClose?(L(),N("button",{key:0,onClick:a,class:"btn btn-outline"}," 关闭 ")):ce("",!0)])])])])):ce("",!0)]),_:1})]))}}),Ic=ot(vm,[["__scopeId","data-v-07320b59"]]);function ym(){const e=Q(!1),t=Q(""),n=Q([]),s=Q("idle");return{modalVisible:e,modalTitle:t,logs:n,modalStatus:s,addLog:(u,c="info")=>{const f=new Date,d=`${f.getHours().toString().padStart(2,"0")}:${f.getMinutes().toString().padStart(2,"0")}:${f.getSeconds().toString().padStart(2,"0")}`;n.value.push({time:d,message:u,level:c})},showModal:u=>{t.value=u,n.value=[],s.value="loading",e.value=!0},hideModal:()=>{e.value=!1},setSuccess:()=>{s.value="success"},setError:()=>{s.value="error"}}}function Lc(e){const t=Q(!1),{onRefresh:n}=e,{modalVisible:s,modalTitle:o,logs:r,modalStatus:i,addLog:l,showModal:a,hideModal:u,setSuccess:c,setError:f}=ym();return{updating:t,modalVisible:s,modalTitle:o,logs:r,modalStatus:i,handleUpdate:async v=>{t.value=!0,a(v.isInjected?"更新应用":"注入应用"),l(`开始处理应用: ${v.name}`),l(`Bundle ID: ${v.bundleId}`),l(`当前版本: ${v.version}`);try{l("正在连接到服务器...");const b=await Ae.updateApp(v.bundleId);b.logs&&b.logs.length>0&&b.logs.forEach(y=>{l(y,"info")}),b.success?(l("操作成功完成!","success"),c(),l("正在刷新应用状态..."),await n(),l("应用状态已更新","success")):(l(`操作失败: ${b.message}`,"error"),f())}catch(b){console.error("更新应用失败:",b),l(`网络错误: ${b}`,"error"),f()}finally{t.value=!1}},handleReinstall:async()=>{console.log("重新安装功能待实现")},hideModal:u}}const bm={class:"app-icon"},_m=["src","alt"],wm={key:0,class:"icon-loading"},Cm={class:"app-info"},Sm={class:"app-name"},xm={class:"app-version"},Em={key:0,class:"latest-version"},Tm={class:"app-status"},Am={class:"app-actions"},Rm=["disabled"],km=["disabled"],Om=["disabled"],$m=["disabled"],Pm={key:2,class:"unsupported-section"},Im={key:0,class:"supported-versions"},Lm=["disabled"],Mm=Fe({__name:"AppCard",props:{app:{},inStoreMode:{type:Boolean,default:!1}},emits:["updated","openVersionDialog"],setup(e,{emit:t}){const n=e,s=t,o=$c(),r=Q({...n.app}),i=Q(!0),l=Q(!1),a=Q(!1),u=Q(!1),c=Q(!1),f=Q(""),{updating:d,modalVisible:h,modalTitle:v,logs:b,modalStatus:y,handleUpdate:x,handleReinstall:S,hideModal:k}=Lc({onRefresh:async()=>{try{const le=await Ae.getApp(n.app.bundleId);r.value=le,s("updated",n.app.bundleId)}catch(le){throw console.error("刷新应用状态失败:",le),le}}});wt(()=>n.app,le=>{d.value||(r.value={...le})},{deep:!0});const P=()=>Ae.getAppIconUrl(n.app.bundleId),G=()=>r.value.supported?r.value.isInjected?"status-injected":r.value.needsUpgrade?"status-update":"status-supported":"status-unsupported",I=()=>r.value.supported?r.value.isInjected?"已注入":r.value.needsUpgrade?"可更新":"支持":"不支持",M=()=>{o.push(`/app/${n.app.bundleId}`)},A=()=>{x(r.value)},C=()=>{s("openVersionDialog",r.value)},O=async()=>{if(n.inStoreMode){u.value=!0;try{const le=await Ae.checkAppUpdate(n.app.bundleId);le?(c.value=!0,f.value=le):c.value=!1}catch(le){console.error("检查更新失败:",le),c.value=!1}finally{u.value=!1}}},F=()=>u.value?"badge-checking":c.value?"badge-update":"badge-download";st(()=>{n.inStoreMode&&n.app.feedUrl&&O()});const U=()=>{i.value=!1,l.value=!0,a.value=!1},ie=()=>{i.value=!1,l.value=!1,a.value=!0};return(le,xe)=>(L(),N("div",{class:"app-card card",onClick:M},[e.inStoreMode?(L(),N("div",{key:0,class:oe(["store-badge",F()])},[u.value?(L(),Ve(te,{key:0,icon:"mdi:loading",class:"badge-icon"})):c.value?(L(),Ve(te,{key:1,icon:"mdi:arrow-up-bold",class:"badge-icon"})):(L(),Ve(te,{key:2,icon:"mdi:download",class:"badge-icon"}))],2)):ce("",!0),p("div",bm,[Vt(p("img",{src:P(),alt:r.value.name,onLoad:U,onError:ie},null,40,_m),[[Ds,l.value]]),i.value?(L(),N("div",wm,[...xe[1]||(xe[1]=[p("div",{class:"spinner"},null,-1)])])):ce("",!0),Vt(p("div",{class:"icon-placeholder"},V(r.value.name.charAt(0).toUpperCase()),513),[[Ds,a.value]])]),p("div",Cm,[p("h3",Sm,V(r.value.name),1),p("p",xm,"版本: "+V(r.value.version),1),r.value.latestVersion&&r.value.latestVersion!==r.value.version?(L(),N("p",Em," 最新版本: "+V(r.value.latestVersion),1)):ce("",!0)]),p("div",Tm,[p("span",{class:oe(["status-badge",G()])},V(I()),3)]),p("div",Am,[e.inStoreMode?(L(),N($e,{key:0},[c.value?(L(),N("button",{key:0,class:"btn btn-warning",onClick:jt(C,["stop"]),disabled:u.value},[B(te,{icon:"mdi:update",class:"btn-icon"}),ue(" "+V(u.value?"检查中...":"更新"),1)],8,Rm)):(L(),N("button",{key:1,class:"btn btn-secondary",onClick:jt(C,["stop"]),disabled:u.value},[B(te,{icon:"mdi:download",class:"btn-icon"}),ue(" "+V(u.value?"检查中...":"重新安装"),1)],8,km))],64)):(L(),N($e,{key:1},[r.value.needsUpgrade&&r.value.supported?(L(),N("button",{key:0,class:"btn btn-warning",onClick:jt(A,["stop"]),disabled:W(d)},[B(te,{icon:"mdi:update",class:"btn-icon"}),ue(" "+V(W(d)?"更新中...":"更新"),1)],8,Om)):!r.value.isInjected&&r.value.supported?(L(),N("button",{key:1,class:"btn btn-success",onClick:jt(A,["stop"]),disabled:W(d)},[B(te,{icon:"mdi:download",class:"btn-icon"}),ue(" "+V(W(d)?"处理中...":"注入"),1)],8,$m)):r.value.supported?(L(),N("button",{key:3,class:"btn btn-secondary",onClick:xe[0]||(xe[0]=jt((...fe)=>W(S)&&W(S)(...fe),["stop"])),disabled:W(d)},[B(te,{icon:"mdi:refresh",class:"btn-icon"}),ue(" "+V(W(d)?"处理中...":"重新安装"),1)],8,Lm)):(L(),N("div",Pm,[xe[2]||(xe[2]=p("span",{class:"unsupported-text"},"不支持此版本",-1)),r.value.supportVersion&&r.value.supportVersion.length>0?(L(),N("span",Im," 支持版本: "+V(r.value.supportVersion.join(", ")),1)):ce("",!0)]))],64))]),B(Ic,{visible:W(h),title:W(v),logs:W(b),loading:W(d),status:W(y),"can-close":W(y)!=="loading",onClose:W(k)},null,8,["visible","title","logs","loading","status","can-close","onClose"])]))}}),Dm=ot(Mm,[["__scopeId","data-v-7051324a"]]),Nm={class:"version-list-container"},Fm={key:0,class:"loading"},Um={key:1,class:"error"},jm={key:2,class:"empty"},Bm={key:3},Hm={class:"version-filters"},Vm={class:"versions-list"},qm={class:"version-info"},zm={class:"version-number-wrapper"},Km={key:0,class:"version-tag beta-tag"},Wm={key:1,class:"version-tag release-tag"},Gm={class:"version-number"},Jm={key:0,class:"version-full"},Qm={key:0,class:"version-url"},Zm=["onClick","disabled"],Xm={key:1,class:"spinner-small"},Ym=Fe({__name:"VersionList",props:{bundleId:{}},setup(e){const t=e,n=Q([]),s=Q(!1),o=Q(""),r=Q([]),i=Q("all"),l=async()=>{s.value=!0,o.value="";try{const c=await Ae.getAppVersions(t.bundleId);n.value=c.sort((f,d)=>{const h=f.version.split(".").map(Number),v=d.version.split(".").map(Number),b=Math.max(h.length,v.length);for(let y=0;yi.value==="all"?n.value:i.value==="release"?n.value.filter(c=>!c.beta):n.value.filter(c=>c.beta)),u=async(c,f)=>{if(!c.url){console.error("版本URL为空");return}r.value.push(f);try{await Ae.startDownload(c.url),console.log("下载已启动:",c.version)}catch(d){console.error("启动下载失败:",d),r.value=r.value.filter(h=>h!==f)}};return st(()=>{l()}),(c,f)=>(L(),N("div",Nm,[s.value?(L(),N("div",Fm,[...f[3]||(f[3]=[p("div",{class:"spinner"},null,-1),p("p",null,"正在加载版本列表...",-1)])])):o.value?(L(),N("div",Um,[B(te,{icon:"mdi:alert-circle",class:"error-icon"}),p("p",null,V(o.value),1),p("button",{onClick:l,class:"btn btn-secondary"},[B(te,{icon:"mdi:reload",class:"btn-icon"}),f[4]||(f[4]=ue(" 重试 ",-1))])])):n.value.length===0?(L(),N("div",jm,[B(te,{icon:"mdi:package-variant",class:"empty-icon"}),f[5]||(f[5]=p("p",null,"暂无可用版本",-1))])):(L(),N("div",Bm,[p("div",Hm,[p("button",{class:oe(["filter-btn",{active:i.value==="all"}]),onClick:f[0]||(f[0]=d=>i.value="all")}," 全部 ",2),p("button",{class:oe(["filter-btn",{active:i.value==="release"}]),onClick:f[1]||(f[1]=d=>i.value="release")}," 正式版 ",2),p("button",{class:oe(["filter-btn",{active:i.value==="beta"}]),onClick:f[2]||(f[2]=d=>i.value="beta")}," 测试版 ",2)]),p("div",Vm,[(L(!0),N($e,null,mn(a.value,(d,h)=>(L(),N("div",{key:h,class:oe(["version-item",{downloading:r.value.includes(h)}])},[p("div",qm,[p("div",zm,[d.beta?(L(),N("span",Km,"测试版")):(L(),N("span",Wm,"正式版")),p("span",Gm,[ue(V(d.version)+" ",1),d.fullVersion?(L(),N("span",Jm," ("+V(d.fullVersion)+") ",1)):ce("",!0)])]),d.url?(L(),N("span",Qm,[B(te,{icon:"mdi:link",class:"url-icon"}),ue(" "+V(d.url),1)])):ce("",!0)]),p("button",{class:"btn btn-primary btn-sm",onClick:v=>u(d,h),disabled:r.value.includes(h)},[r.value.includes(h)?(L(),N("div",Xm)):(L(),Ve(te,{key:0,icon:"mdi:download",class:"btn-icon"})),ue(" "+V(r.value.includes(h)?"下载中...":"下载"),1)],8,Zm)],2))),128))])]))]))}}),Mc=ot(Ym,[["__scopeId","data-v-9ccba531"]]),e0={class:"dialog-header"},t0={class:"dialog-title"},n0={class:"dialog-content"},s0=Fe({__name:"VersionSelectorDialog",props:{visible:{type:Boolean},app:{}},emits:["close"],setup(e,{emit:t}){const n=t,s=()=>{n("close")},o=r=>{r.target===r.currentTarget&&s()};return(r,i)=>e.visible&&e.app?(L(),N("div",{key:0,class:"dialog-overlay",onClick:o},[p("div",{class:"dialog-container",onClick:i[0]||(i[0]=jt(()=>{},["stop"]))},[p("div",e0,[p("h2",t0,V(e.app.name),1),p("button",{class:"dialog-close",onClick:s},[B(te,{icon:"mdi:close"})])]),p("div",n0,[e.app?(L(),Ve(Mc,{key:0,bundleId:e.app.bundleId},null,8,["bundleId"])):ce("",!0)]),p("div",{class:"dialog-footer"},[p("button",{class:"btn btn-secondary",onClick:s},"关闭")])])])):ce("",!0)}}),o0=ot(s0,[["__scopeId","data-v-e4ccb209"]]),r0={class:"app-list"},i0={class:"list-header"},l0={class:"header-content"},a0={class:"page-description"},c0={class:"list-controls"},u0={class:"search-container"},f0={key:0,class:"loading"},d0={key:1,class:"error"},p0={key:2,class:"empty"},h0={key:3,class:"apps-grid grid grid-3"},g0={class:"list-footer"},m0={class:"footer-stats"},v0={class:"stat-item"},y0={class:"stat-value"},b0={class:"stat-item"},_0={class:"stat-value"},w0=Fe({__name:"AppList",setup(e){const t=Pc(),n=Q([]),s=Q(!0),o=Q(""),r=Q(""),i=Q("name"),l=Q(!1),a=Q(null),u=ye(()=>{let b=n.value;if(r.value){const S=r.value.toLowerCase();b=b.filter(k=>k.name.toLowerCase().includes(S)||k.bundleId.toLowerCase().includes(S))}const y=t.query.filter;return y&&(b=b.filter(S=>{switch(y){case"supported":return S.supported&&!S.isInjected&&!S.needsUpgrade;case"injected":return S.isInjected;case"update":return S.needsUpgrade;case"unsupported":return!S.supported;case"store":return S.feedUrl&&S.feedUrl.length>0;default:return!0}})),[...b].sort((S,k)=>{switch(i.value){case"name":return S.name.localeCompare(k.name);case"bundleId":return S.bundleId.localeCompare(k.bundleId);case"injected":return(k.isInjected?1:0)-(S.isInjected?1:0);case"update":return(k.needsUpgrade?1:0)-(S.needsUpgrade?1:0);default:return 0}})}),c=()=>{switch(t.query.filter){case"injected":return"已注入应用";case"update":return"可更新应用";case"unsupported":return"不支持的应用";case"store":return"应用商店";default:return"所有应用"}},f=()=>{switch(t.query.filter){case"store":return"浏览和下载应用更新版本";case"injected":return"已成功注入的应用列表";case"update":return"有新版本可用的应用";case"unsupported":return"当前版本不支持的应用";default:return"系统中所有已安装的应用"}},d=async()=>{s.value=!0,o.value="";try{n.value=await Ae.getApps()}catch(b){console.error("加载应用列表失败:",b),o.value="加载应用列表失败,请检查服务是否运行"}finally{s.value=!1}},h=async b=>{console.log(`应用 ${b} 已更新`)},v=b=>{a.value=b,l.value=!0};return st(()=>{d()}),(b,y)=>(L(),N("div",r0,[p("div",i0,[p("div",l0,[p("h2",null,V(c()),1),p("p",a0,V(f()),1)]),p("div",c0,[p("div",u0,[Vt(p("input",{"onUpdate:modelValue":y[0]||(y[0]=x=>r.value=x),type:"text",placeholder:"搜索应用...",class:"search-input"},null,512),[[Ma,r.value]]),B(te,{icon:"mdi:magnify",class:"search-icon"})]),Vt(p("select",{"onUpdate:modelValue":y[1]||(y[1]=x=>i.value=x),class:"sort-filter"},[...y[3]||(y[3]=[p("option",{value:"name"},"按名称排序",-1),p("option",{value:"bundleId"},"按 Bundle ID",-1),p("option",{value:"injected"},"已注入优先",-1),p("option",{value:"update"},"可更新优先",-1)])],512),[[Da,i.value]])])]),s.value?(L(),N("div",f0,[...y[4]||(y[4]=[p("div",{class:"spinner"},null,-1),p("p",null,"加载应用中...",-1)])])):o.value?(L(),N("div",d0,[p("p",null,V(o.value),1),p("button",{onClick:d,class:"btn btn-primary"},"重试")])):u.value.length===0?(L(),N("div",p0,[B(te,{icon:"mdi:apps",class:"empty-icon"}),y[5]||(y[5]=p("p",null,"没有找到应用",-1)),y[6]||(y[6]=p("p",{class:"empty-hint"},"尝试调整搜索条件或筛选器",-1))])):(L(),N("div",h0,[(L(!0),N($e,null,mn(u.value,x=>(L(),Ve(Dm,{key:x.bundleId,app:x,"in-store-mode":W(t).query.filter==="store",onUpdated:h,onOpenVersionDialog:v},null,8,["app","in-store-mode"]))),128))])),p("div",g0,[p("div",m0,[p("span",v0,[y[7]||(y[7]=p("span",{class:"stat-label"},"总计:",-1)),p("span",y0,V(n.value.length),1)]),p("span",b0,[y[8]||(y[8]=p("span",{class:"stat-label"},"显示:",-1)),p("span",_0,V(u.value.length),1)])])]),a.value?(L(),Ve(o0,{key:4,visible:l.value,app:a.value,onClose:y[2]||(y[2]=x=>l.value=!1)},null,8,["visible","app"])):ce("",!0)]))}}),C0=ot(w0,[["__scopeId","data-v-7192034b"]]),S0={class:"app-detail"},x0={key:0,class:"loading"},E0={key:1,class:"error"},T0={key:2,class:"detail-content"},A0={class:"back-button"},R0={class:"app-info-card card"},k0={class:"app-header"},O0={class:"app-icon-large"},$0=["src","alt"],P0={key:1,class:"icon-loading-large"},I0={class:"app-meta"},L0={class:"app-title"},M0={class:"app-bundle-id"},D0={class:"app-version-info"},N0={class:"current-version"},F0={key:0,class:"latest-version"},U0={class:"app-status-section"},j0={class:"action-buttons"},B0=["disabled"],H0=["disabled"],V0={key:2,class:"unsupported-text"},q0=["disabled"],z0={class:"detail-grid"},K0={class:"detail-card card"},W0={class:"info-list"},G0={class:"info-item"},J0={class:"value"},Q0={class:"info-item"},Z0={class:"value"},X0={class:"info-item"},Y0={class:"value"},ev={class:"info-item"},tv={class:"value"},nv={class:"detail-card card"},sv={class:"info-list"},ov={class:"info-item"},rv={class:"value"},iv={class:"info-item"},lv={class:"info-item"},av={key:0,class:"info-item"},cv={class:"value supported-versions-list"},uv={key:0,class:"detail-card card versions-card"},fv=Fe({__name:"AppDetail",setup(e){const t=Pc(),n=$c(),s=Q(null),o=Q(!0),r=Q(""),i=t.params.bundleId,l=Q(!0),a=Q(!1),u=Q(!1),c=async()=>{o.value=!0,r.value="";try{s.value=await Ae.getApp(i)}catch(O){console.error("加载应用详情失败:",O),r.value="加载应用详情失败,请检查网络连接"}finally{o.value=!1}},{updating:f,modalVisible:d,modalTitle:h,logs:v,modalStatus:b,handleUpdate:y,handleReinstall:x,hideModal:S}=Lc({onRefresh:async()=>{await c()}}),k=()=>s.value?Ae.getAppIconUrl(s.value.bundleId):"",P=()=>{s.value&&y(s.value)},G=()=>{n.push("/")},I=()=>{var O,F,U;return(O=s.value)!=null&&O.supported?(F=s.value)!=null&&F.isInjected?"status-injected":(U=s.value)!=null&&U.needsUpgrade?"status-update":"status-supported":"status-unsupported"},M=()=>{var O,F,U;return(O=s.value)!=null&&O.supported?(F=s.value)!=null&&F.isInjected?"已注入":(U=s.value)!=null&&U.needsUpgrade?"可更新":"支持":"不支持"},A=()=>{l.value=!1,a.value=!0,u.value=!1},C=()=>{l.value=!1,a.value=!1,u.value=!0};return st(async()=>{var O;await c(),(O=s.value)!=null&&O.feedUrl&&loadVersions()}),(O,F)=>(L(),N("div",S0,[o.value?(L(),N("div",x0,[...F[1]||(F[1]=[p("div",{class:"spinner"},null,-1),p("p",null,"加载应用详情...",-1)])])):r.value?(L(),N("div",E0,[p("p",null,V(r.value),1),p("button",{onClick:c,class:"btn btn-primary"},"重试")])):s.value?(L(),N("div",T0,[p("div",A0,[p("button",{onClick:G,class:"btn btn-outline"},[B(te,{icon:"mdi:arrow-left",class:"btn-icon"}),F[2]||(F[2]=ue(" 返回应用列表 ",-1))])]),p("div",R0,[p("div",k0,[p("div",O0,[s.value?Vt((L(),N("img",{key:0,src:k(),alt:s.value.name,onLoad:A,onError:C},null,40,$0)),[[Ds,a.value]]):ce("",!0),l.value?(L(),N("div",P0,[...F[3]||(F[3]=[p("div",{class:"spinner"},null,-1)])])):ce("",!0),Vt(p("div",{class:"icon-placeholder-large"},V(s.value.name.charAt(0).toUpperCase()),513),[[Ds,u.value]])]),p("div",I0,[p("h1",L0,V(s.value.name),1),p("p",M0,V(s.value.bundleId),1),p("div",D0,[p("span",N0,"当前版本: "+V(s.value.version),1),s.value.latestVersion&&s.value.latestVersion!==s.value.version?(L(),N("span",F0," 最新版本: "+V(s.value.latestVersion),1)):ce("",!0)])]),p("div",U0,[p("span",{class:oe(["status-badge",I()])},V(M()),3),p("div",j0,[s.value.needsUpgrade&&s.value.supported?(L(),N("button",{key:0,class:"btn btn-warning",onClick:P,disabled:W(f)},[B(te,{icon:"mdi:update",class:"btn-icon"}),ue(" "+V(W(f)?"更新中...":"更新应用"),1)],8,B0)):!s.value.isInjected&&s.value.supported?(L(),N("button",{key:1,class:"btn btn-success",onClick:P,disabled:W(f)},[B(te,{icon:"mdi:download",class:"btn-icon"}),ue(" "+V(W(f)?"处理中...":"注入应用"),1)],8,H0)):s.value.supported?(L(),N("button",{key:3,class:"btn btn-secondary",onClick:F[0]||(F[0]=(...U)=>W(x)&&W(x)(...U)),disabled:W(f)},[B(te,{icon:"mdi:refresh",class:"btn-icon"}),ue(" "+V(W(f)?"处理中...":"重新安装"),1)],8,q0)):(L(),N("span",V0," 不支持此版本 "))])])])]),p("div",z0,[p("div",K0,[F[8]||(F[8]=p("h3",null,"基本信息",-1)),p("div",W0,[p("div",G0,[F[4]||(F[4]=p("span",{class:"label"},"应用路径:",-1)),p("span",J0,V(s.value.path),1)]),p("div",Q0,[F[5]||(F[5]=p("span",{class:"label"},"主执行文件:",-1)),p("span",Z0,V(s.value.mainExecutableName),1)]),p("div",X0,[F[6]||(F[6]=p("span",{class:"label"},"Dylib路径:",-1)),p("span",Y0,V(s.value.dylibPath||"未注入"),1)]),p("div",ev,[F[7]||(F[7]=p("span",{class:"label"},"注入版本:",-1)),p("span",tv,V(s.value.injectedVersion||"未注入"),1)])])]),p("div",nv,[F[13]||(F[13]=p("h3",null,"更新信息",-1)),p("div",sv,[p("div",ov,[F[9]||(F[9]=p("span",{class:"label"},"更新源:",-1)),p("span",rv,V(s.value.feedUrl||"未配置"),1)]),p("div",iv,[F[10]||(F[10]=p("span",{class:"label"},"需要更新:",-1)),p("span",{class:oe(["value",{"text-warning":s.value.needsUpgrade}])},V(s.value.needsUpgrade?"是":"否"),3)]),p("div",lv,[F[11]||(F[11]=p("span",{class:"label"},"支持状态:",-1)),p("span",{class:oe(["value",{"text-success":s.value.supported,"text-error":!s.value.supported}])},V(s.value.supported?"支持":"不支持"),3)]),s.value.supportVersion&&s.value.supportVersion.length>0?(L(),N("div",av,[F[12]||(F[12]=p("span",{class:"label"},"支持版本:",-1)),p("span",cv,V(s.value.supportVersion.join(", ")),1)])):ce("",!0)])]),s.value.feedUrl?(L(),N("div",uv,[F[14]||(F[14]=p("h3",null,"可用版本",-1)),B(Mc,{bundleId:s.value.bundleId},null,8,["bundleId"])])):ce("",!0)]),B(Ic,{visible:W(d),title:W(h),logs:W(v),loading:W(f),status:W(b),"can-close":W(b)!=="loading",onClose:W(S)},null,8,["visible","title","logs","loading","status","can-close","onClose"])])):ce("",!0)]))}}),dv=ot(fv,[["__scopeId","data-v-826f6b9e"]]);function nr(e){if(e===0)return"0 B";const t=1024,n=["B","KB","MB","GB","TB"],s=Math.floor(Math.log(e)/Math.log(t));return`${(e/Math.pow(t,s)).toFixed(2)} ${n[s]}`}function pv(e){return e<=0?"--":`${nr(e)}/s`}function hv(e){if(e<=0)return"完成";if(e>=3600){const t=Math.floor(e/3600),n=Math.floor(e%3600/60);return`${t}小时${n}分钟`}if(e>=60){const t=Math.floor(e/60),n=Math.floor(e%60);return`${t}分${n}秒`}return`${Math.floor(e)}秒`}function pl(e){return e<0?"0.00%":e>=100?"100.00%":`${e.toFixed(2)}%`}const gv={class:"download-manager"},mv={class:"page-header"},vv={class:"header-actions"},yv={class:"stats-cards"},bv={class:"stat-card"},_v={class:"stat-icon downloading"},wv={class:"stat-info"},Cv={class:"stat-value"},Sv={class:"stat-card"},xv={class:"stat-icon completed"},Ev={class:"stat-info"},Tv={class:"stat-value"},Av={class:"stat-card"},Rv={class:"stat-icon paused"},kv={class:"stat-info"},Ov={class:"stat-value"},$v={class:"filter-bar"},Pv=["onClick"],Iv={class:"filter-count"},Lv={class:"download-list"},Mv={key:0,class:"empty-state"},Dv={class:"item-header"},Nv={class:"item-title"},Fv={class:"file-name"},Uv={class:"item-progress"},jv={class:"progress-bar"},Bv={class:"progress-info"},Hv={class:"progress-text"},Vv={class:"progress-stats"},qv={key:0,class:"item-speed-info"},zv={class:"speed-item"},Kv={class:"info-value"},Wv={class:"speed-item"},Gv={class:"info-value"},Jv={key:1,class:"item-error"},Qv={class:"item-actions"},Zv=["onClick"],Xv=["onClick"],Yv=["onClick"],e2=["onClick"],t2=["onClick"],n2=Fe({__name:"DownloadManager",setup(e){const t=Q([]),n=Q("all");let s=null;const o=Q(!1),r=Q({title:"",message:"",type:"warning",confirmText:"确认",cancelText:"取消"});let i=null;const l=[{label:"全部",value:"all"},{label:"下载中",value:"downloading"},{label:"已完成",value:"completed"},{label:"已暂停",value:"paused"},{label:"失败",value:"error"}],a=ye(()=>n.value==="all"?t.value:t.value.filter(A=>A.status===n.value)),u=ye(()=>t.value.filter(A=>A.status==="downloading").length),c=ye(()=>t.value.filter(A=>A.status==="completed").length),f=ye(()=>t.value.filter(A=>A.status==="paused").length),d=A=>A==="all"?t.value.length:t.value.filter(C=>C.status===A).length,h=A=>({pending:"等待中",downloading:"下载中",paused:"已暂停",completed:"已完成",error:"失败"})[A]||A,v=async()=>{try{t.value=await Ae.getAllDownloads()}catch(A){console.error("加载下载列表失败:",A)}},b=()=>{v()},y=async A=>{try{await Ae.pauseDownload(A),await v()}catch(C){console.error("暂停下载失败:",C)}},x=async A=>{try{await Ae.resumeDownload(A),await v()}catch(C){console.error("继续下载失败:",C)}},S=(A,C,O="warning")=>new Promise(F=>{r.value={title:A,message:C,type:O,confirmText:"确认",cancelText:"取消"},o.value=!0,i=F}),k=()=>{i&&(i(!0),i=null)},P=()=>{i&&(i(!1),i=null)},G=async A=>{if(await S("删除下载任务","确定要删除这个下载任务吗?","danger"))try{await Ae.deleteDownload(A),await v()}catch(O){console.error("删除下载失败:",O)}},I=async A=>{if(await S("重新下载",`确定要重新下载 "${A.fileName}" 吗?这将删除并重新下载该文件。`,"warning"))try{await Ae.deleteDownload(A.id),await Ae.startDownload(A.url,A.fileName),await v()}catch(O){console.error("重新下载失败:",O)}},M=async A=>{try{await Ae.openDownloadFile(A)}catch(C){console.error("打开文件失败:",C)}};return st(()=>{v(),s=setInterval(v,1e3)}),ts(()=>{s&&clearInterval(s)}),(A,C)=>(L(),N("div",gv,[p("div",mv,[C[2]||(C[2]=p("h2",null,"下载管理",-1)),p("div",vv,[p("button",{class:"btn btn-secondary btn-sm",onClick:b},[B(te,{icon:"mdi:refresh",class:"btn-icon"}),C[1]||(C[1]=ue(" 刷新 ",-1))])])]),p("div",yv,[p("div",bv,[p("div",_v,[B(te,{icon:"mdi:download"})]),p("div",wv,[p("div",Cv,V(u.value),1)]),C[3]||(C[3]=p("div",{class:"stat-label"},"下载中",-1))]),p("div",Sv,[p("div",xv,[B(te,{icon:"mdi:check-circle"})]),p("div",Ev,[p("div",Tv,V(c.value),1)]),C[4]||(C[4]=p("div",{class:"stat-label"},"已完成",-1))]),p("div",Av,[p("div",Rv,[B(te,{icon:"mdi:pause-circle"})]),p("div",kv,[p("div",Ov,V(f.value),1)]),C[5]||(C[5]=p("div",{class:"stat-label"},"已暂停",-1))])]),p("div",$v,[(L(),N($e,null,mn(l,O=>p("button",{key:O.value,class:oe(["filter-btn",{active:n.value===O.value}]),onClick:F=>n.value=O.value},[ue(V(O.label)+" ",1),p("span",Iv,V(d(O.value)),1)],10,Pv)),64))]),p("div",Lv,[a.value.length===0?(L(),N("div",Mv,[B(te,{icon:"mdi:download-circle",class:"empty-icon"}),C[6]||(C[6]=p("p",{class:"empty-text"},"暂无下载任务",-1))])):ce("",!0),(L(!0),N($e,null,mn(a.value,O=>(L(),N("div",{key:O.id,class:"download-item card"},[p("div",Dv,[p("div",Nv,[B(te,{icon:"mdi:file",class:"file-icon"}),p("span",Fv,V(O.fileName),1)]),p("div",{class:oe(["item-status",`status-${O.status}`])},V(h(O.status)),3)]),p("div",Uv,[p("div",jv,[p("div",{class:oe(["progress-fill",{downloading:O.status==="downloading"}]),style:Ks({width:W(pl)(O.progress*100)})},null,6)]),p("div",Bv,[p("span",Hv,V(W(pl)(O.progress*100)),1),p("span",Vv,V(W(nr)(O.downloadedSize))+" / "+V(W(nr)(O.totalSize)),1)])]),O.status==="downloading"?(L(),N("div",qv,[p("div",zv,[B(te,{icon:"mdi:speedometer",class:"info-icon"}),C[7]||(C[7]=p("span",{class:"info-label"},"速度:",-1)),p("span",Kv,V(W(pv)(O.downloadSpeed)),1)]),p("div",Wv,[B(te,{icon:"mdi:timer",class:"info-icon"}),C[8]||(C[8]=p("span",{class:"info-label"},"剩余:",-1)),p("span",Gv,V(W(hv)(O.remainingTime)),1)])])):ce("",!0),O.errorMsg?(L(),N("div",Jv,[B(te,{icon:"mdi:alert-circle",class:"error-icon"}),ue(" "+V(O.errorMsg),1)])):ce("",!0),p("div",Qv,[O.status==="downloading"?(L(),N("button",{key:0,class:"btn btn-warning btn-sm",onClick:F=>y(O.id)},[B(te,{icon:"mdi:pause",class:"btn-icon"}),C[9]||(C[9]=ue(" 暂停 ",-1))],8,Zv)):ce("",!0),O.status==="paused"?(L(),N("button",{key:1,class:"btn btn-success btn-sm",onClick:F=>x(O.id)},[B(te,{icon:"mdi:play",class:"btn-icon"}),C[10]||(C[10]=ue(" 继续 ",-1))],8,Xv)):ce("",!0),O.status==="completed"?(L(),N("button",{key:2,class:"btn btn-primary btn-sm",onClick:F=>M(O.id)},[B(te,{icon:"mdi:folder-open",class:"btn-icon"}),C[11]||(C[11]=ue(" 打开 ",-1))],8,Yv)):ce("",!0),O.status==="completed"||O.status==="error"?(L(),N("button",{key:3,class:"btn btn-secondary btn-sm",onClick:F=>I(O)},[B(te,{icon:"mdi:reload",class:"btn-icon"}),C[12]||(C[12]=ue(" 重新下载 ",-1))],8,e2)):ce("",!0),p("button",{class:"btn btn-danger btn-sm",onClick:F=>G(O.id)},[B(te,{icon:"mdi:delete",class:"btn-icon"}),C[13]||(C[13]=ue(" 删除 ",-1))],8,t2)])]))),128))]),B(yc,{visible:o.value,title:r.value.title,message:r.value.message,type:r.value.type,"confirm-text":r.value.confirmText,"cancel-text":r.value.cancelText,onConfirm:k,onCancel:P,"onUpdate:visible":C[0]||(C[0]=O=>o.value=O)},null,8,["visible","title","message","type","confirm-text","cancel-text"])]))}}),s2=ot(n2,[["__scopeId","data-v-9ada58e9"]]),o2=[{path:"/",name:"Home",component:C0},{path:"/app/:bundleId",name:"AppDetail",component:dv,props:!0},{path:"/downloads",name:"DownloadManager",component:s2}],r2=sm({history:Pg(),routes:o2}),Rr=sd(tg);Rr.use(ld());Rr.use(r2);Rr.mount("#app"); diff --git a/frontend/dist/assets/index-ClDda12q.css b/frontend/dist/assets/index-ClDda12q.css deleted file mode 100644 index db79c3b..0000000 --- a/frontend/dist/assets/index-ClDda12q.css +++ /dev/null @@ -1 +0,0 @@ -@charset "UTF-8";.splash-screen[data-v-5702a337]{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:10000;overflow:hidden}.black-background[data-v-5702a337]{position:absolute;width:100%;height:100%;background:#000;z-index:1}.white-background[data-v-5702a337]{position:absolute;width:100%;height:100%;background:#fff;z-index:15;opacity:0;transition:opacity 1.5s cubic-bezier(.4,0,.2,1)}.white-background.visible[data-v-5702a337]{opacity:1}.splash-screen.stage-7 .white-background[data-v-5702a337]{opacity:0;transition:opacity 1.5s cubic-bezier(.4,0,.2,1)}.theme-overlay[data-v-5702a337]{position:absolute;width:100%;height:100%;z-index:16;opacity:0;transition:opacity 1.5s cubic-bezier(.4,0,.2,1)}.theme-overlay.visible[data-v-5702a337]{opacity:1}.theme-overlay.dark-theme[data-v-5702a337]{background:#000}.theme-overlay[data-v-5702a337]:not(.dark-theme){background:#fff}.gradient-background[data-v-5702a337]{position:absolute;width:100%;height:100%;z-index:2;opacity:0;transition:opacity 1.5s cubic-bezier(.4,0,.2,1)}.gradient-background.visible[data-v-5702a337]{opacity:1}.gradient-background.hidden[data-v-5702a337]{opacity:0!important}.blur-gradient[data-v-5702a337]{position:absolute;border-radius:50%;filter:blur(60px);will-change:transform}.blur-gradient.gradient-1[data-v-5702a337]{width:500px;height:500px;background:radial-gradient(circle,rgba(139,92,246,.7) 0%,rgba(139,92,246,.4) 40%,rgba(139,92,246,.15) 60%,transparent 80%);top:-150px;left:-150px;animation:float-5702a337 20s ease-in-out infinite;will-change:transform,opacity}.blur-gradient.gradient-2[data-v-5702a337]{width:400px;height:400px;background:radial-gradient(circle,rgba(167,139,250,.6) 0%,rgba(167,139,250,.35) 40%,rgba(167,139,250,.12) 60%,transparent 80%);bottom:-100px;right:-100px;animation:float-5702a337 25s ease-in-out infinite reverse;will-change:transform,opacity}.blur-gradient.gradient-3[data-v-5702a337]{width:350px;height:350px;background:radial-gradient(circle,rgba(124,58,237,.6) 0%,rgba(124,58,237,.35) 40%,rgba(124,58,237,.12) 60%,transparent 80%);top:50%;left:50%;transform:translate(-50%,-50%);animation:float-5702a337 22s ease-in-out infinite;will-change:transform,opacity}.glass-layer[data-v-5702a337]{position:absolute;width:100%;height:100%;background:linear-gradient(135deg,#ffffff0d,#ffffff05,#ffffff03);opacity:0;transition:opacity 1s ease;z-index:3;will-change:opacity}.glass-layer.visible[data-v-5702a337]{opacity:1}.splash-content[data-v-5702a337]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10;text-align:center;display:flex;flex-direction:column;align-items:center;gap:2rem}.text-mask[data-v-5702a337]{overflow:hidden}.author-name[data-v-5702a337]{font-size:4.5rem;font-weight:900;background:linear-gradient(135deg,#fffffff2,#ffffffb3);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0;opacity:0;transform:translateY(50px);filter:blur(10px);transition:all 1.2s cubic-bezier(.16,1,.3,1);text-shadow:0 0 40px rgba(255,255,255,.3);letter-spacing:-.02em}.author-name.reveal[data-v-5702a337]{opacity:1;transform:translateY(0);filter:blur(0px)}.subtitle[data-v-5702a337]{font-size:1.8rem;color:#fffc;margin:0;display:flex;gap:1.5rem;font-weight:300;letter-spacing:.3em;opacity:0;transform:translateY(20px);transition:all 1s cubic-bezier(.16,1,.3,1)}.subtitle.reveal[data-v-5702a337]{opacity:1;transform:translateY(0)}.word[data-v-5702a337]{display:inline-block;opacity:0;transform:translateY(10px);transition:all .8s cubic-bezier(.16,1,.3,1)}.subtitle.reveal .word[data-v-5702a337]:nth-child(1){opacity:1;transform:translateY(0);transition-delay:.1s}.subtitle.reveal .word[data-v-5702a337]:nth-child(2){opacity:1;transform:translateY(0);transition-delay:.3s}.white-transition[data-v-5702a337]{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom,transparent 0%,rgba(255,255,255,.95) 100%);opacity:0;z-index:20;transition:opacity 1.5s cubic-bezier(.4,0,.2,1)}.white-transition.visible[data-v-5702a337]{opacity:1;animation:whiteFadeIn-5702a337 1.5s cubic-bezier(.4,0,.2,1) forwards}@keyframes float-5702a337{0%,to{transform:translate(0)}50%{transform:translate(30px,-30px)}}@keyframes whiteFadeIn-5702a337{0%{opacity:0}to{opacity:1;background:#fff}}.yuanshen-logo[data-v-5702a337]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:25;width:365px;height:280px;opacity:0;transition:opacity 1.5s cubic-bezier(.4,0,.2,1)}.yuanshen-logo.reveal[data-v-5702a337]{opacity:1}.yuanshen-logo.fadeout[data-v-5702a337]{opacity:0;transition:opacity 1.5s cubic-bezier(.4,0,.2,1)}.yuanshen-logo svg[data-v-5702a337]{width:100%;height:100%;display:block}.hidden[data-v-5702a337]{opacity:0;transition:opacity 1.5s cubic-bezier(.4,0,.2,1)}.confirm-dialog-overlay[data-v-06d5569c]{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-lg)}.confirm-dialog[data-v-06d5569c]{background:var(--bg-card);border-radius:var(--radius-xl);padding:var(--spacing-xl);max-width:480px;width:100%;box-shadow:var(--shadow-lg);position:relative}.confirm-dialog[data-v-06d5569c]:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;border-radius:var(--radius-xl) var(--radius-xl) 0 0}.confirm-dialog.type-info[data-v-06d5569c]:before{background:var(--info-color)}.confirm-dialog.type-warning[data-v-06d5569c]:before{background:var(--warning-color)}.confirm-dialog.type-danger[data-v-06d5569c]:before{background:var(--error-color)}.dialog-icon[data-v-06d5569c]{display:flex;justify-content:center;margin-bottom:var(--spacing-md);font-size:48px}.dialog-icon[data-v-06d5569c] span{display:block}.type-info .dialog-icon[data-v-06d5569c]{color:var(--info-color)}.type-warning .dialog-icon[data-v-06d5569c]{color:var(--warning-color)}.type-danger .dialog-icon[data-v-06d5569c]{color:var(--error-color)}.dialog-title[data-v-06d5569c]{font-size:1.5rem;font-weight:600;color:var(--text-primary);text-align:center;margin-bottom:var(--spacing-md)}.dialog-message[data-v-06d5569c]{font-size:1rem;color:var(--text-secondary);text-align:center;line-height:1.6;margin-bottom:var(--spacing-xl)}.dialog-actions[data-v-06d5569c]{display:flex;gap:var(--spacing-md);justify-content:flex-end}.dialog-actions .btn[data-v-06d5569c]{min-width:100px;padding:var(--spacing-sm) var(--spacing-lg)}.fade-enter-active[data-v-06d5569c],.fade-leave-active[data-v-06d5569c]{transition:opacity .2s ease}.fade-enter-from[data-v-06d5569c],.fade-leave-to[data-v-06d5569c]{opacity:0}.fade-enter-active .confirm-dialog[data-v-06d5569c],.fade-leave-active .confirm-dialog[data-v-06d5569c]{transition:transform .2s ease,opacity .2s ease}.fade-enter-from .confirm-dialog[data-v-06d5569c],.fade-leave-to .confirm-dialog[data-v-06d5569c]{transform:scale(.95) translateY(-10px);opacity:0}@media (max-width: 480px){.confirm-dialog[data-v-06d5569c]{padding:var(--spacing-lg)}.dialog-actions[data-v-06d5569c]{flex-direction:column}.dialog-actions .btn[data-v-06d5569c]{width:100%}}.setup-wizard[data-v-68f4ce85]{position:fixed;top:0;left:0;width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;background:#0a0a0a;overflow:hidden}.white-overlay[data-v-68f4ce85]{position:absolute;width:100%;height:100%;background:#fff;z-index:5;opacity:1;transition:opacity 1.8s cubic-bezier(.4,0,.2,1);pointer-events:none}.white-overlay.fade-out[data-v-68f4ce85]{opacity:0}.starfield-layer[data-v-68f4ce85]{position:absolute;width:100%;height:100%;background-image:radial-gradient(2px 2px at 30% 40%,rgba(255,255,255,.4),transparent),radial-gradient(2px 2px at 70% 60%,rgba(255,255,255,.3),transparent),radial-gradient(1px 1px at 50% 50%,rgba(255,255,255,.35),transparent);background-size:100% 100%;filter:blur(.5px);opacity:0;transition:opacity 2s ease .5s;z-index:2}.starfield-layer.visible[data-v-68f4ce85]{opacity:.4}.glass-blur-layer[data-v-68f4ce85]{position:absolute;width:100%;height:100%;backdrop-filter:blur(80px);-webkit-backdrop-filter:blur(80px);opacity:0;transition:opacity 2s ease .8s;z-index:3;pointer-events:none}.glass-blur-layer.visible[data-v-68f4ce85]{opacity:1}@keyframes starDrift-68f4ce85{0%{background-position:0% 0%}to{background-position:100% 100%}}.wizard-background[data-v-68f4ce85]{position:absolute;width:100%;height:100%;overflow:hidden;z-index:1}.gradient-orb[data-v-68f4ce85]{position:absolute;border-radius:50%;will-change:transform,opacity}.gradient-orb.orb-1[data-v-68f4ce85]{width:550px;height:550px;background:radial-gradient(circle,#a855f759,#7c3aed40);top:5%;left:5%;animation:float-68f4ce85 15s ease-in-out infinite,breathe-68f4ce85 6s ease-in-out infinite}.gradient-orb.orb-2[data-v-68f4ce85]{width:520px;height:520px;background:radial-gradient(circle,#c084fc52,#a855f738);bottom:10%;right:8%;animation:float-68f4ce85 18s ease-in-out infinite reverse,breathe-68f4ce85 7s ease-in-out infinite .5s}.gradient-orb.orb-3[data-v-68f4ce85]{width:480px;height:480px;background:radial-gradient(circle,#e879f94d,#c084fc33);top:50%;left:50%;transform:translate(-50%,-50%);animation:float-center-68f4ce85 20s ease-in-out infinite,breathe-68f4ce85 8s ease-in-out infinite 1s}.gradient-orb.orb-4[data-v-68f4ce85]{width:500px;height:500px;background:radial-gradient(circle,#3b82f654,#2563eb3b);top:55%;right:25%;animation:float-68f4ce85 16s ease-in-out infinite,breathe-68f4ce85 6.5s ease-in-out infinite .3s}.gradient-orb.orb-5[data-v-68f4ce85]{width:460px;height:460px;background:radial-gradient(circle,#f472b64f,#ec489936);bottom:5%;left:20%;animation:float-68f4ce85 17s ease-in-out infinite reverse,breathe-68f4ce85 7.5s ease-in-out infinite .7s}.gradient-orb.orb-6[data-v-68f4ce85]{width:490px;height:490px;background:radial-gradient(circle,#34d39952,#10b98138);top:15%;right:5%;animation:float-68f4ce85 19s ease-in-out infinite,breathe-68f4ce85 6.8s ease-in-out infinite 1.2s}.gradient-orb.orb-7[data-v-68f4ce85]{width:440px;height:440px;background:radial-gradient(circle,#fb923c4d,#f9731633);top:30%;left:15%;animation:float-68f4ce85 14s ease-in-out infinite,breathe-68f4ce85 5.5s ease-in-out infinite 1.5s}.gradient-orb.orb-8[data-v-68f4ce85]{width:470px;height:470px;background:radial-gradient(circle,#38bdf84f,#0ea5e936);bottom:25%;right:35%;animation:float-68f4ce85 21s ease-in-out infinite reverse,breathe-68f4ce85 6.2s ease-in-out infinite .8s}.gradient-orb.orb-9[data-v-68f4ce85]{width:510px;height:510px;background:radial-gradient(circle,#a78bfa54,#8b5cf63b);top:70%;left:40%;animation:float-68f4ce85 22s ease-in-out infinite,breathe-68f4ce85 7.8s ease-in-out infinite 1.8s}.gradient-orb.orb-10[data-v-68f4ce85]{width:450px;height:450px;background:radial-gradient(circle,#f871714d,#ef444433);top:40%;right:50%;animation:float-68f4ce85 13s ease-in-out infinite reverse,breathe-68f4ce85 5.8s ease-in-out infinite .4s}.gradient-orb.orb-11[data-v-68f4ce85]{width:530px;height:530px;background:radial-gradient(circle,#86efac52,#4ade8038);bottom:35%;left:8%;animation:float-68f4ce85 23s ease-in-out infinite,breathe-68f4ce85 8.2s ease-in-out infinite 2s}.gradient-orb.orb-12[data-v-68f4ce85]{width:420px;height:420px;background:radial-gradient(circle,#fdba744a,#fb923c30);top:8%;left:45%;animation:float-68f4ce85 16.5s ease-in-out infinite reverse,breathe-68f4ce85 6.3s ease-in-out infinite 1.1s}.gradient-orb.orb-13[data-v-68f4ce85]{width:495px;height:495px;background:radial-gradient(circle,#c4b5fd4f,#a78bfa36);bottom:50%;right:12%;animation:float-68f4ce85 19.5s ease-in-out infinite,breathe-68f4ce85 7.2s ease-in-out infinite .9s}.gradient-orb.orb-14[data-v-68f4ce85]{width:465px;height:465px;background:radial-gradient(circle,#fbcfe847,#f472b62e);top:25%;left:70%;animation:float-68f4ce85 14.5s ease-in-out infinite reverse,breathe-68f4ce85 5.7s ease-in-out infinite 1.4s}.gradient-orb.orb-15[data-v-68f4ce85]{width:505px;height:505px;background:radial-gradient(circle,#2dd4bf52,#14b8a638);bottom:15%;right:55%;animation:float-68f4ce85 24s ease-in-out infinite,breathe-68f4ce85 8.5s ease-in-out infinite 2.2s}@keyframes float-68f4ce85{0%{transform:translate(0)}25%{transform:translate(250px,-200px)}50%{transform:translate(-180px,220px)}75%{transform:translate(200px,120px)}to{transform:translate(0)}}@keyframes float-center-68f4ce85{0%{transform:translate(-50%,-50%) translate(0)}25%{transform:translate(-50%,-50%) translate(250px,-200px)}50%{transform:translate(-50%,-50%) translate(-180px,220px)}75%{transform:translate(-50%,-50%) translate(200px,120px)}to{transform:translate(-50%,-50%) translate(0)}}@keyframes breathe-68f4ce85{0%,to{opacity:.36}50%{opacity:.72}}@keyframes cardSlideIn-68f4ce85{0%{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.wizard-card[data-v-68f4ce85]{position:relative;z-index:10;background:linear-gradient(135deg,#14141499,#0a0a0a80,#1414148c);border-radius:24px;padding:3.5rem;max-width:620px;width:90%;box-shadow:0 20px 60px #0006,0 0 0 1px #fff3,inset 0 1px #ffffff26,inset 0 -1px #ffffff0d;border:1px solid rgba(255,255,255,.2);animation:cardSlideIn-68f4ce85 .8s cubic-bezier(.16,1,.3,1);will-change:opacity}.wizard-card[data-v-68f4ce85]:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);border-radius:24px 24px 0 0}.wizard-header[data-v-68f4ce85]{text-align:center;margin-bottom:2rem}.logo-container[data-v-68f4ce85]{margin-bottom:1rem}.logo-icon[data-v-68f4ce85]{font-size:3.5rem;color:var(--primary-color, #667eea)}.wizard-title[data-v-68f4ce85]{font-size:2.2rem;font-weight:800;margin:.5rem 0;background:linear-gradient(135deg,#fffffff2,#ffffffb3);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.01em}.wizard-subtitle[data-v-68f4ce85]{color:#fff9;margin:0;font-weight:300;letter-spacing:.05em}.steps-indicator[data-v-68f4ce85]{display:flex;align-items:center;justify-content:center;margin:2rem 0;gap:1rem}.step[data-v-68f4ce85]{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:#fff6;transition:all .3s}.step.active[data-v-68f4ce85]{color:#ffffffe6}.step.active .step-circle[data-v-68f4ce85]{background:linear-gradient(135deg,#8b5cf6,#6b46c1);color:#fff;box-shadow:0 4px 15px #8b5cf64d}.step-circle[data-v-68f4ce85]{width:44px;height:44px;border-radius:50%;background:#ffffff14;display:flex;align-items:center;justify-content:center;font-weight:600;transition:all .3s;border:1px solid rgba(255,255,255,.1)}.step-line[data-v-68f4ce85]{width:60px;height:2px;background:#ffffff1a}.wizard-content[data-v-68f4ce85]{min-height:300px}.setting-group[data-v-68f4ce85]{margin-bottom:2rem}.setting-label[data-v-68f4ce85]{display:flex;align-items:center;gap:.5rem;font-weight:600;color:#ffffffe6;margin-bottom:.75rem}.path-input-group[data-v-68f4ce85]{display:flex;gap:.5rem}.path-input[data-v-68f4ce85]{flex:1;padding:.75rem 1rem;border:2px solid rgba(255,255,255,.1);background:#ffffff0d;color:#ffffffe6;border-radius:8px;font-size:1rem;transition:all .3s}.path-input[data-v-68f4ce85]:focus{outline:none;border-color:#8b5cf6;background:#ffffff14;box-shadow:0 0 0 3px #8b5cf61a}.path-input[data-v-68f4ce85]::placeholder{color:#ffffff4d}.browse-btn[data-v-68f4ce85]{padding:.75rem 1.5rem;background:var(--primary-color, #667eea);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:background .3s}.browse-btn[data-v-68f4ce85]:hover{background:var(--primary-hover, #5568d3)}.setting-hint[data-v-68f4ce85]{color:#999;font-size:.875rem;margin:.5rem 0 0}.setting-error[data-v-68f4ce85]{color:#ef4444;font-size:.875rem;margin:.5rem 0 0}.quick-options[data-v-68f4ce85]{margin-top:2rem}.quick-label[data-v-68f4ce85]{font-weight:600;color:#666;margin-bottom:1rem}.quick-option[data-v-68f4ce85]{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;margin:.5rem;background:#f5f5f5;border:2px solid transparent;border-radius:8px;cursor:pointer;transition:all .3s}.quick-option[data-v-68f4ce85]:hover{border-color:var(--primary-color, #667eea);background:#fff}.setting-select[data-v-68f4ce85]{width:100%;padding:.75rem 1rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem}.setting-select[data-v-68f4ce85]:focus{outline:none;border-color:var(--primary-color, #667eea)}.setting-toggle[data-v-68f4ce85]{display:flex;align-items:center;gap:1rem;cursor:pointer}.toggle-slider[data-v-68f4ce85]{position:relative;width:50px;height:26px;background:#ccc;border-radius:26px;transition:background .3s}.toggle-slider[data-v-68f4ce85]:after{content:"";position:absolute;width:22px;height:22px;background:#fff;border-radius:50%;top:2px;left:2px;transition:transform .3s}input:checked+.toggle-slider[data-v-68f4ce85]{background:var(--primary-color, #667eea)}input:checked+.toggle-slider[data-v-68f4ce85]:after{transform:translate(24px)}.toggle-label[data-v-68f4ce85]{display:flex;align-items:center;gap:.5rem;font-weight:500}.wizard-actions[data-v-68f4ce85]{display:flex;justify-content:space-between;gap:1rem;margin-top:2rem}.btn[data-v-68f4ce85]{display:flex;align-items:center;gap:.5rem;padding:1rem 2rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s}.btn[data-v-68f4ce85]:disabled{opacity:.5;cursor:not-allowed}.btn-secondary[data-v-68f4ce85]{background:#f5f5f5;color:#333}.btn-secondary[data-v-68f4ce85]:hover:not(:disabled){background:#e0e0e0}.btn-primary[data-v-68f4ce85]{background:var(--primary-color, #667eea);color:#fff}.btn-primary[data-v-68f4ce85]:hover:not(:disabled){background:var(--primary-hover, #5568d3)}.btn-finish[data-v-68f4ce85]{background:linear-gradient(135deg,#43e97b,#38f9d7);color:#fff}.btn-finish[data-v-68f4ce85]:hover:not(:disabled){transform:scale(1.05)}.error-page[data-v-3fb3f07d]{position:fixed;top:0;left:0;width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;background:#0a0a0a;overflow-y:auto;overflow-x:hidden;padding:2rem 0}.error-page.light-theme[data-v-3fb3f07d]{background:#f5f5f5}.error-page.light-theme .error-title[data-v-3fb3f07d]{background:none!important;-webkit-background-clip:unset!important;-webkit-text-fill-color:#ef4444!important;background-clip:unset!important;color:#ef4444!important}.error-page.light-theme .error-description[data-v-3fb3f07d]{color:#000000b3}.error-page.light-theme .error-card[data-v-3fb3f07d]{background:#ffffff59;backdrop-filter:blur(60px);-webkit-backdrop-filter:blur(60px);box-shadow:0 20px 60px #0000001a,0 0 0 1px #00000014;border:1px solid rgba(0,0,0,.15)}.error-page.light-theme .error-details[data-v-3fb3f07d]{background:#ef44440d;border:1px solid rgba(239,68,68,.15)}.error-page.light-theme .detail-label[data-v-3fb3f07d]{color:#ef4444e6}.error-page.light-theme .detail-value[data-v-3fb3f07d]{color:#000c}.error-page.light-theme .retry-button[data-v-3fb3f07d]{box-shadow:0 8px 20px #ef444433}.error-page.light-theme .retry-button[data-v-3fb3f07d]:hover{box-shadow:0 12px 30px #ef44444d}.error-page.light-theme .tech-toggle[data-v-3fb3f07d]{color:#00000080}.error-page.light-theme .tech-toggle[data-v-3fb3f07d]:hover{color:#000c;background:#0000000d}.error-page.light-theme .tech-content[data-v-3fb3f07d]{background:#0000000d}.error-page.light-theme .tech-label[data-v-3fb3f07d]{color:#00000080}.error-page.light-theme .tech-value[data-v-3fb3f07d]{color:#000000e6;background:#0000000d}.error-page.light-theme .gradient-orb.orb-1[data-v-3fb3f07d]{background:radial-gradient(circle,rgba(239,68,68,.08) 0%,rgba(239,68,68,.05) 30%,transparent 70%)}.error-page.light-theme .gradient-orb.orb-2[data-v-3fb3f07d]{background:radial-gradient(circle,rgba(251,146,60,.08) 0%,rgba(251,146,60,.05) 30%,transparent 70%)}.error-page.light-theme .gradient-orb.orb-3[data-v-3fb3f07d]{background:radial-gradient(circle,rgba(139,92,246,.06) 0%,rgba(139,92,246,.04) 30%,transparent 70%)}.error-page.light-theme .gradient-orb.orb-4[data-v-3fb3f07d]{background:radial-gradient(circle,rgba(236,72,153,.07) 0%,rgba(236,72,153,.04) 30%,transparent 70%)}.error-page.light-theme .gradient-orb.orb-5[data-v-3fb3f07d]{background:radial-gradient(circle,rgba(14,165,233,.07) 0%,rgba(14,165,233,.04) 30%,transparent 70%)}.error-page.light-theme .gradient-orb.orb-6[data-v-3fb3f07d]{background:radial-gradient(circle,rgba(249,115,22,.07) 0%,rgba(249,115,22,.04) 30%,transparent 70%)}.background-layer[data-v-3fb3f07d]{position:absolute;width:100%;height:100%;overflow:hidden;z-index:1}.gradient-orb[data-v-3fb3f07d]{position:absolute;border-radius:50%;filter:blur(50px);will-change:transform,opacity}.gradient-orb.orb-1[data-v-3fb3f07d]{width:550px;height:550px;background:radial-gradient(circle,rgba(239,68,68,.5) 0%,rgba(239,68,68,.25) 30%,transparent 70%);top:30%;left:25%;animation:float-3fb3f07d 15s ease-in-out infinite,breathe-3fb3f07d 6s ease-in-out infinite}.gradient-orb.orb-2[data-v-3fb3f07d]{width:500px;height:500px;background:radial-gradient(circle,rgba(251,146,60,.45) 0%,rgba(251,146,60,.22) 30%,transparent 70%);bottom:25%;right:20%;animation:float-3fb3f07d 18s ease-in-out infinite reverse,breathe-3fb3f07d 7s ease-in-out infinite .5s}.gradient-orb.orb-3[data-v-3fb3f07d]{width:480px;height:480px;background:radial-gradient(circle,rgba(139,92,246,.45) 0%,rgba(139,92,246,.22) 30%,transparent 70%);top:20%;left:50%;margin-left:-240px;animation:float-3fb3f07d 20s ease-in-out infinite,breathe-3fb3f07d 8s ease-in-out infinite 1s}.gradient-orb.orb-4[data-v-3fb3f07d]{width:520px;height:520px;background:radial-gradient(circle,rgba(236,72,153,.42) 0%,rgba(236,72,153,.21) 30%,transparent 70%);top:35%;right:25%;animation:float-3fb3f07d 16s ease-in-out infinite reverse,breathe-3fb3f07d 6.5s ease-in-out infinite .3s}.gradient-orb.orb-5[data-v-3fb3f07d]{width:460px;height:460px;background:radial-gradient(circle,rgba(14,165,233,.4) 0%,rgba(14,165,233,.2) 30%,transparent 70%);bottom:30%;left:30%;animation:float-3fb3f07d 17s ease-in-out infinite,breathe-3fb3f07d 7.5s ease-in-out infinite .7s}.gradient-orb.orb-6[data-v-3fb3f07d]{width:440px;height:440px;background:radial-gradient(circle,rgba(249,115,22,.42) 0%,rgba(249,115,22,.21) 30%,transparent 70%);bottom:20%;left:50%;margin-left:-220px;animation:float-3fb3f07d 19s ease-in-out infinite reverse,breathe-3fb3f07d 6.8s ease-in-out infinite 1.2s}@keyframes float-3fb3f07d{0%{transform:translate(0)}25%{transform:translate(120px,-100px)}50%{transform:translate(-80px,100px)}75%{transform:translate(100px,50px)}to{transform:translate(0)}}@keyframes breathe-3fb3f07d{0%,to{opacity:.6}50%{opacity:1}}.blur-layer[data-v-3fb3f07d]{position:absolute;width:100%;height:100%;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.08) 0%,rgba(255,255,255,.04) 40%,rgba(255,255,255,.01) 70%,transparent 100%);opacity:.6;z-index:3;will-change:opacity}.starfield-layer[data-v-3fb3f07d]{position:absolute;width:100%;height:100%;background-image:radial-gradient(2px 2px at 30% 40%,rgba(255,255,255,.4),transparent),radial-gradient(2px 2px at 70% 60%,rgba(255,255,255,.3),transparent),radial-gradient(1px 1px at 50% 50%,rgba(255,255,255,.35),transparent);background-size:100% 100%;opacity:.4;z-index:2}.error-card[data-v-3fb3f07d]{position:relative;z-index:10;background:#0a0a0a4d;backdrop-filter:blur(60px);-webkit-backdrop-filter:blur(60px);border-radius:32px;padding:4rem;max-width:700px;width:90%;margin:auto;box-shadow:0 20px 60px #0009,0 0 0 1px #ffffff14;border:1px solid rgba(255,255,255,.15);text-align:center;animation:cardSlideIn-3fb3f07d .8s cubic-bezier(.16,1,.3,1),cardGlow-3fb3f07d 4s ease-in-out infinite;min-height:fit-content}@keyframes cardGlow-3fb3f07d{0%,to{box-shadow:0 20px 60px #0009,0 0 0 1px #ffffff14,0 0 40px #ef44441a}50%{box-shadow:0 20px 60px #0009,0 0 0 1px #ffffff1f,0 0 60px #ef444440}}@keyframes cardSlideIn-3fb3f07d{0%{opacity:0;transform:translateY(40px) scale(.95);filter:blur(20px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}.error-icon-container[data-v-3fb3f07d]{margin-bottom:2rem;animation:iconPulse-3fb3f07d 2s ease-in-out infinite,iconGlow-3fb3f07d 3s ease-in-out infinite}@keyframes iconPulse-3fb3f07d{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.08);opacity:.85}}@keyframes iconGlow-3fb3f07d{0%,to{filter:drop-shadow(0 0 20px rgba(239,68,68,.5))}50%{filter:drop-shadow(0 0 40px rgba(239,68,68,.8))}}.error-icon[data-v-3fb3f07d]{font-size:6rem;color:#ef4444;filter:drop-shadow(0 0 20px rgba(239,68,68,.5))}.error-title[data-v-3fb3f07d]{font-size:2.5rem;font-weight:800;margin:0 0 1rem;background:linear-gradient(135deg,#ef4444,#fb923c);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.error-description[data-v-3fb3f07d]{font-size:1.2rem;color:#ffffffb3;margin:0 0 2rem;font-weight:400;line-height:1.6}.error-details[data-v-3fb3f07d]{background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:12px;padding:1.5rem;margin-bottom:2rem;text-align:left}.detail-item[data-v-3fb3f07d]{display:flex;gap:.5rem;align-items:flex-start;color:#ffffffe6}.detail-label[data-v-3fb3f07d]{font-weight:600;color:#ef4444e6;min-width:100px}.detail-value[data-v-3fb3f07d]{color:#fffc;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;font-size:.95rem}.detail-status[data-v-3fb3f07d]{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}.status-badge[data-v-3fb3f07d]{display:inline-block;padding:.25rem .75rem;border-radius:6px;font-weight:600;background:#ef444433;border:1px solid rgba(239,68,68,.3)}.status-badge.status-5xx[data-v-3fb3f07d]{background:#ef44444d;border-color:#ef444480;color:#ef4444}.retry-button[data-v-3fb3f07d]{display:inline-flex;align-items:center;gap:.75rem;padding:1.25rem 3rem;background:linear-gradient(135deg,#ef4444,#f97316);color:#fff;border:none;border-radius:16px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 20px #ef44444d;margin-bottom:1.5rem}.retry-button[data-v-3fb3f07d]:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 12px 30px #ef444466;background:linear-gradient(135deg,#dc2626,#ea580c)}.retry-button[data-v-3fb3f07d]:active{transform:translateY(0) scale(.98);box-shadow:0 4px 10px #ef44444d}.retry-button .retry-icon[data-v-3fb3f07d]{font-size:1.2rem;animation:rotate-3fb3f07d 2s linear infinite paused}.retry-button .retry-icon[data-v-3fb3f07d]:hover{animation-play-state:running}@keyframes rotate-3fb3f07d{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tech-details[data-v-3fb3f07d]{margin-top:2rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1)}.tech-toggle[data-v-3fb3f07d]{background:transparent;border:none;color:#ffffff80;cursor:pointer;font-size:.95rem;display:flex;align-items:center;gap:.5rem;margin:0 auto;padding:.5rem 1rem;border-radius:8px;transition:all .3s}.tech-toggle[data-v-3fb3f07d]:hover{color:#fffc;background:#ffffff0d}.tech-toggle .toggle-icon[data-v-3fb3f07d]{font-size:1rem;transition:transform .3s}.tech-content[data-v-3fb3f07d]{margin-top:1.5rem;text-align:left;background:#0000004d;border-radius:12px;padding:1.5rem;animation:slideDown-3fb3f07d .3s ease-out;word-break:break-all;overflow-wrap:break-word}@keyframes slideDown-3fb3f07d{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.tech-item[data-v-3fb3f07d]{display:flex;gap:.75rem;margin-bottom:1rem;font-size:.9rem}.tech-item[data-v-3fb3f07d]:last-child{margin-bottom:0}.tech-label[data-v-3fb3f07d]{color:#ffffff80;font-weight:500;min-width:100px}.tech-value[data-v-3fb3f07d]{color:#ffffffe6;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;background:#ffffff0d;padding:.25rem .75rem;border-radius:6px;font-size:.85rem}.app-layout[data-v-41dad825]{display:flex;height:100vh;background:var(--bg-primary)}.sidebar[data-v-41dad825]{width:280px;background:var(--bg-sidebar);border-right:1px solid var(--border-light);display:flex;flex-direction:column;padding:var(--spacing-lg)}@media (max-width: 768px){.sidebar[data-v-41dad825]{width:100%;height:auto;border-right:none;border-bottom:1px solid var(--border-light)}}.sidebar-header[data-v-41dad825]{margin-bottom:var(--spacing-xl);text-align:center}.sidebar-header .app-title[data-v-41dad825]{font-size:1.8rem;font-weight:700;color:var(--primary-color);margin-bottom:var(--spacing-xs)}.sidebar-header .app-subtitle[data-v-41dad825]{color:var(--text-secondary);font-size:.9rem}.sidebar-nav[data-v-41dad825]{flex:1;display:flex;flex-direction:column;gap:var(--spacing-xs)}.nav-item[data-v-41dad825]{display:flex;align-items:center;padding:var(--spacing-md);border-radius:var(--radius-md);text-decoration:none;color:var(--text-secondary);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;border:1px solid transparent}.nav-item[data-v-41dad825]:hover{background:var(--bg-secondary);color:var(--text-primary);transform:translate(4px);box-shadow:0 4px 12px #0000000d;border-color:var(--border-color)}.nav-item.active[data-v-41dad825]{background:linear-gradient(90deg,#007aff14,#007aff0a);color:var(--primary-color);border-color:#007aff33;box-shadow:0 2px 8px #007aff1a}.nav-item.active[data-v-41dad825]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--primary-color) 0%,rgba(0,122,255,.6) 100%);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.nav-item.active[data-v-41dad825]:hover{transform:translate(6px);box-shadow:0 6px 16px #007aff26}.nav-item .nav-icon[data-v-41dad825]{width:20px;height:20px;margin-right:var(--spacing-md);transition:transform .3s cubic-bezier(.4,0,.2,1)}.nav-item:hover .nav-icon[data-v-41dad825]{transform:scale(1.1)}.nav-item.active .nav-icon[data-v-41dad825]{transform:scale(1.05)}.nav-item .nav-text[data-v-41dad825]{flex:1;font-weight:500;font-size:.95rem;transition:font-weight .2s ease}.nav-item:hover .nav-text[data-v-41dad825]{font-weight:600}.nav-item .nav-count[data-v-41dad825]{background:var(--border-color);color:var(--text-secondary);padding:var(--spacing-xs) var(--spacing-sm);border-radius:12px;font-size:.8rem;font-weight:600;min-width:24px;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1)}.nav-item:hover .nav-count[data-v-41dad825]{background:var(--bg-hover);transform:scale(1.05)}.nav-item.active .nav-count[data-v-41dad825]{background:linear-gradient(135deg,var(--primary-color) 0%,rgba(0,122,255,.8) 100%);color:#fff;box-shadow:0 2px 8px #007aff4d;animation:pulse-41dad825 2s ease-in-out infinite}@keyframes pulse-41dad825{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.sidebar-footer[data-v-41dad825]{margin-top:auto;padding-top:var(--spacing-lg);border-top:1px solid var(--border-light);display:flex;flex-direction:column;gap:var(--spacing-md)}.theme-toggle[data-v-41dad825]{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-size:.9rem;position:relative;overflow:hidden}.theme-toggle[data-v-41dad825]:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.theme-toggle[data-v-41dad825]:hover{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--primary-color);box-shadow:0 2px 8px #007aff1a;transform:translateY(-1px)}.theme-toggle[data-v-41dad825]:hover:before{left:100%}.theme-toggle .theme-icon[data-v-41dad825]{width:16px;height:16px;transition:transform .3s cubic-bezier(.4,0,.2,1)}.theme-toggle:hover .theme-icon[data-v-41dad825]{transform:rotate(15deg) scale(1.1)}.theme-toggle .theme-text[data-v-41dad825]{font-weight:500;transition:font-weight .2s ease}.theme-toggle:hover .theme-text[data-v-41dad825]{font-weight:600}.service-status[data-v-41dad825]{display:flex;align-items:center;gap:var(--spacing-sm)}.service-status .status-indicator[data-v-41dad825]{width:10px;height:10px;border-radius:50%;background:var(--error-color);box-shadow:0 0 0 0 var(--error-color);transition:all .3s ease}.service-status .status-indicator.online[data-v-41dad825]{background:var(--success-color);box-shadow:0 0 0 0 var(--success-color);animation:breathe-41dad825 2s ease-in-out infinite}.service-status .status-text[data-v-41dad825]{font-size:.9rem;color:var(--text-secondary);transition:color .3s ease}@keyframes breathe-41dad825{0%,to{box-shadow:0 0 0 0 var(--success-color);opacity:1}50%{box-shadow:0 0 8px 4px #34c75966;opacity:.8}}.main-content[data-v-41dad825]{flex:1;overflow-y:auto;background:var(--bg-primary)}@media (max-width: 768px){.app-layout[data-v-41dad825]{flex-direction:column}.sidebar[data-v-41dad825]{width:100%;height:auto}.sidebar-nav[data-v-41dad825]{flex-direction:row;overflow-x:auto;padding-bottom:var(--spacing-sm)}.nav-item[data-v-41dad825]{flex-shrink:0;min-width:120px}}.modal-overlay[data-v-07320b59]{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:9999;padding:var(--spacing-lg)}.modal-container[data-v-07320b59]{background:var(--bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-2xl);width:100%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border-light)}.modal-header[data-v-07320b59]{padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--border-light);display:flex;align-items:center;justify-content:space-between;background:var(--bg-secondary)}.modal-header .modal-title[data-v-07320b59]{margin:0;font-size:1.3rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:var(--spacing-sm)}.modal-header .modal-title .modal-icon[data-v-07320b59]{font-size:1.5rem;color:var(--primary-color)}.modal-header .modal-close[data-v-07320b59]{background:transparent;border:none;cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:1.5rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.modal-header .modal-close[data-v-07320b59]:hover{background:var(--bg-primary);color:var(--text-primary)}.modal-body[data-v-07320b59]{flex:0 0 auto;overflow:hidden;padding:var(--spacing-md)}.log-container[data-v-07320b59]{height:500px;min-height:500px;max-height:60vh;overflow-y:auto;overflow-x:hidden;background:var(--bg-tertiary, #1a1a1a);border-radius:var(--radius-md);padding:var(--spacing-md);font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;font-size:.9rem;line-height:1.6;scroll-behavior:smooth}.log-container[data-v-07320b59]::-webkit-scrollbar{width:8px}.log-container[data-v-07320b59]::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:4px}.log-container[data-v-07320b59]::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.log-container[data-v-07320b59]::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.log-line[data-v-07320b59]{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs);padding:var(--spacing-xs) 0;align-items:flex-start}.log-line.loading[data-v-07320b59]{color:var(--primary-color)}.log-line .log-time[data-v-07320b59]{color:var(--text-tertiary);flex-shrink:0;font-size:.85rem}.log-line .log-message[data-v-07320b59]{color:var(--text-secondary);flex:1;word-break:break-word;white-space:pre-wrap}.log-line.log-info .log-message[data-v-07320b59]{color:var(--text-secondary)}.log-line.log-success .log-message[data-v-07320b59]{color:var(--success-color)}.log-line.log-warning .log-message[data-v-07320b59]{color:var(--warning-color)}.log-line.log-error .log-message[data-v-07320b59]{color:var(--error-color)}.modal-footer[data-v-07320b59]{padding:var(--spacing-lg) var(--spacing-xl);border-top:1px solid var(--border-light);background:var(--bg-secondary);display:flex;align-items:center;justify-content:space-between}.modal-footer .footer-status[data-v-07320b59]{display:flex;align-items:center;gap:var(--spacing-sm);font-size:1rem;font-weight:500}.modal-footer .footer-status .status-success[data-v-07320b59]{color:var(--success-color);display:flex;align-items:center;gap:var(--spacing-xs)}.modal-footer .footer-status .status-error[data-v-07320b59]{color:var(--error-color);display:flex;align-items:center;gap:var(--spacing-xs)}.modal-footer .footer-status .status-loading[data-v-07320b59]{color:var(--primary-color);display:flex;align-items:center;gap:var(--spacing-xs)}.modal-footer .footer-actions[data-v-07320b59]{display:flex;gap:var(--spacing-sm)}.spinner-small[data-v-07320b59]{width:16px;height:16px;border:2px solid var(--border-color);border-top:2px solid var(--primary-color);border-radius:50%;animation:spin-07320b59 1s linear infinite}@keyframes spin-07320b59{to{transform:rotate(360deg)}}.modal-enter-active[data-v-07320b59],.modal-leave-active[data-v-07320b59]{transition:opacity .3s ease}.modal-enter-from[data-v-07320b59],.modal-leave-to[data-v-07320b59]{opacity:0}.modal-enter-active .modal-container[data-v-07320b59],.modal-leave-active .modal-container[data-v-07320b59]{transition:transform .3s ease}.modal-enter-from .modal-container[data-v-07320b59],.modal-leave-to .modal-container[data-v-07320b59]{transform:scale(.9) translateY(-20px)}@media (max-width: 768px){.modal-overlay[data-v-07320b59]{padding:0}.modal-container[data-v-07320b59]{max-width:100%;max-height:100vh;border-radius:0}.log-container[data-v-07320b59]{height:400px;min-height:400px;max-height:50vh}.modal-footer[data-v-07320b59]{flex-direction:column;gap:var(--spacing-md);align-items:stretch}.modal-footer .footer-actions[data-v-07320b59]{width:100%}.modal-footer .footer-actions .btn[data-v-07320b59]{flex:1}}.app-card[data-v-7051324a]{display:flex;flex-direction:column;padding:var(--spacing-lg);transition:all .3s ease;cursor:pointer;position:relative;overflow:hidden}.app-card[data-v-7051324a]:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary-color),var(--success-color));transform:scaleX(0);transition:transform .3s ease}.app-card[data-v-7051324a]:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.app-card[data-v-7051324a]:hover:before{transform:scaleX(1)}.store-badge[data-v-7051324a]{position:absolute;top:var(--spacing-md);right:var(--spacing-md);width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:10;transition:all .3s ease}.store-badge .badge-icon[data-v-7051324a]{font-size:1.2rem;color:#fff}.store-badge.badge-checking[data-v-7051324a]{background:var(--primary-color);animation:pulse-7051324a 1.5s ease-in-out infinite}@keyframes pulse-7051324a{0%,to{opacity:1}50%{opacity:.6}}.store-badge.badge-update[data-v-7051324a]{background:linear-gradient(135deg,#ffc107,#ff9800);box-shadow:0 2px 8px #ff980066}.store-badge.badge-update[data-v-7051324a]:hover{transform:scale(1.1);box-shadow:0 4px 12px #ff980099}.store-badge.badge-download[data-v-7051324a]{background:linear-gradient(135deg,#757575,#616161);box-shadow:0 2px 8px #0003}.store-badge.badge-download[data-v-7051324a]:hover{transform:scale(1.1);box-shadow:0 4px 12px #0000004d}.app-icon[data-v-7051324a]{width:80px;height:80px;margin:0 auto var(--spacing-md);border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-secondary);position:relative}.app-icon img[data-v-7051324a]{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.app-icon .icon-placeholder[data-v-7051324a]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;color:var(--text-tertiary);background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover) 100%);color:#fff}.app-icon .icon-loading[data-v-7051324a]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary)}.app-icon .icon-loading .spinner[data-v-7051324a]{width:24px;height:24px;border:2px solid var(--border-color);border-top:2px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}.app-icon:hover img[data-v-7051324a]{transform:scale(1.05)}.app-info[data-v-7051324a]{text-align:center;margin-bottom:var(--spacing-md)}.app-info .app-name[data-v-7051324a]{margin:0 0 var(--spacing-sm) 0;font-size:1.1rem;font-weight:600;color:var(--text-primary);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.app-info .app-version[data-v-7051324a]{margin:0 0 var(--spacing-xs) 0;font-size:.9rem;color:var(--text-secondary)}.app-info .latest-version[data-v-7051324a]{margin:0;font-size:.85rem;color:var(--warning-color);font-weight:500}.app-status[data-v-7051324a]{text-align:center;margin-bottom:var(--spacing-md)}.app-actions[data-v-7051324a]{text-align:center;margin-top:auto}.app-actions .btn[data-v-7051324a]{width:100%;margin-bottom:var(--spacing-sm);font-size:.9rem;padding:var(--spacing-sm) var(--spacing-md)}.app-actions .unsupported-section[data-v-7051324a]{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-sm);text-align:center}.app-actions .unsupported-text[data-v-7051324a],.app-actions .injected-text[data-v-7051324a]{font-size:.9rem;color:var(--text-secondary);font-style:italic;display:block}.app-actions .supported-versions[data-v-7051324a]{font-size:.8rem;color:var(--warning-color);font-weight:500;line-height:1.4}@media (max-width: 480px){.app-card[data-v-7051324a]{padding:var(--spacing-md)}.app-icon[data-v-7051324a]{width:60px;height:60px}.app-name[data-v-7051324a]{font-size:1rem}}.version-list-container .loading[data-v-9ccba531],.version-list-container .error[data-v-9ccba531],.version-list-container .empty[data-v-9ccba531]{text-align:center;padding:var(--spacing-2xl) var(--spacing-lg)}.version-list-container .loading .spinner[data-v-9ccba531],.version-list-container .error .spinner[data-v-9ccba531],.version-list-container .empty .spinner[data-v-9ccba531]{width:40px;height:40px;border:3px solid var(--border-color);border-top:3px solid var(--primary-color);border-radius:50%;animation:spin-9ccba531 1s linear infinite;margin:0 auto var(--spacing-md)}.version-list-container .loading p[data-v-9ccba531],.version-list-container .error p[data-v-9ccba531],.version-list-container .empty p[data-v-9ccba531]{color:var(--text-secondary);font-size:1rem;margin:0}.version-list-container .error .error-icon[data-v-9ccba531]{font-size:3rem;color:var(--error-color);margin-bottom:var(--spacing-md);display:block;margin-left:auto;margin-right:auto}.version-list-container .error p[data-v-9ccba531]{color:var(--error-color);margin-bottom:var(--spacing-md)}.version-list-container .empty .empty-icon[data-v-9ccba531]{font-size:4rem;color:var(--text-tertiary);margin-bottom:var(--spacing-md);opacity:.5}.version-list-container .empty p[data-v-9ccba531]{color:var(--text-tertiary);font-style:italic}.version-list-container .version-filters[data-v-9ccba531]{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-color)}.version-list-container .filter-btn[data-v-9ccba531]{padding:8px 16px;border:1px solid var(--border-color);background:var(--background-secondary);color:var(--text-secondary);border-radius:6px;cursor:pointer;transition:all .2s;font-size:.9rem}.version-list-container .filter-btn[data-v-9ccba531]:hover{background:var(--background-hover);border-color:var(--primary-color)}.version-list-container .filter-btn.active[data-v-9ccba531]{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.version-list-container .versions-list[data-v-9ccba531]{display:flex;flex-direction:column;gap:var(--spacing-sm)}.version-list-container .version-item[data-v-9ccba531]{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-primary);transition:all .2s}.version-list-container .version-item[data-v-9ccba531]:hover:not(.downloading){border-color:var(--primary-color);background:var(--bg-hover);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.version-list-container .version-item.downloading[data-v-9ccba531]{border-color:var(--primary-color);background:#007aff0d}.version-list-container .version-item .version-info[data-v-9ccba531]{display:flex;flex-direction:column;gap:var(--spacing-xs);flex:1}.version-list-container .version-item .version-info .version-number-wrapper[data-v-9ccba531]{display:flex;flex-direction:row;align-items:center;gap:var(--spacing-xs)}.version-list-container .version-item .version-info .version-number[data-v-9ccba531]{font-weight:600;color:var(--text-primary);font-size:1.1rem}.version-list-container .version-item .version-info .version-number .version-full[data-v-9ccba531]{font-weight:400;font-size:.9rem;color:var(--text-secondary);font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;margin-left:4px}.version-list-container .version-item .version-info .version-url[data-v-9ccba531]{font-size:.75rem;color:var(--text-tertiary);font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;word-break:break-all;display:flex;align-items:center;gap:var(--spacing-xs)}.version-list-container .version-item .version-info .version-url .url-icon[data-v-9ccba531]{font-size:.9rem}.version-list-container .version-item .btn[data-v-9ccba531]{margin-left:var(--spacing-md);min-width:100px}.version-list-container .version-item .btn .spinner-small[data-v-9ccba531]{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin-9ccba531 .8s linear infinite}.btn[data-v-9ccba531]{padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:var(--spacing-xs);font-size:.95rem}.btn[data-v-9ccba531]:disabled{opacity:.5;cursor:not-allowed}.btn.btn-sm[data-v-9ccba531]{padding:var(--spacing-xs) var(--spacing-md);font-size:.85rem}.btn.btn-secondary[data-v-9ccba531]{background:var(--bg-hover);color:var(--text-primary)}.btn.btn-secondary[data-v-9ccba531]:hover:not(:disabled){background:var(--border-color)}.btn.btn-primary[data-v-9ccba531]{background:var(--primary-color);color:#fff}.btn.btn-primary[data-v-9ccba531]:hover:not(:disabled){background:var(--primary-hover)}.btn .btn-icon[data-v-9ccba531]{font-size:1rem}@keyframes spin-9ccba531{to{transform:rotate(360deg)}}.version-tag[data-v-9ccba531]{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500;white-space:nowrap}.beta-tag[data-v-9ccba531]{background-color:#fef3c7;color:#d97706;border:1px solid #fde047}.release-tag[data-v-9ccba531]{background-color:#dbeafe;color:#2563eb;border:1px solid #60a5fa}@media (max-width: 768px){.version-item[data-v-9ccba531]{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.version-item .btn[data-v-9ccba531]{width:100%;margin-left:0;justify-content:center}}.dialog-overlay[data-v-e4ccb209]{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn-e4ccb209 .2s ease}@keyframes fadeIn-e4ccb209{0%{opacity:0}to{opacity:1}}.dialog-container[data-v-e4ccb209]{background:var(--bg-secondary);border-radius:var(--radius-xl);width:90%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080;animation:slideUp-e4ccb209 .3s ease}@keyframes slideUp-e4ccb209{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.dialog-header[data-v-e4ccb209]{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xl);border-bottom:1px solid var(--border-light)}.dialog-header .dialog-title[data-v-e4ccb209]{margin:0;font-size:1.5rem;font-weight:600;color:var(--text-primary)}.dialog-header .dialog-close[data-v-e4ccb209]{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:all .2s;display:flex;align-items:center;justify-content:center}.dialog-header .dialog-close[data-v-e4ccb209]:hover{background:var(--bg-hover);color:var(--text-primary)}.dialog-content[data-v-e4ccb209]{flex:1;overflow-y:auto;padding:var(--spacing-xl);min-height:200px;max-height:50vh}.loading[data-v-e4ccb209],.error[data-v-e4ccb209],.empty[data-v-e4ccb209]{text-align:center;padding:var(--spacing-2xl) var(--spacing-lg)}.loading .spinner[data-v-e4ccb209],.error .spinner[data-v-e4ccb209],.empty .spinner[data-v-e4ccb209]{width:40px;height:40px;border:3px solid var(--border-color);border-top:3px solid var(--primary-color);border-radius:50%;animation:spin-e4ccb209 1s linear infinite;margin:0 auto var(--spacing-md)}.loading p[data-v-e4ccb209],.error p[data-v-e4ccb209],.empty p[data-v-e4ccb209]{color:var(--text-secondary);font-size:1rem;margin:0}.error .error-icon[data-v-e4ccb209]{font-size:3rem;color:var(--error-color);margin-bottom:var(--spacing-md);display:block;margin-left:auto;margin-right:auto}.error p[data-v-e4ccb209]{color:var(--error-color);margin-bottom:var(--spacing-md)}.empty .empty-icon[data-v-e4ccb209]{font-size:4rem;color:var(--text-tertiary);margin-bottom:var(--spacing-md);opacity:.5}.empty p[data-v-e4ccb209]{color:var(--text-tertiary);font-style:italic}.version-filters[data-v-e4ccb209]{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-color)}.filter-btn[data-v-e4ccb209]{padding:8px 16px;border:1px solid var(--border-color);background:var(--background-secondary);color:var(--text-secondary);border-radius:6px;cursor:pointer;transition:all .2s;font-size:.9rem}.filter-btn[data-v-e4ccb209]:hover{background:var(--background-hover);border-color:var(--primary-color)}.filter-btn.active[data-v-e4ccb209]{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.versions-list[data-v-e4ccb209]{display:flex;flex-direction:column;gap:var(--spacing-sm)}.version-item[data-v-e4ccb209]{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-primary);transition:all .2s}.version-item[data-v-e4ccb209]:hover:not(.downloading){border-color:var(--primary-color);background:var(--bg-hover);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.version-item.downloading[data-v-e4ccb209]{border-color:var(--primary-color);background:#007aff0d}.version-item .version-info[data-v-e4ccb209]{display:flex;flex-direction:column;gap:var(--spacing-xs);flex:1}.version-item .version-info .version-number-wrapper[data-v-e4ccb209]{display:flex;flex-direction:row;align-items:center;gap:var(--spacing-xs)}.version-item .version-info .version-number[data-v-e4ccb209]{font-weight:600;color:var(--text-primary);font-size:1.1rem}.version-item .version-info .version-full[data-v-e4ccb209]{font-size:.85rem;color:var(--text-secondary);font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace}.version-item .btn[data-v-e4ccb209]{margin-left:var(--spacing-md);min-width:100px}.version-item .btn .spinner-small[data-v-e4ccb209]{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin-e4ccb209 .8s linear infinite}.dialog-footer[data-v-e4ccb209]{padding:var(--spacing-lg) var(--spacing-xl);border-top:1px solid var(--border-light);display:flex;justify-content:flex-end}.btn[data-v-e4ccb209]{padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:var(--spacing-xs);font-size:.95rem}.btn[data-v-e4ccb209]:disabled{opacity:.5;cursor:not-allowed}.btn.btn-sm[data-v-e4ccb209]{padding:var(--spacing-xs) var(--spacing-md);font-size:.85rem}.btn.btn-secondary[data-v-e4ccb209]{background:var(--bg-hover);color:var(--text-primary)}.btn.btn-secondary[data-v-e4ccb209]:hover:not(:disabled){background:var(--border-color)}.btn.btn-primary[data-v-e4ccb209]{background:var(--primary-color);color:#fff}.btn.btn-primary[data-v-e4ccb209]:hover:not(:disabled){background:var(--primary-hover)}.btn .btn-icon[data-v-e4ccb209]{font-size:1rem}@keyframes spin-e4ccb209{to{transform:rotate(360deg)}}@media (max-width: 768px){.dialog-container[data-v-e4ccb209]{width:95%;max-height:85vh}.dialog-header[data-v-e4ccb209]{padding:var(--spacing-lg)}.dialog-header .dialog-title[data-v-e4ccb209]{font-size:1.2rem}.dialog-content[data-v-e4ccb209]{padding:var(--spacing-lg)}.version-item[data-v-e4ccb209]{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.version-item .btn[data-v-e4ccb209]{width:100%;margin-left:0;justify-content:center}}.version-tag[data-v-e4ccb209]{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500;white-space:nowrap}.beta-tag[data-v-e4ccb209]{background-color:#fef3c7;color:#d97706;border:1px solid #fde047}.release-tag[data-v-e4ccb209]{background-color:#dbeafe;color:#2563eb;border:1px solid #60a5fa}.app-list[data-v-7192034b]{padding:var(--spacing-xl);max-width:1400px;margin:0 auto}.list-header[data-v-7192034b]{margin-bottom:var(--spacing-xl)}.list-header .header-content[data-v-7192034b]{margin-bottom:var(--spacing-lg)}.list-header .header-content h2[data-v-7192034b]{margin:0 0 var(--spacing-sm) 0;font-size:2rem;font-weight:600;color:var(--text-primary)}.list-header .header-content .page-description[data-v-7192034b]{margin:0;color:var(--text-secondary);font-size:1rem}.list-header .list-controls[data-v-7192034b]{display:flex;gap:var(--spacing-md);align-items:center;flex-wrap:wrap}.list-header .list-controls .search-container[data-v-7192034b]{position:relative;flex:1;min-width:300px}.list-header .list-controls .search-container .search-input[data-v-7192034b]{width:100%;padding-right:40px;font-size:1rem}.list-header .list-controls .search-container .search-icon[data-v-7192034b]{position:absolute;right:var(--spacing-md);top:50%;transform:translateY(-50%);color:var(--text-tertiary);pointer-events:none}.list-header .list-controls .sort-filter[data-v-7192034b]{min-width:150px;font-size:1rem}.loading[data-v-7192034b]{text-align:center;padding:var(--spacing-2xl) 0}.loading .spinner[data-v-7192034b]{margin:0 auto var(--spacing-md)}.loading p[data-v-7192034b]{color:var(--text-secondary);font-size:1.1rem}.error[data-v-7192034b]{text-align:center;padding:var(--spacing-2xl) 0}.error p[data-v-7192034b]{color:var(--error-color);font-size:1.1rem;margin-bottom:var(--spacing-md)}.empty[data-v-7192034b]{text-align:center;padding:var(--spacing-2xl) 0}.empty .empty-icon[data-v-7192034b]{font-size:4rem;margin-bottom:var(--spacing-md);opacity:.5}.empty p[data-v-7192034b]{color:var(--text-secondary);font-size:1.1rem;margin-bottom:var(--spacing-sm)}.empty .empty-hint[data-v-7192034b]{font-size:.9rem;color:var(--text-tertiary)}.apps-grid[data-v-7192034b]{margin-bottom:var(--spacing-xl)}.list-footer[data-v-7192034b]{padding:var(--spacing-lg) 0;border-top:1px solid var(--border-light)}.list-footer .footer-stats[data-v-7192034b]{display:flex;gap:var(--spacing-lg);justify-content:center}.list-footer .footer-stats .stat-item[data-v-7192034b]{display:flex;gap:var(--spacing-xs)}.list-footer .footer-stats .stat-item .stat-label[data-v-7192034b]{color:var(--text-secondary);font-size:.9rem}.list-footer .footer-stats .stat-item .stat-value[data-v-7192034b]{color:var(--text-primary);font-weight:600;font-size:.9rem}@media (max-width: 768px){.app-list[data-v-7192034b]{padding:var(--spacing-md)}.list-header .header-content h2[data-v-7192034b]{font-size:1.5rem}.list-header .list-controls[data-v-7192034b]{flex-direction:column;align-items:stretch}.list-header .list-controls .search-container[data-v-7192034b],.list-header .list-controls .sort-filter[data-v-7192034b]{min-width:auto}.list-footer .footer-stats[data-v-7192034b]{flex-direction:column;gap:var(--spacing-sm)}}.app-detail[data-v-826f6b9e]{padding:var(--spacing-lg);max-width:1200px;margin:0 auto}.loading[data-v-826f6b9e],.error[data-v-826f6b9e]{text-align:center;padding:var(--spacing-2xl) 0}.loading .spinner[data-v-826f6b9e],.error .spinner[data-v-826f6b9e]{margin:0 auto var(--spacing-md)}.loading p[data-v-826f6b9e],.error p[data-v-826f6b9e]{color:var(--text-secondary);font-size:1.1rem;margin-bottom:var(--spacing-md)}.error p[data-v-826f6b9e]{color:var(--error-color)}.back-button[data-v-826f6b9e]{margin-bottom:var(--spacing-lg)}.app-info-card[data-v-826f6b9e]{padding:var(--spacing-xl);margin-bottom:var(--spacing-lg)}.app-header[data-v-826f6b9e]{display:flex;align-items:flex-start;gap:var(--spacing-lg)}@media (max-width: 768px){.app-header[data-v-826f6b9e]{flex-direction:column;text-align:center}}.app-icon-large[data-v-826f6b9e]{width:120px;height:120px;border-radius:var(--radius-xl);overflow:hidden;background:var(--bg-secondary);flex-shrink:0}.app-icon-large img[data-v-826f6b9e]{width:100%;height:100%;object-fit:cover}.app-icon-large .icon-loading-large[data-v-826f6b9e]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary)}.app-icon-large .icon-loading-large .spinner[data-v-826f6b9e]{width:32px;height:32px;border:3px solid var(--border-color);border-top:3px solid var(--primary-color);border-radius:50%;animation:spin-826f6b9e 1s linear infinite}.app-icon-large .icon-placeholder-large[data-v-826f6b9e]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:3rem;font-weight:700;color:var(--text-tertiary);background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover) 100%);color:#fff}.app-meta[data-v-826f6b9e]{flex:1}.app-meta .app-title[data-v-826f6b9e]{font-size:2rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-sm)}.app-meta .app-bundle-id[data-v-826f6b9e]{color:var(--text-secondary);font-size:1rem;margin-bottom:var(--spacing-md);font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace}.app-meta .app-version-info[data-v-826f6b9e]{display:flex;flex-direction:column;gap:var(--spacing-xs)}.app-meta .app-version-info .current-version[data-v-826f6b9e]{color:var(--text-primary);font-weight:500}.app-meta .app-version-info .latest-version[data-v-826f6b9e]{color:var(--warning-color);font-weight:500}.app-status-section[data-v-826f6b9e]{display:flex;flex-direction:column;align-items:flex-end;gap:var(--spacing-md)}@media (max-width: 768px){.app-status-section[data-v-826f6b9e]{align-items:center;width:100%}}.action-buttons[data-v-826f6b9e]{display:flex;flex-direction:column;gap:var(--spacing-sm)}.action-buttons .btn[data-v-826f6b9e]{min-width:140px}.action-buttons .unsupported-text[data-v-826f6b9e],.action-buttons .injected-text[data-v-826f6b9e]{color:var(--text-secondary);font-style:italic;text-align:center}.detail-grid[data-v-826f6b9e]{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:var(--spacing-lg)}@media (max-width: 768px){.detail-grid[data-v-826f6b9e]{grid-template-columns:1fr}}.detail-card[data-v-826f6b9e]{padding:var(--spacing-lg)}.detail-card h3[data-v-826f6b9e]{font-size:1.2rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-light)}.info-list[data-v-826f6b9e]{display:flex;flex-direction:column;gap:var(--spacing-md)}.info-item[data-v-826f6b9e]{display:flex;justify-content:space-between;align-items:flex-start}.info-item .label[data-v-826f6b9e]{font-weight:500;color:var(--text-secondary);min-width:100px}.info-item .value[data-v-826f6b9e]{color:var(--text-primary);text-align:right;word-break:break-all}.info-item .value.text-success[data-v-826f6b9e]{color:var(--success-color)}.info-item .value.text-warning[data-v-826f6b9e]{color:var(--warning-color)}.info-item .value.text-error[data-v-826f6b9e]{color:var(--error-color)}.info-item .value.supported-versions-list[data-v-826f6b9e]{color:var(--warning-color);font-weight:500;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace}.versions-list[data-v-826f6b9e]{display:flex;flex-direction:column;gap:var(--spacing-sm)}.version-item[data-v-826f6b9e]{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);border:1px solid var(--border-light);border-radius:var(--radius-md)}.version-item .version-info[data-v-826f6b9e]{display:flex;flex-direction:column;gap:var(--spacing-xs);flex:1}.version-item .version-info .version-number[data-v-826f6b9e]{font-weight:600;color:var(--text-primary);font-size:1rem}.version-item .version-info .version-full[data-v-826f6b9e]{font-size:.85rem;color:var(--text-secondary);font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace}.version-item .version-info .version-url[data-v-826f6b9e]{font-size:.85rem;color:var(--text-tertiary);word-break:break-all}.version-item .btn[data-v-826f6b9e]{margin-left:var(--spacing-md)}.download-progress[data-v-826f6b9e]{padding:var(--spacing-md);background:var(--bg-secondary);border-radius:var(--radius-md);margin-top:var(--spacing-md)}.download-progress .progress-bar[data-v-826f6b9e]{height:10px;background:var(--bg-primary);border-radius:12px;overflow:hidden;margin-bottom:var(--spacing-xs);position:relative;box-shadow:inset 0 1px 2px #0000000d}.download-progress .progress-fill[data-v-826f6b9e]{height:100%;background:linear-gradient(135deg,#007aff,#5ac8fa);transition:width .4s cubic-bezier(.4,0,.2,1);border-radius:12px;position:relative}.download-progress .progress-fill[data-v-826f6b9e]:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);opacity:0;transition:opacity .3s ease}.download-progress .progress-fill.downloading[data-v-826f6b9e]:before{opacity:1;animation:shimmer-826f6b9e 2s infinite}.download-progress .progress-text[data-v-826f6b9e]{display:block;text-align:center;font-size:.9rem;color:var(--text-primary);font-weight:600}@keyframes shimmer-826f6b9e{0%{transform:translate(-100%)}to{transform:translate(100%)}}.versions-card .loading[data-v-826f6b9e],.versions-card .error[data-v-826f6b9e],.versions-card .empty[data-v-826f6b9e]{text-align:center;padding:var(--spacing-xl)}.versions-card .loading .spinner[data-v-826f6b9e],.versions-card .error .spinner[data-v-826f6b9e],.versions-card .empty .spinner[data-v-826f6b9e]{width:24px;height:24px;border:2px solid var(--border-color);border-top:2px solid var(--primary-color);border-radius:50%;animation:spin-826f6b9e 1s linear infinite;margin:0 auto var(--spacing-sm)}.versions-card .loading p[data-v-826f6b9e],.versions-card .error p[data-v-826f6b9e],.versions-card .empty p[data-v-826f6b9e]{color:var(--text-secondary);font-size:.9rem;margin:0}.versions-card .error p[data-v-826f6b9e]{color:var(--error-color);margin-bottom:var(--spacing-sm)}.versions-card .error .btn[data-v-826f6b9e]{margin-top:var(--spacing-sm)}.versions-card .empty p[data-v-826f6b9e]{color:var(--text-tertiary);font-style:italic}@keyframes spin-826f6b9e{to{transform:rotate(360deg)}}@media (max-width: 480px){.info-item[data-v-826f6b9e]{flex-direction:column;gap:var(--spacing-xs)}.info-item .value[data-v-826f6b9e]{text-align:left}}.download-manager[data-v-9ada58e9]{padding:var(--spacing-lg);max-width:1200px;margin:0 auto}.page-header[data-v-9ada58e9]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.page-header h2[data-v-9ada58e9]{margin:0;font-size:1.8rem;color:var(--text-primary)}.stats-cards[data-v-9ada58e9]{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.stat-card[data-v-9ada58e9]{background:var(--bg-card);padding:var(--spacing-md);border-radius:var(--radius-md);display:flex;align-items:center;gap:var(--spacing-md);box-shadow:var(--shadow-sm)}.stat-icon[data-v-9ada58e9]{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.5rem}.stat-icon.downloading[data-v-9ada58e9]{background:#3b82f61a;color:#3b82f6}.stat-icon.completed[data-v-9ada58e9]{background:#22c55e1a;color:#22c55e}.stat-icon.paused[data-v-9ada58e9]{background:#f59e0b1a;color:#f59e0b}.stat-info[data-v-9ada58e9]{flex:1}.stat-value[data-v-9ada58e9]{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.stat-label[data-v-9ada58e9]{color:var(--text-secondary);font-size:.9rem}.filter-bar[data-v-9ada58e9]{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);flex-wrap:wrap}.filter-btn[data-v-9ada58e9]{padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:var(--spacing-xs)}.filter-btn[data-v-9ada58e9]:hover{background:var(--bg-hover)}.filter-btn.active[data-v-9ada58e9]{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.filter-btn .filter-count[data-v-9ada58e9]{background:#fff3;padding:2px 8px;border-radius:12px;font-size:.85rem}.download-list[data-v-9ada58e9]{display:flex;flex-direction:column;gap:var(--spacing-md)}.empty-state[data-v-9ada58e9]{text-align:center;padding:var(--spacing-xl);color:var(--text-secondary)}.empty-state .empty-icon[data-v-9ada58e9]{font-size:4rem;opacity:.3}.empty-state .empty-text[data-v-9ada58e9]{margin-top:var(--spacing-md);font-size:1.1rem}.download-item[data-v-9ada58e9]{padding:var(--spacing-lg)}.item-header[data-v-9ada58e9]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.item-title[data-v-9ada58e9]{display:flex;align-items:center;gap:var(--spacing-sm);flex:1;min-width:0}.item-title .file-icon[data-v-9ada58e9]{color:var(--text-tertiary)}.item-title .file-name[data-v-9ada58e9]{font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-status[data-v-9ada58e9]{padding:4px 12px;border-radius:12px;font-size:.85rem;font-weight:600}.status-downloading[data-v-9ada58e9]{background:#3b82f61a;color:#3b82f6}.status-completed[data-v-9ada58e9]{background:#22c55e1a;color:#22c55e}.status-paused[data-v-9ada58e9]{background:#f59e0b1a;color:#f59e0b}.status-error[data-v-9ada58e9]{background:#ef44441a;color:#ef4444}.item-progress[data-v-9ada58e9]{margin-bottom:var(--spacing-md)}.progress-bar[data-v-9ada58e9]{height:10px;background:var(--bg-secondary);border-radius:12px;overflow:hidden;margin-bottom:var(--spacing-xs);position:relative;box-shadow:inset 0 1px 2px #0000000d}.progress-fill[data-v-9ada58e9]{height:100%;background:linear-gradient(135deg,#007aff,#5ac8fa);transition:width .4s cubic-bezier(.4,0,.2,1);border-radius:12px;position:relative}.progress-fill[data-v-9ada58e9]:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);opacity:0;transition:opacity .3s ease}.progress-fill.downloading[data-v-9ada58e9]:before{opacity:1;animation:shimmer-9ada58e9 2s infinite}@keyframes shimmer-9ada58e9{0%{transform:translate(-100%)}to{transform:translate(100%)}}.progress-info[data-v-9ada58e9]{display:flex;justify-content:space-between;font-size:.85rem}.progress-text[data-v-9ada58e9]{color:var(--primary-color);font-weight:600}.progress-stats[data-v-9ada58e9]{color:var(--text-secondary)}.item-speed-info[data-v-9ada58e9]{display:flex;gap:var(--spacing-lg);margin-bottom:var(--spacing-md)}.speed-item[data-v-9ada58e9]{display:flex;align-items:center;gap:var(--spacing-xs);font-size:.9rem}.speed-item .info-icon[data-v-9ada58e9]{color:var(--text-tertiary);font-size:1.1rem}.speed-item .info-label[data-v-9ada58e9]{color:var(--text-secondary)}.speed-item .info-value[data-v-9ada58e9]{color:var(--text-primary);font-weight:600}.item-error[data-v-9ada58e9]{display:flex;align-items:center;gap:var(--spacing-xs);color:var(--error-color);font-size:.9rem;margin-bottom:var(--spacing-md)}.error-icon[data-v-9ada58e9]{font-size:1.1rem}.item-actions[data-v-9ada58e9]{display:flex;gap:var(--spacing-sm);justify-content:flex-end;flex-wrap:wrap}@media (max-width: 768px){.stats-cards[data-v-9ada58e9]{grid-template-columns:1fr}.item-header[data-v-9ada58e9]{flex-direction:column;align-items:flex-start}.item-speed-info[data-v-9ada58e9]{flex-direction:column;gap:var(--spacing-xs)}}:root{--primary-color: #007aff;--primary-hover: #0056cc;--primary-light: #e3f2fd;--bg-primary: #f5f5f7;--bg-secondary: #fafafa;--bg-card: #ffffff;--bg-sidebar: #f8f9fa;--text-primary: #1d1d1f;--text-secondary: #86868b;--text-tertiary: #a1a1a6;--success-color: #34c759;--warning-color: #ff9500;--error-color: #ff3b30;--info-color: #5ac8fa;--border-color: #e5e5ea;--border-light: #f2f2f7;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1);--shadow-md: 0 4px 12px rgba(0, 0, 0, .15);--shadow-lg: 0 8px 25px rgba(0, 0, 0, .2);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 20px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{height:100vh;display:flex;flex-direction:column}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-sm);font-size:14px;font-weight:500;text-decoration:none;cursor:pointer;transition:all .2s ease;min-height:36px;gap:var(--spacing-xs)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn.btn-primary{background:var(--primary-color);color:#fff}.btn.btn-primary:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn.btn-success{background:var(--success-color);color:#fff}.btn.btn-success:hover:not(:disabled){background:#2fb84d;transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn.btn-warning{background:var(--warning-color);color:#fff}.btn.btn-warning:hover:not(:disabled){background:#e6850e;transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn.btn-error{background:var(--error-color);color:#fff}.btn.btn-error:hover:not(:disabled){background:#e6342a;transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn.btn-outline{background:transparent;border:1px solid var(--border-color);color:var(--text-primary)}.btn.btn-outline:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--primary-color)}.btn-icon{font-size:16px}.nav-icon{font-size:20px}.search-icon{font-size:18px}.empty-icon{font-size:64px;opacity:.5}.card{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-light);transition:all .3s ease}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}input,select,textarea{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:14px;background:var(--bg-card);color:var(--text-primary);transition:all .2s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #007aff1a}input::placeholder,select::placeholder,textarea::placeholder{color:var(--text-tertiary)}.status-badge{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.status-badge.status-supported{background:#34c7591a;color:var(--success-color)}.status-badge.status-injected{background:#007aff1a;color:var(--primary-color)}.status-badge.status-update{background:#ff95001a;color:var(--warning-color)}.status-badge.status-unsupported{background:#ff3b301a;color:var(--error-color)}.grid{display:grid;gap:var(--spacing-lg)}.grid.grid-2{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.grid.grid-3{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.grid.grid-4{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.spinner{width:40px;height:40px;border:3px solid var(--border-light);border-top:3px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}[data-theme=dark]{--bg-primary: #1a1a1a;--bg-secondary: #2a2a2a;--bg-card: #2d2d2d;--bg-sidebar: #252525;--text-primary: #e0e0e0;--text-secondary: #a0a0a0;--text-tertiary: #707070;--border-color: #404040;--border-light: #353535;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 25px rgba(0, 0, 0, .5);--primary-color: #0a84ff;--primary-hover: #0970e0;--primary-light: rgba(10, 132, 255, .15);--success-color: #30d158;--warning-color: #ff9f0a;--error-color: #ff453a;--info-color: #64d2ff;--bg-hover: rgba(255, 255, 255, .05)}*{transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease}img,.no-transition,.spinner{transition:none}@media (max-width: 768px){.grid.grid-2,.grid.grid-3,.grid.grid-4{grid-template-columns:1fr}.btn{width:100%}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)} diff --git a/frontend/dist/assets/index-D0ANItj_.js b/frontend/dist/assets/index-D0ANItj_.js new file mode 100644 index 0000000..79b19ea --- /dev/null +++ b/frontend/dist/assets/index-D0ANItj_.js @@ -0,0 +1,100 @@ +(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))s(o);new MutationObserver(o=>{for(const r of o)if(r.type==="childList")for(const i of r.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&s(i)}).observe(document,{childList:!0,subtree:!0});function n(o){const r={};return o.integrity&&(r.integrity=o.integrity),o.referrerPolicy&&(r.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?r.credentials="include":o.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function s(o){if(o.ep)return;o.ep=!0;const r=n(o);fetch(o.href,r)}})();/** +* @vue/shared v3.5.22 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function ur(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const Ce={},pn=[],Et=()=>{},Al=()=>!1,Zs=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),dr=e=>e.startsWith("onUpdate:"),Oe=Object.assign,fr=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Xc=Object.prototype.hasOwnProperty,ve=(e,t)=>Xc.call(e,t),te=Array.isArray,hn=e=>as(e)==="[object Map]",En=e=>as(e)==="[object Set]",Kr=e=>as(e)==="[object Date]",le=e=>typeof e=="function",Ee=e=>typeof e=="string",Tt=e=>typeof e=="symbol",be=e=>e!==null&&typeof e=="object",Rl=e=>(be(e)||le(e))&&le(e.then)&&le(e.catch),Ol=Object.prototype.toString,as=e=>Ol.call(e),Yc=e=>as(e).slice(8,-1),Pl=e=>as(e)==="[object Object]",pr=e=>Ee(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,jn=ur(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Qs=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},eu=/-\w/g,rt=Qs(e=>e.replace(eu,t=>t.slice(1).toUpperCase())),tu=/\B([A-Z])/g,Zt=Qs(e=>e.replace(tu,"-$1").toLowerCase()),Xs=Qs(e=>e.charAt(0).toUpperCase()+e.slice(1)),yo=Qs(e=>e?`on${Xs(e)}`:""),zt=(e,t)=>!Object.is(e,t),Ss=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},Ls=e=>{const t=parseFloat(e);return isNaN(t)?e:t},nu=e=>{const t=Ee(e)?Number(e):NaN;return isNaN(t)?e:t};let zr;const Ys=()=>zr||(zr=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function cs(e){if(te(e)){const t={};for(let n=0;n{if(n){const s=n.split(ou);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function X(e){let t="";if(Ee(e))t=e;else if(te(e))for(let n=0;nus(n,t))}const Ll=e=>!!(e&&e.__v_isRef===!0),q=e=>Ee(e)?e:e==null?"":te(e)||be(e)&&(e.toString===Ol||!le(e.toString))?Ll(e)?q(e.value):JSON.stringify(e,Dl,2):String(e),Dl=(e,t)=>Ll(t)?Dl(e,t.value):hn(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,o],r)=>(n[bo(s,r)+" =>"]=o,n),{})}:En(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>bo(n))}:Tt(t)?bo(t):be(t)&&!te(t)&&!Pl(t)?String(t):t,bo=(e,t="")=>{var n;return Tt(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** +* @vue/reactivity v3.5.22 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let Ge;class Nl{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=Ge,!t&&Ge&&(this.index=(Ge.scopes||(Ge.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t0&&--this._on===0&&(Ge=this.prevScope,this.prevScope=void 0)}stop(t){if(this._active){this._active=!1;let n,s;for(n=0,s=this.effects.length;n0)return;if(Bn){let t=Bn;for(Bn=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Un;){let t=Un;for(Un=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(s){e||(e=s)}t=n}}if(e)throw e}function Bl(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Vl(e){let t,n=e.depsTail,s=n;for(;s;){const o=s.prevDep;s.version===-1?(s===n&&(n=o),vr(s),fu(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=o}e.deps=t,e.depsTail=n}function No(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Hl(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Hl(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Jn)||(e.globalVersion=Jn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!No(e))))return;e.flags|=2;const t=e.dep,n=Se,s=at;Se=e,at=!0;try{Bl(e);const o=e.fn(e._value);(t.version===0||zt(o,e._value))&&(e.flags|=128,e._value=o,t.version++)}catch(o){throw t.version++,o}finally{Se=n,at=s,Vl(e),e.flags&=-3}}function vr(e,t=!1){const{dep:n,prevSub:s,nextSub:o}=e;if(s&&(s.nextSub=o,e.prevSub=void 0),o&&(o.prevSub=s,e.nextSub=void 0),n.subs===e&&(n.subs=s,!s&&n.computed)){n.computed.flags&=-5;for(let r=n.computed.deps;r;r=r.nextDep)vr(r,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function fu(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let at=!0;const ql=[];function Lt(){ql.push(at),at=!1}function Dt(){const e=ql.pop();at=e===void 0?!0:e}function Wr(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=Se;Se=void 0;try{t()}finally{Se=n}}}let Jn=0;class pu{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class yr{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!Se||!at||Se===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==Se)n=this.activeLink=new pu(Se,this),Se.deps?(n.prevDep=Se.depsTail,Se.depsTail.nextDep=n,Se.depsTail=n):Se.deps=Se.depsTail=n,Kl(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const s=n.nextDep;s.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=s),n.prevDep=Se.depsTail,n.nextDep=void 0,Se.depsTail.nextDep=n,Se.depsTail=n,Se.deps===n&&(Se.deps=s)}return n}trigger(t){this.version++,Jn++,this.notify(t)}notify(t){mr();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{gr()}}}function Kl(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let s=t.deps;s;s=s.nextDep)Kl(s)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Fo=new WeakMap,on=Symbol(""),jo=Symbol(""),Zn=Symbol("");function Le(e,t,n){if(at&&Se){let s=Fo.get(e);s||Fo.set(e,s=new Map);let o=s.get(n);o||(s.set(n,o=new yr),o.map=s,o.key=n),o.track()}}function Pt(e,t,n,s,o,r){const i=Fo.get(e);if(!i){Jn++;return}const l=a=>{a&&a.trigger()};if(mr(),t==="clear")i.forEach(l);else{const a=te(e),u=a&&pr(n);if(a&&n==="length"){const c=Number(s);i.forEach((d,h)=>{(h==="length"||h===Zn||!Tt(h)&&h>=c)&&l(d)})}else switch((n!==void 0||i.has(void 0))&&l(i.get(n)),u&&l(i.get(Zn)),t){case"add":a?u&&l(i.get("length")):(l(i.get(on)),hn(e)&&l(i.get(jo)));break;case"delete":a||(l(i.get(on)),hn(e)&&l(i.get(jo)));break;case"set":hn(e)&&l(i.get(on));break}}gr()}function cn(e){const t=me(e);return t===e?t:(Le(t,"iterate",Zn),ot(e)?t:t.map(Ie))}function eo(e){return Le(e=me(e),"iterate",Zn),e}const hu={__proto__:null,[Symbol.iterator](){return Co(this,Symbol.iterator,Ie)},concat(...e){return cn(this).concat(...e.map(t=>te(t)?cn(t):t))},entries(){return Co(this,"entries",e=>(e[1]=Ie(e[1]),e))},every(e,t){return $t(this,"every",e,t,void 0,arguments)},filter(e,t){return $t(this,"filter",e,t,n=>n.map(Ie),arguments)},find(e,t){return $t(this,"find",e,t,Ie,arguments)},findIndex(e,t){return $t(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return $t(this,"findLast",e,t,Ie,arguments)},findLastIndex(e,t){return $t(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return $t(this,"forEach",e,t,void 0,arguments)},includes(...e){return wo(this,"includes",e)},indexOf(...e){return wo(this,"indexOf",e)},join(e){return cn(this).join(e)},lastIndexOf(...e){return wo(this,"lastIndexOf",e)},map(e,t){return $t(this,"map",e,t,void 0,arguments)},pop(){return Rn(this,"pop")},push(...e){return Rn(this,"push",e)},reduce(e,...t){return Gr(this,"reduce",e,t)},reduceRight(e,...t){return Gr(this,"reduceRight",e,t)},shift(){return Rn(this,"shift")},some(e,t){return $t(this,"some",e,t,void 0,arguments)},splice(...e){return Rn(this,"splice",e)},toReversed(){return cn(this).toReversed()},toSorted(e){return cn(this).toSorted(e)},toSpliced(...e){return cn(this).toSpliced(...e)},unshift(...e){return Rn(this,"unshift",e)},values(){return Co(this,"values",Ie)}};function Co(e,t,n){const s=eo(e),o=s[t]();return s!==e&&!ot(e)&&(o._next=o.next,o.next=()=>{const r=o._next();return r.done||(r.value=n(r.value)),r}),o}const mu=Array.prototype;function $t(e,t,n,s,o,r){const i=eo(e),l=i!==e&&!ot(e),a=i[t];if(a!==mu[t]){const d=a.apply(e,r);return l?Ie(d):d}let u=n;i!==e&&(l?u=function(d,h){return n.call(this,Ie(d),h,e)}:n.length>2&&(u=function(d,h){return n.call(this,d,h,e)}));const c=a.call(i,u,s);return l&&o?o(c):c}function Gr(e,t,n,s){const o=eo(e);let r=n;return o!==e&&(ot(e)?n.length>3&&(r=function(i,l,a){return n.call(this,i,l,a,e)}):r=function(i,l,a){return n.call(this,i,Ie(l),a,e)}),o[t](r,...s)}function wo(e,t,n){const s=me(e);Le(s,"iterate",Zn);const o=s[t](...n);return(o===-1||o===!1)&&Cr(n[0])?(n[0]=me(n[0]),s[t](...n)):o}function Rn(e,t,n=[]){Lt(),mr();const s=me(e)[t].apply(e,n);return gr(),Dt(),s}const gu=ur("__proto__,__v_isRef,__isVue"),zl=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Tt));function vu(e){Tt(e)||(e=String(e));const t=me(this);return Le(t,"has",e),t.hasOwnProperty(e)}class Wl{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){if(n==="__v_skip")return t.__v_skip;const o=this._isReadonly,r=this._isShallow;if(n==="__v_isReactive")return!o;if(n==="__v_isReadonly")return o;if(n==="__v_isShallow")return r;if(n==="__v_raw")return s===(o?r?ku:Ql:r?Zl:Jl).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const i=te(t);if(!o){let a;if(i&&(a=hu[n]))return a;if(n==="hasOwnProperty")return vu}const l=Reflect.get(t,n,Fe(t)?t:s);if((Tt(n)?zl.has(n):gu(n))||(o||Le(t,"get",n),r))return l;if(Fe(l)){const a=i&&pr(n)?l:l.value;return o&&be(a)?Bo(a):a}return be(l)?o?Bo(l):to(l):l}}class Gl extends Wl{constructor(t=!1){super(!1,t)}set(t,n,s,o){let r=t[n];if(!this._isShallow){const a=Wt(r);if(!ot(s)&&!Wt(s)&&(r=me(r),s=me(s)),!te(t)&&Fe(r)&&!Fe(s))return a||(r.value=s),!0}const i=te(t)&&pr(n)?Number(n)e,vs=e=>Reflect.getPrototypeOf(e);function wu(e,t,n){return function(...s){const o=this.__v_raw,r=me(o),i=hn(r),l=e==="entries"||e===Symbol.iterator&&i,a=e==="keys"&&i,u=o[e](...s),c=n?Uo:t?Ds:Ie;return!t&&Le(r,"iterate",a?jo:on),{next(){const{value:d,done:h}=u.next();return h?{value:d,done:h}:{value:l?[c(d[0]),c(d[1])]:c(d),done:h}},[Symbol.iterator](){return this}}}}function ys(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Su(e,t){const n={get(o){const r=this.__v_raw,i=me(r),l=me(o);e||(zt(o,l)&&Le(i,"get",o),Le(i,"get",l));const{has:a}=vs(i),u=t?Uo:e?Ds:Ie;if(a.call(i,o))return u(r.get(o));if(a.call(i,l))return u(r.get(l));r!==i&&r.get(o)},get size(){const o=this.__v_raw;return!e&&Le(me(o),"iterate",on),o.size},has(o){const r=this.__v_raw,i=me(r),l=me(o);return e||(zt(o,l)&&Le(i,"has",o),Le(i,"has",l)),o===l?r.has(o):r.has(o)||r.has(l)},forEach(o,r){const i=this,l=i.__v_raw,a=me(l),u=t?Uo:e?Ds:Ie;return!e&&Le(a,"iterate",on),l.forEach((c,d)=>o.call(r,u(c),u(d),i))}};return Oe(n,e?{add:ys("add"),set:ys("set"),delete:ys("delete"),clear:ys("clear")}:{add(o){!t&&!ot(o)&&!Wt(o)&&(o=me(o));const r=me(this);return vs(r).has.call(r,o)||(r.add(o),Pt(r,"add",o,o)),this},set(o,r){!t&&!ot(r)&&!Wt(r)&&(r=me(r));const i=me(this),{has:l,get:a}=vs(i);let u=l.call(i,o);u||(o=me(o),u=l.call(i,o));const c=a.call(i,o);return i.set(o,r),u?zt(r,c)&&Pt(i,"set",o,r):Pt(i,"add",o,r),this},delete(o){const r=me(this),{has:i,get:l}=vs(r);let a=i.call(r,o);a||(o=me(o),a=i.call(r,o)),l&&l.call(r,o);const u=r.delete(o);return a&&Pt(r,"delete",o,void 0),u},clear(){const o=me(this),r=o.size!==0,i=o.clear();return r&&Pt(o,"clear",void 0,void 0),i}}),["keys","values","entries",Symbol.iterator].forEach(o=>{n[o]=wu(o,e,t)}),n}function br(e,t){const n=Su(e,t);return(s,o,r)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?s:Reflect.get(ve(n,o)&&o in s?n:s,o,r)}const xu={get:br(!1,!1)},Eu={get:br(!1,!0)},Tu={get:br(!0,!1)};const Jl=new WeakMap,Zl=new WeakMap,Ql=new WeakMap,ku=new WeakMap;function $u(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Au(e){return e.__v_skip||!Object.isExtensible(e)?0:$u(Yc(e))}function to(e){return Wt(e)?e:_r(e,!1,bu,xu,Jl)}function Xl(e){return _r(e,!1,Cu,Eu,Zl)}function Bo(e){return _r(e,!0,_u,Tu,Ql)}function _r(e,t,n,s,o){if(!be(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const r=Au(e);if(r===0)return e;const i=o.get(e);if(i)return i;const l=new Proxy(e,r===2?s:n);return o.set(e,l),l}function mn(e){return Wt(e)?mn(e.__v_raw):!!(e&&e.__v_isReactive)}function Wt(e){return!!(e&&e.__v_isReadonly)}function ot(e){return!!(e&&e.__v_isShallow)}function Cr(e){return e?!!e.__v_raw:!1}function me(e){const t=e&&e.__v_raw;return t?me(t):e}function Yl(e){return!ve(e,"__v_skip")&&Object.isExtensible(e)&&Il(e,"__v_skip",!0),e}const Ie=e=>be(e)?to(e):e,Ds=e=>be(e)?Bo(e):e;function Fe(e){return e?e.__v_isRef===!0:!1}function Q(e){return ea(e,!1)}function Qn(e){return ea(e,!0)}function ea(e,t){return Fe(e)?e:new Ru(e,t)}class Ru{constructor(t,n){this.dep=new yr,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:me(t),this._value=n?t:Ie(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,s=this.__v_isShallow||ot(t)||Wt(t);t=s?t:me(t),zt(t,n)&&(this._rawValue=t,this._value=s?t:Ie(t),this.dep.trigger())}}function z(e){return Fe(e)?e.value:e}const Ou={get:(e,t,n)=>t==="__v_raw"?e:z(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const o=e[t];return Fe(o)&&!Fe(n)?(o.value=n,!0):Reflect.set(e,t,n,s)}};function ta(e){return mn(e)?e:new Proxy(e,Ou)}class Pu{constructor(t,n,s){this.fn=t,this.setter=n,this._value=void 0,this.dep=new yr(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Jn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=s}notify(){if(this.flags|=16,!(this.flags&8)&&Se!==this)return Ul(this,!0),!0}get value(){const t=this.dep.track();return Hl(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Iu(e,t,n=!1){let s,o;return le(e)?s=e:(s=e.get,o=e.set),new Pu(s,o,n)}const bs={},Ns=new WeakMap;let tn;function Mu(e,t=!1,n=tn){if(n){let s=Ns.get(n);s||Ns.set(n,s=[]),s.push(e)}}function Lu(e,t,n=Ce){const{immediate:s,deep:o,once:r,scheduler:i,augmentJob:l,call:a}=n,u=w=>o?w:ot(w)||o===!1||o===0?It(w,1):It(w);let c,d,h,p,m=!1,y=!1;if(Fe(e)?(d=()=>e.value,m=ot(e)):mn(e)?(d=()=>u(e),m=!0):te(e)?(y=!0,m=e.some(w=>mn(w)||ot(w)),d=()=>e.map(w=>{if(Fe(w))return w.value;if(mn(w))return u(w);if(le(w))return a?a(w,2):w()})):le(e)?t?d=a?()=>a(e,2):e:d=()=>{if(h){Lt();try{h()}finally{Dt()}}const w=tn;tn=c;try{return a?a(e,3,[p]):e(p)}finally{tn=w}}:d=Et,t&&o){const w=d,j=o===!0?1/0:o;d=()=>It(w(),j)}const b=du(),I=()=>{c.stop(),b&&b.active&&fr(b.effects,c)};if(r&&t){const w=t;t=(...j)=>{w(...j),I()}}let L=y?new Array(e.length).fill(bs):bs;const T=w=>{if(!(!(c.flags&1)||!c.dirty&&!w))if(t){const j=c.run();if(o||m||(y?j.some((U,H)=>zt(U,L[H])):zt(j,L))){h&&h();const U=tn;tn=c;try{const H=[j,L===bs?void 0:y&&L[0]===bs?[]:L,p];L=j,a?a(t,3,H):t(...H)}finally{tn=U}}}else c.run()};return l&&l(T),c=new Fl(d),c.scheduler=i?()=>i(T,!1):T,p=w=>Mu(w,!1,c),h=c.onStop=()=>{const w=Ns.get(c);if(w){if(a)a(w,4);else for(const j of w)j();Ns.delete(c)}},t?s?T(!0):L=c.run():i?i(T.bind(null,!0),!0):c.run(),I.pause=c.pause.bind(c),I.resume=c.resume.bind(c),I.stop=I,I}function It(e,t=1/0,n){if(t<=0||!be(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,Fe(e))It(e.value,t,n);else if(te(e))for(let s=0;s{It(s,t,n)});else if(Pl(e)){for(const s in e)It(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&It(e[s],t,n)}return e}/** +* @vue/runtime-core v3.5.22 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function ds(e,t,n,s){try{return s?e(...s):e()}catch(o){no(o,t,n)}}function dt(e,t,n,s){if(le(e)){const o=ds(e,t,n,s);return o&&Rl(o)&&o.catch(r=>{no(r,t,n)}),o}if(te(e)){const o=[];for(let r=0;r>>1,o=Ve[s],r=Xn(o);r=Xn(n)?Ve.push(e):Ve.splice(Nu(t),0,e),e.flags|=1,sa()}}function sa(){Fs||(Fs=na.then(ra))}function Fu(e){te(e)?gn.push(...e):Vt&&e.id===-1?Vt.splice(un+1,0,e):e.flags&1||(gn.push(e),e.flags|=1),sa()}function Jr(e,t,n=wt+1){for(;nXn(n)-Xn(s));if(gn.length=0,Vt){Vt.push(...t);return}for(Vt=t,un=0;une.id==null?e.flags&2?-1:1/0:e.id;function ra(e){try{for(wt=0;wt{s._d&&Vs(-1);const r=js(t);let i;try{i=e(...o)}finally{js(r),s._d&&Vs(1)}return i};return s._n=!0,s._c=!0,s._d=!0,s}function Je(e,t){if(Ye===null)return e;const n=lo(Ye),s=e.dirs||(e.dirs=[]);for(let o=0;oe.__isTeleport,Vn=e=>e&&(e.disabled||e.disabled===""),Zr=e=>e&&(e.defer||e.defer===""),Qr=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Xr=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Vo=(e,t)=>{const n=e&&e.to;return Ee(n)?t?t(n):null:n},ca={name:"Teleport",__isTeleport:!0,process(e,t,n,s,o,r,i,l,a,u){const{mc:c,pc:d,pbc:h,o:{insert:p,querySelector:m,createText:y,createComment:b}}=u,I=Vn(t.props);let{shapeFlag:L,children:T,dynamicChildren:w}=t;if(e==null){const j=t.el=y(""),U=t.anchor=y("");p(j,n,s),p(U,n,s);const H=(E,C)=>{L&16&&c(T,E,C,o,r,i,l,a)},N=()=>{const E=t.target=Vo(t.props,m),C=ua(E,t,y,p);E&&(i!=="svg"&&Qr(E)?i="svg":i!=="mathml"&&Xr(E)&&(i="mathml"),o&&o.isCE&&(o.ce._teleportTargets||(o.ce._teleportTargets=new Set)).add(E),I||(H(E,C),xs(t,!1)))};I&&(H(n,U),xs(t,!0)),Zr(t.props)?(t.el.__isMounted=!1,Ue(()=>{N(),delete t.el.__isMounted},r)):N()}else{if(Zr(t.props)&&e.el.__isMounted===!1){Ue(()=>{ca.process(e,t,n,s,o,r,i,l,a,u)},r);return}t.el=e.el,t.targetStart=e.targetStart;const j=t.anchor=e.anchor,U=t.target=e.target,H=t.targetAnchor=e.targetAnchor,N=Vn(e.props),E=N?n:U,C=N?j:H;if(i==="svg"||Qr(U)?i="svg":(i==="mathml"||Xr(U))&&(i="mathml"),w?(h(e.dynamicChildren,w,E,o,r,i,l),kr(e,t,!0)):a||d(e,t,E,C,o,r,i,l,!1),I)N?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):_s(t,n,j,u,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const x=t.target=Vo(t.props,m);x&&_s(t,x,null,u,0)}else N&&_s(t,U,H,u,1);xs(t,I)}},remove(e,t,n,{um:s,o:{remove:o}},r){const{shapeFlag:i,children:l,anchor:a,targetStart:u,targetAnchor:c,target:d,props:h}=e;if(d&&(o(u),o(c)),r&&o(a),i&16){const p=r||!Vn(h);for(let m=0;m{e.isMounted=!0}),ba(()=>{e.isUnmounting=!0}),e}const st=[Function,Array],fa={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:st,onEnter:st,onAfterEnter:st,onEnterCancelled:st,onBeforeLeave:st,onLeave:st,onAfterLeave:st,onLeaveCancelled:st,onBeforeAppear:st,onAppear:st,onAfterAppear:st,onAppearCancelled:st},pa=e=>{const t=e.subTree;return t.component?pa(t.component):t},Uu={name:"BaseTransition",props:fa,setup(e,{slots:t}){const n=Ar(),s=da();return()=>{const o=t.default&&xr(t.default(),!0);if(!o||!o.length)return;const r=ha(o),i=me(e),{mode:l}=i;if(s.isLeaving)return So(r);const a=Yr(r);if(!a)return So(r);let u=Yn(a,i,s,n,d=>u=d);a.type!==He&&ln(a,u);let c=n.subTree&&Yr(n.subTree);if(c&&c.type!==He&&!nn(c,a)&&pa(n).type!==He){let d=Yn(c,i,s,n);if(ln(c,d),l==="out-in"&&a.type!==He)return s.isLeaving=!0,d.afterLeave=()=>{s.isLeaving=!1,n.job.flags&8||n.update(),delete d.afterLeave,c=void 0},So(r);l==="in-out"&&a.type!==He?d.delayLeave=(h,p,m)=>{const y=ma(s,c);y[String(c.key)]=c,h[Ot]=()=>{p(),h[Ot]=void 0,delete u.delayedLeave,c=void 0},u.delayedLeave=()=>{m(),delete u.delayedLeave,c=void 0}}:c=void 0}else c&&(c=void 0);return r}}};function ha(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==He){t=n;break}}return t}const Bu=Uu;function ma(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function Yn(e,t,n,s,o){const{appear:r,mode:i,persisted:l=!1,onBeforeEnter:a,onEnter:u,onAfterEnter:c,onEnterCancelled:d,onBeforeLeave:h,onLeave:p,onAfterLeave:m,onLeaveCancelled:y,onBeforeAppear:b,onAppear:I,onAfterAppear:L,onAppearCancelled:T}=t,w=String(e.key),j=ma(n,e),U=(E,C)=>{E&&dt(E,s,9,C)},H=(E,C)=>{const x=C[1];U(E,C),te(E)?E.every($=>$.length<=1)&&x():E.length<=1&&x()},N={mode:i,persisted:l,beforeEnter(E){let C=a;if(!n.isMounted)if(r)C=b||a;else return;E[Ot]&&E[Ot](!0);const x=j[w];x&&nn(e,x)&&x.el[Ot]&&x.el[Ot](),U(C,[E])},enter(E){let C=u,x=c,$=d;if(!n.isMounted)if(r)C=I||u,x=L||c,$=T||d;else return;let re=!1;const he=E[Cs]=Te=>{re||(re=!0,Te?U($,[E]):U(x,[E]),N.delayedLeave&&N.delayedLeave(),E[Cs]=void 0)};C?H(C,[E,he]):he()},leave(E,C){const x=String(e.key);if(E[Cs]&&E[Cs](!0),n.isUnmounting)return C();U(h,[E]);let $=!1;const re=E[Ot]=he=>{$||($=!0,C(),he?U(y,[E]):U(m,[E]),E[Ot]=void 0,j[x]===e&&delete j[x])};j[x]=e,p?H(p,[E,re]):re()},clone(E){const C=Yn(E,t,n,s,o);return o&&o(C),C}};return N}function So(e){if(so(e))return e=Gt(e),e.children=null,e}function Yr(e){if(!so(e))return aa(e.type)&&e.children?ha(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&le(n.default))return n.default()}}function ln(e,t){e.shapeFlag&6&&e.component?(e.transition=t,ln(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function xr(e,t=!1,n){let s=[],o=0;for(let r=0;r1)for(let r=0;rHn(m,t&&(te(t)?t[y]:t),n,s,o));return}if(qn(s)&&!o){s.shapeFlag&512&&s.type.__asyncResolved&&s.component.subTree.component&&Hn(e,t,n,s.component.subTree);return}const r=s.shapeFlag&4?lo(s.component):s.el,i=o?null:r,{i:l,r:a}=e,u=t&&t.r,c=l.refs===Ce?l.refs={}:l.refs,d=l.setupState,h=me(d),p=d===Ce?Al:m=>ve(h,m);if(u!=null&&u!==a){if(ei(t),Ee(u))c[u]=null,p(u)&&(d[u]=null);else if(Fe(u)){u.value=null;const m=t;m.k&&(c[m.k]=null)}}if(le(a))ds(a,l,12,[i,c]);else{const m=Ee(a),y=Fe(a);if(m||y){const b=()=>{if(e.f){const I=m?p(a)?d[a]:c[a]:a.value;if(o)te(I)&&fr(I,r);else if(te(I))I.includes(r)||I.push(r);else if(m)c[a]=[r],p(a)&&(d[a]=c[a]);else{const L=[r];a.value=L,e.k&&(c[e.k]=L)}}else m?(c[a]=i,p(a)&&(d[a]=i)):y&&(a.value=i,e.k&&(c[e.k]=i))};if(i){const I=()=>{b(),Us.delete(e)};I.id=-1,Us.set(e,I),Ue(I,n)}else ei(e),b()}}}function ei(e){const t=Us.get(e);t&&(t.flags|=8,Us.delete(e))}Ys().requestIdleCallback;Ys().cancelIdleCallback;const qn=e=>!!e.type.__asyncLoader,so=e=>e.type.__isKeepAlive;function Vu(e,t){va(e,"a",t)}function Hu(e,t){va(e,"da",t)}function va(e,t,n=De){const s=e.__wdc||(e.__wdc=()=>{let o=n;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(oo(t,s,n),n){let o=n.parent;for(;o&&o.parent;)so(o.parent.vnode)&&qu(s,t,n,o),o=o.parent}}function qu(e,t,n,s){const o=oo(t,e,s,!0);Tn(()=>{fr(s[t],o)},n)}function oo(e,t,n=De,s=!1){if(n){const o=n[e]||(n[e]=[]),r=t.__weh||(t.__weh=(...i)=>{Lt();const l=fs(n),a=dt(t,n,e,i);return l(),Dt(),a});return s?o.unshift(r):o.push(r),r}}const Ft=e=>(t,n=De)=>{(!ns||e==="sp")&&oo(e,(...s)=>t(...s),n)},Ku=Ft("bm"),it=Ft("m"),zu=Ft("bu"),ya=Ft("u"),ba=Ft("bum"),Tn=Ft("um"),Wu=Ft("sp"),Gu=Ft("rtg"),Ju=Ft("rtc");function Zu(e,t=De){oo("ec",e,t)}const _a="components";function ti(e,t){return wa(_a,e,!0,t)||e}const Ca=Symbol.for("v-ndc");function Qu(e){return Ee(e)?wa(_a,e,!1)||e:e||Ca}function wa(e,t,n=!0,s=!1){const o=Ye||De;if(o){const r=o.type;{const l=Fd(r,!1);if(l&&(l===t||l===rt(t)||l===Xs(rt(t))))return r}const i=ni(o[e]||r[e],t)||ni(o.appContext[e],t);return!i&&s?r:i}}function ni(e,t){return e&&(e[t]||e[rt(t)]||e[Xs(rt(t))])}function Nt(e,t,n,s){let o;const r=n,i=te(e);if(i||Ee(e)){const l=i&&mn(e);let a=!1,u=!1;l&&(a=!ot(e),u=Wt(e),e=eo(e)),o=new Array(e.length);for(let c=0,d=e.length;ct(l,a,void 0,r));else{const l=Object.keys(e);o=new Array(l.length);for(let a=0,u=l.length;ae?Ba(e)?lo(e):Ho(e.parent):null,Kn=Oe(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Ho(e.parent),$root:e=>Ho(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>xa(e),$forceUpdate:e=>e.f||(e.f=()=>{wr(e.update)}),$nextTick:e=>e.n||(e.n=yn.bind(e.proxy)),$watch:e=>yd.bind(e)}),xo=(e,t)=>e!==Ce&&!e.__isScriptSetup&&ve(e,t),Xu={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:o,props:r,accessCache:i,type:l,appContext:a}=e;let u;if(t[0]!=="$"){const p=i[t];if(p!==void 0)switch(p){case 1:return s[t];case 2:return o[t];case 4:return n[t];case 3:return r[t]}else{if(xo(s,t))return i[t]=1,s[t];if(o!==Ce&&ve(o,t))return i[t]=2,o[t];if((u=e.propsOptions[0])&&ve(u,t))return i[t]=3,r[t];if(n!==Ce&&ve(n,t))return i[t]=4,n[t];qo&&(i[t]=0)}}const c=Kn[t];let d,h;if(c)return t==="$attrs"&&Le(e.attrs,"get",""),c(e);if((d=l.__cssModules)&&(d=d[t]))return d;if(n!==Ce&&ve(n,t))return i[t]=4,n[t];if(h=a.config.globalProperties,ve(h,t))return h[t]},set({_:e},t,n){const{data:s,setupState:o,ctx:r}=e;return xo(o,t)?(o[t]=n,!0):s!==Ce&&ve(s,t)?(s[t]=n,!0):ve(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(r[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:o,propsOptions:r,type:i}},l){let a,u;return!!(n[l]||e!==Ce&&l[0]!=="$"&&ve(e,l)||xo(t,l)||(a=r[0])&&ve(a,l)||ve(s,l)||ve(Kn,l)||ve(o.config.globalProperties,l)||(u=i.__cssModules)&&u[l])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:ve(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function si(e){return te(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let qo=!0;function Yu(e){const t=xa(e),n=e.proxy,s=e.ctx;qo=!1,t.beforeCreate&&oi(t.beforeCreate,e,"bc");const{data:o,computed:r,methods:i,watch:l,provide:a,inject:u,created:c,beforeMount:d,mounted:h,beforeUpdate:p,updated:m,activated:y,deactivated:b,beforeDestroy:I,beforeUnmount:L,destroyed:T,unmounted:w,render:j,renderTracked:U,renderTriggered:H,errorCaptured:N,serverPrefetch:E,expose:C,inheritAttrs:x,components:$,directives:re,filters:he}=t;if(u&&ed(u,s,null),i)for(const fe in i){const ce=i[fe];le(ce)&&(s[fe]=ce.bind(n))}if(o){const fe=o.call(n,n);be(fe)&&(e.data=to(fe))}if(qo=!0,r)for(const fe in r){const ce=r[fe],tt=le(ce)?ce.bind(n,n):le(ce.get)?ce.get.bind(n,n):Et,ht=!le(ce)&&le(ce.set)?ce.set.bind(n):Et,Re=de({get:tt,set:ht});Object.defineProperty(s,fe,{enumerable:!0,configurable:!0,get:()=>Re.value,set:$e=>Re.value=$e})}if(l)for(const fe in l)Sa(l[fe],s,n,fe);if(a){const fe=le(a)?a.call(n):a;Reflect.ownKeys(fe).forEach(ce=>{Es(ce,fe[ce])})}c&&oi(c,e,"c");function ue(fe,ce){te(ce)?ce.forEach(tt=>fe(tt.bind(n))):ce&&fe(ce.bind(n))}if(ue(Ku,d),ue(it,h),ue(zu,p),ue(ya,m),ue(Vu,y),ue(Hu,b),ue(Zu,N),ue(Ju,U),ue(Gu,H),ue(ba,L),ue(Tn,w),ue(Wu,E),te(C))if(C.length){const fe=e.exposed||(e.exposed={});C.forEach(ce=>{Object.defineProperty(fe,ce,{get:()=>n[ce],set:tt=>n[ce]=tt,enumerable:!0})})}else e.exposed||(e.exposed={});j&&e.render===Et&&(e.render=j),x!=null&&(e.inheritAttrs=x),$&&(e.components=$),re&&(e.directives=re),E&&ga(e)}function ed(e,t,n=Et){te(e)&&(e=Ko(e));for(const s in e){const o=e[s];let r;be(o)?"default"in o?r=ct(o.from||s,o.default,!0):r=ct(o.from||s):r=ct(o),Fe(r)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>r.value,set:i=>r.value=i}):t[s]=r}}function oi(e,t,n){dt(te(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function Sa(e,t,n,s){let o=s.includes(".")?Da(n,s):()=>n[s];if(Ee(e)){const r=t[e];le(r)&&ut(o,r)}else if(le(e))ut(o,e.bind(n));else if(be(e))if(te(e))e.forEach(r=>Sa(r,t,n,s));else{const r=le(e.handler)?e.handler.bind(n):t[e.handler];le(r)&&ut(o,r,e)}}function xa(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:o,optionsCache:r,config:{optionMergeStrategies:i}}=e.appContext,l=r.get(t);let a;return l?a=l:!o.length&&!n&&!s?a=t:(a={},o.length&&o.forEach(u=>Bs(a,u,i,!0)),Bs(a,t,i)),be(t)&&r.set(t,a),a}function Bs(e,t,n,s=!1){const{mixins:o,extends:r}=t;r&&Bs(e,r,n,!0),o&&o.forEach(i=>Bs(e,i,n,!0));for(const i in t)if(!(s&&i==="expose")){const l=td[i]||n&&n[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const td={data:ri,props:ii,emits:ii,methods:Fn,computed:Fn,beforeCreate:je,created:je,beforeMount:je,mounted:je,beforeUpdate:je,updated:je,beforeDestroy:je,beforeUnmount:je,destroyed:je,unmounted:je,activated:je,deactivated:je,errorCaptured:je,serverPrefetch:je,components:Fn,directives:Fn,watch:sd,provide:ri,inject:nd};function ri(e,t){return t?e?function(){return Oe(le(e)?e.call(this,this):e,le(t)?t.call(this,this):t)}:t:e}function nd(e,t){return Fn(Ko(e),Ko(t))}function Ko(e){if(te(e)){const t={};for(let n=0;n1)return n&&le(t)?t.call(s&&s.proxy):t}}const Ta={},ka=()=>Object.create(Ta),$a=e=>Object.getPrototypeOf(e)===Ta;function id(e,t,n,s=!1){const o={},r=ka();e.propsDefaults=Object.create(null),Aa(e,t,o,r);for(const i in e.propsOptions[0])i in o||(o[i]=void 0);n?e.props=s?o:Xl(o):e.type.props?e.props=o:e.props=r,e.attrs=r}function ld(e,t,n,s){const{props:o,attrs:r,vnode:{patchFlag:i}}=e,l=me(o),[a]=e.propsOptions;let u=!1;if((s||i>0)&&!(i&16)){if(i&8){const c=e.vnode.dynamicProps;for(let d=0;d{a=!0;const[h,p]=Ra(d,t,!0);Oe(i,h),p&&l.push(...p)};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}if(!r&&!a)return be(e)&&s.set(e,pn),pn;if(te(r))for(let c=0;ce==="_"||e==="_ctx"||e==="$stable",Tr=e=>te(e)?e.map(St):[St(e)],cd=(e,t,n)=>{if(t._n)return t;const s=Be((...o)=>Tr(t(...o)),n);return s._c=!1,s},Oa=(e,t,n)=>{const s=e._ctx;for(const o in e){if(Er(o))continue;const r=e[o];if(le(r))t[o]=cd(o,r,s);else if(r!=null){const i=Tr(r);t[o]=()=>i}}},Pa=(e,t)=>{const n=Tr(t);e.slots.default=()=>n},Ia=(e,t,n)=>{for(const s in t)(n||!Er(s))&&(e[s]=t[s])},ud=(e,t,n)=>{const s=e.slots=ka();if(e.vnode.shapeFlag&32){const o=t._;o?(Ia(s,t,n),n&&Il(s,"_",o,!0)):Oa(t,s)}else t&&Pa(e,t)},dd=(e,t,n)=>{const{vnode:s,slots:o}=e;let r=!0,i=Ce;if(s.shapeFlag&32){const l=t._;l?n&&l===1?r=!1:Ia(o,t,n):(r=!t.$stable,Oa(t,o)),i=t}else t&&(Pa(e,t),i={default:1});if(r)for(const l in o)!Er(l)&&i[l]==null&&delete o[l]},Ue=Td;function fd(e){return pd(e)}function pd(e,t){const n=Ys();n.__VUE__=!0;const{insert:s,remove:o,patchProp:r,createElement:i,createText:l,createComment:a,setText:u,setElementText:c,parentNode:d,nextSibling:h,setScopeId:p=Et,insertStaticContent:m}=e,y=(g,v,_,O=null,M=null,R=null,W=void 0,K=null,V=!!v.dynamicChildren)=>{if(g===v)return;g&&!nn(g,v)&&(O=P(g),$e(g,M,R,!0),g=null),v.patchFlag===-2&&(V=!1,v.dynamicChildren=null);const{type:F,ref:se,shapeFlag:J}=v;switch(F){case io:b(g,v,_,O);break;case He:I(g,v,_,O);break;case Ts:g==null&&L(v,_,O,W);break;case xe:$(g,v,_,O,M,R,W,K,V);break;default:J&1?j(g,v,_,O,M,R,W,K,V):J&6?re(g,v,_,O,M,R,W,K,V):(J&64||J&128)&&F.process(g,v,_,O,M,R,W,K,V,Y)}se!=null&&M?Hn(se,g&&g.ref,R,v||g,!v):se==null&&g&&g.ref!=null&&Hn(g.ref,null,R,g,!0)},b=(g,v,_,O)=>{if(g==null)s(v.el=l(v.children),_,O);else{const M=v.el=g.el;v.children!==g.children&&u(M,v.children)}},I=(g,v,_,O)=>{g==null?s(v.el=a(v.children||""),_,O):v.el=g.el},L=(g,v,_,O)=>{[g.el,g.anchor]=m(g.children,v,_,O,g.el,g.anchor)},T=({el:g,anchor:v},_,O)=>{let M;for(;g&&g!==v;)M=h(g),s(g,_,O),g=M;s(v,_,O)},w=({el:g,anchor:v})=>{let _;for(;g&&g!==v;)_=h(g),o(g),g=_;o(v)},j=(g,v,_,O,M,R,W,K,V)=>{v.type==="svg"?W="svg":v.type==="math"&&(W="mathml"),g==null?U(v,_,O,M,R,W,K,V):E(g,v,M,R,W,K,V)},U=(g,v,_,O,M,R,W,K)=>{let V,F;const{props:se,shapeFlag:J,transition:ne,dirs:ie}=g;if(V=g.el=i(g.type,R,se&&se.is,se),J&8?c(V,g.children):J&16&&N(g.children,V,null,O,M,Eo(g,R),W,K),ie&&Xt(g,null,O,"created"),H(V,g,g.scopeId,W,O),se){for(const we in se)we!=="value"&&!jn(we)&&r(V,we,null,se[we],R,O);"value"in se&&r(V,"value",null,se.value,R),(F=se.onVnodeBeforeMount)&&bt(F,O,g)}ie&&Xt(g,null,O,"beforeMount");const pe=hd(M,ne);pe&&ne.beforeEnter(V),s(V,v,_),((F=se&&se.onVnodeMounted)||pe||ie)&&Ue(()=>{F&&bt(F,O,g),pe&&ne.enter(V),ie&&Xt(g,null,O,"mounted")},M)},H=(g,v,_,O,M)=>{if(_&&p(g,_),O)for(let R=0;R{for(let F=V;F{const K=v.el=g.el;let{patchFlag:V,dynamicChildren:F,dirs:se}=v;V|=g.patchFlag&16;const J=g.props||Ce,ne=v.props||Ce;let ie;if(_&&Yt(_,!1),(ie=ne.onVnodeBeforeUpdate)&&bt(ie,_,v,g),se&&Xt(v,g,_,"beforeUpdate"),_&&Yt(_,!0),(J.innerHTML&&ne.innerHTML==null||J.textContent&&ne.textContent==null)&&c(K,""),F?C(g.dynamicChildren,F,K,_,O,Eo(v,M),R):W||ce(g,v,K,null,_,O,Eo(v,M),R,!1),V>0){if(V&16)x(K,J,ne,_,M);else if(V&2&&J.class!==ne.class&&r(K,"class",null,ne.class,M),V&4&&r(K,"style",J.style,ne.style,M),V&8){const pe=v.dynamicProps;for(let we=0;we{ie&&bt(ie,_,v,g),se&&Xt(v,g,_,"updated")},O)},C=(g,v,_,O,M,R,W)=>{for(let K=0;K{if(v!==_){if(v!==Ce)for(const R in v)!jn(R)&&!(R in _)&&r(g,R,v[R],null,M,O);for(const R in _){if(jn(R))continue;const W=_[R],K=v[R];W!==K&&R!=="value"&&r(g,R,K,W,M,O)}"value"in _&&r(g,"value",v.value,_.value,M)}},$=(g,v,_,O,M,R,W,K,V)=>{const F=v.el=g?g.el:l(""),se=v.anchor=g?g.anchor:l("");let{patchFlag:J,dynamicChildren:ne,slotScopeIds:ie}=v;ie&&(K=K?K.concat(ie):ie),g==null?(s(F,_,O),s(se,_,O),N(v.children||[],_,se,M,R,W,K,V)):J>0&&J&64&&ne&&g.dynamicChildren?(C(g.dynamicChildren,ne,_,M,R,W,K),(v.key!=null||M&&v===M.subTree)&&kr(g,v,!0)):ce(g,v,_,se,M,R,W,K,V)},re=(g,v,_,O,M,R,W,K,V)=>{v.slotScopeIds=K,g==null?v.shapeFlag&512?M.ctx.activate(v,_,O,W,V):he(v,_,O,M,R,W,V):Te(g,v,V)},he=(g,v,_,O,M,R,W)=>{const K=g.component=Id(g,O,M);if(so(g)&&(K.ctx.renderer=Y),Md(K,!1,W),K.asyncDep){if(M&&M.registerDep(K,ue,W),!g.el){const V=K.subTree=k(He);I(null,V,v,_),g.placeholder=V.el}}else ue(K,g,v,_,M,R,W)},Te=(g,v,_)=>{const O=v.component=g.component;if(xd(g,v,_))if(O.asyncDep&&!O.asyncResolved){fe(O,v,_);return}else O.next=v,O.update();else v.el=g.el,O.vnode=v},ue=(g,v,_,O,M,R,W)=>{const K=()=>{if(g.isMounted){let{next:J,bu:ne,u:ie,parent:pe,vnode:we}=g;{const vt=Ma(g);if(vt){J&&(J.el=we.el,fe(g,J,W)),vt.asyncDep.then(()=>{g.isUnmounted||K()});return}}let ye=J,ze;Yt(g,!1),J?(J.el=we.el,fe(g,J,W)):J=we,ne&&Ss(ne),(ze=J.props&&J.props.onVnodeBeforeUpdate)&&bt(ze,pe,J,we),Yt(g,!0);const We=ci(g),gt=g.subTree;g.subTree=We,y(gt,We,d(gt.el),P(gt),g,M,R),J.el=We.el,ye===null&&Ed(g,We.el),ie&&Ue(ie,M),(ze=J.props&&J.props.onVnodeUpdated)&&Ue(()=>bt(ze,pe,J,we),M)}else{let J;const{el:ne,props:ie}=v,{bm:pe,m:we,parent:ye,root:ze,type:We}=g,gt=qn(v);Yt(g,!1),pe&&Ss(pe),!gt&&(J=ie&&ie.onVnodeBeforeMount)&&bt(J,ye,v),Yt(g,!0);{ze.ce&&ze.ce._def.shadowRoot!==!1&&ze.ce._injectChildStyle(We);const vt=g.subTree=ci(g);y(null,vt,_,O,g,M,R),v.el=vt.el}if(we&&Ue(we,M),!gt&&(J=ie&&ie.onVnodeMounted)){const vt=v;Ue(()=>bt(J,ye,vt),M)}(v.shapeFlag&256||ye&&qn(ye.vnode)&&ye.vnode.shapeFlag&256)&&g.a&&Ue(g.a,M),g.isMounted=!0,v=_=O=null}};g.scope.on();const V=g.effect=new Fl(K);g.scope.off();const F=g.update=V.run.bind(V),se=g.job=V.runIfDirty.bind(V);se.i=g,se.id=g.uid,V.scheduler=()=>wr(se),Yt(g,!0),F()},fe=(g,v,_)=>{v.component=g;const O=g.vnode.props;g.vnode=v,g.next=null,ld(g,v.props,O,_),dd(g,v.children,_),Lt(),Jr(g),Dt()},ce=(g,v,_,O,M,R,W,K,V=!1)=>{const F=g&&g.children,se=g?g.shapeFlag:0,J=v.children,{patchFlag:ne,shapeFlag:ie}=v;if(ne>0){if(ne&128){ht(F,J,_,O,M,R,W,K,V);return}else if(ne&256){tt(F,J,_,O,M,R,W,K,V);return}}ie&8?(se&16&&nt(F,M,R),J!==F&&c(_,J)):se&16?ie&16?ht(F,J,_,O,M,R,W,K,V):nt(F,M,R,!0):(se&8&&c(_,""),ie&16&&N(J,_,O,M,R,W,K,V))},tt=(g,v,_,O,M,R,W,K,V)=>{g=g||pn,v=v||pn;const F=g.length,se=v.length,J=Math.min(F,se);let ne;for(ne=0;nese?nt(g,M,R,!0,!1,J):N(v,_,O,M,R,W,K,V,J)},ht=(g,v,_,O,M,R,W,K,V)=>{let F=0;const se=v.length;let J=g.length-1,ne=se-1;for(;F<=J&&F<=ne;){const ie=g[F],pe=v[F]=V?Ht(v[F]):St(v[F]);if(nn(ie,pe))y(ie,pe,_,null,M,R,W,K,V);else break;F++}for(;F<=J&&F<=ne;){const ie=g[J],pe=v[ne]=V?Ht(v[ne]):St(v[ne]);if(nn(ie,pe))y(ie,pe,_,null,M,R,W,K,V);else break;J--,ne--}if(F>J){if(F<=ne){const ie=ne+1,pe=iene)for(;F<=J;)$e(g[F],M,R,!0),F++;else{const ie=F,pe=F,we=new Map;for(F=pe;F<=ne;F++){const Xe=v[F]=V?Ht(v[F]):St(v[F]);Xe.key!=null&&we.set(Xe.key,F)}let ye,ze=0;const We=ne-pe+1;let gt=!1,vt=0;const An=new Array(We);for(F=0;F=We){$e(Xe,M,R,!0);continue}let yt;if(Xe.key!=null)yt=we.get(Xe.key);else for(ye=pe;ye<=ne;ye++)if(An[ye-pe]===0&&nn(Xe,v[ye])){yt=ye;break}yt===void 0?$e(Xe,M,R,!0):(An[yt-pe]=F+1,yt>=vt?vt=yt:gt=!0,y(Xe,v[yt],_,null,M,R,W,K,V),ze++)}const Vr=gt?md(An):pn;for(ye=Vr.length-1,F=We-1;F>=0;F--){const Xe=pe+F,yt=v[Xe],Hr=v[Xe+1],qr=Xe+1{const{el:R,type:W,transition:K,children:V,shapeFlag:F}=g;if(F&6){Re(g.component.subTree,v,_,O);return}if(F&128){g.suspense.move(v,_,O);return}if(F&64){W.move(g,v,_,Y);return}if(W===xe){s(R,v,_);for(let J=0;JK.enter(R),M);else{const{leave:J,delayLeave:ne,afterLeave:ie}=K,pe=()=>{g.ctx.isUnmounted?o(R):s(R,v,_)},we=()=>{R._isLeaving&&R[Ot](!0),J(R,()=>{pe(),ie&&ie()})};ne?ne(R,pe,we):we()}else s(R,v,_)},$e=(g,v,_,O=!1,M=!1)=>{const{type:R,props:W,ref:K,children:V,dynamicChildren:F,shapeFlag:se,patchFlag:J,dirs:ne,cacheIndex:ie}=g;if(J===-2&&(M=!1),K!=null&&(Lt(),Hn(K,null,_,g,!0),Dt()),ie!=null&&(v.renderCache[ie]=void 0),se&256){v.ctx.deactivate(g);return}const pe=se&1&&ne,we=!qn(g);let ye;if(we&&(ye=W&&W.onVnodeBeforeUnmount)&&bt(ye,v,g),se&6)Qt(g.component,_,O);else{if(se&128){g.suspense.unmount(_,O);return}pe&&Xt(g,null,v,"beforeUnmount"),se&64?g.type.remove(g,v,_,Y,O):F&&!F.hasOnce&&(R!==xe||J>0&&J&64)?nt(F,v,_,!1,!0):(R===xe&&J&384||!M&&se&16)&&nt(V,v,_),O&&mt(g)}(we&&(ye=W&&W.onVnodeUnmounted)||pe)&&Ue(()=>{ye&&bt(ye,v,g),pe&&Xt(g,null,v,"unmounted")},_)},mt=g=>{const{type:v,el:_,anchor:O,transition:M}=g;if(v===xe){lt(_,O);return}if(v===Ts){w(g);return}const R=()=>{o(_),M&&!M.persisted&&M.afterLeave&&M.afterLeave()};if(g.shapeFlag&1&&M&&!M.persisted){const{leave:W,delayLeave:K}=M,V=()=>W(_,R);K?K(g.el,R,V):V()}else R()},lt=(g,v)=>{let _;for(;g!==v;)_=h(g),o(g),g=_;o(v)},Qt=(g,v,_)=>{const{bum:O,scope:M,job:R,subTree:W,um:K,m:V,a:F}=g;ai(V),ai(F),O&&Ss(O),M.stop(),R&&(R.flags|=8,$e(W,g,v,_)),K&&Ue(K,v),Ue(()=>{g.isUnmounted=!0},v)},nt=(g,v,_,O=!1,M=!1,R=0)=>{for(let W=R;W{if(g.shapeFlag&6)return P(g.component.subTree);if(g.shapeFlag&128)return g.suspense.next();const v=h(g.anchor||g.el),_=v&&v[la];return _?h(_):v};let Z=!1;const G=(g,v,_)=>{g==null?v._vnode&&$e(v._vnode,null,null,!0):y(v._vnode||null,g,v,null,null,null,_),v._vnode=g,Z||(Z=!0,Jr(),oa(),Z=!1)},Y={p:y,um:$e,m:Re,r:mt,mt:he,mc:N,pc:ce,pbc:C,n:P,o:e};return{render:G,hydrate:void 0,createApp:rd(G)}}function Eo({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Yt({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function hd(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function kr(e,t,n=!1){const s=e.children,o=t.children;if(te(s)&&te(o))for(let r=0;r>1,e[n[l]]0&&(t[s]=n[r-1]),n[r]=s)}}for(r=n.length,i=n[r-1];r-- >0;)n[r]=i,i=t[i];return n}function Ma(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Ma(t)}function ai(e){if(e)for(let t=0;tct(gd);function ut(e,t,n){return La(e,t,n)}function La(e,t,n=Ce){const{immediate:s,deep:o,flush:r,once:i}=n,l=Oe({},n),a=t&&s||!t&&r!=="post";let u;if(ns){if(r==="sync"){const p=vd();u=p.__watcherHandles||(p.__watcherHandles=[])}else if(!a){const p=()=>{};return p.stop=Et,p.resume=Et,p.pause=Et,p}}const c=De;l.call=(p,m,y)=>dt(p,c,m,y);let d=!1;r==="post"?l.scheduler=p=>{Ue(p,c&&c.suspense)}:r!=="sync"&&(d=!0,l.scheduler=(p,m)=>{m?p():wr(p)}),l.augmentJob=p=>{t&&(p.flags|=4),d&&(p.flags|=2,c&&(p.id=c.uid,p.i=c))};const h=Lu(e,t,l);return ns&&(u?u.push(h):a&&h()),h}function yd(e,t,n){const s=this.proxy,o=Ee(e)?e.includes(".")?Da(s,e):()=>s[e]:e.bind(s,s);let r;le(t)?r=t:(r=t.handler,n=t);const i=fs(this),l=La(o,r.bind(s),n);return i(),l}function Da(e,t){const n=t.split(".");return()=>{let s=e;for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${rt(t)}Modifiers`]||e[`${Zt(t)}Modifiers`];function _d(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||Ce;let o=n;const r=t.startsWith("update:"),i=r&&bd(s,t.slice(7));i&&(i.trim&&(o=n.map(c=>Ee(c)?c.trim():c)),i.number&&(o=n.map(Ls)));let l,a=s[l=yo(t)]||s[l=yo(rt(t))];!a&&r&&(a=s[l=yo(Zt(t))]),a&&dt(a,e,6,o);const u=s[l+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,dt(u,e,6,o)}}const Cd=new WeakMap;function Na(e,t,n=!1){const s=n?Cd:t.emitsCache,o=s.get(e);if(o!==void 0)return o;const r=e.emits;let i={},l=!1;if(!le(e)){const a=u=>{const c=Na(u,t,!0);c&&(l=!0,Oe(i,c))};!n&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}return!r&&!l?(be(e)&&s.set(e,null),null):(te(r)?r.forEach(a=>i[a]=null):Oe(i,r),be(e)&&s.set(e,i),i)}function ro(e,t){return!e||!Zs(t)?!1:(t=t.slice(2).replace(/Once$/,""),ve(e,t[0].toLowerCase()+t.slice(1))||ve(e,Zt(t))||ve(e,t))}function ci(e){const{type:t,vnode:n,proxy:s,withProxy:o,propsOptions:[r],slots:i,attrs:l,emit:a,render:u,renderCache:c,props:d,data:h,setupState:p,ctx:m,inheritAttrs:y}=e,b=js(e);let I,L;try{if(n.shapeFlag&4){const w=o||s,j=w;I=St(u.call(j,w,c,d,p,h,m)),L=l}else{const w=t;I=St(w.length>1?w(d,{attrs:l,slots:i,emit:a}):w(d,null)),L=t.props?l:wd(l)}}catch(w){zn.length=0,no(w,e,1),I=k(He)}let T=I;if(L&&y!==!1){const w=Object.keys(L),{shapeFlag:j}=T;w.length&&j&7&&(r&&w.some(dr)&&(L=Sd(L,r)),T=Gt(T,L,!1,!0))}return n.dirs&&(T=Gt(T,null,!1,!0),T.dirs=T.dirs?T.dirs.concat(n.dirs):n.dirs),n.transition&&ln(T,n.transition),I=T,js(b),I}const wd=e=>{let t;for(const n in e)(n==="class"||n==="style"||Zs(n))&&((t||(t={}))[n]=e[n]);return t},Sd=(e,t)=>{const n={};for(const s in e)(!dr(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function xd(e,t,n){const{props:s,children:o,component:r}=e,{props:i,children:l,patchFlag:a}=t,u=r.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&a>=0){if(a&1024)return!0;if(a&16)return s?ui(s,i,u):!!i;if(a&8){const c=t.dynamicProps;for(let d=0;de.__isSuspense;function Td(e,t){t&&t.pendingBranch?te(e)?t.effects.push(...e):t.effects.push(e):Fu(e)}const xe=Symbol.for("v-fgt"),io=Symbol.for("v-txt"),He=Symbol.for("v-cmt"),Ts=Symbol.for("v-stc"),zn=[];let et=null;function A(e=!1){zn.push(et=e?null:[])}function kd(){zn.pop(),et=zn[zn.length-1]||null}let es=1;function Vs(e,t=!1){es+=e,e<0&&et&&t&&(et.hasOnce=!0)}function ja(e){return e.dynamicChildren=es>0?et||pn:null,kd(),es>0&&et&&et.push(e),e}function D(e,t,n,s,o,r){return ja(f(e,t,n,s,o,r,!0))}function qe(e,t,n,s,o){return ja(k(e,t,n,s,o,!0))}function Hs(e){return e?e.__v_isVNode===!0:!1}function nn(e,t){return e.type===t.type&&e.key===t.key}const Ua=({key:e})=>e??null,ks=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?Ee(e)||Fe(e)||le(e)?{i:Ye,r:e,k:t,f:!!n}:e:null);function f(e,t=null,n=null,s=0,o=null,r=e===xe?0:1,i=!1,l=!1){const a={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Ua(t),ref:t&&ks(t),scopeId:ia,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:r,patchFlag:s,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:Ye};return l?($r(a,n),r&128&&e.normalize(a)):n&&(a.shapeFlag|=Ee(n)?8:16),es>0&&!i&&et&&(a.patchFlag>0||r&6)&&a.patchFlag!==32&&et.push(a),a}const k=$d;function $d(e,t=null,n=null,s=0,o=null,r=!1){if((!e||e===Ca)&&(e=He),Hs(e)){const l=Gt(e,t,!0);return n&&$r(l,n),es>0&&!r&&et&&(l.shapeFlag&6?et[et.indexOf(e)]=l:et.push(l)),l.patchFlag=-2,l}if(jd(e)&&(e=e.__vccOpts),t){t=Ad(t);let{class:l,style:a}=t;l&&!Ee(l)&&(t.class=X(l)),be(a)&&(Cr(a)&&!te(a)&&(a=Oe({},a)),t.style=cs(a))}const i=Ee(e)?1:Fa(e)?128:aa(e)?64:be(e)?4:le(e)?2:0;return f(e,t,n,s,o,i,r,!0)}function Ad(e){return e?Cr(e)||$a(e)?Oe({},e):e:null}function Gt(e,t,n=!1,s=!1){const{props:o,ref:r,patchFlag:i,children:l,transition:a}=e,u=t?Rd(o||{},t):o,c={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&Ua(u),ref:t&&t.ref?n&&r?te(r)?r.concat(ks(t)):[r,ks(t)]:ks(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==xe?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:a,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Gt(e.ssContent),ssFallback:e.ssFallback&&Gt(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return a&&s&&ln(c,a.clone(c)),c}function ee(e=" ",t=0){return k(io,null,e,t)}function ts(e,t){const n=k(Ts,null,e);return n.staticCount=t,n}function oe(e="",t=!1){return t?(A(),qe(He,null,e)):k(He,null,e)}function St(e){return e==null||typeof e=="boolean"?k(He):te(e)?k(xe,null,e.slice()):Hs(e)?Ht(e):k(io,null,String(e))}function Ht(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Gt(e)}function $r(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(te(t))n=16;else if(typeof t=="object")if(s&65){const o=t.default;o&&(o._c&&(o._d=!1),$r(e,o()),o._c&&(o._d=!0));return}else{n=32;const o=t._;!o&&!$a(t)?t._ctx=Ye:o===3&&Ye&&(Ye.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else le(t)?(t={default:t,_ctx:Ye},n=32):(t=String(t),s&64?(n=16,t=[ee(t)]):n=8);e.children=t,e.shapeFlag|=n}function Rd(...e){const t={};for(let n=0;nDe||Ye;let qs,Wo;{const e=Ys(),t=(n,s)=>{let o;return(o=e[n])||(o=e[n]=[]),o.push(s),r=>{o.length>1?o.forEach(i=>i(r)):o[0](r)}};qs=t("__VUE_INSTANCE_SETTERS__",n=>De=n),Wo=t("__VUE_SSR_SETTERS__",n=>ns=n)}const fs=e=>{const t=De;return qs(e),e.scope.on(),()=>{e.scope.off(),qs(t)}},di=()=>{De&&De.scope.off(),qs(null)};function Ba(e){return e.vnode.shapeFlag&4}let ns=!1;function Md(e,t=!1,n=!1){t&&Wo(t);const{props:s,children:o}=e.vnode,r=Ba(e);id(e,s,r,t),ud(e,o,n||t);const i=r?Ld(e,t):void 0;return t&&Wo(!1),i}function Ld(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Xu);const{setup:s}=n;if(s){Lt();const o=e.setupContext=s.length>1?Nd(e):null,r=fs(e),i=ds(s,e,0,[e.props,o]),l=Rl(i);if(Dt(),r(),(l||e.sp)&&!qn(e)&&ga(e),l){if(i.then(di,di),t)return i.then(a=>{fi(e,a)}).catch(a=>{no(a,e,0)});e.asyncDep=i}else fi(e,i)}else Va(e)}function fi(e,t,n){le(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:be(t)&&(e.setupState=ta(t)),Va(e)}function Va(e,t,n){const s=e.type;e.render||(e.render=s.render||Et);{const o=fs(e);Lt();try{Yu(e)}finally{Dt(),o()}}}const Dd={get(e,t){return Le(e,"get",""),e[t]}};function Nd(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Dd),slots:e.slots,emit:e.emit,expose:t}}function lo(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(ta(Yl(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Kn)return Kn[n](e)},has(t,n){return n in t||n in Kn}})):e.proxy}function Fd(e,t=!0){return le(e)?e.displayName||e.name:e.name||t&&e.__name}function jd(e){return le(e)&&"__vccOpts"in e}const de=(e,t)=>Iu(e,t,ns);function Jt(e,t,n){try{Vs(-1);const s=arguments.length;return s===2?be(t)&&!te(t)?Hs(t)?k(e,null,[t]):k(e,t):k(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&Hs(n)&&(n=[n]),k(e,t,n))}finally{Vs(1)}}const Ud="3.5.22";/** +* @vue/runtime-dom v3.5.22 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let Go;const pi=typeof window<"u"&&window.trustedTypes;if(pi)try{Go=pi.createPolicy("vue",{createHTML:e=>e})}catch{}const Ha=Go?e=>Go.createHTML(e):e=>e,Bd="http://www.w3.org/2000/svg",Vd="http://www.w3.org/1998/Math/MathML",Rt=typeof document<"u"?document:null,hi=Rt&&Rt.createElement("template"),Hd={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const o=t==="svg"?Rt.createElementNS(Bd,e):t==="mathml"?Rt.createElementNS(Vd,e):n?Rt.createElement(e,{is:n}):Rt.createElement(e);return e==="select"&&s&&s.multiple!=null&&o.setAttribute("multiple",s.multiple),o},createText:e=>Rt.createTextNode(e),createComment:e=>Rt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Rt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,o,r){const i=n?n.previousSibling:t.lastChild;if(o&&(o===r||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),n),!(o===r||!(o=o.nextSibling)););else{hi.innerHTML=Ha(s==="svg"?`${e}`:s==="mathml"?`${e}`:e);const l=hi.content;if(s==="svg"||s==="mathml"){const a=l.firstChild;for(;a.firstChild;)l.appendChild(a.firstChild);l.removeChild(a)}t.insertBefore(l,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},jt="transition",On="animation",bn=Symbol("_vtc"),qa={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},Ka=Oe({},fa,qa),qd=e=>(e.displayName="Transition",e.props=Ka,e),ss=qd((e,{slots:t})=>Jt(Bu,za(e),t)),en=(e,t=[])=>{te(e)?e.forEach(n=>n(...t)):e&&e(...t)},mi=e=>e?te(e)?e.some(t=>t.length>1):e.length>1:!1;function za(e){const t={};for(const $ in e)$ in qa||(t[$]=e[$]);if(e.css===!1)return t;const{name:n="v",type:s,duration:o,enterFromClass:r=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:a=r,appearActiveClass:u=i,appearToClass:c=l,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:h=`${n}-leave-active`,leaveToClass:p=`${n}-leave-to`}=e,m=Kd(o),y=m&&m[0],b=m&&m[1],{onBeforeEnter:I,onEnter:L,onEnterCancelled:T,onLeave:w,onLeaveCancelled:j,onBeforeAppear:U=I,onAppear:H=L,onAppearCancelled:N=T}=t,E=($,re,he,Te)=>{$._enterCancelled=Te,Bt($,re?c:l),Bt($,re?u:i),he&&he()},C=($,re)=>{$._isLeaving=!1,Bt($,d),Bt($,p),Bt($,h),re&&re()},x=$=>(re,he)=>{const Te=$?H:L,ue=()=>E(re,$,he);en(Te,[re,ue]),gi(()=>{Bt(re,$?a:r),Ct(re,$?c:l),mi(Te)||vi(re,s,y,ue)})};return Oe(t,{onBeforeEnter($){en(I,[$]),Ct($,r),Ct($,i)},onBeforeAppear($){en(U,[$]),Ct($,a),Ct($,u)},onEnter:x(!1),onAppear:x(!0),onLeave($,re){$._isLeaving=!0;const he=()=>C($,re);Ct($,d),$._enterCancelled?(Ct($,h),Jo($)):(Jo($),Ct($,h)),gi(()=>{$._isLeaving&&(Bt($,d),Ct($,p),mi(w)||vi($,s,b,he))}),en(w,[$,he])},onEnterCancelled($){E($,!1,void 0,!0),en(T,[$])},onAppearCancelled($){E($,!0,void 0,!0),en(N,[$])},onLeaveCancelled($){C($),en(j,[$])}})}function Kd(e){if(e==null)return null;if(be(e))return[To(e.enter),To(e.leave)];{const t=To(e);return[t,t]}}function To(e){return nu(e)}function Ct(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[bn]||(e[bn]=new Set)).add(t)}function Bt(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const n=e[bn];n&&(n.delete(t),n.size||(e[bn]=void 0))}function gi(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let zd=0;function vi(e,t,n,s){const o=e._endId=++zd,r=()=>{o===e._endId&&s()};if(n!=null)return setTimeout(r,n);const{type:i,timeout:l,propCount:a}=Wa(e,t);if(!i)return s();const u=i+"end";let c=0;const d=()=>{e.removeEventListener(u,h),r()},h=p=>{p.target===e&&++c>=a&&d()};setTimeout(()=>{c(n[m]||"").split(", "),o=s(`${jt}Delay`),r=s(`${jt}Duration`),i=yi(o,r),l=s(`${On}Delay`),a=s(`${On}Duration`),u=yi(l,a);let c=null,d=0,h=0;t===jt?i>0&&(c=jt,d=i,h=r.length):t===On?u>0&&(c=On,d=u,h=a.length):(d=Math.max(i,u),c=d>0?i>u?jt:On:null,h=c?c===jt?r.length:a.length:0);const p=c===jt&&/\b(?:transform|all)(?:,|$)/.test(s(`${jt}Property`).toString());return{type:c,timeout:d,propCount:h,hasTransform:p}}function yi(e,t){for(;e.lengthbi(n)+bi(e[s])))}function bi(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Jo(e){return(e?e.ownerDocument:document).body.offsetHeight}function Wd(e,t,n){const s=e[bn];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Ks=Symbol("_vod"),Ga=Symbol("_vsh"),zs={name:"show",beforeMount(e,{value:t},{transition:n}){e[Ks]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):Pn(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:s}){!t!=!n&&(s?t?(s.beforeEnter(e),Pn(e,!0),s.enter(e)):s.leave(e,()=>{Pn(e,!1)}):Pn(e,t))},beforeUnmount(e,{value:t}){Pn(e,t)}};function Pn(e,t){e.style.display=t?e[Ks]:"none",e[Ga]=!t}const Gd=Symbol(""),Jd=/(?:^|;)\s*display\s*:/;function Zd(e,t,n){const s=e.style,o=Ee(n);let r=!1;if(n&&!o){if(t)if(Ee(t))for(const i of t.split(";")){const l=i.slice(0,i.indexOf(":")).trim();n[l]==null&&$s(s,l,"")}else for(const i in t)n[i]==null&&$s(s,i,"");for(const i in n)i==="display"&&(r=!0),$s(s,i,n[i])}else if(o){if(t!==n){const i=s[Gd];i&&(n+=";"+i),s.cssText=n,r=Jd.test(n)}}else t&&e.removeAttribute("style");Ks in e&&(e[Ks]=r?s.display:"",e[Ga]&&(s.display="none"))}const _i=/\s*!important$/;function $s(e,t,n){if(te(n))n.forEach(s=>$s(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=Qd(e,t);_i.test(n)?e.setProperty(Zt(s),n.replace(_i,""),"important"):e[s]=n}}const Ci=["Webkit","Moz","ms"],ko={};function Qd(e,t){const n=ko[t];if(n)return n;let s=rt(t);if(s!=="filter"&&s in e)return ko[t]=s;s=Xs(s);for(let o=0;o$o||(tf.then(()=>$o=0),$o=Date.now());function sf(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;dt(of(s,n.value),t,5,[s])};return n.value=e,n.attached=nf(),n}function of(e,t){if(te(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>o=>!o._stopped&&s&&s(o))}else return t}const ki=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,rf=(e,t,n,s,o,r)=>{const i=o==="svg";t==="class"?Wd(e,s,i):t==="style"?Zd(e,n,s):Zs(t)?dr(t)||Yd(e,t,n,s,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):lf(e,t,s,i))?(xi(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Si(e,t,s,i,r,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!Ee(s))?xi(e,rt(t),s,r,t):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Si(e,t,s,i))};function lf(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&ki(t)&&le(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const o=e.tagName;if(o==="IMG"||o==="VIDEO"||o==="CANVAS"||o==="SOURCE")return!1}return ki(t)&&Ee(n)?!1:t in e}const Ja=new WeakMap,Za=new WeakMap,Ws=Symbol("_moveCb"),$i=Symbol("_enterCb"),af=e=>(delete e.props.mode,e),cf=af({name:"TransitionGroup",props:Oe({},Ka,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=Ar(),s=da();let o,r;return ya(()=>{if(!o.length)return;const i=e.moveClass||`${e.name||"v"}-move`;if(!pf(o[0].el,n.vnode.el,i)){o=[];return}o.forEach(uf),o.forEach(df);const l=o.filter(ff);Jo(n.vnode.el),l.forEach(a=>{const u=a.el,c=u.style;Ct(u,i),c.transform=c.webkitTransform=c.transitionDuration="";const d=u[Ws]=h=>{h&&h.target!==u||(!h||h.propertyName.endsWith("transform"))&&(u.removeEventListener("transitionend",d),u[Ws]=null,Bt(u,i))};u.addEventListener("transitionend",d)}),o=[]}),()=>{const i=me(e),l=za(i);let a=i.tag||xe;if(o=[],r)for(let u=0;u{l.split(/\s+/).forEach(a=>a&&s.classList.remove(a))}),n.split(/\s+/).forEach(l=>l&&s.classList.add(l)),s.style.display="none";const r=t.nodeType===1?t:t.parentNode;r.appendChild(s);const{hasTransform:i}=Wa(s);return r.removeChild(s),i}const _n=e=>{const t=e.props["onUpdate:modelValue"]||!1;return te(t)?n=>Ss(t,n):t};function hf(e){e.target.composing=!0}function Ai(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Mt=Symbol("_assign"),fn={created(e,{modifiers:{lazy:t,trim:n,number:s}},o){e[Mt]=_n(o);const r=s||o.props&&o.props.type==="number";Kt(e,t?"change":"input",i=>{if(i.target.composing)return;let l=e.value;n&&(l=l.trim()),r&&(l=Ls(l)),e[Mt](l)}),n&&Kt(e,"change",()=>{e.value=e.value.trim()}),t||(Kt(e,"compositionstart",hf),Kt(e,"compositionend",Ai),Kt(e,"change",Ai))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:s,trim:o,number:r}},i){if(e[Mt]=_n(i),e.composing)return;const l=(r||e.type==="number")&&!/^0\d/.test(e.value)?Ls(e.value):e.value,a=t??"";l!==a&&(document.activeElement===e&&e.type!=="range"&&(s&&t===n||o&&e.value.trim()===a)||(e.value=a))}},mf={deep:!0,created(e,t,n){e[Mt]=_n(n),Kt(e,"change",()=>{const s=e._modelValue,o=os(e),r=e.checked,i=e[Mt];if(te(s)){const l=hr(s,o),a=l!==-1;if(r&&!a)i(s.concat(o));else if(!r&&a){const u=[...s];u.splice(l,1),i(u)}}else if(En(s)){const l=new Set(s);r?l.add(o):l.delete(o),i(l)}else i(Xa(e,r))})},mounted:Ri,beforeUpdate(e,t,n){e[Mt]=_n(n),Ri(e,t,n)}};function Ri(e,{value:t,oldValue:n},s){e._modelValue=t;let o;if(te(t))o=hr(t,s.props.value)>-1;else if(En(t))o=t.has(s.props.value);else{if(t===n)return;o=us(t,Xa(e,!0))}e.checked!==o&&(e.checked=o)}const Zo={deep:!0,created(e,{value:t,modifiers:{number:n}},s){const o=En(t);Kt(e,"change",()=>{const r=Array.prototype.filter.call(e.options,i=>i.selected).map(i=>n?Ls(os(i)):os(i));e[Mt](e.multiple?o?new Set(r):r:r[0]),e._assigning=!0,yn(()=>{e._assigning=!1})}),e[Mt]=_n(s)},mounted(e,{value:t}){Oi(e,t)},beforeUpdate(e,t,n){e[Mt]=_n(n)},updated(e,{value:t}){e._assigning||Oi(e,t)}};function Oi(e,t){const n=e.multiple,s=te(t);if(!(n&&!s&&!En(t))){for(let o=0,r=e.options.length;oString(u)===String(l)):i.selected=hr(t,l)>-1}else i.selected=t.has(l);else if(us(os(i),t)){e.selectedIndex!==o&&(e.selectedIndex=o);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function os(e){return"_value"in e?e._value:e.value}function Xa(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const gf=["ctrl","shift","alt","meta"],vf={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>gf.some(n=>e[`${n}Key`]&&!t.includes(n))},xt=(e,t)=>{const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=(o,...r)=>{for(let i=0;i{const n=e._withKeys||(e._withKeys={}),s=t.join(".");return n[s]||(n[s]=o=>{if(!("key"in o))return;const r=Zt(o.key);if(t.some(i=>i===r||yf[i]===r))return e(o)})},bf=Oe({patchProp:rf},Hd);let Ii;function _f(){return Ii||(Ii=fd(bf))}const Cf=(...e)=>{const t=_f().createApp(...e),{mount:n}=t;return t.mount=s=>{const o=Sf(s);if(!o)return;const r=t._component;!le(r)&&!r.render&&!r.template&&(r.template=o.innerHTML),o.nodeType===1&&(o.textContent="");const i=n(o,!1,wf(o));return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),i},t};function wf(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Sf(e){return Ee(e)?document.querySelector(e):e}/*! + * pinia v2.3.1 + * (c) 2025 Eduardo San Martin Morote + * @license MIT + */const xf=Symbol();var Mi;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Mi||(Mi={}));function Ef(){const e=uu(!0),t=e.run(()=>Q({}));let n=[],s=[];const o=Yl({install(r){o._a=r,r.provide(xf,o),r.config.globalProperties.$pinia=o,s.forEach(i=>n.push(i)),s=[]},use(r){return this._a?n.push(r):s.push(r),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return o}function Ya(e,t){return function(){return e.apply(t,arguments)}}const{toString:Tf}=Object.prototype,{getPrototypeOf:Rr}=Object,{iterator:ao,toStringTag:ec}=Symbol,co=(e=>t=>{const n=Tf.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),pt=e=>(e=e.toLowerCase(),t=>co(t)===e),uo=e=>t=>typeof t===e,{isArray:kn}=Array,Cn=uo("undefined");function ps(e){return e!==null&&!Cn(e)&&e.constructor!==null&&!Cn(e.constructor)&&Ze(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const tc=pt("ArrayBuffer");function kf(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&tc(e.buffer),t}const $f=uo("string"),Ze=uo("function"),nc=uo("number"),hs=e=>e!==null&&typeof e=="object",Af=e=>e===!0||e===!1,As=e=>{if(co(e)!=="object")return!1;const t=Rr(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(ec in e)&&!(ao in e)},Rf=e=>{if(!hs(e)||ps(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},Of=pt("Date"),Pf=pt("File"),If=pt("Blob"),Mf=pt("FileList"),Lf=e=>hs(e)&&Ze(e.pipe),Df=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||Ze(e.append)&&((t=co(e))==="formdata"||t==="object"&&Ze(e.toString)&&e.toString()==="[object FormData]"))},Nf=pt("URLSearchParams"),[Ff,jf,Uf,Bf]=["ReadableStream","Request","Response","Headers"].map(pt),Vf=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function ms(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let s,o;if(typeof e!="object"&&(e=[e]),kn(e))for(s=0,o=e.length;s0;)if(o=n[s],t===o.toLowerCase())return o;return null}const sn=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,oc=e=>!Cn(e)&&e!==sn;function Qo(){const{caseless:e,skipUndefined:t}=oc(this)&&this||{},n={},s=(o,r)=>{const i=e&&sc(n,r)||r;As(n[i])&&As(o)?n[i]=Qo(n[i],o):As(o)?n[i]=Qo({},o):kn(o)?n[i]=o.slice():(!t||!Cn(o))&&(n[i]=o)};for(let o=0,r=arguments.length;o(ms(t,(o,r)=>{n&&Ze(o)?e[r]=Ya(o,n):e[r]=o},{allOwnKeys:s}),e),qf=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),Kf=(e,t,n,s)=>{e.prototype=Object.create(t.prototype,s),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},zf=(e,t,n,s)=>{let o,r,i;const l={};if(t=t||{},e==null)return t;do{for(o=Object.getOwnPropertyNames(e),r=o.length;r-- >0;)i=o[r],(!s||s(i,e,t))&&!l[i]&&(t[i]=e[i],l[i]=!0);e=n!==!1&&Rr(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},Wf=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const s=e.indexOf(t,n);return s!==-1&&s===n},Gf=e=>{if(!e)return null;if(kn(e))return e;let t=e.length;if(!nc(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},Jf=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&Rr(Uint8Array)),Zf=(e,t)=>{const s=(e&&e[ao]).call(e);let o;for(;(o=s.next())&&!o.done;){const r=o.value;t.call(e,r[0],r[1])}},Qf=(e,t)=>{let n;const s=[];for(;(n=e.exec(t))!==null;)s.push(n);return s},Xf=pt("HTMLFormElement"),Yf=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,s,o){return s.toUpperCase()+o}),Li=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),e1=pt("RegExp"),rc=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),s={};ms(n,(o,r)=>{let i;(i=t(o,r,e))!==!1&&(s[r]=i||o)}),Object.defineProperties(e,s)},t1=e=>{rc(e,(t,n)=>{if(Ze(e)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const s=e[n];if(Ze(s)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},n1=(e,t)=>{const n={},s=o=>{o.forEach(r=>{n[r]=!0})};return kn(e)?s(e):s(String(e).split(t)),n},s1=()=>{},o1=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function r1(e){return!!(e&&Ze(e.append)&&e[ec]==="FormData"&&e[ao])}const i1=e=>{const t=new Array(10),n=(s,o)=>{if(hs(s)){if(t.indexOf(s)>=0)return;if(ps(s))return s;if(!("toJSON"in s)){t[o]=s;const r=kn(s)?[]:{};return ms(s,(i,l)=>{const a=n(i,o+1);!Cn(a)&&(r[l]=a)}),t[o]=void 0,r}}return s};return n(e,0)},l1=pt("AsyncFunction"),a1=e=>e&&(hs(e)||Ze(e))&&Ze(e.then)&&Ze(e.catch),ic=((e,t)=>e?setImmediate:t?((n,s)=>(sn.addEventListener("message",({source:o,data:r})=>{o===sn&&r===n&&s.length&&s.shift()()},!1),o=>{s.push(o),sn.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",Ze(sn.postMessage)),c1=typeof queueMicrotask<"u"?queueMicrotask.bind(sn):typeof process<"u"&&process.nextTick||ic,u1=e=>e!=null&&Ze(e[ao]),S={isArray:kn,isArrayBuffer:tc,isBuffer:ps,isFormData:Df,isArrayBufferView:kf,isString:$f,isNumber:nc,isBoolean:Af,isObject:hs,isPlainObject:As,isEmptyObject:Rf,isReadableStream:Ff,isRequest:jf,isResponse:Uf,isHeaders:Bf,isUndefined:Cn,isDate:Of,isFile:Pf,isBlob:If,isRegExp:e1,isFunction:Ze,isStream:Lf,isURLSearchParams:Nf,isTypedArray:Jf,isFileList:Mf,forEach:ms,merge:Qo,extend:Hf,trim:Vf,stripBOM:qf,inherits:Kf,toFlatObject:zf,kindOf:co,kindOfTest:pt,endsWith:Wf,toArray:Gf,forEachEntry:Zf,matchAll:Qf,isHTMLForm:Xf,hasOwnProperty:Li,hasOwnProp:Li,reduceDescriptors:rc,freezeMethods:t1,toObjectSet:n1,toCamelCase:Yf,noop:s1,toFiniteNumber:o1,findKey:sc,global:sn,isContextDefined:oc,isSpecCompliantForm:r1,toJSONObject:i1,isAsyncFn:l1,isThenable:a1,setImmediate:ic,asap:c1,isIterable:u1};function ae(e,t,n,s,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),s&&(this.request=s),o&&(this.response=o,this.status=o.status?o.status:null)}S.inherits(ae,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:S.toJSONObject(this.config),code:this.code,status:this.status}}});const lc=ae.prototype,ac={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{ac[e]={value:e}});Object.defineProperties(ae,ac);Object.defineProperty(lc,"isAxiosError",{value:!0});ae.from=(e,t,n,s,o,r)=>{const i=Object.create(lc);S.toFlatObject(e,i,function(c){return c!==Error.prototype},u=>u!=="isAxiosError");const l=e&&e.message?e.message:"Error",a=t==null&&e?e.code:t;return ae.call(i,l,a,n,s,o),e&&i.cause==null&&Object.defineProperty(i,"cause",{value:e,configurable:!0}),i.name=e&&e.name||"Error",r&&Object.assign(i,r),i};const d1=null;function Xo(e){return S.isPlainObject(e)||S.isArray(e)}function cc(e){return S.endsWith(e,"[]")?e.slice(0,-2):e}function Di(e,t,n){return e?e.concat(t).map(function(o,r){return o=cc(o),!n&&r?"["+o+"]":o}).join(n?".":""):t}function f1(e){return S.isArray(e)&&!e.some(Xo)}const p1=S.toFlatObject(S,{},null,function(t){return/^is[A-Z]/.test(t)});function fo(e,t,n){if(!S.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=S.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(y,b){return!S.isUndefined(b[y])});const s=n.metaTokens,o=n.visitor||c,r=n.dots,i=n.indexes,a=(n.Blob||typeof Blob<"u"&&Blob)&&S.isSpecCompliantForm(t);if(!S.isFunction(o))throw new TypeError("visitor must be a function");function u(m){if(m===null)return"";if(S.isDate(m))return m.toISOString();if(S.isBoolean(m))return m.toString();if(!a&&S.isBlob(m))throw new ae("Blob is not supported. Use a Buffer instead.");return S.isArrayBuffer(m)||S.isTypedArray(m)?a&&typeof Blob=="function"?new Blob([m]):Buffer.from(m):m}function c(m,y,b){let I=m;if(m&&!b&&typeof m=="object"){if(S.endsWith(y,"{}"))y=s?y:y.slice(0,-2),m=JSON.stringify(m);else if(S.isArray(m)&&f1(m)||(S.isFileList(m)||S.endsWith(y,"[]"))&&(I=S.toArray(m)))return y=cc(y),I.forEach(function(T,w){!(S.isUndefined(T)||T===null)&&t.append(i===!0?Di([y],w,r):i===null?y:y+"[]",u(T))}),!1}return Xo(m)?!0:(t.append(Di(b,y,r),u(m)),!1)}const d=[],h=Object.assign(p1,{defaultVisitor:c,convertValue:u,isVisitable:Xo});function p(m,y){if(!S.isUndefined(m)){if(d.indexOf(m)!==-1)throw Error("Circular reference detected in "+y.join("."));d.push(m),S.forEach(m,function(I,L){(!(S.isUndefined(I)||I===null)&&o.call(t,I,S.isString(L)?L.trim():L,y,h))===!0&&p(I,y?y.concat(L):[L])}),d.pop()}}if(!S.isObject(e))throw new TypeError("data must be an object");return p(e),t}function Ni(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(s){return t[s]})}function Or(e,t){this._pairs=[],e&&fo(e,this,t)}const uc=Or.prototype;uc.append=function(t,n){this._pairs.push([t,n])};uc.toString=function(t){const n=t?function(s){return t.call(this,s,Ni)}:Ni;return this._pairs.map(function(o){return n(o[0])+"="+n(o[1])},"").join("&")};function h1(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function dc(e,t,n){if(!t)return e;const s=n&&n.encode||h1;S.isFunction(n)&&(n={serialize:n});const o=n&&n.serialize;let r;if(o?r=o(t,n):r=S.isURLSearchParams(t)?t.toString():new Or(t,n).toString(s),r){const i=e.indexOf("#");i!==-1&&(e=e.slice(0,i)),e+=(e.indexOf("?")===-1?"?":"&")+r}return e}class Fi{constructor(){this.handlers=[]}use(t,n,s){return this.handlers.push({fulfilled:t,rejected:n,synchronous:s?s.synchronous:!1,runWhen:s?s.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){S.forEach(this.handlers,function(s){s!==null&&t(s)})}}const fc={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},m1=typeof URLSearchParams<"u"?URLSearchParams:Or,g1=typeof FormData<"u"?FormData:null,v1=typeof Blob<"u"?Blob:null,y1={isBrowser:!0,classes:{URLSearchParams:m1,FormData:g1,Blob:v1},protocols:["http","https","file","blob","url","data"]},Pr=typeof window<"u"&&typeof document<"u",Yo=typeof navigator=="object"&&navigator||void 0,b1=Pr&&(!Yo||["ReactNative","NativeScript","NS"].indexOf(Yo.product)<0),_1=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",C1=Pr&&window.location.href||"http://localhost",w1=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Pr,hasStandardBrowserEnv:b1,hasStandardBrowserWebWorkerEnv:_1,navigator:Yo,origin:C1},Symbol.toStringTag,{value:"Module"})),Ne={...w1,...y1};function S1(e,t){return fo(e,new Ne.classes.URLSearchParams,{visitor:function(n,s,o,r){return Ne.isNode&&S.isBuffer(n)?(this.append(s,n.toString("base64")),!1):r.defaultVisitor.apply(this,arguments)},...t})}function x1(e){return S.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function E1(e){const t={},n=Object.keys(e);let s;const o=n.length;let r;for(s=0;s=n.length;return i=!i&&S.isArray(o)?o.length:i,a?(S.hasOwnProp(o,i)?o[i]=[o[i],s]:o[i]=s,!l):((!o[i]||!S.isObject(o[i]))&&(o[i]=[]),t(n,s,o[i],r)&&S.isArray(o[i])&&(o[i]=E1(o[i])),!l)}if(S.isFormData(e)&&S.isFunction(e.entries)){const n={};return S.forEachEntry(e,(s,o)=>{t(x1(s),o,n,0)}),n}return null}function T1(e,t,n){if(S.isString(e))try{return(t||JSON.parse)(e),S.trim(e)}catch(s){if(s.name!=="SyntaxError")throw s}return(n||JSON.stringify)(e)}const gs={transitional:fc,adapter:["xhr","http","fetch"],transformRequest:[function(t,n){const s=n.getContentType()||"",o=s.indexOf("application/json")>-1,r=S.isObject(t);if(r&&S.isHTMLForm(t)&&(t=new FormData(t)),S.isFormData(t))return o?JSON.stringify(pc(t)):t;if(S.isArrayBuffer(t)||S.isBuffer(t)||S.isStream(t)||S.isFile(t)||S.isBlob(t)||S.isReadableStream(t))return t;if(S.isArrayBufferView(t))return t.buffer;if(S.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let l;if(r){if(s.indexOf("application/x-www-form-urlencoded")>-1)return S1(t,this.formSerializer).toString();if((l=S.isFileList(t))||s.indexOf("multipart/form-data")>-1){const a=this.env&&this.env.FormData;return fo(l?{"files[]":t}:t,a&&new a,this.formSerializer)}}return r||o?(n.setContentType("application/json",!1),T1(t)):t}],transformResponse:[function(t){const n=this.transitional||gs.transitional,s=n&&n.forcedJSONParsing,o=this.responseType==="json";if(S.isResponse(t)||S.isReadableStream(t))return t;if(t&&S.isString(t)&&(s&&!this.responseType||o)){const i=!(n&&n.silentJSONParsing)&&o;try{return JSON.parse(t,this.parseReviver)}catch(l){if(i)throw l.name==="SyntaxError"?ae.from(l,ae.ERR_BAD_RESPONSE,this,null,this.response):l}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Ne.classes.FormData,Blob:Ne.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};S.forEach(["delete","get","head","post","put","patch"],e=>{gs.headers[e]={}});const k1=S.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"]),$1=e=>{const t={};let n,s,o;return e&&e.split(` +`).forEach(function(i){o=i.indexOf(":"),n=i.substring(0,o).trim().toLowerCase(),s=i.substring(o+1).trim(),!(!n||t[n]&&k1[n])&&(n==="set-cookie"?t[n]?t[n].push(s):t[n]=[s]:t[n]=t[n]?t[n]+", "+s:s)}),t},ji=Symbol("internals");function In(e){return e&&String(e).trim().toLowerCase()}function Rs(e){return e===!1||e==null?e:S.isArray(e)?e.map(Rs):String(e)}function A1(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let s;for(;s=n.exec(e);)t[s[1]]=s[2];return t}const R1=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function Ao(e,t,n,s,o){if(S.isFunction(s))return s.call(this,t,n);if(o&&(t=n),!!S.isString(t)){if(S.isString(s))return t.indexOf(s)!==-1;if(S.isRegExp(s))return s.test(t)}}function O1(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,s)=>n.toUpperCase()+s)}function P1(e,t){const n=S.toCamelCase(" "+t);["get","set","has"].forEach(s=>{Object.defineProperty(e,s+n,{value:function(o,r,i){return this[s].call(this,t,o,r,i)},configurable:!0})})}let Qe=class{constructor(t){t&&this.set(t)}set(t,n,s){const o=this;function r(l,a,u){const c=In(a);if(!c)throw new Error("header name must be a non-empty string");const d=S.findKey(o,c);(!d||o[d]===void 0||u===!0||u===void 0&&o[d]!==!1)&&(o[d||a]=Rs(l))}const i=(l,a)=>S.forEach(l,(u,c)=>r(u,c,a));if(S.isPlainObject(t)||t instanceof this.constructor)i(t,n);else if(S.isString(t)&&(t=t.trim())&&!R1(t))i($1(t),n);else if(S.isObject(t)&&S.isIterable(t)){let l={},a,u;for(const c of t){if(!S.isArray(c))throw TypeError("Object iterator must return a key-value pair");l[u=c[0]]=(a=l[u])?S.isArray(a)?[...a,c[1]]:[a,c[1]]:c[1]}i(l,n)}else t!=null&&r(n,t,s);return this}get(t,n){if(t=In(t),t){const s=S.findKey(this,t);if(s){const o=this[s];if(!n)return o;if(n===!0)return A1(o);if(S.isFunction(n))return n.call(this,o,s);if(S.isRegExp(n))return n.exec(o);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,n){if(t=In(t),t){const s=S.findKey(this,t);return!!(s&&this[s]!==void 0&&(!n||Ao(this,this[s],s,n)))}return!1}delete(t,n){const s=this;let o=!1;function r(i){if(i=In(i),i){const l=S.findKey(s,i);l&&(!n||Ao(s,s[l],l,n))&&(delete s[l],o=!0)}}return S.isArray(t)?t.forEach(r):r(t),o}clear(t){const n=Object.keys(this);let s=n.length,o=!1;for(;s--;){const r=n[s];(!t||Ao(this,this[r],r,t,!0))&&(delete this[r],o=!0)}return o}normalize(t){const n=this,s={};return S.forEach(this,(o,r)=>{const i=S.findKey(s,r);if(i){n[i]=Rs(o),delete n[r];return}const l=t?O1(r):String(r).trim();l!==r&&delete n[r],n[l]=Rs(o),s[l]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const n=Object.create(null);return S.forEach(this,(s,o)=>{s!=null&&s!==!1&&(n[o]=t&&S.isArray(s)?s.join(", "):s)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,n])=>t+": "+n).join(` +`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...n){const s=new this(t);return n.forEach(o=>s.set(o)),s}static accessor(t){const s=(this[ji]=this[ji]={accessors:{}}).accessors,o=this.prototype;function r(i){const l=In(i);s[l]||(P1(o,i),s[l]=!0)}return S.isArray(t)?t.forEach(r):r(t),this}};Qe.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);S.reduceDescriptors(Qe.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(s){this[n]=s}}});S.freezeMethods(Qe);function Ro(e,t){const n=this||gs,s=t||n,o=Qe.from(s.headers);let r=s.data;return S.forEach(e,function(l){r=l.call(n,r,o.normalize(),t?t.status:void 0)}),o.normalize(),r}function hc(e){return!!(e&&e.__CANCEL__)}function $n(e,t,n){ae.call(this,e??"canceled",ae.ERR_CANCELED,t,n),this.name="CanceledError"}S.inherits($n,ae,{__CANCEL__:!0});function mc(e,t,n){const s=n.config.validateStatus;!n.status||!s||s(n.status)?e(n):t(new ae("Request failed with status code "+n.status,[ae.ERR_BAD_REQUEST,ae.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function I1(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function M1(e,t){e=e||10;const n=new Array(e),s=new Array(e);let o=0,r=0,i;return t=t!==void 0?t:1e3,function(a){const u=Date.now(),c=s[r];i||(i=u),n[o]=a,s[o]=u;let d=r,h=0;for(;d!==o;)h+=n[d++],d=d%e;if(o=(o+1)%e,o===r&&(r=(r+1)%e),u-i{n=c,o=null,r&&(clearTimeout(r),r=null),e(...u)};return[(...u)=>{const c=Date.now(),d=c-n;d>=s?i(u,c):(o=u,r||(r=setTimeout(()=>{r=null,i(o)},s-d)))},()=>o&&i(o)]}const Gs=(e,t,n=3)=>{let s=0;const o=M1(50,250);return L1(r=>{const i=r.loaded,l=r.lengthComputable?r.total:void 0,a=i-s,u=o(a),c=i<=l;s=i;const d={loaded:i,total:l,progress:l?i/l:void 0,bytes:a,rate:u||void 0,estimated:u&&l&&c?(l-i)/u:void 0,event:r,lengthComputable:l!=null,[t?"download":"upload"]:!0};e(d)},n)},Ui=(e,t)=>{const n=e!=null;return[s=>t[0]({lengthComputable:n,total:e,loaded:s}),t[1]]},Bi=e=>(...t)=>S.asap(()=>e(...t)),D1=Ne.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,Ne.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(Ne.origin),Ne.navigator&&/(msie|trident)/i.test(Ne.navigator.userAgent)):()=>!0,N1=Ne.hasStandardBrowserEnv?{write(e,t,n,s,o,r){const i=[e+"="+encodeURIComponent(t)];S.isNumber(n)&&i.push("expires="+new Date(n).toGMTString()),S.isString(s)&&i.push("path="+s),S.isString(o)&&i.push("domain="+o),r===!0&&i.push("secure"),document.cookie=i.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function F1(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function j1(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function gc(e,t,n){let s=!F1(t);return e&&(s||n==!1)?j1(e,t):t}const Vi=e=>e instanceof Qe?{...e}:e;function an(e,t){t=t||{};const n={};function s(u,c,d,h){return S.isPlainObject(u)&&S.isPlainObject(c)?S.merge.call({caseless:h},u,c):S.isPlainObject(c)?S.merge({},c):S.isArray(c)?c.slice():c}function o(u,c,d,h){if(S.isUndefined(c)){if(!S.isUndefined(u))return s(void 0,u,d,h)}else return s(u,c,d,h)}function r(u,c){if(!S.isUndefined(c))return s(void 0,c)}function i(u,c){if(S.isUndefined(c)){if(!S.isUndefined(u))return s(void 0,u)}else return s(void 0,c)}function l(u,c,d){if(d in t)return s(u,c);if(d in e)return s(void 0,u)}const a={url:r,method:r,data:r,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,withXSRFToken:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,beforeRedirect:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,responseEncoding:i,validateStatus:l,headers:(u,c,d)=>o(Vi(u),Vi(c),d,!0)};return S.forEach(Object.keys({...e,...t}),function(c){const d=a[c]||o,h=d(e[c],t[c],c);S.isUndefined(h)&&d!==l||(n[c]=h)}),n}const vc=e=>{const t=an({},e);let{data:n,withXSRFToken:s,xsrfHeaderName:o,xsrfCookieName:r,headers:i,auth:l}=t;if(t.headers=i=Qe.from(i),t.url=dc(gc(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),l&&i.set("Authorization","Basic "+btoa((l.username||"")+":"+(l.password?unescape(encodeURIComponent(l.password)):""))),S.isFormData(n)){if(Ne.hasStandardBrowserEnv||Ne.hasStandardBrowserWebWorkerEnv)i.setContentType(void 0);else if(S.isFunction(n.getHeaders)){const a=n.getHeaders(),u=["content-type","content-length"];Object.entries(a).forEach(([c,d])=>{u.includes(c.toLowerCase())&&i.set(c,d)})}}if(Ne.hasStandardBrowserEnv&&(s&&S.isFunction(s)&&(s=s(t)),s||s!==!1&&D1(t.url))){const a=o&&r&&N1.read(r);a&&i.set(o,a)}return t},U1=typeof XMLHttpRequest<"u",B1=U1&&function(e){return new Promise(function(n,s){const o=vc(e);let r=o.data;const i=Qe.from(o.headers).normalize();let{responseType:l,onUploadProgress:a,onDownloadProgress:u}=o,c,d,h,p,m;function y(){p&&p(),m&&m(),o.cancelToken&&o.cancelToken.unsubscribe(c),o.signal&&o.signal.removeEventListener("abort",c)}let b=new XMLHttpRequest;b.open(o.method.toUpperCase(),o.url,!0),b.timeout=o.timeout;function I(){if(!b)return;const T=Qe.from("getAllResponseHeaders"in b&&b.getAllResponseHeaders()),j={data:!l||l==="text"||l==="json"?b.responseText:b.response,status:b.status,statusText:b.statusText,headers:T,config:e,request:b};mc(function(H){n(H),y()},function(H){s(H),y()},j),b=null}"onloadend"in b?b.onloadend=I:b.onreadystatechange=function(){!b||b.readyState!==4||b.status===0&&!(b.responseURL&&b.responseURL.indexOf("file:")===0)||setTimeout(I)},b.onabort=function(){b&&(s(new ae("Request aborted",ae.ECONNABORTED,e,b)),b=null)},b.onerror=function(w){const j=w&&w.message?w.message:"Network Error",U=new ae(j,ae.ERR_NETWORK,e,b);U.event=w||null,s(U),b=null},b.ontimeout=function(){let w=o.timeout?"timeout of "+o.timeout+"ms exceeded":"timeout exceeded";const j=o.transitional||fc;o.timeoutErrorMessage&&(w=o.timeoutErrorMessage),s(new ae(w,j.clarifyTimeoutError?ae.ETIMEDOUT:ae.ECONNABORTED,e,b)),b=null},r===void 0&&i.setContentType(null),"setRequestHeader"in b&&S.forEach(i.toJSON(),function(w,j){b.setRequestHeader(j,w)}),S.isUndefined(o.withCredentials)||(b.withCredentials=!!o.withCredentials),l&&l!=="json"&&(b.responseType=o.responseType),u&&([h,m]=Gs(u,!0),b.addEventListener("progress",h)),a&&b.upload&&([d,p]=Gs(a),b.upload.addEventListener("progress",d),b.upload.addEventListener("loadend",p)),(o.cancelToken||o.signal)&&(c=T=>{b&&(s(!T||T.type?new $n(null,e,b):T),b.abort(),b=null)},o.cancelToken&&o.cancelToken.subscribe(c),o.signal&&(o.signal.aborted?c():o.signal.addEventListener("abort",c)));const L=I1(o.url);if(L&&Ne.protocols.indexOf(L)===-1){s(new ae("Unsupported protocol "+L+":",ae.ERR_BAD_REQUEST,e));return}b.send(r||null)})},V1=(e,t)=>{const{length:n}=e=e?e.filter(Boolean):[];if(t||n){let s=new AbortController,o;const r=function(u){if(!o){o=!0,l();const c=u instanceof Error?u:this.reason;s.abort(c instanceof ae?c:new $n(c instanceof Error?c.message:c))}};let i=t&&setTimeout(()=>{i=null,r(new ae(`timeout ${t} of ms exceeded`,ae.ETIMEDOUT))},t);const l=()=>{e&&(i&&clearTimeout(i),i=null,e.forEach(u=>{u.unsubscribe?u.unsubscribe(r):u.removeEventListener("abort",r)}),e=null)};e.forEach(u=>u.addEventListener("abort",r));const{signal:a}=s;return a.unsubscribe=()=>S.asap(l),a}},H1=function*(e,t){let n=e.byteLength;if(n{const o=q1(e,t);let r=0,i,l=a=>{i||(i=!0,s&&s(a))};return new ReadableStream({async pull(a){try{const{done:u,value:c}=await o.next();if(u){l(),a.close();return}let d=c.byteLength;if(n){let h=r+=d;n(h)}a.enqueue(new Uint8Array(c))}catch(u){throw l(u),u}},cancel(a){return l(a),o.return()}},{highWaterMark:2})},qi=64*1024,{isFunction:ws}=S,z1=(({Request:e,Response:t})=>({Request:e,Response:t}))(S.global),{ReadableStream:Ki,TextEncoder:zi}=S.global,Wi=(e,...t)=>{try{return!!e(...t)}catch{return!1}},W1=e=>{e=S.merge.call({skipUndefined:!0},z1,e);const{fetch:t,Request:n,Response:s}=e,o=t?ws(t):typeof fetch=="function",r=ws(n),i=ws(s);if(!o)return!1;const l=o&&ws(Ki),a=o&&(typeof zi=="function"?(m=>y=>m.encode(y))(new zi):async m=>new Uint8Array(await new n(m).arrayBuffer())),u=r&&l&&Wi(()=>{let m=!1;const y=new n(Ne.origin,{body:new Ki,method:"POST",get duplex(){return m=!0,"half"}}).headers.has("Content-Type");return m&&!y}),c=i&&l&&Wi(()=>S.isReadableStream(new s("").body)),d={stream:c&&(m=>m.body)};o&&["text","arrayBuffer","blob","formData","stream"].forEach(m=>{!d[m]&&(d[m]=(y,b)=>{let I=y&&y[m];if(I)return I.call(y);throw new ae(`Response type '${m}' is not supported`,ae.ERR_NOT_SUPPORT,b)})});const h=async m=>{if(m==null)return 0;if(S.isBlob(m))return m.size;if(S.isSpecCompliantForm(m))return(await new n(Ne.origin,{method:"POST",body:m}).arrayBuffer()).byteLength;if(S.isArrayBufferView(m)||S.isArrayBuffer(m))return m.byteLength;if(S.isURLSearchParams(m)&&(m=m+""),S.isString(m))return(await a(m)).byteLength},p=async(m,y)=>{const b=S.toFiniteNumber(m.getContentLength());return b??h(y)};return async m=>{let{url:y,method:b,data:I,signal:L,cancelToken:T,timeout:w,onDownloadProgress:j,onUploadProgress:U,responseType:H,headers:N,withCredentials:E="same-origin",fetchOptions:C}=vc(m),x=t||fetch;H=H?(H+"").toLowerCase():"text";let $=V1([L,T&&T.toAbortSignal()],w),re=null;const he=$&&$.unsubscribe&&(()=>{$.unsubscribe()});let Te;try{if(U&&u&&b!=="get"&&b!=="head"&&(Te=await p(N,I))!==0){let Re=new n(y,{method:"POST",body:I,duplex:"half"}),$e;if(S.isFormData(I)&&($e=Re.headers.get("content-type"))&&N.setContentType($e),Re.body){const[mt,lt]=Ui(Te,Gs(Bi(U)));I=Hi(Re.body,qi,mt,lt)}}S.isString(E)||(E=E?"include":"omit");const ue=r&&"credentials"in n.prototype,fe={...C,signal:$,method:b.toUpperCase(),headers:N.normalize().toJSON(),body:I,duplex:"half",credentials:ue?E:void 0};re=r&&new n(y,fe);let ce=await(r?x(re,C):x(y,fe));const tt=c&&(H==="stream"||H==="response");if(c&&(j||tt&&he)){const Re={};["status","statusText","headers"].forEach(Qt=>{Re[Qt]=ce[Qt]});const $e=S.toFiniteNumber(ce.headers.get("content-length")),[mt,lt]=j&&Ui($e,Gs(Bi(j),!0))||[];ce=new s(Hi(ce.body,qi,mt,()=>{lt&<(),he&&he()}),Re)}H=H||"text";let ht=await d[S.findKey(d,H)||"text"](ce,m);return!tt&&he&&he(),await new Promise((Re,$e)=>{mc(Re,$e,{data:ht,headers:Qe.from(ce.headers),status:ce.status,statusText:ce.statusText,config:m,request:re})})}catch(ue){throw he&&he(),ue&&ue.name==="TypeError"&&/Load failed|fetch/i.test(ue.message)?Object.assign(new ae("Network Error",ae.ERR_NETWORK,m,re),{cause:ue.cause||ue}):ae.from(ue,ue&&ue.code,m,re)}}},G1=new Map,yc=e=>{let t=e?e.env:{};const{fetch:n,Request:s,Response:o}=t,r=[s,o,n];let i=r.length,l=i,a,u,c=G1;for(;l--;)a=r[l],u=c.get(a),u===void 0&&c.set(a,u=l?new Map:W1(t)),c=u;return u};yc();const er={http:d1,xhr:B1,fetch:{get:yc}};S.forEach(er,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const Gi=e=>`- ${e}`,J1=e=>S.isFunction(e)||e===null||e===!1,bc={getAdapter:(e,t)=>{e=S.isArray(e)?e:[e];const{length:n}=e;let s,o;const r={};for(let i=0;i`adapter ${a} `+(u===!1?"is not supported by the environment":"is not available in the build"));let l=n?i.length>1?`since : +`+i.map(Gi).join(` +`):" "+Gi(i[0]):"as no adapter specified";throw new ae("There is no suitable adapter to dispatch the request "+l,"ERR_NOT_SUPPORT")}return o},adapters:er};function Oo(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new $n(null,e)}function Ji(e){return Oo(e),e.headers=Qe.from(e.headers),e.data=Ro.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),bc.getAdapter(e.adapter||gs.adapter,e)(e).then(function(s){return Oo(e),s.data=Ro.call(e,e.transformResponse,s),s.headers=Qe.from(s.headers),s},function(s){return hc(s)||(Oo(e),s&&s.response&&(s.response.data=Ro.call(e,e.transformResponse,s.response),s.response.headers=Qe.from(s.response.headers))),Promise.reject(s)})}const _c="1.12.2",po={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{po[e]=function(s){return typeof s===e||"a"+(t<1?"n ":" ")+e}});const Zi={};po.transitional=function(t,n,s){function o(r,i){return"[Axios v"+_c+"] Transitional option '"+r+"'"+i+(s?". "+s:"")}return(r,i,l)=>{if(t===!1)throw new ae(o(i," has been removed"+(n?" in "+n:"")),ae.ERR_DEPRECATED);return n&&!Zi[i]&&(Zi[i]=!0,console.warn(o(i," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(r,i,l):!0}};po.spelling=function(t){return(n,s)=>(console.warn(`${s} is likely a misspelling of ${t}`),!0)};function Z1(e,t,n){if(typeof e!="object")throw new ae("options must be an object",ae.ERR_BAD_OPTION_VALUE);const s=Object.keys(e);let o=s.length;for(;o-- >0;){const r=s[o],i=t[r];if(i){const l=e[r],a=l===void 0||i(l,r,e);if(a!==!0)throw new ae("option "+r+" must be "+a,ae.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new ae("Unknown option "+r,ae.ERR_BAD_OPTION)}}const Os={assertOptions:Z1,validators:po},_t=Os.validators;let rn=class{constructor(t){this.defaults=t||{},this.interceptors={request:new Fi,response:new Fi}}async request(t,n){try{return await this._request(t,n)}catch(s){if(s instanceof Error){let o={};Error.captureStackTrace?Error.captureStackTrace(o):o=new Error;const r=o.stack?o.stack.replace(/^.+\n/,""):"";try{s.stack?r&&!String(s.stack).endsWith(r.replace(/^.+\n.+\n/,""))&&(s.stack+=` +`+r):s.stack=r}catch{}}throw s}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=an(this.defaults,n);const{transitional:s,paramsSerializer:o,headers:r}=n;s!==void 0&&Os.assertOptions(s,{silentJSONParsing:_t.transitional(_t.boolean),forcedJSONParsing:_t.transitional(_t.boolean),clarifyTimeoutError:_t.transitional(_t.boolean)},!1),o!=null&&(S.isFunction(o)?n.paramsSerializer={serialize:o}:Os.assertOptions(o,{encode:_t.function,serialize:_t.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),Os.assertOptions(n,{baseUrl:_t.spelling("baseURL"),withXsrfToken:_t.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let i=r&&S.merge(r.common,r[n.method]);r&&S.forEach(["delete","get","head","post","put","patch","common"],m=>{delete r[m]}),n.headers=Qe.concat(i,r);const l=[];let a=!0;this.interceptors.request.forEach(function(y){typeof y.runWhen=="function"&&y.runWhen(n)===!1||(a=a&&y.synchronous,l.unshift(y.fulfilled,y.rejected))});const u=[];this.interceptors.response.forEach(function(y){u.push(y.fulfilled,y.rejected)});let c,d=0,h;if(!a){const m=[Ji.bind(this),void 0];for(m.unshift(...l),m.push(...u),h=m.length,c=Promise.resolve(n);d{if(!s._listeners)return;let r=s._listeners.length;for(;r-- >0;)s._listeners[r](o);s._listeners=null}),this.promise.then=o=>{let r;const i=new Promise(l=>{s.subscribe(l),r=l}).then(o);return i.cancel=function(){s.unsubscribe(r)},i},t(function(r,i,l){s.reason||(s.reason=new $n(r,i,l),n(s.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const t=new AbortController,n=s=>{t.abort(s)};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return{token:new Cc(function(o){t=o}),cancel:t}}};function X1(e){return function(n){return e.apply(null,n)}}function Y1(e){return S.isObject(e)&&e.isAxiosError===!0}const tr={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(tr).forEach(([e,t])=>{tr[t]=e});function wc(e){const t=new rn(e),n=Ya(rn.prototype.request,t);return S.extend(n,rn.prototype,t,{allOwnKeys:!0}),S.extend(n,t,null,{allOwnKeys:!0}),n.create=function(o){return wc(an(e,o))},n}const Ae=wc(gs);Ae.Axios=rn;Ae.CanceledError=$n;Ae.CancelToken=Q1;Ae.isCancel=hc;Ae.VERSION=_c;Ae.toFormData=fo;Ae.AxiosError=ae;Ae.Cancel=Ae.CanceledError;Ae.all=function(t){return Promise.all(t)};Ae.spread=X1;Ae.isAxiosError=Y1;Ae.mergeConfig=an;Ae.AxiosHeaders=Qe;Ae.formToJSON=e=>pc(S.isHTMLForm(e)?new FormData(e):e);Ae.getAdapter=bc.getAdapter;Ae.HttpStatusCode=tr;Ae.default=Ae;const{Axios:Z5,AxiosError:Q5,CanceledError:X5,isCancel:Y5,CancelToken:ev,VERSION:tv,all:nv,Cancel:sv,isAxiosError:ov,spread:rv,toFormData:iv,AxiosHeaders:lv,HttpStatusCode:av,formToJSON:cv,getAdapter:uv,mergeConfig:dv}=Ae,Me=Ae.create({baseURL:"/api",timeout:12e4});function ep(e){var o,r,i,l,a,u;const t=e;if(!t)return null;const n=((o=t.response)==null?void 0:o.status)&&t.response.status>=500,s=t.code==="ERR_NETWORK"||t.code==="ECONNREFUSED"||t.code==="ERR_CONNECTION_REFUSED"||((r=t.message)==null?void 0:r.includes("Network Error"))||((i=t.message)==null?void 0:i.includes("Connection refused"));if(n||s){let c="无法连接到后端服务,请确保服务已启动";return n&&(c=`服务器错误 (${(l=t.response)==null?void 0:l.status}): 内部服务器错误`),{isConnectionError:!0,message:c,code:t.code,requestUrl:(a=t.config)==null?void 0:a.url,statusCode:(u=t.response)==null?void 0:u.status}}return null}class ke{static async getApps(){return(await Me.get("/apps")).data}static async getApp(t){return(await Me.get(`/apps/${t}`)).data}static getAppIconUrl(t){return`/api/apps/icon/${t}`}static async updateApp(t){return(await Me.post(`/apps/${t}/update`)).data}static async getConfig(){return(await Me.get("/config")).data}static async getStatus(){return(await Me.get("/status")).data}static async getStoreApps(){return(await Me.get("/store/apps")).data}static async startDownload(t,n){return(await Me.post("/download/start",{url:t,fileName:n})).data}static async pauseDownload(t){await Me.post(`/download/${t}/pause`)}static async resumeDownload(t){await Me.post(`/download/${t}/resume`)}static async getDownloadTask(t){return(await Me.get(`/download/${t}`)).data}static async getAllDownloads(){return(await Me.get("/downloads")).data}static async deleteDownload(t){await Me.delete(`/download/${t}`)}static async openDownloadFile(t){await Me.post(`/download/${t}/open`)}static async getAllSettings(){return(await Me.get("/settings")).data.data}static async updateSettings(t){await Me.post("/settings",t)}static async validatePath(t){return(await Me.get("/validate-path",{params:{path:t}})).data.data}}function Ir(){const e=Q("auto"),t=Q(!1),n=de(()=>e.value==="auto"?t.value:e.value==="dark"),s=()=>{if(typeof window<"u"){const p=window.matchMedia("(prefers-color-scheme: dark)");t.value=p.matches}};let o=null;const r=p=>{t.value=p.matches},i=()=>{if(typeof document<"u"){const p=document.documentElement;n.value?p.setAttribute("data-theme","dark"):p.removeAttribute("data-theme")}},l=p=>{typeof localStorage<"u"&&localStorage.setItem("hayaku-theme",p)},a=()=>{if(typeof localStorage<"u"){const p=localStorage.getItem("hayaku-theme");if(p&&["light","dark","auto"].includes(p))return p}return"auto"},u=()=>{e.value==="auto"?e.value="dark":e.value==="dark"?e.value="light":e.value="auto",l(e.value)},c=p=>{e.value=p,l(p)},d=()=>{e.value=a(),s(),typeof window<"u"&&(o=window.matchMedia("(prefers-color-scheme: dark)"),o.addEventListener("change",r)),i()},h=()=>{o&&o.removeEventListener("change",r)};return ut(n,()=>{i()},{immediate:!0}),ut(e,()=>{i()}),it(()=>{d()}),Tn(()=>{h()}),{theme:e,isDark:n,toggleTheme:u,setTheme:c,systemPrefersDark:t}}const tp={class:"text-mask"},np={class:"apple-progress-bar"},sp=Pe({__name:"SplashScreen",emits:["complete"],setup(e,{emit:t}){const{isDark:n}=Ir(),s=t,o=Q(!0),r=Q(1),i=de(()=>`stage-${r.value}`),l=Q(0);return it(()=>{setTimeout(()=>{r.value=2},200),setTimeout(()=>{r.value=3},600),setTimeout(()=>{r.value=4},2600),setTimeout(()=>{r.value=5},3400),setTimeout(()=>{r.value=6;let a=setInterval(()=>{l.value<100&&(l.value+=Math.random()*2+.5,l.value>100&&(l.value=100))},50);setTimeout(()=>{clearInterval(a)},3e3)},3800),setTimeout(()=>{r.value=7},6800),setTimeout(()=>{r.value=8},7400),setTimeout(()=>{r.value=8,setTimeout(()=>{o.value=!1,s("complete")},200)},7600)}),(a,u)=>o.value?(A(),D("div",{key:0,class:X(["splash-screen",i.value])},[f("div",{class:X(["black-background",{hidden:r.value>=5}])},null,2),f("div",{class:X(["white-background",{visible:r.value>=6}])},null,2),f("div",{class:X(["theme-overlay",{visible:r.value>=8,"dark-theme":z(n)}])},null,2),f("div",{class:X(["gradient-background",{visible:r.value>=2,hidden:r.value>=5}])},[(A(),D(xe,null,Nt(8,c=>f("div",{key:c,class:X(["blur-gradient",`gradient-${c}`])},null,2)),64))],2),f("div",{class:X(["glass-layer",{visible:r.value>=2,hidden:r.value>=5}])},null,2),f("div",{class:X(["splash-content",{hidden:r.value>=5}])},[f("div",tp,[f("h1",{class:X(["author-name",{reveal:r.value>=3}])},"QiuChenly",2)]),f("p",{class:X(["subtitle",{reveal:r.value>=4}])},[...u[0]||(u[0]=[f("span",{class:"word"},"诚意",-1),f("span",{class:"word"},"巨献",-1)])],2)],2),f("div",{class:X(["yuanshen-logo",{reveal:r.value>=6,fadeout:r.value>=7}])},[...u[1]||(u[1]=[f("svg",{class:"yuanshen-svg",version:"1.1",viewBox:"0 0 365 280",xmlns:"http://www.w3.org/2000/svg"},[f("defs"),f("g",{id:"レイヤー-2-コピー"},[f("path",{d:"M300.129 3.96878C299.043 3.79118 298.934 6.23188 298.934 6.23188C298.934 6.23188 294.584 41.0931 290.542 56.3035C285.651 74.7105 271.306 76.8915 271.306 76.8915C271.306 76.8915 269.618 77.0025 269.545 78.1175C269.473 79.2315 271.148 79.3435 271.148 79.3435C271.148 79.3435 277.387 81.1955 284.884 83.6495C291.736 85.8915 294.932 95.6505 295.791 98.6735C283.211 98.6275 270.597 98.4715 269.985 98.2025C268.675 97.6245 255.932 91.6455 250.812 92.4185C247.898 92.8585 247.386 95.1215 247.386 95.1215L246.914 166.63C246.914 166.63 246.794 170.386 246.914 170.59C247.831 172.151 256.678 171.005 261.813 166.724C265.796 163.403 270.389 158.709 272.343 156.666C272.908 156.075 272.931 156.002 273.506 155.628C274.081 155.254 275.455 155.408 275.455 155.408L296.137 155.314C295.533 157.233 292.302 167.238 288.059 169.207C284.274 170.963 269.891 176.814 269.891 176.814C269.891 176.814 268.804 177.501 268.822 178.102C268.841 178.703 269.985 179.202 269.985 179.202C269.985 179.202 285.693 186.076 289.725 200.419C293.728 214.66 298.589 275.039 298.589 275.039C298.589 275.039 299.27 276.67 299.877 276.736C300.484 276.802 301.166 275.039 301.166 275.039C301.166 275.039 304.022 220.171 311.067 199.539C318.181 178.706 328.984 179.831 328.984 179.831C328.984 179.831 331.631 179.263 331.592 178.008C331.554 176.753 328.952 176.373 328.952 176.373C328.952 176.373 319.046 174.7 311.602 169.458C305.975 165.497 304.686 158.118 304.372 155.283L324.269 155.188C324.269 155.188 325.462 155.15 325.903 155.283C326.344 155.415 326.336 155.68 326.815 156.446C328.186 158.64 331.475 163.277 336.496 166.221C343.267 170.192 350.307 171.491 351.866 170.904C353.426 170.318 353.123 168.735 353.123 168.735C353.123 168.735 353.152 113.095 353.155 110.366C353.158 107.637 359.041 104.402 359.001 101.974C358.961 99.5455 341.868 91.2665 338.665 91.5385C330.359 92.2435 328.258 97.7585 325.998 98.3285C325.125 98.5475 314.113 98.5825 304.121 98.6105C304.877 95.6275 307.285 87.9435 313.047 85.1895C321.11 81.3365 328.826 79.1545 328.826 79.1545C328.826 79.1545 330.659 78.9745 330.618 78.1805C330.577 77.3855 328.826 77.1115 328.826 77.1115C328.826 77.1115 317.339 72.2415 313.833 66.0785C304.4 49.4975 301.575 6.20048 301.575 6.20048C301.575 6.20048 301.214 4.14638 300.129 3.96878ZM275.643 103.828L293.402 103.86C293.402 103.86 294.77 103.851 294.943 104.142C295.115 104.434 295.192 104.745 294.628 106.091C293.396 109.034 290.829 114.227 287.022 117.47C283.351 120.597 278.524 121.907 275.675 122.436C274.217 122.707 274.327 122.553 273.726 122.247C273.125 121.942 273.254 121.241 273.254 121.242L273.192 107.16C273.192 107.16 273.017 105.414 273.632 104.583C274.246 103.751 275.643 103.828 275.643 103.828ZM324.08 103.828C324.08 103.828 325.481 103.756 326.092 104.583C326.667 105.361 326.532 107.129 326.532 107.129C326.531 107.137 326.532 107.173 326.532 107.191L326.469 121.242C326.469 121.242 326.591 121.946 325.998 122.247C325.396 122.553 325.506 122.707 324.049 122.436C321.2 121.907 316.373 120.597 312.702 117.47C308.895 114.227 306.328 109.034 305.095 106.091C304.531 104.745 304.64 104.434 304.812 104.142C304.977 103.865 306.321 103.86 306.321 103.86C306.324 103.86 306.334 103.86 306.352 103.86L324.08 103.828ZM274.386 130.734C274.617 130.688 274.946 130.693 275.675 130.828C278.524 131.357 283.351 132.667 287.022 135.795C290.829 139.038 293.396 144.23 294.628 147.173C295.192 148.52 295.115 148.862 294.943 149.153C294.77 149.444 293.402 149.405 293.402 149.405L275.643 149.468C275.643 149.468 274.246 149.545 273.632 148.713C273.017 147.882 273.192 146.136 273.192 146.136L273.254 132.054C273.254 132.054 273.125 131.353 273.726 131.048C274.027 130.896 274.155 130.781 274.386 130.734ZM325.337 130.734C325.569 130.781 325.697 130.896 325.998 131.048C326.599 131.353 326.469 132.054 326.469 132.054L326.532 146.136C326.532 146.136 326.706 147.882 326.092 148.713C325.477 149.545 324.08 149.468 324.08 149.468L306.321 149.405C306.321 149.405 304.953 149.444 304.781 149.153C304.608 148.862 304.531 148.52 305.095 147.173C306.328 144.23 308.895 139.037 312.702 135.795C316.373 132.668 321.2 131.357 324.049 130.828C324.777 130.693 325.106 130.688 325.337 130.734ZM42.6054 49.1055C41.9365 49.1255 41.8511 50.0795 41.8511 50.0795C41.8511 50.0795 40.4852 60.0595 34.9046 66.9585C30.4399 72.4785 15.4167 76.3255 15.4167 76.3255C15.4167 76.3255 14.712 76.5765 14.8194 77.0485C14.9269 77.5205 15.3852 77.6775 15.3852 77.6775C15.3852 77.6775 21.3446 79.9625 25.5692 81.8895C29.0641 83.4825 28.8696 84.9065 28.8696 84.9065C28.8696 84.9065 31.2354 137.519 29.4354 147.519C27.6354 157.519 27.0166 161.946 19.44 174.11C14.3388 182.301 9.38522 188.684 7.37003 191.209C6.76463 191.968 7.08713 192.121 7.08713 192.121C7.08713 192.121 7.00162 192.249 7.99873 191.932C12.9086 190.372 28.2899 184.847 38.3307 174.142C50.4106 161.263 52.1751 152.698 55.1469 141.578C58.1186 130.458 56.0584 84.4035 56.0584 84.4035C56.0584 84.4035 56.8375 82.6075 58.6673 81.4175C60.497 80.2275 63.6335 80.4745 63.6335 80.4745L110.53 80.6005C110.346 80.7735 102.523 88.1145 102.358 88.4265C102.191 88.7425 102.154 90.9345 102.452 91.3185C102.75 91.7025 110.003 98.1045 109.022 98.1395C108.04 98.1745 89.9499 98.6675 86.5159 97.8875C83.0819 97.1085 73.9108 93.6435 72.3088 93.5185C69.7927 93.3235 66.9402 93.1475 66.4938 93.1105C65.0617 92.9905 63.739 93.8805 63.2249 94.9965C62.7108 96.1125 62.5596 153.314 63.2878 154.34C64.016 155.365 68.6818 154.83 74.2576 152.642C79.8334 150.454 83.6139 146.504 85.3849 145.947C85.6349 145.868 97.3289 145.57 97.3289 145.57C97.3289 145.57 100.39 145.82 101.132 146.387C101.875 146.954 101.572 149.939 101.572 149.939L101.572 204.537C101.572 204.537 101.482 205.222 101.981 206.171C102.479 207.121 103.507 206.353 104.527 206.077C107.315 205.323 111.829 203.838 116.282 200.136C122.366 195.08 124.63 190.585 125.932 186.652C127.235 182.718 125.123 148.194 126.246 146.544C126.413 146.3 126.89 145.881 127.409 145.696C127.929 145.51 136.5 145.614 137.405 145.633C138.31 145.652 138.707 145.521 138.945 146.01C139.158 146.446 139.082 148.641 139.039 150.442C139.018 151.323 139.428 151.909 139.699 152.014C139.97 152.118 140.568 152.56 141.208 152.548C145.639 152.466 162.568 151.894 164.122 147.142C164.754 145.211 164.408 109.563 164.562 108.606C164.716 107.648 168.473 105.681 168.931 102.728C169.153 101.298 163.527 98.5085 157.71 95.5305C153.958 93.6095 149.565 92.5265 147.84 92.3875C145.781 92.2215 143.123 94.0415 141.46 95.6875C140.257 96.8785 139.948 98.0275 138.976 98.0765C135.209 98.2675 120.119 98.3505 118.608 98.2025C117.098 98.0535 125.166 91.5265 125.335 91.3505C125.504 91.1735 125.682 89.0235 125.366 88.5845C125.052 88.1465 117.568 80.6595 117.508 80.6005L189.802 80.7885C189.802 80.7885 196.846 82.2845 201.086 86.3525C204.418 89.5485 207.133 97.9805 206.681 98.2655C206.229 98.5495 176.343 98.0385 175.658 98.3905C174.354 99.0625 173.64 100.608 173.646 101.471C173.655 102.688 174.058 103.75 174.652 103.828C177.638 104.219 193.043 103.915 196.529 103.828C196.936 103.818 198.389 104.069 198.729 104.394C199.069 104.719 198.855 106.971 198.855 106.971L198.792 205.92C198.792 205.92 198.77 206.948 199.169 207.146C199.568 207.343 199.777 207.569 201.275 206.894C204.006 205.663 208.423 203.34 211.553 199.916C216.401 194.615 217.158 192.463 218.405 186.683C219.653 180.903 218.971 117.312 218.971 117.313C218.971 117.313 218.901 114.569 219.16 114.169C219.418 113.769 219.977 113.824 219.977 113.824L239.936 113.918C239.936 113.918 243.349 113.411 244.054 111.623C244.759 109.835 243.268 107.317 243.268 107.317C243.268 107.317 241.426 103.955 237.39 98.6425C234.79 95.2185 230.143 89.0175 228.118 89.0865C222.95 89.2635 213.785 98.2025 213.785 98.2025C213.785 98.2025 211.406 98.6565 211.019 98.2655C210.631 97.8735 212.008 91.2185 218.091 85.2835C224.175 79.3485 235.002 78.2425 235.002 78.2425C235.002 78.2425 237.267 78.0555 237.202 77.1745C237.136 76.2935 234.939 76.2945 234.939 76.2945C234.939 76.2945 222.516 73.2005 217.462 67.8385C211.224 61.2205 209.667 51.0855 209.667 51.0855C209.667 51.0855 209.435 49.0775 208.63 49.1365C207.825 49.1955 207.781 51.0855 207.781 51.0855C207.781 51.0855 205.027 62.4965 201.683 66.6755C197.236 72.2355 191.405 73.1825 191.405 73.1825L59.5788 73.4335C59.5788 73.4335 52.2067 71.0755 48.7976 64.8525C46.1625 60.0425 43.5484 50.0795 43.5484 50.0795C43.5484 50.0795 43.2744 49.0855 42.6054 49.1055ZM90.2249 104.08L136.902 104.08C136.902 104.08 137.95 104.112 138.473 104.677C138.997 105.242 139.008 106.343 139.008 106.343L139.228 137.649C139.228 137.649 139.129 138.997 138.599 139.598C138.07 140.199 137.153 139.975 137.153 139.975L90.1939 139.975C90.1939 139.975 89.3039 139.761 88.8739 139.378C88.4429 138.994 88.4649 138.435 88.4649 138.435L88.4339 127.622C88.4339 127.622 88.2299 126.493 88.9049 125.893C89.5799 125.294 89.4289 125.219 91.1369 125.233C100.387 125.312 130.271 125.525 133.036 125.045C134.715 124.753 131.312 119.845 129.484 119.387C127.656 118.929 89.5969 119.576 89.5969 119.576C89.5969 119.576 88.9709 119.581 88.6849 119.293C88.3989 119.004 88.4339 118.413 88.4339 118.413L88.3709 105.903C88.3709 105.903 88.2839 104.915 88.7479 104.457C89.2119 103.998 90.2249 104.08 90.2249 104.08ZM192.725 109.172L177.606 109.297C177.606 109.297 177.313 109.259 176.632 109.957C175.952 110.656 175.972 111.089 175.972 111.089L176.129 167.981C176.129 167.981 175.962 168.524 175.878 168.83C173.358 167.037 170.376 165.189 166.448 163.549C155.587 159.014 146.206 157.106 141.617 157.043C137.027 156.979 139.823 162.429 137.185 165.184C135.802 166.627 132.112 167.295 129.955 168.264C127.997 169.144 130.741 172.853 130.741 172.853C130.741 172.853 162.271 177.483 164.688 182.44C166.587 186.335 144.913 191.188 142.56 191.744C140.206 192.3 139.35 194.558 141.962 194.384C145.915 194.121 152.984 192.76 159.753 191.084C167.539 189.483 176.286 186.727 182.321 181.811C195.598 170.996 194.297 150.159 194.297 150.159L194.14 110.303C194.14 110.303 194.08 109.776 193.731 109.486C193.382 109.195 192.725 109.172 192.725 109.172ZM225.383 123.19C225.383 123.19 224.121 123.154 223.592 123.599L223.152 125.045L222.994 164.178C222.994 164.178 222.886 164.796 223.403 165.215C223.92 165.634 224.173 165.647 224.692 165.529C226.375 165.146 229.54 164.124 232.927 161.38C237.357 157.792 240.058 153.283 240.848 151.479C240.965 151.212 240.816 124.259 240.816 124.259C240.816 124.259 240.692 123.672 240.282 123.41C239.872 123.149 239.182 123.19 239.182 123.19L225.383 123.19ZM85.2899 156.948C80.7008 157.012 71.3199 158.888 60.4589 163.423C49.5979 167.959 44.1478 174.521 43.957 175.116C43.7662 175.712 43.9934 183.106 54.7697 187.28C62.5155 190.281 78.2662 193.846 84.9449 194.29C87.5569 194.463 86.7009 192.174 84.3469 191.618C81.994 191.062 60.3203 186.209 62.2191 182.314C64.6356 177.357 96.1659 172.727 96.1659 172.727C96.1659 172.727 98.9099 169.019 96.9519 168.138C94.7949 167.169 91.1049 166.502 89.7219 165.058C87.0839 162.303 89.8799 156.885 85.2899 156.948Z",fill:"currentColor","fill-rule":"nonzero",opacity:"1",stroke:"none"})])],-1)])],2),f("div",{class:X(["yuanshen-loading-progress",{reveal:r.value>=6,fadeout:r.value>=7}])},[f("div",np,[f("div",{class:"apple-progress-fill",style:cs({width:l.value+"%"})},null,4)])],2)],2)):oe("",!0)}}),Ke=(e,t)=>{const n=e.__vccOpts||e;for(const[s,o]of t)n[s]=o;return n},op=Ke(sp,[["__scopeId","data-v-a2001a7e"]]),Sc=/^[a-z0-9]+(-[a-z0-9]+)*$/,ho=(e,t,n,s="")=>{const o=e.split(":");if(e.slice(0,1)==="@"){if(o.length<2||o.length>3)return null;s=o.shift().slice(1)}if(o.length>3||!o.length)return null;if(o.length>1){const l=o.pop(),a=o.pop(),u={provider:o.length>0?o[0]:s,prefix:a,name:l};return t&&!Ps(u)?null:u}const r=o[0],i=r.split("-");if(i.length>1){const l={provider:s,prefix:i.shift(),name:i.join("-")};return t&&!Ps(l)?null:l}if(n&&s===""){const l={provider:s,prefix:"",name:r};return t&&!Ps(l,n)?null:l}return null},Ps=(e,t)=>e?!!((t&&e.prefix===""||e.prefix)&&e.name):!1,xc=Object.freeze({left:0,top:0,width:16,height:16}),Js=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),mo=Object.freeze({...xc,...Js}),nr=Object.freeze({...mo,body:"",hidden:!1});function rp(e,t){const n={};!e.hFlip!=!t.hFlip&&(n.hFlip=!0),!e.vFlip!=!t.vFlip&&(n.vFlip=!0);const s=((e.rotate||0)+(t.rotate||0))%4;return s&&(n.rotate=s),n}function Qi(e,t){const n=rp(e,t);for(const s in nr)s in Js?s in e&&!(s in n)&&(n[s]=Js[s]):s in t?n[s]=t[s]:s in e&&(n[s]=e[s]);return n}function ip(e,t){const n=e.icons,s=e.aliases||Object.create(null),o=Object.create(null);function r(i){if(n[i])return o[i]=[];if(!(i in o)){o[i]=null;const l=s[i]&&s[i].parent,a=l&&r(l);a&&(o[i]=[l].concat(a))}return o[i]}return Object.keys(n).concat(Object.keys(s)).forEach(r),o}function lp(e,t,n){const s=e.icons,o=e.aliases||Object.create(null);let r={};function i(l){r=Qi(s[l]||o[l],r)}return i(t),n.forEach(i),Qi(e,r)}function Ec(e,t){const n=[];if(typeof e!="object"||typeof e.icons!="object")return n;e.not_found instanceof Array&&e.not_found.forEach(o=>{t(o,null),n.push(o)});const s=ip(e);for(const o in s){const r=s[o];r&&(t(o,lp(e,o,r)),n.push(o))}return n}const ap={provider:"",aliases:{},not_found:{},...xc};function Po(e,t){for(const n in t)if(n in e&&typeof e[n]!=typeof t[n])return!1;return!0}function Tc(e){if(typeof e!="object"||e===null)return null;const t=e;if(typeof t.prefix!="string"||!e.icons||typeof e.icons!="object"||!Po(e,ap))return null;const n=t.icons;for(const o in n){const r=n[o];if(!o||typeof r.body!="string"||!Po(r,nr))return null}const s=t.aliases||Object.create(null);for(const o in s){const r=s[o],i=r.parent;if(!o||typeof i!="string"||!n[i]&&!s[i]||!Po(r,nr))return null}return t}const Xi=Object.create(null);function cp(e,t){return{provider:e,prefix:t,icons:Object.create(null),missing:new Set}}function wn(e,t){const n=Xi[e]||(Xi[e]=Object.create(null));return n[t]||(n[t]=cp(e,t))}function kc(e,t){return Tc(t)?Ec(t,(n,s)=>{s?e.icons[n]=s:e.missing.add(n)}):[]}function up(e,t,n){try{if(typeof n.body=="string")return e.icons[t]={...n},!0}catch{}return!1}let rs=!1;function $c(e){return typeof e=="boolean"&&(rs=e),rs}function dp(e){const t=typeof e=="string"?ho(e,!0,rs):e;if(t){const n=wn(t.provider,t.prefix),s=t.name;return n.icons[s]||(n.missing.has(s)?null:void 0)}}function fp(e,t){const n=ho(e,!0,rs);if(!n)return!1;const s=wn(n.provider,n.prefix);return t?up(s,n.name,t):(s.missing.add(n.name),!0)}function pp(e,t){if(typeof e!="object")return!1;if(typeof t!="string"&&(t=e.provider||""),rs&&!t&&!e.prefix){let o=!1;return Tc(e)&&(e.prefix="",Ec(e,(r,i)=>{fp(r,i)&&(o=!0)})),o}const n=e.prefix;if(!Ps({prefix:n,name:"a"}))return!1;const s=wn(t,n);return!!kc(s,e)}const Ac=Object.freeze({width:null,height:null}),Rc=Object.freeze({...Ac,...Js}),hp=/(-?[0-9.]*[0-9]+[0-9.]*)/g,mp=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function Yi(e,t,n){if(t===1)return e;if(n=n||100,typeof e=="number")return Math.ceil(e*t*n)/n;if(typeof e!="string")return e;const s=e.split(hp);if(s===null||!s.length)return e;const o=[];let r=s.shift(),i=mp.test(r);for(;;){if(i){const l=parseFloat(r);isNaN(l)?o.push(r):o.push(Math.ceil(l*t*n)/n)}else o.push(r);if(r=s.shift(),r===void 0)return o.join("");i=!i}}function gp(e,t="defs"){let n="";const s=e.indexOf("<"+t);for(;s>=0;){const o=e.indexOf(">",s),r=e.indexOf("",r);if(i===-1)break;n+=e.slice(o+1,r).trim(),e=e.slice(0,s).trim()+e.slice(i+1)}return{defs:n,content:e}}function vp(e,t){return e?""+e+""+t:t}function yp(e,t,n){const s=gp(e);return vp(s.defs,t+s.content+n)}const bp=e=>e==="unset"||e==="undefined"||e==="none";function _p(e,t){const n={...mo,...e},s={...Rc,...t},o={left:n.left,top:n.top,width:n.width,height:n.height};let r=n.body;[n,s].forEach(y=>{const b=[],I=y.hFlip,L=y.vFlip;let T=y.rotate;I?L?T+=2:(b.push("translate("+(o.width+o.left).toString()+" "+(0-o.top).toString()+")"),b.push("scale(-1 1)"),o.top=o.left=0):L&&(b.push("translate("+(0-o.left).toString()+" "+(o.height+o.top).toString()+")"),b.push("scale(1 -1)"),o.top=o.left=0);let w;switch(T<0&&(T-=Math.floor(T/4)*4),T=T%4,T){case 1:w=o.height/2+o.top,b.unshift("rotate(90 "+w.toString()+" "+w.toString()+")");break;case 2:b.unshift("rotate(180 "+(o.width/2+o.left).toString()+" "+(o.height/2+o.top).toString()+")");break;case 3:w=o.width/2+o.left,b.unshift("rotate(-90 "+w.toString()+" "+w.toString()+")");break}T%2===1&&(o.left!==o.top&&(w=o.left,o.left=o.top,o.top=w),o.width!==o.height&&(w=o.width,o.width=o.height,o.height=w)),b.length&&(r=yp(r,'',""))});const i=s.width,l=s.height,a=o.width,u=o.height;let c,d;i===null?(d=l===null?"1em":l==="auto"?u:l,c=Yi(d,a/u)):(c=i==="auto"?a:i,d=l===null?Yi(c,u/a):l==="auto"?u:l);const h={},p=(y,b)=>{bp(b)||(h[y]=b.toString())};p("width",c),p("height",d);const m=[o.left,o.top,a,u];return h.viewBox=m.join(" "),{attributes:h,viewBox:m,body:r}}const Cp=/\sid="(\S+)"/g,wp="IconifyId"+Date.now().toString(16)+(Math.random()*16777216|0).toString(16);let Sp=0;function xp(e,t=wp){const n=[];let s;for(;s=Cp.exec(e);)n.push(s[1]);if(!n.length)return e;const o="suffix"+(Math.random()*16777216|Date.now()).toString(16);return n.forEach(r=>{const i=typeof t=="function"?t(r):t+(Sp++).toString(),l=r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");e=e.replace(new RegExp('([#;"])('+l+')([")]|\\.[a-z])',"g"),"$1"+i+o+"$3")}),e=e.replace(new RegExp(o,"g"),""),e}const sr=Object.create(null);function Ep(e,t){sr[e]=t}function or(e){return sr[e]||sr[""]}function Mr(e){let t;if(typeof e.resources=="string")t=[e.resources];else if(t=e.resources,!(t instanceof Array)||!t.length)return null;return{resources:t,path:e.path||"/",maxURL:e.maxURL||500,rotate:e.rotate||750,timeout:e.timeout||5e3,random:e.random===!0,index:e.index||0,dataAfterTimeout:e.dataAfterTimeout!==!1}}const Lr=Object.create(null),Mn=["https://api.simplesvg.com","https://api.unisvg.com"],Is=[];for(;Mn.length>0;)Mn.length===1||Math.random()>.5?Is.push(Mn.shift()):Is.push(Mn.pop());Lr[""]=Mr({resources:["https://api.iconify.design"].concat(Is)});function Tp(e,t){const n=Mr(t);return n===null?!1:(Lr[e]=n,!0)}function Dr(e){return Lr[e]}const kp=()=>{let e;try{if(e=fetch,typeof e=="function")return e}catch{}};let el=kp();function $p(e,t){const n=Dr(e);if(!n)return 0;let s;if(!n.maxURL)s=0;else{let o=0;n.resources.forEach(i=>{o=Math.max(o,i.length)});const r=t+".json?icons=";s=n.maxURL-o-n.path.length-r.length}return s}function Ap(e){return e===404}const Rp=(e,t,n)=>{const s=[],o=$p(e,t),r="icons";let i={type:r,provider:e,prefix:t,icons:[]},l=0;return n.forEach((a,u)=>{l+=a.length+1,l>=o&&u>0&&(s.push(i),i={type:r,provider:e,prefix:t,icons:[]},l=a.length),i.icons.push(a)}),s.push(i),s};function Op(e){if(typeof e=="string"){const t=Dr(e);if(t)return t.path}return"/"}const Pp=(e,t,n)=>{if(!el){n("abort",424);return}let s=Op(t.provider);switch(t.type){case"icons":{const r=t.prefix,l=t.icons.join(","),a=new URLSearchParams({icons:l});s+=r+".json?"+a.toString();break}case"custom":{const r=t.uri;s+=r.slice(0,1)==="/"?r.slice(1):r;break}default:n("abort",400);return}let o=503;el(e+s).then(r=>{const i=r.status;if(i!==200){setTimeout(()=>{n(Ap(i)?"abort":"next",i)});return}return o=501,r.json()}).then(r=>{if(typeof r!="object"||r===null){setTimeout(()=>{r===404?n("abort",r):n("next",o)});return}setTimeout(()=>{n("success",r)})}).catch(()=>{n("next",o)})},Ip={prepare:Rp,send:Pp};function Mp(e){const t={loaded:[],missing:[],pending:[]},n=Object.create(null);e.sort((o,r)=>o.provider!==r.provider?o.provider.localeCompare(r.provider):o.prefix!==r.prefix?o.prefix.localeCompare(r.prefix):o.name.localeCompare(r.name));let s={provider:"",prefix:"",name:""};return e.forEach(o=>{if(s.name===o.name&&s.prefix===o.prefix&&s.provider===o.provider)return;s=o;const r=o.provider,i=o.prefix,l=o.name,a=n[r]||(n[r]=Object.create(null)),u=a[i]||(a[i]=wn(r,i));let c;l in u.icons?c=t.loaded:i===""||u.missing.has(l)?c=t.missing:c=t.pending;const d={provider:r,prefix:i,name:l};c.push(d)}),t}function Oc(e,t){e.forEach(n=>{const s=n.loaderCallbacks;s&&(n.loaderCallbacks=s.filter(o=>o.id!==t))})}function Lp(e){e.pendingCallbacksFlag||(e.pendingCallbacksFlag=!0,setTimeout(()=>{e.pendingCallbacksFlag=!1;const t=e.loaderCallbacks?e.loaderCallbacks.slice(0):[];if(!t.length)return;let n=!1;const s=e.provider,o=e.prefix;t.forEach(r=>{const i=r.icons,l=i.pending.length;i.pending=i.pending.filter(a=>{if(a.prefix!==o)return!0;const u=a.name;if(e.icons[u])i.loaded.push({provider:s,prefix:o,name:u});else if(e.missing.has(u))i.missing.push({provider:s,prefix:o,name:u});else return n=!0,!0;return!1}),i.pending.length!==l&&(n||Oc([e],r.id),r.callback(i.loaded.slice(0),i.missing.slice(0),i.pending.slice(0),r.abort))})}))}let Dp=0;function Np(e,t,n){const s=Dp++,o=Oc.bind(null,n,s);if(!t.pending.length)return o;const r={id:s,icons:t,callback:e,abort:o};return n.forEach(i=>{(i.loaderCallbacks||(i.loaderCallbacks=[])).push(r)}),o}function Fp(e,t=!0,n=!1){const s=[];return e.forEach(o=>{const r=typeof o=="string"?ho(o,t,n):o;r&&s.push(r)}),s}var jp={resources:[],index:0,timeout:2e3,rotate:750,random:!1,dataAfterTimeout:!1};function Up(e,t,n,s){const o=e.resources.length,r=e.random?Math.floor(Math.random()*o):e.index;let i;if(e.random){let U=e.resources.slice(0);for(i=[];U.length>1;){const H=Math.floor(Math.random()*U.length);i.push(U[H]),U=U.slice(0,H).concat(U.slice(H+1))}i=i.concat(U)}else i=e.resources.slice(r).concat(e.resources.slice(0,r));const l=Date.now();let a="pending",u=0,c,d=null,h=[],p=[];typeof s=="function"&&p.push(s);function m(){d&&(clearTimeout(d),d=null)}function y(){a==="pending"&&(a="aborted"),m(),h.forEach(U=>{U.status==="pending"&&(U.status="aborted")}),h=[]}function b(U,H){H&&(p=[]),typeof U=="function"&&p.push(U)}function I(){return{startTime:l,payload:t,status:a,queriesSent:u,queriesPending:h.length,subscribe:b,abort:y}}function L(){a="failed",p.forEach(U=>{U(void 0,c)})}function T(){h.forEach(U=>{U.status==="pending"&&(U.status="aborted")}),h=[]}function w(U,H,N){const E=H!=="success";switch(h=h.filter(C=>C!==U),a){case"pending":break;case"failed":if(E||!e.dataAfterTimeout)return;break;default:return}if(H==="abort"){c=N,L();return}if(E){c=N,h.length||(i.length?j():L());return}if(m(),T(),!e.random){const C=e.resources.indexOf(U.resource);C!==-1&&C!==e.index&&(e.index=C)}a="completed",p.forEach(C=>{C(N)})}function j(){if(a!=="pending")return;m();const U=i.shift();if(U===void 0){if(h.length){d=setTimeout(()=>{m(),a==="pending"&&(T(),L())},e.timeout);return}L();return}const H={status:"pending",resource:U,callback:(N,E)=>{w(H,N,E)}};h.push(H),u++,d=setTimeout(j,e.rotate),n(U,t,H.callback)}return setTimeout(j),I}function Pc(e){const t={...jp,...e};let n=[];function s(){n=n.filter(l=>l().status==="pending")}function o(l,a,u){const c=Up(t,l,a,(d,h)=>{s(),u&&u(d,h)});return n.push(c),c}function r(l){return n.find(a=>l(a))||null}return{query:o,find:r,setIndex:l=>{t.index=l},getIndex:()=>t.index,cleanup:s}}function tl(){}const Io=Object.create(null);function Bp(e){if(!Io[e]){const t=Dr(e);if(!t)return;const n=Pc(t),s={config:t,redundancy:n};Io[e]=s}return Io[e]}function Vp(e,t,n){let s,o;if(typeof e=="string"){const r=or(e);if(!r)return n(void 0,424),tl;o=r.send;const i=Bp(e);i&&(s=i.redundancy)}else{const r=Mr(e);if(r){s=Pc(r);const i=e.resources?e.resources[0]:"",l=or(i);l&&(o=l.send)}}return!s||!o?(n(void 0,424),tl):s.query(t,o,n)().abort}function nl(){}function Hp(e){e.iconsLoaderFlag||(e.iconsLoaderFlag=!0,setTimeout(()=>{e.iconsLoaderFlag=!1,Lp(e)}))}function qp(e){const t=[],n=[];return e.forEach(s=>{(s.match(Sc)?t:n).push(s)}),{valid:t,invalid:n}}function Ln(e,t,n){function s(){const o=e.pendingIcons;t.forEach(r=>{o&&o.delete(r),e.icons[r]||e.missing.add(r)})}if(n&&typeof n=="object")try{if(!kc(e,n).length){s();return}}catch(o){console.error(o)}s(),Hp(e)}function sl(e,t){e instanceof Promise?e.then(n=>{t(n)}).catch(()=>{t(null)}):t(e)}function Kp(e,t){e.iconsToLoad?e.iconsToLoad=e.iconsToLoad.concat(t).sort():e.iconsToLoad=t,e.iconsQueueFlag||(e.iconsQueueFlag=!0,setTimeout(()=>{e.iconsQueueFlag=!1;const{provider:n,prefix:s}=e,o=e.iconsToLoad;if(delete e.iconsToLoad,!o||!o.length)return;const r=e.loadIcon;if(e.loadIcons&&(o.length>1||!r)){sl(e.loadIcons(o,s,n),c=>{Ln(e,o,c)});return}if(r){o.forEach(c=>{const d=r(c,s,n);sl(d,h=>{const p=h?{prefix:s,icons:{[c]:h}}:null;Ln(e,[c],p)})});return}const{valid:i,invalid:l}=qp(o);if(l.length&&Ln(e,l,null),!i.length)return;const a=s.match(Sc)?or(n):null;if(!a){Ln(e,i,null);return}a.prepare(n,s,i).forEach(c=>{Vp(n,c,d=>{Ln(e,c.icons,d)})})}))}const zp=(e,t)=>{const n=Fp(e,!0,$c()),s=Mp(n);if(!s.pending.length){let a=!0;return t&&setTimeout(()=>{a&&t(s.loaded,s.missing,s.pending,nl)}),()=>{a=!1}}const o=Object.create(null),r=[];let i,l;return s.pending.forEach(a=>{const{provider:u,prefix:c}=a;if(c===l&&u===i)return;i=u,l=c,r.push(wn(u,c));const d=o[u]||(o[u]=Object.create(null));d[c]||(d[c]=[])}),s.pending.forEach(a=>{const{provider:u,prefix:c,name:d}=a,h=wn(u,c),p=h.pendingIcons||(h.pendingIcons=new Set);p.has(d)||(p.add(d),o[u][c].push(d))}),r.forEach(a=>{const u=o[a.provider][a.prefix];u.length&&Kp(a,u)}),t?Np(t,s,r):nl};function Wp(e,t){const n={...e};for(const s in t){const o=t[s],r=typeof o;s in Ac?(o===null||o&&(r==="string"||r==="number"))&&(n[s]=o):r===typeof n[s]&&(n[s]=s==="rotate"?o%4:o)}return n}const Gp=/[\s,]+/;function Jp(e,t){t.split(Gp).forEach(n=>{switch(n.trim()){case"horizontal":e.hFlip=!0;break;case"vertical":e.vFlip=!0;break}})}function Zp(e,t=0){const n=e.replace(/^-?[0-9.]*/,"");function s(o){for(;o<0;)o+=4;return o%4}if(n===""){const o=parseInt(e);return isNaN(o)?0:s(o)}else if(n!==e){let o=0;switch(n){case"%":o=25;break;case"deg":o=90}if(o){let r=parseFloat(e.slice(0,e.length-n.length));return isNaN(r)?0:(r=r/o,r%1===0?s(r):0)}}return t}function Qp(e,t){let n=e.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(const s in t)n+=" "+s+'="'+t[s]+'"';return'"+e+""}function Xp(e){return e.replace(/"/g,"'").replace(/%/g,"%25").replace(/#/g,"%23").replace(//g,"%3E").replace(/\s+/g," ")}function Yp(e){return"data:image/svg+xml,"+Xp(e)}function eh(e){return'url("'+Yp(e)+'")'}const ol={...Rc,inline:!1},th={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink","aria-hidden":!0,role:"img"},nh={display:"inline-block"},rr={backgroundColor:"currentColor"},Ic={backgroundColor:"transparent"},rl={Image:"var(--svg)",Repeat:"no-repeat",Size:"100% 100%"},il={webkitMask:rr,mask:rr,background:Ic};for(const e in il){const t=il[e];for(const n in rl)t[e+n]=rl[n]}const Ms={};["horizontal","vertical"].forEach(e=>{const t=e.slice(0,1)+"Flip";Ms[e+"-flip"]=t,Ms[e.slice(0,1)+"-flip"]=t,Ms[e+"Flip"]=t});function ll(e){return e+(e.match(/^[-0-9.]+$/)?"px":"")}const al=(e,t)=>{const n=Wp(ol,t),s={...th},o=t.mode||"svg",r={},i=t.style,l=typeof i=="object"&&!(i instanceof Array)?i:{};for(let y in t){const b=t[y];if(b!==void 0)switch(y){case"icon":case"style":case"onLoad":case"mode":case"ssr":break;case"inline":case"hFlip":case"vFlip":n[y]=b===!0||b==="true"||b===1;break;case"flip":typeof b=="string"&&Jp(n,b);break;case"color":r.color=b;break;case"rotate":typeof b=="string"?n[y]=Zp(b):typeof b=="number"&&(n[y]=b);break;case"ariaHidden":case"aria-hidden":b!==!0&&b!=="true"&&delete s["aria-hidden"];break;default:{const I=Ms[y];I?(b===!0||b==="true"||b===1)&&(n[I]=!0):ol[y]===void 0&&(s[y]=b)}}}const a=_p(e,n),u=a.attributes;if(n.inline&&(r.verticalAlign="-0.125em"),o==="svg"){s.style={...r,...l},Object.assign(s,u);let y=0,b=t.id;return typeof b=="string"&&(b=b.replace(/-/g,"_")),s.innerHTML=xp(a.body,b?()=>b+"ID"+y++:"iconifyVue"),Jt("svg",s)}const{body:c,width:d,height:h}=e,p=o==="mask"||(o==="bg"?!1:c.indexOf("currentColor")!==-1),m=Qp(c,{...u,width:d+"",height:h+""});return s.style={...r,"--svg":eh(m),width:ll(u.width),height:ll(u.height),...nh,...p?rr:Ic,...l},Jt("span",s)};$c(!0);Ep("",Ip);if(typeof document<"u"&&typeof window<"u"){const e=window;if(e.IconifyPreload!==void 0){const t=e.IconifyPreload,n="Invalid IconifyPreload syntax.";typeof t=="object"&&t!==null&&(t instanceof Array?t:[t]).forEach(s=>{try{(typeof s!="object"||s===null||s instanceof Array||typeof s.icons!="object"||typeof s.prefix!="string"||!pp(s))&&console.error(n)}catch{console.error(n)}})}if(e.IconifyProviders!==void 0){const t=e.IconifyProviders;if(typeof t=="object"&&t!==null)for(let n in t){const s="IconifyProviders["+n+"] is invalid.";try{const o=t[n];if(typeof o!="object"||!o||o.resources===void 0)continue;Tp(n,o)||console.error(s)}catch{console.error(s)}}}}const sh={...mo,body:""},oh=Pe((e,{emit:t})=>{const n=Q(null);function s(){var u,c;n.value&&((c=(u=n.value).abort)==null||c.call(u),n.value=null)}const o=Q(!!e.ssr),r=Q(""),i=Qn(null);function l(){const u=e.icon;if(typeof u=="object"&&u!==null&&typeof u.body=="string")return r.value="",{data:u};let c;if(typeof u!="string"||(c=ho(u,!1,!0))===null)return null;let d=dp(c);if(!d){const m=n.value;return(!m||m.name!==u)&&(d===null?n.value={name:u}:n.value={name:u,abort:zp([c],a)}),null}s(),r.value!==u&&(r.value=u,yn(()=>{t("load",u)}));const h=e.customise;if(h){d=Object.assign({},d);const m=h(d.body,c.name,c.prefix,c.provider);typeof m=="string"&&(d.body=m)}const p=["iconify"];return c.prefix!==""&&p.push("iconify--"+c.prefix),c.provider!==""&&p.push("iconify--"+c.provider),{data:d,classes:p}}function a(){var c;const u=l();u?u.data!==((c=i.value)==null?void 0:c.data)&&(i.value=u):i.value=null}return o.value?a():it(()=>{o.value=!0,a()}),ut(()=>e.icon,a),Tn(s),()=>{const u=i.value;if(!u)return al(sh,e);let c=e;return u.classes&&(c={...e,class:u.classes.join(" ")}),al({...mo,...u.data},c)}},{props:["icon","mode","ssr","width","height","style","color","inline","rotate","hFlip","horizontalFlip","vFlip","verticalFlip","flip","id","ariaHidden","customise","title"],emits:["load"]}),B=Pe({__name:"IconifyIcon",props:{icon:{},className:{}},setup(e){return(t,n)=>(A(),qe(z(oh),{icon:e.icon,class:X(e.className)},null,8,["icon","class"]))}});function rh(){const e=Q(!1),t=Q({title:"",message:"",type:"warning",confirmText:"确认",cancelText:"取消"});let n=null;return{visible:e,config:t,show:i=>(t.value={...t.value,...i},e.value=!0,new Promise(l=>{n=l})),handleConfirm:()=>{e.value=!1,n&&(n(!0),n=null)},handleCancel:()=>{e.value=!1,n&&(n(!1),n=null)}}}const ih={key:0,class:"dialog-icon"},lh={class:"dialog-title"},ah={class:"dialog-message"},ch={class:"dialog-actions"},uh=Pe({__name:"ConfirmDialog",props:{visible:{type:Boolean},title:{},message:{},type:{default:"warning"},confirmText:{default:"确认"},cancelText:{default:"取消"},showIcon:{type:Boolean,default:!0}},emits:["confirm","cancel","update:visible"],setup(e,{emit:t}){const n=e,s=t,o=de(()=>({info:"mdi:information",warning:"mdi:alert",danger:"mdi:alert-circle"})[n.type]),r=de(()=>({info:"btn-primary",warning:"btn-warning",danger:"btn-error"})[n.type]),i=()=>{s("confirm"),s("update:visible",!1)},l=()=>{s("cancel"),s("update:visible",!1)};return(a,u)=>(A(),qe(Sr,{to:"body"},[k(ss,{name:"fade"},{default:Be(()=>[e.visible?(A(),D("div",{key:0,class:"confirm-dialog-overlay",onClick:xt(l,["self"])},[f("div",{class:X(["confirm-dialog",`type-${e.type}`])},[e.showIcon?(A(),D("div",ih,[k(B,{icon:o.value},null,8,["icon"])])):oe("",!0),f("h3",lh,q(e.title),1),f("p",ah,q(e.message),1),f("div",ch,[e.cancelText?(A(),D("button",{key:0,class:"btn btn-outline",onClick:l},q(e.cancelText),1)):oe("",!0),f("button",{class:X(["btn",r.value]),onClick:i},q(e.confirmText),3)])],2)])):oe("",!0)]),_:1})]))}}),Mc=Ke(uh,[["__scopeId","data-v-06d5569c"]]);function Nr(){const e=Q([]),t=(l,a="info",u=3e3,c=!0)=>{const d=`${Date.now()}-${Math.random()}`,h={id:d,message:l,type:a,duration:u,closable:c};return e.value.push(h),u>0&&setTimeout(()=>{n(d)},u),d},n=l=>{const a=e.value.findIndex(u=>u.id===l);a>-1&&e.value.splice(a,1)};return{toasts:e,showToast:t,removeToast:n,success:(l,a)=>t(l,"success",a),error:(l,a)=>t(l,"error",a),info:(l,a)=>t(l,"info",a),warning:(l,a)=>t(l,"warning",a)}}const dh={class:"toast-content"},fh={class:"toast-message"},ph=["onClick"],hh=Pe({__name:"Toast",props:{toasts:{}},emits:["remove"],setup(e,{emit:t}){const n=t,s=r=>{const i={success:"mdi:check-circle",error:"mdi:alert-circle",info:"mdi:information",warning:"mdi:alert"};return i[r]||i.info},o=r=>{n("remove",r)};return(r,i)=>(A(),qe(Sr,{to:"body"},[k(Qa,{name:"toast",tag:"div",class:"toast-container"},{default:Be(()=>[(A(!0),D(xe,null,Nt(e.toasts,l=>(A(),D("div",{key:l.id,class:X(["toast",`toast-${l.type}`])},[f("div",dh,[k(B,{icon:s(l.type),class:"toast-icon"},null,8,["icon"]),f("span",fh,q(l.message),1)]),l.closable?(A(),D("button",{key:0,class:"toast-close",onClick:a=>o(l.id)},[k(B,{icon:"mdi:close"})],8,ph)):oe("",!0)],2))),128))]),_:1})]))}}),Fr=Ke(hh,[["__scopeId","data-v-304cabf2"]]),mh={class:"setup-wizard"},gh={class:"wizard-card"},vh={class:"steps-indicator"},yh={key:0,class:"wizard-content step-1"},bh={class:"setting-group"},_h={class:"setting-label"},Ch={class:"path-input-group"},wh={key:0,class:"setting-error"},Sh={class:"quick-options"},xh=["onClick"],Eh={key:1,class:"wizard-content step-2"},Th={class:"setting-group"},kh={class:"setting-label"},$h={class:"wizard-actions"},Ah=["disabled"],Rh=Pe({__name:"SetupWizard",emits:["complete"],setup(e,{emit:t}){const n=t,s=Q(1),o=Q(""),r=Q(""),i=Q(3),l=Q(!0),a=Q(!0),{visible:u,config:c,show:d,handleConfirm:h,handleCancel:p}=rh(),{toasts:m,error:y,removeToast:b}=Nr(),I=de(()=>o.value.trim().length>0&&!r.value);it(()=>{setTimeout(()=>{a.value=!1},100)});const L=[{label:"Downloads",value:"/Users/用户/Downloads/Hayaku/",icon:"mdi:folder-download"},{label:"Desktop",value:"/Users/用户/Desktop/Hayaku/",icon:"mdi:desktop-classic"},{label:"自定义",value:"",icon:"mdi:folder-cog"}],T=()=>{if(r.value="",!!o.value.trim()){if(o.value.includes("~")){r.value="路径不能包含 ~ 符号,请使用完整路径(例如:/Users/你的用户名/Downloads/Hayaku/)";return}if(!o.value.startsWith("/")){r.value="路径必须是绝对路径,以 / 开头";return}o.value.endsWith("/")||(r.value="路径必须以 / 结尾")}},w=async()=>{await d({title:"路径格式说明",message:"请输入完整的绝对路径(不能使用 ~ 符号),例如:/Users/你的用户名/Downloads/Hayaku/。注意:必须以 / 开头并以 / 结尾",type:"info",confirmText:"我知道了",cancelText:""})},j=()=>{h()},U=()=>{p()},H=async()=>{if(s.value<2&&o.value&&!r.value)try{const C=await ke.validatePath(o.value);if(!C.exists){r.value="目录不存在,请选择有效的目录";return}if(!C.isDirectory){r.value="所选路径不是目录";return}s.value++}catch(C){console.error("验证路径失败:",C),r.value="无法验证目录是否存在"}},N=()=>{s.value>1&&s.value--},E=async()=>{try{await ke.updateSettings({download_path:o.value,concurrent_downloads:i.value.toString(),auto_check_update:l.value?"true":"false"}),n("complete")}catch(C){console.error("保存配置失败:",C),y("保存配置失败,请重试",4e3)}};return(C,x)=>(A(),D("div",mh,[f("div",{class:X(["white-overlay",{"fade-out":!a.value}])},null,2),f("div",{class:X(["starfield-layer",{visible:!a.value}])},null,2),f("div",{class:X(["glass-blur-layer",{visible:!a.value}])},null,2),x[15]||(x[15]=ts('
',1)),f("div",gh,[x[14]||(x[14]=f("div",{class:"wizard-header"},[f("h1",{class:"wizard-title"},"欢迎使用"),f("p",{class:"wizard-subtitle"},"让我们先进行简单的配置")],-1)),f("div",vh,[f("div",{class:X(["step",{active:s.value===1}])},[...x[2]||(x[2]=[f("div",{class:"step-circle"},"1",-1),f("span",null,"下载路径",-1)])],2),x[4]||(x[4]=f("div",{class:"step-line"},null,-1)),f("div",{class:X(["step",{active:s.value===2}])},[...x[3]||(x[3]=[f("div",{class:"step-circle"},"2",-1),f("span",null,"偏好设置",-1)])],2)]),s.value===1?(A(),D("div",yh,[f("div",bh,[f("label",_h,[k(B,{icon:"mdi:folder-download"}),x[5]||(x[5]=ee(" 输入默认下载位置 ",-1))]),f("div",Ch,[Je(f("input",{ref:"pathInputRef","onUpdate:modelValue":x[0]||(x[0]=$=>o.value=$),type:"text",class:"path-input",placeholder:"/Users/你的用户名/Downloads/Hayaku/",onInput:T},null,544),[[fn,o.value]]),f("button",{class:"browse-btn",onClick:w},[k(B,{icon:"mdi:help-circle"}),x[6]||(x[6]=ee(" 帮助 ",-1))])]),x[7]||(x[7]=f("p",{class:"setting-hint"},"请输入完整的绝对路径,不能使用 ~ 符号",-1)),r.value?(A(),D("p",wh,q(r.value),1)):oe("",!0)]),f("div",Sh,[x[8]||(x[8]=f("p",{class:"quick-label"},"快速选择:",-1)),(A(),D(xe,null,Nt(L,$=>f("button",{key:$.value,class:"quick-option",onClick:re=>{o.value=$.value,T()}},[k(B,{icon:$.icon},null,8,["icon"]),ee(" "+q($.label),1)],8,xh)),64))])])):s.value===2?(A(),D("div",Eh,[f("div",Th,[f("label",kh,[k(B,{icon:"mdi:download-multiple"}),x[9]||(x[9]=ee(" 最大并发下载数 ",-1))]),Je(f("select",{"onUpdate:modelValue":x[1]||(x[1]=$=>i.value=$),class:"setting-select"},[...x[10]||(x[10]=[f("option",{value:1},"1个(较慢但稳定)",-1),f("option",{value:3},"3个(推荐)",-1),f("option",{value:5},"5个(快速)",-1)])],512),[[Zo,i.value]])])])):oe("",!0),f("div",$h,[s.value>1?(A(),D("button",{key:0,class:"btn btn-secondary",onClick:N},[k(B,{icon:"mdi:arrow-left"}),x[11]||(x[11]=ee(" 上一步 ",-1))])):oe("",!0),s.value<2?(A(),D("button",{key:1,class:"btn btn-primary",onClick:H,disabled:!I.value},[x[12]||(x[12]=ee(" 下一步 ",-1)),k(B,{icon:"mdi:arrow-right"})],8,Ah)):(A(),D("button",{key:2,class:"btn btn-primary btn-finish",onClick:E},[k(B,{icon:"mdi:check"}),x[13]||(x[13]=ee(" 完成设置 ",-1))]))])]),k(Mc,{visible:z(u),title:z(c).title,message:z(c).message,type:z(c).type,confirmText:z(c).confirmText,cancelText:z(c).cancelText,onConfirm:j,onCancel:U},null,8,["visible","title","message","type","confirmText","cancelText"]),k(Fr,{toasts:z(m),onRemove:z(b)},null,8,["toasts","onRemove"])]))}}),Oh=Ke(Rh,[["__scopeId","data-v-e30f1f17"]]),Ph={class:"error-card"},Ih={class:"error-icon-container"},Mh={key:0,class:"error-details"},Lh={class:"detail-item"},Dh={class:"detail-value"},Nh={key:0,class:"detail-item detail-status"},Fh={class:"tech-details"},jh={key:0,class:"tech-content"},Uh={class:"tech-item"},Bh={class:"tech-value"},Vh={class:"tech-item"},Hh={class:"tech-value"},qh={class:"tech-item"},Kh={class:"tech-value"},zh=Pe({__name:"ErrorPage",props:{errorMessage:{},errorCode:{},requestUrl:{},statusCode:{}},emits:["retry"],setup(e,{emit:t}){const{isDark:n}=Ir(),s=t,o=Q(!1),r=()=>{s("retry")},i=l=>l&&l>=500?"status-5xx":"";return(l,a)=>(A(),D("div",{class:X(["error-page",{"light-theme":!z(n)}])},[a[9]||(a[9]=ts('
',2)),f("div",Ph,[f("div",Ih,[k(B,{icon:"mdi:alert-circle",class:"error-icon"})]),a[7]||(a[7]=f("h1",{class:"error-title"},"无法连接到服务",-1)),a[8]||(a[8]=f("p",{class:"error-description"},"无法与后端服务建立连接,请确保服务已启动",-1)),e.errorMessage?(A(),D("div",Mh,[f("div",Lh,[a[1]||(a[1]=f("span",{class:"detail-label"},"错误信息:",-1)),f("span",Dh,q(e.errorMessage),1)]),e.statusCode?(A(),D("div",Nh,[a[2]||(a[2]=f("span",{class:"detail-label"},"HTTP 状态:",-1)),f("span",{class:X(["detail-value status-badge",i(e.statusCode)])},q(e.statusCode),3)])):oe("",!0)])):oe("",!0),f("button",{class:"retry-button",onClick:r},[k(B,{icon:"mdi:refresh",class:"retry-icon"}),a[3]||(a[3]=ee(" 重试连接 ",-1))]),f("div",Fh,[f("button",{class:"tech-toggle",onClick:a[0]||(a[0]=u=>o.value=!o.value)},[k(B,{icon:o.value?"mdi:chevron-up":"mdi:chevron-down",class:"toggle-icon"},null,8,["icon"]),ee(" "+q(o.value?"隐藏":"显示")+"技术细节 ",1)]),o.value?(A(),D("div",jh,[f("div",Uh,[a[4]||(a[4]=f("span",{class:"tech-label"},"错误代码:",-1)),f("code",Bh,q(e.errorCode||"N/A"),1)]),f("div",Vh,[a[5]||(a[5]=f("span",{class:"tech-label"},"请求地址:",-1)),f("code",Hh,q(e.requestUrl||"N/A"),1)]),f("div",qh,[a[6]||(a[6]=f("span",{class:"tech-label"},"状态码:",-1)),f("code",Kh,q(e.statusCode||"N/A"),1)])])):oe("",!0)])])],2))}}),Wh=Ke(zh,[["__scopeId","data-v-97516c7f"]]),Gh={class:"brand-mini"},Jh={class:"mini-icon morphing-logo",viewBox:"0 0 134 78",xmlns:"http://www.w3.org/2000/svg"},Zh={class:"text-morph-container"},Qh=Pe({__name:"GpuBadge",setup(e){const t=["nvidia","amd","intel"],n=Q(!1),s=Q(!1),o=Q(0),r=de(()=>t[Math.min(o.value,t.length-1)]);return it(()=>{n.value=!0,setTimeout(()=>{o.value=0},0),setTimeout(()=>{o.value=1},3e3),setTimeout(()=>{o.value=2},6e3),setTimeout(()=>{s.value=!0,setTimeout(()=>{n.value=!1},1e3)},9e3)}),(i,l)=>n.value?(A(),D("div",{key:0,class:X(["gpu-badge",{visible:!s.value,fading:s.value}])},[f("div",{class:X(["gpu-badge-content",r.value])},[f("div",Gh,[(A(),D("svg",Jh,[f("g",{class:X(["logo-group nvidia-group",{active:r.value==="nvidia"}])},[...l[0]||(l[0]=[ts('',8)])],2),f("g",{class:X(["logo-group amd-group",{active:r.value==="amd"}])},[...l[1]||(l[1]=[f("path",{class:"morph-path",d:"M0 0 C16.83 0 33.66 0 51 0 C51 16.83 51 33.66 51 51 C48.69 49.02 46.38 47.04 44 45 C43.27417725 44.44562256 42.54835449 43.89124512 41.80053711 43.32006836 C38.81899562 40.84913766 37.20846555 39.06230495 36.44970703 35.19580078 C36.31170153 31.95595732 36.38764439 28.80021093 36.5625 25.5625 C36.59408203 24.44939453 36.62566406 23.33628906 36.65820312 22.18945312 C36.74029762 19.45687928 36.85504989 16.72984059 37 14 C36.01157104 14.10211792 36.01157104 14.10211792 35.00317383 14.20629883 C14.83637543 16.01467235 14.83637543 16.01467235 8.51171875 11.140625 C5.23950088 8.05852675 2.52477592 4.71319584 0 1 C0 0.67 0 0.34 0 0 Z",transform:"translate(9,12)"},null,-1),f("path",{class:"morph-path",d:"M0 0 C0 6.6 0 13.2 0 20 C6.6 20 13.2 20 20 20 C18.02 22.31 16.04 24.62 14 27 C13.42822021 27.72582275 12.85644043 28.45164551 12.26733398 29.19946289 C9.88914075 31.98841686 8.12555493 33.75449963 4.47705078 34.55029297 C1.63912549 34.68763628 -1.10220242 34.61385822 -3.9375 34.4375 C-4.90751953 34.40591797 -5.87753906 34.37433594 -6.87695312 34.34179688 C-9.25449905 34.25981253 -11.62561699 34.14518805 -14 34 C-16.06963753 16.73016067 -16.06963753 16.73016067 -12.74023438 10.72949219 C-10.29011715 7.6376776 -4.19941795 0 0 0 Z",transform:"translate(22,30)"},null,-1)])],2),f("g",{class:X(["logo-group intel-group",{active:r.value==="intel"}])},[...l[2]||(l[2]=[ts('',8)])],2)])),f("div",Zh,[f("span",{class:X(["morph-text",{active:r.value==="nvidia"}])},[...l[3]||(l[3]=[ee(" NVIDIA ",-1),f("span",{class:"sub-brand-text"},"RTX",-1)])],2),f("span",{class:X(["morph-text",{active:r.value==="amd"}])},[...l[4]||(l[4]=[ee(" AMD ",-1),f("span",{class:"sub-brand-text"},"Radeon",-1)])],2),f("span",{class:X(["morph-text",{active:r.value==="intel"}])},[...l[5]||(l[5]=[ee(" Intel ",-1),f("span",{class:"sub-brand-text"},"CORE x Arc",-1)])],2)])])],2)],2)):oe("",!0)}}),Xh=Ke(Qh,[["__scopeId","data-v-730d2ac5"]]);/** + * @license lucide-vue-next v0.548.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const cl=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Yh=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,n,s)=>s?s.toUpperCase():n.toLowerCase()),e0=e=>{const t=Yh(e);return t.charAt(0).toUpperCase()+t.slice(1)},t0=(...e)=>e.filter((t,n,s)=>!!t&&t.trim()!==""&&s.indexOf(t)===n).join(" ").trim(),ul=e=>e==="";/** + * @license lucide-vue-next v0.548.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */var Dn={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round"};/** + * @license lucide-vue-next v0.548.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const n0=({name:e,iconNode:t,absoluteStrokeWidth:n,"absolute-stroke-width":s,strokeWidth:o,"stroke-width":r,size:i=Dn.width,color:l=Dn.stroke,...a},{slots:u})=>Jt("svg",{...Dn,...a,width:i,height:i,stroke:l,"stroke-width":ul(n)||ul(s)||n===!0||s===!0?Number(o||r||Dn["stroke-width"])*24/Number(i):o||r||Dn["stroke-width"],class:t0("lucide",a.class,...e?[`lucide-${cl(e0(e))}-icon`,`lucide-${cl(e)}`]:["lucide-icon"])},[...t.map(c=>Jt(...c)),...u.default?[u.default()]:[]]);/** + * @license lucide-vue-next v0.548.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const kt=(e,t)=>(n,{slots:s,attrs:o})=>Jt(n0,{...o,...n,iconNode:t,name:e},s);/** + * @license lucide-vue-next v0.548.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const s0=kt("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** + * @license lucide-vue-next v0.548.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const o0=kt("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);/** + * @license lucide-vue-next v0.548.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const r0=kt("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);/** + * @license lucide-vue-next v0.548.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const i0=kt("layout-grid",[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]]);/** + * @license lucide-vue-next v0.548.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const l0=kt("monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]);/** + * @license lucide-vue-next v0.548.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const a0=kt("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]]);/** + * @license lucide-vue-next v0.548.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const c0=kt("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);/** + * @license lucide-vue-next v0.548.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const u0=kt("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/** + * @license lucide-vue-next v0.548.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const d0=kt("shopping-bag",[["path",{d:"M16 10a4 4 0 0 1-8 0",key:"1ltviw"}],["path",{d:"M3.103 6.034h17.794",key:"awc11p"}],["path",{d:"M3.4 5.467a2 2 0 0 0-.4 1.2V20a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6.667a2 2 0 0 0-.4-1.2l-2-2.667A2 2 0 0 0 17 2H7a2 2 0 0 0-1.6.8z",key:"o988cm"}]]);/** + * @license lucide-vue-next v0.548.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const f0=kt("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]),p0={id:"app"},h0={key:3,class:"app-layout"},m0={class:"sidebar"},g0={class:"sidebar-nav"},v0={class:"nav-count"},y0={class:"nav-count"},b0={class:"nav-count"},_0={class:"nav-count"},C0={class:"nav-count"},w0={class:"nav-count"},S0={class:"sidebar-footer"},x0={class:"theme-text"},E0={class:"service-status"},T0={class:"status-text"},k0={class:"main-content"},$0=Pe({__name:"App",setup(e){const t=Qn([]),n=Qn([]),s=Q(!1),{theme:o,toggleTheme:r}=Ir(),i=Q(!0),l=Q(!1),a=Q(!1),u=Q(null),c=()=>{i.value=!1,p()},d=()=>{l.value=!1},h=()=>{a.value=!1,u.value=null,l.value=!1,p()},p=async()=>{try{(await ke.getAllSettings()).download_path?(l.value=!1,a.value=!1):(l.value=!0,a.value=!1)}catch(C){console.error("检查设置状态失败:",C);const x=ep(C);x?(u.value=x,a.value=!0,l.value=!1):(l.value=!0,a.value=!1)}},m=de(()=>{const C={total:t.value.length,injected:0,update:0,unsupported:0,store:0};for(const x of t.value)x.status==="injected"?C.injected++:x.status==="upgrade_available"?C.update++:x.status==="unsupported"&&C.unsupported++,x.update!==null&&C.store++;return C}),y=de(()=>m.value.total),b=de(()=>m.value.injected),I=de(()=>m.value.update),L=de(()=>m.value.unsupported),T=de(()=>m.value.store),w=de(()=>{if(n.value.length===0)return 0;let C=0;for(const x of n.value)x.status==="downloading"&&C++;return C}),j=async()=>{try{t.value=await ke.getApps(),s.value=!0}catch(C){console.error("加载应用列表失败:",C),s.value=!1}},U=async()=>{try{n.value=await ke.getAllDownloads()}catch(C){console.error("加载下载列表失败:",C)}};let H=null,N=null;const E=()=>{const C=()=>{const x=n.value.some($=>$.status==="downloading"||$.status==="pending");H!==null&&(clearInterval(H),H=null),x?H=window.setInterval(U,2e3):H=window.setInterval(U,1e4),U()};C(),N!==null&&clearInterval(N),N=window.setInterval(C,5e3)};return it(()=>{j(),U(),E()}),Tn(()=>{H!==null&&clearInterval(H),N!==null&&clearInterval(N)}),(C,x)=>{var he,Te,ue,fe;const $=ti("router-link"),re=ti("router-view");return A(),D("div",p0,[k(Xh),i.value?(A(),qe(op,{key:0,onComplete:c})):a.value?(A(),qe(Wh,{key:1,onRetry:h,"error-message":(he=u.value)==null?void 0:he.message,"error-code":(Te=u.value)==null?void 0:Te.code,"request-url":(ue=u.value)==null?void 0:ue.requestUrl,"status-code":(fe=u.value)==null?void 0:fe.statusCode},null,8,["error-message","error-code","request-url","status-code"])):l.value?(A(),qe(Oh,{key:2,onComplete:d})):(A(),D("div",h0,[f("aside",m0,[x[8]||(x[8]=ts('
',3)),f("nav",g0,[k(Qa,{name:"nav-item",tag:"div",appear:""},{default:Be(()=>[k($,{key:"all",to:"/",class:X(["nav-item",{active:C.$route.path==="/"&&!C.$route.query.filter}]),"data-key":"all",style:{"--delay":"0.1s"}},{default:Be(()=>[k(z(i0),{class:"nav-icon"}),x[1]||(x[1]=f("span",{class:"nav-text"},"所有",-1)),f("span",v0,q(y.value),1)]),_:1},8,["class"]),k($,{key:"injected",to:"/?filter=injected",class:X(["nav-item",{active:C.$route.query.filter==="injected"}]),"data-key":"injected",style:{"--delay":"0.15s"}},{default:Be(()=>[k(z(s0),{class:"nav-icon"}),x[2]||(x[2]=f("span",{class:"nav-text"},"已注入",-1)),f("span",y0,q(b.value),1)]),_:1},8,["class"]),k($,{key:"update",to:"/?filter=update",class:X(["nav-item",{active:C.$route.query.filter==="update"}]),"data-key":"update",style:{"--delay":"0.2s"}},{default:Be(()=>[k(z(c0),{class:"nav-icon"}),x[3]||(x[3]=f("span",{class:"nav-text"},"可更新",-1)),f("span",b0,q(I.value),1)]),_:1},8,["class"]),k($,{key:"unsupported",to:"/?filter=unsupported",class:X(["nav-item",{active:C.$route.query.filter==="unsupported"}]),"data-key":"unsupported",style:{"--delay":"0.25s"}},{default:Be(()=>[k(z(o0),{class:"nav-icon"}),x[4]||(x[4]=f("span",{class:"nav-text"},"不支持",-1)),f("span",_0,q(L.value),1)]),_:1},8,["class"]),k($,{key:"store",to:"/?filter=store",class:X(["nav-item",{active:C.$route.query.filter==="store"}]),"data-key":"store",style:{"--delay":"0.3s"}},{default:Be(()=>[k(z(d0),{class:"nav-icon"}),x[5]||(x[5]=f("span",{class:"nav-text"},"商店",-1)),f("span",C0,q(T.value),1)]),_:1},8,["class"]),k($,{key:"downloads",to:"/downloads",class:X(["nav-item",{active:C.$route.path==="/downloads"}]),"data-key":"downloads",style:{"--delay":"0.35s"}},{default:Be(()=>[k(z(r0),{class:"nav-icon"}),x[6]||(x[6]=f("span",{class:"nav-text"},"下载",-1)),f("span",w0,q(w.value),1)]),_:1},8,["class"]),k($,{key:"settings",to:"/settings",class:X(["nav-item",{active:C.$route.path==="/settings"}]),"data-key":"settings",style:{"--delay":"0.4s"}},{default:Be(()=>[k(z(u0),{class:"nav-icon"}),x[7]||(x[7]=f("span",{class:"nav-text"},"设置",-1))]),_:1},8,["class"])]),_:1})]),f("div",S0,[f("button",{onClick:x[0]||(x[0]=(...ce)=>z(r)&&z(r)(...ce)),class:"theme-toggle"},[(A(),qe(Qu(z(o)==="auto"?z(l0):z(o)==="dark"?z(a0):z(f0)),{class:"theme-icon"})),f("span",x0,q(z(o)==="auto"?"自动":z(o)==="dark"?"暗色":"浅色"),1)]),f("div",E0,[f("div",{class:X(["status-indicator",{online:s.value}])},null,2),f("span",T0,q(s.value?"服务在线":"服务离线"),1)])])]),f("main",k0,[k(re)])]))])}}}),A0=Ke($0,[["__scopeId","data-v-8b08b1b4"]]);/*! + * vue-router v4.5.1 + * (c) 2025 Eduardo San Martin Morote + * @license MIT + */const dn=typeof document<"u";function Lc(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function R0(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&Lc(e.default)}const ge=Object.assign;function Mo(e,t){const n={};for(const s in t){const o=t[s];n[s]=ft(o)?o.map(e):e(o)}return n}const Wn=()=>{},ft=Array.isArray,Dc=/#/g,O0=/&/g,P0=/\//g,I0=/=/g,M0=/\?/g,Nc=/\+/g,L0=/%5B/g,D0=/%5D/g,Fc=/%5E/g,N0=/%60/g,jc=/%7B/g,F0=/%7C/g,Uc=/%7D/g,j0=/%20/g;function jr(e){return encodeURI(""+e).replace(F0,"|").replace(L0,"[").replace(D0,"]")}function U0(e){return jr(e).replace(jc,"{").replace(Uc,"}").replace(Fc,"^")}function ir(e){return jr(e).replace(Nc,"%2B").replace(j0,"+").replace(Dc,"%23").replace(O0,"%26").replace(N0,"`").replace(jc,"{").replace(Uc,"}").replace(Fc,"^")}function B0(e){return ir(e).replace(I0,"%3D")}function V0(e){return jr(e).replace(Dc,"%23").replace(M0,"%3F")}function H0(e){return e==null?"":V0(e).replace(P0,"%2F")}function is(e){try{return decodeURIComponent(""+e)}catch{}return""+e}const q0=/\/$/,K0=e=>e.replace(q0,"");function Lo(e,t,n="/"){let s,o={},r="",i="";const l=t.indexOf("#");let a=t.indexOf("?");return l=0&&(a=-1),a>-1&&(s=t.slice(0,a),r=t.slice(a+1,l>-1?l:t.length),o=e(r)),l>-1&&(s=s||t.slice(0,l),i=t.slice(l,t.length)),s=J0(s??t,n),{fullPath:s+(r&&"?")+r+i,path:s,query:o,hash:is(i)}}function z0(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function dl(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function W0(e,t,n){const s=t.matched.length-1,o=n.matched.length-1;return s>-1&&s===o&&Sn(t.matched[s],n.matched[o])&&Bc(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Sn(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Bc(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!G0(e[n],t[n]))return!1;return!0}function G0(e,t){return ft(e)?fl(e,t):ft(t)?fl(t,e):e===t}function fl(e,t){return ft(t)?e.length===t.length&&e.every((n,s)=>n===t[s]):e.length===1&&e[0]===t}function J0(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),s=e.split("/"),o=s[s.length-1];(o===".."||o===".")&&s.push("");let r=n.length-1,i,l;for(i=0;i1&&r--;else break;return n.slice(0,r).join("/")+"/"+s.slice(i).join("/")}const Ut={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};var ls;(function(e){e.pop="pop",e.push="push"})(ls||(ls={}));var Gn;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Gn||(Gn={}));function Z0(e){if(!e)if(dn){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),K0(e)}const Q0=/^[^#]+#/;function X0(e,t){return e.replace(Q0,"#")+t}function Y0(e,t){const n=document.documentElement.getBoundingClientRect(),s=e.getBoundingClientRect();return{behavior:t.behavior,left:s.left-n.left-(t.left||0),top:s.top-n.top-(t.top||0)}}const go=()=>({left:window.scrollX,top:window.scrollY});function e2(e){let t;if("el"in e){const n=e.el,s=typeof n=="string"&&n.startsWith("#"),o=typeof n=="string"?s?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!o)return;t=Y0(o,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function pl(e,t){return(history.state?history.state.position-t:-1)+e}const lr=new Map;function t2(e,t){lr.set(e,t)}function n2(e){const t=lr.get(e);return lr.delete(e),t}let s2=()=>location.protocol+"//"+location.host;function Vc(e,t){const{pathname:n,search:s,hash:o}=t,r=e.indexOf("#");if(r>-1){let l=o.includes(e.slice(r))?e.slice(r).length:1,a=o.slice(l);return a[0]!=="/"&&(a="/"+a),dl(a,"")}return dl(n,e)+s+o}function o2(e,t,n,s){let o=[],r=[],i=null;const l=({state:h})=>{const p=Vc(e,location),m=n.value,y=t.value;let b=0;if(h){if(n.value=p,t.value=h,i&&i===m){i=null;return}b=y?h.position-y.position:0}else s(p);o.forEach(I=>{I(n.value,m,{delta:b,type:ls.pop,direction:b?b>0?Gn.forward:Gn.back:Gn.unknown})})};function a(){i=n.value}function u(h){o.push(h);const p=()=>{const m=o.indexOf(h);m>-1&&o.splice(m,1)};return r.push(p),p}function c(){const{history:h}=window;h.state&&h.replaceState(ge({},h.state,{scroll:go()}),"")}function d(){for(const h of r)h();r=[],window.removeEventListener("popstate",l),window.removeEventListener("beforeunload",c)}return window.addEventListener("popstate",l),window.addEventListener("beforeunload",c,{passive:!0}),{pauseListeners:a,listen:u,destroy:d}}function hl(e,t,n,s=!1,o=!1){return{back:e,current:t,forward:n,replaced:s,position:window.history.length,scroll:o?go():null}}function r2(e){const{history:t,location:n}=window,s={value:Vc(e,n)},o={value:t.state};o.value||r(s.value,{back:null,current:s.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function r(a,u,c){const d=e.indexOf("#"),h=d>-1?(n.host&&document.querySelector("base")?e:e.slice(d))+a:s2()+e+a;try{t[c?"replaceState":"pushState"](u,"",h),o.value=u}catch(p){console.error(p),n[c?"replace":"assign"](h)}}function i(a,u){const c=ge({},t.state,hl(o.value.back,a,o.value.forward,!0),u,{position:o.value.position});r(a,c,!0),s.value=a}function l(a,u){const c=ge({},o.value,t.state,{forward:a,scroll:go()});r(c.current,c,!0);const d=ge({},hl(s.value,a,null),{position:c.position+1},u);r(a,d,!1),s.value=a}return{location:s,state:o,push:l,replace:i}}function i2(e){e=Z0(e);const t=r2(e),n=o2(e,t.state,t.location,t.replace);function s(r,i=!0){i||n.pauseListeners(),history.go(r)}const o=ge({location:"",base:e,go:s,createHref:X0.bind(null,e)},t,n);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>t.state.value}),o}function l2(e){return typeof e=="string"||e&&typeof e=="object"}function Hc(e){return typeof e=="string"||typeof e=="symbol"}const qc=Symbol("");var ml;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(ml||(ml={}));function xn(e,t){return ge(new Error,{type:e,[qc]:!0},t)}function At(e,t){return e instanceof Error&&qc in e&&(t==null||!!(e.type&t))}const gl="[^/]+?",a2={sensitive:!1,strict:!1,start:!0,end:!0},c2=/[.+*?^${}()[\]/\\]/g;function u2(e,t){const n=ge({},a2,t),s=[];let o=n.start?"^":"";const r=[];for(const u of e){const c=u.length?[]:[90];n.strict&&!u.length&&(o+="/");for(let d=0;dt.length?t.length===1&&t[0]===80?1:-1:0}function Kc(e,t){let n=0;const s=e.score,o=t.score;for(;n0&&t[t.length-1]<0}const f2={type:0,value:""},p2=/[a-zA-Z0-9_]/;function h2(e){if(!e)return[[]];if(e==="/")return[[f2]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(p){throw new Error(`ERR (${n})/"${u}": ${p}`)}let n=0,s=n;const o=[];let r;function i(){r&&o.push(r),r=[]}let l=0,a,u="",c="";function d(){u&&(n===0?r.push({type:0,value:u}):n===1||n===2||n===3?(r.length>1&&(a==="*"||a==="+")&&t(`A repeatable param (${u}) must be alone in its segment. eg: '/:ids+.`),r.push({type:1,value:u,regexp:c,repeatable:a==="*"||a==="+",optional:a==="*"||a==="?"})):t("Invalid state to consume buffer"),u="")}function h(){u+=a}for(;l{i(T)}:Wn}function i(d){if(Hc(d)){const h=s.get(d);h&&(s.delete(d),n.splice(n.indexOf(h),1),h.children.forEach(i),h.alias.forEach(i))}else{const h=n.indexOf(d);h>-1&&(n.splice(h,1),d.record.name&&s.delete(d.record.name),d.children.forEach(i),d.alias.forEach(i))}}function l(){return n}function a(d){const h=b2(d,n);n.splice(h,0,d),d.record.name&&!_l(d)&&s.set(d.record.name,d)}function u(d,h){let p,m={},y,b;if("name"in d&&d.name){if(p=s.get(d.name),!p)throw xn(1,{location:d});b=p.record.name,m=ge(yl(h.params,p.keys.filter(T=>!T.optional).concat(p.parent?p.parent.keys.filter(T=>T.optional):[]).map(T=>T.name)),d.params&&yl(d.params,p.keys.map(T=>T.name))),y=p.stringify(m)}else if(d.path!=null)y=d.path,p=n.find(T=>T.re.test(y)),p&&(m=p.parse(y),b=p.record.name);else{if(p=h.name?s.get(h.name):n.find(T=>T.re.test(h.path)),!p)throw xn(1,{location:d,currentLocation:h});b=p.record.name,m=ge({},h.params,d.params),y=p.stringify(m)}const I=[];let L=p;for(;L;)I.unshift(L.record),L=L.parent;return{name:b,path:y,params:m,matched:I,meta:y2(I)}}e.forEach(d=>r(d));function c(){n.length=0,s.clear()}return{addRoute:r,resolve:u,removeRoute:i,clearRoutes:c,getRoutes:l,getRecordMatcher:o}}function yl(e,t){const n={};for(const s of t)s in e&&(n[s]=e[s]);return n}function bl(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:v2(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function v2(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const s in e.components)t[s]=typeof n=="object"?n[s]:n;return t}function _l(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function y2(e){return e.reduce((t,n)=>ge(t,n.meta),{})}function Cl(e,t){const n={};for(const s in e)n[s]=s in t?t[s]:e[s];return n}function b2(e,t){let n=0,s=t.length;for(;n!==s;){const r=n+s>>1;Kc(e,t[r])<0?s=r:n=r+1}const o=_2(e);return o&&(s=t.lastIndexOf(o,s-1)),s}function _2(e){let t=e;for(;t=t.parent;)if(zc(t)&&Kc(e,t)===0)return t}function zc({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function C2(e){const t={};if(e===""||e==="?")return t;const s=(e[0]==="?"?e.slice(1):e).split("&");for(let o=0;or&&ir(r)):[s&&ir(s)]).forEach(r=>{r!==void 0&&(t+=(t.length?"&":"")+n,r!=null&&(t+="="+r))})}return t}function w2(e){const t={};for(const n in e){const s=e[n];s!==void 0&&(t[n]=ft(s)?s.map(o=>o==null?null:""+o):s==null?s:""+s)}return t}const S2=Symbol(""),Sl=Symbol(""),vo=Symbol(""),Ur=Symbol(""),ar=Symbol("");function Nn(){let e=[];function t(s){return e.push(s),()=>{const o=e.indexOf(s);o>-1&&e.splice(o,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function qt(e,t,n,s,o,r=i=>i()){const i=s&&(s.enterCallbacks[o]=s.enterCallbacks[o]||[]);return()=>new Promise((l,a)=>{const u=h=>{h===!1?a(xn(4,{from:n,to:t})):h instanceof Error?a(h):l2(h)?a(xn(2,{from:t,to:h})):(i&&s.enterCallbacks[o]===i&&typeof h=="function"&&i.push(h),l())},c=r(()=>e.call(s&&s.instances[o],t,n,u));let d=Promise.resolve(c);e.length<3&&(d=d.then(u)),d.catch(h=>a(h))})}function Do(e,t,n,s,o=r=>r()){const r=[];for(const i of e)for(const l in i.components){let a=i.components[l];if(!(t!=="beforeRouteEnter"&&!i.instances[l]))if(Lc(a)){const c=(a.__vccOpts||a)[t];c&&r.push(qt(c,n,s,i,l,o))}else{let u=a();r.push(()=>u.then(c=>{if(!c)throw new Error(`Couldn't resolve component "${l}" at "${i.path}"`);const d=R0(c)?c.default:c;i.mods[l]=c,i.components[l]=d;const p=(d.__vccOpts||d)[t];return p&&qt(p,n,s,i,l,o)()}))}}return r}function xl(e){const t=ct(vo),n=ct(Ur),s=de(()=>{const a=z(e.to);return t.resolve(a)}),o=de(()=>{const{matched:a}=s.value,{length:u}=a,c=a[u-1],d=n.matched;if(!c||!d.length)return-1;const h=d.findIndex(Sn.bind(null,c));if(h>-1)return h;const p=El(a[u-2]);return u>1&&El(c)===p&&d[d.length-1].path!==p?d.findIndex(Sn.bind(null,a[u-2])):h}),r=de(()=>o.value>-1&&$2(n.params,s.value.params)),i=de(()=>o.value>-1&&o.value===n.matched.length-1&&Bc(n.params,s.value.params));function l(a={}){if(k2(a)){const u=t[z(e.replace)?"replace":"push"](z(e.to)).catch(Wn);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>u),u}return Promise.resolve()}return{route:s,href:de(()=>s.value.href),isActive:r,isExactActive:i,navigate:l}}function x2(e){return e.length===1?e[0]:e}const E2=Pe({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:xl,setup(e,{slots:t}){const n=to(xl(e)),{options:s}=ct(vo),o=de(()=>({[Tl(e.activeClass,s.linkActiveClass,"router-link-active")]:n.isActive,[Tl(e.exactActiveClass,s.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const r=t.default&&x2(t.default(n));return e.custom?r:Jt("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:o.value},r)}}}),T2=E2;function k2(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function $2(e,t){for(const n in t){const s=t[n],o=e[n];if(typeof s=="string"){if(s!==o)return!1}else if(!ft(o)||o.length!==s.length||s.some((r,i)=>r!==o[i]))return!1}return!0}function El(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Tl=(e,t,n)=>e??t??n,A2=Pe({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const s=ct(ar),o=de(()=>e.route||s.value),r=ct(Sl,0),i=de(()=>{let u=z(r);const{matched:c}=o.value;let d;for(;(d=c[u])&&!d.components;)u++;return u}),l=de(()=>o.value.matched[i.value]);Es(Sl,de(()=>i.value+1)),Es(S2,l),Es(ar,o);const a=Q();return ut(()=>[a.value,l.value,e.name],([u,c,d],[h,p,m])=>{c&&(c.instances[d]=u,p&&p!==c&&u&&u===h&&(c.leaveGuards.size||(c.leaveGuards=p.leaveGuards),c.updateGuards.size||(c.updateGuards=p.updateGuards))),u&&c&&(!p||!Sn(c,p)||!h)&&(c.enterCallbacks[d]||[]).forEach(y=>y(u))},{flush:"post"}),()=>{const u=o.value,c=e.name,d=l.value,h=d&&d.components[c];if(!h)return kl(n.default,{Component:h,route:u});const p=d.props[c],m=p?p===!0?u.params:typeof p=="function"?p(u):p:null,b=Jt(h,ge({},m,t,{onVnodeUnmounted:I=>{I.component.isUnmounted&&(d.instances[c]=null)},ref:a}));return kl(n.default,{Component:b,route:u})||b}}});function kl(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const R2=A2;function O2(e){const t=g2(e.routes,e),n=e.parseQuery||C2,s=e.stringifyQuery||wl,o=e.history,r=Nn(),i=Nn(),l=Nn(),a=Qn(Ut);let u=Ut;dn&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const c=Mo.bind(null,P=>""+P),d=Mo.bind(null,H0),h=Mo.bind(null,is);function p(P,Z){let G,Y;return Hc(P)?(G=t.getRecordMatcher(P),Y=Z):Y=P,t.addRoute(Y,G)}function m(P){const Z=t.getRecordMatcher(P);Z&&t.removeRoute(Z)}function y(){return t.getRoutes().map(P=>P.record)}function b(P){return!!t.getRecordMatcher(P)}function I(P,Z){if(Z=ge({},Z||a.value),typeof P=="string"){const _=Lo(n,P,Z.path),O=t.resolve({path:_.path},Z),M=o.createHref(_.fullPath);return ge(_,O,{params:h(O.params),hash:is(_.hash),redirectedFrom:void 0,href:M})}let G;if(P.path!=null)G=ge({},P,{path:Lo(n,P.path,Z.path).path});else{const _=ge({},P.params);for(const O in _)_[O]==null&&delete _[O];G=ge({},P,{params:d(_)}),Z.params=d(Z.params)}const Y=t.resolve(G,Z),_e=P.hash||"";Y.params=c(h(Y.params));const g=z0(s,ge({},P,{hash:U0(_e),path:Y.path})),v=o.createHref(g);return ge({fullPath:g,hash:_e,query:s===wl?w2(P.query):P.query||{}},Y,{redirectedFrom:void 0,href:v})}function L(P){return typeof P=="string"?Lo(n,P,a.value.path):ge({},P)}function T(P,Z){if(u!==P)return xn(8,{from:Z,to:P})}function w(P){return H(P)}function j(P){return w(ge(L(P),{replace:!0}))}function U(P){const Z=P.matched[P.matched.length-1];if(Z&&Z.redirect){const{redirect:G}=Z;let Y=typeof G=="function"?G(P):G;return typeof Y=="string"&&(Y=Y.includes("?")||Y.includes("#")?Y=L(Y):{path:Y},Y.params={}),ge({query:P.query,hash:P.hash,params:Y.path!=null?{}:P.params},Y)}}function H(P,Z){const G=u=I(P),Y=a.value,_e=P.state,g=P.force,v=P.replace===!0,_=U(G);if(_)return H(ge(L(_),{state:typeof _=="object"?ge({},_e,_.state):_e,force:g,replace:v}),Z||G);const O=G;O.redirectedFrom=Z;let M;return!g&&W0(s,Y,G)&&(M=xn(16,{to:O,from:Y}),Re(Y,Y,!0,!1)),(M?Promise.resolve(M):C(O,Y)).catch(R=>At(R)?At(R,2)?R:ht(R):ce(R,O,Y)).then(R=>{if(R){if(At(R,2))return H(ge({replace:v},L(R.to),{state:typeof R.to=="object"?ge({},_e,R.to.state):_e,force:g}),Z||O)}else R=$(O,Y,!0,v,_e);return x(O,Y,R),R})}function N(P,Z){const G=T(P,Z);return G?Promise.reject(G):Promise.resolve()}function E(P){const Z=lt.values().next().value;return Z&&typeof Z.runWithContext=="function"?Z.runWithContext(P):P()}function C(P,Z){let G;const[Y,_e,g]=P2(P,Z);G=Do(Y.reverse(),"beforeRouteLeave",P,Z);for(const _ of Y)_.leaveGuards.forEach(O=>{G.push(qt(O,P,Z))});const v=N.bind(null,P,Z);return G.push(v),nt(G).then(()=>{G=[];for(const _ of r.list())G.push(qt(_,P,Z));return G.push(v),nt(G)}).then(()=>{G=Do(_e,"beforeRouteUpdate",P,Z);for(const _ of _e)_.updateGuards.forEach(O=>{G.push(qt(O,P,Z))});return G.push(v),nt(G)}).then(()=>{G=[];for(const _ of g)if(_.beforeEnter)if(ft(_.beforeEnter))for(const O of _.beforeEnter)G.push(qt(O,P,Z));else G.push(qt(_.beforeEnter,P,Z));return G.push(v),nt(G)}).then(()=>(P.matched.forEach(_=>_.enterCallbacks={}),G=Do(g,"beforeRouteEnter",P,Z,E),G.push(v),nt(G))).then(()=>{G=[];for(const _ of i.list())G.push(qt(_,P,Z));return G.push(v),nt(G)}).catch(_=>At(_,8)?_:Promise.reject(_))}function x(P,Z,G){l.list().forEach(Y=>E(()=>Y(P,Z,G)))}function $(P,Z,G,Y,_e){const g=T(P,Z);if(g)return g;const v=Z===Ut,_=dn?history.state:{};G&&(Y||v?o.replace(P.fullPath,ge({scroll:v&&_&&_.scroll},_e)):o.push(P.fullPath,_e)),a.value=P,Re(P,Z,G,v),ht()}let re;function he(){re||(re=o.listen((P,Z,G)=>{if(!Qt.listening)return;const Y=I(P),_e=U(Y);if(_e){H(ge(_e,{replace:!0,force:!0}),Y).catch(Wn);return}u=Y;const g=a.value;dn&&t2(pl(g.fullPath,G.delta),go()),C(Y,g).catch(v=>At(v,12)?v:At(v,2)?(H(ge(L(v.to),{force:!0}),Y).then(_=>{At(_,20)&&!G.delta&&G.type===ls.pop&&o.go(-1,!1)}).catch(Wn),Promise.reject()):(G.delta&&o.go(-G.delta,!1),ce(v,Y,g))).then(v=>{v=v||$(Y,g,!1),v&&(G.delta&&!At(v,8)?o.go(-G.delta,!1):G.type===ls.pop&&At(v,20)&&o.go(-1,!1)),x(Y,g,v)}).catch(Wn)}))}let Te=Nn(),ue=Nn(),fe;function ce(P,Z,G){ht(P);const Y=ue.list();return Y.length?Y.forEach(_e=>_e(P,Z,G)):console.error(P),Promise.reject(P)}function tt(){return fe&&a.value!==Ut?Promise.resolve():new Promise((P,Z)=>{Te.add([P,Z])})}function ht(P){return fe||(fe=!P,he(),Te.list().forEach(([Z,G])=>P?G(P):Z()),Te.reset()),P}function Re(P,Z,G,Y){const{scrollBehavior:_e}=e;if(!dn||!_e)return Promise.resolve();const g=!G&&n2(pl(P.fullPath,0))||(Y||!G)&&history.state&&history.state.scroll||null;return yn().then(()=>_e(P,Z,g)).then(v=>v&&e2(v)).catch(v=>ce(v,P,Z))}const $e=P=>o.go(P);let mt;const lt=new Set,Qt={currentRoute:a,listening:!0,addRoute:p,removeRoute:m,clearRoutes:t.clearRoutes,hasRoute:b,getRoutes:y,resolve:I,options:e,push:w,replace:j,go:$e,back:()=>$e(-1),forward:()=>$e(1),beforeEach:r.add,beforeResolve:i.add,afterEach:l.add,onError:ue.add,isReady:tt,install(P){const Z=this;P.component("RouterLink",T2),P.component("RouterView",R2),P.config.globalProperties.$router=Z,Object.defineProperty(P.config.globalProperties,"$route",{enumerable:!0,get:()=>z(a)}),dn&&!mt&&a.value===Ut&&(mt=!0,w(o.location).catch(_e=>{}));const G={};for(const _e in Ut)Object.defineProperty(G,_e,{get:()=>a.value[_e],enumerable:!0});P.provide(vo,Z),P.provide(Ur,Xl(G)),P.provide(ar,a);const Y=P.unmount;lt.add(P),P.unmount=function(){lt.delete(P),lt.size<1&&(u=Ut,re&&re(),re=null,a.value=Ut,mt=!1,fe=!1),Y()}}};function nt(P){return P.reduce((Z,G)=>Z.then(()=>E(G)),Promise.resolve())}return Qt}function P2(e,t){const n=[],s=[],o=[],r=Math.max(t.matched.length,e.matched.length);for(let i=0;iSn(u,l))?s.push(l):n.push(l));const a=e.matched[i];a&&(t.matched.find(u=>Sn(u,a))||o.push(a))}return[n,s,o]}function Wc(){return ct(vo)}function Gc(e){return ct(Ur)}const I2={class:"modal-header"},M2={class:"modal-title"},L2={class:"modal-body"},D2={class:"log-time"},N2={class:"log-message"},F2={key:0,class:"log-line loading"},j2={class:"modal-footer"},U2={class:"footer-status"},B2={key:0,class:"status-success"},V2={key:1,class:"status-error"},H2={key:2,class:"status-loading"},q2={class:"footer-actions"},K2=Pe({__name:"LogModal",props:{visible:{type:Boolean},title:{default:"操作日志"},logs:{default:()=>[]},loading:{type:Boolean,default:!1},status:{default:"idle"},canClose:{type:Boolean,default:!0}},emits:["close"],setup(e,{emit:t}){const n=e,s=t,o=Q(null),r=()=>{o.value&&(o.value.scrollTop=o.value.scrollHeight)};ut(()=>n.logs,async()=>{await yn(),r()},{deep:!0,flush:"post"}),ut(()=>n.loading,async()=>{await yn(),r()});const i=()=>{switch(n.status){case"success":return"mdi:check-circle";case"error":return"mdi:alert-circle";case"loading":return"mdi:loading";default:return"mdi:information"}},l=c=>c.level?`log-${c.level}`:"log-info",a=()=>{s("close")},u=()=>{n.canClose&&a()};return(c,d)=>(A(),qe(Sr,{to:"body"},[k(ss,{name:"modal"},{default:Be(()=>[e.visible?(A(),D("div",{key:0,class:"modal-overlay",onClick:u},[f("div",{class:"modal-container",onClick:d[0]||(d[0]=xt(()=>{},["stop"]))},[f("div",I2,[f("h2",M2,[k(B,{icon:i(),class:"modal-icon"},null,8,["icon"]),ee(" "+q(e.title),1)]),e.canClose?(A(),D("button",{key:0,onClick:a,class:"modal-close","aria-label":"关闭"},[k(B,{icon:"mdi:close"})])):oe("",!0)]),f("div",L2,[f("div",{ref_key:"logContainer",ref:o,class:"log-container"},[(A(!0),D(xe,null,Nt(e.logs,(h,p)=>(A(),D("div",{key:p,class:X(["log-line",l(h)])},[f("span",D2,q(h.time),1),f("span",N2,q(h.message),1)],2))),128)),e.loading?(A(),D("div",F2,[...d[1]||(d[1]=[f("div",{class:"spinner-small"},null,-1),f("span",{class:"log-message"},"处理中...",-1)])])):oe("",!0)],512)]),f("div",j2,[f("div",U2,[e.status==="success"?(A(),D("span",B2,[k(B,{icon:"mdi:check-circle"}),d[2]||(d[2]=ee(" 操作成功 ",-1))])):e.status==="error"?(A(),D("span",V2,[k(B,{icon:"mdi:alert-circle"}),d[3]||(d[3]=ee(" 操作失败 ",-1))])):e.loading?(A(),D("span",H2,[...d[4]||(d[4]=[f("div",{class:"spinner-small"},null,-1),ee(" 处理中... ",-1)])])):oe("",!0)]),f("div",q2,[e.canClose?(A(),D("button",{key:0,onClick:a,class:"btn btn-outline"}," 关闭 ")):oe("",!0)])])])])):oe("",!0)]),_:1})]))}}),Jc=Ke(K2,[["__scopeId","data-v-07320b59"]]);function z2(){const e=Q(!1),t=Q(""),n=Q([]),s=Q("idle");return{modalVisible:e,modalTitle:t,logs:n,modalStatus:s,addLog:(u,c="info")=>{const d=new Date,h=`${d.getHours().toString().padStart(2,"0")}:${d.getMinutes().toString().padStart(2,"0")}:${d.getSeconds().toString().padStart(2,"0")}`;n.value.push({time:h,message:u,level:c})},showModal:u=>{t.value=u,n.value=[],s.value="loading",e.value=!0},hideModal:()=>{e.value=!1},setSuccess:()=>{s.value="success"},setError:()=>{s.value="error"}}}function Zc(e){const t=Q(!1),{onRefresh:n}=e,{modalVisible:s,modalTitle:o,logs:r,modalStatus:i,addLog:l,showModal:a,hideModal:u,setSuccess:c,setError:d}=z2();return{updating:t,modalVisible:s,modalTitle:o,logs:r,modalStatus:i,handleUpdate:async m=>{t.value=!0,a(m.status==="injected"?"更新应用":"注入应用"),l(`开始处理应用: ${m.name}`),l(`Bundle ID: ${m.bundleId}`),l(`当前版本: ${m.version}`);try{l("正在连接到服务器...");const y=await ke.updateApp(m.bundleId);y.logs&&y.logs.length>0&&y.logs.forEach(b=>{l(b,"info")}),y.success?(l("操作成功完成!","success"),c(),l("正在刷新应用状态..."),await n(),l("应用状态已更新","success")):(l(`操作失败: ${y.message}`,"error"),d())}catch(y){console.error("更新应用失败:",y),l(`网络错误: ${y}`,"error"),d()}finally{t.value=!1}},handleReinstall:async()=>{console.log("重新安装功能待实现")},hideModal:u}}const W2={class:"corner-badges"},G2={key:0,class:"corner-badge injected-badge"},J2={key:1,class:"corner-badge supported-badge"},Z2={key:2,class:"corner-badge unsupported-badge"},Q2={key:3,class:"corner-badge upgrade-badge"},X2={key:4,class:"corner-badge upgrade-badge"},Y2={class:"card-content"},e3={class:"app-icon-wrapper"},t3={class:"app-icon"},n3=["src","alt"],s3={key:0,class:"icon-loading"},o3={class:"app-info"},r3={class:"app-name"},i3={class:"bundle-id"},l3={class:"bundle-id-text"},a3={class:"version-tags"},c3={class:"version-tag current"},u3={class:"tag-value"},d3={key:0,class:"tag-build"},f3={key:0,class:"version-tag latest"},p3={class:"tag-value"},h3={key:0,class:"tag-build"},m3={class:"app-actions"},g3=["disabled"],v3=["disabled"],y3=["disabled"],b3={key:2,class:"unsupported-section"},_3=["disabled"],C3=Pe({__name:"AppCard",props:{app:{},inStoreMode:{type:Boolean,default:!1}},emits:["updated","openVersionDialog"],setup(e,{emit:t}){const n=e,s=t,o=Wc(),r=Q({...n.app}),i=Q(!0),l=Q(!1),a=Q(!1),{updating:u,modalVisible:c,modalTitle:d,logs:h,modalStatus:p,handleUpdate:m,handleReinstall:y,hideModal:b}=Zc({onRefresh:async()=>{try{const C=await ke.getApp(n.app.bundleId);r.value=C,s("updated",n.app.bundleId)}catch(C){throw console.error("刷新应用状态失败:",C),C}}});ut(()=>n.app,C=>{u.value||(r.value={...C})},{deep:!0});const I=()=>ke.getAppIconUrl(n.app.bundleId),L=()=>{o.push(`/app/${n.app.bundleId}`)},T=()=>{m(r.value)},w=()=>{s("openVersionDialog",r.value)},j=de(()=>{var C;return((C=n.app.update)==null?void 0:C.hasUpdate)??!1});de(()=>{var C;return((C=n.app.update)==null?void 0:C.latestVersion)??""});const U=de(()=>{var x;return!((x=n.app.update)!=null&&x.versions)||n.app.update.versions.length===0?null:n.app.update.versions[0].fullVersion||null}),H=()=>{if(!r.value)return"";switch(r.value.status){case"injected":return"glow-success";case"upgrade_available":return"glow-warning";case"supported":return"glow-primary";default:return""}},N=()=>{i.value=!1,l.value=!0,a.value=!1},E=()=>{i.value=!1,l.value=!1,a.value=!0};return(C,x)=>(A(),D("div",{class:"app-card card",onClick:L},[f("div",{class:X(["card-glow",H()])},null,2),f("div",W2,[r.value.status==="injected"?(A(),D("div",G2,[k(B,{icon:"mdi:check-circle",class:"badge-icon"}),x[1]||(x[1]=f("span",{class:"badge-text"},"已注入",-1))])):r.value.status==="supported"?(A(),D("div",J2,[k(B,{icon:"mdi:check",class:"badge-icon"}),x[2]||(x[2]=f("span",{class:"badge-text"},"支持",-1))])):r.value.status==="unsupported"?(A(),D("div",Z2,[k(B,{icon:"mdi:close-circle",class:"badge-icon"}),x[3]||(x[3]=f("span",{class:"badge-text"},"不支持",-1))])):r.value.status==="upgrade_available"?(A(),D("div",Q2,[k(B,{icon:"mdi:arrow-up-circle",class:"badge-icon"}),x[4]||(x[4]=f("span",{class:"badge-text"},"可更新",-1))])):oe("",!0),r.value.update&&r.value.update.hasUpdate&&r.value.status!=="upgrade_available"?(A(),D("div",X2,[k(B,{icon:"mdi:arrow-up-circle",class:"badge-icon"}),x[5]||(x[5]=f("span",{class:"badge-text"},"可更新",-1))])):oe("",!0)]),f("div",Y2,[f("div",e3,[f("div",t3,[x[7]||(x[7]=f("div",{class:"icon-glow"},null,-1)),x[8]||(x[8]=f("div",{class:"icon-shadow"},null,-1)),Je(f("img",{src:I(),alt:r.value.name,onLoad:N,onError:E},null,40,n3),[[zs,l.value]]),i.value?(A(),D("div",s3,[...x[6]||(x[6]=[f("div",{class:"spinner"},null,-1)])])):oe("",!0),Je(f("div",{class:"icon-placeholder"},q(r.value.name.charAt(0).toUpperCase()),513),[[zs,a.value]])])]),f("div",o3,[f("h3",r3,q(r.value.name),1),f("div",i3,[k(B,{icon:"mdi:identifier",class:"bundle-id-icon"}),f("span",l3,q(r.value.bundleId),1)]),f("div",a3,[f("div",c3,[x[9]||(x[9]=f("span",{class:"tag-label"},"当前",-1)),f("span",u3,q(r.value.version),1),r.value.bundleVersion?(A(),D("span",d3,q(r.value.bundleVersion),1)):oe("",!0)]),r.value.update&&r.value.update.hasUpdate?(A(),D("div",f3,[x[10]||(x[10]=f("span",{class:"tag-label"},"最新",-1)),f("span",p3,q(r.value.update.latestVersion),1),U.value?(A(),D("span",h3,q(U.value),1)):oe("",!0)])):oe("",!0)])]),f("div",m3,[e.inStoreMode?(A(),D(xe,{key:0},[j.value?(A(),D("button",{key:0,class:"btn btn-warning",onClick:xt(w,["stop"])},[k(B,{icon:"mdi:update",class:"btn-icon"}),x[11]||(x[11]=ee(" 更新 ",-1))])):r.value.status==="supported"?(A(),D("button",{key:1,class:"btn btn-success",onClick:xt(T,["stop"]),disabled:z(u)},[k(B,{icon:"mdi:lock-open-variant",class:"btn-icon"}),ee(" "+q(z(u)?"处理中...":"注入"),1)],8,g3)):(A(),D("button",{key:2,class:"btn btn-secondary",onClick:xt(w,["stop"])},[k(B,{icon:"mdi:download",class:"btn-icon"}),x[12]||(x[12]=ee(" 重新安装 ",-1))]))],64)):(A(),D(xe,{key:1},[r.value.status==="upgrade_available"?(A(),D("button",{key:0,class:"btn btn-warning",onClick:xt(T,["stop"]),disabled:z(u)},[k(B,{icon:"mdi:update",class:"btn-icon"}),ee(" "+q(z(u)?"更新中...":"更新"),1)],8,v3)):r.value.status==="supported"?(A(),D("button",{key:1,class:"btn btn-success",onClick:xt(T,["stop"]),disabled:z(u)},[k(B,{icon:"mdi:lock-open-variant",class:"btn-icon"}),ee(" "+q(z(u)?"处理中...":"注入"),1)],8,y3)):r.value.status==="unsupported"?(A(),D("div",b3,[...x[13]||(x[13]=[f("span",{class:"unsupported-text"},"不支持此版本",-1)])])):(A(),D("button",{key:3,class:"btn btn-secondary",onClick:x[0]||(x[0]=xt((...$)=>z(y)&&z(y)(...$),["stop"])),disabled:z(u)},[k(B,{icon:"mdi:refresh",class:"btn-icon"}),ee(" "+q(z(u)?"处理中...":"重新安装"),1)],8,_3))],64))])]),k(Jc,{visible:z(c),title:z(d),logs:z(h),loading:z(u),status:z(p),"can-close":z(p)!=="loading",onClose:z(b)},null,8,["visible","title","logs","loading","status","can-close","onClose"])]))}}),w3=Ke(C3,[["__scopeId","data-v-83c11d6a"]]),S3={class:"version-list-container"},x3={key:0,class:"empty"},E3={key:1},T3={class:"version-filters"},k3={class:"versions-list"},$3={class:"version-info"},A3={class:"version-number-wrapper"},R3={key:0,class:"version-tag beta-tag"},O3={key:1,class:"version-tag release-tag"},P3={class:"version-number"},I3={key:0,class:"version-full"},M3={key:0,class:"version-url"},L3=["onClick","disabled"],D3={key:"spinner",class:"spinner-small"},N3=Pe({__name:"VersionList",props:{bundleId:{default:""},versions:{default:()=>[]}},setup(e){const t=e,n=de(()=>t.versions);Q(!1),Q("");const s=Q([]),o=Q([]),r=Q("all"),{toasts:i,success:l,error:a,removeToast:u}=Nr(),c=de(()=>r.value==="all"?n.value||[]:r.value==="release"?n.value.filter(h=>!h.beta):n.value.filter(h=>h.beta)),d=async(h,p)=>{if(!h.url){a("版本URL为空");return}s.value.push(p);try{await ke.startDownload(h.url),l(`下载已启动: ${h.version}`,3e3),s.value=s.value.filter(m=>m!==p),o.value.push(p),setTimeout(()=>{o.value=o.value.filter(m=>m!==p)},2e3)}catch(m){console.error("启动下载失败:",m),a(`下载启动失败: ${h.version}`,4e3),setTimeout(()=>{s.value=s.value.filter(y=>y!==p)},300)}};return(h,p)=>(A(),D(xe,null,[f("div",S3,[n.value.length===0?(A(),D("div",x3,[k(B,{icon:"mdi:package-variant",class:"empty-icon"}),p[3]||(p[3]=f("p",null,"暂无可用版本",-1))])):(A(),D("div",E3,[f("div",T3,[f("button",{class:X(["filter-btn",{active:r.value==="all"}]),onClick:p[0]||(p[0]=m=>r.value="all")}," 全部 ",2),f("button",{class:X(["filter-btn",{active:r.value==="release"}]),onClick:p[1]||(p[1]=m=>r.value="release")}," 正式版 ",2),f("button",{class:X(["filter-btn",{active:r.value==="beta"}]),onClick:p[2]||(p[2]=m=>r.value="beta")}," 测试版 ",2)]),f("div",k3,[(A(!0),D(xe,null,Nt(c.value,(m,y)=>(A(),D("div",{key:y,class:X(["version-item",{downloading:s.value.includes(y)}])},[f("div",$3,[f("div",A3,[m.beta?(A(),D("span",R3,"测试版")):(A(),D("span",O3,"正式版")),f("span",P3,[ee(q(m.version)+" ",1),m.fullVersion?(A(),D("span",I3," ("+q(m.fullVersion)+") ",1)):oe("",!0)])]),m.url?(A(),D("span",M3,[k(B,{icon:"mdi:link",class:"url-icon"}),ee(" "+q(m.url),1)])):oe("",!0)]),f("button",{class:X(["btn btn-sm",{"btn-primary":!s.value.includes(y)&&!o.value.includes(y),"btn-downloading":s.value.includes(y),"btn-success-state":o.value.includes(y)}]),onClick:b=>d(m,y),disabled:s.value.includes(y)||o.value.includes(y)},[k(ss,{name:"fade",mode:"out-in"},{default:Be(()=>[!s.value.includes(y)&&!o.value.includes(y)?(A(),qe(B,{key:"icon-download",icon:"mdi:download",class:"btn-icon"})):s.value.includes(y)?(A(),D("div",D3)):(A(),qe(B,{key:"icon-success",icon:"mdi:check-circle",class:"btn-icon"}))]),_:2},1024),k(ss,{name:"fade",mode:"out-in"},{default:Be(()=>[(A(),D("span",{key:s.value.includes(y)?"downloading":o.value.includes(y)?"success":"download"},q(s.value.includes(y)?"下载中...":o.value.includes(y)?"已启动":"下载"),1))]),_:2},1024)],10,L3)],2))),128))])]))]),k(Fr,{toasts:z(i),onRemove:z(u)},null,8,["toasts","onRemove"])],64))}}),Qc=Ke(N3,[["__scopeId","data-v-e590ae50"]]),F3={class:"dialog-header"},j3={class:"dialog-title"},U3={class:"dialog-content"},B3=Pe({__name:"VersionSelectorDialog",props:{visible:{type:Boolean},app:{}},emits:["close"],setup(e,{emit:t}){const n=t,s=()=>{n("close")},o=r=>{r.target===r.currentTarget&&s()};return(r,i)=>{var l,a;return e.visible&&e.app?(A(),D("div",{key:0,class:"dialog-overlay",onClick:o},[f("div",{class:"dialog-container",onClick:i[0]||(i[0]=xt(()=>{},["stop"]))},[f("div",F3,[f("h2",j3,q(e.app.name),1),f("button",{class:"dialog-close",onClick:s},[k(B,{icon:"mdi:close"})])]),f("div",U3,[e.app?(A(),qe(Qc,{key:0,bundleId:e.app.bundleId,versions:((a=(l=e.app)==null?void 0:l.update)==null?void 0:a.versions)||[]},null,8,["bundleId","versions"])):oe("",!0)]),f("div",{class:"dialog-footer"},[f("button",{class:"btn btn-secondary",onClick:s},"关闭")])])])):oe("",!0)}}}),V3=Ke(B3,[["__scopeId","data-v-0c946027"]]),H3={class:"app-list"},q3={class:"list-header"},K3={class:"header-content"},z3={class:"page-description"},W3={class:"list-controls"},G3={class:"search-container"},J3={class:"sort-selected"},Z3={key:0,class:"sort-dropdown"},Q3=["onClick"],X3={key:0,class:"loading"},Y3={key:1,class:"error"},em={key:2,class:"empty"},tm={key:3,class:"apps-grid grid grid-3"},nm={class:"list-footer"},sm={class:"footer-stats"},om={class:"stat-item"},rm={class:"stat-value"},im={class:"stat-item"},lm={class:"stat-value"},am=Pe({__name:"AppList",setup(e){const t=Gc(),n=Qn([]),s=Q(!0),o=Q(""),r=Q(""),i=Q("name"),l=Q(!1),a=[{value:"name",label:"按名称排序"},{value:"bundleId",label:"按 Bundle ID"},{value:"injected",label:"已注入优先"},{value:"update",label:"可更新优先"}],u=T=>{const w=a.find(j=>j.value===T);return w?w.label:"按名称排序"},c=T=>{i.value=T,l.value=!1},d=Q(!1),h=Q(null),p=de(()=>{const T=t.query.filter,w=r.value.toLowerCase(),j=w.length>0,U=!!T;if(!j&&!U)return[...n.value].sort((E,C)=>{switch(i.value){case"name":return E.name.localeCompare(C.name);case"bundleId":return E.bundleId.localeCompare(C.bundleId);case"injected":return(C.status==="injected"?1:0)-(E.status==="injected"?1:0);case"update":return(C.status==="upgrade_available"?1:0)-(E.status==="upgrade_available"?1:0);default:return 0}});const H=[];for(const N of n.value)if(!(j&&!(N.name.toLowerCase().includes(w)||N.bundleId.toLowerCase().includes(w)))){if(U){if(!N.status&&T!=="store")continue;let E=!1;switch(T){case"supported":E=N.status==="supported";break;case"injected":E=N.status==="injected";break;case"update":E=N.status==="upgrade_available";break;case"unsupported":E=N.status==="unsupported";break;case"store":E=N.update!==null;break;default:E=!0}if(!E)continue}H.push(N)}return H.sort((N,E)=>{switch(i.value){case"name":return N.name.localeCompare(E.name);case"bundleId":return N.bundleId.localeCompare(E.bundleId);case"injected":return(E.status==="injected"?1:0)-(N.status==="injected"?1:0);case"update":return(E.status==="upgrade_available"?1:0)-(N.status==="upgrade_available"?1:0);default:return 0}}),H}),m=()=>{switch(t.query.filter){case"injected":return"已注入应用";case"update":return"可更新应用";case"unsupported":return"不支持的应用";case"store":return"应用商店";default:return"所有应用"}},y=()=>{switch(t.query.filter){case"store":return"浏览和下载应用更新版本";case"injected":return"已成功注入的应用列表";case"update":return"有新版本可用的应用";case"unsupported":return"当前版本不支持的应用";default:return"系统中所有已安装的应用"}},b=async()=>{s.value=!0,o.value="";try{const T=await ke.getApps();if(console.log("加载应用列表成功,数量:",T.length),console.log("第一个应用示例:",T[0]?{bundleId:T[0].bundleId,name:T[0].name,status:T[0].status,hasUpdate:!!T[0].update,hasInjection:!!T[0].injection}:"无应用"),T.length>0){const w=T.filter(j=>!j.status);w.length>0&&console.warn(`发现 ${w.length} 个应用缺少 status 字段:`,w.map(j=>j.bundleId))}n.value=T}catch(T){console.error("加载应用列表失败:",T),o.value="加载应用列表失败,请检查服务是否运行",n.value=[]}finally{s.value=!1}},I=async T=>{console.log(`应用 ${T} 已更新`)},L=T=>{h.value=T,d.value=!0};return ut(()=>t.query.filter,(T,w)=>{console.log("路由过滤参数变化:",{from:w,to:T})},{immediate:!0}),it(()=>{console.log("AppList 组件已挂载,开始加载应用列表"),b()}),(T,w)=>(A(),D("div",H3,[f("div",q3,[f("div",K3,[f("h2",null,q(m()),1),f("p",z3,q(y()),1)]),f("div",W3,[f("div",G3,[k(B,{icon:"mdi:magnify",class:"search-icon-left"}),Je(f("input",{"onUpdate:modelValue":w[0]||(w[0]=j=>r.value=j),type:"text",placeholder:"搜索应用名称或 Bundle ID...",class:"search-input"},null,512),[[fn,r.value]]),r.value?(A(),D("button",{key:0,onClick:w[1]||(w[1]=j=>r.value=""),class:"search-clear",type:"button"},[k(B,{icon:"mdi:close-circle"})])):oe("",!0)]),f("div",{class:X(["sort-container",{"is-open":l.value}]),onMouseenter:w[4]||(w[4]=j=>l.value=!0),onMouseleave:w[5]||(w[5]=j=>l.value=!1)},[k(B,{icon:"mdi:sort",class:"sort-icon"}),f("div",{class:"sort-select",tabindex:"0",onKeydown:[w[2]||(w[2]=Pi(xt(j=>l.value=!l.value,["prevent"]),["enter"])),w[3]||(w[3]=Pi(j=>l.value=!1,["escape"]))]},[f("span",J3,q(u(i.value)),1),k(B,{icon:"mdi:chevron-down",class:X(["sort-arrow",{"is-open":l.value}])},null,8,["class"])],32),k(ss,{name:"dropdown"},{default:Be(()=>[l.value?(A(),D("div",Z3,[(A(),D(xe,null,Nt(a,j=>f("div",{key:j.value,class:X(["sort-option",{"is-selected":i.value===j.value}]),onClick:U=>c(j.value)},[i.value===j.value?(A(),qe(B,{key:0,icon:"mdi:check",class:"check-icon"})):oe("",!0),f("span",null,q(j.label),1)],10,Q3)),64))])):oe("",!0)]),_:1})],34)])]),s.value?(A(),D("div",X3,[...w[7]||(w[7]=[f("div",{class:"spinner"},null,-1),f("p",null,"加载应用中...",-1)])])):o.value?(A(),D("div",Y3,[f("p",null,q(o.value),1),f("button",{onClick:b,class:"btn btn-primary"},"重试")])):p.value.length===0?(A(),D("div",em,[k(B,{icon:"mdi:apps",class:"empty-icon"}),w[8]||(w[8]=f("p",null,"没有找到应用",-1)),w[9]||(w[9]=f("p",{class:"empty-hint"},"尝试调整搜索条件或筛选器",-1))])):(A(),D("div",tm,[(A(!0),D(xe,null,Nt(p.value,j=>(A(),qe(w3,{key:j.bundleId,app:j,"in-store-mode":z(t).query.filter==="store",onUpdated:I,onOpenVersionDialog:L},null,8,["app","in-store-mode"]))),128))])),f("div",nm,[f("div",sm,[f("span",om,[w[10]||(w[10]=f("span",{class:"stat-label"},"总计:",-1)),f("span",rm,q(n.value.length),1)]),f("span",im,[w[11]||(w[11]=f("span",{class:"stat-label"},"显示:",-1)),f("span",lm,q(p.value.length),1)])])]),h.value?(A(),qe(V3,{key:4,visible:d.value,app:h.value,onClose:w[6]||(w[6]=j=>d.value=!1)},null,8,["visible","app"])):oe("",!0)]))}}),cm=Ke(am,[["__scopeId","data-v-e08209d6"]]),um={class:"app-detail"},dm={key:0,class:"loading"},fm={key:1,class:"error"},pm={key:2,class:"detail-content"},hm={class:"back-button"},mm={class:"app-info-card card"},gm={class:"app-header"},vm={class:"app-icon-large"},ym=["src","alt"],bm={key:1,class:"icon-loading-large"},_m={class:"app-meta"},Cm={class:"app-title"},wm={class:"app-bundle-id"},Sm={class:"app-version-info"},xm={class:"current-version"},Em={key:0,class:"bundle-version"},Tm={key:0,class:"latest-version"},km={key:0,class:"bundle-version"},$m={class:"app-status-section"},Am={class:"action-buttons"},Rm=["disabled"],Om=["disabled"],Pm={key:2,class:"unsupported-text"},Im=["disabled"],Mm={class:"detail-grid"},Lm={class:"detail-card card"},Dm={class:"info-list"},Nm={class:"info-item"},Fm={class:"value"},jm={class:"info-item"},Um={class:"value"},Bm={class:"detail-card card"},Vm={class:"info-list"},Hm={class:"info-item"},qm={class:"value"},Km={key:0,class:"info-item"},zm={class:"info-item"},Wm={key:0,class:"detail-card card versions-card"},Gm=Pe({__name:"AppDetail",setup(e){const t=Gc(),n=Wc(),s=Q(null),o=Q(!0),r=Q(""),i=t.params.bundleId,l=Q(!0),a=Q(!1),u=Q(!1),c=async()=>{o.value=!0,r.value="";try{s.value=await ke.getApp(i)}catch(x){console.error("加载应用详情失败:",x),r.value="加载应用详情失败,请检查网络连接"}finally{o.value=!1}},{updating:d,modalVisible:h,modalTitle:p,logs:m,modalStatus:y,handleUpdate:b,handleReinstall:I,hideModal:L}=Zc({onRefresh:async()=>{await c()}}),T=()=>s.value?ke.getAppIconUrl(s.value.bundleId):"",w=()=>{s.value&&b(s.value)},j=()=>{n.push("/")},U=()=>{if(!s.value)return"";switch(s.value.status){case"unsupported":return"status-unsupported";case"injected":return"status-injected";case"upgrade_available":return"status-update";case"supported":return"status-supported";default:return""}},H=()=>{if(!s.value)return"";switch(s.value.status){case"unsupported":return"不支持";case"injected":return"已注入";case"upgrade_available":return"可更新";case"supported":return"支持";default:return""}},N=de(()=>{var $,re;return!((re=($=s.value)==null?void 0:$.update)!=null&&re.versions)||s.value.update.versions.length===0?null:s.value.update.versions[0].fullVersion||null}),E=()=>{l.value=!1,a.value=!0,u.value=!1},C=()=>{l.value=!1,a.value=!1,u.value=!0};return it(async()=>{await c()}),(x,$)=>{var re,he,Te;return A(),D("div",um,[o.value?(A(),D("div",dm,[...$[1]||($[1]=[f("div",{class:"spinner"},null,-1),f("p",null,"加载应用详情...",-1)])])):r.value?(A(),D("div",fm,[f("p",null,q(r.value),1),f("button",{onClick:c,class:"btn btn-primary"},"重试")])):s.value?(A(),D("div",pm,[f("div",hm,[f("button",{onClick:j,class:"btn btn-outline"},[k(B,{icon:"mdi:arrow-left",class:"btn-icon"}),$[2]||($[2]=ee(" 返回应用列表 ",-1))])]),f("div",mm,[f("div",gm,[f("div",vm,[s.value?Je((A(),D("img",{key:0,src:T(),alt:s.value.name,onLoad:E,onError:C},null,40,ym)),[[zs,a.value]]):oe("",!0),l.value?(A(),D("div",bm,[...$[3]||($[3]=[f("div",{class:"spinner"},null,-1)])])):oe("",!0),Je(f("div",{class:"icon-placeholder-large"},q(s.value.name.charAt(0).toUpperCase()),513),[[zs,u.value]])]),f("div",_m,[f("h1",Cm,q(s.value.name),1),f("p",wm,q(s.value.bundleId),1),f("div",Sm,[f("span",xm,[ee(" 当前版本: "+q(s.value.version),1),s.value.bundleVersion?(A(),D("span",Em," ("+q(s.value.bundleVersion)+")",1)):oe("",!0)]),(re=s.value.update)!=null&&re.latestVersion&&s.value.update.latestVersion!==s.value.version?(A(),D("span",Tm,[ee(" 最新版本: "+q(s.value.update.latestVersion),1),N.value?(A(),D("span",km," ("+q(N.value)+")",1)):oe("",!0)])):oe("",!0)])]),f("div",$m,[f("span",{class:X(["status-badge",U()])},q(H()),3),f("div",Am,[s.value.status==="upgrade_available"?(A(),D("button",{key:0,class:"btn btn-warning",onClick:w,disabled:z(d)},[k(B,{icon:"mdi:update",class:"btn-icon"}),ee(" "+q(z(d)?"更新中...":"更新应用"),1)],8,Rm)):s.value.status==="supported"?(A(),D("button",{key:1,class:"btn btn-success",onClick:w,disabled:z(d)},[k(B,{icon:"mdi:download",class:"btn-icon"}),ee(" "+q(z(d)?"处理中...":"注入应用"),1)],8,Om)):s.value.status==="unsupported"?(A(),D("span",Pm," 不支持此版本 ")):(A(),D("button",{key:3,class:"btn btn-secondary",onClick:$[0]||($[0]=(...ue)=>z(I)&&z(I)(...ue)),disabled:z(d)},[k(B,{icon:"mdi:refresh",class:"btn-icon"}),ee(" "+q(z(d)?"处理中...":"重新安装"),1)],8,Im))])])])]),f("div",Mm,[f("div",Lm,[$[6]||($[6]=f("h3",null,"基本信息",-1)),f("div",Dm,[f("div",Nm,[$[4]||($[4]=f("span",{class:"label"},"应用路径:",-1)),f("span",Fm,q(s.value.path),1)]),f("div",jm,[$[5]||($[5]=f("span",{class:"label"},"注入版本:",-1)),f("span",Um,q(((he=s.value.injection)==null?void 0:he.version)||"未注入"),1)])])]),f("div",Bm,[$[10]||($[10]=f("h3",null,"更新信息",-1)),f("div",Vm,[f("div",Hm,[$[7]||($[7]=f("span",{class:"label"},"更新源:",-1)),f("span",qm,q(((Te=s.value.update)==null?void 0:Te.feedUrl)||"未配置"),1)]),s.value.update?(A(),D("div",Km,[$[8]||($[8]=f("span",{class:"label"},"需要更新:",-1)),f("span",{class:X(["value",{"text-warning":s.value.update.hasUpdate}])},q(s.value.update.hasUpdate?"是":"否"),3)])):oe("",!0),f("div",zm,[$[9]||($[9]=f("span",{class:"label"},"支持状态:",-1)),f("span",{class:X(["value",{"text-success":s.value.status!=="unsupported","text-error":s.value.status==="unsupported"}])},q(s.value.status==="unsupported"?"不支持":"支持"),3)])])]),s.value.update?(A(),D("div",Wm,[$[11]||($[11]=f("h3",null,"可用版本",-1)),k(Qc,{bundleId:s.value.bundleId,versions:s.value.update.versions||[]},null,8,["bundleId","versions"])])):oe("",!0)]),k(Jc,{visible:z(h),title:z(p),logs:z(m),loading:z(d),status:z(y),"can-close":z(y)!=="loading",onClose:z(L)},null,8,["visible","title","logs","loading","status","can-close","onClose"])])):oe("",!0)])}}}),Jm=Ke(Gm,[["__scopeId","data-v-768391e7"]]);function cr(e){if(e===0)return"0 B";const t=1024,n=["B","KB","MB","GB","TB"],s=Math.floor(Math.log(e)/Math.log(t));return`${(e/Math.pow(t,s)).toFixed(2)} ${n[s]}`}function Zm(e){return e<=0?"--":`${cr(e)}/s`}function Qm(e){if(e<=0)return"完成";if(e>=3600){const t=Math.floor(e/3600),n=Math.floor(e%3600/60);return`${t}小时${n}分钟`}if(e>=60){const t=Math.floor(e/60),n=Math.floor(e%60);return`${t}分${n}秒`}return`${Math.floor(e)}秒`}function $l(e){return e<0?"0.00%":e>=100?"100.00%":`${e.toFixed(2)}%`}const Xm={class:"download-manager"},Ym={class:"page-header"},eg={class:"header-actions"},tg={class:"stats-cards"},ng={class:"stat-card"},sg={class:"stat-icon downloading"},og={class:"stat-info"},rg={class:"stat-value"},ig={class:"stat-card"},lg={class:"stat-icon completed"},ag={class:"stat-info"},cg={class:"stat-value"},ug={class:"stat-card"},dg={class:"stat-icon paused"},fg={class:"stat-info"},pg={class:"stat-value"},hg={class:"filter-bar"},mg=["onClick"],gg={class:"filter-count"},vg={class:"download-list"},yg={key:0,class:"empty-state"},bg={class:"item-header"},_g={class:"item-title"},Cg={class:"file-name"},wg={class:"item-progress"},Sg={class:"progress-bar"},xg={class:"progress-info"},Eg={class:"progress-text"},Tg={class:"progress-stats"},kg={key:0,class:"item-speed-info"},$g={class:"speed-item"},Ag={class:"info-value"},Rg={class:"speed-item"},Og={class:"info-value"},Pg={key:1,class:"item-error"},Ig={class:"item-actions"},Mg=["onClick"],Lg=["onClick"],Dg=["onClick"],Ng=["onClick"],Fg=["onClick"],jg=Pe({__name:"DownloadManager",setup(e){const t=Q([]),n=Q("all");let s=null;const o=Q(!1),r=Q({title:"",message:"",type:"warning",confirmText:"确认",cancelText:"取消"});let i=null;const l=[{label:"全部",value:"all"},{label:"下载中",value:"downloading"},{label:"已完成",value:"completed"},{label:"已暂停",value:"paused"},{label:"失败",value:"error"}],a=de(()=>n.value==="all"?t.value:t.value.filter(N=>N.status===n.value)),u=de(()=>t.value.filter(N=>N.status==="downloading").length),c=de(()=>t.value.filter(N=>N.status==="completed").length),d=de(()=>t.value.filter(N=>N.status==="paused").length),h=N=>N==="all"?t.value.length:t.value.filter(E=>E.status===N).length,p=N=>({pending:"等待中",downloading:"下载中",paused:"已暂停",completed:"已完成",error:"失败"})[N]||N,m=async()=>{try{t.value=await ke.getAllDownloads()}catch(N){console.error("加载下载列表失败:",N)}},y=()=>{m()},b=async N=>{try{await ke.pauseDownload(N),await m()}catch(E){console.error("暂停下载失败:",E)}},I=async N=>{try{await ke.resumeDownload(N),await m()}catch(E){console.error("继续下载失败:",E)}},L=(N,E,C="warning")=>new Promise(x=>{r.value={title:N,message:E,type:C,confirmText:"确认",cancelText:"取消"},o.value=!0,i=x}),T=()=>{i&&(i(!0),i=null)},w=()=>{i&&(i(!1),i=null)},j=async N=>{if(await L("删除下载任务","确定要删除这个下载任务吗?","danger"))try{await ke.deleteDownload(N),await m()}catch(C){console.error("删除下载失败:",C)}},U=async N=>{if(await L("重新下载",`确定要重新下载 "${N.fileName}" 吗?这将删除并重新下载该文件。`,"warning"))try{await ke.deleteDownload(N.id),await ke.startDownload(N.url,N.fileName),await m()}catch(C){console.error("重新下载失败:",C)}},H=async N=>{try{await ke.openDownloadFile(N)}catch(E){console.error("打开文件失败:",E)}};return it(()=>{m(),s=setInterval(m,1e3)}),Tn(()=>{s&&clearInterval(s)}),(N,E)=>(A(),D("div",Xm,[f("div",Ym,[E[2]||(E[2]=f("h2",null,"下载管理",-1)),f("div",eg,[f("button",{class:"btn btn-secondary btn-sm",onClick:y},[k(B,{icon:"mdi:refresh",class:"btn-icon"}),E[1]||(E[1]=ee(" 刷新 ",-1))])])]),f("div",tg,[f("div",ng,[f("div",sg,[k(B,{icon:"mdi:download"})]),f("div",og,[f("div",rg,q(u.value),1)]),E[3]||(E[3]=f("div",{class:"stat-label"},"下载中",-1))]),f("div",ig,[f("div",lg,[k(B,{icon:"mdi:check-circle"})]),f("div",ag,[f("div",cg,q(c.value),1)]),E[4]||(E[4]=f("div",{class:"stat-label"},"已完成",-1))]),f("div",ug,[f("div",dg,[k(B,{icon:"mdi:pause-circle"})]),f("div",fg,[f("div",pg,q(d.value),1)]),E[5]||(E[5]=f("div",{class:"stat-label"},"已暂停",-1))])]),f("div",hg,[(A(),D(xe,null,Nt(l,C=>f("button",{key:C.value,class:X(["filter-btn",{active:n.value===C.value}]),onClick:x=>n.value=C.value},[ee(q(C.label)+" ",1),f("span",gg,q(h(C.value)),1)],10,mg)),64))]),f("div",vg,[a.value.length===0?(A(),D("div",yg,[k(B,{icon:"mdi:download-circle",class:"empty-icon"}),E[6]||(E[6]=f("p",{class:"empty-text"},"暂无下载任务",-1))])):oe("",!0),(A(!0),D(xe,null,Nt(a.value,C=>(A(),D("div",{key:C.id,class:"download-item card"},[f("div",bg,[f("div",_g,[k(B,{icon:"mdi:file",class:"file-icon"}),f("span",Cg,q(C.fileName),1)]),f("div",{class:X(["item-status",`status-${C.status}`])},q(p(C.status)),3)]),f("div",wg,[f("div",Sg,[f("div",{class:X(["progress-fill",{downloading:C.status==="downloading"}]),style:cs({width:z($l)(C.progress*100)})},null,6)]),f("div",xg,[f("span",Eg,q(z($l)(C.progress*100)),1),f("span",Tg,q(z(cr)(C.downloadedSize))+" / "+q(z(cr)(C.totalSize)),1)])]),C.status==="downloading"?(A(),D("div",kg,[f("div",$g,[k(B,{icon:"mdi:speedometer",class:"info-icon"}),E[7]||(E[7]=f("span",{class:"info-label"},"速度:",-1)),f("span",Ag,q(z(Zm)(C.downloadSpeed)),1)]),f("div",Rg,[k(B,{icon:"mdi:timer",class:"info-icon"}),E[8]||(E[8]=f("span",{class:"info-label"},"剩余:",-1)),f("span",Og,q(z(Qm)(C.remainingTime)),1)])])):oe("",!0),C.errorMsg?(A(),D("div",Pg,[k(B,{icon:"mdi:alert-circle",class:"error-icon"}),ee(" "+q(C.errorMsg),1)])):oe("",!0),f("div",Ig,[C.status==="downloading"?(A(),D("button",{key:0,class:"btn btn-warning btn-sm",onClick:x=>b(C.id)},[k(B,{icon:"mdi:pause",class:"btn-icon"}),E[9]||(E[9]=ee(" 暂停 ",-1))],8,Mg)):oe("",!0),C.status==="paused"?(A(),D("button",{key:1,class:"btn btn-success btn-sm",onClick:x=>I(C.id)},[k(B,{icon:"mdi:play",class:"btn-icon"}),E[10]||(E[10]=ee(" 继续 ",-1))],8,Lg)):oe("",!0),C.status==="completed"?(A(),D("button",{key:2,class:"btn btn-primary btn-sm",onClick:x=>H(C.id)},[k(B,{icon:"mdi:folder-open",class:"btn-icon"}),E[11]||(E[11]=ee(" 打开 ",-1))],8,Dg)):oe("",!0),C.status==="completed"||C.status==="error"?(A(),D("button",{key:3,class:"btn btn-secondary btn-sm",onClick:x=>U(C)},[k(B,{icon:"mdi:reload",class:"btn-icon"}),E[12]||(E[12]=ee(" 重新下载 ",-1))],8,Ng)):oe("",!0),f("button",{class:"btn btn-danger btn-sm",onClick:x=>j(C.id)},[k(B,{icon:"mdi:delete",class:"btn-icon"}),E[13]||(E[13]=ee(" 删除 ",-1))],8,Fg)])]))),128))]),k(Mc,{visible:o.value,title:r.value.title,message:r.value.message,type:r.value.type,"confirm-text":r.value.confirmText,"cancel-text":r.value.cancelText,onConfirm:T,onCancel:w,"onUpdate:visible":E[0]||(E[0]=C=>o.value=C)},null,8,["visible","title","message","type","confirm-text","cancel-text"])]))}}),Ug=Ke(jg,[["__scopeId","data-v-9ada58e9"]]),Bg={class:"settings-page"},Vg={class:"settings-container"},Hg={class:"settings-header"},qg={class:"header-icon-wrapper"},Kg={class:"settings-content"},zg={class:"settings-card"},Wg={class:"card-header"},Gg={class:"card-icon-wrapper"},Jg={class:"card-content"},Zg={class:"setting-item"},Qg={class:"setting-header-row"},Xg={class:"setting-label"},Yg={class:"input-wrapper"},e5={class:"setting-hint"},t5={key:0,class:"setting-error"},n5={class:"setting-item"},s5={class:"setting-header-row"},o5={class:"setting-label"},r5={class:"select-wrapper"},i5={class:"setting-hint"},l5={class:"setting-item"},a5={class:"setting-header-row"},c5={class:"setting-label"},u5={class:"input-wrapper"},d5={class:"setting-hint"},f5={class:"settings-card"},p5={class:"card-header"},h5={class:"card-icon-wrapper"},m5={class:"card-content"},g5={class:"setting-item"},v5={class:"toggle-item"},y5={class:"toggle-content"},b5={class:"setting-label"},_5={class:"setting-hint"},C5={class:"toggle-switch"},w5={class:"setting-item"},S5={class:"setting-header-row"},x5={class:"setting-label"},E5={class:"input-wrapper"},T5={class:"setting-hint"},k5={class:"setting-item"},$5={class:"setting-header-row"},A5={class:"setting-label"},R5={class:"input-wrapper"},O5={class:"setting-hint"},P5={class:"settings-card"},I5={class:"card-header"},M5={class:"card-icon-wrapper"},L5={class:"card-content"},D5={class:"setting-item"},N5={class:"setting-header-row"},F5={class:"setting-label"},j5={class:"select-wrapper"},U5={class:"setting-hint"},B5={class:"settings-actions"},V5=["disabled"],H5=["disabled"],q5=Pe({__name:"Settings",setup(e){const t=Q({download_path:"",auto_check_update:!0,concurrent_downloads:3,theme:"auto",update_check_interval:10,update_check_threads:16,download_concurrent_threads:16}),n=Q(""),s=Q(!1),{toasts:o,success:r,error:i,removeToast:l}=Nr(),a=async()=>{try{const h=await ke.getAllSettings();t.value={download_path:h.download_path||"",auto_check_update:h.auto_check_update??!0,concurrent_downloads:h.concurrent_downloads||3,theme:h.theme||"auto",update_check_interval:h.update_check_interval||10,update_check_threads:h.update_check_threads||16,download_concurrent_threads:h.download_concurrent_threads||16}}catch(h){console.error("加载设置失败:",h)}},u=async()=>{var p;const h=(p=t.value.download_path)==null?void 0:p.trim();if(!h){n.value="";return}try{const m=await ke.validatePath(h);m.exists?m.isDirectory?n.value="":n.value="路径不是目录":n.value="路径不存在"}catch{n.value="验证路径失败"}},c=async()=>{if(!n.value){s.value=!0;try{const h={};t.value.download_path!==void 0&&(h.download_path=t.value.download_path),t.value.auto_check_update!==void 0&&(h.auto_check_update=t.value.auto_check_update?"true":"false"),t.value.concurrent_downloads!==void 0&&(h.concurrent_downloads=t.value.concurrent_downloads.toString()),t.value.theme!==void 0&&(h.theme=t.value.theme),t.value.update_check_interval!==void 0&&(h.update_check_interval=t.value.update_check_interval.toString()),t.value.update_check_threads!==void 0&&(h.update_check_threads=t.value.update_check_threads.toString()),t.value.download_concurrent_threads!==void 0&&(h.download_concurrent_threads=t.value.download_concurrent_threads.toString()),await ke.updateSettings(h),r("设置已保存",3e3)}catch(h){console.error("保存设置失败:",h),i("保存设置失败",4e3)}finally{s.value=!1}}},d=()=>{confirm("确定要重置所有设置为默认值吗?")&&(t.value={download_path:"",auto_check_update:!0,concurrent_downloads:3,theme:"auto",update_check_interval:10,update_check_threads:16,download_concurrent_threads:16},n.value="")};return it(()=>{a()}),(h,p)=>(A(),D("div",Bg,[f("div",Vg,[f("div",Hg,[f("div",qg,[k(B,{icon:"mdi:cog",class:"header-icon"})]),p[7]||(p[7]=f("h1",{class:"settings-title"},"设置",-1)),p[8]||(p[8]=f("p",{class:"settings-subtitle"},"管理应用配置和偏好设置",-1))]),f("div",Kg,[f("div",zg,[f("div",Wg,[f("div",Gg,[k(B,{icon:"mdi:folder-download",class:"card-icon"})]),p[9]||(p[9]=f("h2",{class:"card-title"},"下载设置",-1))]),f("div",Jg,[f("div",Zg,[f("div",Qg,[f("label",Xg,[k(B,{icon:"mdi:folder-outline",class:"label-icon"}),p[10]||(p[10]=ee(" 下载路径 ",-1))])]),f("div",Yg,[k(B,{icon:"mdi:folder",class:"input-icon"}),Je(f("input",{"onUpdate:modelValue":p[0]||(p[0]=m=>t.value.download_path=m),type:"text",class:"setting-input",placeholder:"/Users/你的用户名/Downloads/Hayaku/",onInput:u},null,544),[[fn,t.value.download_path]])]),f("p",e5,[k(B,{icon:"mdi:information-outline",class:"hint-icon"}),p[11]||(p[11]=ee(" 请输入完整的绝对路径,不能使用 ~ 符号 ",-1))]),n.value?(A(),D("p",t5,[k(B,{icon:"mdi:alert-circle",class:"error-icon"}),ee(" "+q(n.value),1)])):oe("",!0)]),f("div",n5,[f("div",s5,[f("label",o5,[k(B,{icon:"mdi:download-multiple",class:"label-icon"}),p[12]||(p[12]=ee(" 最大并发下载数 ",-1))])]),f("div",r5,[k(B,{icon:"mdi:chevron-down",class:"select-arrow"}),Je(f("select",{"onUpdate:modelValue":p[1]||(p[1]=m=>t.value.concurrent_downloads=m),class:"setting-select"},[...p[13]||(p[13]=[f("option",{value:1},"1个(较慢但稳定)",-1),f("option",{value:3},"3个(推荐)",-1),f("option",{value:5},"5个(快速)",-1),f("option",{value:8},"8个(很快)",-1),f("option",{value:16},"16个(极快)",-1)])],512),[[Zo,t.value.concurrent_downloads,void 0,{number:!0}]])]),f("p",i5,[k(B,{icon:"mdi:information-outline",class:"hint-icon"}),p[14]||(p[14]=ee(" 同时进行的下载任务数量 ",-1))])]),f("div",l5,[f("div",a5,[f("label",c5,[k(B,{icon:"mdi:ray-start-end",class:"label-icon"}),p[15]||(p[15]=ee(" 下载并发线程数 ",-1))])]),f("div",u5,[k(B,{icon:"mdi:numeric",class:"input-icon"}),Je(f("input",{"onUpdate:modelValue":p[2]||(p[2]=m=>t.value.download_concurrent_threads=m),type:"number",class:"setting-input",min:"1",max:"64"},null,512),[[fn,t.value.download_concurrent_threads,void 0,{number:!0}]])]),f("p",d5,[k(B,{icon:"mdi:information-outline",class:"hint-icon"}),p[16]||(p[16]=ee(" 每个下载任务使用的并发线程数(默认:16) ",-1))])])])]),f("div",f5,[f("div",p5,[f("div",h5,[k(B,{icon:"mdi:update",class:"card-icon"})]),p[17]||(p[17]=f("h2",{class:"card-title"},"更新设置",-1))]),f("div",m5,[f("div",g5,[f("div",v5,[f("div",y5,[f("label",b5,[k(B,{icon:"mdi:update",class:"label-icon"}),p[18]||(p[18]=ee(" 自动检查更新 ",-1))]),f("p",_5,[k(B,{icon:"mdi:information-outline",class:"hint-icon"}),p[19]||(p[19]=ee(" 是否在后台自动检查应用更新 ",-1))])]),f("label",C5,[Je(f("input",{"onUpdate:modelValue":p[3]||(p[3]=m=>t.value.auto_check_update=m),type:"checkbox",class:"toggle-input"},null,512),[[mf,t.value.auto_check_update]]),p[20]||(p[20]=f("span",{class:"toggle-slider"},null,-1))])])]),f("div",w5,[f("div",S5,[f("label",x5,[k(B,{icon:"mdi:clock-outline",class:"label-icon"}),p[21]||(p[21]=ee(" 更新检查间隔(分钟) ",-1))])]),f("div",E5,[k(B,{icon:"mdi:numeric",class:"input-icon"}),Je(f("input",{"onUpdate:modelValue":p[4]||(p[4]=m=>t.value.update_check_interval=m),type:"number",class:"setting-input",min:"1",max:"1440"},null,512),[[fn,t.value.update_check_interval,void 0,{number:!0}]])]),f("p",T5,[k(B,{icon:"mdi:information-outline",class:"hint-icon"}),p[22]||(p[22]=ee(" 后台自动检查更新的时间间隔(默认:10分钟) ",-1))])]),f("div",k5,[f("div",$5,[f("label",A5,[k(B,{icon:"mdi:ray-start-end",class:"label-icon"}),p[23]||(p[23]=ee(" 更新检查并发线程数 ",-1))])]),f("div",R5,[k(B,{icon:"mdi:numeric",class:"input-icon"}),Je(f("input",{"onUpdate:modelValue":p[5]||(p[5]=m=>t.value.update_check_threads=m),type:"number",class:"setting-input",min:"1",max:"64"},null,512),[[fn,t.value.update_check_threads,void 0,{number:!0}]])]),f("p",O5,[k(B,{icon:"mdi:information-outline",class:"hint-icon"}),p[24]||(p[24]=ee(" 同时检查更新的URL数量(默认:16) ",-1))])])])]),f("div",P5,[f("div",I5,[f("div",M5,[k(B,{icon:"mdi:palette",class:"card-icon"})]),p[25]||(p[25]=f("h2",{class:"card-title"},"外观设置",-1))]),f("div",L5,[f("div",D5,[f("div",N5,[f("label",F5,[k(B,{icon:"mdi:theme-light-dark",class:"label-icon"}),p[26]||(p[26]=ee(" 主题 ",-1))])]),f("div",j5,[k(B,{icon:"mdi:chevron-down",class:"select-arrow"}),Je(f("select",{"onUpdate:modelValue":p[6]||(p[6]=m=>t.value.theme=m),class:"setting-select"},[...p[27]||(p[27]=[f("option",{value:"auto"},"自动",-1),f("option",{value:"light"},"浅色",-1),f("option",{value:"dark"},"深色",-1)])],512),[[Zo,t.value.theme]])]),f("p",U5,[k(B,{icon:"mdi:information-outline",class:"hint-icon"}),p[28]||(p[28]=ee(" 选择应用主题 ",-1))])])])]),f("div",B5,[f("button",{class:"btn btn-secondary",onClick:d,disabled:s.value},[k(B,{icon:"mdi:restore"}),p[29]||(p[29]=ee(" 重置为默认值 ",-1))],8,V5),f("button",{class:"btn btn-primary",onClick:c,disabled:s.value},[k(B,{icon:"mdi:content-save"}),ee(" "+q(s.value?"保存中...":"保存设置"),1)],8,H5)])])]),k(Fr,{toasts:z(o),onRemove:z(l)},null,8,["toasts","onRemove"])]))}}),K5=Ke(q5,[["__scopeId","data-v-f4736dff"]]),z5=[{path:"/",name:"Home",component:cm},{path:"/app/:bundleId",name:"AppDetail",component:Jm,props:!0},{path:"/downloads",name:"DownloadManager",component:Ug},{path:"/settings",name:"Settings",component:K5}],W5=O2({history:i2(),routes:z5}),Br=Cf(A0);Br.use(Ef());Br.use(W5);Br.mount("#app"); diff --git a/frontend/dist/assets/index-DgENIQvi.css b/frontend/dist/assets/index-DgENIQvi.css new file mode 100644 index 0000000..39181c4 --- /dev/null +++ b/frontend/dist/assets/index-DgENIQvi.css @@ -0,0 +1 @@ +@charset "UTF-8";.splash-screen[data-v-a2001a7e]{--ease-standard: cubic-bezier(.4, 0, .2, 1);--ease-smooth: cubic-bezier(.25, .46, .45, .94);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--ease-reveal: cubic-bezier(.16, 1, .3, 1);position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:10000;overflow:hidden}.black-background[data-v-a2001a7e],.white-background[data-v-a2001a7e],.theme-overlay[data-v-a2001a7e],.gradient-background[data-v-a2001a7e],.glass-layer[data-v-a2001a7e]{position:absolute;width:100%;height:100%}.visible[data-v-a2001a7e]{opacity:1!important}.black-background[data-v-a2001a7e]{background:#000;z-index:1}.white-background[data-v-a2001a7e]{background:#fff;z-index:15;opacity:0;transition:opacity .8s var(--ease-standard),background-color .8s ease}[data-theme=dark] .white-background[data-v-a2001a7e]{background:#1a1a1a}.theme-overlay[data-v-a2001a7e]{z-index:16;opacity:0;transition:opacity .8s var(--ease-standard)}.theme-overlay.dark-theme[data-v-a2001a7e]{background:#000}.theme-overlay[data-v-a2001a7e]:not(.dark-theme){background:#fff}.gradient-background[data-v-a2001a7e]{z-index:2;opacity:0;transition:opacity .6s var(--ease-standard)}.gradient-background.hidden[data-v-a2001a7e]{opacity:0!important}.blur-gradient[data-v-a2001a7e]{position:absolute;border-radius:50%;will-change:transform,opacity;filter:blur(60px)}.blur-gradient.gradient-1[data-v-a2001a7e]{width:450px;height:450px;background:radial-gradient(circle,rgba(139,92,246,.25) 0%,rgba(139,92,246,.15) 40%,rgba(139,92,246,.08) 60%,transparent 80%);top:8%;left:12%;animation:float1-a2001a7e 2.5s ease-in-out infinite,breathe 1.2s ease-in-out infinite 0s,tassel 3s ease-in-out infinite;will-change:transform,opacity,filter}.blur-gradient.gradient-2[data-v-a2001a7e]{width:380px;height:380px;background:radial-gradient(circle,rgba(167,139,250,.22) 0%,rgba(167,139,250,.13) 40%,rgba(167,139,250,.06) 60%,transparent 80%);bottom:15%;right:10%;animation:float2-a2001a7e 3s ease-in-out infinite,breathe 1.3s ease-in-out infinite .15s,tasselReverse 3.2s ease-in-out infinite;will-change:transform,opacity,filter}.blur-gradient.gradient-3[data-v-a2001a7e]{width:420px;height:420px;background:radial-gradient(circle,rgba(124,58,237,.24) 0%,rgba(124,58,237,.14) 40%,rgba(124,58,237,.07) 60%,transparent 80%);top:50%;left:50%;transform:translate(-50%,-50%);animation:floatCenter-a2001a7e 2.8s ease-in-out infinite,breathe 1.25s ease-in-out infinite .3s,tasselCenter 3.5s ease-in-out infinite;will-change:transform,opacity,filter}.blur-gradient.gradient-4[data-v-a2001a7e]{width:360px;height:360px;background:radial-gradient(circle,rgba(168,85,247,.23) 0%,rgba(168,85,247,.13) 40%,rgba(168,85,247,.06) 60%,transparent 80%);top:25%;right:20%;animation:float1-a2001a7e 2.6s ease-in-out infinite,breathe 1.15s ease-in-out infinite .2s,tassel 3.3s ease-in-out infinite;will-change:transform,opacity,filter}.blur-gradient.gradient-5[data-v-a2001a7e]{width:400px;height:400px;background:radial-gradient(circle,rgba(192,132,252,.21) 0%,rgba(192,132,252,.12) 40%,rgba(192,132,252,.05) 60%,transparent 80%);bottom:10%;left:25%;animation:float2-a2001a7e 2.9s ease-in-out infinite,breathe 1.2s ease-in-out infinite .25s,tasselReverse 3.4s ease-in-out infinite;will-change:transform,opacity,filter}.blur-gradient.gradient-6[data-v-a2001a7e]{width:340px;height:340px;background:radial-gradient(circle,rgba(232,121,249,.22) 0%,rgba(232,121,249,.13) 40%,rgba(232,121,249,.06) 60%,transparent 80%);top:70%;right:30%;animation:float1-a2001a7e 2.7s ease-in-out infinite,breathe 1.18s ease-in-out infinite .1s,tassel 3.1s ease-in-out infinite;will-change:transform,opacity,filter}.blur-gradient.gradient-7[data-v-a2001a7e]{width:390px;height:390px;background:radial-gradient(circle,rgba(139,92,246,.23) 0%,rgba(139,92,246,.14) 40%,rgba(139,92,246,.07) 60%,transparent 80%);bottom:30%;left:50%;animation:float2-a2001a7e 3.1s ease-in-out infinite,breathe 1.22s ease-in-out infinite .3s,tasselReverse 3.6s ease-in-out infinite;will-change:transform,opacity,filter}.blur-gradient.gradient-8[data-v-a2001a7e]{width:370px;height:370px;background:radial-gradient(circle,rgba(167,139,250,.24) 0%,rgba(167,139,250,.15) 40%,rgba(167,139,250,.08) 60%,transparent 80%);top:15%;left:70%;animation:float1-a2001a7e 2.8s ease-in-out infinite,breathe 1.2s ease-in-out infinite .15s,tassel 3.2s ease-in-out infinite;will-change:transform,opacity,filter}.glass-layer[data-v-a2001a7e]{position:absolute;width:100%;height:100%;background:linear-gradient(135deg,#ffffff0d,#ffffff05,#ffffff03);z-index:3;opacity:0;transition:opacity 1s ease}.splash-content[data-v-a2001a7e]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10;text-align:center;display:flex;flex-direction:column;align-items:center;gap:2rem}.text-mask[data-v-a2001a7e]{padding:40px;margin:-40px}.author-name[data-v-a2001a7e]{font-size:4.5rem;font-weight:900;background:linear-gradient(135deg,#fffffff2,#ffffffb3);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0;opacity:0;transform:translateY(50px);filter:blur(10px);transition:all .7s var(--ease-reveal);text-shadow:0 0 40px rgba(255,255,255,.3),0 0 60px rgba(255,255,255,.2),0 0 80px rgba(255,255,255,.1);letter-spacing:-.02em;white-space:nowrap}.author-name.reveal[data-v-a2001a7e]{opacity:1;transform:translateY(0);filter:blur(0px)}.subtitle[data-v-a2001a7e]{font-size:1.8rem;color:#fffc;margin:0;display:flex;gap:1.5rem;font-weight:300;letter-spacing:.3em;opacity:0;transform:translateY(20px);transition:all .5s var(--ease-reveal)}.subtitle.reveal[data-v-a2001a7e]{opacity:1;transform:translateY(0)}.word[data-v-a2001a7e]{display:inline-block;opacity:0;transform:translateY(10px);transition:all .5s var(--ease-reveal)}.subtitle.reveal .word[data-v-a2001a7e]:nth-child(1){opacity:1;transform:translateY(0);transition-delay:.1s}.subtitle.reveal .word[data-v-a2001a7e]:nth-child(2){opacity:1;transform:translateY(0);transition-delay:.3s}@keyframes float1-a2001a7e{0%,to{transform:translate(0) scale(1)}25%{transform:translate(20px,-20px) scale(1.08)}50%{transform:translate(30px,-30px) scale(1.15)}75%{transform:translate(20px,-20px) scale(1.08)}}@keyframes float2-a2001a7e{0%,to{transform:translate(0) scale(1)}25%{transform:translate(-20px,20px) scale(1.08)}50%{transform:translate(-30px,30px) scale(1.15)}75%{transform:translate(-20px,20px) scale(1.08)}}@keyframes floatCenter-a2001a7e{0%,to{transform:translate(-50%,-50%) translate(0) scale(1)}25%{transform:translate(-50%,-50%) translate(15px,-15px) scale(1.08)}50%{transform:translate(-50%,-50%) translate(30px,-30px) scale(1.15)}75%{transform:translate(-50%,-50%) translate(15px,-15px) scale(1.08)}}.yuanshen-logo[data-v-a2001a7e]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:25;width:365px;height:280px;opacity:0;transition:opacity .8s var(--ease-standard);color:#000}[data-theme=dark] .yuanshen-logo[data-v-a2001a7e]{color:#fff}.yuanshen-logo.reveal[data-v-a2001a7e]{opacity:1}.yuanshen-logo.fadeout[data-v-a2001a7e]{opacity:0}.yuanshen-logo svg[data-v-a2001a7e]{width:100%;height:100%;display:block}.yuanshen-svg[data-v-a2001a7e]{stroke-miterlimit:10;fill-rule:nonzero;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round}.yuanshen-loading-progress[data-v-a2001a7e]{position:absolute;bottom:80px;left:50%;transform:translate(-50%);z-index:26;width:300px;opacity:0;transition:opacity .8s var(--ease-standard)}.yuanshen-loading-progress.reveal[data-v-a2001a7e]{opacity:1}.yuanshen-loading-progress.fadeout[data-v-a2001a7e]{opacity:0}.yuanshen-loading-progress .apple-progress-bar[data-v-a2001a7e]{width:100%;height:4px;background:#8080804d;border-radius:2px;overflow:hidden;position:relative}[data-theme=dark] .yuanshen-loading-progress .apple-progress-bar[data-v-a2001a7e]{background:#80808066}.yuanshen-loading-progress .apple-progress-bar .apple-progress-fill[data-v-a2001a7e]{height:100%;background:#fff;border-radius:2px;transition:width .2s cubic-bezier(.4,0,.2,1);position:relative}.hidden[data-v-a2001a7e]{opacity:0;transition:opacity .6s var(--ease-standard)}.confirm-dialog-overlay[data-v-06d5569c]{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-lg)}.confirm-dialog[data-v-06d5569c]{background:var(--bg-card);border-radius:var(--radius-xl);padding:var(--spacing-xl);max-width:480px;width:100%;box-shadow:var(--shadow-lg);position:relative}.confirm-dialog[data-v-06d5569c]:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;border-radius:var(--radius-xl) var(--radius-xl) 0 0}.confirm-dialog.type-info[data-v-06d5569c]:before{background:var(--info-color)}.confirm-dialog.type-warning[data-v-06d5569c]:before{background:var(--warning-color)}.confirm-dialog.type-danger[data-v-06d5569c]:before{background:var(--error-color)}.dialog-icon[data-v-06d5569c]{display:flex;justify-content:center;margin-bottom:var(--spacing-md);font-size:48px}.dialog-icon[data-v-06d5569c] span{display:block}.type-info .dialog-icon[data-v-06d5569c]{color:var(--info-color)}.type-warning .dialog-icon[data-v-06d5569c]{color:var(--warning-color)}.type-danger .dialog-icon[data-v-06d5569c]{color:var(--error-color)}.dialog-title[data-v-06d5569c]{font-size:1.5rem;font-weight:600;color:var(--text-primary);text-align:center;margin-bottom:var(--spacing-md)}.dialog-message[data-v-06d5569c]{font-size:1rem;color:var(--text-secondary);text-align:center;line-height:1.6;margin-bottom:var(--spacing-xl)}.dialog-actions[data-v-06d5569c]{display:flex;gap:var(--spacing-md);justify-content:flex-end}.dialog-actions .btn[data-v-06d5569c]{min-width:100px;padding:var(--spacing-sm) var(--spacing-lg)}.fade-enter-active[data-v-06d5569c],.fade-leave-active[data-v-06d5569c]{transition:opacity .2s ease}.fade-enter-from[data-v-06d5569c],.fade-leave-to[data-v-06d5569c]{opacity:0}.fade-enter-active .confirm-dialog[data-v-06d5569c],.fade-leave-active .confirm-dialog[data-v-06d5569c]{transition:transform .2s ease,opacity .2s ease}.fade-enter-from .confirm-dialog[data-v-06d5569c],.fade-leave-to .confirm-dialog[data-v-06d5569c]{transform:scale(.95) translateY(-10px);opacity:0}@media (max-width: 480px){.confirm-dialog[data-v-06d5569c]{padding:var(--spacing-lg)}.dialog-actions[data-v-06d5569c]{flex-direction:column}.dialog-actions .btn[data-v-06d5569c]{width:100%}}.toast-container[data-v-304cabf2]{position:fixed;top:var(--spacing-lg);right:var(--spacing-lg);z-index:10000;display:flex;flex-direction:column;gap:var(--spacing-sm);pointer-events:none}.toast[data-v-304cabf2]{display:flex;align-items:center;justify-content:space-between;min-width:300px;max-width:500px;padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);box-shadow:0 4px 12px #00000026;background:var(--bg-secondary);border:1px solid var(--border-light);pointer-events:auto;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:slideInRight-304cabf2 .3s ease-out}.toast .toast-content[data-v-304cabf2]{display:flex;align-items:center;gap:var(--spacing-sm);flex:1}.toast .toast-content .toast-icon[data-v-304cabf2]{font-size:1.2rem;flex-shrink:0}.toast .toast-content .toast-message[data-v-304cabf2]{font-size:.95rem;line-height:1.4;color:var(--text-primary)}.toast .toast-close[data-v-304cabf2]{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:all .2s;margin-left:var(--spacing-sm);flex-shrink:0}.toast .toast-close[data-v-304cabf2]:hover{background:var(--bg-hover);color:var(--text-primary)}.toast .toast-close IconifyIcon[data-v-304cabf2]{font-size:1rem}.toast.toast-success[data-v-304cabf2]{background:linear-gradient(135deg,#22c55e1a,#16a34a0d);border-color:#22c55e4d}.toast.toast-success .toast-icon[data-v-304cabf2]{color:var(--success-color)}.toast.toast-error[data-v-304cabf2]{background:linear-gradient(135deg,#ef44441a,#dc26260d);border-color:#ef44444d}.toast.toast-error .toast-icon[data-v-304cabf2]{color:var(--error-color)}.toast.toast-info[data-v-304cabf2]{background:linear-gradient(135deg,#3b82f61a,#2563eb0d);border-color:#3b82f64d}.toast.toast-info .toast-icon[data-v-304cabf2]{color:var(--primary-color)}.toast.toast-warning[data-v-304cabf2]{background:linear-gradient(135deg,#fbbf241a,#f59e0b0d);border-color:#fbbf244d}.toast.toast-warning .toast-icon[data-v-304cabf2]{color:var(--warning-color)}@keyframes slideInRight-304cabf2{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.toast-enter-active[data-v-304cabf2]{transition:all .3s ease-out}.toast-leave-active[data-v-304cabf2]{transition:all .3s ease-in}.toast-enter-from[data-v-304cabf2],.toast-leave-to[data-v-304cabf2]{transform:translate(100%);opacity:0}.toast-move[data-v-304cabf2]{transition:transform .3s ease}@media (max-width: 768px){.toast-container[data-v-304cabf2]{top:var(--spacing-md);right:var(--spacing-md);left:var(--spacing-md)}.toast[data-v-304cabf2]{min-width:auto;max-width:100%}}.setup-wizard[data-v-e30f1f17]{position:fixed;top:0;left:0;width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;background:#0a0a0a;overflow:hidden}.white-overlay[data-v-e30f1f17]{position:absolute;width:100%;height:100%;background:#fff;z-index:5;opacity:1;transition:opacity 1.8s cubic-bezier(.4,0,.2,1);pointer-events:none}.white-overlay.fade-out[data-v-e30f1f17]{opacity:0}.starfield-layer[data-v-e30f1f17]{position:absolute;width:100%;height:100%;background-image:radial-gradient(2px 2px at 30% 40%,rgba(255,255,255,.4),transparent),radial-gradient(2px 2px at 70% 60%,rgba(255,255,255,.3),transparent),radial-gradient(1px 1px at 50% 50%,rgba(255,255,255,.35),transparent);background-size:100% 100%;filter:blur(.5px);opacity:0;transition:opacity 2s ease .5s;z-index:2}.starfield-layer.visible[data-v-e30f1f17]{opacity:.4}.glass-blur-layer[data-v-e30f1f17]{position:absolute;width:100%;height:100%;backdrop-filter:blur(80px);-webkit-backdrop-filter:blur(80px);opacity:0;pointer-events:none;z-index:3;will-change:opacity;transition:opacity 2s ease .8s}.glass-blur-layer.visible[data-v-e30f1f17]{opacity:1}@keyframes starDrift-e30f1f17{0%{background-position:0% 0%}to{background-position:100% 100%}}.wizard-background[data-v-e30f1f17]{position:absolute;width:100%;height:100%;overflow:hidden;z-index:1}.gradient-orb[data-v-e30f1f17]{position:absolute;border-radius:50%;will-change:transform,opacity}.gradient-orb.orb-1[data-v-e30f1f17]{width:550px;height:550px;background:radial-gradient(circle,#a855f759,#7c3aed40);top:5%;left:5%;animation:float 15s ease-in-out infinite normal,breatheSimple 6s ease-in-out infinite 0s}.gradient-orb.orb-2[data-v-e30f1f17]{width:520px;height:520px;background:radial-gradient(circle,#c084fc52,#a855f738);bottom:10%;right:8%;animation:float 18s ease-in-out infinite reverse,breatheSimple 7s ease-in-out infinite .5s}.gradient-orb.orb-3[data-v-e30f1f17]{width:480px;height:480px;background:radial-gradient(circle,#e879f94d,#c084fc33);top:50%;left:50%;transform:translate(-50%,-50%);animation:floatCenter 20s ease-in-out infinite,breatheSimple 8s ease-in-out infinite 1s}.gradient-orb.orb-4[data-v-e30f1f17]{width:500px;height:500px;background:radial-gradient(circle,#3b82f654,#2563eb3b);top:55%;right:25%;animation:float 16s ease-in-out infinite normal,breatheSimple 6.5s ease-in-out infinite .3s}.gradient-orb.orb-5[data-v-e30f1f17]{width:460px;height:460px;background:radial-gradient(circle,#f472b64f,#ec489936);bottom:5%;left:20%;animation:float 17s ease-in-out infinite reverse,breatheSimple 7.5s ease-in-out infinite .7s}.gradient-orb.orb-6[data-v-e30f1f17]{width:490px;height:490px;background:radial-gradient(circle,#34d39952,#10b98138);top:15%;right:5%;animation:float 19s ease-in-out infinite normal,breatheSimple 6.8s ease-in-out infinite 1.2s}.gradient-orb.orb-7[data-v-e30f1f17]{width:440px;height:440px;background:radial-gradient(circle,#fb923c4d,#f9731633);top:30%;left:15%;animation:float 14s ease-in-out infinite normal,breatheSimple 5.5s ease-in-out infinite 1.5s}.gradient-orb.orb-8[data-v-e30f1f17]{width:470px;height:470px;background:radial-gradient(circle,#38bdf84f,#0ea5e936);bottom:25%;right:35%;animation:float 21s ease-in-out infinite reverse,breatheSimple 6.2s ease-in-out infinite .8s}.gradient-orb.orb-9[data-v-e30f1f17]{width:510px;height:510px;background:radial-gradient(circle,#a78bfa54,#8b5cf63b);top:70%;left:40%;animation:float 22s ease-in-out infinite normal,breatheSimple 7.8s ease-in-out infinite 1.8s}.gradient-orb.orb-10[data-v-e30f1f17]{width:450px;height:450px;background:radial-gradient(circle,#f871714d,#ef444433);top:40%;right:50%;animation:float 13s ease-in-out infinite reverse,breatheSimple 5.8s ease-in-out infinite .4s}.gradient-orb.orb-11[data-v-e30f1f17]{width:530px;height:530px;background:radial-gradient(circle,#86efac52,#4ade8038);bottom:35%;left:8%;animation:float 23s ease-in-out infinite normal,breatheSimple 8.2s ease-in-out infinite 2s}.gradient-orb.orb-12[data-v-e30f1f17]{width:420px;height:420px;background:radial-gradient(circle,#fdba744a,#fb923c30);top:8%;left:45%;animation:float 16.5s ease-in-out infinite reverse,breatheSimple 6.3s ease-in-out infinite 1.1s}.gradient-orb.orb-13[data-v-e30f1f17]{width:495px;height:495px;background:radial-gradient(circle,#c4b5fd4f,#a78bfa36);bottom:50%;right:12%;animation:float 19.5s ease-in-out infinite normal,breatheSimple 7.2s ease-in-out infinite .9s}.gradient-orb.orb-14[data-v-e30f1f17]{width:465px;height:465px;background:radial-gradient(circle,#fbcfe847,#f472b62e);top:25%;left:70%;animation:float 14.5s ease-in-out infinite reverse,breatheSimple 5.7s ease-in-out infinite 1.4s}.gradient-orb.orb-15[data-v-e30f1f17]{width:505px;height:505px;background:radial-gradient(circle,#2dd4bf52,#14b8a638);bottom:15%;right:55%;animation:float 24s ease-in-out infinite normal,breatheSimple 8.5s ease-in-out infinite 2.2s}.wizard-card[data-v-e30f1f17]{position:relative;z-index:10;background:linear-gradient(135deg,#14141499,#0a0a0a80,#1414148c);border-radius:24px;padding:3.5rem;max-width:620px;width:90%;box-shadow:0 20px 60px #0006,0 0 0 1px #fff3,inset 0 1px #ffffff26,inset 0 -1px #ffffff0d;border:1px solid rgba(255,255,255,.2);animation:cardSlideIn .8s cubic-bezier(.16,1,.3,1) forwards;will-change:opacity}.wizard-card[data-v-e30f1f17]:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);border-radius:24px 24px 0 0}.wizard-header[data-v-e30f1f17]{text-align:center;margin-bottom:2rem}.logo-container[data-v-e30f1f17]{margin-bottom:1rem}.logo-icon[data-v-e30f1f17]{font-size:3.5rem;color:var(--primary-color, #667eea)}.wizard-title[data-v-e30f1f17]{font-size:2.2rem;font-weight:800;margin:.5rem 0;background:linear-gradient(135deg,#fffffff2,#ffffffb3);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.01em}.wizard-subtitle[data-v-e30f1f17]{color:#fff9;margin:0;font-weight:300;letter-spacing:.05em}.steps-indicator[data-v-e30f1f17]{display:flex;align-items:center;justify-content:center;margin:2rem 0;gap:1rem}.step[data-v-e30f1f17]{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:#fff6;transition:all .3s}.step.active[data-v-e30f1f17]{color:#ffffffe6}.step.active .step-circle[data-v-e30f1f17]{background:linear-gradient(135deg,#8b5cf6,#6b46c1);color:#fff;box-shadow:0 4px 15px #8b5cf64d}.step-circle[data-v-e30f1f17]{width:44px;height:44px;border-radius:50%;background:#ffffff14;display:flex;align-items:center;justify-content:center;font-weight:600;transition:all .3s;border:1px solid rgba(255,255,255,.1)}.step-line[data-v-e30f1f17]{width:60px;height:2px;background:#ffffff1a}.wizard-content[data-v-e30f1f17]{min-height:300px}.setting-group[data-v-e30f1f17]{margin-bottom:2rem}.setting-label[data-v-e30f1f17]{display:flex;align-items:center;gap:.5rem;font-weight:600;color:#ffffffe6;margin-bottom:.75rem}.path-input-group[data-v-e30f1f17]{display:flex;gap:.5rem}.path-input[data-v-e30f1f17]{flex:1;padding:.75rem 1rem;border:2px solid rgba(255,255,255,.1);background:#ffffff0d;color:#ffffffe6;border-radius:8px;font-size:1rem;transition:all .3s}.path-input[data-v-e30f1f17]:focus{outline:none;border-color:#8b5cf6;background:#ffffff14;box-shadow:0 0 0 3px #8b5cf61a}.path-input[data-v-e30f1f17]::placeholder{color:#ffffff4d}.browse-btn[data-v-e30f1f17]{padding:.75rem 1.5rem;background:var(--primary-color, #667eea);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:background .3s}.browse-btn[data-v-e30f1f17]:hover{background:var(--primary-hover, #5568d3)}.setting-hint[data-v-e30f1f17]{color:#999;font-size:.875rem;margin:.5rem 0 0}.setting-error[data-v-e30f1f17]{color:#ef4444;font-size:.875rem;margin:.5rem 0 0}.quick-options[data-v-e30f1f17]{margin-top:2rem}.quick-label[data-v-e30f1f17]{font-weight:600;color:#666;margin-bottom:1rem}.quick-option[data-v-e30f1f17]{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;margin:.5rem;background:#f5f5f5;border:2px solid transparent;border-radius:8px;cursor:pointer;transition:all .3s}.quick-option[data-v-e30f1f17]:hover{border-color:var(--primary-color, #667eea);background:#fff}.setting-select[data-v-e30f1f17]{width:100%;padding:.75rem 1rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem}.setting-select[data-v-e30f1f17]:focus{outline:none;border-color:var(--primary-color, #667eea)}.setting-toggle[data-v-e30f1f17]{display:flex;align-items:center;gap:1rem;cursor:pointer}.toggle-slider[data-v-e30f1f17]{position:relative;width:50px;height:26px;background:#ccc;border-radius:26px;transition:background .3s}.toggle-slider[data-v-e30f1f17]:after{content:"";position:absolute;width:22px;height:22px;background:#fff;border-radius:50%;top:2px;left:2px;transition:transform .3s}input:checked+.toggle-slider[data-v-e30f1f17]{background:var(--primary-color, #667eea)}input:checked+.toggle-slider[data-v-e30f1f17]:after{transform:translate(24px)}.toggle-label[data-v-e30f1f17]{display:flex;align-items:center;gap:.5rem;font-weight:500}.wizard-actions[data-v-e30f1f17]{display:flex;justify-content:space-between;gap:1rem;margin-top:2rem}.btn[data-v-e30f1f17]{display:flex;align-items:center;gap:.5rem;padding:1rem 2rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s}.btn[data-v-e30f1f17]:disabled{opacity:.5;cursor:not-allowed}.btn-secondary[data-v-e30f1f17]{background:#f5f5f5;color:#333}.btn-secondary[data-v-e30f1f17]:hover:not(:disabled){background:#e0e0e0}.btn-primary[data-v-e30f1f17]{background:var(--primary-color, #667eea);color:#fff}.btn-primary[data-v-e30f1f17]:hover:not(:disabled){background:var(--primary-hover, #5568d3)}.btn-finish[data-v-e30f1f17]{background:linear-gradient(135deg,#43e97b,#38f9d7);color:#fff}.btn-finish[data-v-e30f1f17]:hover:not(:disabled){transform:scale(1.05)}.error-page[data-v-97516c7f]{position:fixed;top:0;left:0;width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;background:#0a0a0a;overflow-y:auto;overflow-x:hidden;padding:2rem 0;z-index:10000}.error-page.light-theme[data-v-97516c7f]{background:#f5f5f5}.error-page.light-theme .error-title[data-v-97516c7f]{background:none!important;-webkit-background-clip:unset!important;-webkit-text-fill-color:#ef4444!important;background-clip:unset!important;color:#ef4444!important}.error-page.light-theme .error-description[data-v-97516c7f]{color:#000000b3}.error-page.light-theme .error-card[data-v-97516c7f]{background:#ffffff59;backdrop-filter:blur(60px);-webkit-backdrop-filter:blur(60px);opacity:1;pointer-events:auto;box-shadow:0 20px 60px #0000001a,0 0 0 1px #00000014;border:1px solid rgba(0,0,0,.15)}.error-page.light-theme .error-details[data-v-97516c7f]{background:#ef44440d;border:1px solid rgba(239,68,68,.15)}.error-page.light-theme .detail-label[data-v-97516c7f]{color:#ef4444e6}.error-page.light-theme .detail-value[data-v-97516c7f]{color:#000c}.error-page.light-theme .retry-button[data-v-97516c7f]{box-shadow:0 8px 20px #ef444433}.error-page.light-theme .retry-button[data-v-97516c7f]:hover{box-shadow:0 12px 30px #ef44444d}.error-page.light-theme .tech-toggle[data-v-97516c7f]{color:#00000080}.error-page.light-theme .tech-toggle[data-v-97516c7f]:hover{color:#000c;background:#0000000d}.error-page.light-theme .tech-content[data-v-97516c7f]{background:#0000000d}.error-page.light-theme .tech-label[data-v-97516c7f]{color:#00000080}.error-page.light-theme .tech-value[data-v-97516c7f]{color:#000000e6;background:#0000000d}.error-page.light-theme .gradient-orb.orb-1[data-v-97516c7f]{background:radial-gradient(circle,rgba(239,68,68,.08) 0%,rgba(239,68,68,.05) 30%,transparent 70%)}.error-page.light-theme .gradient-orb.orb-2[data-v-97516c7f]{background:radial-gradient(circle,rgba(251,146,60,.08) 0%,rgba(251,146,60,.05) 30%,transparent 70%)}.error-page.light-theme .gradient-orb.orb-3[data-v-97516c7f]{background:radial-gradient(circle,rgba(139,92,246,.06) 0%,rgba(139,92,246,.04) 30%,transparent 70%)}.error-page.light-theme .gradient-orb.orb-4[data-v-97516c7f]{background:radial-gradient(circle,rgba(236,72,153,.07) 0%,rgba(236,72,153,.04) 30%,transparent 70%)}.error-page.light-theme .gradient-orb.orb-5[data-v-97516c7f]{background:radial-gradient(circle,rgba(14,165,233,.07) 0%,rgba(14,165,233,.04) 30%,transparent 70%)}.error-page.light-theme .gradient-orb.orb-6[data-v-97516c7f]{background:radial-gradient(circle,rgba(249,115,22,.07) 0%,rgba(249,115,22,.04) 30%,transparent 70%)}.background-layer[data-v-97516c7f]{position:absolute;width:100%;height:100%;overflow:hidden;z-index:1;pointer-events:none}.gradient-orb[data-v-97516c7f]{position:absolute;border-radius:50%;filter:blur(50px);will-change:transform,opacity}.gradient-orb.orb-1[data-v-97516c7f]{width:550px;height:550px;background:radial-gradient(circle,rgba(239,68,68,.5) 0%,rgba(239,68,68,.25) 30%,transparent 70%);top:30%;left:25%;animation:float 15s ease-in-out infinite,breatheSimple 6s ease-in-out infinite}.gradient-orb.orb-2[data-v-97516c7f]{width:500px;height:500px;background:radial-gradient(circle,rgba(251,146,60,.45) 0%,rgba(251,146,60,.22) 30%,transparent 70%);bottom:25%;right:20%;animation:float 18s ease-in-out infinite reverse,breatheSimple 7s ease-in-out infinite .5s}.gradient-orb.orb-3[data-v-97516c7f]{width:480px;height:480px;background:radial-gradient(circle,rgba(139,92,246,.45) 0%,rgba(139,92,246,.22) 30%,transparent 70%);top:20%;left:50%;margin-left:-240px;animation:float 20s ease-in-out infinite,breatheSimple 8s ease-in-out infinite 1s}.gradient-orb.orb-4[data-v-97516c7f]{width:520px;height:520px;background:radial-gradient(circle,rgba(236,72,153,.42) 0%,rgba(236,72,153,.21) 30%,transparent 70%);top:35%;right:25%;animation:float 16s ease-in-out infinite reverse,breatheSimple 6.5s ease-in-out infinite .3s}.gradient-orb.orb-5[data-v-97516c7f]{width:460px;height:460px;background:radial-gradient(circle,rgba(14,165,233,.4) 0%,rgba(14,165,233,.2) 30%,transparent 70%);bottom:30%;left:30%;animation:float 17s ease-in-out infinite,breatheSimple 7.5s ease-in-out infinite .7s}.gradient-orb.orb-6[data-v-97516c7f]{width:440px;height:440px;background:radial-gradient(circle,rgba(249,115,22,.42) 0%,rgba(249,115,22,.21) 30%,transparent 70%);bottom:20%;left:50%;margin-left:-220px;animation:float 19s ease-in-out infinite reverse,breatheSimple 6.8s ease-in-out infinite 1.2s}.blur-layer[data-v-97516c7f]{position:absolute;width:100%;height:100%;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.08) 0%,rgba(255,255,255,.04) 40%,rgba(255,255,255,.01) 70%,transparent 100%);opacity:.6;z-index:3;will-change:opacity;pointer-events:none}.starfield-layer[data-v-97516c7f]{position:absolute;width:100%;height:100%;background-image:radial-gradient(2px 2px at 30% 40%,rgba(255,255,255,.4),transparent),radial-gradient(2px 2px at 70% 60%,rgba(255,255,255,.3),transparent),radial-gradient(1px 1px at 50% 50%,rgba(255,255,255,.35),transparent);background-size:100% 100%;opacity:.4;z-index:2}.error-card[data-v-97516c7f]{position:relative;z-index:10;background:#0a0a0a4d;backdrop-filter:blur(60px);-webkit-backdrop-filter:blur(60px);opacity:1;pointer-events:auto;border-radius:32px;padding:4rem;max-width:700px;width:90%;margin:auto;box-shadow:0 20px 60px #0009,0 0 0 1px #ffffff14;border:1px solid rgba(255,255,255,.15);text-align:center;animation:cardSlideIn .8s cubic-bezier(.16,1,.3,1) forwards,cardGlow-97516c7f 4s ease-in-out infinite;min-height:fit-content}@keyframes cardGlow-97516c7f{0%,to{box-shadow:0 20px 60px #0009,0 0 0 1px #ffffff14,0 0 40px #ef44441a}50%{box-shadow:0 20px 60px #0009,0 0 0 1px #ffffff1f,0 0 60px #ef444440}}.error-icon-container[data-v-97516c7f]{margin-bottom:2rem;animation:iconPulse-97516c7f 2s ease-in-out infinite,iconGlow-97516c7f 3s ease-in-out infinite}@keyframes iconPulse-97516c7f{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.08);opacity:.85}}@keyframes iconGlow-97516c7f{0%,to{filter:drop-shadow(0 0 20px rgba(239,68,68,.5))}50%{filter:drop-shadow(0 0 40px rgba(239,68,68,.8))}}.error-icon[data-v-97516c7f]{font-size:6rem;color:#ef4444;filter:drop-shadow(0 0 20px rgba(239,68,68,.5))}.error-title[data-v-97516c7f]{font-size:2.5rem;font-weight:800;margin:0 0 1rem;background:linear-gradient(135deg,#ef4444,#fb923c);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.error-description[data-v-97516c7f]{font-size:1.2rem;color:#ffffffb3;margin:0 0 2rem;font-weight:400;line-height:1.6}.error-details[data-v-97516c7f]{background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:12px;padding:1.5rem;margin-bottom:2rem;text-align:left}.detail-item[data-v-97516c7f]{display:flex;gap:.5rem;align-items:flex-start;color:#ffffffe6}.detail-label[data-v-97516c7f]{font-weight:600;color:#ef4444e6;min-width:100px}.detail-value[data-v-97516c7f]{color:#fffc;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;font-size:.95rem}.detail-status[data-v-97516c7f]{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}.status-badge[data-v-97516c7f]{display:inline-block;padding:.25rem .75rem;border-radius:6px;font-weight:600;background:#ef444433;border:1px solid rgba(239,68,68,.3)}.status-badge.status-5xx[data-v-97516c7f]{background:#ef44444d;border-color:#ef444480;color:#ef4444}.retry-button[data-v-97516c7f]{display:inline-flex;align-items:center;gap:.75rem;padding:1.25rem 3rem;background:linear-gradient(135deg,#ef4444,#f97316);color:#fff;border:none;border-radius:16px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 20px #ef44444d;margin-bottom:1.5rem}.retry-button[data-v-97516c7f]:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 12px 30px #ef444466;background:linear-gradient(135deg,#dc2626,#ea580c)}.retry-button[data-v-97516c7f]:active{transform:translateY(0) scale(.98);box-shadow:0 4px 10px #ef44444d}.retry-button .retry-icon[data-v-97516c7f]{font-size:1.2rem;animation:rotate-97516c7f 2s linear infinite paused}.retry-button .retry-icon[data-v-97516c7f]:hover{animation-play-state:running}@keyframes rotate-97516c7f{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tech-details[data-v-97516c7f]{margin-top:2rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1)}.tech-toggle[data-v-97516c7f]{background:transparent;border:none;color:#ffffff80;cursor:pointer;font-size:.95rem;display:flex;align-items:center;gap:.5rem;margin:0 auto;padding:.5rem 1rem;border-radius:8px;transition:all .3s}.tech-toggle[data-v-97516c7f]:hover{color:#fffc;background:#ffffff0d}.tech-toggle .toggle-icon[data-v-97516c7f]{font-size:1rem;transition:transform .3s}.tech-content[data-v-97516c7f]{margin-top:1.5rem;text-align:left;background:#0000004d;border-radius:12px;padding:1.5rem;animation:slideDown-97516c7f .3s ease-out;word-break:break-all;overflow-wrap:break-word}@keyframes slideDown-97516c7f{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.tech-item[data-v-97516c7f]{display:flex;gap:.75rem;margin-bottom:1rem;font-size:.9rem}.tech-item[data-v-97516c7f]:last-child{margin-bottom:0}.tech-label[data-v-97516c7f]{color:#ffffff80;font-weight:500;min-width:100px}.tech-value[data-v-97516c7f]{color:#ffffffe6;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;background:#ffffff0d;padding:.25rem .75rem;border-radius:6px;font-size:.85rem}.gpu-badge[data-v-730d2ac5]{position:fixed;top:100px;right:0;z-index:99999;pointer-events:none;filter:blur(8px);will-change:transform,opacity,filter;transform:translate3d(100%,0,0) scale(.8) rotateY(15deg);opacity:0;transition:opacity .6s ease,transform .6s ease,filter .6s ease}.gpu-badge.visible[data-v-730d2ac5]{opacity:1;transform:translateZ(0) scale(2) rotateY(0);filter:blur(0px);will-change:transform,opacity,filter;animation:badgeEnter-730d2ac5 .8s cubic-bezier(.34,1.56,.64,1) forwards}.gpu-badge.fading[data-v-730d2ac5]{animation:badgeExit-730d2ac5 .8s cubic-bezier(.25,.46,.45,.94) forwards}.gpu-badge-content[data-v-730d2ac5]{background:#000000d9;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:0;padding:24px 30px;display:flex;align-items:center;gap:12px;min-width:260px;justify-content:flex-start;border:none;position:relative;overflow:hidden}.gpu-badge-content[data-v-730d2ac5]:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);animation:shimmer-730d2ac5 2s ease-in-out infinite}.gpu-badge-content.nvidia[data-v-730d2ac5]{box-shadow:0 0 30px #76b9004d}.gpu-badge-content.amd[data-v-730d2ac5]{box-shadow:0 0 30px #ed1c244d}.gpu-badge-content.intel[data-v-730d2ac5]{box-shadow:0 0 30px #0071c54d}.brand-mini[data-v-730d2ac5]{display:flex;align-items:center;gap:10px;color:currentColor}.morphing-logo[data-v-730d2ac5]{width:56px;height:34px;position:relative}.logo-group[data-v-730d2ac5]{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;transform:scale(.75) rotate(-8deg) translate(-5px);transition:opacity .7s cubic-bezier(.25,.46,.45,.94),transform .7s cubic-bezier(.25,.46,.45,.94),filter .7s ease;filter:blur(4px);pointer-events:none}.logo-group.active[data-v-730d2ac5]{opacity:1;transform:scale(1) rotate(0) translate(0);filter:blur(0px);pointer-events:auto;transition-delay:.1s}.morph-path[data-v-730d2ac5]{stroke:currentColor;fill:none;stroke-width:2.5;stroke-dasharray:300;stroke-dashoffset:300;animation:morphDraw-730d2ac5 1.1s cubic-bezier(.25,.46,.45,.94) forwards}.logo-group.active .morph-path[data-v-730d2ac5]{animation-delay:.2s}.text-morph-container[data-v-730d2ac5]{position:relative;width:180px;height:24px;overflow:hidden}.sub-brand-text[data-v-730d2ac5]{font-size:.85em;opacity:.8;font-weight:500;margin-left:4px}.morph-text[data-v-730d2ac5]{position:absolute;top:0;left:0;font-size:14px;font-weight:700;letter-spacing:1.5px;opacity:0;transform:translate(20px) scale(.9);transition:opacity .6s cubic-bezier(.25,.46,.45,.94),transform .7s cubic-bezier(.25,.46,.45,.94),clip-path .7s cubic-bezier(.25,.46,.45,.94),color .5s ease;color:currentColor}.morph-text.active[data-v-730d2ac5]{opacity:1;transform:translate(0) scale(1);clip-path:polygon(0% 0%,100% 0%,100% 100%,0% 100%);animation:textMorphIn-730d2ac5 .8s cubic-bezier(.25,.46,.45,.94) .15s forwards}.morph-text[data-v-730d2ac5]:not(.active){animation:textMorphOut-730d2ac5 .5s cubic-bezier(.25,.46,.45,.94) forwards}.nvidia .brand-mini[data-v-730d2ac5],.amd .brand-mini[data-v-730d2ac5],.intel .brand-mini[data-v-730d2ac5]{transition:color .5s ease}.nvidia .brand-mini .logo-group.active[data-v-730d2ac5],.nvidia .brand-mini .morph-text.active[data-v-730d2ac5],.amd .brand-mini .logo-group.active[data-v-730d2ac5],.amd .brand-mini .morph-text.active[data-v-730d2ac5],.intel .brand-mini .logo-group.active[data-v-730d2ac5],.intel .brand-mini .morph-text.active[data-v-730d2ac5]{color:inherit}.nvidia .brand-mini[data-v-730d2ac5]{color:#76b900}.amd .brand-mini[data-v-730d2ac5]{color:#ed1c24}.intel .brand-mini[data-v-730d2ac5]{color:#0071c5}@keyframes badgeEnter-730d2ac5{0%{opacity:0;transform:translate3d(100%,0,0) scale(.8) rotateY(15deg);filter:blur(8px)}50%{transform:translate3d(-5%,0,0) scale(2.1) rotateY(-2deg);filter:blur(2px)}to{opacity:1;transform:translateZ(0) scale(2) rotateY(0);filter:blur(0px)}}@keyframes badgeExit-730d2ac5{0%{opacity:1;transform:translateZ(0) scale(2) rotateY(0);filter:blur(0px)}50%{opacity:.6;transform:translate3d(30%,0,0) scale(1.9) rotateY(5deg);filter:blur(4px)}to{opacity:0;transform:translate3d(100%,0,0) scale(1.5) rotateY(10deg);filter:blur(8px)}}@keyframes shimmer-730d2ac5{0%{left:-100%}50%,to{left:100%}}@keyframes morphDraw-730d2ac5{0%{stroke-dashoffset:300;opacity:0}50%{opacity:1}to{stroke-dashoffset:0;opacity:1}}@keyframes textMorphIn-730d2ac5{0%{clip-path:polygon(0% 0%,0% 0%,0% 100%,0% 100%)}to{clip-path:polygon(0% 0%,100% 0%,100% 100%,0% 100%)}}@keyframes textMorphOut-730d2ac5{0%{clip-path:polygon(0% 0%,100% 0%,100% 100%,0% 100%);opacity:1}to{clip-path:polygon(100% 0%,100% 0%,100% 100%,100% 100%);opacity:0}}.app-layout[data-v-8b08b1b4]{display:flex;height:100vh;background:var(--bg-primary)}.sidebar[data-v-8b08b1b4]{width:280px;background:var(--bg-sidebar);backdrop-filter:blur(20px) saturate(120%);-webkit-backdrop-filter:blur(20px) saturate(120%);border-right:1px solid var(--border-light);display:flex;flex-direction:column;padding:var(--spacing-lg);position:relative;overflow:hidden;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s ease;animation:sidebarSlideIn-8b08b1b4 .6s cubic-bezier(.4,0,.2,1);will-change:transform,opacity;transform:translateZ(0)}.sidebar[data-v-8b08b1b4]:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:var(--bg-sidebar);opacity:.6;z-index:-3}.sidebar .border-glow[data-v-8b08b1b4]{position:absolute;top:0;right:0;width:1px;height:100%;background:linear-gradient(180deg,transparent 0%,var(--primary-color) 50%,transparent 100%);opacity:0;transition:opacity .5s ease;z-index:1}.sidebar:hover .border-glow[data-v-8b08b1b4]{opacity:.5;box-shadow:0 0 20px var(--primary-color)}[data-theme=dark] .sidebar[data-v-8b08b1b4]:before{opacity:.65}@media (max-width: 768px){.sidebar[data-v-8b08b1b4]{position:fixed;bottom:0;left:0;right:0;width:100%;height:auto;border-right:none;border-top:1px solid var(--border-light);border-bottom:none;padding:var(--spacing-xs) var(--spacing-sm);z-index:1000;box-shadow:0 -2px 10px #0000001a}.sidebar .sidebar-header[data-v-8b08b1b4],.sidebar .sidebar-footer[data-v-8b08b1b4],.sidebar .background-layer[data-v-8b08b1b4],.sidebar .border-glow[data-v-8b08b1b4]{display:none}}.background-layer[data-v-8b08b1b4]{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;overflow:hidden;z-index:-1;pointer-events:none}.gradient-orb[data-v-8b08b1b4]{position:absolute;border-radius:50%;filter:blur(40px);will-change:transform,opacity;transform:translateZ(0)}.gradient-orb.orb-1[data-v-8b08b1b4]{width:500px;height:500px;background:radial-gradient(circle,rgba(0,122,255,.5) 0%,rgba(0,122,255,.25) 30%,transparent 70%);top:10%;left:-150px;animation:float 35s ease-in-out infinite normal,breatheOrb-8b08b1b4 12s ease-in-out infinite 0s}.gradient-orb.orb-2[data-v-8b08b1b4]{width:480px;height:480px;background:radial-gradient(circle,rgba(52,199,89,.45) 0%,rgba(52,199,89,.22) 30%,transparent 70%);bottom:20%;right:-120px;animation:float 32s ease-in-out infinite reverse,breatheOrb-8b08b1b4 11s ease-in-out infinite .5s}.gradient-orb.orb-3[data-v-8b08b1b4]{width:450px;height:450px;background:radial-gradient(circle,rgba(255,149,0,.4) 0%,rgba(255,149,0,.2) 30%,transparent 70%);top:50%;left:-100px;animation:float 38s ease-in-out infinite normal,breatheOrb-8b08b1b4 13s ease-in-out infinite 1s}.gradient-orb.orb-4[data-v-8b08b1b4]{width:460px;height:460px;background:radial-gradient(circle,rgba(90,200,250,.45) 0%,rgba(90,200,250,.22) 30%,transparent 70%);bottom:10%;left:-80px;animation:float 36s ease-in-out infinite reverse,breatheOrb-8b08b1b4 12.5s ease-in-out infinite 1.5s}[data-theme=light] .gradient-orb.orb-1[data-v-8b08b1b4],:not([data-theme]) .gradient-orb.orb-1[data-v-8b08b1b4]{background:radial-gradient(circle,rgba(0,122,255,.12) 0%,rgba(0,122,255,.06) 30%,transparent 70%)}[data-theme=light] .gradient-orb.orb-2[data-v-8b08b1b4],:not([data-theme]) .gradient-orb.orb-2[data-v-8b08b1b4]{background:radial-gradient(circle,rgba(52,199,89,.1) 0%,rgba(52,199,89,.05) 30%,transparent 70%)}[data-theme=light] .gradient-orb.orb-3[data-v-8b08b1b4],:not([data-theme]) .gradient-orb.orb-3[data-v-8b08b1b4]{background:radial-gradient(circle,rgba(255,149,0,.08) 0%,rgba(255,149,0,.04) 30%,transparent 70%)}[data-theme=light] .gradient-orb.orb-4[data-v-8b08b1b4],:not([data-theme]) .gradient-orb.orb-4[data-v-8b08b1b4]{background:radial-gradient(circle,rgba(90,200,250,.1) 0%,rgba(90,200,250,.05) 30%,transparent 70%)}[data-theme=dark] .gradient-orb.orb-1[data-v-8b08b1b4]{background:radial-gradient(circle,rgba(10,132,255,.5) 0%,rgba(10,132,255,.25) 30%,transparent 70%)}[data-theme=dark] .gradient-orb.orb-2[data-v-8b08b1b4]{background:radial-gradient(circle,rgba(48,209,88,.45) 0%,rgba(48,209,88,.22) 30%,transparent 70%)}[data-theme=dark] .gradient-orb.orb-3[data-v-8b08b1b4]{background:radial-gradient(circle,rgba(255,159,10,.4) 0%,rgba(255,159,10,.2) 30%,transparent 70%)}[data-theme=dark] .gradient-orb.orb-4[data-v-8b08b1b4]{background:radial-gradient(circle,rgba(100,210,255,.45) 0%,rgba(100,210,255,.22) 30%,transparent 70%)}@keyframes sidebarSlideIn-8b08b1b4{0%{opacity:0;transform:translate3d(-20px,0,0)}to{opacity:1;transform:translateZ(0)}}@keyframes breatheOrb-8b08b1b4{0%,to{opacity:.4;transform:translateZ(0) scale(1)}50%{opacity:.7;transform:translateZ(0) scale(1.15)}}@keyframes sidebarSlideDown-8b08b1b4{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes gradientShift-8b08b1b4{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.sidebar-header[data-v-8b08b1b4]{margin-bottom:var(--spacing-xl);text-align:center;position:relative;padding:var(--spacing-md) 0;animation:headerFadeIn-8b08b1b4 .8s cubic-bezier(.4,0,.2,1) .2s both}.sidebar-header[data-v-8b08b1b4]:before{content:"";position:absolute;top:50%;left:50%;transform:translate3d(-50%,-50%,0);width:200px;height:200px;background:radial-gradient(circle,rgba(0,122,255,.15) 0%,transparent 70%);border-radius:50%;opacity:.6;animation:glowPulse-8b08b1b4 3s ease-in-out infinite;z-index:-1;will-change:transform,opacity}.sidebar-header .app-title[data-v-8b08b1b4]{font-size:1.8rem;font-weight:700;background:linear-gradient(135deg,var(--primary-color) 0%,var(--info-color) 50%,var(--success-color) 100%);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--spacing-xs);animation:titleGradient-8b08b1b4 4s ease infinite,titleFadeIn-8b08b1b4 .8s cubic-bezier(.4,0,.2,1) .3s both;letter-spacing:-.02em;position:relative;z-index:1}.sidebar-header .app-subtitle[data-v-8b08b1b4]{color:var(--text-secondary);font-size:.9rem;animation:subtitleBreathe-8b08b1b4 3s ease-in-out infinite,subtitleFadeIn-8b08b1b4 .8s cubic-bezier(.4,0,.2,1) .4s both;opacity:.8}@keyframes headerFadeIn-8b08b1b4{0%{opacity:0;transform:translate3d(0,-10px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes titleGradient-8b08b1b4{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes titleFadeIn-8b08b1b4{0%{opacity:0;transform:translateZ(0) scale(.9)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes subtitleBreathe-8b08b1b4{0%,to{opacity:.8}50%{opacity:1}}@keyframes subtitleFadeIn-8b08b1b4{0%{opacity:0;transform:translate3d(0,5px,0)}to{opacity:.8;transform:translateZ(0)}}@keyframes glowPulse-8b08b1b4{0%,to{opacity:.4;transform:translate3d(-50%,-50%,0) scale(1)}50%{opacity:.8;transform:translate3d(-50%,-50%,0) scale(1.1)}}.sidebar-nav[data-v-8b08b1b4]{flex:1;display:flex;flex-direction:column;gap:var(--spacing-xs);position:relative}.sidebar-nav>div[data-v-8b08b1b4]{display:flex;flex-direction:column;gap:var(--spacing-xs)}.nav-item[data-v-8b08b1b4]{display:flex;align-items:center;padding:var(--spacing-md);border-radius:var(--radius-md);text-decoration:none;color:var(--text-secondary);transition:transform .3s cubic-bezier(.4,0,.2,1),background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease;position:relative;border:1px solid transparent;overflow:hidden;animation:navItemStagger-8b08b1b4 .6s cubic-bezier(.4,0,.2,1) both;animation-delay:var(--delay, 0s);will-change:transform;transform:translateZ(0)}.nav-item[data-v-8b08b1b4]:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);transition:left .5s ease;z-index:0}[data-theme=dark] .nav-item[data-v-8b08b1b4]:after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent)}.nav-item[data-v-8b08b1b4]:hover{background:var(--bg-secondary);color:var(--text-primary);transform:translate3d(6px,0,0);box-shadow:0 4px 12px #007aff26;border-color:#007aff4d}.nav-item[data-v-8b08b1b4]:hover:after{left:100%}[data-theme=dark] .nav-item[data-v-8b08b1b4]:hover{background:#ffffff0d}.nav-item.active[data-v-8b08b1b4]{background:linear-gradient(90deg,var(--primary-light) 0%,rgba(0,122,255,.08) 50%,rgba(0,122,255,.05) 100%);color:var(--primary-color);border-color:#007aff4d;box-shadow:0 4px 16px #007aff33,inset 0 0 20px #007aff1a}.nav-item.active[data-v-8b08b1b4]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--primary-color) 0%,rgba(0,122,255,.8) 50%,var(--primary-color) 100%);border-radius:0 var(--radius-sm) var(--radius-sm) 0;box-shadow:0 0 10px #007aff80;animation:indicatorGlow-8b08b1b4 2s ease-in-out infinite}.nav-item.active[data-v-8b08b1b4]:hover{transform:translate3d(8px,0,0);box-shadow:0 8px 24px #007aff40}[data-theme=dark] .nav-item.active[data-v-8b08b1b4]{background:linear-gradient(90deg,#0a84ff33,#0a84ff1f,#0a84ff14);border-color:#0a84ff66}.nav-item .nav-icon[data-v-8b08b1b4]{width:20px;height:20px;margin-right:var(--spacing-md);transition:transform .3s cubic-bezier(.4,0,.2,1);position:relative;z-index:1;will-change:transform;transform:translateZ(0)}.nav-item:hover .nav-icon[data-v-8b08b1b4],.nav-item.active .nav-icon[data-v-8b08b1b4]{transform:translateZ(0) scale(1.1)}.nav-item .nav-text[data-v-8b08b1b4]{flex:1;font-weight:500;font-size:.95rem;transition:all .3s ease;position:relative;z-index:1}.nav-item:hover .nav-text[data-v-8b08b1b4]{font-weight:600;letter-spacing:.2px}.nav-item .nav-count[data-v-8b08b1b4]{background:var(--bg-secondary);color:var(--text-secondary);padding:var(--spacing-xs) var(--spacing-sm);border-radius:12px;font-size:.8rem;font-weight:600;min-width:24px;text-align:center;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;z-index:1;border:1px solid var(--border-light)}.nav-item:hover .nav-count[data-v-8b08b1b4]{background:var(--bg-hover);transform:scale(1.1);border-color:#007aff33}[data-theme=dark] .nav-item .nav-count[data-v-8b08b1b4]{background:#ffffff0d;border-color:#ffffff1a}[data-theme=dark] .nav-item:hover .nav-count[data-v-8b08b1b4]{background:#ffffff14}.nav-item.active .nav-count[data-v-8b08b1b4]{background:linear-gradient(135deg,var(--primary-color) 0%,rgba(0,122,255,.9) 50%,var(--primary-color) 100%);background-size:200% 200%;color:#fff;box-shadow:0 4px 12px #007aff66,0 0 20px #007aff4d;border-color:#ffffff4d;animation:countBounce-8b08b1b4 2s ease-in-out infinite,countGradient-8b08b1b4 3s ease infinite}@keyframes navItemStagger-8b08b1b4{0%{opacity:0;transform:translate3d(-20px,0,0)}to{opacity:1;transform:translateZ(0)}}@keyframes indicatorGlow-8b08b1b4{0%,to{box-shadow:0 0 10px #007aff80}50%{box-shadow:0 0 20px #007affcc}}@keyframes iconPulse-8b08b1b4{0%,to{filter:drop-shadow(0 0 8px rgba(0,122,255,.5))}50%{filter:drop-shadow(0 0 12px rgba(0,122,255,.8))}}@keyframes countBounce-8b08b1b4{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes countGradient-8b08b1b4{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.sidebar-footer[data-v-8b08b1b4]{margin-top:auto;padding-top:var(--spacing-lg);border-top:1px solid var(--border-light);display:flex;flex-direction:column;gap:var(--spacing-md)}.theme-toggle[data-v-8b08b1b4]{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:transform .3s cubic-bezier(.4,0,.2,1),background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease;font-size:.9rem;position:relative;overflow:hidden;will-change:transform;transform:translateZ(0)}.theme-toggle[data-v-8b08b1b4]:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .6s ease;z-index:0}.theme-toggle[data-v-8b08b1b4]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#007aff1a,#34c7591a,#ff95001a);background-size:200% 200%;opacity:0;transition:opacity .4s ease;z-index:-1;animation:themeGradient-8b08b1b4 4s ease infinite}[data-theme=dark] .theme-toggle[data-v-8b08b1b4]{background:#ffffff0d;border-color:#ffffff1a}[data-theme=dark] .theme-toggle[data-v-8b08b1b4]:before{background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent)}.theme-toggle[data-v-8b08b1b4]:hover{background:var(--bg-primary);color:var(--text-primary);border-color:var(--primary-color);box-shadow:0 4px 12px #007aff33;transform:translate3d(0,-2px,0) scale(1.02)}.theme-toggle[data-v-8b08b1b4]:hover:before{left:100%}.theme-toggle[data-v-8b08b1b4]:hover:after{opacity:1}[data-theme=dark] .theme-toggle[data-v-8b08b1b4]:hover{background:#ffffff14}.theme-toggle[data-v-8b08b1b4]:active{transform:translateY(0) scale(.98)}.theme-toggle[data-v-8b08b1b4]:active:before{left:0;width:200%;height:200%;background:radial-gradient(circle,rgba(0,122,255,.3) 0%,transparent 70%);animation:ripple-8b08b1b4 .6s ease}.theme-toggle .theme-icon[data-v-8b08b1b4]{width:16px;height:16px;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;z-index:1}.theme-toggle:hover .theme-icon[data-v-8b08b1b4]{transform:translateZ(0) rotate(15deg) scale(1.1)}.theme-toggle:active .theme-icon[data-v-8b08b1b4]{transform:translateZ(0) rotate(360deg) scale(1.15)}.theme-toggle .theme-text[data-v-8b08b1b4]{font-weight:500;transition:all .3s ease;position:relative;z-index:1}.theme-toggle:hover .theme-text[data-v-8b08b1b4]{font-weight:600;letter-spacing:.3px}@keyframes themeGradient-8b08b1b4{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes ripple-8b08b1b4{0%{transform:scale(0);opacity:1}to{transform:scale(1);opacity:0}}.service-status[data-v-8b08b1b4]{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:all .3s ease}.service-status .status-indicator[data-v-8b08b1b4]{width:12px;height:12px;border-radius:50%;background:var(--error-color);box-shadow:0 0 0 0 var(--error-color);transition:all .4s cubic-bezier(.4,0,.2,1);position:relative}.service-status .status-indicator[data-v-8b08b1b4]:before{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:2px solid var(--error-color);opacity:0;transition:all .4s ease}.service-status .status-indicator.online[data-v-8b08b1b4]{background:var(--success-color);box-shadow:0 0 0 0 var(--success-color);animation:statusPulse-8b08b1b4 2s ease-in-out infinite}.service-status .status-indicator.online[data-v-8b08b1b4]:before{border-color:var(--success-color);animation:statusRipple-8b08b1b4 2s ease-in-out infinite}.service-status .status-indicator[data-v-8b08b1b4]{transition:all .5s cubic-bezier(.4,0,.2,1)}.service-status .status-text[data-v-8b08b1b4]{font-size:.9rem;color:var(--text-secondary);transition:all .3s ease;font-weight:500}.service-status[data-v-8b08b1b4]:hover{background:#00000005}.service-status:hover .status-text[data-v-8b08b1b4]{color:var(--text-primary);font-weight:600}@keyframes statusPulse-8b08b1b4{0%,to{box-shadow:0 0 0 0 var(--success-color);transform:scale(1)}50%{box-shadow:0 0 0 8px #34c75900;transform:scale(1.1)}}@keyframes statusRipple-8b08b1b4{0%{opacity:1;transform:scale(.8)}to{opacity:0;transform:scale(1.5)}}.main-content[data-v-8b08b1b4]{flex:1;overflow-y:auto;background:var(--bg-primary)}.nav-item-enter-active[data-v-8b08b1b4]{transition:all .6s cubic-bezier(.4,0,.2,1);transition-delay:var(--delay, 0s)}.nav-item-enter-from[data-v-8b08b1b4]{opacity:0;transform:translate(-30px) scale(.9)}.nav-item-leave-active[data-v-8b08b1b4]{transition:all .3s cubic-bezier(.4,0,.2,1)}.nav-item-leave-to[data-v-8b08b1b4]{opacity:0;transform:translate(-20px) scale(.95)}@media (max-width: 768px){.app-layout[data-v-8b08b1b4]{flex-direction:column}.main-content[data-v-8b08b1b4]{padding-bottom:72px}.sidebar[data-v-8b08b1b4]{width:100%;height:auto;min-height:72px}.sidebar-nav[data-v-8b08b1b4]{flex-direction:row;justify-content:space-around;align-items:center;gap:0;padding:var(--spacing-xs) 0}.sidebar-nav>div[data-v-8b08b1b4]{display:flex;flex-direction:row;justify-content:space-around;width:100%;gap:0}.sidebar-nav .nav-item[data-key=injected][data-v-8b08b1b4],.sidebar-nav .nav-item[data-key=update][data-v-8b08b1b4],.sidebar-nav .nav-item[data-key=unsupported][data-v-8b08b1b4]{display:none}.nav-item[data-v-8b08b1b4]{flex:1;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-xs);min-width:0;max-width:none;height:72px;border-radius:0;border:none;background:transparent;position:relative;animation:none!important;transform:none!important;transition:opacity .1s ease,background-color .1s ease}.nav-item[data-v-8b08b1b4]:after,.nav-item[data-v-8b08b1b4]:before{display:none!important}.nav-item .nav-icon[data-v-8b08b1b4]{width:28px;height:28px;margin:0 0 4px;padding:0;flex-shrink:0;display:flex;align-items:center;justify-content:center;position:relative;transition:color .2s ease;transform:none!important;filter:none!important;animation:none!important}.nav-item .nav-text[data-v-8b08b1b4]{font-size:13px;font-weight:500;text-align:center;line-height:1.2;white-space:nowrap;width:100%;margin:0;padding:0;transition:color .2s ease,font-weight .2s ease;letter-spacing:normal!important}.nav-item .nav-count[data-v-8b08b1b4]{position:absolute;top:10px;left:calc(50% + 10px);font-size:10px;min-width:16px;height:16px;padding:0 4px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-light);font-weight:600;line-height:1;transition:none;transform:none!important;animation:none!important}.nav-item.active[data-v-8b08b1b4]{background:transparent;border:none;box-shadow:none}.nav-item.active .nav-icon[data-v-8b08b1b4]{color:var(--primary-color);transform:none!important;filter:none!important;animation:none!important}.nav-item.active .nav-text[data-v-8b08b1b4]{color:var(--primary-color);font-weight:600}.nav-item.active .nav-count[data-v-8b08b1b4]{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.nav-item.active[data-v-8b08b1b4]:before,.nav-item.active[data-v-8b08b1b4]:after{display:none!important}.nav-item[data-v-8b08b1b4]:active{opacity:.6}.nav-item[data-v-8b08b1b4]:hover{background:transparent;transform:none!important;box-shadow:none!important;border-color:transparent!important}.nav-item:hover .nav-icon[data-v-8b08b1b4]{transform:none!important;filter:none!important}.nav-item:hover .nav-text[data-v-8b08b1b4]{letter-spacing:normal!important}.nav-item:hover .nav-count[data-v-8b08b1b4]{transform:none!important}.nav-item[data-v-8b08b1b4]:hover:after{display:none!important}}.modal-overlay[data-v-07320b59]{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:9999;padding:var(--spacing-lg)}.modal-container[data-v-07320b59]{background:var(--bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-2xl);width:100%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border-light)}.modal-header[data-v-07320b59]{padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--border-light);display:flex;align-items:center;justify-content:space-between;background:var(--bg-secondary)}.modal-header .modal-title[data-v-07320b59]{margin:0;font-size:1.3rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:var(--spacing-sm)}.modal-header .modal-title .modal-icon[data-v-07320b59]{font-size:1.5rem;color:var(--primary-color)}.modal-header .modal-close[data-v-07320b59]{background:transparent;border:none;cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:1.5rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.modal-header .modal-close[data-v-07320b59]:hover{background:var(--bg-primary);color:var(--text-primary)}.modal-body[data-v-07320b59]{flex:0 0 auto;overflow:hidden;padding:var(--spacing-md)}.log-container[data-v-07320b59]{height:500px;min-height:500px;max-height:60vh;overflow-y:auto;overflow-x:hidden;background:var(--bg-tertiary, #1a1a1a);border-radius:var(--radius-md);padding:var(--spacing-md);font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;font-size:.9rem;line-height:1.6;scroll-behavior:smooth}.log-container[data-v-07320b59]::-webkit-scrollbar{width:8px}.log-container[data-v-07320b59]::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:4px}.log-container[data-v-07320b59]::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.log-container[data-v-07320b59]::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.log-line[data-v-07320b59]{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs);padding:var(--spacing-xs) 0;align-items:flex-start}.log-line.loading[data-v-07320b59]{color:var(--primary-color)}.log-line .log-time[data-v-07320b59]{color:var(--text-tertiary);flex-shrink:0;font-size:.85rem}.log-line .log-message[data-v-07320b59]{color:var(--text-secondary);flex:1;word-break:break-word;white-space:pre-wrap}.log-line.log-info .log-message[data-v-07320b59]{color:var(--text-secondary)}.log-line.log-success .log-message[data-v-07320b59]{color:var(--success-color)}.log-line.log-warning .log-message[data-v-07320b59]{color:var(--warning-color)}.log-line.log-error .log-message[data-v-07320b59]{color:var(--error-color)}.modal-footer[data-v-07320b59]{padding:var(--spacing-lg) var(--spacing-xl);border-top:1px solid var(--border-light);background:var(--bg-secondary);display:flex;align-items:center;justify-content:space-between}.modal-footer .footer-status[data-v-07320b59]{display:flex;align-items:center;gap:var(--spacing-sm);font-size:1rem;font-weight:500}.modal-footer .footer-status .status-success[data-v-07320b59]{color:var(--success-color);display:flex;align-items:center;gap:var(--spacing-xs)}.modal-footer .footer-status .status-error[data-v-07320b59]{color:var(--error-color);display:flex;align-items:center;gap:var(--spacing-xs)}.modal-footer .footer-status .status-loading[data-v-07320b59]{color:var(--primary-color);display:flex;align-items:center;gap:var(--spacing-xs)}.modal-footer .footer-actions[data-v-07320b59]{display:flex;gap:var(--spacing-sm)}.spinner-small[data-v-07320b59]{width:16px;height:16px;border:2px solid var(--border-color);border-top:2px solid var(--primary-color);border-radius:50%;animation:spin-07320b59 1s linear infinite}@keyframes spin-07320b59{to{transform:rotate(360deg)}}.modal-enter-active[data-v-07320b59],.modal-leave-active[data-v-07320b59]{transition:opacity .3s ease}.modal-enter-from[data-v-07320b59],.modal-leave-to[data-v-07320b59]{opacity:0}.modal-enter-active .modal-container[data-v-07320b59],.modal-leave-active .modal-container[data-v-07320b59]{transition:transform .3s ease}.modal-enter-from .modal-container[data-v-07320b59],.modal-leave-to .modal-container[data-v-07320b59]{transform:scale(.9) translateY(-20px)}@media (max-width: 768px){.modal-overlay[data-v-07320b59]{padding:0}.modal-container[data-v-07320b59]{max-width:100%;max-height:100vh;border-radius:0}.log-container[data-v-07320b59]{height:400px;min-height:400px;max-height:50vh}.modal-footer[data-v-07320b59]{flex-direction:column;gap:var(--spacing-md);align-items:stretch}.modal-footer .footer-actions[data-v-07320b59]{width:100%}.modal-footer .footer-actions .btn[data-v-07320b59]{flex:1}}.app-card[data-v-83c11d6a]{display:flex;flex-direction:column;padding:0;transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s ease,border-color .3s ease;cursor:pointer;position:relative;overflow:hidden;background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-xl);box-shadow:0 2px 8px #0000000a;will-change:transform;transform:translateZ(0)}.app-card[data-v-83c11d6a]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-xl);padding:1px;background:linear-gradient(135deg,rgba(255,255,255,.1) 0%,rgba(255,255,255,.05) 50%,transparent 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .5s ease;pointer-events:none;z-index:1}.app-card[data-v-83c11d6a]:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary-color) 0%,var(--success-color) 50%,var(--info-color) 100%);transform:scaleX(0);transform-origin:left;transition:transform .6s cubic-bezier(.4,0,.2,1);z-index:2}.app-card[data-v-83c11d6a]:hover{transform:translate3d(0,-8px,0) scale(1.01);box-shadow:0 12px 32px #0000001f,0 0 0 1px #007aff26;border-color:#007aff40}.app-card[data-v-83c11d6a]:hover:before{transform:scaleX(1)}.app-card[data-v-83c11d6a]:hover:after{opacity:1}.app-card:hover .card-glow[data-v-83c11d6a]{opacity:1}.app-card:hover .app-icon[data-v-83c11d6a]{transform:translate3d(0,-4px,0) scale(1.05)}.app-card:hover .app-icon .icon-shadow[data-v-83c11d6a]{transform:translate3d(-50%,0,0) scale(1.2);opacity:.3}.app-card:hover .app-name[data-v-83c11d6a]{color:var(--primary-color)}.app-card[data-v-83c11d6a]:active{transform:translate3d(0,-6px,0) scale(1.005);transition:transform .15s ease}.card-glow[data-v-83c11d6a]{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(0,122,255,.1) 0%,transparent 70%);opacity:0;transition:opacity .5s ease;pointer-events:none;z-index:0}.card-glow.glow-success[data-v-83c11d6a]{background:radial-gradient(circle,rgba(52,199,89,.1) 0%,transparent 70%)}.card-glow.glow-warning[data-v-83c11d6a]{background:radial-gradient(circle,rgba(255,149,0,.1) 0%,transparent 70%)}.card-glow.glow-primary[data-v-83c11d6a]{background:radial-gradient(circle,rgba(0,122,255,.1) 0%,transparent 70%)}.corner-badges[data-v-83c11d6a]{position:absolute;top:var(--spacing-md);left:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-xs);z-index:10}.corner-badge[data-v-83c11d6a]{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);color:#fff;border-radius:var(--radius-md);font-size:.75rem;font-weight:600;transition:transform .3s ease;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);will-change:transform;transform:translateZ(0)}.corner-badge .badge-icon[data-v-83c11d6a]{font-size:1rem}.corner-badge .badge-text[data-v-83c11d6a]{letter-spacing:.3px}.corner-badge[data-v-83c11d6a]:hover{transform:translateZ(0) scale(1.05)}.injected-badge[data-v-83c11d6a]{background:linear-gradient(135deg,var(--success-color) 0%,#2fb84d 100%);box-shadow:0 4px 12px #34c75966}.injected-badge[data-v-83c11d6a]:hover{box-shadow:0 4px 16px #34c75980}.supported-badge[data-v-83c11d6a]{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover) 100%);box-shadow:0 4px 12px #007aff66}.supported-badge[data-v-83c11d6a]:hover{box-shadow:0 4px 16px #007aff80}.unsupported-badge[data-v-83c11d6a]{background:linear-gradient(135deg,var(--error-color) 0%,#e6342a 100%);box-shadow:0 4px 12px #ff3b3066}.unsupported-badge[data-v-83c11d6a]:hover{box-shadow:0 4px 16px #ff3b3080}.upgrade-badge[data-v-83c11d6a]{background:linear-gradient(135deg,var(--warning-color) 0%,#e6850e 100%);box-shadow:0 4px 12px #ff950066}.upgrade-badge[data-v-83c11d6a]:hover{box-shadow:0 4px 16px #ff950080}.card-content[data-v-83c11d6a]{padding:var(--spacing-xl) var(--spacing-xl) var(--spacing-lg);position:relative;z-index:2}.app-icon-wrapper[data-v-83c11d6a]{display:flex;justify-content:center;margin-bottom:var(--spacing-xl);position:relative;z-index:2}.app-icon[data-v-83c11d6a]{width:104px;height:104px;border-radius:24px;overflow:visible;background:var(--bg-secondary);position:relative;transition:transform .3s cubic-bezier(.4,0,.2,1);z-index:2;will-change:transform;transform:translateZ(0)}.app-icon .icon-glow[data-v-83c11d6a]{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:28px;background:radial-gradient(circle at center,rgba(0,122,255,.15) 0%,transparent 70%);opacity:0;transition:opacity .5s ease;z-index:-1}.app-icon .icon-shadow[data-v-83c11d6a]{position:absolute;bottom:-12px;left:50%;transform:translate3d(-50%,0,0);width:75%;height:24px;background:radial-gradient(ellipse,rgba(0,0,0,.25) 0%,rgba(0,0,0,.1) 50%,transparent 80%);border-radius:50%;opacity:.25;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s ease;z-index:-1;filter:blur(8px);will-change:transform,opacity}.app-icon img[data-v-83c11d6a]{width:100%;height:100%;object-fit:cover;border-radius:24px;display:block;box-shadow:0 8px 24px #00000026,inset 0 1px #ffffff1a;transition:box-shadow .3s ease;position:relative;z-index:1}.app-icon .icon-placeholder[data-v-83c11d6a]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2.75rem;font-weight:700;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover) 50%,var(--info-color) 100%);color:#fff;border-radius:24px;box-shadow:0 12px 32px #007aff59,0 4px 12px #007aff40,inset 0 1px #fff3;text-shadow:0 2px 8px rgba(0,0,0,.3);position:relative;z-index:1}.app-icon .icon-loading[data-v-83c11d6a]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-primary) 100%);border-radius:24px;position:relative;z-index:1}.app-icon .icon-loading .spinner[data-v-83c11d6a]{width:36px;height:36px;border:3px solid var(--border-light);border-top:3px solid var(--primary-color);border-radius:50%;animation:spin .8s linear infinite}.app-card:hover .app-icon .icon-glow[data-v-83c11d6a]{opacity:1}.app-info[data-v-83c11d6a]{text-align:center;margin-bottom:var(--spacing-lg);position:relative;z-index:2}.app-info .app-name[data-v-83c11d6a]{margin:0 0 var(--spacing-md) 0;font-size:1.3rem;font-weight:700;color:var(--text-primary);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;letter-spacing:-.03em;transition:color .3s ease;text-shadow:0 1px 2px rgba(0,0,0,.02)}.app-info .bundle-id[data-v-83c11d6a]{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-lg);padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-secondary);border-radius:var(--radius-md);font-size:.75rem;color:var(--text-secondary);transition:background-color .3s ease,color .3s ease}.app-info .bundle-id .bundle-id-icon[data-v-83c11d6a]{font-size:.9rem;color:var(--text-tertiary);flex-shrink:0}.app-info .bundle-id .bundle-id-text[data-v-83c11d6a]{font-family:SF Mono,Monaco,Menlo,Consolas,monospace;font-weight:500;letter-spacing:.02em;word-break:break-all;text-align:center;opacity:.8}.app-info .bundle-id[data-v-83c11d6a]:hover{background:var(--bg-primary);color:var(--text-primary)}.app-info .bundle-id:hover .bundle-id-icon[data-v-83c11d6a]{color:var(--primary-color)}.app-info .bundle-id:hover .bundle-id-text[data-v-83c11d6a]{opacity:1}.app-info .version-tags[data-v-83c11d6a]{display:flex;flex-direction:column;gap:var(--spacing-xs);align-items:center}.app-info .version-tag[data-v-83c11d6a]{display:inline-flex;align-items:baseline;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);font-size:.875rem;font-weight:500;transition:transform .3s ease,box-shadow .3s ease;backdrop-filter:blur(8px) saturate(150%);-webkit-backdrop-filter:blur(8px) saturate(150%);will-change:transform;transform:translateZ(0);max-width:100%;min-width:0;border:1px solid transparent;box-shadow:0 2px 8px #0000000a;line-height:1.4}.app-info .version-tag .tag-label[data-v-83c11d6a]{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px;opacity:.9;flex-shrink:0;line-height:1;padding-top:1px}.app-info .version-tag .tag-value[data-v-83c11d6a]{font-size:.875rem;font-weight:700;color:var(--text-primary);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.01em;line-height:1.2}.app-info .version-tag .tag-build[data-v-83c11d6a]{font-size:.8rem;opacity:.65;color:var(--text-secondary);font-weight:500;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.2}.app-info .version-tag.current[data-v-83c11d6a]{background:linear-gradient(135deg,#007aff1f,#007aff14);border-color:#007aff33;color:var(--primary-color);box-shadow:0 2px 8px #007aff26}.app-info .version-tag.current .tag-label[data-v-83c11d6a]{color:var(--primary-color)}.app-info .version-tag.current[data-v-83c11d6a]:hover{transform:translate3d(0,-1px,0);box-shadow:0 4px 12px #007aff33}.app-info .version-tag.latest[data-v-83c11d6a]{background:linear-gradient(135deg,#ff950026,#ff95001a);border-color:#ff950040;color:var(--warning-color);box-shadow:0 2px 8px #ff950033;animation:pulse-glow-83c11d6a 2.5s ease-in-out infinite}.app-info .version-tag.latest .tag-label[data-v-83c11d6a]{color:var(--warning-color)}.app-info .version-tag.latest[data-v-83c11d6a]:hover{transform:translate3d(0,-1px,0);box-shadow:0 4px 12px #ff95004d}@keyframes pulse-glow-83c11d6a{0%,to{box-shadow:0 2px 8px #ff950033,0 0 #ff950066}50%{box-shadow:0 2px 8px #ff950033,0 0 0 6px #ff950000}}.app-status[data-v-83c11d6a]{text-align:center;margin-bottom:var(--spacing-lg);padding:0 var(--spacing-xl);position:relative;z-index:2}.app-status .status-badge[data-v-83c11d6a]{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;transition:transform .3s ease,box-shadow .3s ease;box-shadow:0 2px 6px #0000000f;will-change:transform;transform:translateZ(0)}.app-status .status-badge .status-dot[data-v-83c11d6a]{width:6px;height:6px;border-radius:50%;display:inline-block;animation:pulse-dot-83c11d6a 2s ease-in-out infinite}.app-status .status-badge.status-supported[data-v-83c11d6a]{background:#34c7591f;color:var(--success-color);border:1px solid rgba(52,199,89,.2)}.app-status .status-badge.status-supported .status-dot[data-v-83c11d6a]{background:var(--success-color)}.app-status .status-badge.status-injected[data-v-83c11d6a]{background:#007aff1f;color:var(--primary-color);border:1px solid rgba(0,122,255,.2)}.app-status .status-badge.status-injected .status-dot[data-v-83c11d6a]{background:var(--primary-color)}.app-status .status-badge.status-update[data-v-83c11d6a]{background:#ff95001f;color:var(--warning-color);border:1px solid rgba(255,149,0,.2)}.app-status .status-badge.status-update .status-dot[data-v-83c11d6a]{background:var(--warning-color)}.app-status .status-badge.status-unsupported[data-v-83c11d6a]{background:#ff3b301f;color:var(--error-color);border:1px solid rgba(255,59,48,.2)}.app-status .status-badge.status-unsupported .status-dot[data-v-83c11d6a]{background:var(--error-color)}@keyframes pulse-dot-83c11d6a{0%,to{opacity:1;transform:translateZ(0) scale(1)}50%{opacity:.6;transform:translateZ(0) scale(.8)}}.app-actions[data-v-83c11d6a]{text-align:center;margin-top:auto;padding:0 var(--spacing-xl) var(--spacing-xl);position:relative;z-index:2}.app-actions .btn[data-v-83c11d6a]{width:100%;margin-bottom:var(--spacing-sm);font-size:.875rem;padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-lg);font-weight:600;letter-spacing:.4px;transition:transform .3s ease,box-shadow .3s ease;box-shadow:0 4px 12px #0000001a;position:relative;overflow:hidden;will-change:transform;transform:translateZ(0)}.app-actions .btn[data-v-83c11d6a]:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.app-actions .btn[data-v-83c11d6a]:hover:not(:disabled){transform:translate3d(0,-2px,0);box-shadow:0 6px 16px #00000026}.app-actions .btn[data-v-83c11d6a]:hover:not(:disabled):before{left:100%}.app-actions .btn[data-v-83c11d6a]:active:not(:disabled){transform:translate3d(0,-1px,0);transition:transform .15s ease}.app-actions .unsupported-section[data-v-83c11d6a]{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-sm);text-align:center}.app-actions .unsupported-text[data-v-83c11d6a],.app-actions .injected-text[data-v-83c11d6a]{font-size:.9rem;color:var(--text-secondary);font-style:italic;display:block}.app-actions .supported-versions[data-v-83c11d6a]{font-size:.8rem;color:var(--warning-color);font-weight:500;line-height:1.4}@media (max-width: 768px){.app-card[data-v-83c11d6a]{margin-bottom:var(--spacing-sm);padding:0;border-radius:var(--radius-lg);box-shadow:0 2px 12px #0000000f,0 1px 3px #0000000a;transition:transform .3s ease,box-shadow .3s ease;position:relative}.app-card[data-v-83c11d6a]:hover{transform:translate3d(0,-2px,0);box-shadow:0 4px 16px #00000014}.app-card[data-v-83c11d6a]:active{transform:translateZ(0) scale(.99);transition:transform .15s ease}.app-card[data-v-83c11d6a]:before{height:2px;opacity:.6}.card-content[data-v-83c11d6a]{display:flex;flex-direction:row;align-items:center;padding:var(--spacing-lg) var(--spacing-lg);gap:var(--spacing-md);min-height:96px}.app-icon-wrapper[data-v-83c11d6a]{flex-shrink:0;margin:0;display:flex;align-items:center;justify-content:center}.app-icon[data-v-83c11d6a]{width:64px;height:64px;border-radius:16px;transition:transform .3s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0}.app-icon .icon-placeholder[data-v-83c11d6a]{font-size:1.75rem;border-radius:16px}.app-icon img[data-v-83c11d6a]{border-radius:16px;box-shadow:0 4px 12px #0000001f;width:100%;height:100%;object-fit:cover}.app-icon .icon-glow[data-v-83c11d6a]{opacity:.3}.app-icon .icon-shadow[data-v-83c11d6a]{opacity:.15}.app-info[data-v-83c11d6a]{flex:1;text-align:left;margin:0;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:var(--spacing-xs);padding-top:var(--spacing-lg)}.app-info .app-name[data-v-83c11d6a]{font-size:1.1rem;font-weight:600;margin:0;line-height:1.4;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis;color:var(--text-primary);letter-spacing:-.01em}.app-info .bundle-id[data-v-83c11d6a]{display:none}.app-info .version-tags[data-v-83c11d6a]{display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--spacing-xs);margin:0;align-items:center}.app-info .version-tag[data-v-83c11d6a]{font-size:.75rem;padding:4px var(--spacing-sm);border-radius:var(--radius-md);display:inline-flex;align-items:center;gap:var(--spacing-xs);line-height:1;height:fit-content}.app-info .version-tag .tag-label[data-v-83c11d6a]{font-size:.7rem;font-weight:600;line-height:1}.app-info .version-tag .tag-value[data-v-83c11d6a]{font-size:.75rem;font-weight:600;max-width:100px;line-height:1}.app-info .version-tag .tag-build[data-v-83c11d6a]{font-size:.7rem;max-width:60px;line-height:1}.app-actions[data-v-83c11d6a]{position:absolute;bottom:var(--spacing-sm);right:var(--spacing-sm);padding:0;margin:0;display:flex;align-items:center;justify-content:center;z-index:10}.app-actions .btn[data-v-83c11d6a]{padding:0!important;min-width:44px;width:44px;height:44px;white-space:nowrap;font-weight:500;border-radius:var(--radius-md);transition:opacity .2s ease;display:flex!important;align-items:center!important;justify-content:center!important;position:relative;font-size:0;margin:0;text-align:center}.app-actions .btn[data-v-83c11d6a]>*:not(.btn-icon){display:none!important}.app-actions .btn .btn-icon[data-v-83c11d6a]{margin:0!important;padding:0!important;flex-shrink:0;display:block!important;line-height:0!important;width:1.25rem!important;height:1.25rem!important;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.app-actions .btn .btn-icon[data-v-83c11d6a] svg{display:block!important;width:1.25rem!important;height:1.25rem!important;margin:0!important;padding:0!important}.corner-badges[data-v-83c11d6a]{top:var(--spacing-sm);left:var(--spacing-sm);right:auto;display:flex;flex-direction:row;gap:var(--spacing-xs);z-index:10;flex-wrap:wrap}.corner-badge[data-v-83c11d6a]{font-size:.75rem;padding:4px var(--spacing-sm);border-radius:var(--radius-sm);box-shadow:0 2px 8px #00000026;display:inline-flex;align-items:center;gap:3px;white-space:nowrap}.corner-badge .badge-icon[data-v-83c11d6a]{font-size:.85rem;flex-shrink:0;width:.85rem;height:.85rem;display:flex;align-items:center;justify-content:center}.corner-badge .badge-text[data-v-83c11d6a]{display:inline;font-size:.7rem;font-weight:600;line-height:1;white-space:nowrap}.card-glow[data-v-83c11d6a]{opacity:.3}}.version-list-container .loading[data-v-e590ae50],.version-list-container .error[data-v-e590ae50],.version-list-container .empty[data-v-e590ae50]{text-align:center;padding:var(--spacing-2xl) var(--spacing-lg)}.version-list-container .loading .spinner[data-v-e590ae50],.version-list-container .error .spinner[data-v-e590ae50],.version-list-container .empty .spinner[data-v-e590ae50]{width:40px;height:40px;border:3px solid var(--border-color);border-top:3px solid var(--primary-color);border-radius:50%;animation:spin-e590ae50 1s linear infinite;margin:0 auto var(--spacing-md)}.version-list-container .loading p[data-v-e590ae50],.version-list-container .error p[data-v-e590ae50],.version-list-container .empty p[data-v-e590ae50]{color:var(--text-secondary);font-size:1rem;margin:0}.version-list-container .error .error-icon[data-v-e590ae50]{font-size:3rem;color:var(--error-color);margin-bottom:var(--spacing-md);display:block;margin-left:auto;margin-right:auto}.version-list-container .error p[data-v-e590ae50]{color:var(--error-color);margin-bottom:var(--spacing-md)}.version-list-container .empty .empty-icon[data-v-e590ae50]{font-size:4rem;color:var(--text-tertiary);margin-bottom:var(--spacing-md);opacity:.5}.version-list-container .empty p[data-v-e590ae50]{color:var(--text-tertiary);font-style:italic}.version-list-container .version-filters[data-v-e590ae50]{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-color)}.version-list-container .filter-btn[data-v-e590ae50]{padding:8px 16px;border:1px solid var(--border-color);background:var(--background-secondary);color:var(--text-secondary);border-radius:6px;cursor:pointer;transition:all .2s;font-size:.9rem}.version-list-container .filter-btn[data-v-e590ae50]:hover{background:var(--background-hover);border-color:var(--primary-color)}.version-list-container .filter-btn.active[data-v-e590ae50]{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.version-list-container .versions-list[data-v-e590ae50]{display:flex;flex-direction:column;gap:var(--spacing-sm)}.version-list-container .version-item[data-v-e590ae50]{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-primary);transition:all .2s}.version-list-container .version-item[data-v-e590ae50]:hover:not(.downloading){border-color:var(--primary-color);background:var(--bg-hover);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.version-list-container .version-item.downloading[data-v-e590ae50]{border-color:var(--primary-color);background:#007aff0d}.version-list-container .version-item .version-info[data-v-e590ae50]{display:flex;flex-direction:column;gap:var(--spacing-xs);flex:1}.version-list-container .version-item .version-info .version-number-wrapper[data-v-e590ae50]{display:flex;flex-direction:row;align-items:center;gap:var(--spacing-xs)}.version-list-container .version-item .version-info .version-number[data-v-e590ae50]{font-weight:600;color:var(--text-primary);font-size:1.1rem}.version-list-container .version-item .version-info .version-number .version-full[data-v-e590ae50]{font-weight:400;font-size:.9rem;color:var(--text-secondary);font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;margin-left:4px}.version-list-container .version-item .version-info .version-url[data-v-e590ae50]{font-size:.75rem;color:var(--text-tertiary);font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;word-break:break-all;display:flex;align-items:center;gap:var(--spacing-xs)}.version-list-container .version-item .version-info .version-url .url-icon[data-v-e590ae50]{font-size:.9rem}.version-list-container .version-item .btn[data-v-e590ae50]{margin-left:var(--spacing-md);min-width:100px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.version-list-container .version-item .btn[data-v-e590ae50]:disabled{transform:scale(.98)}.version-list-container .version-item .btn .btn-icon[data-v-e590ae50]{transition:transform .3s ease}.version-list-container .version-item .btn:not(:disabled):hover .btn-icon[data-v-e590ae50]{transform:scale(1.1)}.version-list-container .version-item .btn .spinner-small[data-v-e590ae50]{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin-e590ae50 .8s linear infinite}.btn[data-v-e590ae50]{padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:var(--spacing-xs);font-size:.95rem}.btn[data-v-e590ae50]:disabled{opacity:.6;cursor:not-allowed;transform:scale(.98)}.btn.btn-sm[data-v-e590ae50]{padding:var(--spacing-xs) var(--spacing-md);font-size:.85rem}.btn.btn-secondary[data-v-e590ae50]{background:var(--bg-hover);color:var(--text-primary)}.btn.btn-secondary[data-v-e590ae50]:hover:not(:disabled){background:var(--border-color)}.btn.btn-primary[data-v-e590ae50]{background:var(--primary-color);color:#fff}.btn.btn-primary[data-v-e590ae50]:hover:not(:disabled){background:var(--primary-hover)}.btn.btn-downloading[data-v-e590ae50]{background:var(--primary-color);color:#fff;opacity:.8}.btn.btn-success-state[data-v-e590ae50]{background:linear-gradient(135deg,#22c55e,#3b82f6);color:#fff;animation:successPulse-e590ae50 .6s ease-out;box-shadow:0 4px 12px #22c55e66}.btn.btn-success-state[data-v-e590ae50]:hover:not(:disabled){background:linear-gradient(135deg,#16a34a,#2563eb)}.btn .btn-icon[data-v-e590ae50]{font-size:1rem}@keyframes successPulse-e590ae50{0%{transform:scale(1);box-shadow:0 0 #22c55eb3}50%{transform:scale(1.02);box-shadow:0 0 0 8px #22c55e00}to{transform:scale(1);box-shadow:0 4px 12px #22c55e66}}@keyframes spin-e590ae50{to{transform:rotate(360deg)}}.fade-enter-active[data-v-e590ae50],.fade-leave-active[data-v-e590ae50]{transition:opacity .3s ease,transform .3s ease}.fade-enter-from[data-v-e590ae50],.fade-leave-to[data-v-e590ae50]{opacity:0;transform:scale(.9)}.version-tag[data-v-e590ae50]{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500;white-space:nowrap}.beta-tag[data-v-e590ae50]{background-color:#fef3c7;color:#d97706;border:1px solid #fde047}.release-tag[data-v-e590ae50]{background-color:#dbeafe;color:#2563eb;border:1px solid #60a5fa}@media (max-width: 768px){.version-item[data-v-e590ae50]{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.version-item .btn[data-v-e590ae50]{width:100%;margin-left:0;justify-content:center}}.dialog-overlay[data-v-0c946027]{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn-0c946027 .2s ease}@keyframes fadeIn-0c946027{0%{opacity:0}to{opacity:1}}.dialog-container[data-v-0c946027]{background:var(--bg-secondary);border-radius:var(--radius-xl);width:90%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080;animation:slideUp-0c946027 .3s ease}@keyframes slideUp-0c946027{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.dialog-header[data-v-0c946027]{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xl);border-bottom:1px solid var(--border-light)}.dialog-header .dialog-title[data-v-0c946027]{margin:0;font-size:1.5rem;font-weight:600;color:var(--text-primary)}.dialog-header .dialog-close[data-v-0c946027]{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:all .2s;display:flex;align-items:center;justify-content:center}.dialog-header .dialog-close[data-v-0c946027]:hover{background:var(--bg-hover);color:var(--text-primary)}.dialog-content[data-v-0c946027]{flex:1;overflow-y:auto;padding:var(--spacing-xl);min-height:200px;max-height:50vh}.loading[data-v-0c946027],.error[data-v-0c946027],.empty[data-v-0c946027]{text-align:center;padding:var(--spacing-2xl) var(--spacing-lg)}.loading .spinner[data-v-0c946027],.error .spinner[data-v-0c946027],.empty .spinner[data-v-0c946027]{width:40px;height:40px;border:3px solid var(--border-color);border-top:3px solid var(--primary-color);border-radius:50%;animation:spin-0c946027 1s linear infinite;margin:0 auto var(--spacing-md)}.loading p[data-v-0c946027],.error p[data-v-0c946027],.empty p[data-v-0c946027]{color:var(--text-secondary);font-size:1rem;margin:0}.error .error-icon[data-v-0c946027]{font-size:3rem;color:var(--error-color);margin-bottom:var(--spacing-md);display:block;margin-left:auto;margin-right:auto}.error p[data-v-0c946027]{color:var(--error-color);margin-bottom:var(--spacing-md)}.empty .empty-icon[data-v-0c946027]{font-size:4rem;color:var(--text-tertiary);margin-bottom:var(--spacing-md);opacity:.5}.empty p[data-v-0c946027]{color:var(--text-tertiary);font-style:italic}.version-filters[data-v-0c946027]{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-color)}.filter-btn[data-v-0c946027]{padding:8px 16px;border:1px solid var(--border-color);background:var(--background-secondary);color:var(--text-secondary);border-radius:6px;cursor:pointer;transition:all .2s;font-size:.9rem}.filter-btn[data-v-0c946027]:hover{background:var(--background-hover);border-color:var(--primary-color)}.filter-btn.active[data-v-0c946027]{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.versions-list[data-v-0c946027]{display:flex;flex-direction:column;gap:var(--spacing-sm)}.version-item[data-v-0c946027]{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-primary);transition:all .2s}.version-item[data-v-0c946027]:hover:not(.downloading){border-color:var(--primary-color);background:var(--bg-hover);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.version-item.downloading[data-v-0c946027]{border-color:var(--primary-color);background:#007aff0d}.version-item .version-info[data-v-0c946027]{display:flex;flex-direction:column;gap:var(--spacing-xs);flex:1}.version-item .version-info .version-number-wrapper[data-v-0c946027]{display:flex;flex-direction:row;align-items:center;gap:var(--spacing-xs)}.version-item .version-info .version-number[data-v-0c946027]{font-weight:600;color:var(--text-primary);font-size:1.1rem}.version-item .version-info .version-full[data-v-0c946027]{font-size:.85rem;color:var(--text-secondary);font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace}.version-item .btn[data-v-0c946027]{margin-left:var(--spacing-md);min-width:100px}.version-item .btn .spinner-small[data-v-0c946027]{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin-0c946027 .8s linear infinite}.dialog-footer[data-v-0c946027]{padding:var(--spacing-lg) var(--spacing-xl);border-top:1px solid var(--border-light);display:flex;justify-content:flex-end}.btn[data-v-0c946027]{padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:var(--spacing-xs);font-size:.95rem}.btn[data-v-0c946027]:disabled{opacity:.5;cursor:not-allowed}.btn.btn-sm[data-v-0c946027]{padding:var(--spacing-xs) var(--spacing-md);font-size:.85rem}.btn.btn-secondary[data-v-0c946027]{background:var(--bg-hover);color:var(--text-primary)}.btn.btn-secondary[data-v-0c946027]:hover:not(:disabled){background:var(--border-color)}.btn.btn-primary[data-v-0c946027]{background:var(--primary-color);color:#fff}.btn.btn-primary[data-v-0c946027]:hover:not(:disabled){background:var(--primary-hover)}.btn .btn-icon[data-v-0c946027]{font-size:1rem}@keyframes spin-0c946027{to{transform:rotate(360deg)}}@media (max-width: 768px){.dialog-container[data-v-0c946027]{width:95%;max-height:85vh}.dialog-header[data-v-0c946027]{padding:var(--spacing-lg)}.dialog-header .dialog-title[data-v-0c946027]{font-size:1.2rem}.dialog-content[data-v-0c946027]{padding:var(--spacing-lg)}.version-item[data-v-0c946027]{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.version-item .btn[data-v-0c946027]{width:100%;margin-left:0;justify-content:center}}.version-tag[data-v-0c946027]{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500;white-space:nowrap}.beta-tag[data-v-0c946027]{background-color:#fef3c7;color:#d97706;border:1px solid #fde047}.release-tag[data-v-0c946027]{background-color:#dbeafe;color:#2563eb;border:1px solid #60a5fa}.app-list[data-v-e08209d6]{padding:var(--spacing-xl);max-width:1400px;margin:0 auto}.list-header[data-v-e08209d6]{margin-bottom:var(--spacing-xl)}.list-header .header-content[data-v-e08209d6]{margin-bottom:var(--spacing-lg)}.list-header .header-content h2[data-v-e08209d6]{margin:0 0 var(--spacing-sm) 0;font-size:2rem;font-weight:600;color:var(--text-primary)}.list-header .header-content .page-description[data-v-e08209d6]{margin:0;color:var(--text-secondary);font-size:1rem}.list-header .list-controls[data-v-e08209d6]{display:flex;gap:var(--spacing-lg);align-items:center;flex-wrap:wrap}.list-header .list-controls .search-container[data-v-e08209d6]{position:relative;flex:1;min-width:320px;display:flex;align-items:center;background:var(--bg-card);border:2px solid var(--border-light);border-radius:var(--radius-xl);padding:0 var(--spacing-md);transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0000000a,0 1px 2px #00000005;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.list-header .list-controls .search-container[data-v-e08209d6]:focus-within{border-color:var(--primary-color);box-shadow:0 4px 16px #007aff26,0 0 0 4px #007aff1a;transform:translateY(-1px)}.list-header .list-controls .search-container[data-v-e08209d6]:hover:not(:focus-within){border-color:#007aff4d;box-shadow:0 4px 12px #00000014}.list-header .list-controls .search-container .search-icon-left[data-v-e08209d6]{font-size:1.25rem;color:var(--text-tertiary);margin-right:var(--spacing-sm);flex-shrink:0;transition:color .3s ease}.list-header .list-controls .search-container:focus-within .search-icon-left[data-v-e08209d6]{color:var(--primary-color)}.list-header .list-controls .search-container .search-input[data-v-e08209d6]{flex:1;border:none;background:transparent;padding:var(--spacing-md) 0;font-size:1rem;color:var(--text-primary);outline:none;font-weight:500}.list-header .list-controls .search-container .search-input[data-v-e08209d6]::placeholder{color:var(--text-tertiary);font-weight:400}.list-header .list-controls .search-container .search-clear[data-v-e08209d6]{display:flex;align-items:center;justify-content:center;margin-left:var(--spacing-sm);padding:var(--spacing-xs);border:none;background:transparent;color:var(--text-tertiary);cursor:pointer;border-radius:50%;transition:all .3s ease;flex-shrink:0}.list-header .list-controls .search-container .search-clear[data-v-e08209d6]:hover{color:var(--text-primary);background:var(--bg-secondary);transform:scale(1.1)}.list-header .list-controls .search-container .search-clear[data-v-e08209d6]:active{transform:scale(.95)}.list-header .list-controls .search-container .search-clear[data-v-e08209d6] IconifyIcon{font-size:1.2rem}.list-header .list-controls .sort-container[data-v-e08209d6]{position:relative;display:flex;align-items:center;background:var(--bg-card);border:2px solid var(--border-light);border-radius:var(--radius-xl);padding:0 var(--spacing-md);transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0000000a,0 1px 2px #00000005;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);min-width:200px;z-index:1000}.list-header .list-controls .sort-container[data-v-e08209d6]:hover{border-color:#007aff4d;box-shadow:0 4px 12px #00000014}.list-header .list-controls .sort-container.is-open[data-v-e08209d6]{border-color:var(--primary-color);box-shadow:0 4px 16px #007aff26,0 0 0 4px #007aff1a}.list-header .list-controls .sort-container .sort-icon[data-v-e08209d6]{font-size:1.25rem;color:var(--text-tertiary);margin-right:var(--spacing-sm);flex-shrink:0;transition:color .3s ease}.list-header .list-controls .sort-container.is-open .sort-icon[data-v-e08209d6]{color:var(--primary-color)}.list-header .list-controls .sort-container .sort-select[data-v-e08209d6]{flex:1;display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) 0;cursor:pointer;-webkit-user-select:none;user-select:none}.list-header .list-controls .sort-container .sort-select .sort-selected[data-v-e08209d6]{font-size:1rem;color:var(--text-primary);font-weight:500;flex:1}.list-header .list-controls .sort-container .sort-select .sort-arrow[data-v-e08209d6]{font-size:1.2rem;color:var(--text-tertiary);margin-left:var(--spacing-sm);transition:transform .3s cubic-bezier(.4,0,.2,1);flex-shrink:0}.list-header .list-controls .sort-container .sort-select .sort-arrow.is-open[data-v-e08209d6]{transform:rotate(180deg);color:var(--primary-color)}.list-header .list-controls .sort-container .sort-dropdown[data-v-e08209d6]{position:absolute;top:calc(100% + var(--spacing-xs));left:0;right:0;background:var(--bg-card);border:2px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:0 8px 24px #0000001f,0 4px 12px #00000014;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);z-index:9999;overflow:hidden;margin-top:var(--spacing-xs)}.list-header .list-controls .sort-container .sort-dropdown .sort-option[data-v-e08209d6]{display:flex;align-items:center;padding:var(--spacing-md) var(--spacing-lg);font-size:1rem;color:var(--text-primary);cursor:pointer;transition:all .2s ease;gap:var(--spacing-sm)}.list-header .list-controls .sort-container .sort-dropdown .sort-option .check-icon[data-v-e08209d6]{font-size:1.1rem;color:var(--primary-color);flex-shrink:0}.list-header .list-controls .sort-container .sort-dropdown .sort-option[data-v-e08209d6]:hover{background:var(--bg-secondary);color:var(--primary-color)}.list-header .list-controls .sort-container .sort-dropdown .sort-option.is-selected[data-v-e08209d6]{background:#007aff14;color:var(--primary-color);font-weight:600}.list-header .list-controls .sort-container .sort-dropdown .sort-option[data-v-e08209d6]:first-child{border-radius:var(--radius-lg) var(--radius-lg) 0 0}.list-header .list-controls .sort-container .sort-dropdown .sort-option[data-v-e08209d6]:last-child{border-radius:0 0 var(--radius-lg) var(--radius-lg)}.loading[data-v-e08209d6]{text-align:center;padding:var(--spacing-2xl) 0}.loading .spinner[data-v-e08209d6]{margin:0 auto var(--spacing-md)}.loading p[data-v-e08209d6]{color:var(--text-secondary);font-size:1.1rem}.error[data-v-e08209d6]{text-align:center;padding:var(--spacing-2xl) 0}.error p[data-v-e08209d6]{color:var(--error-color);font-size:1.1rem;margin-bottom:var(--spacing-md)}.empty[data-v-e08209d6]{text-align:center;padding:var(--spacing-2xl) 0}.empty .empty-icon[data-v-e08209d6]{font-size:4rem;margin-bottom:var(--spacing-md);opacity:.5}.empty p[data-v-e08209d6]{color:var(--text-secondary);font-size:1.1rem;margin-bottom:var(--spacing-sm)}.empty .empty-hint[data-v-e08209d6]{font-size:.9rem;color:var(--text-tertiary)}.apps-grid[data-v-e08209d6]{margin-bottom:var(--spacing-xl)}.list-footer[data-v-e08209d6]{padding:var(--spacing-lg) 0;border-top:1px solid var(--border-light)}.list-footer .footer-stats[data-v-e08209d6]{display:flex;gap:var(--spacing-lg);justify-content:center}.list-footer .footer-stats .stat-item[data-v-e08209d6]{display:flex;gap:var(--spacing-xs)}.list-footer .footer-stats .stat-item .stat-label[data-v-e08209d6]{color:var(--text-secondary);font-size:.9rem}.list-footer .footer-stats .stat-item .stat-value[data-v-e08209d6]{color:var(--text-primary);font-weight:600;font-size:.9rem}@media (max-width: 768px){.app-list[data-v-e08209d6]{padding:var(--spacing-lg) var(--spacing-md);max-width:100%}.list-header[data-v-e08209d6]{margin-bottom:var(--spacing-xl)}.list-header .header-content[data-v-e08209d6]{margin-bottom:var(--spacing-lg)}.list-header .header-content h2[data-v-e08209d6]{font-size:1.5rem;font-weight:700;margin-bottom:var(--spacing-sm);letter-spacing:-.02em}.list-header .header-content .page-description[data-v-e08209d6]{font-size:.95rem;line-height:1.5;color:var(--text-secondary)}.list-header .list-controls[data-v-e08209d6]{flex-direction:column;align-items:stretch;gap:var(--spacing-md)}.list-header .list-controls .search-container[data-v-e08209d6]{min-width:auto;padding:0 var(--spacing-md);border-radius:var(--radius-xl);min-height:48px}.list-header .list-controls .search-container .search-input[data-v-e08209d6]{font-size:1rem;padding:var(--spacing-md) 0}.list-header .list-controls .sort-container[data-v-e08209d6]{min-width:auto;width:100%;padding:0 var(--spacing-md);border-radius:var(--radius-xl);min-height:48px}.list-header .list-controls .sort-container .sort-select[data-v-e08209d6]{padding:var(--spacing-md) 0}.list-header .list-controls .sort-container .sort-select .sort-selected[data-v-e08209d6]{font-size:1rem;font-weight:500}.apps-grid[data-v-e08209d6]{margin-bottom:var(--spacing-xl);gap:var(--spacing-sm);grid-template-columns:1fr}.list-footer[data-v-e08209d6]{padding:var(--spacing-lg) 0;margin-top:var(--spacing-lg)}.list-footer .footer-stats[data-v-e08209d6]{flex-direction:row;gap:var(--spacing-xl);justify-content:center}.list-footer .footer-stats .stat-item[data-v-e08209d6]{font-size:.9rem;font-weight:500}.list-footer .footer-stats .stat-item .stat-label[data-v-e08209d6]{color:var(--text-secondary)}.list-footer .footer-stats .stat-item .stat-value[data-v-e08209d6]{color:var(--text-primary);font-weight:600}.loading[data-v-e08209d6],.error[data-v-e08209d6],.empty[data-v-e08209d6]{padding:var(--spacing-2xl) var(--spacing-lg)}.loading .empty-icon[data-v-e08209d6],.error .empty-icon[data-v-e08209d6],.empty .empty-icon[data-v-e08209d6]{font-size:4rem;margin-bottom:var(--spacing-lg)}.loading p[data-v-e08209d6],.error p[data-v-e08209d6],.empty p[data-v-e08209d6]{font-size:1.1rem;line-height:1.6}.loading .empty-hint[data-v-e08209d6],.error .empty-hint[data-v-e08209d6],.empty .empty-hint[data-v-e08209d6]{font-size:.95rem;margin-top:var(--spacing-sm)}}.dropdown-enter-active[data-v-e08209d6],.dropdown-leave-active[data-v-e08209d6]{transition:all .3s cubic-bezier(.4,0,.2,1)}.dropdown-enter-from[data-v-e08209d6],.dropdown-leave-to[data-v-e08209d6]{opacity:0;transform:translateY(-8px) scale(.95)}.app-detail[data-v-768391e7]{padding:var(--spacing-lg);max-width:1200px;margin:0 auto}.loading[data-v-768391e7],.error[data-v-768391e7]{text-align:center;padding:var(--spacing-2xl) 0}.loading .spinner[data-v-768391e7],.error .spinner[data-v-768391e7]{margin:0 auto var(--spacing-md)}.loading p[data-v-768391e7],.error p[data-v-768391e7]{color:var(--text-secondary);font-size:1.1rem;margin-bottom:var(--spacing-md)}.error p[data-v-768391e7]{color:var(--error-color)}.back-button[data-v-768391e7]{margin-bottom:var(--spacing-lg)}.app-info-card[data-v-768391e7]{padding:var(--spacing-xl);margin-bottom:var(--spacing-lg)}.app-header[data-v-768391e7]{display:flex;align-items:flex-start;gap:var(--spacing-lg)}@media (max-width: 768px){.app-header[data-v-768391e7]{flex-direction:column;text-align:center}}.app-icon-large[data-v-768391e7]{width:120px;height:120px;border-radius:var(--radius-xl);overflow:hidden;background:var(--bg-secondary);flex-shrink:0}.app-icon-large img[data-v-768391e7]{width:100%;height:100%;object-fit:cover}.app-icon-large .icon-loading-large[data-v-768391e7]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary)}.app-icon-large .icon-loading-large .spinner[data-v-768391e7]{width:32px;height:32px;border:3px solid var(--border-color);border-top:3px solid var(--primary-color);border-radius:50%;animation:spin-768391e7 1s linear infinite}.app-icon-large .icon-placeholder-large[data-v-768391e7]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:3rem;font-weight:700;color:var(--text-tertiary);background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover) 100%);color:#fff}.app-meta[data-v-768391e7]{flex:1}.app-meta .app-title[data-v-768391e7]{font-size:2rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-sm)}.app-meta .app-bundle-id[data-v-768391e7]{color:var(--text-secondary);font-size:1rem;margin-bottom:var(--spacing-md);font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace}.app-meta .app-version-info[data-v-768391e7]{display:flex;flex-direction:column;gap:var(--spacing-xs)}.app-meta .app-version-info .current-version[data-v-768391e7]{color:var(--text-primary);font-weight:500}.app-meta .app-version-info .bundle-version[data-v-768391e7]{color:var(--text-tertiary);font-size:.85em;margin-left:.25em;opacity:.7}.app-meta .app-version-info .latest-version[data-v-768391e7]{color:var(--warning-color);font-weight:500}.app-status-section[data-v-768391e7]{display:flex;flex-direction:column;align-items:flex-end;gap:var(--spacing-md)}@media (max-width: 768px){.app-status-section[data-v-768391e7]{align-items:center;width:100%}}.action-buttons[data-v-768391e7]{display:flex;flex-direction:column;gap:var(--spacing-sm)}.action-buttons .btn[data-v-768391e7]{min-width:140px}.action-buttons .unsupported-text[data-v-768391e7],.action-buttons .injected-text[data-v-768391e7]{color:var(--text-secondary);font-style:italic;text-align:center}.detail-grid[data-v-768391e7]{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:var(--spacing-lg)}@media (max-width: 768px){.detail-grid[data-v-768391e7]{grid-template-columns:1fr}}.detail-card[data-v-768391e7]{padding:var(--spacing-lg)}.detail-card h3[data-v-768391e7]{font-size:1.2rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-light)}.info-list[data-v-768391e7]{display:flex;flex-direction:column;gap:var(--spacing-md)}.info-item[data-v-768391e7]{display:flex;justify-content:space-between;align-items:flex-start}.info-item .label[data-v-768391e7]{font-weight:500;color:var(--text-secondary);min-width:100px}.info-item .value[data-v-768391e7]{color:var(--text-primary);text-align:right;word-break:break-all}.info-item .value.text-success[data-v-768391e7]{color:var(--success-color)}.info-item .value.text-warning[data-v-768391e7]{color:var(--warning-color)}.info-item .value.text-error[data-v-768391e7]{color:var(--error-color)}.info-item .value.supported-versions-list[data-v-768391e7]{color:var(--warning-color);font-weight:500;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace}.versions-list[data-v-768391e7]{display:flex;flex-direction:column;gap:var(--spacing-sm)}.version-item[data-v-768391e7]{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);border:1px solid var(--border-light);border-radius:var(--radius-md)}.version-item .version-info[data-v-768391e7]{display:flex;flex-direction:column;gap:var(--spacing-xs);flex:1}.version-item .version-info .version-number[data-v-768391e7]{font-weight:600;color:var(--text-primary);font-size:1rem}.version-item .version-info .version-full[data-v-768391e7]{font-size:.85rem;color:var(--text-secondary);font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace}.version-item .version-info .version-url[data-v-768391e7]{font-size:.85rem;color:var(--text-tertiary);word-break:break-all}.version-item .btn[data-v-768391e7]{margin-left:var(--spacing-md)}.download-progress[data-v-768391e7]{padding:var(--spacing-md);background:var(--bg-secondary);border-radius:var(--radius-md);margin-top:var(--spacing-md)}.download-progress .progress-bar[data-v-768391e7]{height:10px;background:var(--bg-primary);border-radius:12px;overflow:hidden;margin-bottom:var(--spacing-xs);position:relative;box-shadow:inset 0 1px 2px #0000000d}.download-progress .progress-fill[data-v-768391e7]{height:100%;background:linear-gradient(135deg,#007aff,#5ac8fa);transition:width .4s cubic-bezier(.4,0,.2,1);border-radius:12px;position:relative}.download-progress .progress-fill[data-v-768391e7]:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);opacity:0;transition:opacity .3s ease}.download-progress .progress-fill.downloading[data-v-768391e7]:before{opacity:1;animation:shimmer-768391e7 2s infinite}.download-progress .progress-text[data-v-768391e7]{display:block;text-align:center;font-size:.9rem;color:var(--text-primary);font-weight:600}@keyframes shimmer-768391e7{0%{transform:translate(-100%)}to{transform:translate(100%)}}.versions-card .loading[data-v-768391e7],.versions-card .error[data-v-768391e7],.versions-card .empty[data-v-768391e7]{text-align:center;padding:var(--spacing-xl)}.versions-card .loading .spinner[data-v-768391e7],.versions-card .error .spinner[data-v-768391e7],.versions-card .empty .spinner[data-v-768391e7]{width:24px;height:24px;border:2px solid var(--border-color);border-top:2px solid var(--primary-color);border-radius:50%;animation:spin-768391e7 1s linear infinite;margin:0 auto var(--spacing-sm)}.versions-card .loading p[data-v-768391e7],.versions-card .error p[data-v-768391e7],.versions-card .empty p[data-v-768391e7]{color:var(--text-secondary);font-size:.9rem;margin:0}.versions-card .error p[data-v-768391e7]{color:var(--error-color);margin-bottom:var(--spacing-sm)}.versions-card .error .btn[data-v-768391e7]{margin-top:var(--spacing-sm)}.versions-card .empty p[data-v-768391e7]{color:var(--text-tertiary);font-style:italic}@keyframes spin-768391e7{to{transform:rotate(360deg)}}@media (max-width: 480px){.info-item[data-v-768391e7]{flex-direction:column;gap:var(--spacing-xs)}.info-item .value[data-v-768391e7]{text-align:left}}.download-manager[data-v-9ada58e9]{padding:var(--spacing-lg);max-width:1200px;margin:0 auto}.page-header[data-v-9ada58e9]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.page-header h2[data-v-9ada58e9]{margin:0;font-size:1.8rem;color:var(--text-primary)}.stats-cards[data-v-9ada58e9]{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.stat-card[data-v-9ada58e9]{background:var(--bg-card);padding:var(--spacing-md);border-radius:var(--radius-md);display:flex;align-items:center;gap:var(--spacing-md);box-shadow:var(--shadow-sm)}.stat-icon[data-v-9ada58e9]{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.5rem}.stat-icon.downloading[data-v-9ada58e9]{background:#3b82f61a;color:#3b82f6}.stat-icon.completed[data-v-9ada58e9]{background:#22c55e1a;color:#22c55e}.stat-icon.paused[data-v-9ada58e9]{background:#f59e0b1a;color:#f59e0b}.stat-info[data-v-9ada58e9]{flex:1}.stat-value[data-v-9ada58e9]{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.stat-label[data-v-9ada58e9]{color:var(--text-secondary);font-size:.9rem}.filter-bar[data-v-9ada58e9]{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);flex-wrap:wrap}.filter-btn[data-v-9ada58e9]{padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:var(--spacing-xs)}.filter-btn[data-v-9ada58e9]:hover{background:var(--bg-hover)}.filter-btn.active[data-v-9ada58e9]{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.filter-btn .filter-count[data-v-9ada58e9]{background:#fff3;padding:2px 8px;border-radius:12px;font-size:.85rem}.download-list[data-v-9ada58e9]{display:flex;flex-direction:column;gap:var(--spacing-md)}.empty-state[data-v-9ada58e9]{text-align:center;padding:var(--spacing-xl);color:var(--text-secondary)}.empty-state .empty-icon[data-v-9ada58e9]{font-size:4rem;opacity:.3}.empty-state .empty-text[data-v-9ada58e9]{margin-top:var(--spacing-md);font-size:1.1rem}.download-item[data-v-9ada58e9]{padding:var(--spacing-lg)}.item-header[data-v-9ada58e9]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.item-title[data-v-9ada58e9]{display:flex;align-items:center;gap:var(--spacing-sm);flex:1;min-width:0}.item-title .file-icon[data-v-9ada58e9]{color:var(--text-tertiary)}.item-title .file-name[data-v-9ada58e9]{font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-status[data-v-9ada58e9]{padding:4px 12px;border-radius:12px;font-size:.85rem;font-weight:600}.status-downloading[data-v-9ada58e9]{background:#3b82f61a;color:#3b82f6}.status-completed[data-v-9ada58e9]{background:#22c55e1a;color:#22c55e}.status-paused[data-v-9ada58e9]{background:#f59e0b1a;color:#f59e0b}.status-error[data-v-9ada58e9]{background:#ef44441a;color:#ef4444}.item-progress[data-v-9ada58e9]{margin-bottom:var(--spacing-md)}.progress-bar[data-v-9ada58e9]{height:10px;background:var(--bg-secondary);border-radius:12px;overflow:hidden;margin-bottom:var(--spacing-xs);position:relative;box-shadow:inset 0 1px 2px #0000000d}.progress-fill[data-v-9ada58e9]{height:100%;background:linear-gradient(135deg,#007aff,#5ac8fa);transition:width .4s cubic-bezier(.4,0,.2,1);border-radius:12px;position:relative}.progress-fill[data-v-9ada58e9]:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);opacity:0;transition:opacity .3s ease}.progress-fill.downloading[data-v-9ada58e9]:before{opacity:1;animation:shimmer-9ada58e9 2s infinite}@keyframes shimmer-9ada58e9{0%{transform:translate(-100%)}to{transform:translate(100%)}}.progress-info[data-v-9ada58e9]{display:flex;justify-content:space-between;font-size:.85rem}.progress-text[data-v-9ada58e9]{color:var(--primary-color);font-weight:600}.progress-stats[data-v-9ada58e9]{color:var(--text-secondary)}.item-speed-info[data-v-9ada58e9]{display:flex;gap:var(--spacing-lg);margin-bottom:var(--spacing-md)}.speed-item[data-v-9ada58e9]{display:flex;align-items:center;gap:var(--spacing-xs);font-size:.9rem}.speed-item .info-icon[data-v-9ada58e9]{color:var(--text-tertiary);font-size:1.1rem}.speed-item .info-label[data-v-9ada58e9]{color:var(--text-secondary)}.speed-item .info-value[data-v-9ada58e9]{color:var(--text-primary);font-weight:600}.item-error[data-v-9ada58e9]{display:flex;align-items:center;gap:var(--spacing-xs);color:var(--error-color);font-size:.9rem;margin-bottom:var(--spacing-md)}.error-icon[data-v-9ada58e9]{font-size:1.1rem}.item-actions[data-v-9ada58e9]{display:flex;gap:var(--spacing-sm);justify-content:flex-end;flex-wrap:wrap}@media (max-width: 768px){.stats-cards[data-v-9ada58e9]{grid-template-columns:1fr}.item-header[data-v-9ada58e9]{flex-direction:column;align-items:flex-start}.item-speed-info[data-v-9ada58e9]{flex-direction:column;gap:var(--spacing-xs)}}.settings-page[data-v-f4736dff]{padding:var(--spacing-2xl) var(--spacing-xl);max-width:1000px;margin:0 auto}.settings-container[data-v-f4736dff]{position:relative}.settings-header[data-v-f4736dff]{text-align:center;margin-bottom:var(--spacing-2xl)}.settings-header .header-icon-wrapper[data-v-f4736dff]{display:inline-flex;align-items:center;justify-content:center;margin-bottom:var(--spacing-md)}.settings-header .header-icon-wrapper .header-icon[data-v-f4736dff]{font-size:2.5rem;color:var(--primary-color)}.settings-header .settings-title[data-v-f4736dff]{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:var(--spacing-sm)}.settings-header .settings-subtitle[data-v-f4736dff]{color:var(--text-secondary);font-size:1rem}.settings-content[data-v-f4736dff]{display:flex;flex-direction:column;gap:var(--spacing-xl)}.settings-card[data-v-f4736dff]{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-light);box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow .3s ease}.settings-card[data-v-f4736dff]:hover{box-shadow:var(--shadow-md)}.card-header[data-v-f4736dff]{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);border-bottom:1px solid var(--border-light);background:var(--bg-secondary)}.card-header .card-icon-wrapper[data-v-f4736dff]{width:40px;height:40px;border-radius:var(--radius-md);background:var(--primary-color);display:flex;align-items:center;justify-content:center}.card-header .card-icon-wrapper .card-icon[data-v-f4736dff]{font-size:1.25rem;color:#fff}.card-header .card-title[data-v-f4736dff]{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.card-content[data-v-f4736dff]{padding:var(--spacing-xl)}.setting-item[data-v-f4736dff]{margin-bottom:var(--spacing-xl)}.setting-item[data-v-f4736dff]:last-child{margin-bottom:0}.setting-header-row[data-v-f4736dff]{margin-bottom:var(--spacing-md)}.setting-label[data-v-f4736dff]{display:flex;align-items:center;gap:var(--spacing-sm);font-weight:600;color:var(--text-primary);font-size:1rem;margin-bottom:var(--spacing-sm)}.setting-label .label-icon[data-v-f4736dff]{font-size:1.2rem;color:var(--primary-color)}.input-wrapper[data-v-f4736dff]{position:relative;display:flex;align-items:center}.input-wrapper .input-icon[data-v-f4736dff]{position:absolute;left:var(--spacing-md);font-size:1.2rem;color:var(--text-tertiary);z-index:1;pointer-events:none}.input-wrapper .setting-input[data-v-f4736dff]{width:100%;padding:var(--spacing-md) var(--spacing-md) var(--spacing-md) 3rem;border:2px solid var(--border-light);border-radius:var(--radius-lg);background:var(--bg-secondary);color:var(--text-primary);font-size:1rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.input-wrapper .setting-input[data-v-f4736dff]:focus{outline:none;border-color:var(--primary-color);background:var(--bg-card);box-shadow:0 0 0 4px #007aff1a,0 4px 12px #0000000d}.input-wrapper .setting-input:focus~.input-icon[data-v-f4736dff],.input-wrapper .setting-input:focus+.input-icon[data-v-f4736dff]{color:var(--primary-color)}.input-wrapper .setting-input[data-v-f4736dff]::placeholder{color:var(--text-tertiary)}.input-wrapper:focus-within .input-icon[data-v-f4736dff]{color:var(--primary-color)}.select-wrapper[data-v-f4736dff]{position:relative}.select-wrapper .select-arrow[data-v-f4736dff]{position:absolute;right:var(--spacing-md);top:50%;transform:translateY(-50%);font-size:1.2rem;color:var(--text-tertiary);pointer-events:none;z-index:1}.select-wrapper .setting-select[data-v-f4736dff]{width:100%;padding:var(--spacing-md);padding-right:3rem;border:2px solid var(--border-light);border-radius:var(--radius-lg);background:var(--bg-secondary);color:var(--text-primary);font-size:1rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.select-wrapper .setting-select[data-v-f4736dff]:focus{outline:none;border-color:var(--primary-color);background:var(--bg-card);box-shadow:0 0 0 4px #007aff1a,0 4px 12px #0000000d}.select-wrapper .setting-select[data-v-f4736dff]:hover{border-color:#007aff4d}.toggle-item[data-v-f4736dff]{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg);background:var(--bg-secondary);border-radius:var(--radius-lg);border:2px solid var(--border-light);transition:all .3s ease}.toggle-item[data-v-f4736dff]:hover{border-color:#007aff4d;background:var(--bg-card)}.toggle-item .toggle-content[data-v-f4736dff]{flex:1}.toggle-switch[data-v-f4736dff]{position:relative;display:inline-block;width:56px;height:32px;cursor:pointer}.toggle-switch .toggle-input[data-v-f4736dff]{opacity:0;width:0;height:0}.toggle-switch .toggle-input:checked+.toggle-slider[data-v-f4736dff]{background:linear-gradient(135deg,var(--primary-color) 0%,rgb(52,199,89) 100%)}.toggle-switch .toggle-input:checked+.toggle-slider[data-v-f4736dff]:before{transform:translate(24px)}.toggle-switch .toggle-slider[data-v-f4736dff]{position:absolute;top:0;left:0;right:0;bottom:0;background:var(--border-color);border-radius:32px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:inset 0 2px 4px #0000001a}.toggle-switch .toggle-slider[data-v-f4736dff]:before{content:"";position:absolute;height:24px;width:24px;left:4px;bottom:4px;background:#fff;border-radius:50%;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0003}.toggle-switch:hover .toggle-slider[data-v-f4736dff]{box-shadow:inset 0 2px 4px #0000001a,0 0 0 4px #007aff1a}.setting-hint[data-v-f4736dff]{display:flex;align-items:center;gap:var(--spacing-xs);margin-top:var(--spacing-sm);font-size:.875rem;color:var(--text-secondary)}.setting-hint .hint-icon[data-v-f4736dff]{font-size:1rem;color:var(--text-tertiary)}.setting-error[data-v-f4736dff]{display:flex;align-items:center;gap:var(--spacing-xs);margin-top:var(--spacing-sm);font-size:.875rem;color:var(--error-color);font-weight:500}.setting-error .error-icon[data-v-f4736dff]{font-size:1rem}.settings-actions[data-v-f4736dff]{display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-xl);padding-top:var(--spacing-xl);border-top:1px solid var(--border-light)}.btn[data-v-f4736dff]{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.btn .iconify[data-v-f4736dff]{font-size:1rem}.btn[data-v-f4736dff]:disabled{opacity:.6;cursor:not-allowed}.btn.btn-primary[data-v-f4736dff]{background:var(--primary-color);color:#fff}.btn.btn-primary[data-v-f4736dff]:hover:not(:disabled){background:var(--primary-hover)}.btn.btn-secondary[data-v-f4736dff]{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.btn.btn-secondary[data-v-f4736dff]:hover:not(:disabled){background:var(--bg-card)}@media (max-width: 768px){.settings-page[data-v-f4736dff]{padding:var(--spacing-lg)}.settings-header .settings-title[data-v-f4736dff]{font-size:1.75rem}.card-header[data-v-f4736dff]{padding:var(--spacing-md)}.card-content[data-v-f4736dff]{padding:var(--spacing-lg)}.settings-actions[data-v-f4736dff]{flex-direction:column-reverse}.settings-actions .btn[data-v-f4736dff]{width:100%;justify-content:center}}:root{--primary-color: #007aff;--primary-hover: #0056cc;--primary-light: #e3f2fd;--bg-primary: #f5f5f7;--bg-secondary: #fafafa;--bg-card: #ffffff;--bg-sidebar: #f8f9fa;--text-primary: #1d1d1f;--text-secondary: #86868b;--text-tertiary: #a1a1a6;--success-color: #34c759;--warning-color: #ff9500;--error-color: #ff3b30;--info-color: #5ac8fa;--border-color: #e5e5ea;--border-light: #f2f2f7;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1);--shadow-md: 0 4px 12px rgba(0, 0, 0, .15);--shadow-lg: 0 8px 25px rgba(0, 0, 0, .2);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 20px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{height:100vh;display:flex;flex-direction:column}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-sm);font-size:14px;font-weight:500;text-decoration:none;cursor:pointer;transition:all .2s ease;min-height:36px;gap:var(--spacing-xs)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn.btn-primary{background:var(--primary-color);color:#fff}.btn.btn-primary:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn.btn-success{background:var(--success-color);color:#fff}.btn.btn-success:hover:not(:disabled){background:#2fb84d;transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn.btn-warning{background:var(--warning-color);color:#fff}.btn.btn-warning:hover:not(:disabled){background:#e6850e;transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn.btn-error{background:var(--error-color);color:#fff}.btn.btn-error:hover:not(:disabled){background:#e6342a;transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn.btn-outline{background:transparent;border:1px solid var(--border-color);color:var(--text-primary)}.btn.btn-outline:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--primary-color)}.btn-icon{font-size:16px}.nav-icon{font-size:20px}.search-icon{font-size:18px}.empty-icon{font-size:64px;opacity:.5}.card{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-light);transition:all .3s ease}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}input,select,textarea{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:14px;background:var(--bg-card);color:var(--text-primary);transition:all .2s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #007aff1a}input::placeholder,select::placeholder,textarea::placeholder{color:var(--text-tertiary)}.status-badge{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.status-badge.status-supported{background:#34c7591a;color:var(--success-color)}.status-badge.status-injected{background:#007aff1a;color:var(--primary-color)}.status-badge.status-update{background:#ff95001a;color:var(--warning-color)}.status-badge.status-unsupported{background:#ff3b301a;color:var(--error-color)}.grid{display:grid;gap:var(--spacing-lg)}.grid.grid-2{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.grid.grid-3{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.grid.grid-4{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.spinner{width:40px;height:40px;border:3px solid var(--border-light);border-top:3px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}[data-theme=dark]{--bg-primary: #1a1a1a;--bg-secondary: #2a2a2a;--bg-card: #2d2d2d;--bg-sidebar: #252525;--text-primary: #e0e0e0;--text-secondary: #a0a0a0;--text-tertiary: #707070;--border-color: #404040;--border-light: #353535;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 25px rgba(0, 0, 0, .5);--primary-color: #0a84ff;--primary-hover: #0970e0;--primary-light: rgba(10, 132, 255, .15);--success-color: #30d158;--warning-color: #ff9f0a;--error-color: #ff453a;--info-color: #64d2ff;--bg-hover: rgba(255, 255, 255, .05)}*{transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease}img,.no-transition,.spinner{transition:none}@media (max-width: 768px){.grid.grid-2,.grid.grid-3,.grid.grid-4{grid-template-columns:1fr}.btn{width:100%}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}@keyframes float{0%,to{transform:translateZ(0)}25%{transform:translate3d(120px,-100px,0)}50%{transform:translate3d(-80px,100px,0)}75%{transform:translate3d(100px,50px,0)}}@keyframes floatCenter{0%,to{transform:translate3d(-50%,-50%,0) translateZ(0)}25%{transform:translate3d(-50%,-50%,0) translate3d(120px,-100px,0)}50%{transform:translate3d(-50%,-50%,0) translate3d(-80px,100px,0)}75%{transform:translate3d(-50%,-50%,0) translate3d(100px,50px,0)}}@keyframes breathe{0%,to{opacity:1;filter:blur(60px) brightness(1)}50%{opacity:.85;filter:blur(65px) brightness(1.25)}}@keyframes breatheSimple{0%,to{opacity:.6}50%{opacity:1}}@keyframes cardSlideIn{0%{opacity:0;transform:translateY(40px) scale(.95);filter:blur(20px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}.fullscreen-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh}.fullscreen-absolute{position:absolute;width:100%;height:100%}.fade-in{opacity:0;transition:opacity .6s cubic-bezier(.4,0,.2,1)}.fade-in.visible{opacity:1}@keyframes tassel{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(8px,-12px) rotate(2deg)}50%{transform:translate(-6px,10px) rotate(-2deg)}75%{transform:translate(4px,-8px) rotate(1deg)}}@keyframes tasselReverse{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(-8px,12px) rotate(-2deg)}50%{transform:translate(6px,-10px) rotate(2deg)}75%{transform:translate(-4px,8px) rotate(-1deg)}}@keyframes tasselCenter{0%,to{transform:translate(-50%,-50%) translate(0) rotate(0)}25%{transform:translate(-50%,-50%) translate(8px,-12px) rotate(2deg)}50%{transform:translate(-50%,-50%) translate(-6px,10px) rotate(-2deg)}75%{transform:translate(-50%,-50%) translate(4px,-8px) rotate(1deg)}} diff --git a/frontend/dist/index.html b/frontend/dist/index.html index 4a5dd1a..1425094 100644 --- a/frontend/dist/index.html +++ b/frontend/dist/index.html @@ -5,8 +5,8 @@ QiuChenly 应用商店 - - + +