@lzwme/m3u8-dl 1.6.0 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,35 @@
1
+ (function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))n(o);new MutationObserver(o=>{for(const l of o)if(l.type==="childList")for(const r of l.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&n(r)}).observe(document,{childList:!0,subtree:!0});function s(o){const l={};return o.integrity&&(l.integrity=o.integrity),o.referrerPolicy&&(l.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?l.credentials="include":o.crossOrigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function n(o){if(o.ep)return;o.ep=!0;const l=s(o);fetch(o.href,l)}})();function Al(e){const t=Object.create(null);for(const s of e.split(","))t[s]=1;return s=>s in t}const De={},Ms=[],Ot=()=>{},ti=()=>!1,po=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Nl=e=>e.startsWith("onUpdate:"),Je=Object.assign,Rl=(e,t)=>{const s=e.indexOf(t);s>-1&&e.splice(s,1)},wu=Object.prototype.hasOwnProperty,Le=(e,t)=>wu.call(e,t),ie=Array.isArray,Vs=e=>Pn(e)==="[object Map]",Qs=e=>Pn(e)==="[object Set]",fr=e=>Pn(e)==="[object Date]",me=e=>typeof e=="function",Be=e=>typeof e=="string",Ct=e=>typeof e=="symbol",Pe=e=>e!==null&&typeof e=="object",si=e=>(Pe(e)||me(e))&&me(e.then)&&me(e.catch),ni=Object.prototype.toString,Pn=e=>ni.call(e),_u=e=>Pn(e).slice(8,-1),oi=e=>Pn(e)==="[object Object]",mo=e=>Be(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,ln=Al(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),go=e=>{const t=Object.create(null);return(s=>t[s]||(t[s]=e(s)))},xu=/-\w/g,xt=go(e=>e.replace(xu,t=>t.slice(1).toUpperCase())),ku=/\B([A-Z])/g,ps=go(e=>e.replace(ku,"-$1").toLowerCase()),ho=go(e=>e.charAt(0).toUpperCase()+e.slice(1)),Fo=go(e=>e?`on${ho(e)}`:""),ds=(e,t)=>!Object.is(e,t),Qn=(e,...t)=>{for(let s=0;s<e.length;s++)e[s](...t)},li=(e,t,s,n=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:s})},bo=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Su=e=>{const t=Be(e)?Number(e):NaN;return isNaN(t)?e:t};let pr;const vo=()=>pr||(pr=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Dn(e){if(ie(e)){const t={};for(let s=0;s<e.length;s++){const n=e[s],o=Be(n)?Lu(n):Dn(n);if(o)for(const l in o)t[l]=o[l]}return t}else if(Be(e)||Pe(e))return e}const $u=/;(?![^(]*\))/g,Cu=/:([^]+)/,Eu=/\/\*[^]*?\*\//g;function Lu(e){const t={};return e.replace(Eu,"").split($u).forEach(s=>{if(s){const n=s.split(Cu);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function xe(e){let t="";if(Be(e))t=e;else if(ie(e))for(let s=0;s<e.length;s++){const n=xe(e[s]);n&&(t+=n+" ")}else if(Pe(e))for(const s in e)e[s]&&(t+=s+" ");return t.trim()}const Tu="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",Iu=Al(Tu);function ri(e){return!!e||e===""}function Pu(e,t){if(e.length!==t.length)return!1;let s=!0;for(let n=0;s&&n<e.length;n++)s=An(e[n],t[n]);return s}function An(e,t){if(e===t)return!0;let s=fr(e),n=fr(t);if(s||n)return s&&n?e.getTime()===t.getTime():!1;if(s=Ct(e),n=Ct(t),s||n)return e===t;if(s=ie(e),n=ie(t),s||n)return s&&n?Pu(e,t):!1;if(s=Pe(e),n=Pe(t),s||n){if(!s||!n)return!1;const o=Object.keys(e).length,l=Object.keys(t).length;if(o!==l)return!1;for(const r in e){const i=e.hasOwnProperty(r),c=t.hasOwnProperty(r);if(i&&!c||!i&&c||!An(e[r],t[r]))return!1}}return String(e)===String(t)}function Fl(e,t){return e.findIndex(s=>An(s,t))}const ai=e=>!!(e&&e.__v_isRef===!0),p=e=>Be(e)?e:e==null?"":ie(e)||Pe(e)&&(e.toString===ni||!me(e.toString))?ai(e)?p(e.value):JSON.stringify(e,ii,2):String(e),ii=(e,t)=>ai(t)?ii(e,t.value):Vs(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((s,[n,o],l)=>(s[Oo(n,l)+" =>"]=o,s),{})}:Qs(t)?{[`Set(${t.size})`]:[...t.values()].map(s=>Oo(s))}:Ct(t)?Oo(t):Pe(t)&&!ie(t)&&!oi(t)?String(t):t,Oo=(e,t="")=>{var s;return Ct(e)?`Symbol(${(s=e.description)!=null?s:t})`:e};let st;class ci{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=st,!t&&st&&(this.index=(st.scopes||(st.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,s;if(this.scopes)for(t=0,s=this.scopes.length;t<s;t++)this.scopes[t].pause();for(t=0,s=this.effects.length;t<s;t++)this.effects[t].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let t,s;if(this.scopes)for(t=0,s=this.scopes.length;t<s;t++)this.scopes[t].resume();for(t=0,s=this.effects.length;t<s;t++)this.effects[t].resume()}}run(t){if(this._active){const s=st;try{return st=this,t()}finally{st=s}}}on(){++this._on===1&&(this.prevScope=st,st=this)}off(){this._on>0&&--this._on===0&&(st=this.prevScope,this.prevScope=void 0)}stop(t){if(this._active){this._active=!1;let s,n;for(s=0,n=this.effects.length;s<n;s++)this.effects[s].stop();for(this.effects.length=0,s=0,n=this.cleanups.length;s<n;s++)this.cleanups[s]();if(this.cleanups.length=0,this.scopes){for(s=0,n=this.scopes.length;s<n;s++)this.scopes[s].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!t){const o=this.parent.scopes.pop();o&&o!==this&&(this.parent.scopes[this.index]=o,o.index=this.index)}this.parent=void 0}}}function Ol(e){return new ci(e)}function ui(){return st}function Du(e,t=!1){st&&st.cleanups.push(e)}let Ae;const Uo=new WeakSet;class di{constructor(t){this.fn=t,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,st&&st.active&&st.effects.push(this)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,Uo.has(this)&&(Uo.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||pi(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,mr(this),mi(this);const t=Ae,s=$t;Ae=this,$t=!0;try{return this.fn()}finally{gi(this),Ae=t,$t=s,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)Vl(t);this.deps=this.depsTail=void 0,mr(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?Uo.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){sl(this)&&this.run()}get dirty(){return sl(this)}}let fi=0,rn,an;function pi(e,t=!1){if(e.flags|=8,t){e.next=an,an=e;return}e.next=rn,rn=e}function Ul(){fi++}function Ml(){if(--fi>0)return;if(an){let t=an;for(an=void 0;t;){const s=t.next;t.next=void 0,t.flags&=-9,t=s}}let e;for(;rn;){let t=rn;for(rn=void 0;t;){const s=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){e||(e=n)}t=s}}if(e)throw e}function mi(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function gi(e){let t,s=e.depsTail,n=s;for(;n;){const o=n.prevDep;n.version===-1?(n===s&&(s=o),Vl(n),Au(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=o}e.deps=t,e.depsTail=s}function sl(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(hi(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function hi(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===hn)||(e.globalVersion=hn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!sl(e))))return;e.flags|=2;const t=e.dep,s=Ae,n=$t;Ae=e,$t=!0;try{mi(e);const o=e.fn(e._value);(t.version===0||ds(o,e._value))&&(e.flags|=128,e._value=o,t.version++)}catch(o){throw t.version++,o}finally{Ae=s,$t=n,gi(e),e.flags&=-3}}function Vl(e,t=!1){const{dep:s,prevSub:n,nextSub:o}=e;if(n&&(n.nextSub=o,e.prevSub=void 0),o&&(o.prevSub=n,e.nextSub=void 0),s.subs===e&&(s.subs=n,!n&&s.computed)){s.computed.flags&=-5;for(let l=s.computed.deps;l;l=l.nextDep)Vl(l,!0)}!t&&!--s.sc&&s.map&&s.map.delete(s.key)}function Au(e){const{prevDep:t,nextDep:s}=e;t&&(t.nextDep=s,e.prevDep=void 0),s&&(s.prevDep=t,e.nextDep=void 0)}let $t=!0;const bi=[];function Zt(){bi.push($t),$t=!1}function es(){const e=bi.pop();$t=e===void 0?!0:e}function mr(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const s=Ae;Ae=void 0;try{t()}finally{Ae=s}}}let hn=0;class Nu{constructor(t,s){this.sub=t,this.dep=s,this.version=s.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Hl{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(!Ae||!$t||Ae===this.computed)return;let s=this.activeLink;if(s===void 0||s.sub!==Ae)s=this.activeLink=new Nu(Ae,this),Ae.deps?(s.prevDep=Ae.depsTail,Ae.depsTail.nextDep=s,Ae.depsTail=s):Ae.deps=Ae.depsTail=s,vi(s);else if(s.version===-1&&(s.version=this.version,s.nextDep)){const n=s.nextDep;n.prevDep=s.prevDep,s.prevDep&&(s.prevDep.nextDep=n),s.prevDep=Ae.depsTail,s.nextDep=void 0,Ae.depsTail.nextDep=s,Ae.depsTail=s,Ae.deps===s&&(Ae.deps=n)}return s}trigger(t){this.version++,hn++,this.notify(t)}notify(t){Ul();try{for(let s=this.subs;s;s=s.prevSub)s.sub.notify()&&s.sub.dep.notify()}finally{Ml()}}}function vi(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)vi(n)}const s=e.dep.subs;s!==e&&(e.prevSub=s,s&&(s.nextSub=e)),e.dep.subs=e}}const to=new WeakMap,Ts=Symbol(""),nl=Symbol(""),bn=Symbol("");function ot(e,t,s){if($t&&Ae){let n=to.get(e);n||to.set(e,n=new Map);let o=n.get(s);o||(n.set(s,o=new Hl),o.map=n,o.key=s),o.track()}}function Kt(e,t,s,n,o,l){const r=to.get(e);if(!r){hn++;return}const i=c=>{c&&c.trigger()};if(Ul(),t==="clear")r.forEach(i);else{const c=ie(e),u=c&&mo(s);if(c&&s==="length"){const d=Number(n);r.forEach((f,g)=>{(g==="length"||g===bn||!Ct(g)&&g>=d)&&i(f)})}else switch((s!==void 0||r.has(void 0))&&i(r.get(s)),u&&i(r.get(bn)),t){case"add":c?u&&i(r.get("length")):(i(r.get(Ts)),Vs(e)&&i(r.get(nl)));break;case"delete":c||(i(r.get(Ts)),Vs(e)&&i(r.get(nl)));break;case"set":Vs(e)&&i(r.get(Ts));break}}Ml()}function Ru(e,t){const s=to.get(e);return s&&s.get(t)}function Ds(e){const t=_e(e);return t===e?t:(ot(t,"iterate",bn),gt(e)?t:t.map(Et))}function yo(e){return ot(e=_e(e),"iterate",bn),e}function rs(e,t){return ts(e)?Xt(e)?Ws(Et(t)):Ws(t):Et(t)}const Fu={__proto__:null,[Symbol.iterator](){return Mo(this,Symbol.iterator,e=>rs(this,e))},concat(...e){return Ds(this).concat(...e.map(t=>ie(t)?Ds(t):t))},entries(){return Mo(this,"entries",e=>(e[1]=rs(this,e[1]),e))},every(e,t){return Vt(this,"every",e,t,void 0,arguments)},filter(e,t){return Vt(this,"filter",e,t,s=>s.map(n=>rs(this,n)),arguments)},find(e,t){return Vt(this,"find",e,t,s=>rs(this,s),arguments)},findIndex(e,t){return Vt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Vt(this,"findLast",e,t,s=>rs(this,s),arguments)},findLastIndex(e,t){return Vt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Vt(this,"forEach",e,t,void 0,arguments)},includes(...e){return Vo(this,"includes",e)},indexOf(...e){return Vo(this,"indexOf",e)},join(e){return Ds(this).join(e)},lastIndexOf(...e){return Vo(this,"lastIndexOf",e)},map(e,t){return Vt(this,"map",e,t,void 0,arguments)},pop(){return Zs(this,"pop")},push(...e){return Zs(this,"push",e)},reduce(e,...t){return gr(this,"reduce",e,t)},reduceRight(e,...t){return gr(this,"reduceRight",e,t)},shift(){return Zs(this,"shift")},some(e,t){return Vt(this,"some",e,t,void 0,arguments)},splice(...e){return Zs(this,"splice",e)},toReversed(){return Ds(this).toReversed()},toSorted(e){return Ds(this).toSorted(e)},toSpliced(...e){return Ds(this).toSpliced(...e)},unshift(...e){return Zs(this,"unshift",e)},values(){return Mo(this,"values",e=>rs(this,e))}};function Mo(e,t,s){const n=yo(e),o=n[t]();return n!==e&&!gt(e)&&(o._next=o.next,o.next=()=>{const l=o._next();return l.done||(l.value=s(l.value)),l}),o}const Ou=Array.prototype;function Vt(e,t,s,n,o,l){const r=yo(e),i=r!==e&&!gt(e),c=r[t];if(c!==Ou[t]){const f=c.apply(e,l);return i?Et(f):f}let u=s;r!==e&&(i?u=function(f,g){return s.call(this,rs(e,f),g,e)}:s.length>2&&(u=function(f,g){return s.call(this,f,g,e)}));const d=c.call(r,u,n);return i&&o?o(d):d}function gr(e,t,s,n){const o=yo(e);let l=s;return o!==e&&(gt(e)?s.length>3&&(l=function(r,i,c){return s.call(this,r,i,c,e)}):l=function(r,i,c){return s.call(this,r,rs(e,i),c,e)}),o[t](l,...n)}function Vo(e,t,s){const n=_e(e);ot(n,"iterate",bn);const o=n[t](...s);return(o===-1||o===!1)&&wo(s[0])?(s[0]=_e(s[0]),n[t](...s)):o}function Zs(e,t,s=[]){Zt(),Ul();const n=_e(e)[t].apply(e,s);return Ml(),es(),n}const Uu=Al("__proto__,__v_isRef,__isVue"),yi=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Ct));function Mu(e){Ct(e)||(e=String(e));const t=_e(this);return ot(t,"has",e),t.hasOwnProperty(e)}class wi{constructor(t=!1,s=!1){this._isReadonly=t,this._isShallow=s}get(t,s,n){if(s==="__v_skip")return t.__v_skip;const o=this._isReadonly,l=this._isShallow;if(s==="__v_isReactive")return!o;if(s==="__v_isReadonly")return o;if(s==="__v_isShallow")return l;if(s==="__v_raw")return n===(o?l?Yu:Si:l?ki:xi).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const r=ie(t);if(!o){let c;if(r&&(c=Fu[s]))return c;if(s==="hasOwnProperty")return Mu}const i=Reflect.get(t,s,Oe(t)?t:n);if((Ct(s)?yi.has(s):Uu(s))||(o||ot(t,"get",s),l))return i;if(Oe(i)){const c=r&&mo(s)?i:i.value;return o&&Pe(c)?ll(c):c}return Pe(i)?o?ll(i):Nn(i):i}}class _i extends wi{constructor(t=!1){super(!1,t)}set(t,s,n,o){let l=t[s];const r=ie(t)&&mo(s);if(!this._isShallow){const u=ts(l);if(!gt(n)&&!ts(n)&&(l=_e(l),n=_e(n)),!r&&Oe(l)&&!Oe(n))return u||(l.value=n),!0}const i=r?Number(s)<t.length:Le(t,s),c=Reflect.set(t,s,n,Oe(t)?t:o);return t===_e(o)&&(i?ds(n,l)&&Kt(t,"set",s,n):Kt(t,"add",s,n)),c}deleteProperty(t,s){const n=Le(t,s);t[s];const o=Reflect.deleteProperty(t,s);return o&&n&&Kt(t,"delete",s,void 0),o}has(t,s){const n=Reflect.has(t,s);return(!Ct(s)||!yi.has(s))&&ot(t,"has",s),n}ownKeys(t){return ot(t,"iterate",ie(t)?"length":Ts),Reflect.ownKeys(t)}}class Vu extends wi{constructor(t=!1){super(!0,t)}set(t,s){return!0}deleteProperty(t,s){return!0}}const Hu=new _i,ju=new Vu,Wu=new _i(!0);const ol=e=>e,Wn=e=>Reflect.getPrototypeOf(e);function Bu(e,t,s){return function(...n){const o=this.__v_raw,l=_e(o),r=Vs(l),i=e==="entries"||e===Symbol.iterator&&r,c=e==="keys"&&r,u=o[e](...n),d=s?ol:t?Ws:Et;return!t&&ot(l,"iterate",c?nl:Ts),{next(){const{value:f,done:g}=u.next();return g?{value:f,done:g}:{value:i?[d(f[0]),d(f[1])]:d(f),done:g}},[Symbol.iterator](){return this}}}}function Bn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Gu(e,t){const s={get(o){const l=this.__v_raw,r=_e(l),i=_e(o);e||(ds(o,i)&&ot(r,"get",o),ot(r,"get",i));const{has:c}=Wn(r),u=t?ol:e?Ws:Et;if(c.call(r,o))return u(l.get(o));if(c.call(r,i))return u(l.get(i));l!==r&&l.get(o)},get size(){const o=this.__v_raw;return!e&&ot(_e(o),"iterate",Ts),o.size},has(o){const l=this.__v_raw,r=_e(l),i=_e(o);return e||(ds(o,i)&&ot(r,"has",o),ot(r,"has",i)),o===i?l.has(o):l.has(o)||l.has(i)},forEach(o,l){const r=this,i=r.__v_raw,c=_e(i),u=t?ol:e?Ws:Et;return!e&&ot(c,"iterate",Ts),i.forEach((d,f)=>o.call(l,u(d),u(f),r))}};return Je(s,e?{add:Bn("add"),set:Bn("set"),delete:Bn("delete"),clear:Bn("clear")}:{add(o){!t&&!gt(o)&&!ts(o)&&(o=_e(o));const l=_e(this);return Wn(l).has.call(l,o)||(l.add(o),Kt(l,"add",o,o)),this},set(o,l){!t&&!gt(l)&&!ts(l)&&(l=_e(l));const r=_e(this),{has:i,get:c}=Wn(r);let u=i.call(r,o);u||(o=_e(o),u=i.call(r,o));const d=c.call(r,o);return r.set(o,l),u?ds(l,d)&&Kt(r,"set",o,l):Kt(r,"add",o,l),this},delete(o){const l=_e(this),{has:r,get:i}=Wn(l);let c=r.call(l,o);c||(o=_e(o),c=r.call(l,o)),i&&i.call(l,o);const u=l.delete(o);return c&&Kt(l,"delete",o,void 0),u},clear(){const o=_e(this),l=o.size!==0,r=o.clear();return l&&Kt(o,"clear",void 0,void 0),r}}),["keys","values","entries",Symbol.iterator].forEach(o=>{s[o]=Bu(o,e,t)}),s}function jl(e,t){const s=Gu(e,t);return(n,o,l)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?n:Reflect.get(Le(s,o)&&o in n?s:n,o,l)}const Ku={get:jl(!1,!1)},qu={get:jl(!1,!0)},zu={get:jl(!0,!1)};const xi=new WeakMap,ki=new WeakMap,Si=new WeakMap,Yu=new WeakMap;function Xu(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Qu(e){return e.__v_skip||!Object.isExtensible(e)?0:Xu(_u(e))}function Nn(e){return ts(e)?e:Wl(e,!1,Hu,Ku,xi)}function $i(e){return Wl(e,!1,Wu,qu,ki)}function ll(e){return Wl(e,!0,ju,zu,Si)}function Wl(e,t,s,n,o){if(!Pe(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const l=Qu(e);if(l===0)return e;const r=o.get(e);if(r)return r;const i=new Proxy(e,l===2?n:s);return o.set(e,i),i}function Xt(e){return ts(e)?Xt(e.__v_raw):!!(e&&e.__v_isReactive)}function ts(e){return!!(e&&e.__v_isReadonly)}function gt(e){return!!(e&&e.__v_isShallow)}function wo(e){return e?!!e.__v_raw:!1}function _e(e){const t=e&&e.__v_raw;return t?_e(t):e}function Bl(e){return!Le(e,"__v_skip")&&Object.isExtensible(e)&&li(e,"__v_skip",!0),e}const Et=e=>Pe(e)?Nn(e):e,Ws=e=>Pe(e)?ll(e):e;function Oe(e){return e?e.__v_isRef===!0:!1}function z(e){return Ei(e,!1)}function Ci(e){return Ei(e,!0)}function Ei(e,t){return Oe(e)?e:new Ju(e,t)}class Ju{constructor(t,s){this.dep=new Hl,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=s?t:_e(t),this._value=s?t:Et(t),this.__v_isShallow=s}get value(){return this.dep.track(),this._value}set value(t){const s=this._rawValue,n=this.__v_isShallow||gt(t)||ts(t);t=n?t:_e(t),ds(t,s)&&(this._rawValue=t,this._value=n?t:Et(t),this.dep.trigger())}}function he(e){return Oe(e)?e.value:e}const Zu={get:(e,t,s)=>t==="__v_raw"?e:he(Reflect.get(e,t,s)),set:(e,t,s,n)=>{const o=e[t];return Oe(o)&&!Oe(s)?(o.value=s,!0):Reflect.set(e,t,s,n)}};function Li(e){return Xt(e)?e:new Proxy(e,Zu)}function ed(e){const t=ie(e)?new Array(e.length):{};for(const s in e)t[s]=sd(e,s);return t}class td{constructor(t,s,n){this._object=t,this._key=s,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._raw=_e(t);let o=!0,l=t;if(!ie(t)||!mo(String(s)))do o=!wo(l)||gt(l);while(o&&(l=l.__v_raw));this._shallow=o}get value(){let t=this._object[this._key];return this._shallow&&(t=he(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&Oe(this._raw[this._key])){const s=this._object[this._key];if(Oe(s)){s.value=t;return}}this._object[this._key]=t}get dep(){return Ru(this._raw,this._key)}}function sd(e,t,s){return new td(e,t,s)}class nd{constructor(t,s,n){this.fn=t,this.setter=s,this._value=void 0,this.dep=new Hl(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=hn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!s,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&Ae!==this)return pi(this,!0),!0}get value(){const t=this.dep.track();return hi(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function od(e,t,s=!1){let n,o;return me(e)?n=e:(n=e.get,o=e.set),new nd(n,o,s)}const Gn={},so=new WeakMap;let Ss;function ld(e,t=!1,s=Ss){if(s){let n=so.get(s);n||so.set(s,n=[]),n.push(e)}}function rd(e,t,s=De){const{immediate:n,deep:o,once:l,scheduler:r,augmentJob:i,call:c}=s,u=x=>o?x:gt(x)||o===!1||o===0?qt(x,1):qt(x);let d,f,g,v,S=!1,k=!1;if(Oe(e)?(f=()=>e.value,S=gt(e)):Xt(e)?(f=()=>u(e),S=!0):ie(e)?(k=!0,S=e.some(x=>Xt(x)||gt(x)),f=()=>e.map(x=>{if(Oe(x))return x.value;if(Xt(x))return u(x);if(me(x))return c?c(x,2):x()})):me(e)?t?f=c?()=>c(e,2):e:f=()=>{if(g){Zt();try{g()}finally{es()}}const x=Ss;Ss=d;try{return c?c(e,3,[v]):e(v)}finally{Ss=x}}:f=Ot,t&&o){const x=f,D=o===!0?1/0:o;f=()=>qt(x(),D)}const P=ui(),_=()=>{d.stop(),P&&P.active&&Rl(P.effects,d)};if(l&&t){const x=t;t=(...D)=>{x(...D),_()}}let $=k?new Array(e.length).fill(Gn):Gn;const I=x=>{if(!(!(d.flags&1)||!d.dirty&&!x))if(t){const D=d.run();if(o||S||(k?D.some((j,C)=>ds(j,$[C])):ds(D,$))){g&&g();const j=Ss;Ss=d;try{const C=[D,$===Gn?void 0:k&&$[0]===Gn?[]:$,v];$=D,c?c(t,3,C):t(...C)}finally{Ss=j}}}else d.run()};return i&&i(I),d=new di(f),d.scheduler=r?()=>r(I,!1):I,v=x=>ld(x,!1,d),g=d.onStop=()=>{const x=so.get(d);if(x){if(c)c(x,4);else for(const D of x)D();so.delete(d)}},t?n?I(!0):$=d.run():r?r(I.bind(null,!0),!0):d.run(),_.pause=d.pause.bind(d),_.resume=d.resume.bind(d),_.stop=_,_}function qt(e,t=1/0,s){if(t<=0||!Pe(e)||e.__v_skip||(s=s||new Map,(s.get(e)||0)>=t))return e;if(s.set(e,t),t--,Oe(e))qt(e.value,t,s);else if(ie(e))for(let n=0;n<e.length;n++)qt(e[n],t,s);else if(Qs(e)||Vs(e))e.forEach(n=>{qt(n,t,s)});else if(oi(e)){for(const n in e)qt(e[n],t,s);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&qt(e[n],t,s)}return e}function Rn(e,t,s,n){try{return n?e(...n):e()}catch(o){_o(o,t,s)}}function Lt(e,t,s,n){if(me(e)){const o=Rn(e,t,s,n);return o&&si(o)&&o.catch(l=>{_o(l,t,s)}),o}if(ie(e)){const o=[];for(let l=0;l<e.length;l++)o.push(Lt(e[l],t,s,n));return o}}function _o(e,t,s,n=!0){const o=t?t.vnode:null,{errorHandler:l,throwUnhandledErrorInProduction:r}=t&&t.appContext.config||De;if(t){let i=t.parent;const c=t.proxy,u=`https://vuejs.org/error-reference/#runtime-${s}`;for(;i;){const d=i.ec;if(d){for(let f=0;f<d.length;f++)if(d[f](e,c,u)===!1)return}i=i.parent}if(l){Zt(),Rn(l,null,10,[e,c,u]),es();return}}ad(e,s,o,n,r)}function ad(e,t,s,n=!0,o=!1){if(o)throw e;console.error(e)}const ut=[];let Rt=-1;const Hs=[];let as=null,Ns=0;const Ti=Promise.resolve();let no=null;function ms(e){const t=no||Ti;return e?t.then(this?e.bind(this):e):t}function id(e){let t=Rt+1,s=ut.length;for(;t<s;){const n=t+s>>>1,o=ut[n],l=vn(o);l<e||l===e&&o.flags&2?t=n+1:s=n}return t}function Gl(e){if(!(e.flags&1)){const t=vn(e),s=ut[ut.length-1];!s||!(e.flags&2)&&t>=vn(s)?ut.push(e):ut.splice(id(t),0,e),e.flags|=1,Ii()}}function Ii(){no||(no=Ti.then(Di))}function cd(e){ie(e)?Hs.push(...e):as&&e.id===-1?as.splice(Ns+1,0,e):e.flags&1||(Hs.push(e),e.flags|=1),Ii()}function hr(e,t,s=Rt+1){for(;s<ut.length;s++){const n=ut[s];if(n&&n.flags&2){if(e&&n.id!==e.uid)continue;ut.splice(s,1),s--,n.flags&4&&(n.flags&=-2),n(),n.flags&4||(n.flags&=-2)}}}function Pi(e){if(Hs.length){const t=[...new Set(Hs)].sort((s,n)=>vn(s)-vn(n));if(Hs.length=0,as){as.push(...t);return}for(as=t,Ns=0;Ns<as.length;Ns++){const s=as[Ns];s.flags&4&&(s.flags&=-2),s.flags&8||s(),s.flags&=-2}as=null,Ns=0}}const vn=e=>e.id==null?e.flags&2?-1:1/0:e.id;function Di(e){try{for(Rt=0;Rt<ut.length;Rt++){const t=ut[Rt];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),Rn(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;Rt<ut.length;Rt++){const t=ut[Rt];t&&(t.flags&=-2)}Rt=-1,ut.length=0,Pi(),no=null,(ut.length||Hs.length)&&Di()}}let et=null,Ai=null;function oo(e){const t=et;return et=e,Ai=e&&e.type.__scopeId||null,t}function wt(e,t=et,s){if(!t||e._n)return e;const n=(...o)=>{n._d&&ao(-1);const l=oo(t);let r;try{r=e(...o)}finally{oo(l),n._d&&ao(1)}return r};return n._n=!0,n._c=!0,n._d=!0,n}function Te(e,t){if(et===null)return e;const s=Co(et),n=e.dirs||(e.dirs=[]);for(let o=0;o<t.length;o++){let[l,r,i,c=De]=t[o];l&&(me(l)&&(l={mounted:l,updated:l}),l.deep&&qt(r),n.push({dir:l,instance:s,value:r,oldValue:void 0,arg:i,modifiers:c}))}return e}function ws(e,t,s,n){const o=e.dirs,l=t&&t.dirs;for(let r=0;r<o.length;r++){const i=o[r];l&&(i.oldValue=l[r].value);let c=i.dir[n];c&&(Zt(),Lt(c,s,8,[e.el,i,e,t]),es())}}function cn(e,t){if(rt){let s=rt.provides;const n=rt.parent&&rt.parent.provides;n===s&&(s=rt.provides=Object.create(n)),s[e]=t}}function at(e,t,s=!1){const n=$o();if(n||Is){let o=Is?Is._context.provides:n?n.parent==null||n.ce?n.vnode.appContext&&n.vnode.appContext.provides:n.parent.provides:void 0;if(o&&e in o)return o[e];if(arguments.length>1)return s&&me(t)?t.call(n&&n.proxy):t}}function ud(){return!!($o()||Is)}const dd=Symbol.for("v-scx"),fd=()=>at(dd);function We(e,t,s){return Ni(e,t,s)}function Ni(e,t,s=De){const{immediate:n,deep:o,flush:l,once:r}=s,i=Je({},s),c=t&&n||!t&&l!=="post";let u;if(xn){if(l==="sync"){const v=fd();u=v.__watcherHandles||(v.__watcherHandles=[])}else if(!c){const v=()=>{};return v.stop=Ot,v.resume=Ot,v.pause=Ot,v}}const d=rt;i.call=(v,S,k)=>Lt(v,d,S,k);let f=!1;l==="post"?i.scheduler=v=>{pt(v,d&&d.suspense)}:l!=="sync"&&(f=!0,i.scheduler=(v,S)=>{S?v():Gl(v)}),i.augmentJob=v=>{t&&(v.flags|=4),f&&(v.flags|=2,d&&(v.id=d.uid,v.i=d))};const g=rd(e,t,i);return xn&&(u?u.push(g):c&&g()),g}function pd(e,t,s){const n=this.proxy,o=Be(e)?e.includes(".")?Ri(n,e):()=>n[e]:e.bind(n,n);let l;me(t)?l=t:(l=t.handler,s=t);const r=Un(this),i=Ni(o,l.bind(n),s);return r(),i}function Ri(e,t){const s=t.split(".");return()=>{let n=e;for(let o=0;o<s.length&&n;o++)n=n[s[o]];return n}}const md=Symbol("_vte"),Fi=e=>e.__isTeleport,Gt=Symbol("_leaveCb"),Kn=Symbol("_enterCb");function gd(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return It(()=>{e.isMounted=!0}),Bi(()=>{e.isUnmounting=!0}),e}const vt=[Function,Array],Oi={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:vt,onEnter:vt,onAfterEnter:vt,onEnterCancelled:vt,onBeforeLeave:vt,onLeave:vt,onAfterLeave:vt,onLeaveCancelled:vt,onBeforeAppear:vt,onAppear:vt,onAfterAppear:vt,onAppearCancelled:vt},Ui=e=>{const t=e.subTree;return t.component?Ui(t.component):t},hd={name:"BaseTransition",props:Oi,setup(e,{slots:t}){const s=$o(),n=gd();return()=>{const o=t.default&&Hi(t.default(),!0);if(!o||!o.length)return;const l=Mi(o),r=_e(e),{mode:i}=r;if(n.isLeaving)return Ho(l);const c=br(l);if(!c)return Ho(l);let u=rl(c,r,n,s,f=>u=f);c.type!==lt&&yn(c,u);let d=s.subTree&&br(s.subTree);if(d&&d.type!==lt&&!Cs(d,c)&&Ui(s).type!==lt){let f=rl(d,r,n,s);if(yn(d,f),i==="out-in"&&c.type!==lt)return n.isLeaving=!0,f.afterLeave=()=>{n.isLeaving=!1,s.job.flags&8||s.update(),delete f.afterLeave,d=void 0},Ho(l);i==="in-out"&&c.type!==lt?f.delayLeave=(g,v,S)=>{const k=Vi(n,d);k[String(d.key)]=d,g[Gt]=()=>{v(),g[Gt]=void 0,delete u.delayedLeave,d=void 0},u.delayedLeave=()=>{S(),delete u.delayedLeave,d=void 0}}:d=void 0}else d&&(d=void 0);return l}}};function Mi(e){let t=e[0];if(e.length>1){for(const s of e)if(s.type!==lt){t=s;break}}return t}const bd=hd;function Vi(e,t){const{leavingVNodes:s}=e;let n=s.get(t.type);return n||(n=Object.create(null),s.set(t.type,n)),n}function rl(e,t,s,n,o){const{appear:l,mode:r,persisted:i=!1,onBeforeEnter:c,onEnter:u,onAfterEnter:d,onEnterCancelled:f,onBeforeLeave:g,onLeave:v,onAfterLeave:S,onLeaveCancelled:k,onBeforeAppear:P,onAppear:_,onAfterAppear:$,onAppearCancelled:I}=t,x=String(e.key),D=Vi(s,e),j=(V,Z)=>{V&&Lt(V,n,9,Z)},C=(V,Z)=>{const N=Z[1];j(V,Z),ie(V)?V.every(w=>w.length<=1)&&N():V.length<=1&&N()},F={mode:r,persisted:i,beforeEnter(V){let Z=c;if(!s.isMounted)if(l)Z=P||c;else return;V[Gt]&&V[Gt](!0);const N=D[x];N&&Cs(e,N)&&N.el[Gt]&&N.el[Gt](),j(Z,[V])},enter(V){let Z=u,N=d,w=f;if(!s.isMounted)if(l)Z=_||u,N=$||d,w=I||f;else return;let R=!1;const X=V[Kn]=le=>{R||(R=!0,le?j(w,[V]):j(N,[V]),F.delayedLeave&&F.delayedLeave(),V[Kn]=void 0)};Z?C(Z,[V,X]):X()},leave(V,Z){const N=String(e.key);if(V[Kn]&&V[Kn](!0),s.isUnmounting)return Z();j(g,[V]);let w=!1;const R=V[Gt]=X=>{w||(w=!0,Z(),X?j(k,[V]):j(S,[V]),V[Gt]=void 0,D[N]===e&&delete D[N])};D[N]=e,v?C(v,[V,R]):R()},clone(V){const Z=rl(V,t,s,n,o);return o&&o(Z),Z}};return F}function Ho(e){if(xo(e))return e=fs(e),e.children=null,e}function br(e){if(!xo(e))return Fi(e.type)&&e.children?Mi(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:s}=e;if(s){if(t&16)return s[0];if(t&32&&me(s.default))return s.default()}}function yn(e,t){e.shapeFlag&6&&e.component?(e.transition=t,yn(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 Hi(e,t=!1,s){let n=[],o=0;for(let l=0;l<e.length;l++){let r=e[l];const i=s==null?r.key:String(s)+String(r.key!=null?r.key:l);r.type===je?(r.patchFlag&128&&o++,n=n.concat(Hi(r.children,t,i))):(t||r.type!==lt)&&n.push(i!=null?fs(r,{key:i}):r)}if(o>1)for(let l=0;l<n.length;l++)n[l].patchFlag=-2;return n}function Ne(e,t){return me(e)?Je({name:e.name},t,{setup:e}):e}function ji(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}const lo=new WeakMap;function un(e,t,s,n,o=!1){if(ie(e)){e.forEach((S,k)=>un(S,t&&(ie(t)?t[k]:t),s,n,o));return}if(js(n)&&!o){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&un(e,t,s,n.component.subTree);return}const l=n.shapeFlag&4?Co(n.component):n.el,r=o?null:l,{i,r:c}=e,u=t&&t.r,d=i.refs===De?i.refs={}:i.refs,f=i.setupState,g=_e(f),v=f===De?ti:S=>Le(g,S);if(u!=null&&u!==c){if(vr(t),Be(u))d[u]=null,v(u)&&(f[u]=null);else if(Oe(u)){u.value=null;const S=t;S.k&&(d[S.k]=null)}}if(me(c))Rn(c,i,12,[r,d]);else{const S=Be(c),k=Oe(c);if(S||k){const P=()=>{if(e.f){const _=S?v(c)?f[c]:d[c]:c.value;if(o)ie(_)&&Rl(_,l);else if(ie(_))_.includes(l)||_.push(l);else if(S)d[c]=[l],v(c)&&(f[c]=d[c]);else{const $=[l];c.value=$,e.k&&(d[e.k]=$)}}else S?(d[c]=r,v(c)&&(f[c]=r)):k&&(c.value=r,e.k&&(d[e.k]=r))};if(r){const _=()=>{P(),lo.delete(e)};_.id=-1,lo.set(e,_),pt(_,s)}else vr(e),P()}}}function vr(e){const t=lo.get(e);t&&(t.flags|=8,lo.delete(e))}vo().requestIdleCallback;vo().cancelIdleCallback;const js=e=>!!e.type.__asyncLoader,xo=e=>e.type.__isKeepAlive;function vd(e,t){Wi(e,"a",t)}function yd(e,t){Wi(e,"da",t)}function Wi(e,t,s=rt){const n=e.__wdc||(e.__wdc=()=>{let o=s;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(ko(t,n,s),s){let o=s.parent;for(;o&&o.parent;)xo(o.parent.vnode)&&wd(n,t,s,o),o=o.parent}}function wd(e,t,s,n){const o=ko(t,e,n,!0);Ps(()=>{Rl(n[t],o)},s)}function ko(e,t,s=rt,n=!1){if(s){const o=s[e]||(s[e]=[]),l=t.__weh||(t.__weh=(...r)=>{Zt();const i=Un(s),c=Lt(t,s,e,r);return i(),es(),c});return n?o.unshift(l):o.push(l),l}}const ss=e=>(t,s=rt)=>{(!xn||e==="sp")&&ko(e,(...n)=>t(...n),s)},_d=ss("bm"),It=ss("m"),xd=ss("bu"),kd=ss("u"),Bi=ss("bum"),Ps=ss("um"),Sd=ss("sp"),$d=ss("rtg"),Cd=ss("rtc");function Ed(e,t=rt){ko("ec",e,t)}const Ld="components";function Td(e,t){return Pd(Ld,e,!0,t)||e}const Id=Symbol.for("v-ndc");function Pd(e,t,s=!0,n=!1){const o=et||rt;if(o){const l=o.type;{const i=hf(l,!1);if(i&&(i===t||i===xt(t)||i===ho(xt(t))))return l}const r=yr(o[e]||l[e],t)||yr(o.appContext[e],t);return!r&&n?l:r}}function yr(e,t){return e&&(e[t]||e[xt(t)]||e[ho(xt(t))])}function Fn(e,t,s,n){let o;const l=s,r=ie(e);if(r||Be(e)){const i=r&&Xt(e);let c=!1,u=!1;i&&(c=!gt(e),u=ts(e),e=yo(e)),o=new Array(e.length);for(let d=0,f=e.length;d<f;d++)o[d]=t(c?u?Ws(Et(e[d])):Et(e[d]):e[d],d,void 0,l)}else if(typeof e=="number"){o=new Array(e);for(let i=0;i<e;i++)o[i]=t(i+1,i,void 0,l)}else if(Pe(e))if(e[Symbol.iterator])o=Array.from(e,(i,c)=>t(i,c,void 0,l));else{const i=Object.keys(e);o=new Array(i.length);for(let c=0,u=i.length;c<u;c++){const d=i[c];o[c]=t(e[d],d,c,l)}}else o=[];return o}function dn(e,t,s={},n,o){if(et.ce||et.parent&&js(et.parent)&&et.parent.ce){const u=Object.keys(s).length>0;return t!=="default"&&(s.name=t),K(),Mt(je,null,[we("slot",s,n&&n())],u?-2:64)}let l=e[t];l&&l._c&&(l._d=!1),K();const r=l&&Gi(l(s)),i=s.key||r&&r.key,c=Mt(je,{key:(i&&!Ct(i)?i:`_${t}`)+(!r&&n?"_fb":"")},r||(n?n():[]),r&&e._===1?64:-2);return!o&&c.scopeId&&(c.slotScopeIds=[c.scopeId+"-s"]),l&&l._c&&(l._d=!0),c}function Gi(e){return e.some(t=>_n(t)?!(t.type===lt||t.type===je&&!Gi(t.children)):!0)?e:null}const al=e=>e?uc(e)?Co(e):al(e.parent):null,fn=Je(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=>al(e.parent),$root:e=>al(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>qi(e),$forceUpdate:e=>e.f||(e.f=()=>{Gl(e.update)}),$nextTick:e=>e.n||(e.n=ms.bind(e.proxy)),$watch:e=>pd.bind(e)}),jo=(e,t)=>e!==De&&!e.__isScriptSetup&&Le(e,t),Dd={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:s,setupState:n,data:o,props:l,accessCache:r,type:i,appContext:c}=e;if(t[0]!=="$"){const g=r[t];if(g!==void 0)switch(g){case 1:return n[t];case 2:return o[t];case 4:return s[t];case 3:return l[t]}else{if(jo(n,t))return r[t]=1,n[t];if(o!==De&&Le(o,t))return r[t]=2,o[t];if(Le(l,t))return r[t]=3,l[t];if(s!==De&&Le(s,t))return r[t]=4,s[t];il&&(r[t]=0)}}const u=fn[t];let d,f;if(u)return t==="$attrs"&&ot(e.attrs,"get",""),u(e);if((d=i.__cssModules)&&(d=d[t]))return d;if(s!==De&&Le(s,t))return r[t]=4,s[t];if(f=c.config.globalProperties,Le(f,t))return f[t]},set({_:e},t,s){const{data:n,setupState:o,ctx:l}=e;return jo(o,t)?(o[t]=s,!0):n!==De&&Le(n,t)?(n[t]=s,!0):Le(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(l[t]=s,!0)},has({_:{data:e,setupState:t,accessCache:s,ctx:n,appContext:o,props:l,type:r}},i){let c;return!!(s[i]||e!==De&&i[0]!=="$"&&Le(e,i)||jo(t,i)||Le(l,i)||Le(n,i)||Le(fn,i)||Le(o.config.globalProperties,i)||(c=r.__cssModules)&&c[i])},defineProperty(e,t,s){return s.get!=null?e._.accessCache[t]=0:Le(s,"value")&&this.set(e,t,s.value,null),Reflect.defineProperty(e,t,s)}};function wr(e){return ie(e)?e.reduce((t,s)=>(t[s]=null,t),{}):e}let il=!0;function Ad(e){const t=qi(e),s=e.proxy,n=e.ctx;il=!1,t.beforeCreate&&_r(t.beforeCreate,e,"bc");const{data:o,computed:l,methods:r,watch:i,provide:c,inject:u,created:d,beforeMount:f,mounted:g,beforeUpdate:v,updated:S,activated:k,deactivated:P,beforeDestroy:_,beforeUnmount:$,destroyed:I,unmounted:x,render:D,renderTracked:j,renderTriggered:C,errorCaptured:F,serverPrefetch:V,expose:Z,inheritAttrs:N,components:w,directives:R,filters:X}=t;if(u&&Nd(u,n,null),r)for(const re in r){const pe=r[re];me(pe)&&(n[re]=pe.bind(s))}if(o){const re=o.call(s,s);Pe(re)&&(e.data=Nn(re))}if(il=!0,l)for(const re in l){const pe=l[re],Re=me(pe)?pe.bind(s,s):me(pe.get)?pe.get.bind(s,s):Ot,Ze=!me(pe)&&me(pe.set)?pe.set.bind(s):Ot,ze=fe({get:Re,set:Ze});Object.defineProperty(n,re,{enumerable:!0,configurable:!0,get:()=>ze.value,set:Ue=>ze.value=Ue})}if(i)for(const re in i)Ki(i[re],n,s,re);if(c){const re=me(c)?c.call(s):c;Reflect.ownKeys(re).forEach(pe=>{cn(pe,re[pe])})}d&&_r(d,e,"c");function ae(re,pe){ie(pe)?pe.forEach(Re=>re(Re.bind(s))):pe&&re(pe.bind(s))}if(ae(_d,f),ae(It,g),ae(xd,v),ae(kd,S),ae(vd,k),ae(yd,P),ae(Ed,F),ae(Cd,j),ae($d,C),ae(Bi,$),ae(Ps,x),ae(Sd,V),ie(Z))if(Z.length){const re=e.exposed||(e.exposed={});Z.forEach(pe=>{Object.defineProperty(re,pe,{get:()=>s[pe],set:Re=>s[pe]=Re,enumerable:!0})})}else e.exposed||(e.exposed={});D&&e.render===Ot&&(e.render=D),N!=null&&(e.inheritAttrs=N),w&&(e.components=w),R&&(e.directives=R),V&&ji(e)}function Nd(e,t,s=Ot){ie(e)&&(e=cl(e));for(const n in e){const o=e[n];let l;Pe(o)?"default"in o?l=at(o.from||n,o.default,!0):l=at(o.from||n):l=at(o),Oe(l)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>l.value,set:r=>l.value=r}):t[n]=l}}function _r(e,t,s){Lt(ie(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,s)}function Ki(e,t,s,n){let o=n.includes(".")?Ri(s,n):()=>s[n];if(Be(e)){const l=t[e];me(l)&&We(o,l)}else if(me(e))We(o,e.bind(s));else if(Pe(e))if(ie(e))e.forEach(l=>Ki(l,t,s,n));else{const l=me(e.handler)?e.handler.bind(s):t[e.handler];me(l)&&We(o,l,e)}}function qi(e){const t=e.type,{mixins:s,extends:n}=t,{mixins:o,optionsCache:l,config:{optionMergeStrategies:r}}=e.appContext,i=l.get(t);let c;return i?c=i:!o.length&&!s&&!n?c=t:(c={},o.length&&o.forEach(u=>ro(c,u,r,!0)),ro(c,t,r)),Pe(t)&&l.set(t,c),c}function ro(e,t,s,n=!1){const{mixins:o,extends:l}=t;l&&ro(e,l,s,!0),o&&o.forEach(r=>ro(e,r,s,!0));for(const r in t)if(!(n&&r==="expose")){const i=Rd[r]||s&&s[r];e[r]=i?i(e[r],t[r]):t[r]}return e}const Rd={data:xr,props:kr,emits:kr,methods:on,computed:on,beforeCreate:it,created:it,beforeMount:it,mounted:it,beforeUpdate:it,updated:it,beforeDestroy:it,beforeUnmount:it,destroyed:it,unmounted:it,activated:it,deactivated:it,errorCaptured:it,serverPrefetch:it,components:on,directives:on,watch:Od,provide:xr,inject:Fd};function xr(e,t){return t?e?function(){return Je(me(e)?e.call(this,this):e,me(t)?t.call(this,this):t)}:t:e}function Fd(e,t){return on(cl(e),cl(t))}function cl(e){if(ie(e)){const t={};for(let s=0;s<e.length;s++)t[e[s]]=e[s];return t}return e}function it(e,t){return e?[...new Set([].concat(e,t))]:t}function on(e,t){return e?Je(Object.create(null),e,t):t}function kr(e,t){return e?ie(e)&&ie(t)?[...new Set([...e,...t])]:Je(Object.create(null),wr(e),wr(t??{})):t}function Od(e,t){if(!e)return t;if(!t)return e;const s=Je(Object.create(null),e);for(const n in t)s[n]=it(e[n],t[n]);return s}function zi(){return{app:null,config:{isNativeTag:ti,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let Ud=0;function Md(e,t){return function(n,o=null){me(n)||(n=Je({},n)),o!=null&&!Pe(o)&&(o=null);const l=zi(),r=new WeakSet,i=[];let c=!1;const u=l.app={_uid:Ud++,_component:n,_props:o,_container:null,_context:l,_instance:null,version:vf,get config(){return l.config},set config(d){},use(d,...f){return r.has(d)||(d&&me(d.install)?(r.add(d),d.install(u,...f)):me(d)&&(r.add(d),d(u,...f))),u},mixin(d){return l.mixins.includes(d)||l.mixins.push(d),u},component(d,f){return f?(l.components[d]=f,u):l.components[d]},directive(d,f){return f?(l.directives[d]=f,u):l.directives[d]},mount(d,f,g){if(!c){const v=u._ceVNode||we(n,o);return v.appContext=l,g===!0?g="svg":g===!1&&(g=void 0),e(v,d,g),c=!0,u._container=d,d.__vue_app__=u,Co(v.component)}},onUnmount(d){i.push(d)},unmount(){c&&(Lt(i,u._instance,16),e(null,u._container),delete u._container.__vue_app__)},provide(d,f){return l.provides[d]=f,u},runWithContext(d){const f=Is;Is=u;try{return d()}finally{Is=f}}};return u}}let Is=null;const Vd=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${xt(t)}Modifiers`]||e[`${ps(t)}Modifiers`];function Hd(e,t,...s){if(e.isUnmounted)return;const n=e.vnode.props||De;let o=s;const l=t.startsWith("update:"),r=l&&Vd(n,t.slice(7));r&&(r.trim&&(o=s.map(d=>Be(d)?d.trim():d)),r.number&&(o=s.map(bo)));let i,c=n[i=Fo(t)]||n[i=Fo(xt(t))];!c&&l&&(c=n[i=Fo(ps(t))]),c&&Lt(c,e,6,o);const u=n[i+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[i])return;e.emitted[i]=!0,Lt(u,e,6,o)}}const jd=new WeakMap;function Yi(e,t,s=!1){const n=s?jd:t.emitsCache,o=n.get(e);if(o!==void 0)return o;const l=e.emits;let r={},i=!1;if(!me(e)){const c=u=>{const d=Yi(u,t,!0);d&&(i=!0,Je(r,d))};!s&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!l&&!i?(Pe(e)&&n.set(e,null),null):(ie(l)?l.forEach(c=>r[c]=null):Je(r,l),Pe(e)&&n.set(e,r),r)}function So(e,t){return!e||!po(t)?!1:(t=t.slice(2).replace(/Once$/,""),Le(e,t[0].toLowerCase()+t.slice(1))||Le(e,ps(t))||Le(e,t))}function Sr(e){const{type:t,vnode:s,proxy:n,withProxy:o,propsOptions:[l],slots:r,attrs:i,emit:c,render:u,renderCache:d,props:f,data:g,setupState:v,ctx:S,inheritAttrs:k}=e,P=oo(e);let _,$;try{if(s.shapeFlag&4){const x=o||n,D=x;_=Ft(u.call(D,x,d,f,v,g,S)),$=i}else{const x=t;_=Ft(x.length>1?x(f,{attrs:i,slots:r,emit:c}):x(f,null)),$=t.props?i:Wd(i)}}catch(x){pn.length=0,_o(x,e,1),_=we(lt)}let I=_;if($&&k!==!1){const x=Object.keys($),{shapeFlag:D}=I;x.length&&D&7&&(l&&x.some(Nl)&&($=Bd($,l)),I=fs(I,$,!1,!0))}return s.dirs&&(I=fs(I,null,!1,!0),I.dirs=I.dirs?I.dirs.concat(s.dirs):s.dirs),s.transition&&yn(I,s.transition),_=I,oo(P),_}const Wd=e=>{let t;for(const s in e)(s==="class"||s==="style"||po(s))&&((t||(t={}))[s]=e[s]);return t},Bd=(e,t)=>{const s={};for(const n in e)(!Nl(n)||!(n.slice(9)in t))&&(s[n]=e[n]);return s};function Gd(e,t,s){const{props:n,children:o,component:l}=e,{props:r,children:i,patchFlag:c}=t,u=l.emitsOptions;if(t.dirs||t.transition)return!0;if(s&&c>=0){if(c&1024)return!0;if(c&16)return n?$r(n,r,u):!!r;if(c&8){const d=t.dynamicProps;for(let f=0;f<d.length;f++){const g=d[f];if(r[g]!==n[g]&&!So(u,g))return!0}}}else return(o||i)&&(!i||!i.$stable)?!0:n===r?!1:n?r?$r(n,r,u):!0:!!r;return!1}function $r(e,t,s){const n=Object.keys(t);if(n.length!==Object.keys(e).length)return!0;for(let o=0;o<n.length;o++){const l=n[o];if(t[l]!==e[l]&&!So(s,l))return!0}return!1}function Kd({vnode:e,parent:t},s){for(;t;){const n=t.subTree;if(n.suspense&&n.suspense.activeBranch===e&&(n.el=e.el),n===e)(e=t.vnode).el=s,t=t.parent;else break}}const Xi={},Qi=()=>Object.create(Xi),Ji=e=>Object.getPrototypeOf(e)===Xi;function qd(e,t,s,n=!1){const o={},l=Qi();e.propsDefaults=Object.create(null),Zi(e,t,o,l);for(const r in e.propsOptions[0])r in o||(o[r]=void 0);s?e.props=n?o:$i(o):e.type.props?e.props=o:e.props=l,e.attrs=l}function zd(e,t,s,n){const{props:o,attrs:l,vnode:{patchFlag:r}}=e,i=_e(o),[c]=e.propsOptions;let u=!1;if((n||r>0)&&!(r&16)){if(r&8){const d=e.vnode.dynamicProps;for(let f=0;f<d.length;f++){let g=d[f];if(So(e.emitsOptions,g))continue;const v=t[g];if(c)if(Le(l,g))v!==l[g]&&(l[g]=v,u=!0);else{const S=xt(g);o[S]=ul(c,i,S,v,e,!1)}else v!==l[g]&&(l[g]=v,u=!0)}}}else{Zi(e,t,o,l)&&(u=!0);let d;for(const f in i)(!t||!Le(t,f)&&((d=ps(f))===f||!Le(t,d)))&&(c?s&&(s[f]!==void 0||s[d]!==void 0)&&(o[f]=ul(c,i,f,void 0,e,!0)):delete o[f]);if(l!==i)for(const f in l)(!t||!Le(t,f))&&(delete l[f],u=!0)}u&&Kt(e.attrs,"set","")}function Zi(e,t,s,n){const[o,l]=e.propsOptions;let r=!1,i;if(t)for(let c in t){if(ln(c))continue;const u=t[c];let d;o&&Le(o,d=xt(c))?!l||!l.includes(d)?s[d]=u:(i||(i={}))[d]=u:So(e.emitsOptions,c)||(!(c in n)||u!==n[c])&&(n[c]=u,r=!0)}if(l){const c=_e(s),u=i||De;for(let d=0;d<l.length;d++){const f=l[d];s[f]=ul(o,c,f,u[f],e,!Le(u,f))}}return r}function ul(e,t,s,n,o,l){const r=e[s];if(r!=null){const i=Le(r,"default");if(i&&n===void 0){const c=r.default;if(r.type!==Function&&!r.skipFactory&&me(c)){const{propsDefaults:u}=o;if(s in u)n=u[s];else{const d=Un(o);n=u[s]=c.call(null,t),d()}}else n=c;o.ce&&o.ce._setProp(s,n)}r[0]&&(l&&!i?n=!1:r[1]&&(n===""||n===ps(s))&&(n=!0))}return n}const Yd=new WeakMap;function ec(e,t,s=!1){const n=s?Yd:t.propsCache,o=n.get(e);if(o)return o;const l=e.props,r={},i=[];let c=!1;if(!me(e)){const d=f=>{c=!0;const[g,v]=ec(f,t,!0);Je(r,g),v&&i.push(...v)};!s&&t.mixins.length&&t.mixins.forEach(d),e.extends&&d(e.extends),e.mixins&&e.mixins.forEach(d)}if(!l&&!c)return Pe(e)&&n.set(e,Ms),Ms;if(ie(l))for(let d=0;d<l.length;d++){const f=xt(l[d]);Cr(f)&&(r[f]=De)}else if(l)for(const d in l){const f=xt(d);if(Cr(f)){const g=l[d],v=r[f]=ie(g)||me(g)?{type:g}:Je({},g),S=v.type;let k=!1,P=!0;if(ie(S))for(let _=0;_<S.length;++_){const $=S[_],I=me($)&&$.name;if(I==="Boolean"){k=!0;break}else I==="String"&&(P=!1)}else k=me(S)&&S.name==="Boolean";v[0]=k,v[1]=P,(k||Le(v,"default"))&&i.push(f)}}const u=[r,i];return Pe(e)&&n.set(e,u),u}function Cr(e){return e[0]!=="$"&&!ln(e)}const Kl=e=>e==="_"||e==="_ctx"||e==="$stable",ql=e=>ie(e)?e.map(Ft):[Ft(e)],Xd=(e,t,s)=>{if(t._n)return t;const n=wt((...o)=>ql(t(...o)),s);return n._c=!1,n},tc=(e,t,s)=>{const n=e._ctx;for(const o in e){if(Kl(o))continue;const l=e[o];if(me(l))t[o]=Xd(o,l,n);else if(l!=null){const r=ql(l);t[o]=()=>r}}},sc=(e,t)=>{const s=ql(t);e.slots.default=()=>s},nc=(e,t,s)=>{for(const n in t)(s||!Kl(n))&&(e[n]=t[n])},Qd=(e,t,s)=>{const n=e.slots=Qi();if(e.vnode.shapeFlag&32){const o=t._;o?(nc(n,t,s),s&&li(n,"_",o,!0)):tc(t,n)}else t&&sc(e,t)},Jd=(e,t,s)=>{const{vnode:n,slots:o}=e;let l=!0,r=De;if(n.shapeFlag&32){const i=t._;i?s&&i===1?l=!1:nc(o,t,s):(l=!t.$stable,tc(t,o)),r=t}else t&&(sc(e,t),r={default:1});if(l)for(const i in o)!Kl(i)&&r[i]==null&&delete o[i]},pt=nf;function Zd(e){return ef(e)}function ef(e,t){const s=vo();s.__VUE__=!0;const{insert:n,remove:o,patchProp:l,createElement:r,createText:i,createComment:c,setText:u,setElementText:d,parentNode:f,nextSibling:g,setScopeId:v=Ot,insertStaticContent:S}=e,k=(m,h,E,U=null,B=null,W=null,b=void 0,y=null,L=!!h.dynamicChildren)=>{if(m===h)return;m&&!Cs(m,h)&&(U=H(m),Ue(m,B,W,!0),m=null),h.patchFlag===-2&&(L=!1,h.dynamicChildren=null);const{type:A,ref:ee,shapeFlag:G}=h;switch(A){case On:P(m,h,E,U);break;case lt:_(m,h,E,U);break;case Bo:m==null&&$(h,E,U,b);break;case je:w(m,h,E,U,B,W,b,y,L);break;default:G&1?D(m,h,E,U,B,W,b,y,L):G&6?R(m,h,E,U,B,W,b,y,L):(G&64||G&128)&&A.process(m,h,E,U,B,W,b,y,L,ne)}ee!=null&&B?un(ee,m&&m.ref,W,h||m,!h):ee==null&&m&&m.ref!=null&&un(m.ref,null,W,m,!0)},P=(m,h,E,U)=>{if(m==null)n(h.el=i(h.children),E,U);else{const B=h.el=m.el;h.children!==m.children&&u(B,h.children)}},_=(m,h,E,U)=>{m==null?n(h.el=c(h.children||""),E,U):h.el=m.el},$=(m,h,E,U)=>{[m.el,m.anchor]=S(m.children,h,E,U,m.el,m.anchor)},I=({el:m,anchor:h},E,U)=>{let B;for(;m&&m!==h;)B=g(m),n(m,E,U),m=B;n(h,E,U)},x=({el:m,anchor:h})=>{let E;for(;m&&m!==h;)E=g(m),o(m),m=E;o(h)},D=(m,h,E,U,B,W,b,y,L)=>{if(h.type==="svg"?b="svg":h.type==="math"&&(b="mathml"),m==null)j(h,E,U,B,W,b,y,L);else{const A=m.el&&m.el._isVueCE?m.el:null;try{A&&A._beginPatch(),V(m,h,B,W,b,y,L)}finally{A&&A._endPatch()}}},j=(m,h,E,U,B,W,b,y)=>{let L,A;const{props:ee,shapeFlag:G,transition:T,dirs:O}=m;if(L=m.el=r(m.type,W,ee&&ee.is,ee),G&8?d(L,m.children):G&16&&F(m.children,L,null,U,B,Wo(m,W),b,y),O&&ws(m,null,U,"created"),C(L,m,m.scopeId,b,U),ee){for(const ue in ee)ue!=="value"&&!ln(ue)&&l(L,ue,null,ee[ue],W,U);"value"in ee&&l(L,"value",null,ee.value,W),(A=ee.onVnodeBeforeMount)&&Dt(A,U,m)}O&&ws(m,null,U,"beforeMount");const oe=tf(B,T);oe&&T.beforeEnter(L),n(L,h,E),((A=ee&&ee.onVnodeMounted)||oe||O)&&pt(()=>{A&&Dt(A,U,m),oe&&T.enter(L),O&&ws(m,null,U,"mounted")},B)},C=(m,h,E,U,B)=>{if(E&&v(m,E),U)for(let W=0;W<U.length;W++)v(m,U[W]);if(B){let W=B.subTree;if(h===W||ac(W.type)&&(W.ssContent===h||W.ssFallback===h)){const b=B.vnode;C(m,b,b.scopeId,b.slotScopeIds,B.parent)}}},F=(m,h,E,U,B,W,b,y,L=0)=>{for(let A=L;A<m.length;A++){const ee=m[A]=y?is(m[A]):Ft(m[A]);k(null,ee,h,E,U,B,W,b,y)}},V=(m,h,E,U,B,W,b)=>{const y=h.el=m.el;let{patchFlag:L,dynamicChildren:A,dirs:ee}=h;L|=m.patchFlag&16;const G=m.props||De,T=h.props||De;let O;if(E&&_s(E,!1),(O=T.onVnodeBeforeUpdate)&&Dt(O,E,h,m),ee&&ws(h,m,E,"beforeUpdate"),E&&_s(E,!0),(G.innerHTML&&T.innerHTML==null||G.textContent&&T.textContent==null)&&d(y,""),A?Z(m.dynamicChildren,A,y,E,U,Wo(h,B),W):b||pe(m,h,y,null,E,U,Wo(h,B),W,!1),L>0){if(L&16)N(y,G,T,E,B);else if(L&2&&G.class!==T.class&&l(y,"class",null,T.class,B),L&4&&l(y,"style",G.style,T.style,B),L&8){const oe=h.dynamicProps;for(let ue=0;ue<oe.length;ue++){const be=oe[ue],Ye=G[be],He=T[be];(He!==Ye||be==="value")&&l(y,be,Ye,He,B,E)}}L&1&&m.children!==h.children&&d(y,h.children)}else!b&&A==null&&N(y,G,T,E,B);((O=T.onVnodeUpdated)||ee)&&pt(()=>{O&&Dt(O,E,h,m),ee&&ws(h,m,E,"updated")},U)},Z=(m,h,E,U,B,W,b)=>{for(let y=0;y<h.length;y++){const L=m[y],A=h[y],ee=L.el&&(L.type===je||!Cs(L,A)||L.shapeFlag&198)?f(L.el):E;k(L,A,ee,null,U,B,W,b,!0)}},N=(m,h,E,U,B)=>{if(h!==E){if(h!==De)for(const W in h)!ln(W)&&!(W in E)&&l(m,W,h[W],null,B,U);for(const W in E){if(ln(W))continue;const b=E[W],y=h[W];b!==y&&W!=="value"&&l(m,W,y,b,B,U)}"value"in E&&l(m,"value",h.value,E.value,B)}},w=(m,h,E,U,B,W,b,y,L)=>{const A=h.el=m?m.el:i(""),ee=h.anchor=m?m.anchor:i("");let{patchFlag:G,dynamicChildren:T,slotScopeIds:O}=h;O&&(y=y?y.concat(O):O),m==null?(n(A,E,U),n(ee,E,U),F(h.children||[],E,ee,B,W,b,y,L)):G>0&&G&64&&T&&m.dynamicChildren&&m.dynamicChildren.length===T.length?(Z(m.dynamicChildren,T,E,B,W,b,y),(h.key!=null||B&&h===B.subTree)&&oc(m,h,!0)):pe(m,h,E,ee,B,W,b,y,L)},R=(m,h,E,U,B,W,b,y,L)=>{h.slotScopeIds=y,m==null?h.shapeFlag&512?B.ctx.activate(h,E,U,b,L):X(h,E,U,B,W,b,L):le(m,h,L)},X=(m,h,E,U,B,W,b)=>{const y=m.component=df(m,U,B);if(xo(m)&&(y.ctx.renderer=ne),ff(y,!1,b),y.asyncDep){if(B&&B.registerDep(y,ae,b),!m.el){const L=y.subTree=we(lt);_(null,L,h,E),m.placeholder=L.el}}else ae(y,m,h,E,B,W,b)},le=(m,h,E)=>{const U=h.component=m.component;if(Gd(m,h,E))if(U.asyncDep&&!U.asyncResolved){re(U,h,E);return}else U.next=h,U.update();else h.el=m.el,U.vnode=h},ae=(m,h,E,U,B,W,b)=>{const y=()=>{if(m.isMounted){let{next:G,bu:T,u:O,parent:oe,vnode:ue}=m;{const kt=lc(m);if(kt){G&&(G.el=ue.el,re(m,G,b)),kt.asyncDep.then(()=>{m.isUnmounted||y()});return}}let be=G,Ye;_s(m,!1),G?(G.el=ue.el,re(m,G,b)):G=ue,T&&Qn(T),(Ye=G.props&&G.props.onVnodeBeforeUpdate)&&Dt(Ye,oe,G,ue),_s(m,!0);const He=Sr(m),bt=m.subTree;m.subTree=He,k(bt,He,f(bt.el),H(bt),m,B,W),G.el=He.el,be===null&&Kd(m,He.el),O&&pt(O,B),(Ye=G.props&&G.props.onVnodeUpdated)&&pt(()=>Dt(Ye,oe,G,ue),B)}else{let G;const{el:T,props:O}=h,{bm:oe,m:ue,parent:be,root:Ye,type:He}=m,bt=js(h);_s(m,!1),oe&&Qn(oe),!bt&&(G=O&&O.onVnodeBeforeMount)&&Dt(G,be,h),_s(m,!0);{Ye.ce&&Ye.ce._def.shadowRoot!==!1&&Ye.ce._injectChildStyle(He);const kt=m.subTree=Sr(m);k(null,kt,E,U,m,B,W),h.el=kt.el}if(ue&&pt(ue,B),!bt&&(G=O&&O.onVnodeMounted)){const kt=h;pt(()=>Dt(G,be,kt),B)}(h.shapeFlag&256||be&&js(be.vnode)&&be.vnode.shapeFlag&256)&&m.a&&pt(m.a,B),m.isMounted=!0,h=E=U=null}};m.scope.on();const L=m.effect=new di(y);m.scope.off();const A=m.update=L.run.bind(L),ee=m.job=L.runIfDirty.bind(L);ee.i=m,ee.id=m.uid,L.scheduler=()=>Gl(ee),_s(m,!0),A()},re=(m,h,E)=>{h.component=m;const U=m.vnode.props;m.vnode=h,m.next=null,zd(m,h.props,U,E),Jd(m,h.children,E),Zt(),hr(m),es()},pe=(m,h,E,U,B,W,b,y,L=!1)=>{const A=m&&m.children,ee=m?m.shapeFlag:0,G=h.children,{patchFlag:T,shapeFlag:O}=h;if(T>0){if(T&128){Ze(A,G,E,U,B,W,b,y,L);return}else if(T&256){Re(A,G,E,U,B,W,b,y,L);return}}O&8?(ee&16&&$e(A,B,W),G!==A&&d(E,G)):ee&16?O&16?Ze(A,G,E,U,B,W,b,y,L):$e(A,B,W,!0):(ee&8&&d(E,""),O&16&&F(G,E,U,B,W,b,y,L))},Re=(m,h,E,U,B,W,b,y,L)=>{m=m||Ms,h=h||Ms;const A=m.length,ee=h.length,G=Math.min(A,ee);let T;for(T=0;T<G;T++){const O=h[T]=L?is(h[T]):Ft(h[T]);k(m[T],O,E,null,B,W,b,y,L)}A>ee?$e(m,B,W,!0,!1,G):F(h,E,U,B,W,b,y,L,G)},Ze=(m,h,E,U,B,W,b,y,L)=>{let A=0;const ee=h.length;let G=m.length-1,T=ee-1;for(;A<=G&&A<=T;){const O=m[A],oe=h[A]=L?is(h[A]):Ft(h[A]);if(Cs(O,oe))k(O,oe,E,null,B,W,b,y,L);else break;A++}for(;A<=G&&A<=T;){const O=m[G],oe=h[T]=L?is(h[T]):Ft(h[T]);if(Cs(O,oe))k(O,oe,E,null,B,W,b,y,L);else break;G--,T--}if(A>G){if(A<=T){const O=T+1,oe=O<ee?h[O].el:U;for(;A<=T;)k(null,h[A]=L?is(h[A]):Ft(h[A]),E,oe,B,W,b,y,L),A++}}else if(A>T)for(;A<=G;)Ue(m[A],B,W,!0),A++;else{const O=A,oe=A,ue=new Map;for(A=oe;A<=T;A++){const ft=h[A]=L?is(h[A]):Ft(h[A]);ft.key!=null&&ue.set(ft.key,A)}let be,Ye=0;const He=T-oe+1;let bt=!1,kt=0;const Js=new Array(He);for(A=0;A<He;A++)Js[A]=0;for(A=O;A<=G;A++){const ft=m[A];if(Ye>=He){Ue(ft,B,W,!0);continue}let Pt;if(ft.key!=null)Pt=ue.get(ft.key);else for(be=oe;be<=T;be++)if(Js[be-oe]===0&&Cs(ft,h[be])){Pt=be;break}Pt===void 0?Ue(ft,B,W,!0):(Js[Pt-oe]=A+1,Pt>=kt?kt=Pt:bt=!0,k(ft,h[Pt],E,null,B,W,b,y,L),Ye++)}const cr=bt?sf(Js):Ms;for(be=cr.length-1,A=He-1;A>=0;A--){const ft=oe+A,Pt=h[ft],ur=h[ft+1],dr=ft+1<ee?ur.el||rc(ur):U;Js[A]===0?k(null,Pt,E,dr,B,W,b,y,L):bt&&(be<0||A!==cr[be]?ze(Pt,E,dr,2):be--)}}},ze=(m,h,E,U,B=null)=>{const{el:W,type:b,transition:y,children:L,shapeFlag:A}=m;if(A&6){ze(m.component.subTree,h,E,U);return}if(A&128){m.suspense.move(h,E,U);return}if(A&64){b.move(m,h,E,ne);return}if(b===je){n(W,h,E);for(let G=0;G<L.length;G++)ze(L[G],h,E,U);n(m.anchor,h,E);return}if(b===Bo){I(m,h,E);return}if(U!==2&&A&1&&y)if(U===0)y.beforeEnter(W),n(W,h,E),pt(()=>y.enter(W),B);else{const{leave:G,delayLeave:T,afterLeave:O}=y,oe=()=>{m.ctx.isUnmounted?o(W):n(W,h,E)},ue=()=>{W._isLeaving&&W[Gt](!0),G(W,()=>{oe(),O&&O()})};T?T(W,oe,ue):ue()}else n(W,h,E)},Ue=(m,h,E,U=!1,B=!1)=>{const{type:W,props:b,ref:y,children:L,dynamicChildren:A,shapeFlag:ee,patchFlag:G,dirs:T,cacheIndex:O}=m;if(G===-2&&(B=!1),y!=null&&(Zt(),un(y,null,E,m,!0),es()),O!=null&&(h.renderCache[O]=void 0),ee&256){h.ctx.deactivate(m);return}const oe=ee&1&&T,ue=!js(m);let be;if(ue&&(be=b&&b.onVnodeBeforeUnmount)&&Dt(be,h,m),ee&6)ye(m.component,E,U);else{if(ee&128){m.suspense.unmount(E,U);return}oe&&ws(m,null,h,"beforeUnmount"),ee&64?m.type.remove(m,h,E,ne,U):A&&!A.hasOnce&&(W!==je||G>0&&G&64)?$e(A,h,E,!1,!0):(W===je&&G&384||!B&&ee&16)&&$e(L,h,E),U&&q(m)}(ue&&(be=b&&b.onVnodeUnmounted)||oe)&&pt(()=>{be&&Dt(be,h,m),oe&&ws(m,null,h,"unmounted")},E)},q=m=>{const{type:h,el:E,anchor:U,transition:B}=m;if(h===je){ce(E,U);return}if(h===Bo){x(m);return}const W=()=>{o(E),B&&!B.persisted&&B.afterLeave&&B.afterLeave()};if(m.shapeFlag&1&&B&&!B.persisted){const{leave:b,delayLeave:y}=B,L=()=>b(E,W);y?y(m.el,W,L):L()}else W()},ce=(m,h)=>{let E;for(;m!==h;)E=g(m),o(m),m=E;o(h)},ye=(m,h,E)=>{const{bum:U,scope:B,job:W,subTree:b,um:y,m:L,a:A}=m;Er(L),Er(A),U&&Qn(U),B.stop(),W&&(W.flags|=8,Ue(b,m,h,E)),y&&pt(y,h),pt(()=>{m.isUnmounted=!0},h)},$e=(m,h,E,U=!1,B=!1,W=0)=>{for(let b=W;b<m.length;b++)Ue(m[b],h,E,U,B)},H=m=>{if(m.shapeFlag&6)return H(m.component.subTree);if(m.shapeFlag&128)return m.suspense.next();const h=g(m.anchor||m.el),E=h&&h[md];return E?g(E):h};let J=!1;const Q=(m,h,E)=>{let U;m==null?h._vnode&&(Ue(h._vnode,null,null,!0),U=h._vnode.component):k(h._vnode||null,m,h,null,null,null,E),h._vnode=m,J||(J=!0,hr(U),Pi(),J=!1)},ne={p:k,um:Ue,m:ze,r:q,mt:X,mc:F,pc:pe,pbc:Z,n:H,o:e};return{render:Q,hydrate:void 0,createApp:Md(Q)}}function Wo({type:e,props:t},s){return s==="svg"&&e==="foreignObject"||s==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:s}function _s({effect:e,job:t},s){s?(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 oc(e,t,s=!1){const n=e.children,o=t.children;if(ie(n)&&ie(o))for(let l=0;l<n.length;l++){const r=n[l];let i=o[l];i.shapeFlag&1&&!i.dynamicChildren&&((i.patchFlag<=0||i.patchFlag===32)&&(i=o[l]=is(o[l]),i.el=r.el),!s&&i.patchFlag!==-2&&oc(r,i)),i.type===On&&(i.patchFlag!==-1?i.el=r.el:i.__elIndex=l+(e.type===je?1:0)),i.type===lt&&!i.el&&(i.el=r.el)}}function sf(e){const t=e.slice(),s=[0];let n,o,l,r,i;const c=e.length;for(n=0;n<c;n++){const u=e[n];if(u!==0){if(o=s[s.length-1],e[o]<u){t[n]=o,s.push(n);continue}for(l=0,r=s.length-1;l<r;)i=l+r>>1,e[s[i]]<u?l=i+1:r=i;u<e[s[l]]&&(l>0&&(t[n]=s[l-1]),s[l]=n)}}for(l=s.length,r=s[l-1];l-- >0;)s[l]=r,r=t[r];return s}function lc(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:lc(t)}function Er(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function rc(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?rc(t.subTree):null}const ac=e=>e.__isSuspense;function nf(e,t){t&&t.pendingBranch?ie(e)?t.effects.push(...e):t.effects.push(e):cd(e)}const je=Symbol.for("v-fgt"),On=Symbol.for("v-txt"),lt=Symbol.for("v-cmt"),Bo=Symbol.for("v-stc"),pn=[];let mt=null;function K(e=!1){pn.push(mt=e?null:[])}function of(){pn.pop(),mt=pn[pn.length-1]||null}let wn=1;function ao(e,t=!1){wn+=e,e<0&&mt&&t&&(mt.hasOnce=!0)}function ic(e){return e.dynamicChildren=wn>0?mt||Ms:null,of(),wn>0&&mt&&mt.push(e),e}function Y(e,t,s,n,o,l){return ic(a(e,t,s,n,o,l,!0))}function Mt(e,t,s,n,o){return ic(we(e,t,s,n,o,!0))}function _n(e){return e?e.__v_isVNode===!0:!1}function Cs(e,t){return e.type===t.type&&e.key===t.key}const cc=({key:e})=>e??null,Jn=({ref:e,ref_key:t,ref_for:s})=>(typeof e=="number"&&(e=""+e),e!=null?Be(e)||Oe(e)||me(e)?{i:et,r:e,k:t,f:!!s}:e:null);function a(e,t=null,s=null,n=0,o=null,l=e===je?0:1,r=!1,i=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&cc(t),ref:t&&Jn(t),scopeId:Ai,slotScopeIds:null,children:s,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:l,patchFlag:n,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:et};return i?(zl(c,s),l&128&&e.normalize(c)):s&&(c.shapeFlag|=Be(s)?8:16),wn>0&&!r&&mt&&(c.patchFlag>0||l&6)&&c.patchFlag!==32&&mt.push(c),c}const we=lf;function lf(e,t=null,s=null,n=0,o=null,l=!1){if((!e||e===Id)&&(e=lt),_n(e)){const i=fs(e,t,!0);return s&&zl(i,s),wn>0&&!l&&mt&&(i.shapeFlag&6?mt[mt.indexOf(e)]=i:mt.push(i)),i.patchFlag=-2,i}if(bf(e)&&(e=e.__vccOpts),t){t=rf(t);let{class:i,style:c}=t;i&&!Be(i)&&(t.class=xe(i)),Pe(c)&&(wo(c)&&!ie(c)&&(c=Je({},c)),t.style=Dn(c))}const r=Be(e)?1:ac(e)?128:Fi(e)?64:Pe(e)?4:me(e)?2:0;return a(e,t,s,n,o,r,l,!0)}function rf(e){return e?wo(e)||Ji(e)?Je({},e):e:null}function fs(e,t,s=!1,n=!1){const{props:o,ref:l,patchFlag:r,children:i,transition:c}=e,u=t?af(o||{},t):o,d={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&cc(u),ref:t&&t.ref?s&&l?ie(l)?l.concat(Jn(t)):[l,Jn(t)]:Jn(t):l,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==je?r===-1?16:r|16:r,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&fs(e.ssContent),ssFallback:e.ssFallback&&fs(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&n&&yn(d,c.clone(d)),d}function de(e=" ",t=0){return we(On,null,e,t)}function te(e="",t=!1){return t?(K(),Mt(lt,null,e)):we(lt,null,e)}function Ft(e){return e==null||typeof e=="boolean"?we(lt):ie(e)?we(je,null,e.slice()):_n(e)?is(e):we(On,null,String(e))}function is(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:fs(e)}function zl(e,t){let s=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(ie(t))s=16;else if(typeof t=="object")if(n&65){const o=t.default;o&&(o._c&&(o._d=!1),zl(e,o()),o._c&&(o._d=!0));return}else{s=32;const o=t._;!o&&!Ji(t)?t._ctx=et:o===3&&et&&(et.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else me(t)?(t={default:t,_ctx:et},s=32):(t=String(t),n&64?(s=16,t=[de(t)]):s=8);e.children=t,e.shapeFlag|=s}function af(...e){const t={};for(let s=0;s<e.length;s++){const n=e[s];for(const o in n)if(o==="class")t.class!==n.class&&(t.class=xe([t.class,n.class]));else if(o==="style")t.style=Dn([t.style,n.style]);else if(po(o)){const l=t[o],r=n[o];r&&l!==r&&!(ie(l)&&l.includes(r))&&(t[o]=l?[].concat(l,r):r)}else o!==""&&(t[o]=n[o])}return t}function Dt(e,t,s,n=null){Lt(e,t,7,[s,n])}const cf=zi();let uf=0;function df(e,t,s){const n=e.type,o=(t?t.appContext:e.appContext)||cf,l={uid:uf++,vnode:e,type:n,parent:t,appContext:o,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new ci(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(o.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:ec(n,o),emitsOptions:Yi(n,o),emit:null,emitted:null,propsDefaults:De,inheritAttrs:n.inheritAttrs,ctx:De,data:De,props:De,attrs:De,slots:De,refs:De,setupState:De,setupContext:null,suspense:s,suspenseId:s?s.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return l.ctx={_:l},l.root=t?t.root:l,l.emit=Hd.bind(null,l),e.ce&&e.ce(l),l}let rt=null;const $o=()=>rt||et;let io,dl;{const e=vo(),t=(s,n)=>{let o;return(o=e[s])||(o=e[s]=[]),o.push(n),l=>{o.length>1?o.forEach(r=>r(l)):o[0](l)}};io=t("__VUE_INSTANCE_SETTERS__",s=>rt=s),dl=t("__VUE_SSR_SETTERS__",s=>xn=s)}const Un=e=>{const t=rt;return io(e),e.scope.on(),()=>{e.scope.off(),io(t)}},Lr=()=>{rt&&rt.scope.off(),io(null)};function uc(e){return e.vnode.shapeFlag&4}let xn=!1;function ff(e,t=!1,s=!1){t&&dl(t);const{props:n,children:o}=e.vnode,l=uc(e);qd(e,n,l,t),Qd(e,o,s||t);const r=l?pf(e,t):void 0;return t&&dl(!1),r}function pf(e,t){const s=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Dd);const{setup:n}=s;if(n){Zt();const o=e.setupContext=n.length>1?gf(e):null,l=Un(e),r=Rn(n,e,0,[e.props,o]),i=si(r);if(es(),l(),(i||e.sp)&&!js(e)&&ji(e),i){if(r.then(Lr,Lr),t)return r.then(c=>{Tr(e,c)}).catch(c=>{_o(c,e,0)});e.asyncDep=r}else Tr(e,r)}else dc(e)}function Tr(e,t,s){me(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Pe(t)&&(e.setupState=Li(t)),dc(e)}function dc(e,t,s){const n=e.type;e.render||(e.render=n.render||Ot);{const o=Un(e);Zt();try{Ad(e)}finally{es(),o()}}}const mf={get(e,t){return ot(e,"get",""),e[t]}};function gf(e){const t=s=>{e.exposed=s||{}};return{attrs:new Proxy(e.attrs,mf),slots:e.slots,emit:e.emit,expose:t}}function Co(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Li(Bl(e.exposed)),{get(t,s){if(s in t)return t[s];if(s in fn)return fn[s](e)},has(t,s){return s in t||s in fn}})):e.proxy}function hf(e,t=!0){return me(e)?e.displayName||e.name:e.name||t&&e.__name}function bf(e){return me(e)&&"__vccOpts"in e}const fe=(e,t)=>od(e,t,xn);function Mn(e,t,s){try{ao(-1);const n=arguments.length;return n===2?Pe(t)&&!ie(t)?_n(t)?we(e,null,[t]):we(e,t):we(e,null,t):(n>3?s=Array.prototype.slice.call(arguments,2):n===3&&_n(s)&&(s=[s]),we(e,t,s))}finally{ao(1)}}const vf="3.5.26";let fl;const Ir=typeof window<"u"&&window.trustedTypes;if(Ir)try{fl=Ir.createPolicy("vue",{createHTML:e=>e})}catch{}const fc=fl?e=>fl.createHTML(e):e=>e,yf="http://www.w3.org/2000/svg",wf="http://www.w3.org/1998/Math/MathML",Bt=typeof document<"u"?document:null,Pr=Bt&&Bt.createElement("template"),_f={insert:(e,t,s)=>{t.insertBefore(e,s||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,s,n)=>{const o=t==="svg"?Bt.createElementNS(yf,e):t==="mathml"?Bt.createElementNS(wf,e):s?Bt.createElement(e,{is:s}):Bt.createElement(e);return e==="select"&&n&&n.multiple!=null&&o.setAttribute("multiple",n.multiple),o},createText:e=>Bt.createTextNode(e),createComment:e=>Bt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Bt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,s,n,o,l){const r=s?s.previousSibling:t.lastChild;if(o&&(o===l||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),s),!(o===l||!(o=o.nextSibling)););else{Pr.innerHTML=fc(n==="svg"?`<svg>${e}</svg>`:n==="mathml"?`<math>${e}</math>`:e);const i=Pr.content;if(n==="svg"||n==="mathml"){const c=i.firstChild;for(;c.firstChild;)i.appendChild(c.firstChild);i.removeChild(c)}t.insertBefore(i,s)}return[r?r.nextSibling:t.firstChild,s?s.previousSibling:t.lastChild]}},ns="transition",en="animation",kn=Symbol("_vtc"),pc={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},xf=Je({},Oi,pc),kf=e=>(e.displayName="Transition",e.props=xf,e),mc=kf((e,{slots:t})=>Mn(bd,Sf(e),t)),xs=(e,t=[])=>{ie(e)?e.forEach(s=>s(...t)):e&&e(...t)},Dr=e=>e?ie(e)?e.some(t=>t.length>1):e.length>1:!1;function Sf(e){const t={};for(const w in e)w in pc||(t[w]=e[w]);if(e.css===!1)return t;const{name:s="v",type:n,duration:o,enterFromClass:l=`${s}-enter-from`,enterActiveClass:r=`${s}-enter-active`,enterToClass:i=`${s}-enter-to`,appearFromClass:c=l,appearActiveClass:u=r,appearToClass:d=i,leaveFromClass:f=`${s}-leave-from`,leaveActiveClass:g=`${s}-leave-active`,leaveToClass:v=`${s}-leave-to`}=e,S=$f(o),k=S&&S[0],P=S&&S[1],{onBeforeEnter:_,onEnter:$,onEnterCancelled:I,onLeave:x,onLeaveCancelled:D,onBeforeAppear:j=_,onAppear:C=$,onAppearCancelled:F=I}=t,V=(w,R,X,le)=>{w._enterCancelled=le,ks(w,R?d:i),ks(w,R?u:r),X&&X()},Z=(w,R)=>{w._isLeaving=!1,ks(w,f),ks(w,v),ks(w,g),R&&R()},N=w=>(R,X)=>{const le=w?C:$,ae=()=>V(R,w,X);xs(le,[R,ae]),Ar(()=>{ks(R,w?c:l),Ht(R,w?d:i),Dr(le)||Nr(R,n,k,ae)})};return Je(t,{onBeforeEnter(w){xs(_,[w]),Ht(w,l),Ht(w,r)},onBeforeAppear(w){xs(j,[w]),Ht(w,c),Ht(w,u)},onEnter:N(!1),onAppear:N(!0),onLeave(w,R){w._isLeaving=!0;const X=()=>Z(w,R);Ht(w,f),w._enterCancelled?(Ht(w,g),Or(w)):(Or(w),Ht(w,g)),Ar(()=>{w._isLeaving&&(ks(w,f),Ht(w,v),Dr(x)||Nr(w,n,P,X))}),xs(x,[w,X])},onEnterCancelled(w){V(w,!1,void 0,!0),xs(I,[w])},onAppearCancelled(w){V(w,!0,void 0,!0),xs(F,[w])},onLeaveCancelled(w){Z(w),xs(D,[w])}})}function $f(e){if(e==null)return null;if(Pe(e))return[Go(e.enter),Go(e.leave)];{const t=Go(e);return[t,t]}}function Go(e){return Su(e)}function Ht(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.add(s)),(e[kn]||(e[kn]=new Set)).add(t)}function ks(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.remove(n));const s=e[kn];s&&(s.delete(t),s.size||(e[kn]=void 0))}function Ar(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Cf=0;function Nr(e,t,s,n){const o=e._endId=++Cf,l=()=>{o===e._endId&&n()};if(s!=null)return setTimeout(l,s);const{type:r,timeout:i,propCount:c}=Ef(e,t);if(!r)return n();const u=r+"end";let d=0;const f=()=>{e.removeEventListener(u,g),l()},g=v=>{v.target===e&&++d>=c&&f()};setTimeout(()=>{d<c&&f()},i+1),e.addEventListener(u,g)}function Ef(e,t){const s=window.getComputedStyle(e),n=S=>(s[S]||"").split(", "),o=n(`${ns}Delay`),l=n(`${ns}Duration`),r=Rr(o,l),i=n(`${en}Delay`),c=n(`${en}Duration`),u=Rr(i,c);let d=null,f=0,g=0;t===ns?r>0&&(d=ns,f=r,g=l.length):t===en?u>0&&(d=en,f=u,g=c.length):(f=Math.max(r,u),d=f>0?r>u?ns:en:null,g=d?d===ns?l.length:c.length:0);const v=d===ns&&/\b(?:transform|all)(?:,|$)/.test(n(`${ns}Property`).toString());return{type:d,timeout:f,propCount:g,hasTransform:v}}function Rr(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max(...t.map((s,n)=>Fr(s)+Fr(e[n])))}function Fr(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Or(e){return(e?e.ownerDocument:document).body.offsetHeight}function Lf(e,t,s){const n=e[kn];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):s?e.setAttribute("class",t):e.className=t}const Ur=Symbol("_vod"),Tf=Symbol("_vsh"),If=Symbol(""),Pf=/(?:^|;)\s*display\s*:/;function Df(e,t,s){const n=e.style,o=Be(s);let l=!1;if(s&&!o){if(t)if(Be(t))for(const r of t.split(";")){const i=r.slice(0,r.indexOf(":")).trim();s[i]==null&&Zn(n,i,"")}else for(const r in t)s[r]==null&&Zn(n,r,"");for(const r in s)r==="display"&&(l=!0),Zn(n,r,s[r])}else if(o){if(t!==s){const r=n[If];r&&(s+=";"+r),n.cssText=s,l=Pf.test(s)}}else t&&e.removeAttribute("style");Ur in e&&(e[Ur]=l?n.display:"",e[Tf]&&(n.display="none"))}const Mr=/\s*!important$/;function Zn(e,t,s){if(ie(s))s.forEach(n=>Zn(e,t,n));else if(s==null&&(s=""),t.startsWith("--"))e.setProperty(t,s);else{const n=Af(e,t);Mr.test(s)?e.setProperty(ps(n),s.replace(Mr,""),"important"):e[n]=s}}const Vr=["Webkit","Moz","ms"],Ko={};function Af(e,t){const s=Ko[t];if(s)return s;let n=xt(t);if(n!=="filter"&&n in e)return Ko[t]=n;n=ho(n);for(let o=0;o<Vr.length;o++){const l=Vr[o]+n;if(l in e)return Ko[t]=l}return t}const Hr="http://www.w3.org/1999/xlink";function jr(e,t,s,n,o,l=Iu(t)){n&&t.startsWith("xlink:")?s==null?e.removeAttributeNS(Hr,t.slice(6,t.length)):e.setAttributeNS(Hr,t,s):s==null||l&&!ri(s)?e.removeAttribute(t):e.setAttribute(t,l?"":Ct(s)?String(s):s)}function Wr(e,t,s,n,o){if(t==="innerHTML"||t==="textContent"){s!=null&&(e[t]=t==="innerHTML"?fc(s):s);return}const l=e.tagName;if(t==="value"&&l!=="PROGRESS"&&!l.includes("-")){const i=l==="OPTION"?e.getAttribute("value")||"":e.value,c=s==null?e.type==="checkbox"?"on":"":String(s);(i!==c||!("_value"in e))&&(e.value=c),s==null&&e.removeAttribute(t),e._value=s;return}let r=!1;if(s===""||s==null){const i=typeof e[t];i==="boolean"?s=ri(s):s==null&&i==="string"?(s="",r=!0):i==="number"&&(s=0,r=!0)}try{e[t]=s}catch{}r&&e.removeAttribute(o||t)}function us(e,t,s,n){e.addEventListener(t,s,n)}function Nf(e,t,s,n){e.removeEventListener(t,s,n)}const Br=Symbol("_vei");function Rf(e,t,s,n,o=null){const l=e[Br]||(e[Br]={}),r=l[t];if(n&&r)r.value=n;else{const[i,c]=Ff(t);if(n){const u=l[t]=Mf(n,o);us(e,i,u,c)}else r&&(Nf(e,i,r,c),l[t]=void 0)}}const Gr=/(?:Once|Passive|Capture)$/;function Ff(e){let t;if(Gr.test(e)){t={};let n;for(;n=e.match(Gr);)e=e.slice(0,e.length-n[0].length),t[n[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):ps(e.slice(2)),t]}let qo=0;const Of=Promise.resolve(),Uf=()=>qo||(Of.then(()=>qo=0),qo=Date.now());function Mf(e,t){const s=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=s.attached)return;Lt(Vf(n,s.value),t,5,[n])};return s.value=e,s.attached=Uf(),s}function Vf(e,t){if(ie(t)){const s=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{s.call(e),e._stopped=!0},t.map(n=>o=>!o._stopped&&n&&n(o))}else return t}const Kr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Hf=(e,t,s,n,o,l)=>{const r=o==="svg";t==="class"?Lf(e,n,r):t==="style"?Df(e,s,n):po(t)?Nl(t)||Rf(e,t,s,n,l):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):jf(e,t,n,r))?(Wr(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&jr(e,t,n,r,l,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!Be(n))?Wr(e,xt(t),n,l,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),jr(e,t,n,r))};function jf(e,t,s,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&Kr(t)&&me(s));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const o=e.tagName;if(o==="IMG"||o==="VIDEO"||o==="CANVAS"||o==="SOURCE")return!1}return Kr(t)&&Be(s)?!1:t in e}const Bs=e=>{const t=e.props["onUpdate:modelValue"]||!1;return ie(t)?s=>Qn(t,s):t};function Wf(e){e.target.composing=!0}function qr(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Qt=Symbol("_assign");function zr(e,t,s){return t&&(e=e.trim()),s&&(e=bo(e)),e}const Ge={created(e,{modifiers:{lazy:t,trim:s,number:n}},o){e[Qt]=Bs(o);const l=n||o.props&&o.props.type==="number";us(e,t?"change":"input",r=>{r.target.composing||e[Qt](zr(e.value,s,l))}),(s||l)&&us(e,"change",()=>{e.value=zr(e.value,s,l)}),t||(us(e,"compositionstart",Wf),us(e,"compositionend",qr),us(e,"change",qr))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:s,modifiers:{lazy:n,trim:o,number:l}},r){if(e[Qt]=Bs(r),e.composing)return;const i=(l||e.type==="number")&&!/^0\d/.test(e.value)?bo(e.value):e.value,c=t??"";i!==c&&(document.activeElement===e&&e.type!=="range"&&(n&&t===s||o&&e.value.trim()===c)||(e.value=c))}},Us={deep:!0,created(e,t,s){e[Qt]=Bs(s),us(e,"change",()=>{const n=e._modelValue,o=Sn(e),l=e.checked,r=e[Qt];if(ie(n)){const i=Fl(n,o),c=i!==-1;if(l&&!c)r(n.concat(o));else if(!l&&c){const u=[...n];u.splice(i,1),r(u)}}else if(Qs(n)){const i=new Set(n);l?i.add(o):i.delete(o),r(i)}else r(gc(e,l))})},mounted:Yr,beforeUpdate(e,t,s){e[Qt]=Bs(s),Yr(e,t,s)}};function Yr(e,{value:t,oldValue:s},n){e._modelValue=t;let o;if(ie(t))o=Fl(t,n.props.value)>-1;else if(Qs(t))o=t.has(n.props.value);else{if(t===s)return;o=An(t,gc(e,!0))}e.checked!==o&&(e.checked=o)}const pl={deep:!0,created(e,{value:t,modifiers:{number:s}},n){const o=Qs(t);us(e,"change",()=>{const l=Array.prototype.filter.call(e.options,r=>r.selected).map(r=>s?bo(Sn(r)):Sn(r));e[Qt](e.multiple?o?new Set(l):l:l[0]),e._assigning=!0,ms(()=>{e._assigning=!1})}),e[Qt]=Bs(n)},mounted(e,{value:t}){Xr(e,t)},beforeUpdate(e,t,s){e[Qt]=Bs(s)},updated(e,{value:t}){e._assigning||Xr(e,t)}};function Xr(e,t){const s=e.multiple,n=ie(t);if(!(s&&!n&&!Qs(t))){for(let o=0,l=e.options.length;o<l;o++){const r=e.options[o],i=Sn(r);if(s)if(n){const c=typeof i;c==="string"||c==="number"?r.selected=t.some(u=>String(u)===String(i)):r.selected=Fl(t,i)>-1}else r.selected=t.has(i);else if(An(Sn(r),t)){e.selectedIndex!==o&&(e.selectedIndex=o);return}}!s&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Sn(e){return"_value"in e?e._value:e.value}function gc(e,t){const s=t?"_trueValue":"_falseValue";return s in e?e[s]:t}const Bf=["ctrl","shift","alt","meta"],Gf={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)=>Bf.some(s=>e[`${s}Key`]&&!t.includes(s))},_t=(e,t)=>{const s=e._withMods||(e._withMods={}),n=t.join(".");return s[n]||(s[n]=((o,...l)=>{for(let r=0;r<t.length;r++){const i=Gf[t[r]];if(i&&i(o,t))return}return e(o,...l)}))},Kf={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},Gs=(e,t)=>{const s=e._withKeys||(e._withKeys={}),n=t.join(".");return s[n]||(s[n]=(o=>{if(!("key"in o))return;const l=ps(o.key);if(t.some(r=>r===l||Kf[r]===l))return e(o)}))},qf=Je({patchProp:Hf},_f);let Qr;function zf(){return Qr||(Qr=Zd(qf))}const Yf=((...e)=>{const t=zf().createApp(...e),{mount:s}=t;return t.mount=n=>{const o=Qf(n);if(!o)return;const l=t._component;!me(l)&&!l.render&&!l.template&&(l.template=o.innerHTML),o.nodeType===1&&(o.textContent="");const r=s(o,!1,Xf(o));return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),r},t});function Xf(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Qf(e){return Be(e)?document.querySelector(e):e}let hc;const Eo=e=>hc=e,bc=Symbol();function ml(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var mn;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(mn||(mn={}));function Jf(){const e=Ol(!0),t=e.run(()=>z({}));let s=[],n=[];const o=Bl({install(l){Eo(o),o._a=l,l.provide(bc,o),l.config.globalProperties.$pinia=o,n.forEach(r=>s.push(r)),n=[]},use(l){return this._a?s.push(l):n.push(l),this},_p:s,_a:null,_e:e,_s:new Map,state:t});return o}const vc=()=>{};function Jr(e,t,s,n=vc){e.add(t);const o=()=>{e.delete(t)&&n()};return!s&&ui()&&Du(o),o}function As(e,...t){e.forEach(s=>{s(...t)})}const Zf=e=>e(),Zr=Symbol(),zo=Symbol();function gl(e,t){e instanceof Map&&t instanceof Map?t.forEach((s,n)=>e.set(n,s)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const s in t){if(!t.hasOwnProperty(s))continue;const n=t[s],o=e[s];ml(o)&&ml(n)&&e.hasOwnProperty(s)&&!Oe(n)&&!Xt(n)?e[s]=gl(o,n):e[s]=n}return e}const ep=Symbol();function tp(e){return!ml(e)||!Object.prototype.hasOwnProperty.call(e,ep)}const{assign:ls}=Object;function sp(e){return!!(Oe(e)&&e.effect)}function np(e,t,s,n){const{state:o,actions:l,getters:r}=t,i=s.state.value[e];let c;function u(){i||(s.state.value[e]=o?o():{});const d=ed(s.state.value[e]);return ls(d,l,Object.keys(r||{}).reduce((f,g)=>(f[g]=Bl(fe(()=>{Eo(s);const v=s._s.get(e);return r[g].call(v,v)})),f),{}))}return c=yc(e,u,t,s,n,!0),c}function yc(e,t,s={},n,o,l){let r;const i=ls({actions:{}},s),c={deep:!0};let u,d,f=new Set,g=new Set,v;const S=n.state.value[e];!l&&!S&&(n.state.value[e]={}),z({});let k;function P(F){let V;u=d=!1,typeof F=="function"?(F(n.state.value[e]),V={type:mn.patchFunction,storeId:e,events:v}):(gl(n.state.value[e],F),V={type:mn.patchObject,payload:F,storeId:e,events:v});const Z=k=Symbol();ms().then(()=>{k===Z&&(u=!0)}),d=!0,As(f,V,n.state.value[e])}const _=l?function(){const{state:V}=s,Z=V?V():{};this.$patch(N=>{ls(N,Z)})}:vc;function $(){r.stop(),f.clear(),g.clear(),n._s.delete(e)}const I=(F,V="")=>{if(Zr in F)return F[zo]=V,F;const Z=function(){Eo(n);const N=Array.from(arguments),w=new Set,R=new Set;function X(re){w.add(re)}function le(re){R.add(re)}As(g,{args:N,name:Z[zo],store:D,after:X,onError:le});let ae;try{ae=F.apply(this&&this.$id===e?this:D,N)}catch(re){throw As(R,re),re}return ae instanceof Promise?ae.then(re=>(As(w,re),re)).catch(re=>(As(R,re),Promise.reject(re))):(As(w,ae),ae)};return Z[Zr]=!0,Z[zo]=V,Z},x={_p:n,$id:e,$onAction:Jr.bind(null,g),$patch:P,$reset:_,$subscribe(F,V={}){const Z=Jr(f,F,V.detached,()=>N()),N=r.run(()=>We(()=>n.state.value[e],w=>{(V.flush==="sync"?d:u)&&F({storeId:e,type:mn.direct,events:v},w)},ls({},c,V)));return Z},$dispose:$},D=Nn(x);n._s.set(e,D);const C=(n._a&&n._a.runWithContext||Zf)(()=>n._e.run(()=>(r=Ol()).run(()=>t({action:I}))));for(const F in C){const V=C[F];if(Oe(V)&&!sp(V)||Xt(V))l||(S&&tp(V)&&(Oe(V)?V.value=S[F]:gl(V,S[F])),n.state.value[e][F]=V);else if(typeof V=="function"){const Z=I(V,F);C[F]=Z,i.actions[F]=V}}return ls(D,C),ls(_e(D),C),Object.defineProperty(D,"$state",{get:()=>n.state.value[e],set:F=>{P(V=>{ls(V,F)})}}),n._p.forEach(F=>{ls(D,r.run(()=>F({store:D,app:n._a,pinia:n,options:i})))}),S&&l&&s.hydrate&&s.hydrate(D.$state,S),u=!0,d=!0,D}function Lo(e,t,s){let n;const o=typeof t=="function";n=o?s:t;function l(r,i){const c=ud();return r=r||(c?at(bc,null):null),r&&Eo(r),r=hc,r._s.has(e)||(o?yc(e,t,n,r):np(e,n,r)),r._s.get(e)}return l.$id=e,l}const Rs=typeof document<"u";function wc(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function op(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&wc(e.default)}const Ce=Object.assign;function Yo(e,t){const s={};for(const n in t){const o=t[n];s[n]=Tt(o)?o.map(e):e(o)}return s}const gn=()=>{},Tt=Array.isArray;function ea(e,t){const s={};for(const n in e)s[n]=n in t?t[n]:e[n];return s}const _c=/#/g,lp=/&/g,rp=/\//g,ap=/=/g,ip=/\?/g,xc=/\+/g,cp=/%5B/g,up=/%5D/g,kc=/%5E/g,dp=/%60/g,Sc=/%7B/g,fp=/%7C/g,$c=/%7D/g,pp=/%20/g;function Yl(e){return e==null?"":encodeURI(""+e).replace(fp,"|").replace(cp,"[").replace(up,"]")}function mp(e){return Yl(e).replace(Sc,"{").replace($c,"}").replace(kc,"^")}function hl(e){return Yl(e).replace(xc,"%2B").replace(pp,"+").replace(_c,"%23").replace(lp,"%26").replace(dp,"`").replace(Sc,"{").replace($c,"}").replace(kc,"^")}function gp(e){return hl(e).replace(ap,"%3D")}function hp(e){return Yl(e).replace(_c,"%23").replace(ip,"%3F")}function bp(e){return hp(e).replace(rp,"%2F")}function $n(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const vp=/\/$/,yp=e=>e.replace(vp,"");function Xo(e,t,s="/"){let n,o={},l="",r="";const i=t.indexOf("#");let c=t.indexOf("?");return c=i>=0&&c>i?-1:c,c>=0&&(n=t.slice(0,c),l=t.slice(c,i>0?i:t.length),o=e(l.slice(1))),i>=0&&(n=n||t.slice(0,i),r=t.slice(i,t.length)),n=kp(n??t,s),{fullPath:n+l+r,path:n,query:o,hash:$n(r)}}function wp(e,t){const s=t.query?e(t.query):"";return t.path+(s&&"?")+s+(t.hash||"")}function ta(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function _p(e,t,s){const n=t.matched.length-1,o=s.matched.length-1;return n>-1&&n===o&&Ks(t.matched[n],s.matched[o])&&Cc(t.params,s.params)&&e(t.query)===e(s.query)&&t.hash===s.hash}function Ks(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Cc(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var s in e)if(!xp(e[s],t[s]))return!1;return!0}function xp(e,t){return Tt(e)?sa(e,t):Tt(t)?sa(t,e):e?.valueOf()===t?.valueOf()}function sa(e,t){return Tt(t)?e.length===t.length&&e.every((s,n)=>s===t[n]):e.length===1&&e[0]===t}function kp(e,t){if(e.startsWith("/"))return e;if(!e)return t;const s=t.split("/"),n=e.split("/"),o=n[n.length-1];(o===".."||o===".")&&n.push("");let l=s.length-1,r,i;for(r=0;r<n.length;r++)if(i=n[r],i!==".")if(i==="..")l>1&&l--;else break;return s.slice(0,l).join("/")+"/"+n.slice(r).join("/")}const os={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let bl=(function(e){return e.pop="pop",e.push="push",e})({}),Qo=(function(e){return e.back="back",e.forward="forward",e.unknown="",e})({});function Sp(e){if(!e)if(Rs){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),yp(e)}const $p=/^[^#]+#/;function Cp(e,t){return e.replace($p,"#")+t}function Ep(e,t){const s=document.documentElement.getBoundingClientRect(),n=e.getBoundingClientRect();return{behavior:t.behavior,left:n.left-s.left-(t.left||0),top:n.top-s.top-(t.top||0)}}const To=()=>({left:window.scrollX,top:window.scrollY});function Lp(e){let t;if("el"in e){const s=e.el,n=typeof s=="string"&&s.startsWith("#"),o=typeof s=="string"?n?document.getElementById(s.slice(1)):document.querySelector(s):s;if(!o)return;t=Ep(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 na(e,t){return(history.state?history.state.position-t:-1)+e}const vl=new Map;function Tp(e,t){vl.set(e,t)}function Ip(e){const t=vl.get(e);return vl.delete(e),t}function Pp(e){return typeof e=="string"||e&&typeof e=="object"}function Ec(e){return typeof e=="string"||typeof e=="symbol"}let Me=(function(e){return e[e.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",e[e.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",e[e.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",e[e.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",e[e.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",e})({});const Lc=Symbol("");Me.MATCHER_NOT_FOUND+"",Me.NAVIGATION_GUARD_REDIRECT+"",Me.NAVIGATION_ABORTED+"",Me.NAVIGATION_CANCELLED+"",Me.NAVIGATION_DUPLICATED+"";function qs(e,t){return Ce(new Error,{type:e,[Lc]:!0},t)}function jt(e,t){return e instanceof Error&&Lc in e&&(t==null||!!(e.type&t))}const Dp=["params","query","hash"];function Ap(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const s of Dp)s in e&&(t[s]=e[s]);return JSON.stringify(t,null,2)}function Np(e){const t={};if(e===""||e==="?")return t;const s=(e[0]==="?"?e.slice(1):e).split("&");for(let n=0;n<s.length;++n){const o=s[n].replace(xc," "),l=o.indexOf("="),r=$n(l<0?o:o.slice(0,l)),i=l<0?null:$n(o.slice(l+1));if(r in t){let c=t[r];Tt(c)||(c=t[r]=[c]),c.push(i)}else t[r]=i}return t}function oa(e){let t="";for(let s in e){const n=e[s];if(s=gp(s),n==null){n!==void 0&&(t+=(t.length?"&":"")+s);continue}(Tt(n)?n.map(o=>o&&hl(o)):[n&&hl(n)]).forEach(o=>{o!==void 0&&(t+=(t.length?"&":"")+s,o!=null&&(t+="="+o))})}return t}function Rp(e){const t={};for(const s in e){const n=e[s];n!==void 0&&(t[s]=Tt(n)?n.map(o=>o==null?null:""+o):n==null?n:""+n)}return t}const Fp=Symbol(""),la=Symbol(""),Io=Symbol(""),Xl=Symbol(""),yl=Symbol("");function tn(){let e=[];function t(n){return e.push(n),()=>{const o=e.indexOf(n);o>-1&&e.splice(o,1)}}function s(){e=[]}return{add:t,list:()=>e.slice(),reset:s}}function cs(e,t,s,n,o,l=r=>r()){const r=n&&(n.enterCallbacks[o]=n.enterCallbacks[o]||[]);return()=>new Promise((i,c)=>{const u=g=>{g===!1?c(qs(Me.NAVIGATION_ABORTED,{from:s,to:t})):g instanceof Error?c(g):Pp(g)?c(qs(Me.NAVIGATION_GUARD_REDIRECT,{from:t,to:g})):(r&&n.enterCallbacks[o]===r&&typeof g=="function"&&r.push(g),i())},d=l(()=>e.call(n&&n.instances[o],t,s,u));let f=Promise.resolve(d);e.length<3&&(f=f.then(u)),f.catch(g=>c(g))})}function Jo(e,t,s,n,o=l=>l()){const l=[];for(const r of e)for(const i in r.components){let c=r.components[i];if(!(t!=="beforeRouteEnter"&&!r.instances[i]))if(wc(c)){const u=(c.__vccOpts||c)[t];u&&l.push(cs(u,s,n,r,i,o))}else{let u=c();l.push(()=>u.then(d=>{if(!d)throw new Error(`Couldn't resolve component "${i}" at "${r.path}"`);const f=op(d)?d.default:d;r.mods[i]=d,r.components[i]=f;const g=(f.__vccOpts||f)[t];return g&&cs(g,s,n,r,i,o)()}))}}return l}function Op(e,t){const s=[],n=[],o=[],l=Math.max(t.matched.length,e.matched.length);for(let r=0;r<l;r++){const i=t.matched[r];i&&(e.matched.find(u=>Ks(u,i))?n.push(i):s.push(i));const c=e.matched[r];c&&(t.matched.find(u=>Ks(u,c))||o.push(c))}return[s,n,o]}let Up=()=>location.protocol+"//"+location.host;function Tc(e,t){const{pathname:s,search:n,hash:o}=t,l=e.indexOf("#");if(l>-1){let r=o.includes(e.slice(l))?e.slice(l).length:1,i=o.slice(r);return i[0]!=="/"&&(i="/"+i),ta(i,"")}return ta(s,e)+n+o}function Mp(e,t,s,n){let o=[],l=[],r=null;const i=({state:g})=>{const v=Tc(e,location),S=s.value,k=t.value;let P=0;if(g){if(s.value=v,t.value=g,r&&r===S){r=null;return}P=k?g.position-k.position:0}else n(v);o.forEach(_=>{_(s.value,S,{delta:P,type:bl.pop,direction:P?P>0?Qo.forward:Qo.back:Qo.unknown})})};function c(){r=s.value}function u(g){o.push(g);const v=()=>{const S=o.indexOf(g);S>-1&&o.splice(S,1)};return l.push(v),v}function d(){if(document.visibilityState==="hidden"){const{history:g}=window;if(!g.state)return;g.replaceState(Ce({},g.state,{scroll:To()}),"")}}function f(){for(const g of l)g();l=[],window.removeEventListener("popstate",i),window.removeEventListener("pagehide",d),document.removeEventListener("visibilitychange",d)}return window.addEventListener("popstate",i),window.addEventListener("pagehide",d),document.addEventListener("visibilitychange",d),{pauseListeners:c,listen:u,destroy:f}}function ra(e,t,s,n=!1,o=!1){return{back:e,current:t,forward:s,replaced:n,position:window.history.length,scroll:o?To():null}}function Vp(e){const{history:t,location:s}=window,n={value:Tc(e,s)},o={value:t.state};o.value||l(n.value,{back:null,current:n.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function l(c,u,d){const f=e.indexOf("#"),g=f>-1?(s.host&&document.querySelector("base")?e:e.slice(f))+c:Up()+e+c;try{t[d?"replaceState":"pushState"](u,"",g),o.value=u}catch(v){console.error(v),s[d?"replace":"assign"](g)}}function r(c,u){l(c,Ce({},t.state,ra(o.value.back,c,o.value.forward,!0),u,{position:o.value.position}),!0),n.value=c}function i(c,u){const d=Ce({},o.value,t.state,{forward:c,scroll:To()});l(d.current,d,!0),l(c,Ce({},ra(n.value,c,null),{position:d.position+1},u),!1),n.value=c}return{location:n,state:o,push:i,replace:r}}function Hp(e){e=Sp(e);const t=Vp(e),s=Mp(e,t.state,t.location,t.replace);function n(l,r=!0){r||s.pauseListeners(),history.go(l)}const o=Ce({location:"",base:e,go:n,createHref:Cp.bind(null,e)},t,s);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>t.state.value}),o}let Es=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e})({});var Xe=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e})(Xe||{});const jp={type:Es.Static,value:""},Wp=/[a-zA-Z0-9_]/;function Bp(e){if(!e)return[[]];if(e==="/")return[[jp]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(v){throw new Error(`ERR (${s})/"${u}": ${v}`)}let s=Xe.Static,n=s;const o=[];let l;function r(){l&&o.push(l),l=[]}let i=0,c,u="",d="";function f(){u&&(s===Xe.Static?l.push({type:Es.Static,value:u}):s===Xe.Param||s===Xe.ParamRegExp||s===Xe.ParamRegExpEnd?(l.length>1&&(c==="*"||c==="+")&&t(`A repeatable param (${u}) must be alone in its segment. eg: '/:ids+.`),l.push({type:Es.Param,value:u,regexp:d,repeatable:c==="*"||c==="+",optional:c==="*"||c==="?"})):t("Invalid state to consume buffer"),u="")}function g(){u+=c}for(;i<e.length;){if(c=e[i++],c==="\\"&&s!==Xe.ParamRegExp){n=s,s=Xe.EscapeNext;continue}switch(s){case Xe.Static:c==="/"?(u&&f(),r()):c===":"?(f(),s=Xe.Param):g();break;case Xe.EscapeNext:g(),s=n;break;case Xe.Param:c==="("?s=Xe.ParamRegExp:Wp.test(c)?g():(f(),s=Xe.Static,c!=="*"&&c!=="?"&&c!=="+"&&i--);break;case Xe.ParamRegExp:c===")"?d[d.length-1]=="\\"?d=d.slice(0,-1)+c:s=Xe.ParamRegExpEnd:d+=c;break;case Xe.ParamRegExpEnd:f(),s=Xe.Static,c!=="*"&&c!=="?"&&c!=="+"&&i--,d="";break;default:t("Unknown state");break}}return s===Xe.ParamRegExp&&t(`Unfinished custom RegExp for param "${u}"`),f(),r(),o}const aa="[^/]+?",Gp={sensitive:!1,strict:!1,start:!0,end:!0};var ct=(function(e){return e[e._multiplier=10]="_multiplier",e[e.Root=90]="Root",e[e.Segment=40]="Segment",e[e.SubSegment=30]="SubSegment",e[e.Static=40]="Static",e[e.Dynamic=20]="Dynamic",e[e.BonusCustomRegExp=10]="BonusCustomRegExp",e[e.BonusWildcard=-50]="BonusWildcard",e[e.BonusRepeatable=-20]="BonusRepeatable",e[e.BonusOptional=-8]="BonusOptional",e[e.BonusStrict=.7000000000000001]="BonusStrict",e[e.BonusCaseSensitive=.25]="BonusCaseSensitive",e})(ct||{});const Kp=/[.+*?^${}()[\]/\\]/g;function qp(e,t){const s=Ce({},Gp,t),n=[];let o=s.start?"^":"";const l=[];for(const u of e){const d=u.length?[]:[ct.Root];s.strict&&!u.length&&(o+="/");for(let f=0;f<u.length;f++){const g=u[f];let v=ct.Segment+(s.sensitive?ct.BonusCaseSensitive:0);if(g.type===Es.Static)f||(o+="/"),o+=g.value.replace(Kp,"\\$&"),v+=ct.Static;else if(g.type===Es.Param){const{value:S,repeatable:k,optional:P,regexp:_}=g;l.push({name:S,repeatable:k,optional:P});const $=_||aa;if($!==aa){v+=ct.BonusCustomRegExp;try{`${$}`}catch(x){throw new Error(`Invalid custom RegExp for param "${S}" (${$}): `+x.message)}}let I=k?`((?:${$})(?:/(?:${$}))*)`:`(${$})`;f||(I=P&&u.length<2?`(?:/${I})`:"/"+I),P&&(I+="?"),o+=I,v+=ct.Dynamic,P&&(v+=ct.BonusOptional),k&&(v+=ct.BonusRepeatable),$===".*"&&(v+=ct.BonusWildcard)}d.push(v)}n.push(d)}if(s.strict&&s.end){const u=n.length-1;n[u][n[u].length-1]+=ct.BonusStrict}s.strict||(o+="/?"),s.end?o+="$":s.strict&&!o.endsWith("/")&&(o+="(?:/|$)");const r=new RegExp(o,s.sensitive?"":"i");function i(u){const d=u.match(r),f={};if(!d)return null;for(let g=1;g<d.length;g++){const v=d[g]||"",S=l[g-1];f[S.name]=v&&S.repeatable?v.split("/"):v}return f}function c(u){let d="",f=!1;for(const g of e){(!f||!d.endsWith("/"))&&(d+="/"),f=!1;for(const v of g)if(v.type===Es.Static)d+=v.value;else if(v.type===Es.Param){const{value:S,repeatable:k,optional:P}=v,_=S in u?u[S]:"";if(Tt(_)&&!k)throw new Error(`Provided param "${S}" is an array but it is not repeatable (* or + modifiers)`);const $=Tt(_)?_.join("/"):_;if(!$)if(P)g.length<2&&(d.endsWith("/")?d=d.slice(0,-1):f=!0);else throw new Error(`Missing required param "${S}"`);d+=$}}return d||"/"}return{re:r,score:n,keys:l,parse:i,stringify:c}}function zp(e,t){let s=0;for(;s<e.length&&s<t.length;){const n=t[s]-e[s];if(n)return n;s++}return e.length<t.length?e.length===1&&e[0]===ct.Static+ct.Segment?-1:1:e.length>t.length?t.length===1&&t[0]===ct.Static+ct.Segment?1:-1:0}function Ic(e,t){let s=0;const n=e.score,o=t.score;for(;s<n.length&&s<o.length;){const l=zp(n[s],o[s]);if(l)return l;s++}if(Math.abs(o.length-n.length)===1){if(ia(n))return 1;if(ia(o))return-1}return o.length-n.length}function ia(e){const t=e[e.length-1];return e.length>0&&t[t.length-1]<0}const Yp={strict:!1,end:!0,sensitive:!1};function Xp(e,t,s){const n=qp(Bp(e.path),s),o=Ce(n,{record:e,parent:t,children:[],alias:[]});return t&&!o.record.aliasOf==!t.record.aliasOf&&t.children.push(o),o}function Qp(e,t){const s=[],n=new Map;t=ea(Yp,t);function o(f){return n.get(f)}function l(f,g,v){const S=!v,k=ua(f);k.aliasOf=v&&v.record;const P=ea(t,f),_=[k];if("alias"in f){const x=typeof f.alias=="string"?[f.alias]:f.alias;for(const D of x)_.push(ua(Ce({},k,{components:v?v.record.components:k.components,path:D,aliasOf:v?v.record:k})))}let $,I;for(const x of _){const{path:D}=x;if(g&&D[0]!=="/"){const j=g.record.path,C=j[j.length-1]==="/"?"":"/";x.path=g.record.path+(D&&C+D)}if($=Xp(x,g,P),v?v.alias.push($):(I=I||$,I!==$&&I.alias.push($),S&&f.name&&!da($)&&r(f.name)),Pc($)&&c($),k.children){const j=k.children;for(let C=0;C<j.length;C++)l(j[C],$,v&&v.children[C])}v=v||$}return I?()=>{r(I)}:gn}function r(f){if(Ec(f)){const g=n.get(f);g&&(n.delete(f),s.splice(s.indexOf(g),1),g.children.forEach(r),g.alias.forEach(r))}else{const g=s.indexOf(f);g>-1&&(s.splice(g,1),f.record.name&&n.delete(f.record.name),f.children.forEach(r),f.alias.forEach(r))}}function i(){return s}function c(f){const g=em(f,s);s.splice(g,0,f),f.record.name&&!da(f)&&n.set(f.record.name,f)}function u(f,g){let v,S={},k,P;if("name"in f&&f.name){if(v=n.get(f.name),!v)throw qs(Me.MATCHER_NOT_FOUND,{location:f});P=v.record.name,S=Ce(ca(g.params,v.keys.filter(I=>!I.optional).concat(v.parent?v.parent.keys.filter(I=>I.optional):[]).map(I=>I.name)),f.params&&ca(f.params,v.keys.map(I=>I.name))),k=v.stringify(S)}else if(f.path!=null)k=f.path,v=s.find(I=>I.re.test(k)),v&&(S=v.parse(k),P=v.record.name);else{if(v=g.name?n.get(g.name):s.find(I=>I.re.test(g.path)),!v)throw qs(Me.MATCHER_NOT_FOUND,{location:f,currentLocation:g});P=v.record.name,S=Ce({},g.params,f.params),k=v.stringify(S)}const _=[];let $=v;for(;$;)_.unshift($.record),$=$.parent;return{name:P,path:k,params:S,matched:_,meta:Zp(_)}}e.forEach(f=>l(f));function d(){s.length=0,n.clear()}return{addRoute:l,resolve:u,removeRoute:r,clearRoutes:d,getRoutes:i,getRecordMatcher:o}}function ca(e,t){const s={};for(const n of t)n in e&&(s[n]=e[n]);return s}function ua(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Jp(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 Jp(e){const t={},s=e.props||!1;if("component"in e)t.default=s;else for(const n in e.components)t[n]=typeof s=="object"?s[n]:s;return t}function da(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Zp(e){return e.reduce((t,s)=>Ce(t,s.meta),{})}function em(e,t){let s=0,n=t.length;for(;s!==n;){const l=s+n>>1;Ic(e,t[l])<0?n=l:s=l+1}const o=tm(e);return o&&(n=t.lastIndexOf(o,n-1)),n}function tm(e){let t=e;for(;t=t.parent;)if(Pc(t)&&Ic(e,t)===0)return t}function Pc({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function fa(e){const t=at(Io),s=at(Xl),n=fe(()=>{const c=he(e.to);return t.resolve(c)}),o=fe(()=>{const{matched:c}=n.value,{length:u}=c,d=c[u-1],f=s.matched;if(!d||!f.length)return-1;const g=f.findIndex(Ks.bind(null,d));if(g>-1)return g;const v=pa(c[u-2]);return u>1&&pa(d)===v&&f[f.length-1].path!==v?f.findIndex(Ks.bind(null,c[u-2])):g}),l=fe(()=>o.value>-1&&rm(s.params,n.value.params)),r=fe(()=>o.value>-1&&o.value===s.matched.length-1&&Cc(s.params,n.value.params));function i(c={}){if(lm(c)){const u=t[he(e.replace)?"replace":"push"](he(e.to)).catch(gn);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>u),u}return Promise.resolve()}return{route:n,href:fe(()=>n.value.href),isActive:l,isExactActive:r,navigate:i}}function sm(e){return e.length===1?e[0]:e}const nm=Ne({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:fa,setup(e,{slots:t}){const s=Nn(fa(e)),{options:n}=at(Io),o=fe(()=>({[ma(e.activeClass,n.linkActiveClass,"router-link-active")]:s.isActive,[ma(e.exactActiveClass,n.linkExactActiveClass,"router-link-exact-active")]:s.isExactActive}));return()=>{const l=t.default&&sm(t.default(s));return e.custom?l:Mn("a",{"aria-current":s.isExactActive?e.ariaCurrentValue:null,href:s.href,onClick:s.navigate,class:o.value},l)}}}),om=nm;function lm(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 rm(e,t){for(const s in t){const n=t[s],o=e[s];if(typeof n=="string"){if(n!==o)return!1}else if(!Tt(o)||o.length!==n.length||n.some((l,r)=>l.valueOf()!==o[r].valueOf()))return!1}return!0}function pa(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const ma=(e,t,s)=>e??t??s,am=Ne({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:s}){const n=at(yl),o=fe(()=>e.route||n.value),l=at(la,0),r=fe(()=>{let u=he(l);const{matched:d}=o.value;let f;for(;(f=d[u])&&!f.components;)u++;return u}),i=fe(()=>o.value.matched[r.value]);cn(la,fe(()=>r.value+1)),cn(Fp,i),cn(yl,o);const c=z();return We(()=>[c.value,i.value,e.name],([u,d,f],[g,v,S])=>{d&&(d.instances[f]=u,v&&v!==d&&u&&u===g&&(d.leaveGuards.size||(d.leaveGuards=v.leaveGuards),d.updateGuards.size||(d.updateGuards=v.updateGuards))),u&&d&&(!v||!Ks(d,v)||!g)&&(d.enterCallbacks[f]||[]).forEach(k=>k(u))},{flush:"post"}),()=>{const u=o.value,d=e.name,f=i.value,g=f&&f.components[d];if(!g)return ga(s.default,{Component:g,route:u});const v=f.props[d],S=v?v===!0?u.params:typeof v=="function"?v(u):v:null,P=Mn(g,Ce({},S,t,{onVnodeUnmounted:_=>{_.component.isUnmounted&&(f.instances[d]=null)},ref:c}));return ga(s.default,{Component:P,route:u})||P}}});function ga(e,t){if(!e)return null;const s=e(t);return s.length===1?s[0]:s}const im=am;function cm(e){const t=Qp(e.routes,e),s=e.parseQuery||Np,n=e.stringifyQuery||oa,o=e.history,l=tn(),r=tn(),i=tn(),c=Ci(os);let u=os;Rs&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const d=Yo.bind(null,H=>""+H),f=Yo.bind(null,bp),g=Yo.bind(null,$n);function v(H,J){let Q,ne;return Ec(H)?(Q=t.getRecordMatcher(H),ne=J):ne=H,t.addRoute(ne,Q)}function S(H){const J=t.getRecordMatcher(H);J&&t.removeRoute(J)}function k(){return t.getRoutes().map(H=>H.record)}function P(H){return!!t.getRecordMatcher(H)}function _(H,J){if(J=Ce({},J||c.value),typeof H=="string"){const E=Xo(s,H,J.path),U=t.resolve({path:E.path},J),B=o.createHref(E.fullPath);return Ce(E,U,{params:g(U.params),hash:$n(E.hash),redirectedFrom:void 0,href:B})}let Q;if(H.path!=null)Q=Ce({},H,{path:Xo(s,H.path,J.path).path});else{const E=Ce({},H.params);for(const U in E)E[U]==null&&delete E[U];Q=Ce({},H,{params:f(E)}),J.params=f(J.params)}const ne=t.resolve(Q,J),M=H.hash||"";ne.params=d(g(ne.params));const m=wp(n,Ce({},H,{hash:mp(M),path:ne.path})),h=o.createHref(m);return Ce({fullPath:m,hash:M,query:n===oa?Rp(H.query):H.query||{}},ne,{redirectedFrom:void 0,href:h})}function $(H){return typeof H=="string"?Xo(s,H,c.value.path):Ce({},H)}function I(H,J){if(u!==H)return qs(Me.NAVIGATION_CANCELLED,{from:J,to:H})}function x(H){return C(H)}function D(H){return x(Ce($(H),{replace:!0}))}function j(H,J){const Q=H.matched[H.matched.length-1];if(Q&&Q.redirect){const{redirect:ne}=Q;let M=typeof ne=="function"?ne(H,J):ne;return typeof M=="string"&&(M=M.includes("?")||M.includes("#")?M=$(M):{path:M},M.params={}),Ce({query:H.query,hash:H.hash,params:M.path!=null?{}:H.params},M)}}function C(H,J){const Q=u=_(H),ne=c.value,M=H.state,m=H.force,h=H.replace===!0,E=j(Q,ne);if(E)return C(Ce($(E),{state:typeof E=="object"?Ce({},M,E.state):M,force:m,replace:h}),J||Q);const U=Q;U.redirectedFrom=J;let B;return!m&&_p(n,ne,Q)&&(B=qs(Me.NAVIGATION_DUPLICATED,{to:U,from:ne}),ze(ne,ne,!0,!1)),(B?Promise.resolve(B):Z(U,ne)).catch(W=>jt(W)?jt(W,Me.NAVIGATION_GUARD_REDIRECT)?W:Ze(W):pe(W,U,ne)).then(W=>{if(W){if(jt(W,Me.NAVIGATION_GUARD_REDIRECT))return C(Ce({replace:h},$(W.to),{state:typeof W.to=="object"?Ce({},M,W.to.state):M,force:m}),J||U)}else W=w(U,ne,!0,h,M);return N(U,ne,W),W})}function F(H,J){const Q=I(H,J);return Q?Promise.reject(Q):Promise.resolve()}function V(H){const J=ce.values().next().value;return J&&typeof J.runWithContext=="function"?J.runWithContext(H):H()}function Z(H,J){let Q;const[ne,M,m]=Op(H,J);Q=Jo(ne.reverse(),"beforeRouteLeave",H,J);for(const E of ne)E.leaveGuards.forEach(U=>{Q.push(cs(U,H,J))});const h=F.bind(null,H,J);return Q.push(h),$e(Q).then(()=>{Q=[];for(const E of l.list())Q.push(cs(E,H,J));return Q.push(h),$e(Q)}).then(()=>{Q=Jo(M,"beforeRouteUpdate",H,J);for(const E of M)E.updateGuards.forEach(U=>{Q.push(cs(U,H,J))});return Q.push(h),$e(Q)}).then(()=>{Q=[];for(const E of m)if(E.beforeEnter)if(Tt(E.beforeEnter))for(const U of E.beforeEnter)Q.push(cs(U,H,J));else Q.push(cs(E.beforeEnter,H,J));return Q.push(h),$e(Q)}).then(()=>(H.matched.forEach(E=>E.enterCallbacks={}),Q=Jo(m,"beforeRouteEnter",H,J,V),Q.push(h),$e(Q))).then(()=>{Q=[];for(const E of r.list())Q.push(cs(E,H,J));return Q.push(h),$e(Q)}).catch(E=>jt(E,Me.NAVIGATION_CANCELLED)?E:Promise.reject(E))}function N(H,J,Q){i.list().forEach(ne=>V(()=>ne(H,J,Q)))}function w(H,J,Q,ne,M){const m=I(H,J);if(m)return m;const h=J===os,E=Rs?history.state:{};Q&&(ne||h?o.replace(H.fullPath,Ce({scroll:h&&E&&E.scroll},M)):o.push(H.fullPath,M)),c.value=H,ze(H,J,Q,h),Ze()}let R;function X(){R||(R=o.listen((H,J,Q)=>{if(!ye.listening)return;const ne=_(H),M=j(ne,ye.currentRoute.value);if(M){C(Ce(M,{replace:!0,force:!0}),ne).catch(gn);return}u=ne;const m=c.value;Rs&&Tp(na(m.fullPath,Q.delta),To()),Z(ne,m).catch(h=>jt(h,Me.NAVIGATION_ABORTED|Me.NAVIGATION_CANCELLED)?h:jt(h,Me.NAVIGATION_GUARD_REDIRECT)?(C(Ce($(h.to),{force:!0}),ne).then(E=>{jt(E,Me.NAVIGATION_ABORTED|Me.NAVIGATION_DUPLICATED)&&!Q.delta&&Q.type===bl.pop&&o.go(-1,!1)}).catch(gn),Promise.reject()):(Q.delta&&o.go(-Q.delta,!1),pe(h,ne,m))).then(h=>{h=h||w(ne,m,!1),h&&(Q.delta&&!jt(h,Me.NAVIGATION_CANCELLED)?o.go(-Q.delta,!1):Q.type===bl.pop&&jt(h,Me.NAVIGATION_ABORTED|Me.NAVIGATION_DUPLICATED)&&o.go(-1,!1)),N(ne,m,h)}).catch(gn)}))}let le=tn(),ae=tn(),re;function pe(H,J,Q){Ze(H);const ne=ae.list();return ne.length?ne.forEach(M=>M(H,J,Q)):console.error(H),Promise.reject(H)}function Re(){return re&&c.value!==os?Promise.resolve():new Promise((H,J)=>{le.add([H,J])})}function Ze(H){return re||(re=!H,X(),le.list().forEach(([J,Q])=>H?Q(H):J()),le.reset()),H}function ze(H,J,Q,ne){const{scrollBehavior:M}=e;if(!Rs||!M)return Promise.resolve();const m=!Q&&Ip(na(H.fullPath,0))||(ne||!Q)&&history.state&&history.state.scroll||null;return ms().then(()=>M(H,J,m)).then(h=>h&&Lp(h)).catch(h=>pe(h,H,J))}const Ue=H=>o.go(H);let q;const ce=new Set,ye={currentRoute:c,listening:!0,addRoute:v,removeRoute:S,clearRoutes:t.clearRoutes,hasRoute:P,getRoutes:k,resolve:_,options:e,push:x,replace:D,go:Ue,back:()=>Ue(-1),forward:()=>Ue(1),beforeEach:l.add,beforeResolve:r.add,afterEach:i.add,onError:ae.add,isReady:Re,install(H){H.component("RouterLink",om),H.component("RouterView",im),H.config.globalProperties.$router=ye,Object.defineProperty(H.config.globalProperties,"$route",{enumerable:!0,get:()=>he(c)}),Rs&&!q&&c.value===os&&(q=!0,x(o.location).catch(ne=>{}));const J={};for(const ne in os)Object.defineProperty(J,ne,{get:()=>c.value[ne],enumerable:!0});H.provide(Io,ye),H.provide(Xl,$i(J)),H.provide(yl,c);const Q=H.unmount;ce.add(H),H.unmount=function(){ce.delete(H),ce.size<1&&(u=os,R&&R(),R=null,c.value=os,q=!1,re=!1),Q()}}};function $e(H){return H.reduce((J,Q)=>J.then(()=>V(Q)),Promise.resolve())}return ye}function Dc(){return at(Io)}function Ac(e){return at(Xl)}function um(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const co=typeof window<"u",gs=(e,t=!1)=>t?Symbol.for(e):Symbol(e),dm=(e,t,s)=>fm({l:e,k:t,s}),fm=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),Ke=e=>typeof e=="number"&&isFinite(e),pm=e=>Ql(e)==="[object Date]",zs=e=>Ql(e)==="[object RegExp]",Po=e=>ve(e)&&Object.keys(e).length===0,Qe=Object.assign,mm=Object.create,Ie=(e=null)=>mm(e);let ha;const Ls=()=>ha||(ha=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:Ie());function ba(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&apos;").replace(/\//g,"&#x2F;").replace(/=/g,"&#x3D;")}function va(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&apos;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function gm(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(n,o,l)=>`${o}="${va(l)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(n,o,l)=>`${o}='${va(l)}'`),/\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi.test(e)&&(e=e.replace(/(\s+)(on)(\w+\s*=)/gi,"$1&#111;n$3")),[/(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi,/(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi].forEach(n=>{e=e.replace(n,"$1javascript&#58;")}),e}const hm=Object.prototype.hasOwnProperty;function St(e,t){return hm.call(e,t)}const Ve=Array.isArray,Fe=e=>typeof e=="function",se=e=>typeof e=="string",ke=e=>typeof e=="boolean",Se=e=>e!==null&&typeof e=="object",bm=e=>Se(e)&&Fe(e.then)&&Fe(e.catch),Nc=Object.prototype.toString,Ql=e=>Nc.call(e),ve=e=>Ql(e)==="[object Object]",vm=e=>e==null?"":Ve(e)||ve(e)&&e.toString===Nc?JSON.stringify(e,null,2):String(e);function Jl(e,t=""){return e.reduce((s,n,o)=>o===0?s+n:s+t+n,"")}const qn=e=>!Se(e)||Ve(e);function eo(e,t){if(qn(e)||qn(t))throw new Error("Invalid value");const s=[{src:e,des:t}];for(;s.length;){const{src:n,des:o}=s.pop();Object.keys(n).forEach(l=>{l!=="__proto__"&&(Se(n[l])&&!Se(o[l])&&(o[l]=Array.isArray(n[l])?[]:Ie()),qn(o[l])||qn(n[l])?o[l]=n[l]:s.push({src:n[l],des:o[l]}))})}}function ym(e,t,s){return{line:e,column:t,offset:s}}function wl(e,t,s){return{start:e,end:t}}const Ee={EXPECTED_TOKEN:1,INVALID_TOKEN_IN_PLACEHOLDER:2,UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER:3,UNKNOWN_ESCAPE_SEQUENCE:4,INVALID_UNICODE_ESCAPE_SEQUENCE:5,UNBALANCED_CLOSING_BRACE:6,UNTERMINATED_CLOSING_BRACE:7,EMPTY_PLACEHOLDER:8,NOT_ALLOW_NEST_PLACEHOLDER:9,INVALID_LINKED_FORMAT:10,MUST_HAVE_MESSAGES_IN_PLURAL:11,UNEXPECTED_EMPTY_LINKED_MODIFIER:12,UNEXPECTED_EMPTY_LINKED_KEY:13,UNEXPECTED_LEXICAL_ANALYSIS:14},wm=17;function Do(e,t,s={}){const{domain:n,messages:o,args:l}=s,r=e,i=new SyntaxError(String(r));return i.code=e,t&&(i.location=t),i.domain=n,i}function _m(e){throw e}const At=" ",xm="\r",tt=`
2
+ `,km="\u2028",Sm="\u2029";function $m(e){const t=e;let s=0,n=1,o=1,l=0;const r=C=>t[C]===xm&&t[C+1]===tt,i=C=>t[C]===tt,c=C=>t[C]===Sm,u=C=>t[C]===km,d=C=>r(C)||i(C)||c(C)||u(C),f=()=>s,g=()=>n,v=()=>o,S=()=>l,k=C=>r(C)||c(C)||u(C)?tt:t[C],P=()=>k(s),_=()=>k(s+l);function $(){return l=0,d(s)&&(n++,o=0),r(s)&&s++,s++,o++,t[s]}function I(){return r(s+l)&&l++,l++,t[s+l]}function x(){s=0,n=1,o=1,l=0}function D(C=0){l=C}function j(){const C=s+l;for(;C!==s;)$();l=0}return{index:f,line:g,column:v,peekOffset:S,charAt:k,currentChar:P,currentPeek:_,next:$,peek:I,reset:x,resetPeek:D,skipToPeek:j}}const Wt=void 0,Cm=".",ya="'",Em="tokenizer";function Lm(e,t={}){const s=t.location!==!1,n=$m(e),o=()=>n.index(),l=()=>ym(n.line(),n.column(),n.index()),r=l(),i=o(),c={currentType:13,offset:i,startLoc:r,endLoc:r,lastType:13,lastOffset:i,lastStartLoc:r,lastEndLoc:r,braceNest:0,inLinked:!1,text:""},u=()=>c,{onError:d}=t;function f(b,y,L,...A){const ee=u();if(y.column+=L,y.offset+=L,d){const G=s?wl(ee.startLoc,y):null,T=Do(b,G,{domain:Em,args:A});d(T)}}function g(b,y,L){b.endLoc=l(),b.currentType=y;const A={type:y};return s&&(A.loc=wl(b.startLoc,b.endLoc)),L!=null&&(A.value=L),A}const v=b=>g(b,13);function S(b,y){return b.currentChar()===y?(b.next(),y):(f(Ee.EXPECTED_TOKEN,l(),0,y),"")}function k(b){let y="";for(;b.currentPeek()===At||b.currentPeek()===tt;)y+=b.currentPeek(),b.peek();return y}function P(b){const y=k(b);return b.skipToPeek(),y}function _(b){if(b===Wt)return!1;const y=b.charCodeAt(0);return y>=97&&y<=122||y>=65&&y<=90||y===95}function $(b){if(b===Wt)return!1;const y=b.charCodeAt(0);return y>=48&&y<=57}function I(b,y){const{currentType:L}=y;if(L!==2)return!1;k(b);const A=_(b.currentPeek());return b.resetPeek(),A}function x(b,y){const{currentType:L}=y;if(L!==2)return!1;k(b);const A=b.currentPeek()==="-"?b.peek():b.currentPeek(),ee=$(A);return b.resetPeek(),ee}function D(b,y){const{currentType:L}=y;if(L!==2)return!1;k(b);const A=b.currentPeek()===ya;return b.resetPeek(),A}function j(b,y){const{currentType:L}=y;if(L!==7)return!1;k(b);const A=b.currentPeek()===".";return b.resetPeek(),A}function C(b,y){const{currentType:L}=y;if(L!==8)return!1;k(b);const A=_(b.currentPeek());return b.resetPeek(),A}function F(b,y){const{currentType:L}=y;if(!(L===7||L===11))return!1;k(b);const A=b.currentPeek()===":";return b.resetPeek(),A}function V(b,y){const{currentType:L}=y;if(L!==9)return!1;const A=()=>{const G=b.currentPeek();return G==="{"?_(b.peek()):G==="@"||G==="|"||G===":"||G==="."||G===At||!G?!1:G===tt?(b.peek(),A()):N(b,!1)},ee=A();return b.resetPeek(),ee}function Z(b){k(b);const y=b.currentPeek()==="|";return b.resetPeek(),y}function N(b,y=!0){const L=(ee=!1,G="")=>{const T=b.currentPeek();return T==="{"||T==="@"||!T?ee:T==="|"?!(G===At||G===tt):T===At?(b.peek(),L(!0,At)):T===tt?(b.peek(),L(!0,tt)):!0},A=L();return y&&b.resetPeek(),A}function w(b,y){const L=b.currentChar();return L===Wt?Wt:y(L)?(b.next(),L):null}function R(b){const y=b.charCodeAt(0);return y>=97&&y<=122||y>=65&&y<=90||y>=48&&y<=57||y===95||y===36}function X(b){return w(b,R)}function le(b){const y=b.charCodeAt(0);return y>=97&&y<=122||y>=65&&y<=90||y>=48&&y<=57||y===95||y===36||y===45}function ae(b){return w(b,le)}function re(b){const y=b.charCodeAt(0);return y>=48&&y<=57}function pe(b){return w(b,re)}function Re(b){const y=b.charCodeAt(0);return y>=48&&y<=57||y>=65&&y<=70||y>=97&&y<=102}function Ze(b){return w(b,Re)}function ze(b){let y="",L="";for(;y=pe(b);)L+=y;return L}function Ue(b){let y="";for(;;){const L=b.currentChar();if(L==="{"||L==="}"||L==="@"||L==="|"||!L)break;if(L===At||L===tt)if(N(b))y+=L,b.next();else{if(Z(b))break;y+=L,b.next()}else y+=L,b.next()}return y}function q(b){P(b);let y="",L="";for(;y=ae(b);)L+=y;const A=b.currentChar();if(A&&A!=="}"&&A!==Wt&&A!==At&&A!==tt&&A!==" "){const ee=ne(b);return f(Ee.INVALID_TOKEN_IN_PLACEHOLDER,l(),0,L+ee),L+ee}return b.currentChar()===Wt&&f(Ee.UNTERMINATED_CLOSING_BRACE,l(),0),L}function ce(b){P(b);let y="";return b.currentChar()==="-"?(b.next(),y+=`-${ze(b)}`):y+=ze(b),b.currentChar()===Wt&&f(Ee.UNTERMINATED_CLOSING_BRACE,l(),0),y}function ye(b){return b!==ya&&b!==tt}function $e(b){P(b),S(b,"'");let y="",L="";for(;y=w(b,ye);)y==="\\"?L+=H(b):L+=y;const A=b.currentChar();return A===tt||A===Wt?(f(Ee.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,l(),0),A===tt&&(b.next(),S(b,"'")),L):(S(b,"'"),L)}function H(b){const y=b.currentChar();switch(y){case"\\":case"'":return b.next(),`\\${y}`;case"u":return J(b,y,4);case"U":return J(b,y,6);default:return f(Ee.UNKNOWN_ESCAPE_SEQUENCE,l(),0,y),""}}function J(b,y,L){S(b,y);let A="";for(let ee=0;ee<L;ee++){const G=Ze(b);if(!G){f(Ee.INVALID_UNICODE_ESCAPE_SEQUENCE,l(),0,`\\${y}${A}${b.currentChar()}`);break}A+=G}return`\\${y}${A}`}function Q(b){return b!=="{"&&b!=="}"&&b!==At&&b!==tt}function ne(b){P(b);let y="",L="";for(;y=w(b,Q);)L+=y;return L}function M(b){let y="",L="";for(;y=X(b);)L+=y;return L}function m(b){const y=L=>{const A=b.currentChar();return A==="{"||A==="@"||A==="|"||A==="("||A===")"||!A||A===At?L:(L+=A,b.next(),y(L))};return y("")}function h(b){P(b);const y=S(b,"|");return P(b),y}function E(b,y){let L=null;switch(b.currentChar()){case"{":return y.braceNest>=1&&f(Ee.NOT_ALLOW_NEST_PLACEHOLDER,l(),0),b.next(),L=g(y,2,"{"),P(b),y.braceNest++,L;case"}":return y.braceNest>0&&y.currentType===2&&f(Ee.EMPTY_PLACEHOLDER,l(),0),b.next(),L=g(y,3,"}"),y.braceNest--,y.braceNest>0&&P(b),y.inLinked&&y.braceNest===0&&(y.inLinked=!1),L;case"@":return y.braceNest>0&&f(Ee.UNTERMINATED_CLOSING_BRACE,l(),0),L=U(b,y)||v(y),y.braceNest=0,L;default:{let ee=!0,G=!0,T=!0;if(Z(b))return y.braceNest>0&&f(Ee.UNTERMINATED_CLOSING_BRACE,l(),0),L=g(y,1,h(b)),y.braceNest=0,y.inLinked=!1,L;if(y.braceNest>0&&(y.currentType===4||y.currentType===5||y.currentType===6))return f(Ee.UNTERMINATED_CLOSING_BRACE,l(),0),y.braceNest=0,B(b,y);if(ee=I(b,y))return L=g(y,4,q(b)),P(b),L;if(G=x(b,y))return L=g(y,5,ce(b)),P(b),L;if(T=D(b,y))return L=g(y,6,$e(b)),P(b),L;if(!ee&&!G&&!T)return L=g(y,12,ne(b)),f(Ee.INVALID_TOKEN_IN_PLACEHOLDER,l(),0,L.value),P(b),L;break}}return L}function U(b,y){const{currentType:L}=y;let A=null;const ee=b.currentChar();switch((L===7||L===8||L===11||L===9)&&(ee===tt||ee===At)&&f(Ee.INVALID_LINKED_FORMAT,l(),0),ee){case"@":return b.next(),A=g(y,7,"@"),y.inLinked=!0,A;case".":return P(b),b.next(),g(y,8,".");case":":return P(b),b.next(),g(y,9,":");default:return Z(b)?(A=g(y,1,h(b)),y.braceNest=0,y.inLinked=!1,A):j(b,y)||F(b,y)?(P(b),U(b,y)):C(b,y)?(P(b),g(y,11,M(b))):V(b,y)?(P(b),ee==="{"?E(b,y)||A:g(y,10,m(b))):(L===7&&f(Ee.INVALID_LINKED_FORMAT,l(),0),y.braceNest=0,y.inLinked=!1,B(b,y))}}function B(b,y){let L={type:13};if(y.braceNest>0)return E(b,y)||v(y);if(y.inLinked)return U(b,y)||v(y);switch(b.currentChar()){case"{":return E(b,y)||v(y);case"}":return f(Ee.UNBALANCED_CLOSING_BRACE,l(),0),b.next(),g(y,3,"}");case"@":return U(b,y)||v(y);default:{if(Z(b))return L=g(y,1,h(b)),y.braceNest=0,y.inLinked=!1,L;if(N(b))return g(y,0,Ue(b));break}}return L}function W(){const{currentType:b,offset:y,startLoc:L,endLoc:A}=c;return c.lastType=b,c.lastOffset=y,c.lastStartLoc=L,c.lastEndLoc=A,c.offset=o(),c.startLoc=l(),n.currentChar()===Wt?g(c,13):B(n,c)}return{nextToken:W,currentOffset:o,currentPosition:l,context:u}}const Tm="parser",Im=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function Pm(e,t,s){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const n=parseInt(t||s,16);return n<=55295||n>=57344?String.fromCodePoint(n):"�"}}}function Dm(e={}){const t=e.location!==!1,{onError:s}=e;function n(_,$,I,x,...D){const j=_.currentPosition();if(j.offset+=x,j.column+=x,s){const C=t?wl(I,j):null,F=Do($,C,{domain:Tm,args:D});s(F)}}function o(_,$,I){const x={type:_};return t&&(x.start=$,x.end=$,x.loc={start:I,end:I}),x}function l(_,$,I,x){t&&(_.end=$,_.loc&&(_.loc.end=I))}function r(_,$){const I=_.context(),x=o(3,I.offset,I.startLoc);return x.value=$,l(x,_.currentOffset(),_.currentPosition()),x}function i(_,$){const I=_.context(),{lastOffset:x,lastStartLoc:D}=I,j=o(5,x,D);return j.index=parseInt($,10),_.nextToken(),l(j,_.currentOffset(),_.currentPosition()),j}function c(_,$){const I=_.context(),{lastOffset:x,lastStartLoc:D}=I,j=o(4,x,D);return j.key=$,_.nextToken(),l(j,_.currentOffset(),_.currentPosition()),j}function u(_,$){const I=_.context(),{lastOffset:x,lastStartLoc:D}=I,j=o(9,x,D);return j.value=$.replace(Im,Pm),_.nextToken(),l(j,_.currentOffset(),_.currentPosition()),j}function d(_){const $=_.nextToken(),I=_.context(),{lastOffset:x,lastStartLoc:D}=I,j=o(8,x,D);return $.type!==11?(n(_,Ee.UNEXPECTED_EMPTY_LINKED_MODIFIER,I.lastStartLoc,0),j.value="",l(j,x,D),{nextConsumeToken:$,node:j}):($.value==null&&n(_,Ee.UNEXPECTED_LEXICAL_ANALYSIS,I.lastStartLoc,0,Nt($)),j.value=$.value||"",l(j,_.currentOffset(),_.currentPosition()),{node:j})}function f(_,$){const I=_.context(),x=o(7,I.offset,I.startLoc);return x.value=$,l(x,_.currentOffset(),_.currentPosition()),x}function g(_){const $=_.context(),I=o(6,$.offset,$.startLoc);let x=_.nextToken();if(x.type===8){const D=d(_);I.modifier=D.node,x=D.nextConsumeToken||_.nextToken()}switch(x.type!==9&&n(_,Ee.UNEXPECTED_LEXICAL_ANALYSIS,$.lastStartLoc,0,Nt(x)),x=_.nextToken(),x.type===2&&(x=_.nextToken()),x.type){case 10:x.value==null&&n(_,Ee.UNEXPECTED_LEXICAL_ANALYSIS,$.lastStartLoc,0,Nt(x)),I.key=f(_,x.value||"");break;case 4:x.value==null&&n(_,Ee.UNEXPECTED_LEXICAL_ANALYSIS,$.lastStartLoc,0,Nt(x)),I.key=c(_,x.value||"");break;case 5:x.value==null&&n(_,Ee.UNEXPECTED_LEXICAL_ANALYSIS,$.lastStartLoc,0,Nt(x)),I.key=i(_,x.value||"");break;case 6:x.value==null&&n(_,Ee.UNEXPECTED_LEXICAL_ANALYSIS,$.lastStartLoc,0,Nt(x)),I.key=u(_,x.value||"");break;default:{n(_,Ee.UNEXPECTED_EMPTY_LINKED_KEY,$.lastStartLoc,0);const D=_.context(),j=o(7,D.offset,D.startLoc);return j.value="",l(j,D.offset,D.startLoc),I.key=j,l(I,D.offset,D.startLoc),{nextConsumeToken:x,node:I}}}return l(I,_.currentOffset(),_.currentPosition()),{node:I}}function v(_){const $=_.context(),I=$.currentType===1?_.currentOffset():$.offset,x=$.currentType===1?$.endLoc:$.startLoc,D=o(2,I,x);D.items=[];let j=null;do{const V=j||_.nextToken();switch(j=null,V.type){case 0:V.value==null&&n(_,Ee.UNEXPECTED_LEXICAL_ANALYSIS,$.lastStartLoc,0,Nt(V)),D.items.push(r(_,V.value||""));break;case 5:V.value==null&&n(_,Ee.UNEXPECTED_LEXICAL_ANALYSIS,$.lastStartLoc,0,Nt(V)),D.items.push(i(_,V.value||""));break;case 4:V.value==null&&n(_,Ee.UNEXPECTED_LEXICAL_ANALYSIS,$.lastStartLoc,0,Nt(V)),D.items.push(c(_,V.value||""));break;case 6:V.value==null&&n(_,Ee.UNEXPECTED_LEXICAL_ANALYSIS,$.lastStartLoc,0,Nt(V)),D.items.push(u(_,V.value||""));break;case 7:{const Z=g(_);D.items.push(Z.node),j=Z.nextConsumeToken||null;break}}}while($.currentType!==13&&$.currentType!==1);const C=$.currentType===1?$.lastOffset:_.currentOffset(),F=$.currentType===1?$.lastEndLoc:_.currentPosition();return l(D,C,F),D}function S(_,$,I,x){const D=_.context();let j=x.items.length===0;const C=o(1,$,I);C.cases=[],C.cases.push(x);do{const F=v(_);j||(j=F.items.length===0),C.cases.push(F)}while(D.currentType!==13);return j&&n(_,Ee.MUST_HAVE_MESSAGES_IN_PLURAL,I,0),l(C,_.currentOffset(),_.currentPosition()),C}function k(_){const $=_.context(),{offset:I,startLoc:x}=$,D=v(_);return $.currentType===13?D:S(_,I,x,D)}function P(_){const $=Lm(_,Qe({},e)),I=$.context(),x=o(0,I.offset,I.startLoc);return t&&x.loc&&(x.loc.source=_),x.body=k($),e.onCacheKey&&(x.cacheKey=e.onCacheKey(_)),I.currentType!==13&&n($,Ee.UNEXPECTED_LEXICAL_ANALYSIS,I.lastStartLoc,0,_[I.offset]||""),l(x,$.currentOffset(),$.currentPosition()),x}return{parse:P}}function Nt(e){if(e.type===13)return"EOF";const t=(e.value||"").replace(/\r?\n/gu,"\\n");return t.length>10?t.slice(0,9)+"…":t}function Am(e,t={}){const s={ast:e,helpers:new Set};return{context:()=>s,helper:l=>(s.helpers.add(l),l)}}function wa(e,t){for(let s=0;s<e.length;s++)Zl(e[s],t)}function Zl(e,t){switch(e.type){case 1:wa(e.cases,t),t.helper("plural");break;case 2:wa(e.items,t);break;case 6:{Zl(e.key,t),t.helper("linked"),t.helper("type");break}case 5:t.helper("interpolate"),t.helper("list");break;case 4:t.helper("interpolate"),t.helper("named");break}}function Nm(e,t={}){const s=Am(e);s.helper("normalize"),e.body&&Zl(e.body,s);const n=s.context();e.helpers=Array.from(n.helpers)}function Rm(e){const t=e.body;return t.type===2?_a(t):t.cases.forEach(s=>_a(s)),e}function _a(e){if(e.items.length===1){const t=e.items[0];(t.type===3||t.type===9)&&(e.static=t.value,delete t.value)}else{const t=[];for(let s=0;s<e.items.length;s++){const n=e.items[s];if(!(n.type===3||n.type===9)||n.value==null)break;t.push(n.value)}if(t.length===e.items.length){e.static=Jl(t);for(let s=0;s<e.items.length;s++){const n=e.items[s];(n.type===3||n.type===9)&&delete n.value}}}}function Fs(e){switch(e.t=e.type,e.type){case 0:{const t=e;Fs(t.body),t.b=t.body,delete t.body;break}case 1:{const t=e,s=t.cases;for(let n=0;n<s.length;n++)Fs(s[n]);t.c=s,delete t.cases;break}case 2:{const t=e,s=t.items;for(let n=0;n<s.length;n++)Fs(s[n]);t.i=s,delete t.items,t.static&&(t.s=t.static,delete t.static);break}case 3:case 9:case 8:case 7:{const t=e;t.value&&(t.v=t.value,delete t.value);break}case 6:{const t=e;Fs(t.key),t.k=t.key,delete t.key,t.modifier&&(Fs(t.modifier),t.m=t.modifier,delete t.modifier);break}case 5:{const t=e;t.i=t.index,delete t.index;break}case 4:{const t=e;t.k=t.key,delete t.key;break}}delete e.type}function Fm(e,t){const{filename:s,breakLineCode:n,needIndent:o}=t,l=t.location!==!1,r={filename:s,code:"",column:1,line:1,offset:0,map:void 0,breakLineCode:n,needIndent:o,indentLevel:0};l&&e.loc&&(r.source=e.loc.source);const i=()=>r;function c(k,P){r.code+=k}function u(k,P=!0){const _=P?n:"";c(o?_+" ".repeat(k):_)}function d(k=!0){const P=++r.indentLevel;k&&u(P)}function f(k=!0){const P=--r.indentLevel;k&&u(P)}function g(){u(r.indentLevel)}return{context:i,push:c,indent:d,deindent:f,newline:g,helper:k=>`_${k}`,needIndent:()=>r.needIndent}}function Om(e,t){const{helper:s}=e;e.push(`${s("linked")}(`),Ys(e,t.key),t.modifier?(e.push(", "),Ys(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function Um(e,t){const{helper:s,needIndent:n}=e;e.push(`${s("normalize")}([`),e.indent(n());const o=t.items.length;for(let l=0;l<o&&(Ys(e,t.items[l]),l!==o-1);l++)e.push(", ");e.deindent(n()),e.push("])")}function Mm(e,t){const{helper:s,needIndent:n}=e;if(t.cases.length>1){e.push(`${s("plural")}([`),e.indent(n());const o=t.cases.length;for(let l=0;l<o&&(Ys(e,t.cases[l]),l!==o-1);l++)e.push(", ");e.deindent(n()),e.push("])")}}function Vm(e,t){t.body?Ys(e,t.body):e.push("null")}function Ys(e,t){const{helper:s}=e;switch(t.type){case 0:Vm(e,t);break;case 1:Mm(e,t);break;case 2:Um(e,t);break;case 6:Om(e,t);break;case 8:e.push(JSON.stringify(t.value),t);break;case 7:e.push(JSON.stringify(t.value),t);break;case 5:e.push(`${s("interpolate")}(${s("list")}(${t.index}))`,t);break;case 4:e.push(`${s("interpolate")}(${s("named")}(${JSON.stringify(t.key)}))`,t);break;case 9:e.push(JSON.stringify(t.value),t);break;case 3:e.push(JSON.stringify(t.value),t);break}}const Hm=(e,t={})=>{const s=se(t.mode)?t.mode:"normal",n=se(t.filename)?t.filename:"message.intl";t.sourceMap;const o=t.breakLineCode!=null?t.breakLineCode:s==="arrow"?";":`
3
+ `,l=t.needIndent?t.needIndent:s!=="arrow",r=e.helpers||[],i=Fm(e,{filename:n,breakLineCode:o,needIndent:l});i.push(s==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),i.indent(l),r.length>0&&(i.push(`const { ${Jl(r.map(d=>`${d}: _${d}`),", ")} } = ctx`),i.newline()),i.push("return "),Ys(i,e),i.deindent(l),i.push("}"),delete e.helpers;const{code:c,map:u}=i.context();return{ast:e,code:c,map:u?u.toJSON():void 0}};function jm(e,t={}){const s=Qe({},t),n=!!s.jit,o=!!s.minify,l=s.optimize==null?!0:s.optimize,i=Dm(s).parse(e);return n?(l&&Rm(i),o&&Fs(i),{ast:i,code:""}):(Nm(i,s),Hm(i,s))}function Wm(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Ls().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Ls().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function Ut(e){return Se(e)&&er(e)===0&&(St(e,"b")||St(e,"body"))}const Rc=["b","body"];function Bm(e){return hs(e,Rc)}const Fc=["c","cases"];function Gm(e){return hs(e,Fc,[])}const Oc=["s","static"];function Km(e){return hs(e,Oc)}const Uc=["i","items"];function qm(e){return hs(e,Uc,[])}const Mc=["t","type"];function er(e){return hs(e,Mc)}const Vc=["v","value"];function zn(e,t){const s=hs(e,Vc);if(s!=null)return s;throw Cn(t)}const Hc=["m","modifier"];function zm(e){return hs(e,Hc)}const jc=["k","key"];function Ym(e){const t=hs(e,jc);if(t)return t;throw Cn(6)}function hs(e,t,s){for(let n=0;n<t.length;n++){const o=t[n];if(St(e,o)&&e[o]!=null)return e[o]}return s}const Wc=[...Rc,...Fc,...Oc,...Uc,...jc,...Hc,...Vc,...Mc];function Cn(e){return new Error(`unhandled node type: ${e}`)}function Zo(e){return s=>Xm(s,e)}function Xm(e,t){const s=Bm(t);if(s==null)throw Cn(0);if(er(s)===1){const l=Gm(s);return e.plural(l.reduce((r,i)=>[...r,xa(e,i)],[]))}else return xa(e,s)}function xa(e,t){const s=Km(t);if(s!=null)return e.type==="text"?s:e.normalize([s]);{const n=qm(t).reduce((o,l)=>[...o,_l(e,l)],[]);return e.normalize(n)}}function _l(e,t){const s=er(t);switch(s){case 3:return zn(t,s);case 9:return zn(t,s);case 4:{const n=t;if(St(n,"k")&&n.k)return e.interpolate(e.named(n.k));if(St(n,"key")&&n.key)return e.interpolate(e.named(n.key));throw Cn(s)}case 5:{const n=t;if(St(n,"i")&&Ke(n.i))return e.interpolate(e.list(n.i));if(St(n,"index")&&Ke(n.index))return e.interpolate(e.list(n.index));throw Cn(s)}case 6:{const n=t,o=zm(n),l=Ym(n);return e.linked(_l(e,l),o?_l(e,o):void 0,e.type)}case 7:return zn(t,s);case 8:return zn(t,s);default:throw new Error(`unhandled node on format message part: ${s}`)}}const Qm=e=>e;let Yn=Ie();function Jm(e,t={}){let s=!1;const n=t.onError||_m;return t.onError=o=>{s=!0,n(o)},{...jm(e,t),detectError:s}}function Zm(e,t){if(!__INTLIFY_DROP_MESSAGE_COMPILER__&&se(e)){ke(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||Qm)(e),o=Yn[n];if(o)return o;const{ast:l,detectError:r}=Jm(e,{...t,location:!1,jit:!0}),i=Zo(l);return r?i:Yn[n]=i}else{const s=e.cacheKey;if(s){const n=Yn[s];return n||(Yn[s]=Zo(e))}else return Zo(e)}}let En=null;function eg(e){En=e}function tg(e,t,s){En&&En.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:s})}const sg=ng("function:translate");function ng(e){return t=>En&&En.emit(e,t)}const zt={INVALID_ARGUMENT:wm,INVALID_DATE_ARGUMENT:18,INVALID_ISO_DATE_ARGUMENT:19,NOT_SUPPORT_LOCALE_PROMISE_VALUE:21,NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:22,NOT_SUPPORT_LOCALE_TYPE:23},og=24;function Yt(e){return Do(e,null,void 0)}function tr(e,t){return t.locale!=null?ka(t.locale):ka(e.locale)}let el;function ka(e){if(se(e))return e;if(Fe(e)){if(e.resolvedOnce&&el!=null)return el;if(e.constructor.name==="Function"){const t=e();if(bm(t))throw Yt(zt.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return el=t}else throw Yt(zt.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw Yt(zt.NOT_SUPPORT_LOCALE_TYPE)}function lg(e,t,s){return[...new Set([s,...Ve(t)?t:Se(t)?Object.keys(t):se(t)?[t]:[s]])]}function Bc(e,t,s){const n=se(s)?s:Ln,o=e;o.__localeChainCache||(o.__localeChainCache=new Map);let l=o.__localeChainCache.get(n);if(!l){l=[];let r=[s];for(;Ve(r);)r=Sa(l,r,t);const i=Ve(t)||!ve(t)?t:t.default?t.default:null;r=se(i)?[i]:i,Ve(r)&&Sa(l,r,!1),o.__localeChainCache.set(n,l)}return l}function Sa(e,t,s){let n=!0;for(let o=0;o<t.length&&ke(n);o++){const l=t[o];se(l)&&(n=rg(e,t[o],s))}return n}function rg(e,t,s){let n;const o=t.split("-");do{const l=o.join("-");n=ag(e,l,s),o.splice(-1,1)}while(o.length&&n===!0);return n}function ag(e,t,s){let n=!1;if(!e.includes(t)&&(n=!0,t)){n=t[t.length-1]!=="!";const o=t.replace(/!/g,"");e.push(o),(Ve(s)||ve(s))&&s[o]&&(n=s[o])}return n}const bs=[];bs[0]={w:[0],i:[3,0],"[":[4],o:[7]};bs[1]={w:[1],".":[2],"[":[4],o:[7]};bs[2]={w:[2],i:[3,0],0:[3,0]};bs[3]={i:[3,0],0:[3,0],w:[1,1],".":[2,1],"[":[4,1],o:[7,1]};bs[4]={"'":[5,0],'"':[6,0],"[":[4,2],"]":[1,3],o:8,l:[4,0]};bs[5]={"'":[4,0],o:8,l:[5,0]};bs[6]={'"':[4,0],o:8,l:[6,0]};const ig=/^\s?(?:true|false|-?[\d.]+|'[^']*'|"[^"]*")\s?$/;function cg(e){return ig.test(e)}function ug(e){const t=e.charCodeAt(0),s=e.charCodeAt(e.length-1);return t===s&&(t===34||t===39)?e.slice(1,-1):e}function dg(e){if(e==null)return"o";switch(e.charCodeAt(0)){case 91:case 93:case 46:case 34:case 39:return e;case 95:case 36:case 45:return"i";case 9:case 10:case 13:case 160:case 65279:case 8232:case 8233:return"w"}return"i"}function fg(e){const t=e.trim();return e.charAt(0)==="0"&&isNaN(parseInt(e))?!1:cg(t)?ug(t):"*"+t}function pg(e){const t=[];let s=-1,n=0,o=0,l,r,i,c,u,d,f;const g=[];g[0]=()=>{r===void 0?r=i:r+=i},g[1]=()=>{r!==void 0&&(t.push(r),r=void 0)},g[2]=()=>{g[0](),o++},g[3]=()=>{if(o>0)o--,n=4,g[0]();else{if(o=0,r===void 0||(r=fg(r),r===!1))return!1;g[1]()}};function v(){const S=e[s+1];if(n===5&&S==="'"||n===6&&S==='"')return s++,i="\\"+S,g[0](),!0}for(;n!==null;)if(s++,l=e[s],!(l==="\\"&&v())){if(c=dg(l),f=bs[n],u=f[c]||f.l||8,u===8||(n=u[0],u[1]!==void 0&&(d=g[u[1]],d&&(i=l,d()===!1))))return;if(n===7)return t}}const $a=new Map;function mg(e,t){return Se(e)?e[t]:null}function gg(e,t){if(!Se(e))return null;let s=$a.get(t);if(s||(s=pg(t),s&&$a.set(t,s)),!s)return null;const n=s.length;let o=e,l=0;for(;l<n;){const r=s[l];if(Wc.includes(r)&&Ut(o))return null;const i=o[r];if(i===void 0||Fe(o))return null;o=i,l++}return o}const hg="11.2.8",Ao=-1,Ln="en-US",Ca="",Ea=e=>`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function bg(){return{upper:(e,t)=>t==="text"&&se(e)?e.toUpperCase():t==="vnode"&&Se(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&se(e)?e.toLowerCase():t==="vnode"&&Se(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&se(e)?Ea(e):t==="vnode"&&Se(e)&&"__v_isVNode"in e?Ea(e.children):e}}let Gc;function vg(e){Gc=e}let Kc;function yg(e){Kc=e}let qc;function wg(e){qc=e}let zc=null;const _g=e=>{zc=e},xg=()=>zc;let Yc=null;const La=e=>{Yc=e},kg=()=>Yc;let Ta=0;function Sg(e={}){const t=Fe(e.onWarn)?e.onWarn:um,s=se(e.version)?e.version:hg,n=se(e.locale)||Fe(e.locale)?e.locale:Ln,o=Fe(n)?Ln:n,l=Ve(e.fallbackLocale)||ve(e.fallbackLocale)||se(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:o,r=ve(e.messages)?e.messages:tl(o),i=ve(e.datetimeFormats)?e.datetimeFormats:tl(o),c=ve(e.numberFormats)?e.numberFormats:tl(o),u=Qe(Ie(),e.modifiers,bg()),d=e.pluralRules||Ie(),f=Fe(e.missing)?e.missing:null,g=ke(e.missingWarn)||zs(e.missingWarn)?e.missingWarn:!0,v=ke(e.fallbackWarn)||zs(e.fallbackWarn)?e.fallbackWarn:!0,S=!!e.fallbackFormat,k=!!e.unresolving,P=Fe(e.postTranslation)?e.postTranslation:null,_=ve(e.processor)?e.processor:null,$=ke(e.warnHtmlMessage)?e.warnHtmlMessage:!0,I=!!e.escapeParameter,x=Fe(e.messageCompiler)?e.messageCompiler:Gc,D=Fe(e.messageResolver)?e.messageResolver:Kc||mg,j=Fe(e.localeFallbacker)?e.localeFallbacker:qc||lg,C=Se(e.fallbackContext)?e.fallbackContext:void 0,F=e,V=Se(F.__datetimeFormatters)?F.__datetimeFormatters:new Map,Z=Se(F.__numberFormatters)?F.__numberFormatters:new Map,N=Se(F.__meta)?F.__meta:{};Ta++;const w={version:s,cid:Ta,locale:n,fallbackLocale:l,messages:r,modifiers:u,pluralRules:d,missing:f,missingWarn:g,fallbackWarn:v,fallbackFormat:S,unresolving:k,postTranslation:P,processor:_,warnHtmlMessage:$,escapeParameter:I,messageCompiler:x,messageResolver:D,localeFallbacker:j,fallbackContext:C,onWarn:t,__meta:N};return w.datetimeFormats=i,w.numberFormats=c,w.__datetimeFormatters=V,w.__numberFormatters=Z,__INTLIFY_PROD_DEVTOOLS__&&tg(w,s,N),w}const tl=e=>({[e]:Ie()});function sr(e,t,s,n,o){const{missing:l,onWarn:r}=e;if(l!==null){const i=l(e,s,t,o);return se(i)?i:t}else return t}function sn(e,t,s){const n=e;n.__localeChainCache=new Map,e.localeFallbacker(e,s,t)}function $g(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function Cg(e,t){const s=t.indexOf(e);if(s===-1)return!1;for(let n=s+1;n<t.length;n++)if($g(e,t[n]))return!0;return!1}function Ia(e,...t){const{datetimeFormats:s,unresolving:n,fallbackLocale:o,onWarn:l,localeFallbacker:r}=e,{__datetimeFormatters:i}=e,[c,u,d,f]=xl(...t),g=ke(d.missingWarn)?d.missingWarn:e.missingWarn;ke(d.fallbackWarn)?d.fallbackWarn:e.fallbackWarn;const v=!!d.part,S=tr(e,d),k=r(e,o,S);if(!se(c)||c==="")return new Intl.DateTimeFormat(S,f).format(u);let P={},_,$=null;const I="datetime format";for(let j=0;j<k.length&&(_=k[j],P=s[_]||{},$=P[c],!ve($));j++)sr(e,c,_,g,I);if(!ve($)||!se(_))return n?Ao:c;let x=`${_}__${c}`;Po(f)||(x=`${x}__${JSON.stringify(f)}`);let D=i.get(x);return D||(D=new Intl.DateTimeFormat(_,Qe({},$,f)),i.set(x,D)),v?D.formatToParts(u):D.format(u)}const Xc=["localeMatcher","weekday","era","year","month","day","hour","minute","second","timeZoneName","formatMatcher","hour12","timeZone","dateStyle","timeStyle","calendar","dayPeriod","numberingSystem","hourCycle","fractionalSecondDigits"];function xl(...e){const[t,s,n,o]=e,l=Ie();let r=Ie(),i;if(se(t)){const c=t.match(/(\d{4}-\d{2}-\d{2})(T|\s)?(.*)/);if(!c)throw Yt(zt.INVALID_ISO_DATE_ARGUMENT);const u=c[3]?c[3].trim().startsWith("T")?`${c[1].trim()}${c[3].trim()}`:`${c[1].trim()}T${c[3].trim()}`:c[1].trim();i=new Date(u);try{i.toISOString()}catch{throw Yt(zt.INVALID_ISO_DATE_ARGUMENT)}}else if(pm(t)){if(isNaN(t.getTime()))throw Yt(zt.INVALID_DATE_ARGUMENT);i=t}else if(Ke(t))i=t;else throw Yt(zt.INVALID_ARGUMENT);return se(s)?l.key=s:ve(s)&&Object.keys(s).forEach(c=>{Xc.includes(c)?r[c]=s[c]:l[c]=s[c]}),se(n)?l.locale=n:ve(n)&&(r=n),ve(o)&&(r=o),[l.key||"",i,l,r]}function Pa(e,t,s){const n=e;for(const o in s){const l=`${t}__${o}`;n.__datetimeFormatters.has(l)&&n.__datetimeFormatters.delete(l)}}function Da(e,...t){const{numberFormats:s,unresolving:n,fallbackLocale:o,onWarn:l,localeFallbacker:r}=e,{__numberFormatters:i}=e,[c,u,d,f]=kl(...t),g=ke(d.missingWarn)?d.missingWarn:e.missingWarn;ke(d.fallbackWarn)?d.fallbackWarn:e.fallbackWarn;const v=!!d.part,S=tr(e,d),k=r(e,o,S);if(!se(c)||c==="")return new Intl.NumberFormat(S,f).format(u);let P={},_,$=null;const I="number format";for(let j=0;j<k.length&&(_=k[j],P=s[_]||{},$=P[c],!ve($));j++)sr(e,c,_,g,I);if(!ve($)||!se(_))return n?Ao:c;let x=`${_}__${c}`;Po(f)||(x=`${x}__${JSON.stringify(f)}`);let D=i.get(x);return D||(D=new Intl.NumberFormat(_,Qe({},$,f)),i.set(x,D)),v?D.formatToParts(u):D.format(u)}const Qc=["localeMatcher","style","currency","currencyDisplay","currencySign","useGrouping","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","minimumSignificantDigits","maximumSignificantDigits","compactDisplay","notation","signDisplay","unit","unitDisplay","roundingMode","roundingPriority","roundingIncrement","trailingZeroDisplay"];function kl(...e){const[t,s,n,o]=e,l=Ie();let r=Ie();if(!Ke(t))throw Yt(zt.INVALID_ARGUMENT);const i=t;return se(s)?l.key=s:ve(s)&&Object.keys(s).forEach(c=>{Qc.includes(c)?r[c]=s[c]:l[c]=s[c]}),se(n)?l.locale=n:ve(n)&&(r=n),ve(o)&&(r=o),[l.key||"",i,l,r]}function Aa(e,t,s){const n=e;for(const o in s){const l=`${t}__${o}`;n.__numberFormatters.has(l)&&n.__numberFormatters.delete(l)}}const Eg=e=>e,Lg=e=>"",Tg="text",Ig=e=>e.length===0?"":Jl(e),Pg=vm;function Na(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function Dg(e){const t=Ke(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(Ke(e.named.count)||Ke(e.named.n))?Ke(e.named.count)?e.named.count:Ke(e.named.n)?e.named.n:t:t}function Ag(e,t){t.count||(t.count=e),t.n||(t.n=e)}function Ng(e={}){const t=e.locale,s=Dg(e),n=Se(e.pluralRules)&&se(t)&&Fe(e.pluralRules[t])?e.pluralRules[t]:Na,o=Se(e.pluralRules)&&se(t)&&Fe(e.pluralRules[t])?Na:void 0,l=_=>_[n(s,_.length,o)],r=e.list||[],i=_=>r[_],c=e.named||Ie();Ke(e.pluralIndex)&&Ag(s,c);const u=_=>c[_];function d(_,$){const I=Fe(e.messages)?e.messages(_,!!$):Se(e.messages)?e.messages[_]:!1;return I||(e.parent?e.parent.message(_):Lg)}const f=_=>e.modifiers?e.modifiers[_]:Eg,g=ve(e.processor)&&Fe(e.processor.normalize)?e.processor.normalize:Ig,v=ve(e.processor)&&Fe(e.processor.interpolate)?e.processor.interpolate:Pg,S=ve(e.processor)&&se(e.processor.type)?e.processor.type:Tg,P={list:i,named:u,plural:l,linked:(_,...$)=>{const[I,x]=$;let D="text",j="";$.length===1?Se(I)?(j=I.modifier||j,D=I.type||D):se(I)&&(j=I||j):$.length===2&&(se(I)&&(j=I||j),se(x)&&(D=x||D));const C=d(_,!0)(P),F=D==="vnode"&&Ve(C)&&j?C[0]:C;return j?f(j)(F,D):F},message:d,type:S,interpolate:v,normalize:g,values:Qe(Ie(),r,c)};return P}const Ra=()=>"",yt=e=>Fe(e);function Fa(e,...t){const{fallbackFormat:s,postTranslation:n,unresolving:o,messageCompiler:l,fallbackLocale:r,messages:i}=e,[c,u]=Sl(...t),d=ke(u.missingWarn)?u.missingWarn:e.missingWarn,f=ke(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn,g=ke(u.escapeParameter)?u.escapeParameter:e.escapeParameter,v=!!u.resolvedMessage,S=se(u.default)||ke(u.default)?ke(u.default)?l?c:()=>c:u.default:s?l?c:()=>c:null,k=s||S!=null&&(se(S)||Fe(S)),P=tr(e,u);g&&Rg(u);let[_,$,I]=v?[c,P,i[P]||Ie()]:Jc(e,c,P,r,f,d),x=_,D=c;if(!v&&!(se(x)||Ut(x)||yt(x))&&k&&(x=S,D=x),!v&&(!(se(x)||Ut(x)||yt(x))||!se($)))return o?Ao:c;let j=!1;const C=()=>{j=!0},F=yt(x)?x:Zc(e,c,$,x,D,C);if(j)return x;const V=Ug(e,$,I,u),Z=Ng(V),N=Fg(e,F,Z);let w=n?n(N,c):N;if(g&&se(w)&&(w=gm(w)),__INTLIFY_PROD_DEVTOOLS__){const R={timestamp:Date.now(),key:se(c)?c:yt(x)?x.key:"",locale:$||(yt(x)?x.locale:""),format:se(x)?x:yt(x)?x.source:"",message:w};R.meta=Qe({},e.__meta,xg()||{}),sg(R)}return w}function Rg(e){Ve(e.list)?e.list=e.list.map(t=>se(t)?ba(t):t):Se(e.named)&&Object.keys(e.named).forEach(t=>{se(e.named[t])&&(e.named[t]=ba(e.named[t]))})}function Jc(e,t,s,n,o,l){const{messages:r,onWarn:i,messageResolver:c,localeFallbacker:u}=e,d=u(e,n,s);let f=Ie(),g,v=null;const S="translate";for(let k=0;k<d.length&&(g=d[k],f=r[g]||Ie(),(v=c(f,t))===null&&(v=f[t]),!(se(v)||Ut(v)||yt(v)));k++)if(!Cg(g,d)){const P=sr(e,t,g,l,S);P!==t&&(v=P)}return[v,g,f]}function Zc(e,t,s,n,o,l){const{messageCompiler:r,warnHtmlMessage:i}=e;if(yt(n)){const u=n;return u.locale=u.locale||s,u.key=u.key||t,u}if(r==null){const u=(()=>n);return u.locale=s,u.key=t,u}const c=r(n,Og(e,s,o,n,i,l));return c.locale=s,c.key=t,c.source=n,c}function Fg(e,t,s){return t(s)}function Sl(...e){const[t,s,n]=e,o=Ie();if(!se(t)&&!Ke(t)&&!yt(t)&&!Ut(t))throw Yt(zt.INVALID_ARGUMENT);const l=Ke(t)?String(t):(yt(t),t);return Ke(s)?o.plural=s:se(s)?o.default=s:ve(s)&&!Po(s)?o.named=s:Ve(s)&&(o.list=s),Ke(n)?o.plural=n:se(n)?o.default=n:ve(n)&&Qe(o,n),[l,o]}function Og(e,t,s,n,o,l){return{locale:t,key:s,warnHtmlMessage:o,onError:r=>{throw l&&l(r),r},onCacheKey:r=>dm(t,s,r)}}function Ug(e,t,s,n){const{modifiers:o,pluralRules:l,messageResolver:r,fallbackLocale:i,fallbackWarn:c,missingWarn:u,fallbackContext:d}=e,g={locale:t,modifiers:o,pluralRules:l,messages:(v,S)=>{let k=r(s,v);if(k==null&&(d||S)){const[,,P]=Jc(d||e,v,t,i,c,u);k=r(P,v)}if(se(k)||Ut(k)){let P=!1;const $=Zc(e,v,t,k,v,()=>{P=!0});return P?Ra:$}else return yt(k)?k:Ra}};return e.processor&&(g.processor=e.processor),n.list&&(g.list=n.list),n.named&&(g.named=n.named),Ke(n.plural)&&(g.pluralIndex=n.plural),g}Wm();const Mg="11.2.8";function Vg(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(Ls().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(Ls().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Ls().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Ls().__INTLIFY_PROD_DEVTOOLS__=!1)}const dt={UNEXPECTED_RETURN_TYPE:og,INVALID_ARGUMENT:25,MUST_BE_CALL_SETUP_TOP:26,NOT_INSTALLED:27,REQUIRED_VALUE:28,INVALID_VALUE:29,NOT_INSTALLED_WITH_PROVIDE:31,UNEXPECTED_ERROR:32};function ht(e,...t){return Do(e,null,void 0)}const $l=gs("__translateVNode"),Cl=gs("__datetimeParts"),El=gs("__numberParts"),eu=gs("__setPluralRules"),tu=gs("__injectWithOption"),Ll=gs("__dispose");function Tn(e){if(!Se(e)||Ut(e))return e;for(const t in e)if(St(e,t))if(!t.includes("."))Se(e[t])&&Tn(e[t]);else{const s=t.split("."),n=s.length-1;let o=e,l=!1;for(let r=0;r<n;r++){if(s[r]==="__proto__")throw new Error(`unsafe key: ${s[r]}`);if(s[r]in o||(o[s[r]]=Ie()),!Se(o[s[r]])){l=!0;break}o=o[s[r]]}if(l||(Ut(o)?Wc.includes(s[n])||delete e[t]:(o[s[n]]=e[t],delete e[t])),!Ut(o)){const r=o[s[n]];Se(r)&&Tn(r)}}return e}function nr(e,t){const{messages:s,__i18n:n,messageResolver:o,flatJson:l}=t,r=ve(s)?s:Ve(n)?Ie():{[e]:Ie()};if(Ve(n)&&n.forEach(i=>{if("locale"in i&&"resource"in i){const{locale:c,resource:u}=i;c?(r[c]=r[c]||Ie(),eo(u,r[c])):eo(u,r)}else se(i)&&eo(JSON.parse(i),r)}),o==null&&l)for(const i in r)St(r,i)&&Tn(r[i]);return r}function su(e){return e.type}function nu(e,t,s){let n=Se(t.messages)?t.messages:Ie();"__i18nGlobal"in s&&(n=nr(e.locale.value,{messages:n,__i18n:s.__i18nGlobal}));const o=Object.keys(n);o.length&&o.forEach(l=>{e.mergeLocaleMessage(l,n[l])});{if(Se(t.datetimeFormats)){const l=Object.keys(t.datetimeFormats);l.length&&l.forEach(r=>{e.mergeDateTimeFormat(r,t.datetimeFormats[r])})}if(Se(t.numberFormats)){const l=Object.keys(t.numberFormats);l.length&&l.forEach(r=>{e.mergeNumberFormat(r,t.numberFormats[r])})}}}function Oa(e){return we(On,null,e,0)}function In(){return $o()}const Ua="__INTLIFY_META__",Ma=()=>[],Hg=()=>!1;let Va=0;function Ha(e){return((t,s,n,o)=>e(s,n,In()||void 0,o))}const jg=()=>{const e=In();let t=null;return e&&(t=su(e)[Ua])?{[Ua]:t}:null};function or(e={}){const{__root:t,__injectWithOption:s}=e,n=t===void 0,o=e.flatJson,l=co?z:Ci;let r=ke(e.inheritLocale)?e.inheritLocale:!0;const i=l(t&&r?t.locale.value:se(e.locale)?e.locale:Ln),c=l(t&&r?t.fallbackLocale.value:se(e.fallbackLocale)||Ve(e.fallbackLocale)||ve(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:i.value),u=l(nr(i.value,e)),d=l(ve(e.datetimeFormats)?e.datetimeFormats:{[i.value]:{}}),f=l(ve(e.numberFormats)?e.numberFormats:{[i.value]:{}});let g=t?t.missingWarn:ke(e.missingWarn)||zs(e.missingWarn)?e.missingWarn:!0,v=t?t.fallbackWarn:ke(e.fallbackWarn)||zs(e.fallbackWarn)?e.fallbackWarn:!0,S=t?t.fallbackRoot:ke(e.fallbackRoot)?e.fallbackRoot:!0,k=!!e.fallbackFormat,P=Fe(e.missing)?e.missing:null,_=Fe(e.missing)?Ha(e.missing):null,$=Fe(e.postTranslation)?e.postTranslation:null,I=t?t.warnHtmlMessage:ke(e.warnHtmlMessage)?e.warnHtmlMessage:!0,x=!!e.escapeParameter;const D=t?t.modifiers:ve(e.modifiers)?e.modifiers:{};let j=e.pluralRules||t&&t.pluralRules,C;C=(()=>{n&&La(null);const T={version:Mg,locale:i.value,fallbackLocale:c.value,messages:u.value,modifiers:D,pluralRules:j,missing:_===null?void 0:_,missingWarn:g,fallbackWarn:v,fallbackFormat:k,unresolving:!0,postTranslation:$===null?void 0:$,warnHtmlMessage:I,escapeParameter:x,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};T.datetimeFormats=d.value,T.numberFormats=f.value,T.__datetimeFormatters=ve(C)?C.__datetimeFormatters:void 0,T.__numberFormatters=ve(C)?C.__numberFormatters:void 0;const O=Sg(T);return n&&La(O),O})(),sn(C,i.value,c.value);function V(){return[i.value,c.value,u.value,d.value,f.value]}const Z=fe({get:()=>i.value,set:T=>{C.locale=T,i.value=T}}),N=fe({get:()=>c.value,set:T=>{C.fallbackLocale=T,c.value=T,sn(C,i.value,T)}}),w=fe(()=>u.value),R=fe(()=>d.value),X=fe(()=>f.value);function le(){return Fe($)?$:null}function ae(T){$=T,C.postTranslation=T}function re(){return P}function pe(T){T!==null&&(_=Ha(T)),P=T,C.missing=_}const Re=(T,O,oe,ue,be,Ye)=>{V();let He;try{__INTLIFY_PROD_DEVTOOLS__,n||(C.fallbackContext=t?kg():void 0),He=T(C)}finally{__INTLIFY_PROD_DEVTOOLS__,n||(C.fallbackContext=void 0)}if(oe!=="translate exists"&&Ke(He)&&He===Ao||oe==="translate exists"&&!He){const[bt,kt]=O();return t&&S?ue(t):be(bt)}else{if(Ye(He))return He;throw ht(dt.UNEXPECTED_RETURN_TYPE)}};function Ze(...T){return Re(O=>Reflect.apply(Fa,null,[O,...T]),()=>Sl(...T),"translate",O=>Reflect.apply(O.t,O,[...T]),O=>O,O=>se(O))}function ze(...T){const[O,oe,ue]=T;if(ue&&!Se(ue))throw ht(dt.INVALID_ARGUMENT);return Ze(O,oe,Qe({resolvedMessage:!0},ue||{}))}function Ue(...T){return Re(O=>Reflect.apply(Ia,null,[O,...T]),()=>xl(...T),"datetime format",O=>Reflect.apply(O.d,O,[...T]),()=>Ca,O=>se(O)||Ve(O))}function q(...T){return Re(O=>Reflect.apply(Da,null,[O,...T]),()=>kl(...T),"number format",O=>Reflect.apply(O.n,O,[...T]),()=>Ca,O=>se(O)||Ve(O))}function ce(T){return T.map(O=>se(O)||Ke(O)||ke(O)?Oa(String(O)):O)}const $e={normalize:ce,interpolate:T=>T,type:"vnode"};function H(...T){return Re(O=>{let oe;const ue=O;try{ue.processor=$e,oe=Reflect.apply(Fa,null,[ue,...T])}finally{ue.processor=null}return oe},()=>Sl(...T),"translate",O=>O[$l](...T),O=>[Oa(O)],O=>Ve(O))}function J(...T){return Re(O=>Reflect.apply(Da,null,[O,...T]),()=>kl(...T),"number format",O=>O[El](...T),Ma,O=>se(O)||Ve(O))}function Q(...T){return Re(O=>Reflect.apply(Ia,null,[O,...T]),()=>xl(...T),"datetime format",O=>O[Cl](...T),Ma,O=>se(O)||Ve(O))}function ne(T){j=T,C.pluralRules=j}function M(T,O){return Re(()=>{if(!T)return!1;const oe=se(O)?O:i.value,ue=E(oe),be=C.messageResolver(ue,T);return Ut(be)||yt(be)||se(be)},()=>[T],"translate exists",oe=>Reflect.apply(oe.te,oe,[T,O]),Hg,oe=>ke(oe))}function m(T){let O=null;const oe=Bc(C,c.value,i.value);for(let ue=0;ue<oe.length;ue++){const be=u.value[oe[ue]]||{},Ye=C.messageResolver(be,T);if(Ye!=null){O=Ye;break}}return O}function h(T){const O=m(T);return O??(t?t.tm(T)||{}:{})}function E(T){return u.value[T]||{}}function U(T,O){if(o){const oe={[T]:O};for(const ue in oe)St(oe,ue)&&Tn(oe[ue]);O=oe[T]}u.value[T]=O,C.messages=u.value}function B(T,O){u.value[T]=u.value[T]||{};const oe={[T]:O};if(o)for(const ue in oe)St(oe,ue)&&Tn(oe[ue]);O=oe[T],eo(O,u.value[T]),C.messages=u.value}function W(T){return d.value[T]||{}}function b(T,O){d.value[T]=O,C.datetimeFormats=d.value,Pa(C,T,O)}function y(T,O){d.value[T]=Qe(d.value[T]||{},O),C.datetimeFormats=d.value,Pa(C,T,O)}function L(T){return f.value[T]||{}}function A(T,O){f.value[T]=O,C.numberFormats=f.value,Aa(C,T,O)}function ee(T,O){f.value[T]=Qe(f.value[T]||{},O),C.numberFormats=f.value,Aa(C,T,O)}Va++,t&&co&&(We(t.locale,T=>{r&&(i.value=T,C.locale=T,sn(C,i.value,c.value))}),We(t.fallbackLocale,T=>{r&&(c.value=T,C.fallbackLocale=T,sn(C,i.value,c.value))}));const G={id:Va,locale:Z,fallbackLocale:N,get inheritLocale(){return r},set inheritLocale(T){r=T,T&&t&&(i.value=t.locale.value,c.value=t.fallbackLocale.value,sn(C,i.value,c.value))},get availableLocales(){return Object.keys(u.value).sort()},messages:w,get modifiers(){return D},get pluralRules(){return j||{}},get isGlobal(){return n},get missingWarn(){return g},set missingWarn(T){g=T,C.missingWarn=g},get fallbackWarn(){return v},set fallbackWarn(T){v=T,C.fallbackWarn=v},get fallbackRoot(){return S},set fallbackRoot(T){S=T},get fallbackFormat(){return k},set fallbackFormat(T){k=T,C.fallbackFormat=k},get warnHtmlMessage(){return I},set warnHtmlMessage(T){I=T,C.warnHtmlMessage=T},get escapeParameter(){return x},set escapeParameter(T){x=T,C.escapeParameter=T},t:Ze,getLocaleMessage:E,setLocaleMessage:U,mergeLocaleMessage:B,getPostTranslationHandler:le,setPostTranslationHandler:ae,getMissingHandler:re,setMissingHandler:pe,[eu]:ne};return G.datetimeFormats=R,G.numberFormats=X,G.rt=ze,G.te=M,G.tm=h,G.d=Ue,G.n=q,G.getDateTimeFormat=W,G.setDateTimeFormat=b,G.mergeDateTimeFormat=y,G.getNumberFormat=L,G.setNumberFormat=A,G.mergeNumberFormat=ee,G[tu]=s,G[$l]=H,G[Cl]=Q,G[El]=J,G}function Wg(e){const t=se(e.locale)?e.locale:Ln,s=se(e.fallbackLocale)||Ve(e.fallbackLocale)||ve(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,n=Fe(e.missing)?e.missing:void 0,o=ke(e.silentTranslationWarn)||zs(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,l=ke(e.silentFallbackWarn)||zs(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,r=ke(e.fallbackRoot)?e.fallbackRoot:!0,i=!!e.formatFallbackMessages,c=ve(e.modifiers)?e.modifiers:{},u=e.pluralizationRules,d=Fe(e.postTranslation)?e.postTranslation:void 0,f=se(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,g=!!e.escapeParameterHtml,v=ke(e.sync)?e.sync:!0;let S=e.messages;if(ve(e.sharedMessages)){const D=e.sharedMessages;S=Object.keys(D).reduce((C,F)=>{const V=C[F]||(C[F]={});return Qe(V,D[F]),C},S||{})}const{__i18n:k,__root:P,__injectWithOption:_}=e,$=e.datetimeFormats,I=e.numberFormats,x=e.flatJson;return{locale:t,fallbackLocale:s,messages:S,flatJson:x,datetimeFormats:$,numberFormats:I,missing:n,missingWarn:o,fallbackWarn:l,fallbackRoot:r,fallbackFormat:i,modifiers:c,pluralRules:u,postTranslation:d,warnHtmlMessage:f,escapeParameter:g,messageResolver:e.messageResolver,inheritLocale:v,__i18n:k,__root:P,__injectWithOption:_}}function Tl(e={}){const t=or(Wg(e)),{__extender:s}=e,n={id:t.id,get locale(){return t.locale.value},set locale(o){t.locale.value=o},get fallbackLocale(){return t.fallbackLocale.value},set fallbackLocale(o){t.fallbackLocale.value=o},get messages(){return t.messages.value},get datetimeFormats(){return t.datetimeFormats.value},get numberFormats(){return t.numberFormats.value},get availableLocales(){return t.availableLocales},get missing(){return t.getMissingHandler()},set missing(o){t.setMissingHandler(o)},get silentTranslationWarn(){return ke(t.missingWarn)?!t.missingWarn:t.missingWarn},set silentTranslationWarn(o){t.missingWarn=ke(o)?!o:o},get silentFallbackWarn(){return ke(t.fallbackWarn)?!t.fallbackWarn:t.fallbackWarn},set silentFallbackWarn(o){t.fallbackWarn=ke(o)?!o:o},get modifiers(){return t.modifiers},get formatFallbackMessages(){return t.fallbackFormat},set formatFallbackMessages(o){t.fallbackFormat=o},get postTranslation(){return t.getPostTranslationHandler()},set postTranslation(o){t.setPostTranslationHandler(o)},get sync(){return t.inheritLocale},set sync(o){t.inheritLocale=o},get warnHtmlInMessage(){return t.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(o){t.warnHtmlMessage=o!=="off"},get escapeParameterHtml(){return t.escapeParameter},set escapeParameterHtml(o){t.escapeParameter=o},get pluralizationRules(){return t.pluralRules||{}},__composer:t,t(...o){return Reflect.apply(t.t,t,[...o])},rt(...o){return Reflect.apply(t.rt,t,[...o])},te(o,l){return t.te(o,l)},tm(o){return t.tm(o)},getLocaleMessage(o){return t.getLocaleMessage(o)},setLocaleMessage(o,l){t.setLocaleMessage(o,l)},mergeLocaleMessage(o,l){t.mergeLocaleMessage(o,l)},d(...o){return Reflect.apply(t.d,t,[...o])},getDateTimeFormat(o){return t.getDateTimeFormat(o)},setDateTimeFormat(o,l){t.setDateTimeFormat(o,l)},mergeDateTimeFormat(o,l){t.mergeDateTimeFormat(o,l)},n(...o){return Reflect.apply(t.n,t,[...o])},getNumberFormat(o){return t.getNumberFormat(o)},setNumberFormat(o,l){t.setNumberFormat(o,l)},mergeNumberFormat(o,l){t.mergeNumberFormat(o,l)}};return n.__extender=s,n}function Bg(e,t,s){return{beforeCreate(){const n=In();if(!n)throw ht(dt.UNEXPECTED_ERROR);const o=this.$options;if(o.i18n){const l=o.i18n;if(o.__i18n&&(l.__i18n=o.__i18n),l.__root=t,this===this.$root)this.$i18n=ja(e,l);else{l.__injectWithOption=!0,l.__extender=s.__vueI18nExtend,this.$i18n=Tl(l);const r=this.$i18n;r.__extender&&(r.__disposer=r.__extender(this.$i18n))}}else if(o.__i18n)if(this===this.$root)this.$i18n=ja(e,o);else{this.$i18n=Tl({__i18n:o.__i18n,__injectWithOption:!0,__extender:s.__vueI18nExtend,__root:t});const l=this.$i18n;l.__extender&&(l.__disposer=l.__extender(this.$i18n))}else this.$i18n=e;o.__i18nGlobal&&nu(t,o,o),this.$t=(...l)=>this.$i18n.t(...l),this.$rt=(...l)=>this.$i18n.rt(...l),this.$te=(l,r)=>this.$i18n.te(l,r),this.$d=(...l)=>this.$i18n.d(...l),this.$n=(...l)=>this.$i18n.n(...l),this.$tm=l=>this.$i18n.tm(l),s.__setInstance(n,this.$i18n)},mounted(){},unmounted(){const n=In();if(!n)throw ht(dt.UNEXPECTED_ERROR);const o=this.$i18n;delete this.$t,delete this.$rt,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,o.__disposer&&(o.__disposer(),delete o.__disposer,delete o.__extender),s.__deleteInstance(n),delete this.$i18n}}}function ja(e,t){e.locale=t.locale||e.locale,e.fallbackLocale=t.fallbackLocale||e.fallbackLocale,e.missing=t.missing||e.missing,e.silentTranslationWarn=t.silentTranslationWarn||e.silentFallbackWarn,e.silentFallbackWarn=t.silentFallbackWarn||e.silentFallbackWarn,e.formatFallbackMessages=t.formatFallbackMessages||e.formatFallbackMessages,e.postTranslation=t.postTranslation||e.postTranslation,e.warnHtmlInMessage=t.warnHtmlInMessage||e.warnHtmlInMessage,e.escapeParameterHtml=t.escapeParameterHtml||e.escapeParameterHtml,e.sync=t.sync||e.sync,e.__composer[eu](t.pluralizationRules||e.pluralizationRules);const s=nr(e.locale,{messages:t.messages,__i18n:t.__i18n});return Object.keys(s).forEach(n=>e.mergeLocaleMessage(n,s[n])),t.datetimeFormats&&Object.keys(t.datetimeFormats).forEach(n=>e.mergeDateTimeFormat(n,t.datetimeFormats[n])),t.numberFormats&&Object.keys(t.numberFormats).forEach(n=>e.mergeNumberFormat(n,t.numberFormats[n])),e}const lr={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function Gg({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((n,o)=>[...n,...o.type===je?o.children:[o]],[]):t.reduce((s,n)=>{const o=e[n];return o&&(s[n]=o()),s},Ie())}function ou(){return je}const Kg=Ne({name:"i18n-t",props:Qe({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>Ke(e)||!isNaN(e)}},lr),setup(e,t){const{slots:s,attrs:n}=t,o=e.i18n||qe({useScope:e.scope,__useComponent:!0});return()=>{const l=Object.keys(s).filter(f=>f[0]!=="_"),r=Ie();e.locale&&(r.locale=e.locale),e.plural!==void 0&&(r.plural=se(e.plural)?+e.plural:e.plural);const i=Gg(t,l),c=o[$l](e.keypath,i,r),u=Qe(Ie(),n),d=se(e.tag)||Se(e.tag)?e.tag:ou();return Mn(d,u,c)}}}),Wa=Kg;function qg(e){return Ve(e)&&!se(e[0])}function lu(e,t,s,n){const{slots:o,attrs:l}=t;return()=>{const r={part:!0};let i=Ie();e.locale&&(r.locale=e.locale),se(e.format)?r.key=e.format:Se(e.format)&&(se(e.format.key)&&(r.key=e.format.key),i=Object.keys(e.format).reduce((g,v)=>s.includes(v)?Qe(Ie(),g,{[v]:e.format[v]}):g,Ie()));const c=n(e.value,r,i);let u=[r.key];Ve(c)?u=c.map((g,v)=>{const S=o[g.type],k=S?S({[g.type]:g.value,index:v,parts:c}):[g.value];return qg(k)&&(k[0].key=`${g.type}-${v}`),k}):se(c)&&(u=[c]);const d=Qe(Ie(),l),f=se(e.tag)||Se(e.tag)?e.tag:ou();return Mn(f,d,u)}}const zg=Ne({name:"i18n-n",props:Qe({value:{type:Number,required:!0},format:{type:[String,Object]}},lr),setup(e,t){const s=e.i18n||qe({useScope:e.scope,__useComponent:!0});return lu(e,t,Qc,(...n)=>s[El](...n))}}),Ba=zg;function Yg(e,t){const s=e;if(e.mode==="composition")return s.__getInstance(t)||e.global;{const n=s.__getInstance(t);return n!=null?n.__composer:e.global.__composer}}function Xg(e){const t=r=>{const{instance:i,value:c}=r;if(!i||!i.$)throw ht(dt.UNEXPECTED_ERROR);const u=Yg(e,i.$),d=Ga(c);return[Reflect.apply(u.t,u,[...Ka(d)]),u]};return{created:(r,i)=>{const[c,u]=t(i);co&&e.global===u&&(r.__i18nWatcher=We(u.locale,()=>{i.instance&&i.instance.$forceUpdate()})),r.__composer=u,r.textContent=c},unmounted:r=>{co&&r.__i18nWatcher&&(r.__i18nWatcher(),r.__i18nWatcher=void 0,delete r.__i18nWatcher),r.__composer&&(r.__composer=void 0,delete r.__composer)},beforeUpdate:(r,{value:i})=>{if(r.__composer){const c=r.__composer,u=Ga(i);r.textContent=Reflect.apply(c.t,c,[...Ka(u)])}},getSSRProps:r=>{const[i]=t(r);return{textContent:i}}}}function Ga(e){if(se(e))return{path:e};if(ve(e)){if(!("path"in e))throw ht(dt.REQUIRED_VALUE,"path");return e}else throw ht(dt.INVALID_VALUE)}function Ka(e){const{path:t,locale:s,args:n,choice:o,plural:l}=e,r={},i=n||{};return se(s)&&(r.locale=s),Ke(o)&&(r.plural=o),Ke(l)&&(r.plural=l),[t,i,r]}function Qg(e,t,...s){const n=ve(s[0])?s[0]:{};(!ke(n.globalInstall)||n.globalInstall)&&([Wa.name,"I18nT"].forEach(l=>e.component(l,Wa)),[Ba.name,"I18nN"].forEach(l=>e.component(l,Ba)),[za.name,"I18nD"].forEach(l=>e.component(l,za))),e.directive("t",Xg(t))}const Jg=gs("global-vue-i18n");function Zg(e={}){const t=__VUE_I18N_LEGACY_API__&&ke(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,s=ke(e.globalInjection)?e.globalInjection:!0,n=new Map,[o,l]=eh(e,t),r=gs("");function i(f){return n.get(f)||null}function c(f,g){n.set(f,g)}function u(f){n.delete(f)}const d={get mode(){return __VUE_I18N_LEGACY_API__&&t?"legacy":"composition"},async install(f,...g){if(f.__VUE_I18N_SYMBOL__=r,f.provide(f.__VUE_I18N_SYMBOL__,d),ve(g[0])){const k=g[0];d.__composerExtend=k.__composerExtend,d.__vueI18nExtend=k.__vueI18nExtend}let v=null;!t&&s&&(v=ih(f,d.global)),__VUE_I18N_FULL_INSTALL__&&Qg(f,d,...g),__VUE_I18N_LEGACY_API__&&t&&f.mixin(Bg(l,l.__composer,d));const S=f.unmount;f.unmount=()=>{v&&v(),d.dispose(),S()}},get global(){return l},dispose(){o.stop()},__instances:n,__getInstance:i,__setInstance:c,__deleteInstance:u};return d}function qe(e={}){const t=In();if(t==null)throw ht(dt.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw ht(dt.NOT_INSTALLED);const s=th(t),n=nh(s),o=su(t),l=sh(e,o);if(l==="global")return nu(n,e,o),n;if(l==="parent"){let c=oh(s,t,e.__useComponent);return c==null&&(c=n),c}const r=s;let i=r.__getInstance(t);if(i==null){const c=Qe({},e);"__i18n"in o&&(c.__i18n=o.__i18n),n&&(c.__root=n),i=or(c),r.__composerExtend&&(i[Ll]=r.__composerExtend(i)),rh(r,t,i),r.__setInstance(t,i)}return i}function eh(e,t){const s=Ol(),n=__VUE_I18N_LEGACY_API__&&t?s.run(()=>Tl(e)):s.run(()=>or(e));if(n==null)throw ht(dt.UNEXPECTED_ERROR);return[s,n]}function th(e){const t=at(e.isCE?Jg:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw ht(e.isCE?dt.NOT_INSTALLED_WITH_PROVIDE:dt.UNEXPECTED_ERROR);return t}function sh(e,t){return Po(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function nh(e){return e.mode==="composition"?e.global:e.global.__composer}function oh(e,t,s=!1){let n=null;const o=t.root;let l=lh(t,s);for(;l!=null;){const r=e;if(e.mode==="composition")n=r.__getInstance(l);else if(__VUE_I18N_LEGACY_API__){const i=r.__getInstance(l);i!=null&&(n=i.__composer,s&&n&&!n[tu]&&(n=null))}if(n!=null||o===l)break;l=l.parent}return n}function lh(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function rh(e,t,s){It(()=>{},t),Ps(()=>{const n=s;e.__deleteInstance(t);const o=n[Ll];o&&(o(),delete n[Ll])},t)}const ah=["locale","fallbackLocale","availableLocales"],qa=["t","rt","d","n","tm","te"];function ih(e,t){const s=Object.create(null);return ah.forEach(o=>{const l=Object.getOwnPropertyDescriptor(t,o);if(!l)throw ht(dt.UNEXPECTED_ERROR);const r=Oe(l.value)?{get(){return l.value.value},set(i){l.value.value=i}}:{get(){return l.get&&l.get()}};Object.defineProperty(s,o,r)}),e.config.globalProperties.$i18n=s,qa.forEach(o=>{const l=Object.getOwnPropertyDescriptor(t,o);if(!l||!l.value)throw ht(dt.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${o}`,l)}),()=>{delete e.config.globalProperties.$i18n,qa.forEach(o=>{delete e.config.globalProperties[`$${o}`]})}}const ch=Ne({name:"i18n-d",props:Qe({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},lr),setup(e,t){const s=e.i18n||qe({useScope:e.scope,__useComponent:!0});return lu(e,t,Xc,(...n)=>s[Cl](...n))}}),za=ch;Vg();vg(Zm);yg(gg);wg(Bc);if(__INTLIFY_PROD_DEVTOOLS__){const e=Ls();e.__INTLIFY__=!0,eg(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const uh={common:{save:"Save",cancel:"Cancel",confirm:"Confirm",delete:"Delete",edit:"Edit",close:"Close",ok:"OK",yes:"Yes",no:"No",loading:"Loading...",success:"Success",error:"Error",warning:"Warning",info:"Info",language:"Language",back:"Back",forward:"Forward",refresh:"Refresh"},layout:{title:"M3U8 Downloader",newDownload:"New Download",downloadManagement:"Download Management",webBrowser:"Web Browser",completed:"Completed",config:"Config Settings",about:"About",ariang:"Ariang"},download:{status:{resume:"Downloading",pending:"Pending",pause:"Paused",error:"Error",done:"Completed"},pause:"Pause",resume:"Resume",delete:"Delete",clearQueue:"Clear Queue",batchDownload:"Batch Download",selectAll:"Select All",selected:"Selected",noTasks:"No download tasks",taskDetail:"Task Detail"},newDownload:{title:"New Download",playUrl:"Enter video playback page URL to extract m3u8 download link",extract:"Extract",extracting:"Extracting...",subUrlRegex:"Playback page link pattern",subUrlRegexHint:"Used to accurately identify playback addresses from video list pages. Example: play/845-1-. Supports * wildcard (converted to .+)",videoLinks:"Video Links (one per line, supports m3u8 addresses and Douyin, Weibo, Pipixia video share links)",videoLinksPlaceholder:"Format: URL | Name(optional), Name | URL",videoLinksDesc:"Paste download links directly, supports multiple formats",coreFeature:"Core Feature",videoName:"Video Name",videoNamePlaceholder:"Enter video name (optional)",videoNameHint:'If multiple links are entered, they will be named as "Video Name + Episode N"',saveDir:"Save Location",saveDirPlaceholder:"Enter save path",ignoreSegments:"Ignore Time Segments (for removing ad segments)",ignoreSegmentsPlaceholder:"Use - to separate start and end times, multiple separated by commas. Example: 0-10,20-100",headers:"Custom Headers",headersPlaceholder:`One per line (Weibo videos require Cookie), format: Key: Value. Example:
4
+ Referer: https://example.com
5
+ Cookie: token=123`,startDownload:"Start Download",submitting:"Submitting...",enterM3u8Link:"Please enter at least one M3U8 link",enterValidM3u8Link:"Please enter a valid M3U8 link",basicSettings:"Basic Settings",advancedOptions:"Advanced Options",urlExtraction:"URL Extraction",expandAdvanced:"Expand Advanced Options",collapseAdvanced:"Collapse Advanced Options",urlHelpTitle:"Supported link formats:",urlHelpM3u8:"• M3U8 link",urlHelpUrlName:"• URL | Name",urlHelpNameUrl:"• Name | URL",urlHelpShare:"• Video share link",ignoreSegmentsHint:"Used to remove unwanted content like ad segments",quickTemplate:"Quick template",headerWeibo:"Weibo video",headerDouyin:"Douyin video",headerBili:"Bilibili video",formatSuccess:"Links intelligently formatted",formatFailed:"Format failed",formatButton:"Format",clearButton:"Clear",formatHelp:"Format Help",videoLinksHint:"Supports M3U8 links, video share links, etc.",storageSettings:"Storage Settings",resetToDefault:"Reset to default",reset:"Reset",templateApplied:"Quick template applied"},webBrowser:{title:"Web Browser - Extract Download URLs",hideBrowser:"Hide Browser",showBrowser:"Show Browser",stop:"Stop",urlPlaceholder:"Enter webpage URL, will automatically extract m3u8 and mp4 video links from the page",load:"Load",loading:"Loading...",foundVideos:"Found {count} video links",clearList:"Clear List",download:"Download",noVideos:"No video links extracted yet, please wait for page to load or try another webpage",enterUrl:"Please enter webpage URL",enterValidUrl:"Please enter a valid webpage URL (starting with http:// or https://)",electronOnly:"This feature is only available in Electron client",pageLoadComplete:"Page load complete, found {count} video links",pageLoadCompleteNoVideos:"Page load complete, but no video links found",newVideoFound:"New video link found: {title}",selectAtLeastOne:"Please select at least one video link",source:"Source",unnamedVideo:"Unnamed Video"},error:{unauthorized:"Unauthorized access",downloadFailed:"Download failed",requestFailed:"Request failed",unknownError:"Unknown error",noLocalFile:"No local file found"},taskList:{title:"Download Tasks",new:"New",pauseSelected:"Pause Selected",resumeSelected:"Resume Selected",deleteSelected:"Delete Selected",pauseAll:"Pause All",resumeAll:"Resume All",clearQueue:"Clear Queue",searchPlaceholder:"Search task name or URL",searchLabel:"Search tasks",filterByStatus:"Filter by status",clearFilters:"Clear filters",all:"All",status:{resume:"Downloading",pending:"Pending",pause:"Paused",error:"Error",done:"Completed"},selectAll:"Select All/Toggle",selected:"Selected",total:"Total",pending:"Pending",downloading:"Downloading"},taskItem:{episode:"Episode {index}",play:"Play",localPlay:"Local Play",preview:"Preview",detail:"Detail",retry:"Retry",selectTask:"Select task: {name}",pause:"Pause",resume:"Resume",delete:"Delete",duration:"Duration",size:"Size",segments:"Segments",remaining:"Remaining",video:"Video"},config:{title:"Config Settings",downloadSettings:"Download Settings",threadNum:"Concurrent download threads per task",threadNumPlaceholder:"Enter thread count (1-16)",threadNumHint:"Recommended not more than 8, too many concurrent requests to a single server may result in IP ban",maxDownloads:"Maximum concurrent downloads",maxDownloadsPlaceholder:"Enter max concurrent downloads (1-10)",maxDownloadsHint:"Maximum number of concurrent download tasks, default is 3",saveDir:"Video save directory",saveDirPlaceholder:"Enter save directory path",saveDirHint:"Default is downloads folder in current directory",delCache:"Delete ts segment cache after download completes",delCacheLabel:"Delete segment files",delCacheHint:"Saving temporary files can identify cache when re-downloading",convert:"Convert format after download completes",convertLabel:"Merge and convert to MP4/TS file",convertHint:"Automatically merge and convert to MP4 format after download completes",showPreview:"Show preview button",showPreviewLabel:"Show preview button in download list",showLocalPlay:"Show local play button",showLocalPlayLabel:"Show local play button in download list",ffmpegPath:"FFmpeg Path",ffmpegPathPlaceholder:"Leave empty to use ffmpeg from system PATH",ffmpegPathHint:"Specify the full path to the ffmpeg executable file. If left empty, will try to use ffmpeg from system PATH environment variable",save:"Save",saveSuccess:"Configuration updated",saveFailed:"Configuration update failed",localConfig:"Local Config",token:"Access Token",tokenPlaceholder:"Optional, 8 characters supported",tokenHint:"Set access token to protect service security",updateLocalConfig:"Update Local Config",localConfigUpdated:"Local configuration updated",enterPassword:"Please enter access token",passwordRequired:"Access Token Required",passwordRequiredHint:"Please enter the correct access token to continue",passwordError:"Token error, please re-enter",passwordProcessFailed:"Token processing failed, please try again",configUpdated:"Configuration updated",verifying:"Verifying...",proxyUrlRequired:"Proxy URL is required when custom proxy mode is selected",proxyMode:"Proxy Mode",proxyModeDisabled:"No Proxy",proxyModeSystem:"Use System Proxy",proxyModeCustom:"Custom Proxy",proxyModeHint:"Select proxy mode",proxyUrl:"Proxy URL",proxyUrlPlaceholder:"e.g., http://127.0.0.1:1080",proxyUrlHint:"Supports http/https/socks proxy, e.g., http://127.0.0.1:1080",noProxy:"Proxy Bypass",noProxyPlaceholder:"e.g., localhost,127.0.0.1,.example.com",noProxyHint:"Addresses that should bypass the proxy, comma separated"},about:{title:"About",projectInfo:"Project Info",license:"License",author:"Author",github:"GitHub",issues:"Issues",currentVersion:"Current Version",checkVersion:"Check for Updates",newVersionFound:"New version found! [{version}]",projectDescription:"Project Description",projectDescriptionText:"is a free and open-source powerful m3u8 video batch download tool that supports multi-threaded downloads, play while downloading, WebUI management, video parsing, and other features. Supports CLI command line, browser, PC client, Docker deployment, and Node.js API calls.",features:"Features",coreFeatures:"🚀 Core Download Features",coreFeature1:"Multi-threaded download: Thread pool mode with customizable thread count for faster downloads",coreFeature2:"Play while downloading: Support online playback using downloaded ts cache files without waiting",coreFeature3:"Batch download: Support batch download of multiple m3u8 addresses and text file import",coreFeature4:"Cache resume: Failed downloads retain cache, retry only downloads failed segments to save bandwidth",coreFeature5:"AES encryption support: Automatically identify and decrypt common AES-128 encrypted video streams",coreFeature6:"Format conversion: Automatically merge and convert downloaded ts segments to mp4 format (requires ffmpeg)",coreFeature7:"Multi-format support: Support downloading video files in mp4, mkv and other formats",coreFeature8:"Segment filtering: Support ignoring video segments in specified time ranges (e.g., skip intro/outro)",webUIFeatures:"🌐 WebUI Download Management",webUIFeature1:"Modern interface: Modern Web interface built with Vue 3 + TypeScript",webUIFeature2:"Real-time progress: Real-time display of download progress and status via WebSocket",webUIFeature3:"Task management: Support pause, resume, delete download tasks, and batch operations",webUIFeature4:"Download center: Centralized management of all download tasks with search and filter support",webUIFeature5:"Config management: Visual configuration of download parameters (thread count, save directory, etc.)",webUIFeature6:"Access control: Support setting access password (token) to protect service",parserFeatures:"🎬 Video Parsing Features",parserFeature1:"Multi-platform support: Support parsing video share links from Douyin, Weibo, Pipixia and other platforms",parserFeature2:"Watermark-free download: Automatically extract watermark-free video addresses and download",parserFeature3:"Smart recognition: Automatically identify video platforms and select appropriate parser",extractFeatures:"🔍 Smart Extraction Features",extractFeature1:"Web extraction: Support automatic extraction of m3u8 addresses from video playback pages",extractFeature2:"Deep search: Support multi-level page search, automatically discover video links",extractFeature3:"Batch extraction: Extract multiple video links at once, support batch download",searchFeatures:"📺 Video Search Features",searchFeature1:"Collection site support: Support standard collection site API for command-line interactive search and download",searchFeature2:"Cache mechanism: Automatically cache search history, support continuing unfinished downloads",usageFeatures:"💻 Multiple Usage Methods",usageFeature1:"Command-line tool: Complete CLI commands with various parameter configurations",usageFeature2:"Node.js API: Programming interface for easy integration into other projects",usageFeature3:"Web service: Support starting as Web service, manage downloads through browser",usageFeature4:"Docker deployment: Provide Docker image for one-click server deployment",usageFeature5:"Electron desktop app: Support packaging as desktop app with built-in browser functionality",i18nFeatures:"🌍 Internationalization Support",i18nFeature1:"Support Chinese and English multi-language",i18nFeature2:"Both command line and WebUI support language switching",installation:"Installation",globalInstall:"Global install:",useNpx:"Use npx:",desktopApp:"Desktop Application",desktopAppText:"Download the latest version from:",desktopAppLink1:"https://m3u8-player.lzw.me/download.html",desktopAppLink2:"https://github.com/lzwme/m3u8-dl/releases",docker:"Docker Deployment",dockerCommand:"Run with Docker command:",dockerCompose:"Run with docker-compose:",dockerDeployComplete:"After deployment, visit {url} to use the WebUI interface.",captureScript:"🎬 Browser Script (m3u8-capture)",captureScriptDescription:"m3u8-capture is a browser userscript that automatically captures m3u8 and mp4 video links from web pages and quickly jumps to WebUI for download.",captureScriptInstall:"Installation Steps:",captureScriptInstallStep1:"Install browser extension: ",captureScriptInstallStep1Or:" or ",captureScriptInstallStep2:"Install script:",captureScriptInstallStep2a:"Open extension management panel",captureScriptInstallStep2b:'Click "Add new script"',captureScriptInstallStep2c:"Copy content from the following link or visit directly (choose one):",captureScriptInstallStep2cOption1:"GitHub address:",captureScriptInstallStep2cOption1Note:"Latest version",captureScriptInstallStep2cOption2:"Local service address:",captureScriptInstallStep3:"Configure WebUI address:",captureScriptInstallStep3a:"Visit any web page, click the 🎬 icon in the top right corner to open the capture panel",captureScriptInstallStep3b:"Click the settings button ⚙️",captureScriptInstallStep3c:"Enter your m3u8-dl WebUI address (e.g., http://localhost:6600) and save",captureScriptFeatures:"Feature Description:",captureScriptFeature1:"Auto Capture: The script automatically monitors network requests in web pages, when m3u8 or mp4 video links are detected, automatically adds them to the list",captureScriptFeature2:"Video Name Extraction: Prioritizes extracting video names from page h1, h2, or document.title",captureScriptFeature3:'Jump to Download: Click the "Jump to Download" button to automatically jump to m3u8-dl WebUI and fill in video link and name (format: url|name)',captureScriptFeature4:"Exclusion Rules: In settings, you can configure exclusion URL rule list, matching URLs will not show panel and will not capture video links",captureScriptFeature4a:"Supports plain string matching (contains match)",captureScriptFeature4b:"Supports regular expressions (starts and ends with /, e.g., /example\\.com/)",captureScriptUsage:"Usage Example:",captureScriptUsageStep1:"Visit video playback page",captureScriptUsageStep2:"Script automatically captures video links, displayed in the panel in the bottom right corner",captureScriptUsageStep3:'Click "Jump to Download" button',captureScriptUsageStep4:"Automatically jumps to m3u8-dl WebUI, video link and name are automatically filled",captureScriptUsageStep5:'Click "Start Download" in WebUI',captureScriptExcludeRules:"Exclusion Rule Configuration Example:",captureScriptExcludeRulesHint:"Configure exclusion rules in script settings, one per line:",captureScriptTip:"Tip: The script automatically excludes WebUI address pages to avoid capturing in WebUI pages. You can also manually add more exclusion rules.",latestVersion:"Already latest version, no update needed [{version}]",newVersionAvailable:"New version found [{version}], please visit {url} to download the latest version",versionCheckFailed:"Version check failed: {error}"},confirm:{play:"Confirm Play",playError:"Error: {error}",playConfirmMessage:`This task status is abnormal and may not play normally.
6
+
7
+ Are you sure you want to continue playing?`,delete:"Confirm Delete",deleteMessage:"Are you sure you want to delete {count} selected download tasks?",deleteCache:"Delete cache files",deleteVideo:"Delete video files"},toast:{downloadStarted:"Batch download started",downloadFailed:"Download failed",pauseSuccess:"Download paused",resumeSuccess:"Download resumed",deleteSuccess:"Selected downloads deleted",clearQueueSuccess:"Download queue cleared",clearQueueFailed:"Failed to clear queue",wsConnected:"WebSocket connected",passwordVerified:"Password verified, connection established",extractSuccess:"Extraction complete! Found {count} addresses",extractFailed:"Extraction failed, no M3U8 address found",extractError:"Extraction failed: {error}",enterValidUrl:"Please enter a valid URL address",copySuccess:"Copied to clipboard",copyFailed:"Copy failed",renameSuccess:"Renamed successfully",renameFailed:"Rename failed"},emptyState:{noTasks:"No download tasks",addTask:"Add Download Task"},taskDetail:{title:"Task Detail",name:"Name",status:"Status",progress:"Progress",avgSpeed:"Avg Speed",size:"Size",segments:"Segments",threadNum:"Threads",duration:"Duration",startTime:"Start Time",endTime:"End Time",remainingTime:"Remaining",downloadUrl:"Download URL",saveLocation:"Save Location",relatedInfo:"Related Info",copy:"Copy",close:"Close"},completedList:{title:"Completed Tasks",total:"Total {count} items",sortBy:"Sort by:",sortStartTime:"Start Time",sortEndTime:"End Time",sortName:"Name",sortSize:"Size",sortSaveDir:"Save Location",ascending:"Ascending",descending:"Descending",searchPlaceholder:"Search task name or URL",action:"Action",taskName:"Task Name",fileSize:"File Size",startTime:"Start Time",endTime:"End Time",viewDetail:"View Detail",rename:"Rename",renameTitle:"Rename File",newFilename:"New Filename",filenamePlaceholder:"Enter new filename (without extension)",invalidFilename:'Filename contains invalid characters (cannot contain < > : " / \\ | ? *)',play:"Play",delete:"Delete",noCompletedTasks:"No completed tasks",selected:"Selected {count} items",deleteSelected:"Delete Selected",favorites:"Favorites",showFavorites:"Show Favorites",addFavorite:"Add to Favorites",removeFavorite:"Remove from Favorites",pageSize:"Items per page",pageInfo:"Page {current} of {total}",itemsPerPage:"items",goToPage:"Go",previousPage:"Previous",nextPage:"Next",firstPage:"First",lastPage:"Last"},deleteConfirm:{title:"Confirm Delete",message:"Are you sure you want to delete {count} selected tasks?",deleteCache:"Also delete downloaded cache files",deleteVideo:"Also delete downloaded video files",cancel:"Cancel",confirm:"Confirm Delete"}},dh={common:{save:"保存",cancel:"取消",confirm:"确认",delete:"删除",edit:"编辑",close:"关闭",ok:"确定",yes:"是",no:"否",loading:"加载中...",success:"成功",error:"错误",warning:"警告",info:"信息",language:"语言",back:"后退",forward:"前进",refresh:"刷新"},layout:{title:"M3U8 下载器",newDownload:"新建下载",downloadManagement:"下载管理",webBrowser:"网页浏览",completed:"已完成",config:"配置设置",about:"关于项目",ariang:"Ariang"},download:{status:{resume:"下载中",pending:"等待中",pause:"已暂停",error:"错误",done:"已完成"},pause:"暂停",resume:"恢复",delete:"删除",clearQueue:"清空队列",batchDownload:"批量下载",selectAll:"全选",selected:"已选择",noTasks:"暂无下载任务",taskDetail:"任务详情"},newDownload:{title:"新建下载",playUrl:"输入视频播放页地址,尝试提取m3u8下载链接",extract:"提取",extracting:"解析中...",subUrlRegex:"播放页链接特征规则",subUrlRegexHint:"用于从视频列表页准确识别播放地址。如:play/845-1-。支持 * 通配符(会被转换为 .+)",videoLinks:"视频链接(每行一个,支持m3u8、mp4视频地址及抖音、微博、皮皮虾视频分享链接)",videoLinksPlaceholder:"格式: URL | 名称(可选)、名称 | URL",videoLinksDesc:"直接粘贴下载链接,支持多种格式",coreFeature:"核心功能",videoName:"视频名称",videoNamePlaceholder:"请输入视频名称(可选)",videoNameHint:'若输入多个链接,将依次以"视频名称+第N集"命名',saveDir:"保存位置",saveDirPlaceholder:"请输入保存路径",ignoreSegments:"删除时间片段(适用于移除广告片段的情况)",ignoreSegmentsPlaceholder:"以-分割起止时间,多个以逗号分隔。示例:0-10,20-100",headers:"自定义请求头",headersPlaceholder:`每行一个(微博视频须设置 Cookie),格式:Key: Value。例如:
8
+ Referer: https://example.com
9
+ Cookie: token=123`,startDownload:"开始下载",submitting:"提交中...",enterM3u8Link:"请输入至少一个 M3U8 链接",enterValidM3u8Link:"请输入正确的 M3U8 链接",basicSettings:"基本设置",advancedOptions:"高级选项",urlExtraction:"URL 抓取功能",expandAdvanced:"展开高级选项",collapseAdvanced:"收起高级选项",urlHelpTitle:"支持的链接格式:",urlHelpM3u8:"• M3U8 链接",urlHelpUrlName:"• URL | 名称",urlHelpNameUrl:"• 名称 | URL",urlHelpShare:"• 视频分享链接",ignoreSegmentsHint:"用于移除广告片段等不需要的内容",quickTemplate:"快速模板",headerWeibo:"微博视频",headerDouyin:"抖音视频",headerBili:"B站视频",formatSuccess:"已智能格式化链接",formatFailed:"格式化失败",formatButton:"格式化",clearButton:"清空",formatHelp:"格式帮助",videoLinksHint:"支持 M3U8 链接、视频分享链接等",storageSettings:"存储设置",resetToDefault:"重置为默认",reset:"重置",templateApplied:"已应用快速模板"},webBrowser:{title:"网页浏览提取下载地址",hideBrowser:"隐藏浏览器",showBrowser:"显示浏览器",stop:"停止",urlPlaceholder:"输入网页地址,将自动提取页面中的 m3u8 和 mp4 视频链接",load:"加载",loading:"加载中...",foundVideos:"找到 {count} 个视频链接",clearList:"清空列表",download:"下载",noVideos:"暂无提取到的视频链接,请等待页面加载完成或尝试其他网页",enterUrl:"请输入网页地址",enterValidUrl:"请输入正确的网页地址(以 http:// 或 https:// 开头)",electronOnly:"此功能仅在 Electron 客户端中可用",pageLoadComplete:"页面加载完成,共发现 {count} 个视频链接",pageLoadCompleteNoVideos:"页面加载完成,但未发现视频链接",newVideoFound:"发现新的视频链接: {title}",selectAtLeastOne:"请至少选择一个视频链接",source:"来源",unnamedVideo:"未命名视频"},error:{unauthorized:"未授权,禁止访问",downloadFailed:"下载失败",requestFailed:"请求失败",unknownError:"未知错误",noLocalFile:"未找到本地文件"},taskList:{title:"下载任务",new:"新建",pauseSelected:"暂停选中",resumeSelected:"开始选中",deleteSelected:"删除选中",pauseAll:"全部暂停",resumeAll:"全部开始",clearQueue:"清空队列",searchPlaceholder:"搜索任务名称或URL",searchLabel:"搜索任务",filterByStatus:"按状态筛选",clearFilters:"清除筛选条件",all:"全部",status:{resume:"下载中",pending:"等待中",pause:"已暂停",error:"异常",done:"已完成"},selectAll:"全选/反选",selected:"已选",total:"总数",pending:"等待中",downloading:"下载中"},taskItem:{episode:"第{index}集",play:"播放",localPlay:"边下边播",preview:"预览",detail:"详情",retry:"重试",selectTask:"选择任务:{name}",pause:"暂停",resume:"继续",delete:"删除",duration:"时长",size:"大小",segments:"分片",remaining:"剩余",video:"视频"},config:{title:"配置设置",downloadSettings:"下载设置",threadNum:"单任务并发下载线程数",threadNumPlaceholder:"请输入线程数(1-16)",threadNumHint:"建议不超过 8 个,对单个服务器的并发请求数过多可能会导致被封 IP",maxDownloads:"最多同时下载视频数",maxDownloadsPlaceholder:"请输入最大并发下载数(1-10)",maxDownloadsHint:"最多同时下载任务数量,默认为 3",saveDir:"视频保存目录",saveDirPlaceholder:"请输入保存目录路径",saveDirHint:"默认为当前目录下 downloads 文件夹",delCache:"下载完成后删除ts分片缓存",delCacheLabel:"删除分片文件",delCacheHint:"保存临时文件可以在重复下载时识别缓存",convert:"下载完成后转换格式",convertLabel:"合并转换为 MP4/TS 文件",convertHint:"下载完成后自动合并转换为 MP4 格式",showPreview:"显示预览按钮",showPreviewLabel:"在下载列表中显示预览按钮",showLocalPlay:"显示边下边播按钮",showLocalPlayLabel:"在下载列表中显示边下边播按钮",ffmpegPath:"ffmpeg 可执行文件路径",ffmpegPathPlaceholder:"留空则使用系统 PATH 中的 ffmpeg",ffmpegPathHint:"指定 ffmpeg 可执行文件的完整路径。如果留空,则尝试使用系统 PATH 环境变量中的 ffmpeg",proxyMode:"代理模式",proxyModeDisabled:"关闭代理",proxyModeSystem:"使用系统代理",proxyModeCustom:"自定义代理",proxyModeHint:"选择代理模式",proxyUrl:"代理地址",proxyUrlPlaceholder:"如: http://127.0.0.1:1080",proxyUrlHint:"支持 http/https/socks 代理,如: http://127.0.0.1:1080",noProxy:"代理过滤",noProxyPlaceholder:"如: localhost,127.0.0.1,.example.com",noProxyHint:"不需要通过代理访问的地址,多个地址用逗号分隔",save:"保存配置",saveSuccess:"配置保存成功",saveFailed:"配置保存失败",localConfig:"本地设置",token:"访问密码",tokenPlaceholder:"请输入访问密码",tokenHint:"若服务端设置了访问密码(token),请在此输入",updateLocalConfig:"更新本地配置",localConfigUpdated:"本地配置已更新",enterPassword:"请输入访问密码",passwordRequired:"需要访问密码",passwordRequiredHint:"请输入正确的访问密码以继续",passwordError:"密码错误,请重新输入",passwordProcessFailed:"密码处理失败,请重试",configUpdated:"配置已更新",verifying:"验证中...",proxyUrlRequired:"自定义代理模式下,代理地址为必填项"},about:{title:"关于项目",projectInfo:"项目信息",license:"许可证",author:"作者",github:"GitHub",issues:"问题反馈",currentVersion:"当前版本",checkVersion:"检测新版本",newVersionFound:"发现新版本![{version}]",projectDescription:"项目简介",projectDescriptionText:"是一个免费开源功能强大的 m3u8 视频批量下载工具,支持多线程下载、边下边播、WebUI 管理、视频解析等多种功能。支持 CLI命令行、浏览器、PC客户端、Docker 部署以及 Node.js API 调用等多种使用方式。",features:"功能特性",coreFeatures:"🚀 核心下载功能",coreFeature1:"多线程下载:采用线程池模式,支持自定义线程数,大幅提升下载速度",coreFeature2:"边下边播模式:支持使用已下载的 ts 缓存文件在线播放,无需等待完整下载",coreFeature3:"批量下载:支持指定多个 m3u8 地址批量下载,支持文本文件批量导入",coreFeature4:"缓存续传:下载失败会保留缓存,重试时只下载失败的片段,节省带宽和时间",coreFeature5:"AES 加密支持:自动识别并解密常见的 AES-128 加密视频流",coreFeature6:"格式转换:自动将下载的 ts 片段合并转换为 mp4 格式(需安装 ffmpeg)",coreFeature7:"多格式支持:支持下载 mp4、mkv 等格式的视频文件",coreFeature8:"片段过滤:支持忽略指定时间段的视频片段(如跳过片头片尾)",webUIFeatures:"🌐 WebUI 下载管理",webUIFeature1:"现代化界面:基于 Vue 3 + TypeScript 构建的现代化 Web 界面",webUIFeature2:"实时进度:通过 WebSocket 实时显示下载进度和状态",webUIFeature3:"任务管理:支持暂停、恢复、删除下载任务,支持批量操作",webUIFeature4:"下载中心:集中管理所有下载任务,支持搜索和筛选",webUIFeature5:"配置管理:可视化配置下载参数(线程数、保存目录等)",webUIFeature6:"访问控制:支持设置访问密码(token)保护服务",parserFeatures:"🎬 视频解析功能",parserFeature1:"多平台支持:支持抖音、微博、皮皮虾等平台的视频分享链接解析",parserFeature2:"无水印下载:自动提取无水印视频地址并下载",parserFeature3:"智能识别:自动识别视频平台并选择合适的解析器",extractFeatures:"🔍 智能提取功能",extractFeature1:"网页提取:支持从视频播放页面自动提取 m3u8 地址",extractFeature2:"深度搜索:支持多层级页面搜索,自动发现视频链接",extractFeature3:"批量提取:一次提取多个视频链接,支持批量下载",searchFeatures:"📺 视频搜索功能",searchFeature1:"采集站支持:支持标准采集站 API,通过命令行交互搜索和下载",searchFeature2:"缓存机制:自动缓存搜索历史,支持继续未完成的下载",usageFeatures:"💻 多种使用方式",usageFeature1:"命令行工具:提供完整的 CLI 命令,支持各种参数配置",usageFeature2:"Node.js API:提供编程接口,方便集成到其他项目",usageFeature3:"Web 服务:支持启动为 Web 服务,通过浏览器管理下载",usageFeature4:"Docker 部署:提供 Docker 镜像,一键部署到服务器",usageFeature5:"Electron 桌面应用:支持打包为桌面应用,包含内置浏览器功能",i18nFeatures:"🌍 国际化支持",i18nFeature1:"支持中文和英文多语言",i18nFeature2:"命令行和 WebUI 均支持语言切换",installation:"安装使用",globalInstall:"全局安装:",useNpx:"使用 npx:",desktopApp:"桌面应用",desktopAppText:"可访问如下地址下载最新版本:",desktopAppLink1:"https://m3u8-player.lzw.me/download.html",desktopAppLink2:"https://github.com/lzwme/m3u8-dl/releases",docker:"Docker 部署",dockerCommand:"使用 Docker 命令运行:",dockerCompose:"使用 docker-compose 运行:",dockerDeployComplete:"部署完成后,访问 {url} 即可使用 WebUI 界面。",captureScript:"🎬 浏览器脚本 (m3u8-capture)",captureScriptDescription:"m3u8-capture 是一个浏览器用户脚本,可以自动抓取网页中的 m3u8 和 mp4 视频链接,并快速跳转到 WebUI 进行下载。",captureScriptInstall:"安装步骤:",captureScriptInstallStep1:"安装浏览器扩展:",captureScriptInstallStep1Or:" 或 ",captureScriptInstallStep2:"安装脚本:",captureScriptInstallStep2a:"打开扩展管理面板",captureScriptInstallStep2b:'点击"添加新脚本"',captureScriptInstallStep2c:"复制以下链接内容或直接访问(任选其一):",captureScriptInstallStep2cOption1:"GitHub 地址:",captureScriptInstallStep2cOption1Note:"最新版本",captureScriptInstallStep2cOption2:"本地服务地址:",captureScriptInstallStep3:"配置 WebUI 地址:",captureScriptInstallStep3a:"访问任意网页,点击页面右上角的 🎬 图标打开抓取面板",captureScriptInstallStep3b:"点击设置按钮 ⚙️",captureScriptInstallStep3c:"输入您的 m3u8-dl WebUI 地址(如 http://localhost:6600)并保存",captureScriptFeatures:"功能说明:",captureScriptFeature1:"自动抓取:脚本会自动监控网页中的网络请求,当检测到 m3u8 或 mp4 视频链接时,自动添加到列表中",captureScriptFeature2:"视频名称提取:优先从页面的 h1、h2 或 document.title 提取视频名称",captureScriptFeature3:'跳转下载:点击"跳转下载"按钮,会自动跳转到 m3u8-dl WebUI 并填充视频链接和名称(格式:url|name)',captureScriptFeature4:"排除规则:在设置中可以配置排除网址规则列表,匹配的网址将不展示面板且不抓取视频链接",captureScriptFeature4a:"支持普通字符串匹配(包含匹配)",captureScriptFeature4b:"支持正则表达式(以 / 开头和结尾,如 /example\\.com/)",captureScriptUsage:"使用示例:",captureScriptUsageStep1:"访问视频播放页面",captureScriptUsageStep2:"脚本自动抓取视频链接,显示在右下角的面板中",captureScriptUsageStep3:'点击"跳转下载"按钮',captureScriptUsageStep4:"自动跳转到 m3u8-dl 的 WebUI,视频链接和名称已自动填充",captureScriptUsageStep5:'在 WebUI 中点击"开始下载"即可',captureScriptExcludeRules:"排除规则配置示例:",captureScriptExcludeRulesHint:"在脚本设置中配置排除规则,每行一个:",captureScriptTip:"提示:脚本会自动排除 WebUI 地址页面,避免在 WebUI 页面中抓取。您也可以手动添加更多排除规则。",latestVersion:"已是最新版本,无需更新[{version}]",newVersionAvailable:"发现新版本[{version}],请前往 {url} 下载最新版本",versionCheckFailed:"版本检查失败:{error}"},confirm:{play:"确认播放",playError:"错误信息:{error}",playConfirmMessage:`该任务状态为异常,可能无法正常播放。
10
+
11
+ 确定要继续播放吗?`,delete:"确认删除",deleteMessage:"确定要删除选中的 {count} 个下载任务吗?",deleteCache:"删除缓存文件",deleteVideo:"删除视频文件"},toast:{downloadStarted:"批量下载已开始",downloadFailed:"下载失败",pauseSuccess:"已暂停下载",resumeSuccess:"已恢复下载",deleteSuccess:"已删除选中的下载",clearQueueSuccess:"已清空下载队列",clearQueueFailed:"清空队列失败",wsConnected:"ws连接成功",passwordVerified:"密码验证成功,连接已建立",extractSuccess:"解析完成!获取到 {count} 个地址",extractFailed:"解析失败,未找到 M3U8 地址",extractError:"解析失败: {error}",enterValidUrl:"请输入正确的 URL 地址",copySuccess:"已复制到剪贴板",copyFailed:"复制失败",renameSuccess:"重命名成功",renameFailed:"重命名失败"},emptyState:{noTasks:"暂无下载任务",addTask:"添加下载任务"},taskDetail:{title:"任务详情",name:"名称",status:"状态",progress:"进度",avgSpeed:"平均速度",size:"大小",segments:"分片",threadNum:"并发线程",duration:"时长",startTime:"开始时间",endTime:"结束时间",remainingTime:"预估还需",downloadUrl:"下载地址",saveLocation:"保存位置",relatedInfo:"相关信息",copy:"复制",close:"关闭"},completedList:{title:"已完成任务",total:"共 {count} 项",sortBy:"排序方式:",sortStartTime:"开始时间",sortEndTime:"结束时间",sortName:"名称",sortSize:"大小",sortSaveDir:"保存位置",ascending:"升序",descending:"降序",searchPlaceholder:"搜索任务名称或URL地址",action:"操作",taskName:"任务名称",fileSize:"文件大小",startTime:"开始时间",endTime:"结束时间",viewDetail:"查看详情",rename:"重命名",renameTitle:"重命名文件",newFilename:"新文件名",filenamePlaceholder:"请输入新文件名(不含扩展名)",invalidFilename:'文件名包含非法字符(不能包含 < > : " / \\ | ? *)',play:"播放",delete:"删除",noCompletedTasks:"暂无已完成的任务",selected:"已选择 {count} 项",deleteSelected:"删除选中",favorites:"收藏",showFavorites:"显示收藏",addFavorite:"添加收藏",removeFavorite:"取消收藏",pageSize:"每页显示",pageInfo:"第 {current} 页,共 {total} 页",itemsPerPage:"条",goToPage:"跳转",previousPage:"上一页",nextPage:"下一页",firstPage:"首页",lastPage:"末页"},deleteConfirm:{title:"确认删除",message:"确定要删除选中的 {count} 个任务吗?",deleteCache:"同时删除已下载的缓存文件",deleteVideo:"同时删除已下载的视频文件",cancel:"取消",confirm:"确认删除"}},Il={"zh-CN":dh,en:uh};function ru(){if(typeof window>"u")return"en";const e=localStorage.getItem("language");if(e){if(e==="zh")return localStorage.setItem("language","zh-CN"),"zh-CN";if(e in Il)return e}const s=(navigator.language||navigator.userLanguage||"en").toLowerCase();if(s.startsWith("zh"))return"zh-CN";const n=s.split("-")[0];return n in Il?n:"en"}const au=Zg({legacy:!1,locale:ru(),fallbackLocale:"en",messages:Il}),fh="";function ph(){if(typeof window>"u")return"en";try{return au.global.locale.value}catch{return ru()}}function mh(e){const t={"content-type":"application/json"};return e&&(t.authorization=e),t}function gh(e){const t=e.includes("?")?"&":"?";return`${e}${t}lang=${ph()}`}async function iu(e,t={}){const{method:s="GET",headers:n={},body:o}=t,l=localStorage.getItem("token")||"";try{const i=await(await fetch(gh(`${fh}${e}`),{method:s,headers:{...mh(l),...n},body:typeof o=="string"?o:o?JSON.stringify(o):void 0})).json();return i.code&&console.error(`[${e}] 请求失败:`,i.message),i}catch(r){return console.error(`请求失败: ${e}`,r),{code:-1,message:r instanceof Error?r.message:"请求失败"}}}function cu(e){return iu(e,{method:"GET"})}function vs(e,t){return iu(e,{method:"POST",body:t})}async function hh(){const e=await cu("/api/config");return e.code===0&&e.data?e.data:{}}async function bh(e){return vs("/api/config",e)}async function uu(){const e=await cu("/api/tasks");return e.code===0&&e.data?e.data:{}}async function vh(e){return vs("/api/download",{list:e})}async function yh(e,t=!1){return vs("/api/pause",{urls:e,all:t})}async function wh(e,t=!1){return vs("/api/resume",{urls:e,all:t})}async function du(e,t=!0,s=!0){return vs("/api/delete",{urls:e,deleteCache:t,deleteVideo:s})}async function _h(e,t){return vs("/api/rename",{url:e,newFilename:t})}async function xh(e,t,s){return vs("/api/getM3u8Urls",{url:e,headers:t,subUrlRegex:s})}async function kh(){return vs("/api/queue/clear",{})}const Vn=Lo("config",()=>{const e=z({threadNum:0,saveDir:"",delCache:!0,convert:!0,showPreview:!0,showLocalPlay:!0,maxDownloads:3,ffmpegPath:"",proxyMode:"disabled",proxyUrl:"",noProxy:""}),t=z("");async function s(){try{const o=await hh();return o&&typeof o=="object"&&"saveDir"in o?(Object.assign(e.value,o),e.value.proxyMode||(e.value.proxyMode="disabled"),!0):!1}catch(o){return console.error("加载配置失败:",o),!1}}async function n(){return await bh(e.value)}return{config:e,token:t,loadConfig:s,updateConfig:n}}),No=Lo("server",()=>{const e=z({version:"{{version}}",ariang:!1,newVersion:"",appUpdateMessage:""});function t(s){Object.assign(e.value,s)}return{serverInfo:e,updateServerInfo:t}}),ys=Lo("tasks",()=>{const e=z({}),t=z([]),s=z({queueLength:0,activeDownloads:[],maxConcurrent:5}),n=z(""),o=z(""),l=fe(()=>{let k=Object.values(e.value);if(k=k.filter($=>!($.status==="done"||$.progress!==void 0&&$.progress>=100)),n.value){const $=n.value.toLowerCase();k=k.filter(I=>(I.localVideo||I.filename||I.dlOptions?.filename||I.url).toLowerCase().includes($)||I.url.toLowerCase().includes($))}o.value&&(k=k.filter($=>$.status===o.value));const P={resume:0,pending:1,pause:2,error:3,done:4};k.sort(($,I)=>{const x=P[$.status]-P[I.status];return x!==0?x:$.status==="done"?(I.filename||"").localeCompare($.filename||""):($.startTime||0)-(I.startTime||0)});const _={queueLength:0,activeDownloads:[],maxConcurrent:s.value.maxConcurrent};return k.forEach($=>{$.showName=$.filename||$.dlOptions?.filename||$.localVideo||$.url,$.status==="pending"?_.queueLength++:$.status==="resume"&&_.activeDownloads.push($.url)}),(_.queueLength!==s.value.queueLength||_.activeDownloads.length!==s.value.activeDownloads.length)&&(s.value=_),k});function r(S){console.log("[TasksStore] setTasks 被调用,任务数量:",Object.keys(S||{}).length),S&&typeof S=="object"?(e.value=S,console.log("[TasksStore] 任务已更新,当前任务数量:",Object.keys(e.value).length)):console.warn("[TasksStore] setTasks 收到无效数据:",S)}function i(S,k){e.value[S]&&(e.value[S]={...e.value[S],...k})}function c(S){S.forEach(({url:k,data:P})=>{e.value[k]&&(e.value[k]={...e.value[k],...P})})}function u(S){S.forEach(k=>{delete e.value[k]})}function d(S){const k=t.value.indexOf(S);k===-1?t.value.push(S):t.value.splice(k,1)}function f(){const S=t.value.length===l.value.length;t.value=S?[]:l.value.map(k=>k.url)}function g(){t.value=[]}function v(){n.value="",o.value=""}return{tasks:e,selectedTasks:t,queueStatus:s,searchQuery:n,statusFilter:o,filteredTasks:l,setTasks:r,updateTask:i,updateTasks:c,deleteTasks:u,toggleTaskSelection:d,toggleSelectAll:f,clearSelection:g,clearFilters:v}}),Sh={success:"fa-check-circle text-green-600",error:"fa-times-circle text-red-600",warning:"fa-exclamation-triangle text-yellow-600",info:"fa-info-circle text-blue-500"};function ge(e){const t=typeof e=="string"?{text:e}:e,s=t.type||"success",n=t.duration??3e3,o=document.createElement("div");o.className=`custom-toast custom-toast-${s}`,o.innerHTML=[`<i class="custom-toast-icon mr-2 fa ${Sh[s]}"></i>`,`<span class="break-all">${t.text||""}</span>`,'<i class="custom-toast-close fa fa-close fixed right-2 cursor-pointer text-lg" onclick="this.parentElement.remove()"></i>'].join(""),document.body.appendChild(o),setTimeout(()=>o.classList.add("show"),10);const l=()=>{o.classList.remove("show"),o.classList.add("hide"),setTimeout(()=>o.remove(),300)};return n>0&&setTimeout(()=>l(),n),{element:o,close:l}}let nt=null,Xn=3e3,Jt=null,Pl=null,$s=null,uo="",Os=!1;function $h(e,t=!1,s){if(uo=e,Os=t,s&&($s=s),nt){try{nt.close()}catch{}nt=null}Jt&&(clearTimeout(Jt),Jt=null),rr(uo)}function rr(e){if(nt&&nt.readyState===WebSocket.OPEN)return;if(nt&&nt.readyState!==WebSocket.OPEN){try{nt.close()}catch{}nt=null}const s=`${location.protocol==="https:"?"wss":"ws"}://${location.host}/ws?token=${e}`,n=new WebSocket(s);nt=n,n.onmessage=o=>{try{const{type:l,data:r}=JSON.parse(o.data),i=ys(),c=No();switch(l){case"serverInfo":c.updateServerInfo(r),Os&&(ge({text:"密码验证成功,连接已建立",type:"success"}),Os=!1,$s&&($s(!0),$s=null));break;case"tasks":console.log("[WebSocket] 收到任务数据:",r),r&&typeof r=="object"&&(i.setTasks(r),console.log("[WebSocket] 任务数据已更新,任务数量:",Object.keys(r).length));break;case"progress":{(Array.isArray(r)?r:[r]).forEach(d=>{d.url&&i.updateTask(d.url,d)});break}case"delete":Array.isArray(r)&&i.deleteTasks(r);break;case"queueStatus":r&&(i.queueStatus=r);break}}catch(l){console.error("WebSocket 消息解析失败:",l)}},n.onopen=()=>{Os||ge({text:"WebSocket connected",type:"success"}),Xn=3e3},n.onclose=o=>{if(console.error("ws连接关闭:",o.code,o.reason),nt=null,o.code===1008){Os?(Os=!1,$s&&($s(!1),$s=null)):Pl&&Pl();return}ge({text:`Connection lost, will retry in ${Xn/1e3}s...`,type:"error"}),Jt&&clearTimeout(Jt),Jt=window.setTimeout(()=>{Xn+=1e3,rr(uo)},Xn)},n.onerror=o=>{console.error("WebSocket 错误:",o)}}function ar(e,t){const s=z(null);t&&(Pl=t),uo=e;function n(){rr(e),nt&&(s.value=nt)}function o(){Jt&&(clearTimeout(Jt),Jt=null),nt&&(nt.close(),nt=null),s.value=null}return{ws:s,connect:n,disconnect:o}}const Dl="m3u8-dl-version-check-cache",Ch=360*60*1e3;function Eh(){try{const e=localStorage.getItem(Dl);if(!e)return null;const t=JSON.parse(e);return Date.now()-t.timestamp>Ch?(localStorage.removeItem(Dl),null):t}catch(e){return console.error("读取版本缓存失败:",e),null}}function Lh(e){try{const t={version:e,timestamp:Date.now()};localStorage.setItem(Dl,JSON.stringify(t))}catch(t){console.error("保存版本缓存失败:",t)}}function fu(){const{t:e,locale:t}=qe(),s=No();async function n(o=!0,l=!1){try{let r;if(l||(r=Eh()?.version),!r){if(window.electron){const c=await(await fetch("https://api.github.com/repos/lzwme/m3u8-dl/releases/latest")).json();c.tag_name&&(r=c.tag_name.replace(/^v/,""))}else{const c=await(await fetch(`https://registry.${t.value==="zh-CN"?"npmmirror":"npmjs"}.com/@lzwme/m3u8-dl/latest`)).json();c.version&&(r=c.version)}r&&Lh(r)}if(r){if(!(r!==s.serverInfo.version))return o&&ge({text:e("about.latestVersion",{version:r}),type:"success"}),!1;if(s.updateServerInfo({newVersion:r}),window.electron)window.electron.ipc.send("checkForUpdate");else if(o){const c=t.value==="zh-CN"?"https://m3u8-player.lzw.me/download.html":"https://github.com/lzwme/m3u8-dl/releases";ge({text:e("about.newVersionAvailable",{version:r,url:c}),type:"success",duration:1e4})}return!0}return!1}catch(r){return console.error("检查新版本失败:",r),o&&ge({text:e("about.versionCheckFailed",{error:r instanceof Error?r.message:e("error.unknownError")}),type:"error"}),!1}}return{checkNewVersion:n}}const Th={key:0,class:"fixed inset-0 modal-overlay flex items-center justify-center z-[9999] p-4"},Ih={class:"bg-white rounded-lg shadow-xl max-w-md w-full"},Ph={class:"p-6"},Dh={class:"flex items-center mb-4"},Ah={class:"text-xl font-semibold text-gray-900"},Nh={class:"text-sm text-gray-500 mt-1"},Rh={class:"mb-6"},Fh={class:"block text-sm font-medium text-gray-700 mb-2"},Oh=["placeholder"],Uh={key:0,class:"mt-2 text-sm text-red-600"},Mh={class:"flex justify-end"},Vh=["disabled"],Hh=Ne({__name:"PasswordDialog",props:{visible:{type:Boolean}},emits:["confirm"],setup(e,{expose:t,emit:s}){const{t:n}=qe(),o=e,l=s,r=z(""),i=z(""),c=z(!1),u=z(null);We(()=>o.visible,f=>{f&&(r.value="",i.value="",c.value=!1,ms(()=>{u.value?.focus()}))});function d(){c.value||!r.value.trim()||(c.value=!0,i.value="",l("confirm",r.value.trim()))}return t({setError:f=>{i.value=f,c.value=!1},reset:()=>{r.value="",i.value="",c.value=!1}}),(f,g)=>e.visible?(K(),Y("div",Th,[a("div",Ih,[a("div",Ph,[a("div",Dh,[g[1]||(g[1]=a("div",{class:"flex-shrink-0 w-10 h-10 bg-red-100 rounded-full flex items-center justify-center mr-3"},[a("i",{class:"fas fa-lock text-red-600"})],-1)),a("div",null,[a("h2",Ah,p(f.$t("config.passwordRequired")),1),a("p",Nh,p(f.$t("config.passwordRequiredHint")),1)])]),a("div",Rh,[a("label",Fh,p(f.$t("config.token")),1),Te(a("input",{ref_key:"passwordInput",ref:u,"onUpdate:modelValue":g[0]||(g[0]=v=>r.value=v),type:"password",maxlength:"256",class:"w-full p-3 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent",placeholder:f.$t("config.tokenPlaceholder"),onKeyup:Gs(d,["enter"])},null,40,Oh),[[Ge,r.value]]),i.value?(K(),Y("p",Uh,p(i.value),1)):te("",!0)]),a("div",Mh,[a("button",{onClick:d,disabled:c.value||!r.value.trim(),class:"px-6 py-2 bg-blue-500 hover:bg-blue-600 text-white rounded-lg transition-colors disabled:opacity-50 disabled:cursor-not-allowed"},p(c.value?f.$t("config.verifying"):f.$t("common.confirm")),9,Vh)])])])])):te("",!0)}});function jh(e){if(!e)return"";let t=e.trim();const s=t.match(/《([^》]+)》/);return s&&(t=s[1]),t.includes(" - ")&&(t=t.split(" - ")[0].trim()),t=t.replace(/\s*-\s*(在线观看|免费观看|高清|HD|1080P|720P|4K)/gi,""),t=t.replace(/\s*\[.*?\]/g,""),t=t.replace(/\s*\(.*?\)/g,""),t=t.replace(/\s*(完整版|未删减版|国语版|粤语版|中字|无字幕|高清版|标清版)$/gi,""),t=t.replace(/\s+/g," ").trim(),t||e.trim()}function Ya(e){const t=String(e||"").split(`
12
+ `).map(o=>{const l=o.split(/[|$]+/).map(c=>c.trim());let r=l[0],i=l[1]||"";return i.startsWith("http")&&([i,r]=[r,i]),{url:r,name:i}}).filter(o=>o.url.startsWith("http")),s=new Map;t.forEach(o=>{s.set(o.name,(s.get(o.name)||0)+1)});const n=new Map;return t.map(o=>{if((s.get(o.name)||0)>1){const r=(n.get(o.name)||0)+1;if(n.set(o.name,r),r>1)return{...o,name:`${o.name} (${r})`}}return o})}const Wh={class:"flex items-center flex-1"},Bh=Ne({__name:"Collapse",props:{title:{},icon:{},iconBgClass:{default:"bg-gray-600"},defaultExpanded:{type:Boolean,default:!1},persist:{type:Boolean,default:!1},persistKey:{},sectionKey:{},wrapperClass:{default:""},buttonClass:{default:""},titleClass:{default:""},contentClass:{default:"mt-3 sm:mt-4"}},emits:["update:expanded","change"],setup(e,{expose:t,emit:s}){const n=e,o=s,l=fe(()=>n.sectionKey?`m3u8dl_collapse_${n.sectionKey}`:n.persist&&n.persistKey?n.persistKey:null),r=z(n.sectionKey?localStorage.getItem(l.value)==="true":n.defaultExpanded);It(()=>{const c=l.value;if(c){const u=localStorage.getItem(c);u!==null&&(r.value=u==="true")}}),We(r,c=>{const u=l.value;u&&localStorage.setItem(u,String(c)),o("update:expanded",c),o("change",c)});function i(){r.value=!r.value}return t({toggle:i,expand:()=>{r.value=!0},collapse:()=>{r.value=!1},isExpanded:()=>r.value}),(c,u)=>(K(),Y("div",{class:xe(["collapse-wrapper",e.wrapperClass])},[a("button",{onClick:i,class:xe(["w-full flex items-center justify-between p-2.5 sm:p-3 bg-gray-50 hover:bg-gray-100 rounded-lg transition-all duration-200 border border-gray-200",e.buttonClass])},[a("div",Wh,[dn(c.$slots,"icon",{},()=>[e.icon?(K(),Y("div",{key:0,class:xe(["w-7 h-7 sm:w-8 sm:h-8 rounded-lg flex items-center justify-center mr-2 sm:mr-3",e.iconBgClass])},[a("i",{class:xe([e.icon,"text-white text-[10px] sm:text-sm"])},null,2)],2)):te("",!0)],!0),a("span",{class:xe(["text-xs sm:text-sm font-medium text-gray-700",e.titleClass])},[dn(c.$slots,"title",{},()=>[de(p(e.title),1)],!0)],2)]),a("i",{class:xe([r.value?"fas fa-chevron-up":"fas fa-chevron-down","text-gray-400 text-[10px] sm:text-xs transition-transform duration-200"]),style:Dn({transform:(r.value,"rotate(0deg)")})},null,6)],2),we(mc,{"enter-active-class":"transition-all duration-300 ease-out","enter-from-class":"opacity-0 transform -translate-y-4 max-h-0","enter-to-class":"opacity-100 transform translate-y-0 max-h-[2000px]","leave-active-class":"transition-all duration-200 ease-in","leave-from-class":"opacity-100 transform translate-y-0 max-h-[2000px]","leave-to-class":"opacity-0 transform -translate-y-4 max-h-0"},{default:wt(()=>[r.value?(K(),Y("div",{key:0,class:xe(["collapse-content",e.contentClass])},[dn(c.$slots,"default",{},void 0,!0)],2)):te("",!0)]),_:3})],2))}}),Hn=(e,t)=>{const s=e.__vccOpts||e;for(const[n,o]of t)s[n]=o;return s},Xa=Hn(Bh,[["__scopeId","data-v-da7141ef"]]),Gh={class:"bg-white rounded-lg p-3 sm:p-6 max-w-4xl w-full max-h-[98vh] overflow-y-auto"},Kh={class:"flex justify-between items-center mb-2 sm:mb-6"},qh={class:"text-base sm:text-lg text-center w-full font-semibold"},zh={class:"text-left space-y-2 sm:space-y-6"},Yh={class:"space-y-4"},Xh={class:"relative"},Qh={class:"absolute -top-0.5 -left-0.5 sm:-top-2 sm:-left-2 bg-blue-500 text-white text-xs px-1.5 py-0.5 sm:px-2 sm:py-1 rounded-full z-10"},Jh={class:"hidden sm:inline"},Zh={class:"bg-gradient-to-br from-blue-50 via-white to-indigo-50 border border-blue-200 rounded-lg sm:border-2 sm:rounded-xl p-2.5 sm:p-5 shadow-md sm:shadow-lg"},eb={class:"flex items-center mb-2 sm:mb-3"},tb={class:"flex-1"},sb={class:"block text-xs sm:text-sm sm:text-base font-bold text-gray-800"},nb={key:0,class:"text-[10px] sm:text-xs sm:text-sm text-blue-600 font-normal ml-1 sm:ml-2 bg-blue-100 px-0.5 sm:px-2 py-0.5 sm:py-1 rounded-full"},ob={class:"text-xs text-gray-600 mt-0.5 sm:block"},lb=["placeholder"],rb={class:"mt-1.5 sm:mt-3 flex flex-col sm:flex-row sm:items-center sm:justify-between gap-1.5 sm:gap-0"},ab={class:"flex items-center space-x-1.5 sm:space-x-3"},ib={class:"text-xs text-gray-600 flex items-center"},cb={class:"sm:inline"},ub={class:"hidden sm:inline ml-1"},db={class:"flex items-center space-x-1 sm:space-x-2"},fb=["title"],pb={class:"sm:inline ml-1"},mb=["title"],gb={class:"sm:inline ml-1"},hb={key:0,class:"mt-1.5 p-1.5 sm:p-3 bg-blue-50 border border-blue-200 rounded-lg"},bb={class:"text-[10px] sm:text-xs text-blue-800 font-medium mb-1 sm:mb-2"},vb={class:"text-[10px] sm:text-xs text-blue-700 space-y-0.5 sm:space-y-1 ml-2 sm:ml-4"},yb={class:"grid grid-cols-1 sm:grid-cols-2 gap-2 sm:gap-4"},wb={class:"bg-white border border-gray-200 rounded-lg p-2.5 sm:p-4 shadow-sm"},_b={class:"flex items-center mb-1.5 sm:mb-3"},xb={class:"text-[10px] sm:text-sm font-bold text-gray-700"},kb={class:"space-y-1.5 sm:space-y-3"},Sb=["placeholder"],$b={class:"mt-1 sm:mt-2 text-xs text-gray-500 bg-green-50 p-1 sm:p-2 rounded border border-green-100"},Cb={class:"sm:inline"},Eb={class:"bg-white border border-gray-200 rounded-lg p-2.5 sm:p-4 shadow-sm"},Lb={class:"flex items-center mb-1.5 sm:mb-3"},Tb={class:"text-[10px] sm:text-sm font-bold text-gray-700"},Ib={class:"space-y-1.5 sm:space-y-3"},Pb={class:"flex items-center justify-between mb-0.5 sm:mb-1"},Db={class:"block text-xs font-medium text-gray-600"},Ab=["title"],Nb={class:"sm:inline ml-1"},Rb=["placeholder"],Fb={class:"flex items-center justify-between mb-0.5 sm:mb-1"},Ob={class:"block text-xs font-medium text-gray-600"},Ub={class:"flex items-center space-x-1.5 sm:space-x-2"},Mb={value:""},Vb=["value"],Hb=["placeholder"],jb={class:"block text-xs font-medium text-gray-600 mb-0.5 sm:mb-1"},Wb=["placeholder"],Bb={class:"mt-0.5 sm:mt-1 text-[10px] sm:text-xs text-gray-500"},Gb={class:"sm:inline"},Kb={class:"mt-3 sm:mt-4"},qb={class:"bg-gradient-to-r from-amber-50 to-orange-50 border border-amber-200 rounded-lg overflow-hidden shadow-sm"},zb={class:"flex items-center mb-2 sm:mb-3 p-2"},Yb={class:"text-xs sm:text-sm font-bold text-gray-700"},Xb={class:"bg-white p-2.5 sm:p-3 space-y-2.5 sm:space-y-3 border border-amber-100"},Qb={class:"flex flex-col sm:flex-row gap-2"},Jb=["placeholder"],Zb=["disabled"],ev=["placeholder"],tv={class:"mt-0.5 sm:mt-1 text-[10px] sm:text-xs text-gray-600 flex items-start"},sv={class:"sm:inline"},nv={class:"flex flex-col sm:flex-row sm:justify-end sm:space-x-4 mt-4 sm:mt-6 pt-3 sm:pt-4 border-t space-y-2 sm:space-y-0"},ov=["disabled"],lv=Ne({__name:"NewDownloadDialog",props:{visible:{type:Boolean},initialData:{}},emits:["close"],setup(e,{expose:t,emit:s}){const{t:n}=qe(),o=e,l=s,r=Vn(),i=ys(),c=z(""),u=z(""),d=z(""),f=z(r.config.saveDir||""),g=z(""),v=z(""),S=z(""),k=z(!1),P=z(!1),_=z(!1),$=z(!0),I=z(!1),x=fe(()=>[{name:n("newDownload.headerWeibo"),value:`Referer: https://weibo.com/
13
+ Cookie: `},{name:n("newDownload.headerDouyin"),value:`Referer: https://www.douyin.com/
14
+ User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X)`},{name:n("newDownload.headerBili"),value:`Referer: https://www.bilibili.com/
15
+ User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36`}]),D=fe(()=>{const N=u.value.split(`
16
+ `).map(R=>R.trim()).filter(R=>R.length>0);return new Set(N).size});We(()=>o.visible,N=>{if(N){if(o.initialData){if(o.initialData.url){const w=o.initialData.url;if(w.includes("|")){const R=Ya(w).map(({url:X,name:le})=>le?`${X} | ${jh(le)}`:X);u.value=R.join(`
17
+ `)}else u.value=w}o.initialData.title&&(d.value=o.initialData.title),o.initialData.saveDir&&(f.value=o.initialData.saveDir),o.initialData.ignoreSegments&&(g.value=o.initialData.ignoreSegments),o.initialData.headers&&(v.value=o.initialData.headers,typeof v.value=="object"&&(v.value=JSON.stringify(v.value,null,2)))}}else c.value="",u.value="",d.value="",g.value="",S.value="",f.value=r.config.saveDir||"",_.value=!1});async function j(){const N=c.value.trim();if(!/^https?:/.test(N)){ge({text:n("toast.enterValidUrl"),type:"error"});return}k.value=!0;try{const w=await xh(N,v.value.trim(),S.value.trim()||void 0);w.code===0&&Array.isArray(w.data)&&w.data.length>0?(u.value=w.data.map(R=>R.join(" | ")).join(`
18
+ `),ge({text:w.message||n("toast.extractSuccess",{count:w.data.length}),type:"success"})):ge({text:w.message||n("toast.extractFailed"),type:"error"})}catch(w){ge({text:n("toast.extractError",{error:w instanceof Error?w.message:n("error.unknownError")}),type:"error"})}finally{k.value=!1}}function C(){l("close")}function F(){const N=u.value.trim();if(N)try{const R=N.split(`
19
+ `).map(X=>X.trim()).filter(X=>X.includes("http")).map(X=>{if(X.includes("|"))return X;if(X.includes("m3u8")){const le=X.match(/\/([^\/]+)\.m3u8/);if(le)return`${X} | ${le[1]}`}return X});u.value=R.join(`
20
+ `),ge({text:n("newDownload.formatSuccess"),type:"success"})}catch{ge({text:n("newDownload.formatFailed"),type:"error"})}}function V(N){const w=N.target;w.value&&(v.value=w.value,ge({text:n("newDownload.templateApplied"),type:"success"}))}async function Z(){const N=u.value.trim();if(!N){ge({text:n("newDownload.enterM3u8Link"),type:"error"});return}const w=Ya(N);if(!w.length){ge({text:n("newDownload.enterValidM3u8Link"),type:"error"});return}let R=f.value;w.length>1&&d.value&&!R.includes(d.value)&&(R||(R=r.config.saveDir),R=R.replace(/\/?$/,"")+"/"+d.value);const X=w.map((le,ae)=>({url:le.url,filename:le.name||(d.value?`${d.value}${w.length>1?n("taskItem.episode",{index:ae+1}):""}`:""),saveDir:R,headers:v.value.trim()||void 0,ignoreSegments:g.value.trim()||void 0}));P.value=!0;try{X.forEach(ae=>{/\.html?$/.test(ae.url)||i.updateTask(ae.url,{status:"resume",progress:0,speed:0,remainingTime:0,size:0})});const le=await vh(X);le.code?ge({text:le.message||n("toast.downloadFailed"),type:"error"}):(ge({text:le.message||n("toast.downloadStarted"),type:"success"}),C())}catch(le){console.error("批量下载失败:",le),ge({text:`${n("toast.downloadFailed")}: ${le instanceof Error?le.message:n("error.unknownError")}`,type:"error"})}finally{P.value=!1}}return t({handleSubmit:Z}),(N,w)=>e.visible?(K(),Y("div",{key:0,class:"fixed inset-0 modal-overlay flex items-center justify-center z-50 p-2 sm:p-4",onClick:_t(C,["self"])},[a("div",Gh,[a("div",Kh,[a("h2",qh,p(N.$t("newDownload.title")),1),a("button",{onClick:C,class:"text-gray-500 hover:text-gray-700 p-1.5 sm:p-2"},[...w[13]||(w[13]=[a("i",{class:"fas fa-times text-sm sm:text-base"},null,-1)])])]),a("div",zh,[a("div",Yh,[a("div",Xh,[a("div",Qh,[w[14]||(w[14]=a("i",{class:"fas fa-star sm:mr-1 text-[10px] sm:text-xs"},null,-1)),a("span",Jh,p(N.$t("newDownload.coreFeature")),1)]),a("div",Zh,[a("div",eb,[w[15]||(w[15]=a("div",{class:"w-7 h-7 sm:w-10 sm:h-10 bg-gradient-to-br from-blue-500 to-indigo-600 rounded-lg flex items-center justify-center mr-2 sm:mr-3 shadow-md"},[a("i",{class:"fas fa-link text-white text-xs sm:text-base"})],-1)),a("div",tb,[a("label",sb,[de(p(N.$t("newDownload.videoLinks"))+" ",1),D.value>2?(K(),Y("span",nb,p(N.$t("newDownload.unitCount",{count:D.value})),1)):te("",!0)]),a("p",ob,p(N.$t("newDownload.videoLinksDesc")),1)])]),Te(a("textarea",{"onUpdate:modelValue":w[0]||(w[0]=R=>u.value=R),class:"w-full p-2 sm:p-4 border border-gray-200 sm:border-2 rounded-lg focus:ring-1 focus:ring-blue-500 focus:border-blue-500 bg-white text-xs sm:text-sm font-mono transition-all duration-200",rows:"3 sm:rows-5",placeholder:N.$t("newDownload.videoLinksPlaceholder")},null,8,lb),[[Ge,u.value]]),a("div",rb,[a("div",ab,[a("p",ib,[w[16]||(w[16]=a("i",{class:"fas fa-info-circle text-blue-500 mr-1"},null,-1)),a("span",cb,p(N.$t("newDownload.videoLinksHint")),1)]),a("button",{onClick:w[1]||(w[1]=R=>I.value=!I.value),class:"text-xs text-blue-500 hover:text-blue-700 transition-colors p-1",title:"{{ $t('newDownload.formatHelp') }}"},[w[17]||(w[17]=a("i",{class:"fas fa-question-circle"},null,-1)),a("span",ub,p(N.$t("newDownload.formatHelp")),1)])]),a("div",db,[u.value.trim()?(K(),Y("button",{key:0,onClick:F,class:"text-xs text-green-600 hover:text-green-800 transition-colors whitespace-nowrap p-1",title:N.$t("newDownload.formatButton")},[w[18]||(w[18]=a("i",{class:"fas fa-magic"},null,-1)),a("span",pb,p(N.$t("newDownload.formatButton")),1)],8,fb)):te("",!0),u.value.trim()?(K(),Y("button",{key:1,onClick:w[2]||(w[2]=R=>u.value=""),class:"text-xs text-red-500 hover:text-red-700 transition-colors whitespace-nowrap p-1",title:N.$t("newDownload.clearButton")},[w[19]||(w[19]=a("i",{class:"fas fa-times-circle"},null,-1)),a("span",gb,p(N.$t("newDownload.clearButton")),1)],8,mb)):te("",!0)])]),we(mc,{"enter-active-class":"transition-all duration-300 ease-out","enter-from-class":"opacity-0 transform -translate-y-4","enter-to-class":"opacity-100 transform translate-y-0","leave-active-class":"transition-all duration-200 ease-in","leave-from-class":"opacity-100 transform translate-y-0","leave-to-class":"opacity-0 transform -translate-y-4"},{default:wt(()=>[I.value?(K(),Y("div",hb,[a("p",bb,[w[20]||(w[20]=a("i",{class:"fas fa-info-circle mr-1"},null,-1)),de(" "+p(N.$t("newDownload.urlHelpTitle")),1)]),a("ul",vb,[a("li",null,p(N.$t("newDownload.urlHelpM3u8")),1),a("li",null,p(N.$t("newDownload.urlHelpUrlName")),1),a("li",null,p(N.$t("newDownload.urlHelpNameUrl")),1),a("li",null,p(N.$t("newDownload.urlHelpShare")),1)])])):te("",!0)]),_:1})])]),a("div",yb,[a("div",wb,[a("div",_b,[w[21]||(w[21]=a("div",{class:"w-5 h-5 sm:w-8 sm:h-8 bg-green-100 rounded-lg flex items-center justify-center mr-1.5 sm:mr-3"},[a("i",{class:"fas fa-video text-green-600 text-[10px] sm:text-sm"})],-1)),a("h3",xb,p(N.$t("newDownload.videoName")),1)]),a("div",kb,[a("div",null,[Te(a("input",{"onUpdate:modelValue":w[3]||(w[3]=R=>d.value=R),class:"w-full p-1.5 sm:p-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-green-500 focus:border-green-500 text-xs sm:text-sm",placeholder:N.$t("newDownload.videoNamePlaceholder")},null,8,Sb),[[Ge,d.value]])])]),a("p",$b,[w[22]||(w[22]=a("i",{class:"fas fa-lightbulb text-green-500 mr-1 text-[10px]"},null,-1)),a("span",Cb,p(N.$t("newDownload.videoNameHint")),1)])]),a("div",Eb,[a("div",Lb,[w[23]||(w[23]=a("div",{class:"w-5 h-5 sm:w-8 sm:h-8 bg-yellow-100 rounded-lg flex items-center justify-center mr-1.5 sm:mr-3"},[a("i",{class:"fas fa-folder text-yellow-600 text-[10px] sm:text-sm"})],-1)),a("h3",Tb,p(N.$t("newDownload.storageSettings")),1)]),a("div",Ib,[a("div",null,[a("div",Pb,[a("label",Db,p(N.$t("newDownload.saveDir")),1),a("button",{onClick:w[4]||(w[4]=R=>f.value=he(r).config.saveDir||""),class:"text-xs text-blue-500 hover:text-blue-700 transition-colors p-1",title:N.$t("newDownload.resetToDefault")},[w[24]||(w[24]=a("i",{class:"fas fa-undo"},null,-1)),a("span",Nb,p(N.$t("newDownload.reset")),1)],8,Ab)]),Te(a("input",{"onUpdate:modelValue":w[5]||(w[5]=R=>f.value=R),class:"w-full p-1.5 sm:p-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-yellow-500 focus:border-yellow-500 text-xs sm:text-sm",placeholder:N.$t("newDownload.saveDirPlaceholder")},null,8,Rb),[[Ge,f.value]])])])])]),we(Xa,{title:N.$t("newDownload.basicSettings"),icon:"fas fa-sliders-h","icon-bg-class":"bg-gray-600","wrapper-class":"","button-class":"hover:bg-white/50","content-class":"grid grid-cols-1 sm:grid-cols-2 gap-3 sm:gap-4 mt-2","default-expanded":!0,"section-key":"basic_settings",expanded:$.value,"onUpdate:expanded":w[9]||(w[9]=R=>$.value=R)},{default:wt(()=>[a("div",null,[a("div",Fb,[a("label",Ob,p(N.$t("newDownload.headers")),1),a("div",Ub,[a("select",{onChange:w[6]||(w[6]=R=>V(R)),class:"text-xs border border-gray-300 rounded px-1.5 sm:px-2 py-1 focus:ring-2 focus:ring-gray-500"},[a("option",Mb,p(N.$t("newDownload.quickTemplate")),1),(K(!0),Y(je,null,Fn(x.value,R=>(K(),Y("option",{key:R.name,value:R.value},p(R.name),9,Vb))),128))],32)])]),Te(a("textarea",{"onUpdate:modelValue":w[7]||(w[7]=R=>v.value=R),class:"w-full p-2 sm:p-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-gray-500 focus:border-gray-500 bg-white text-xs font-mono",rows:"3 sm:rows-4",placeholder:N.$t("newDownload.headersPlaceholder")},null,8,Hb),[[Ge,v.value]])]),a("div",null,[a("label",jb,p(N.$t("newDownload.ignoreSegments")),1),Te(a("input",{"onUpdate:modelValue":w[8]||(w[8]=R=>g.value=R),class:"w-full p-1.5 sm:p-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-gray-500 focus:border-gray-500 bg-white text-xs sm:text-sm",placeholder:N.$t("newDownload.ignoreSegmentsPlaceholder")},null,8,Wb),[[Ge,g.value]]),a("p",Bb,[w[25]||(w[25]=a("i",{class:"fas fa-scissors text-gray-400 mr-1 text-[10px]"},null,-1)),a("span",Gb,p(N.$t("newDownload.ignoreSegmentsHint")),1)])])]),_:1},8,["title","expanded"])]),a("div",Kb,[we(Xa,{title:N.$t("newDownload.advancedOptions"),icon:"fas fa-sliders-h","icon-bg-class":"bg-gray-600","wrapper-class":"","button-class":"hover:bg-white/50","content-class":"grid grid-cols-1 sm:grid-cols-1 gap-3 sm:gap-4 mt-2","default-expanded":!1,"section-key":"advanced_options",expanded:_.value,"onUpdate:expanded":w[12]||(w[12]=R=>_.value=R)},{default:wt(()=>[a("div",qb,[a("div",zb,[w[26]||(w[26]=a("div",{class:"w-7 h-7 sm:w-8 sm:h-8 bg-amber-500 rounded-full flex items-center justify-center mr-2 sm:mr-3"},[a("i",{class:"fas fa-search text-white text-[10px] sm:text-sm"})],-1)),a("h4",Yb,p(N.$t("newDownload.urlExtraction")),1)]),a("div",Xb,[a("div",Qb,[Te(a("input",{"onUpdate:modelValue":w[10]||(w[10]=R=>c.value=R),type:"text",placeholder:N.$t("newDownload.playUrl"),autocomplete:"off",class:"flex-1 border border-gray-300 rounded-lg px-2.5 sm:px-3 py-2 focus:outline-none focus:ring-2 focus:ring-amber-400 bg-white text-xs sm:text-sm"},null,8,Jb),[[Ge,c.value]]),a("button",{onClick:j,disabled:k.value,class:"px-3 sm:px-4 py-2 bg-gradient-to-r from-amber-500 to-orange-500 text-white rounded-lg hover:from-amber-600 hover:to-orange-600 focus:outline-none disabled:opacity-50 disabled:cursor-not-allowed whitespace-nowrap transition-all duration-200 transform hover:scale-105 disabled:transform-none text-xs sm:text-sm"},[w[27]||(w[27]=a("i",{class:"fas fa-download mr-1 sm:mr-2"},null,-1)),de(" "+p(k.value?N.$t("newDownload.extracting"):N.$t("newDownload.extract")),1)],8,Zb)]),a("div",null,[Te(a("input",{"onUpdate:modelValue":w[11]||(w[11]=R=>S.value=R),class:"w-full p-1.5 sm:p-2 border border-gray-300 rounded-lg focus:ring-amber-500 bg-white text-xs sm:text-sm",placeholder:N.$t("newDownload.subUrlRegex")},null,8,ev),[[Ge,S.value]]),a("p",tv,[w[28]||(w[28]=a("i",{class:"fas fa-lightbulb text-amber-400 mr-1 mt-0.5 text-[10px]"},null,-1)),a("span",sv,p(N.$t("newDownload.subUrlRegexHint")),1)])])])])]),_:1},8,["title","expanded"])])]),a("div",nv,[a("button",{onClick:C,class:"px-6 py-2 text-gray-600 hover:bg-gray-100 rounded-lg border text-xs sm:text-sm"},p(N.$t("common.cancel")),1),a("button",{onClick:Z,disabled:P.value,class:"px-6 py-2 bg-blue-500 hover:bg-blue-600 text-white rounded-lg disabled:opacity-50 disabled:cursor-not-allowed text-xs sm:text-sm"},p(P.value?N.$t("newDownload.submitting"):N.$t("newDownload.startDownload")),9,ov)])])])):te("",!0)}}),rv={id:"app"},av=Ne({__name:"App",setup(e){const t=Ac(),s=Dc(),n=Vn(),{checkNewVersion:o}=fu();let l=null;const r=z(!1),i=z(null),c=z(!1),u=z(void 0),d=z(null),f=z(!1),g=z(!1);function v(I){u.value=I,c.value=!0}cn("showGlobalNewDownload",v);function S(){c.value=!1,u.value=void 0,f.value=!1,g.value=!1,(t.query.action==="new"||t.query.url||t.query.autoStart||t.query.autoClose)&&s.replace({query:{},hash:""})}We(c,async I=>{I&&f.value&&(await ms(),setTimeout(()=>{const x=g.value;d.value?.handleSubmit().then(()=>{x&&setTimeout(()=>{try{window.close()}catch{console.log("[App] 无法自动关闭页面,请手动关闭"),ge("下载已开始,无法自动关闭页面,请手动关闭")}},1e3)}),f.value=!1},500))});function k(){if(t.query.action==="new"&&t.query.url){const I=t.query.url;f.value=t.query.autoStart==="1",g.value=t.query.autoClose==="1";const x={url:decodeURIComponent(I),title:t.query.title||""};try{let D="";if(window.location.hash&&(D=new URLSearchParams(window.location.hash.substring(1)).get("headers")||""),!D&&t.query.headers&&(D=decodeURIComponent(t.query.headers)),D=D.trim(),D)try{x.headers="";const j=JSON.parse(D);for(const[C,F]of Object.entries(j))x.headers+=`${C}: ${F}
21
+ `}catch{x.headers=D}}catch(D){console.warn("[App] Failed to parse headers:",D)}v(x)}}We(()=>t.query,()=>{k()},{immediate:!0});function P(){r.value=!0}It(async()=>{const I=localStorage.getItem("token")||"";I&&(n.token=I);try{await n.loadConfig()}catch(C){console.log("[App] 配置加载失败,使用本地 token:",C)}const x=n.token||localStorage.getItem("token")||"";x&&!n.token&&(n.token=x);const{connect:D,disconnect:j}=ar(x,P);l=j,D(),setTimeout(()=>o(!1),5e3)}),Ps(()=>{l&&l()});function _(){}async function $(I){if(!I.trim()){i.value?.setError("请输入访问密码");return}try{let x=I.trim();typeof window<"u"&&window.md5?x=window.md5(x).slice(0,8):x=btoa(x).replace(/[^a-zA-Z0-9]/g,"").slice(0,8),n.token=x,localStorage.setItem("token",x),$h(x,!0,D=>{D?(r.value=!1,i.value?.reset()):i.value?.setError("密码错误,请重新输入")}),i.value?.reset()}catch(x){i.value?.setError("密码处理失败,请重试"),console.error("密码处理失败:",x)}}return(I,x)=>{const D=Td("router-view");return K(),Y("div",rv,[we(D),we(Hh,{visible:r.value,onClose:_,onConfirm:$,ref_key:"passwordDialogRef",ref:i},null,8,["visible"]),we(lv,{visible:c.value,"initial-data":u.value,onClose:S,ref_key:"newDownloadDialogRef",ref:d},null,8,["visible","initial-data"])])}}}),iv="/logo.png",cv={class:"language-switcher"},uv=["value","title"],dv=Ne({__name:"LanguageSwitcher",setup(e){const{locale:t}=qe(),s=fe({get:()=>t.value,set:o=>{t.value=o,localStorage.setItem("language",o)}});function n(o){const l=o.target;s.value=l.value}return(o,l)=>(K(),Y("div",cv,[a("select",{value:s.value,onChange:n,class:"px-3 py-2 border rounded-lg focus:ring-blue-500 focus:border-blue-500 bg-white",title:o.$t("common.language")},[...l[0]||(l[0]=[a("option",{value:"zh-CN"},"中文",-1),a("option",{value:"en"},"English",-1)])],40,uv)]))}}),ir={isElectron:typeof window<"u"&&!!window.electron},fv={class:"app-layout"},pv={class:"mb-8"},mv={class:"flex items-center mb-4"},gv=["alt"],hv={class:"text-xl font-bold text-gray-800"},bv={class:"space-y-2"},vv={class:"mt-4 pt-4 border-t"},yv=Ne({__name:"Layout",emits:["new-download"],setup(e,{emit:t}){const s=Dc(),n=Ac(),o=No(),l=z(window.innerWidth<=768),r=z("download"),i=fe(()=>ir.isElectron),c=t,u=at("showGlobalNewDownload");function d(){l.value=!l.value}function f(k){if(console.log("[Layout] switchSection 被调用,section:",k,"当前路径:",n.path),k==="ariang"){g();return}const P=`/page/${k}`;if(console.log("[Layout] 准备导航到:",P),n.path===P){console.log("[Layout] 已在目标路径,跳过导航"),r.value=k;return}r.value=k,s.push(P).then(()=>{console.log("[Layout] 导航成功,当前路径:",n.path,"当前名称:",n.name),n.name&&(r.value=n.name)}).catch(_=>{_.name!=="NavigationDuplicated"?console.error("[Layout] 路由导航失败:",_):console.log("[Layout] 导航重复,已忽略")}),window.innerWidth<=768&&(l.value=!0)}function g(){const P=o.serverInfo.ariang?"./ariang/":"http://lzw.me/x/ariang/";window.open(P)}function v(){u?u():c("new-download")}function S(){window.innerWidth>768?l.value=!1:l.value=!0}return We(()=>n.name,k=>{k&&(r.value=k)},{immediate:!0}),We(()=>n.path,k=>{k.startsWith("/page/download")?r.value="download":k.startsWith("/page/web-browser")?r.value="web-browser":k.startsWith("/page/completed")?r.value="completed":k.startsWith("/page/config")?r.value="config":k.startsWith("/page/about")&&(r.value="about")},{immediate:!0}),It(()=>{window.addEventListener("resize",S),S()}),Ps(()=>{window.removeEventListener("resize",S)}),(k,P)=>(K(),Y("div",fv,[a("button",{class:"menu-toggle",onClick:d},[a("i",{class:xe(["fas",l.value?"fa-bars":"fa-times"])},null,2)]),a("div",{class:xe(["sidebar p-4",{show:!l.value}])},[a("div",pv,[a("div",mv,[a("img",{src:iv,alt:k.$t("layout.title"),class:"w-8 h-8 mr-2"},null,8,gv),a("h1",hv,p(k.$t("layout.title")),1)]),a("button",{onClick:v,class:"w-full bg-blue-500 hover:bg-blue-600 text-white p-2 rounded-lg flex items-center justify-center transition-colors"},[P[5]||(P[5]=a("i",{class:"fas fa-plus mr-2"},null,-1)),de(p(k.$t("layout.newDownload")),1)])]),a("nav",bv,[a("button",{onClick:P[0]||(P[0]=_=>f("download")),class:xe(["nav-item w-full p-3 rounded-lg flex items-center",{active:r.value==="download"}])},[P[6]||(P[6]=a("i",{class:"fas fa-download mr-3"},null,-1)),de(p(k.$t("layout.downloadManagement")),1)],2),i.value?(K(),Y("button",{key:0,onClick:P[1]||(P[1]=_=>f("web-browser")),class:xe(["nav-item w-full p-3 rounded-lg flex items-center",{active:r.value==="web-browser"}])},[P[7]||(P[7]=a("i",{class:"fas fa-globe mr-3"},null,-1)),de(p(k.$t("layout.webBrowser")),1)],2)):te("",!0),a("button",{onClick:P[2]||(P[2]=_=>f("completed")),class:xe(["nav-item w-full p-3 rounded-lg flex items-center",{active:r.value==="completed"}])},[P[8]||(P[8]=a("i",{class:"fas fa-check-circle mr-3"},null,-1)),de(p(k.$t("layout.completed")),1)],2),a("button",{onClick:P[3]||(P[3]=_=>f("config")),class:xe(["nav-item w-full p-3 rounded-lg flex items-center",{active:r.value==="config"}])},[P[9]||(P[9]=a("i",{class:"fas fa-cog mr-3"},null,-1)),de(p(k.$t("layout.config")),1)],2),a("button",{onClick:P[4]||(P[4]=_=>f("about")),class:xe(["nav-item w-full p-3 rounded-lg flex items-center",{active:r.value==="about"}])},[P[10]||(P[10]=a("i",{class:"fas fa-info-circle mr-3"},null,-1)),de(p(k.$t("layout.about")),1)],2),a("button",{onClick:g,class:"nav-item w-full p-3 rounded-lg flex items-center"},[P[11]||(P[11]=a("i",{class:"fas fa-link mr-3"},null,-1)),de(p(k.$t("layout.ariang")),1)])]),a("div",vv,[we(dv)])],2),a("div",{class:xe(["main-content",{"sidebar-collapsed":l.value}])},[dn(k.$slots,"default",{},void 0,!0)],2)]))}}),jn=Hn(yv,[["__scopeId","data-v-c730956f"]]);function Xs(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(2)} KB`:e<1024*1024*1024?`${(e/(1024*1024)).toFixed(2)} MB`:`${(e/(1024*1024*1024)).toFixed(2)} GB`}function wv(e){return e<1024?`${e} B/s`:e<1024*1024?`${(e/1024).toFixed(2)} KB/s`:e<1024*1024*1024?`${(e/(1024*1024)).toFixed(2)} MB/s`:`${(e/(1024*1024*1024)).toFixed(2)} GB/s`}function fo(e){return e/=1e3,e<60?`${e}秒`:e<3600?`${(e/60).toFixed(2)}分钟`:e<3600*24?`${(e/3600).toFixed(2)}小时`:`${(e/(3600*24)).toFixed(2)}天`}const _v={class:"p-1 md:p-2"},xv={class:"bg-white rounded-lg shadow p-6"},kv={class:"text-xl font-semibold mb-6 text-center"},Sv={class:"space-y-6"},$v={class:"text-lg font-medium text-green-700 mb-2"},Cv={class:"bg-gray-50 p-4 rounded-lg"},Ev={class:"text-gray-600 mb-2"},Lv={class:"text-gray-600 mb-2"},Tv={class:"text-gray-600 mb-2"},Iv={class:"text-gray-600"},Pv={class:"text-gray-600"},Dv={href:"https://github.com/lzwme/m3u8-dl/release",target:"_blank",rel:"noopener",class:"text-blue-500 hover:text-blue-600"},Av={class:"text-gray-600"},Nv={key:1,class:"text-red-600 ml-2"},Rv={key:2,class:"text-green-600"},Fv={class:"text-lg font-medium text-green-700 mb-2"},Ov={class:"text-gray-600"},Uv={class:"text-lg font-medium text-green-700 mb-4"},Mv={class:"space-y-4"},Vv={class:"bg-gray-50 p-4 rounded-lg"},Hv={class:"text-base font-semibold text-gray-800 mb-3"},jv={class:"list-disc list-inside text-gray-600 space-y-1.5 text-sm"},Wv={class:"bg-gray-50 p-4 rounded-lg"},Bv={class:"text-base font-semibold text-gray-800 mb-3"},Gv={class:"list-disc list-inside text-gray-600 space-y-1.5 text-sm"},Kv={class:"bg-gray-50 p-4 rounded-lg"},qv={class:"text-base font-semibold text-gray-800 mb-3"},zv={class:"list-disc list-inside text-gray-600 space-y-1.5 text-sm"},Yv={class:"bg-gray-50 p-4 rounded-lg"},Xv={class:"text-base font-semibold text-gray-800 mb-3"},Qv={class:"list-disc list-inside text-gray-600 space-y-1.5 text-sm"},Jv={class:"bg-gray-50 p-4 rounded-lg"},Zv={class:"text-base font-semibold text-gray-800 mb-3"},e0={class:"list-disc list-inside text-gray-600 space-y-1.5 text-sm"},t0={class:"bg-gray-50 p-4 rounded-lg"},s0={class:"text-base font-semibold text-gray-800 mb-3"},n0={class:"list-disc list-inside text-gray-600 space-y-1.5 text-sm"},o0={class:"bg-gray-50 p-4 rounded-lg"},l0={class:"text-base font-semibold text-gray-800 mb-3"},r0={class:"list-disc list-inside text-gray-600 space-y-1.5 text-sm"},a0={class:"text-lg font-medium text-green-700 mb-2"},i0={class:"bg-gray-50 p-4 rounded-lg space-y-4"},c0={class:"text-gray-600 mb-2"},u0={class:"text-gray-600 mb-2"},d0={class:"text-gray-600 mb-2"},f0={class:"text-gray-600 mb-2 text-sm"},p0={class:"list-disc list-inside text-gray-600 space-y-1 text-sm ml-2"},m0=["href"],g0=["href"],h0={class:"text-lg font-medium text-green-700 mb-2"},b0={class:"bg-gray-50 p-4 rounded-lg space-y-4"},v0={class:"text-gray-600 mb-2"},y0={class:"text-gray-600 mb-2"},w0={class:"text-gray-600 text-sm"},_0={class:"text-lg font-medium text-green-700 mb-2"},x0={class:"bg-gray-50 p-4 rounded-lg space-y-4"},k0={class:"text-gray-600 mb-2"},S0={class:"text-gray-600 mb-2 font-semibold"},$0={class:"list-decimal list-inside text-gray-600 space-y-2 text-sm ml-2"},C0={class:"list-disc list-inside ml-4 mt-1 space-y-1"},E0={class:"list-disc list-inside ml-4 mt-1 space-y-1"},L0={class:"text-gray-500 text-xs ml-1"},T0=["href"],I0={class:"list-disc list-inside ml-4 mt-1 space-y-1"},P0={class:"text-gray-600 mb-2 font-semibold"},D0={class:"list-disc list-inside text-gray-600 space-y-1.5 text-sm ml-2"},A0={class:"list-disc list-inside ml-4 mt-1 space-y-1"},N0={class:"text-gray-600 mb-2 font-semibold"},R0={class:"list-decimal list-inside text-gray-600 space-y-1.5 text-sm ml-2"},F0={class:"text-gray-600 mb-2 font-semibold"},O0={class:"text-gray-600 mb-2 text-sm"},U0={class:"text-gray-600 text-sm"},M0=Ne({__name:"About",setup(e){const t=No(),s=fe(()=>t.serverInfo),{checkNewVersion:n}=fu(),o=fe(()=>window.location.origin);async function l(){await n(!0)}return It(()=>{window.electron&&window.electron.ipc.on("downloadProgress",i=>{console.log("downloadProgress",i),t.updateServerInfo({appUpdateMessage:`下载中:${Number(i.percent).toFixed(2)}% [${wv(i.bytesPerSecond)}] [${Xs(i.transferred)}/${Xs(i.total)}]`})})}),(r,i)=>(K(),Mt(jn,{onNewDownload:()=>{}},{default:wt(()=>[a("div",_v,[a("div",xv,[a("h2",kv,p(r.$t("about.title")),1),a("div",Sv,[a("div",null,[a("h3",$v,p(r.$t("about.projectInfo")),1),a("div",Cv,[a("p",Ev,[a("strong",null,p(r.$t("about.license"))+":",1),i[0]||(i[0]=de("MIT",-1))]),a("p",Lv,[a("strong",null,p(r.$t("about.author"))+":",1),i[1]||(i[1]=a("a",{href:"https://lzw.me",target:"_blank",rel:"noopener",class:"text-blue-500 hover:text-blue-600"},"renxia",-1))]),a("p",Tv,[a("strong",null,p(r.$t("about.github"))+":",1),i[2]||(i[2]=a("a",{href:"https://github.com/lzwme/m3u8-dl.git",target:"_blank",rel:"noopener",class:"text-blue-500 hover:text-blue-600"},"https://github.com/lzwme/m3u8-dl.git",-1))]),a("p",Iv,[a("strong",null,p(r.$t("about.issues"))+":",1),i[3]||(i[3]=a("a",{href:"https://github.com/lzwme/m3u8-dl/issues",target:"_blank",rel:"noopener",class:"text-blue-500 hover:text-blue-600"}," https://github.com/lzwme/m3u8-dl/issues",-1))]),a("p",Pv,[a("strong",null,p(r.$t("about.currentVersion"))+":",1),a("a",Dv,p(s.value.version),1)]),a("p",Av,[a("strong",null,p(r.$t("about.checkVersion"))+":",1),s.value.appUpdateMessage?te("",!0):(K(),Y("button",{key:0,onClick:l,class:"px-2 py-1 text-sm bg-green-600 hover:bg-green-700 text-white rounded"},[i[4]||(i[4]=a("i",{class:"fas fa-check mr-1"},null,-1)),de(p(r.$t("about.checkVersion")),1)])),s.value.newVersion?(K(),Y("span",Nv,p(r.$t("about.newVersionFound",{version:s.value.newVersion})),1)):te("",!0),s.value.appUpdateMessage?(K(),Y("span",Rv,p(s.value.appUpdateMessage),1)):te("",!0)])])]),a("div",null,[a("h3",Fv,p(r.$t("about.projectDescription")),1),a("p",Ov,[i[5]||(i[5]=a("a",{href:"https://github.com/lzwme/m3u8-dl",target:"_blank",rel:"noopener",class:"text-blue-500 hover:text-blue-600"},"@lzwme/m3u8-dl",-1)),de(" "+p(r.$t("about.projectDescriptionText")),1)])]),a("div",null,[a("h3",Uv,p(r.$t("about.features")),1),a("div",Mv,[a("div",Vv,[a("h4",Hv,p(r.$t("about.coreFeatures")),1),a("ul",jv,[a("li",null,p(r.$t("about.coreFeature1")),1),a("li",null,p(r.$t("about.coreFeature2")),1),a("li",null,p(r.$t("about.coreFeature3")),1),a("li",null,p(r.$t("about.coreFeature4")),1),a("li",null,p(r.$t("about.coreFeature5")),1),a("li",null,p(r.$t("about.coreFeature6")),1),a("li",null,p(r.$t("about.coreFeature7")),1),a("li",null,p(r.$t("about.coreFeature8")),1)])]),a("div",Wv,[a("h4",Bv,p(r.$t("about.webUIFeatures")),1),a("ul",Gv,[a("li",null,p(r.$t("about.webUIFeature1")),1),a("li",null,p(r.$t("about.webUIFeature2")),1),a("li",null,p(r.$t("about.webUIFeature3")),1),a("li",null,p(r.$t("about.webUIFeature4")),1),a("li",null,p(r.$t("about.webUIFeature5")),1),a("li",null,p(r.$t("about.webUIFeature6")),1)])]),a("div",Kv,[a("h4",qv,p(r.$t("about.parserFeatures")),1),a("ul",zv,[a("li",null,p(r.$t("about.parserFeature1")),1),a("li",null,p(r.$t("about.parserFeature2")),1),a("li",null,p(r.$t("about.parserFeature3")),1)])]),a("div",Yv,[a("h4",Xv,p(r.$t("about.extractFeatures")),1),a("ul",Qv,[a("li",null,p(r.$t("about.extractFeature1")),1),a("li",null,p(r.$t("about.extractFeature2")),1),a("li",null,p(r.$t("about.extractFeature3")),1)])]),a("div",Jv,[a("h4",Zv,p(r.$t("about.searchFeatures")),1),a("ul",e0,[a("li",null,p(r.$t("about.searchFeature1")),1),a("li",null,p(r.$t("about.searchFeature2")),1)])]),a("div",t0,[a("h4",s0,p(r.$t("about.usageFeatures")),1),a("ul",n0,[a("li",null,p(r.$t("about.usageFeature1")),1),a("li",null,p(r.$t("about.usageFeature2")),1),a("li",null,p(r.$t("about.usageFeature3")),1),a("li",null,p(r.$t("about.usageFeature4")),1),a("li",null,p(r.$t("about.usageFeature5")),1)])]),a("div",o0,[a("h4",l0,p(r.$t("about.i18nFeatures")),1),a("ul",r0,[a("li",null,p(r.$t("about.i18nFeature1")),1),a("li",null,p(r.$t("about.i18nFeature2")),1)])])])]),a("div",null,[a("h3",a0,p(r.$t("about.installation")),1),a("div",i0,[a("div",null,[a("p",c0,p(r.$t("about.globalInstall")),1),i[6]||(i[6]=a("pre",{class:"bg-gray-800 text-gray-100 p-3 rounded-lg overflow-x-auto text-sm"},[de("npm i -g @lzwme/m3u8-dl"),a("br"),de("m3u8dl -h")],-1))]),a("div",null,[a("p",u0,p(r.$t("about.useNpx")),1),i[7]||(i[7]=a("pre",{class:"bg-gray-800 text-gray-100 p-3 rounded-lg overflow-x-auto text-sm"},"npx @lzwme/m3u8-dl -h",-1))]),a("div",null,[a("p",d0,p(r.$t("about.desktopApp")),1),a("p",f0,p(r.$t("about.desktopAppText")),1),a("ul",p0,[a("li",null,[a("a",{href:r.$t("about.desktopAppLink1"),target:"_blank",rel:"noopener",class:"text-blue-500 hover:text-blue-600"},p(r.$t("about.desktopAppLink1")),9,m0)]),a("li",null,[a("a",{href:r.$t("about.desktopAppLink2"),target:"_blank",rel:"noopener",class:"text-blue-500 hover:text-blue-600"},p(r.$t("about.desktopAppLink2")),9,g0)])])])])]),a("div",null,[a("h3",h0,p(r.$t("about.docker")),1),a("div",b0,[a("div",null,[a("p",v0,p(r.$t("about.dockerCommand")),1),i[8]||(i[8]=a("pre",{class:"bg-gray-800 text-gray-100 p-3 rounded-lg overflow-x-auto text-sm"},"docker run -d --name m3u8-dl -p 6600:6600 -v ./downloads:/app/downloads -v ./cache:/app/cache lzwme/m3u8-dl",-1))]),a("div",null,[a("p",y0,p(r.$t("about.dockerCompose")),1),i[9]||(i[9]=a("pre",{class:"bg-gray-800 text-gray-100 p-3 rounded-lg overflow-x-auto text-sm"},`version: '3'
22
+ services:
23
+ m3u8-dl:
24
+ image: lzwme/m3u8-dl
25
+ container_name: m3u8-dl
26
+ ports:
27
+ - "6600:6600"
28
+ volumes:
29
+ - ./downloads:/app/downloads
30
+ - ./cache:/app/cache
31
+ restart: unless-stopped`,-1))]),a("p",w0,p(r.$t("about.dockerDeployComplete",{url:"http://localhost:6600"})),1)])]),a("div",null,[a("h3",_0,p(r.$t("about.captureScript")),1),a("div",x0,[a("div",null,[a("p",k0,p(r.$t("about.captureScriptDescription")),1)]),a("div",null,[a("p",S0,p(r.$t("about.captureScriptInstall")),1),a("ol",$0,[a("li",null,[de(p(r.$t("about.captureScriptInstallStep1"))+" ",1),i[10]||(i[10]=a("a",{href:"https://violentmonkey.github.io/",target:"_blank",rel:"noopener",class:"text-blue-500 hover:text-blue-600"},"Violentmonkey",-1)),de(" "+p(r.$t("about.captureScriptInstallStep1Or"))+" ",1),i[11]||(i[11]=a("a",{href:"https://www.tampermonkey.net/",target:"_blank",rel:"noopener",class:"text-blue-500 hover:text-blue-600"},"Tampermonkey",-1))]),a("li",null,[de(p(r.$t("about.captureScriptInstallStep2"))+" ",1),a("ul",C0,[a("li",null,p(r.$t("about.captureScriptInstallStep2a")),1),a("li",null,p(r.$t("about.captureScriptInstallStep2b")),1),a("li",null,[de(p(r.$t("about.captureScriptInstallStep2c"))+" ",1),a("ul",E0,[a("li",null,[de(p(r.$t("about.captureScriptInstallStep2cOption1"))+" ",1),i[12]||(i[12]=a("a",{href:"https://raw.githubusercontent.com/lzwme/m3u8-dl/refs/heads/main/client/m3u8-capture.user.js",target:"_blank",rel:"noopener",class:"text-blue-500 hover:text-blue-600"},"https://raw.githubusercontent.com/lzwme/m3u8-dl/refs/heads/main/client/m3u8-capture.user.js",-1)),a("span",L0,"("+p(r.$t("about.captureScriptInstallStep2cOption1Note"))+")",1)]),a("li",null,[de(p(r.$t("about.captureScriptInstallStep2cOption2"))+" ",1),a("a",{href:`${o.value}/m3u8-capture.user.js`,target:"_blank",rel:"noopener",class:"text-blue-500 hover:text-blue-600"},p(o.value)+"/m3u8-capture.user.js",9,T0)])])])])]),a("li",null,[de(p(r.$t("about.captureScriptInstallStep3"))+" ",1),a("ul",I0,[a("li",null,p(r.$t("about.captureScriptInstallStep3a")),1),a("li",null,p(r.$t("about.captureScriptInstallStep3b")),1),a("li",null,p(r.$t("about.captureScriptInstallStep3c")),1)])])])]),a("div",null,[a("p",P0,p(r.$t("about.captureScriptFeatures")),1),a("ul",D0,[a("li",null,p(r.$t("about.captureScriptFeature1")),1),a("li",null,p(r.$t("about.captureScriptFeature2")),1),a("li",null,p(r.$t("about.captureScriptFeature3")),1),a("li",null,[de(p(r.$t("about.captureScriptFeature4"))+" ",1),a("ul",A0,[a("li",null,p(r.$t("about.captureScriptFeature4a")),1),a("li",null,p(r.$t("about.captureScriptFeature4b")),1)])])])]),a("div",null,[a("p",N0,p(r.$t("about.captureScriptUsage")),1),a("ol",R0,[a("li",null,p(r.$t("about.captureScriptUsageStep1")),1),a("li",null,p(r.$t("about.captureScriptUsageStep2")),1),a("li",null,p(r.$t("about.captureScriptUsageStep3")),1),a("li",null,p(r.$t("about.captureScriptUsageStep4")),1),a("li",null,p(r.$t("about.captureScriptUsageStep5")),1)])]),a("div",null,[a("p",F0,p(r.$t("about.captureScriptExcludeRules")),1),a("p",O0,p(r.$t("about.captureScriptExcludeRulesHint")),1),i[13]||(i[13]=a("pre",{class:"bg-gray-800 text-gray-100 p-3 rounded-lg overflow-x-auto text-sm"},`localhost:6600
32
+ 127.0.0.1
33
+ /example\\.com/
34
+ admin`,-1))]),a("p",U0,p(r.$t("about.captureScriptTip")),1)])])])])])]),_:1}))}}),Qa="m3u8-dl-favorites",V0=60*1e3;let nn=null;const pu=Lo("favorites",()=>{const e=z(new Set);function t(){try{const f=localStorage.getItem(Qa);return f?JSON.parse(f):[]}catch(f){return console.error("读取收藏列表失败:",f),[]}}function s(f){nn={data:f,timestamp:Date.now()}}function n(){nn=null}function o(){const f=Date.now();if(nn&&f-nn.timestamp<V0){e.value=nn.data;return}const g=t(),v=new Set(g);e.value=v,s(v)}function l(){try{localStorage.setItem(Qa,JSON.stringify(Array.from(e.value))),s(e.value)}catch(f){console.error("保存收藏列表失败:",f),n()}}function r(f){return e.value.has(f)}function i(f){e.value.has(f)||(e.value.add(f),e.value=new Set(e.value),l())}function c(f){e.value.has(f)&&(e.value.delete(f),e.value=new Set(e.value),l())}function u(f){return e.value.has(f)?(c(f),!1):(i(f),!0)}const d=fe(()=>Array.from(e.value));return o(),{favorites:d,isFavorite:r,addFavorite:i,removeFavorite:c,toggleFavorite:u,loadFavorites:o}}),H0={class:"bg-white rounded-lg shadow-xl max-w-md w-full"},j0={class:"p-6"},W0={class:"flex items-center mb-4"},B0={class:"text-xl font-semibold text-gray-900"},G0={class:"mb-6"},K0={class:"block text-sm font-medium text-gray-700 mb-2"},q0=["placeholder"],z0={key:0,class:"mt-2 text-sm text-red-600"},Y0={class:"flex justify-end gap-3"},X0=["disabled"],mu=Ne({__name:"RenameDialog",props:{visible:{type:Boolean},task:{}},emits:["close","success","error"],setup(e,{emit:t}){const{t:s}=qe(),n=ys(),o=e,l=t,r=z(""),i=z(""),c=z(!1),u=z(null);We(()=>o.visible,g=>{if(g&&o.task){const S=(o.task.filename||o.task.dlOptions?.filename||o.task.showName||"").replace(/\.[^.]+$/,"");r.value=S,i.value="",c.value=!1,ms(()=>{u.value?.focus(),u.value?.select()})}else g||(r.value="",i.value="",c.value=!1)},{immediate:!0});function d(){c.value||l("close")}async function f(){if(!o.task||!r.value.trim()||c.value)return;if(/[<>:"/\\|?*]/.test(r.value)){i.value=s("completedList.invalidFilename");return}c.value=!0,i.value="";try{const v=await _h(o.task.url,r.value.trim());if(v.code){const S=v.message||s("toast.renameFailed");ge({text:S,type:"error"}),i.value=S,c.value=!1,l("error",S)}else{ge({text:v.message||s("toast.renameSuccess"),type:"success"});const S=await uu();n.setTasks(S),c.value=!1,l("success"),l("close")}}catch(v){const S=v instanceof Error?v.message:s("toast.renameFailed");ge({text:S,type:"error"}),i.value=S,c.value=!1,l("error",S)}}return(g,v)=>e.visible?(K(),Y("div",{key:0,class:"fixed inset-0 modal-overlay flex items-center justify-center z-50 p-4",onClick:_t(d,["self"])},[a("div",H0,[a("div",j0,[a("div",W0,[v[1]||(v[1]=a("div",{class:"flex-shrink-0 w-10 h-10 bg-purple-100 rounded-full flex items-center justify-center mr-3"},[a("i",{class:"fas fa-edit text-purple-600"})],-1)),a("div",null,[a("h2",B0,p(g.$t("completedList.renameTitle")),1)])]),a("div",G0,[a("label",K0,p(g.$t("completedList.newFilename")),1),Te(a("input",{ref_key:"renameInput",ref:u,"onUpdate:modelValue":v[0]||(v[0]=S=>r.value=S),type:"text",class:"w-full p-3 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-purple-500 focus:border-transparent",placeholder:g.$t("completedList.filenamePlaceholder"),onKeyup:[Gs(f,["enter"]),Gs(d,["esc"])]},null,40,q0),[[Ge,r.value]]),i.value?(K(),Y("p",z0,p(i.value),1)):te("",!0)]),a("div",Y0,[a("button",{onClick:d,class:"px-4 py-2 text-gray-600 hover:bg-gray-100 rounded-lg transition-colors"},p(g.$t("common.cancel")),1),a("button",{onClick:f,disabled:!r.value.trim()||c.value,class:"px-4 py-2 bg-purple-500 hover:bg-purple-600 text-white rounded-lg transition-colors disabled:opacity-50 disabled:cursor-not-allowed"},p(c.value?g.$t("common.loading"):g.$t("common.confirm")),9,X0)])])])])):te("",!0)}}),Q0={class:"bg-white rounded-lg shadow"},J0={class:"p-4"},Z0={class:"flex justify-between items-center"},ey={class:"text-xl font-semibold"},ty={class:"flex items-center space-x-2"},sy={class:"text-sm text-gray-600"},ny={class:"px-2 sm:px-4 pb-2 border-b"},oy={class:"flex flex-wrap items-center gap-2 sm:gap-4"},ly={class:"flex items-center space-x-2 flex-shrink-0"},ry={class:"text-sm text-gray-600 hidden sm:inline"},ay={value:"startTime"},iy={value:"endTime"},cy={value:"name"},uy={value:"size"},dy={value:"saveDir"},fy={class:"flex items-center space-x-2 flex-shrink-0"},py=["title"],my={class:"ml-1 hidden sm:inline"},gy={class:"flex items-center space-x-2 flex-shrink-0"},hy=["title"],by={class:"ml-1 hidden sm:inline"},vy={class:"flex items-center space-x-2 flex-1 min-w-0 sm:flex-initial sm:min-w-[200px]"},yy=["placeholder"],wy={key:0,class:"px-4 py-3 bg-blue-50 border-t flex items-center justify-between"},_y={class:"flex items-center space-x-2"},xy={class:"text-sm text-gray-700"},ky={class:"overflow-x-auto"},Sy={class:"w-full"},$y={class:"bg-gray-50 border-b"},Cy={class:"px-4 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider w-12"},Ey=["checked","indeterminate"],Ly={class:"px-4 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"},Ty={class:"px-4 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"},Iy={class:"px-4 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"},Py={class:"px-4 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"},Dy={class:"px-4 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"},Ay={class:"bg-white divide-y divide-gray-200"},Ny={class:"px-4 py-3 whitespace-nowrap"},Ry=["checked","onChange"],Fy={class:"px-4 py-3 whitespace-nowrap text-sm"},Oy={class:"flex items-center space-x-2"},Uy=["onClick","title"],My=["onClick","title"],Vy=["onClick","title"],Hy=["onClick","title"],jy=["onClick","title"],Wy={class:"px-4 py-3"},By={class:"flex items-center"},Gy={class:"flex-1 min-w-0"},Ky=["title"],qy=["title"],zy={class:"px-4 py-3 whitespace-nowrap text-sm text-gray-600"},Yy={class:"px-4 py-3 whitespace-nowrap text-sm text-gray-600"},Xy={class:"px-4 py-3 whitespace-nowrap text-sm text-gray-600"},Qy={key:0},Jy={colspan:"6",class:"px-4 py-8 text-center text-gray-500"},Zy={class:"flex flex-col items-center"},ew={key:1,class:"px-4 py-3 border-t bg-gray-50 flex items-center justify-between flex-wrap gap-2"},tw={class:"flex items-center space-x-2"},sw={class:"text-sm text-gray-600"},nw={class:"text-sm text-gray-600"},ow={class:"flex items-center space-x-2"},lw={class:"text-sm text-gray-600"},rw={class:"flex items-center space-x-1"},aw=["disabled","title"],iw=["disabled","title"],cw={class:"flex items-center space-x-1"},uw=["max","placeholder"],dw=["disabled","title"],fw=["disabled","title"],pw=Ne({__name:"CompletedList",emits:["show-detail","local-play","delete"],setup(e,{expose:t,emit:s}){const n=ys(),o=pu(),l=z("endTime"),r=z("desc"),i=z(""),c=z(!1),u=z(1),d=z(20),f=z(""),g=fe(()=>{const m=Object.values(n.tasks).filter(h=>h.status==="done"||h.progress!==void 0&&h.progress>=100);return m.forEach(h=>{h.showName=h.filename||h.dlOptions?.filename||h.localVideo||h.url}),m}),v=fe(()=>{let M=g.value;if(c.value&&(M=M.filter(m=>o.isFavorite(m.url))),i.value.trim()){const m=i.value.toLowerCase();M=M.filter(h=>{const E=(h.showName||h.filename||h.url||"").toLowerCase(),U=(h.url||"").toLowerCase();return E.includes(m)||U.includes(m)})}return M}),S=fe(()=>{const M=[...v.value];return M.sort((m,h)=>{let E,U;switch(l.value){case"startTime":E=m.startTime||0,U=h.startTime||0;break;case"endTime":E=m.endTime||0,U=h.endTime||0;break;case"name":E=(m.showName||m.filename||m.url||"").toLowerCase(),U=(h.showName||h.filename||h.url||"").toLowerCase();break;case"size":E=m.downloadedSize||m.size||0,U=h.downloadedSize||h.size||0;break;case"saveDir":E=(m.dlOptions?.saveDir||m.options?.saveDir||"").toLowerCase(),U=(h.dlOptions?.saveDir||h.options?.saveDir||"").toLowerCase();break;default:return 0}return E<U?r.value==="asc"?-1:1:E>U?r.value==="asc"?1:-1:0}),M}),k=fe(()=>Math.max(1,Math.ceil(S.value.length/d.value))),P=fe(()=>{const M=(u.value-1)*d.value,m=M+d.value;return S.value.slice(M,m)}),_=z([]),$=fe(()=>P.value.length>0&&_.value.length===P.value.length&&P.value.every(M=>_.value.includes(M.url))),I=fe(()=>{const M=P.value.filter(m=>_.value.includes(m.url)).length;return M>0&&M<P.value.length});function x(){u.value=1}function D(){r.value=r.value==="asc"?"desc":"asc",u.value=1}function j(){u.value=1}function C(){c.value=!c.value,u.value=1}function F(M){return o.isFavorite(M)}function V(M){o.toggleFavorite(M)}function Z(){const M=P.value.map(h=>h.url);M.every(h=>_.value.includes(h))?_.value=_.value.filter(h=>!M.includes(h)):M.forEach(h=>{_.value.includes(h)||_.value.push(h)})}function N(M){const m=_.value.indexOf(M);m===-1?_.value.push(M):_.value.splice(m,1)}function w(M){if(!M)return"-";const m=new Date(M),{locale:h}=qe(),E=h.value==="zh-CN"?"zh-CN":"en-US";return m.toLocaleString(E,{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"})}const R=s,X=z(!1),le=z(null),ae=z(null);function re(M){le.value=M,X.value=!0}function pe(){X.value=!1,le.value=null}function Re(){pe()}function Ze(M){R("show-detail",M)}function ze(M){const m=location.origin+`/localplay/${encodeURIComponent(M.localVideo||"")||M.localM3u8}`;R("local-play",{task:M,url:m})}function Ue(M){R("delete",[M])}function q(){_.value.length>0&&(R("delete",_.value),_.value=[])}function ce(M){const m=Math.max(1,Math.min(M,k.value));u.value=m,f.value=""}function ye(){u.value=1}function $e(){u.value=k.value}function H(){u.value>1&&u.value--}function J(){u.value<k.value&&u.value++}function Q(){const M=k.value;u.value>M&&(u.value=M)}function ne(){const M=parseInt(f.value);!isNaN(M)&&M>0&&ce(M)}return We([i,l,r,c],()=>{u.value=1}),t({closeRenameDialog:pe}),(M,m)=>(K(),Y("div",Q0,[a("div",J0,[a("div",Z0,[a("h2",ey,p(M.$t("completedList.title")),1),a("div",ty,[a("span",sy,p(M.$t("completedList.total",{count:g.value.length})),1)])])]),a("div",ny,[a("div",oy,[a("div",ly,[a("label",ry,p(M.$t("completedList.sortBy")),1),Te(a("select",{"onUpdate:modelValue":m[0]||(m[0]=h=>l.value=h),onChange:x,class:"px-2 sm:px-3 py-1 text-sm border rounded-lg focus:ring-blue-500 focus:border-blue-500"},[a("option",ay,p(M.$t("completedList.sortStartTime")),1),a("option",iy,p(M.$t("completedList.sortEndTime")),1),a("option",cy,p(M.$t("completedList.sortName")),1),a("option",uy,p(M.$t("completedList.sortSize")),1),a("option",dy,p(M.$t("completedList.sortSaveDir")),1)],544),[[pl,l.value]])]),a("div",fy,[a("button",{onClick:D,class:"px-2 sm:px-3 py-1 text-sm bg-gray-100 hover:bg-gray-200 rounded-lg flex items-center",title:r.value==="asc"?M.$t("completedList.ascending"):M.$t("completedList.descending")},[a("i",{class:xe(["fas",r.value==="asc"?"fa-sort-up":"fa-sort-down"])},null,2),a("span",my,p(r.value==="asc"?M.$t("completedList.ascending"):M.$t("completedList.descending")),1)],8,py)]),m[5]||(m[5]=a("div",{class:"flex-1 hidden sm:block"},null,-1)),a("div",gy,[a("button",{onClick:C,class:xe(["px-2 sm:px-3 py-1 text-sm rounded-lg flex items-center transition-colors",c.value?"bg-yellow-100 text-yellow-700 hover:bg-yellow-200":"bg-gray-100 hover:bg-gray-200"]),title:M.$t("completedList.showFavorites")},[a("i",{class:xe(c.value?"fas fa-star":"far fa-star")},null,2),a("span",by,p(M.$t("completedList.favorites")),1)],10,hy)]),a("div",vy,[Te(a("input",{type:"text","onUpdate:modelValue":m[1]||(m[1]=h=>i.value=h),class:"flex-1 px-2 sm:px-3 py-1 text-sm border rounded-lg focus:ring-blue-500 focus:border-blue-500 min-w-0",placeholder:M.$t("completedList.searchPlaceholder"),onInput:j},null,40,yy),[[Ge,i.value]]),m[4]||(m[4]=a("i",{class:"fas fa-search text-gray-400 flex-shrink-0"},null,-1))])])]),_.value.length>0?(K(),Y("div",wy,[a("div",_y,[a("button",{onClick:q,class:"px-3 py-1 text-sm bg-red-500 hover:bg-red-600 text-white rounded"},[m[6]||(m[6]=a("i",{class:"fas fa-trash mr-1"},null,-1)),de(p(M.$t("completedList.deleteSelected")),1)])]),a("span",xy,p(M.$t("completedList.selected",{count:_.value.length})),1)])):te("",!0),a("div",ky,[a("table",Sy,[a("thead",$y,[a("tr",null,[a("th",Cy,[a("input",{type:"checkbox",checked:$.value,indeterminate:I.value,onChange:Z,class:"form-checkbox h-4 w-4 text-blue-500 rounded focus:ring-blue-500"},null,40,Ey)]),a("th",Ly,p(M.$t("completedList.action")),1),a("th",Ty,p(M.$t("completedList.taskName")),1),a("th",Iy,p(M.$t("completedList.fileSize")),1),a("th",Py,p(M.$t("completedList.startTime")),1),a("th",Dy,p(M.$t("completedList.endTime")),1)])]),a("tbody",Ay,[(K(!0),Y(je,null,Fn(P.value,h=>(K(),Y("tr",{key:h.url,class:"hover:bg-gray-50 transition-colors"},[a("td",Ny,[a("input",{type:"checkbox",checked:_.value.includes(h.url),onChange:E=>N(h.url),class:"form-checkbox h-4 w-4 text-blue-500 rounded focus:ring-blue-500"},null,40,Ry)]),a("td",Fy,[a("div",Oy,[h.localVideo?(K(),Y("button",{key:0,onClick:E=>ze(h),class:"text-green-600 hover:text-green-800",title:M.$t("completedList.play")},[...m[7]||(m[7]=[a("i",{class:"fas fa-play-circle"},null,-1)])],8,Uy)):te("",!0),a("button",{onClick:E=>V(h.url),class:xe(["transition-colors",F(h.url)?"text-yellow-500 hover:text-yellow-600":"text-gray-400 hover:text-yellow-500"]),title:F(h.url)?M.$t("completedList.removeFavorite"):M.$t("completedList.addFavorite")},[a("i",{class:xe(F(h.url)?"fas fa-star":"far fa-star")},null,2)],10,My),a("button",{onClick:E=>Ze(h),class:"text-blue-600 hover:text-blue-800",title:M.$t("completedList.viewDetail")},[...m[8]||(m[8]=[a("i",{class:"fas fa-info-circle"},null,-1)])],8,Vy),h.status==="done"&&!h.errmsg?(K(),Y("button",{key:1,onClick:E=>re(h),class:"text-purple-600 hover:text-purple-800",title:M.$t("completedList.rename")},[...m[9]||(m[9]=[a("i",{class:"fas fa-edit"},null,-1)])],8,Hy)):te("",!0),a("button",{onClick:E=>Ue(h.url),class:"text-red-600 hover:text-red-800",title:M.$t("completedList.delete")},[...m[10]||(m[10]=[a("i",{class:"fas fa-trash"},null,-1)])],8,jy)])]),a("td",Wy,[a("div",By,[a("div",Gy,[a("p",{class:"text-sm font-medium text-gray-900 truncate max-w-[calc(35vw)]",title:h.showName},p(h.showName),9,Ky),a("p",{class:"text-xs text-gray-500 truncate max-w-[calc(35vw)]",title:h.url},p(h.url),9,qy)])])]),a("td",zy,p(he(Xs)(h.downloadedSize||h.size||0)),1),a("td",Yy,p(w(h.startTime)),1),a("td",Xy,p(w(h.endTime)),1)]))),128)),P.value.length===0?(K(),Y("tr",Qy,[a("td",Jy,[a("div",Zy,[m[11]||(m[11]=a("i",{class:"fas fa-inbox text-4xl mb-2 text-gray-300"},null,-1)),a("p",null,p(M.$t("completedList.noCompletedTasks")),1)])])])):te("",!0)])])]),S.value.length>0?(K(),Y("div",ew,[a("div",tw,[a("label",sw,p(M.$t("completedList.pageSize")),1),Te(a("select",{"onUpdate:modelValue":m[2]||(m[2]=h=>d.value=h),onChange:Q,class:"px-2 py-1 text-sm border rounded-lg focus:ring-blue-500 focus:border-blue-500"},[...m[12]||(m[12]=[a("option",{value:10},"10",-1),a("option",{value:20},"20",-1),a("option",{value:50},"50",-1),a("option",{value:100},"100",-1)])],544),[[pl,d.value,void 0,{number:!0}]]),a("span",nw,p(M.$t("completedList.itemsPerPage")),1)]),a("div",ow,[a("span",lw,p(M.$t("completedList.pageInfo",{current:u.value,total:k.value})),1),a("div",rw,[a("button",{onClick:ye,disabled:u.value===1,class:"px-2 py-1 text-sm bg-white border rounded hover:bg-gray-100 disabled:opacity-50 disabled:cursor-not-allowed",title:M.$t("completedList.firstPage")},[...m[13]||(m[13]=[a("i",{class:"fas fa-angle-double-left"},null,-1)])],8,aw),a("button",{onClick:H,disabled:u.value===1,class:"px-2 py-1 text-sm bg-white border rounded hover:bg-gray-100 disabled:opacity-50 disabled:cursor-not-allowed",title:M.$t("completedList.previousPage")},[...m[14]||(m[14]=[a("i",{class:"fas fa-angle-left"},null,-1)])],8,iw),a("div",cw,[Te(a("input",{type:"number","onUpdate:modelValue":m[3]||(m[3]=h=>f.value=h),onKeyup:Gs(ne,["enter"]),min:1,max:k.value,class:"w-16 px-2 py-1 text-sm border rounded-lg focus:ring-blue-500 focus:border-blue-500 text-center",placeholder:String(u.value)},null,40,uw),[[Ge,f.value]]),a("button",{onClick:ne,class:"px-2 py-1 text-sm bg-blue-500 hover:bg-blue-600 text-white rounded"},p(M.$t("completedList.goToPage")),1)]),a("button",{onClick:J,disabled:u.value===k.value,class:"px-2 py-1 text-sm bg-white border rounded hover:bg-gray-100 disabled:opacity-50 disabled:cursor-not-allowed",title:M.$t("completedList.nextPage")},[...m[15]||(m[15]=[a("i",{class:"fas fa-angle-right"},null,-1)])],8,dw),a("button",{onClick:$e,disabled:u.value===k.value,class:"px-2 py-1 text-sm bg-white border rounded hover:bg-gray-100 disabled:opacity-50 disabled:cursor-not-allowed",title:M.$t("completedList.lastPage")},[...m[16]||(m[16]=[a("i",{class:"fas fa-angle-double-right"},null,-1)])],8,fw)])])])):te("",!0),we(mu,{ref_key:"renameDialogRef",ref:ae,visible:X.value,task:le.value,onClose:pe,onSuccess:Re},null,8,["visible","task"])]))}});function mw(e){return new Promise((t,s)=>{navigator.clipboard?.writeText?navigator.clipboard.writeText(e).then(()=>t(!0)).catch(()=>{Ja(e)?t(!0):s(new Error("复制失败"))}):Ja(e)?t(!0):s(new Error("复制失败"))})}function Ja(e){try{const t=document.createElement("textarea");t.value=e,t.style.position="fixed",t.style.opacity="0",t.style.left="-9999px",document.body.appendChild(t),t.select(),t.setSelectionRange(0,e.length);const s=document.execCommand("copy");return document.body.removeChild(t),s}catch(t){return console.error("[M3U8 Capture] fallbackCopy failed:",t),!1}}const gw={class:"bg-white rounded-lg shadow-xl max-w-3xl w-full max-h-[98vh] overflow-hidden flex flex-col"},hw={class:"flex justify-between items-center p-2 md:p-4 border-b"},bw={class:"text-lg md:text-xl font-semibold"},vw={class:"overflow-y-auto p-2 md:p-4 flex-1"},yw={key:0,class:"flex flex-col w-full text-left space-y-2 md:space-y-3"},ww={class:"flex items-start"},_w={class:"font-bold text-right inline-block text-sm md:text-base",style:{"min-width":"80px","max-width":"80px"}},xw={class:"ml-1 md:ml-2 text-gray-800 break-words flex-1 text-sm md:text-base"},kw={class:"flex items-center"},Sw={class:"font-bold text-right inline-block text-sm md:text-base",style:{"min-width":"80px","max-width":"80px"}},$w={class:"flex items-center"},Cw={class:"font-bold text-right inline-block text-sm md:text-base",style:{"min-width":"80px","max-width":"80px"}},Ew={class:"ml-1 md:ml-2 text-gray-800 text-sm md:text-base"},Lw={key:0,class:"flex items-center"},Tw={class:"font-bold text-right inline-block text-sm md:text-base",style:{"min-width":"80px","max-width":"80px"}},Iw={class:"ml-1 md:ml-2 text-gray-800 text-sm md:text-base"},Pw={class:"flex items-center"},Dw={class:"font-bold text-right inline-block text-sm md:text-base",style:{"min-width":"80px","max-width":"80px"}},Aw={class:"ml-1 md:ml-2 text-gray-800 text-sm md:text-base"},Nw={key:1,class:"flex items-center"},Rw={class:"font-bold text-right inline-block text-sm md:text-base",style:{"min-width":"80px","max-width":"80px"}},Fw={class:"ml-1 md:ml-2 text-gray-800 text-sm md:text-base"},Ow={class:"text-green-600"},Uw={class:"text-red-500"},Mw={class:"flex items-center"},Vw={class:"font-bold text-right inline-block text-sm md:text-base",style:{"min-width":"80px","max-width":"80px"}},Hw={class:"ml-1 md:ml-2 text-gray-800 text-sm md:text-base"},jw={key:2,class:"flex items-center"},Ww={class:"font-bold text-right inline-block text-sm md:text-base",style:{"min-width":"80px","max-width":"80px"}},Bw={class:"ml-1 md:ml-2 text-gray-800 text-sm md:text-base"},Gw={key:3,class:"flex items-center"},Kw={class:"font-bold text-right inline-block text-sm md:text-base",style:{"min-width":"80px","max-width":"80px"}},qw={class:"ml-1 md:ml-2 text-gray-800 text-sm md:text-base"},zw={key:4,class:"flex items-center"},Yw={class:"font-bold text-right inline-block text-sm md:text-base",style:{"min-width":"80px","max-width":"80px"}},Xw={class:"ml-1 md:ml-2 text-gray-800 text-sm md:text-base"},Qw={key:5,class:"flex items-center"},Jw={class:"font-bold text-right inline-block text-sm md:text-base",style:{"min-width":"80px","max-width":"80px"}},Zw={class:"ml-1 md:ml-2 text-gray-800 text-sm md:text-base"},e1={class:"flex items-start"},t1={class:"font-bold text-right inline-block text-sm md:text-base",style:{"min-width":"80px","max-width":"80px"}},s1={class:"ml-1 md:ml-2 flex-1 flex items-center gap-1 md:gap-2"},n1={class:"flex-1 p-1.5 md:p-2 bg-gray-50 rounded border text-xs md:text-sm text-gray-700 break-all"},o1=["title"],l1={key:6,class:"flex items-start"},r1={class:"font-bold text-right inline-block text-sm md:text-base",style:{"min-width":"80px","max-width":"80px"}},a1={class:"ml-1 md:ml-2 flex-1 flex items-center gap-1 md:gap-2"},i1={class:"flex-1 p-1.5 md:p-2 bg-gray-50 rounded border text-xs md:text-sm text-gray-700 break-all"},c1=["title"],u1={key:7,class:"flex items-start"},d1={class:"font-bold text-right inline-block text-sm md:text-base",style:{"min-width":"80px","max-width":"80px"}},f1={class:"ml-1 md:ml-2 text-red-600 break-words flex-1 text-sm md:text-base"},p1={class:"flex justify-end gap-2 p-2 md:p-4 border-t"},gu=Ne({__name:"TaskDetailModal",props:{visible:{type:Boolean},task:{}},emits:["close"],setup(e,{emit:t}){const{t:s}=qe(),n=t;function o(){n("close")}function l(c){return{resume:s("download.status.resume"),pending:s("download.status.pending"),pause:s("download.status.pause"),error:s("download.status.error"),done:s("download.status.done")}[c]||c}function r(c){return{resume:"px-2 py-1 bg-green-100 text-green-800 rounded text-sm inline-block",pending:"px-2 py-1 bg-yellow-100 text-yellow-800 rounded text-sm inline-block",pause:"px-2 py-1 bg-gray-100 text-gray-800 rounded text-sm inline-block",error:"px-2 py-1 bg-red-100 text-red-600 rounded text-sm inline-block",done:"px-2 py-1 bg-blue-100 text-blue-800 rounded text-sm inline-block"}[c]||"px-2 py-1 bg-gray-100 text-gray-800 rounded text-sm inline-block"}function i(c){return mw(c).then(()=>ge({text:s("toast.copySuccess"),type:"success"})).catch(u=>{console.error("复制失败:",u),ge({text:s("toast.copyFailed"),type:"error"})})}return(c,u)=>e.visible?(K(),Y("div",{key:0,class:"fixed inset-0 modal-overlay flex items-center justify-center z-50 p-2 md:p-4",onClick:_t(o,["self"])},[a("div",gw,[a("div",hw,[a("h2",bw,p(c.$t("taskDetail.title")),1),a("button",{onClick:o,class:"text-gray-500 hover:text-gray-700 transition-colors p-1.5 md:p-2 rounded-lg hover:bg-gray-100"},[...u[2]||(u[2]=[a("i",{class:"fas fa-times"},null,-1)])])]),a("div",vw,[e.task?(K(),Y("div",yw,[a("div",ww,[a("label",_w,p(c.$t("taskDetail.name"))+":",1),a("span",xw,p(e.task.filename||e.task.localVideo||"-"),1)]),a("div",kw,[a("label",Sw,p(c.$t("taskDetail.status"))+":",1),a("span",{class:xe([r(e.task.status),"ml-1 md:ml-2 text-xs md:text-sm"])},p(l(e.task.status)),3)]),a("div",$w,[a("label",Cw,p(c.$t("taskDetail.progress"))+":",1),a("span",Ew,p(e.task.progress||0)+"%",1)]),e.task.threadNum?(K(),Y("div",Lw,[a("label",Tw,p(c.$t("taskDetail.threadNum"))+":",1),a("span",Iw,p(e.task.threadNum),1)])):te("",!0),a("div",Pw,[a("label",Dw,p(c.$t("taskDetail.avgSpeed"))+":",1),a("span",Aw,p(e.task.avgSpeedDesc||"-")+"/s",1)]),e.task.tsCount?(K(),Y("div",Nw,[a("label",Rw,p(c.$t("taskDetail.segments"))+":",1),a("span",Fw,[a("span",Ow,p(e.task.tsSuccess||0),1),u[3]||(u[3]=de(" / ",-1)),a("span",Uw,p(e.task.tsFailed||0),1),de(" / "+p(e.task.tsCount),1)])])):te("",!0),a("div",Mw,[a("label",Vw,p(c.$t("taskDetail.size"))+":",1),a("span",Hw,p(he(Xs)(e.task.downloadedSize||0)),1)]),e.task.duration?(K(),Y("div",jw,[a("label",Ww,p(c.$t("taskDetail.duration"))+":",1),a("span",Bw,p(he(fo)(e.task.duration*1e3)),1)])):te("",!0),e.task.startTime?(K(),Y("div",Gw,[a("label",Kw,p(c.$t("taskDetail.startTime"))+":",1),a("span",qw,p(new Date(e.task.startTime).toLocaleString()),1)])):te("",!0),e.task.endTime&&e.task.status!=="resume"?(K(),Y("div",zw,[a("label",Yw,p(c.$t("taskDetail.endTime"))+":",1),a("span",Xw,p(new Date(e.task.endTime).toLocaleString()),1)])):te("",!0),e.task.status==="resume"&&e.task.remainingTime?(K(),Y("div",Qw,[a("label",Jw,p(c.$t("taskDetail.remainingTime"))+":",1),a("span",Zw,p(he(fo)(e.task.remainingTime)),1)])):te("",!0),a("div",e1,[a("label",t1,p(c.$t("taskDetail.downloadUrl"))+":",1),a("div",s1,[a("div",n1,p(e.task.url),1),a("button",{onClick:u[0]||(u[0]=d=>i(e.task.url)),class:"px-2 py-1.5 md:px-3 md:py-2 bg-blue-500 hover:bg-blue-600 text-white rounded transition-colors flex-shrink-0 text-sm",title:c.$t("taskDetail.copy")},[...u[4]||(u[4]=[a("i",{class:"fas fa-copy"},null,-1)])],8,o1)])]),e.task.localVideo||e.task.options?.saveDir?(K(),Y("div",l1,[a("label",r1,p(c.$t("taskDetail.saveLocation"))+":",1),a("div",a1,[a("div",i1,p(e.task.localVideo||e.task.options?.saveDir||"-"),1),e.task.localVideo||e.task.options?.saveDir?(K(),Y("button",{key:0,onClick:u[1]||(u[1]=d=>i(e.task.localVideo||e.task.options?.saveDir||"")),class:"px-2 py-1.5 md:px-3 md:py-2 bg-blue-500 hover:bg-blue-600 text-white rounded transition-colors flex-shrink-0 text-sm",title:c.$t("taskDetail.copy")},[...u[5]||(u[5]=[a("i",{class:"fas fa-copy"},null,-1)])],8,c1)):te("",!0)])])):te("",!0),e.task.errmsg?(K(),Y("div",u1,[a("label",d1,p(c.$t("taskDetail.relatedInfo"))+":",1),a("span",f1,p(e.task.errmsg),1)])):te("",!0)])):te("",!0)]),a("div",p1,[a("button",{onClick:o,class:"px-3 py-1.5 md:px-4 md:py-2 text-gray-600 hover:bg-gray-100 rounded-lg transition-colors text-sm md:text-base"},p(c.$t("taskDetail.close")),1)])])])):te("",!0)}}),m1={class:"bg-white rounded-lg shadow-xl max-w-md w-full"},g1={class:"p-6"},h1={class:"text-xl font-semibold mb-4"},b1={class:"text-gray-600 mb-6"},v1={class:"space-y-3 mb-6"},y1={class:"flex items-center cursor-pointer"},w1={class:"text-gray-700"},_1={class:"flex items-center cursor-pointer"},x1={class:"text-red-700 font-medium"},k1={class:"flex justify-end gap-3"},hu=Ne({__name:"DeleteConfirmDialog",props:{visible:{type:Boolean},count:{}},emits:["close","confirm"],setup(e,{emit:t}){const{t:s}=qe(),n=e,o=t,l=z(!0),r=z(!0);We(()=>n.visible,u=>{u&&(l.value=!0,r.value=!0)});function i(){o("close")}function c(){o("confirm",{deleteCache:l.value,deleteVideo:r.value}),i()}return(u,d)=>e.visible?(K(),Y("div",{key:0,class:"fixed inset-0 modal-overlay flex items-center justify-center z-50 p-4",onClick:_t(i,["self"])},[a("div",m1,[a("div",g1,[a("h2",h1,p(u.$t("deleteConfirm.title")),1),a("p",b1,p(u.$t("deleteConfirm.message",{count:e.count})),1),a("div",v1,[a("label",y1,[Te(a("input",{"onUpdate:modelValue":d[0]||(d[0]=f=>l.value=f),type:"checkbox",class:"form-checkbox h-5 w-5 text-blue-500 rounded focus:ring-blue-500 mr-3"},null,512),[[Us,l.value]]),a("span",w1,p(u.$t("deleteConfirm.deleteCache")),1)]),a("label",_1,[Te(a("input",{"onUpdate:modelValue":d[1]||(d[1]=f=>r.value=f),type:"checkbox",class:"form-checkbox h-5 w-5 text-blue-500 rounded focus:ring-blue-500 mr-3"},null,512),[[Us,r.value]]),a("span",x1,p(u.$t("deleteConfirm.deleteVideo")),1)])]),a("div",k1,[a("button",{onClick:i,class:"px-4 py-2 text-gray-600 hover:bg-gray-100 rounded-lg transition-colors"},p(u.$t("deleteConfirm.cancel")),1),a("button",{onClick:c,class:"px-4 py-2 bg-red-500 hover:bg-red-600 text-white rounded-lg transition-colors"},p(u.$t("deleteConfirm.confirm")),1)])])])])):te("",!0)}}),S1={class:"bg-white rounded-lg shadow-xl max-w-md w-full"},$1={class:"p-6"},C1={class:"flex items-center mb-4"},E1={class:"text-xl font-semibold text-gray-900"},L1={class:"mb-6"},T1={class:"text-gray-600 whitespace-pre-line"},I1={class:"flex justify-end gap-3"},bu=Ne({__name:"ConfirmDialog",props:{visible:{type:Boolean},title:{},message:{}},emits:["close","confirm"],setup(e,{emit:t}){const{t:s}=qe(),n=t;function o(){n("close")}function l(){n("confirm"),o()}return(r,i)=>e.visible?(K(),Y("div",{key:0,class:"fixed inset-0 modal-overlay flex items-center justify-center z-50 p-4",onClick:_t(o,["self"])},[a("div",S1,[a("div",$1,[a("div",C1,[i[0]||(i[0]=a("div",{class:"flex-shrink-0 w-10 h-10 bg-yellow-100 rounded-full flex items-center justify-center mr-3"},[a("i",{class:"fas fa-exclamation-triangle text-yellow-600"})],-1)),a("div",null,[a("h2",E1,p(e.title),1)])]),a("div",L1,[dn(r.$slots,"default",{},()=>[a("p",T1,p(e.message),1)])]),a("div",I1,[a("button",{onClick:o,class:"px-4 py-2 text-gray-600 hover:bg-gray-100 rounded-lg transition-colors"},p(r.$t("common.cancel")),1),a("button",{onClick:l,class:"px-4 py-2 bg-blue-500 hover:bg-blue-600 text-white rounded-lg transition-colors"},p(r.$t("common.confirm")),1)])])])])):te("",!0)}}),P1={class:"flex items-center justify-between bg-gray-900 text-white px-4 py-2 flex-shrink-0"},D1={class:"flex items-center gap-4 flex-1 min-w-0"},A1=["title"],N1={class:"text-sm md:text-base font-semibold truncate flex-1"},R1={class:"flex items-center gap-2"},F1=["title"],O1={class:"flex-1 flex overflow-hidden relative"},U1={class:"flex-1 relative"},M1=["src"],V1={class:"p-4"},H1={class:"flex items-center justify-between mb-3"},j1={class:"text-sm font-semibold text-gray-300"},W1=["title"],B1={class:"space-y-2"},G1=["data-task-url"],K1=["onClick"],q1={class:"flex-1 min-w-0 flex flex-col gap-1"},z1={class:"flex items-center"},Y1={class:"font-medium text-sm truncate flex-1"},X1=["onClick","title"],Q1=["onClick","title"],J1={class:"text-xs text-gray-400 flex items-center gap-2 flex-wrap"},Z1={key:1,class:"text-gray-400"},e_={key:0,class:"fas fa-play text-blue-300 flex-shrink-0 absolute right-2 bottom-2"},t_=Ne({__name:"VideoPlayer",props:{visible:{type:Boolean},initialUrl:{},initialTask:{}},emits:["close"],setup(e,{emit:t}){const{t:s}=qe(),n=ys(),o=pu(),l=e,r=t,i=z(null),c=z(null),u=z(!0),d=z(null),f=z(""),g=z(!1),v=z(null),S=fe(()=>f.value?`/play.html?url=${encodeURIComponent(f.value)}`:""),k=fe(()=>{if(!d.value)return[];const w=d.value.dlOptions?.saveDir||d.value.options?.saveDir;if(!w)return[d.value];const X=Object.values(n.tasks).filter(ae=>!ae.localVideo&&!ae.localM3u8||(ae.progress||0)<20?!1:(ae.dlOptions?.saveDir||ae.options?.saveDir)===w);return!X.some(ae=>ae.url===d.value?.url)&&d.value&&X.push(d.value),X.sort((ae,re)=>{const pe=(ae.filename||ae.showName||"").toLowerCase(),Re=(re.filename||re.showName||"").toLowerCase();return pe.localeCompare(Re)})});We(()=>[l.visible,l.initialUrl,l.initialTask],([w,R,X])=>{if(w){if(f.value=R,d.value=X||null,!d.value&&R){const le=Object.values(n.tasks);d.value=le.find(ae=>{const re=ae.localVideo||ae.localM3u8;return re?`${location.origin}/localplay/${re}`===R:!1})||null}P(350)}},{immediate:!0}),We(u,w=>{w&&P(350)});async function P(w=0){w>0&&await new Promise(R=>setTimeout(R,w)),!(!d.value||!c.value||k.value.length<5)&&ms(()=>{const R=c.value?.querySelector(`[data-task-url="${d.value?.url}"]`);R&&R.scrollIntoView({behavior:"smooth",block:"center",inline:"nearest"})})}function _(w){if(w.url===d.value?.url)return;const R=w.localVideo||w.localM3u8;if(!R){console.error("[VideoPlayer] switchVideo: task 缺少本地文件路径",w);return}const X=`${location.origin}/localplay/${R}`;d.value=w,i.value?.contentWindow?i.value.contentWindow.postMessage({url:X,playType:X.includes("dplayer")?"dplayer":"artplayer"},"*"):f.value=X,P()}function $(w){const R=w.data;if(!(!R||typeof R!="object")&&(R.action==="next"||R.action==="previous")){const X=k.value.findIndex(le=>le.url===d.value?.url);if(X===-1)return;if(R.action==="next"){const le=X+1;le<k.value.length&&_(k.value[le])}else if(R.action==="previous"){const le=X-1;le>=0&&_(k.value[le])}}}function I(){u.value=!u.value}function x(){r("close")}function D(w){w.status==="done"&&!w.errmsg&&(v.value=w,g.value=!0)}function j(){g.value=!1,v.value=null}function C(){j()}function F(w){return o.isFavorite(w)}function V(w){o.toggleFavorite(w)}function Z(w){return{resume:s("download.status.resume"),pending:s("download.status.pending"),pause:s("download.status.pause"),error:s("download.status.error"),done:s("download.status.done")}[w]||w}function N(w){return{resume:"bg-green-500/20 text-green-300",pending:"bg-yellow-500/20 text-yellow-300",pause:"bg-gray-500/20 text-gray-300",error:"bg-red-500/20 text-red-300",done:"bg-blue-500/20 text-blue-300"}[w]||"bg-gray-500/20 text-gray-300"}return It(()=>{window.addEventListener("message",$)}),Ps(()=>{window.removeEventListener("message",$)}),(w,R)=>e.visible?(K(),Y("div",{key:0,class:"fixed inset-0 bg-black z-100 flex flex-col",onKeydown:Gs(x,["esc"]),tabindex:"0"},[a("div",P1,[a("div",D1,[a("button",{onClick:x,class:"text-gray-300 hover:text-white transition-colors p-2 rounded-lg hover:bg-gray-800",title:w.$t("common.close")},[...R[0]||(R[0]=[a("i",{class:"fas fa-times"},null,-1)])],8,A1),a("h2",N1,p(d.value?.filename||d.value?.showName||"视频播放"),1)]),a("div",R1,[k.value.length>1?(K(),Y("button",{key:0,onClick:I,class:"text-gray-300 hover:text-white transition-colors p-2 rounded-lg hover:bg-gray-800",title:u.value?"隐藏列表":"显示列表"},[a("i",{class:xe(["fas",u.value?"fa-list-ul":"fa-list"])},null,2)],8,F1)):te("",!0)])]),a("div",O1,[a("div",U1,[a("iframe",{ref_key:"playerIframe",ref:i,src:S.value,class:"w-full h-full border-0",allowfullscreen:""},null,8,M1)]),k.value.length>1?(K(),Y("div",{key:0,class:xe([{"playlist-overlay-visible":u.value},"playlist-overlay md:hidden fixed inset-0 bg-black/50 backdrop-blur-sm z-40"]),onClick:I},null,2)):te("",!0),k.value.length>1?(K(),Y("div",{key:1,class:xe([{"playlist-sidebar-visible":u.value},"playlist-sidebar w-80 bg-gray-900 text-white overflow-y-auto flex-shrink-0 border-l border-gray-700"]),ref_key:"playlistSidebar",ref:c},[a("div",V1,[a("div",H1,[a("h3",j1,"播放列表 ("+p(k.value.length)+")",1),a("button",{onClick:I,class:"md:hidden text-gray-300 hover:text-white transition-colors p-2 rounded-lg hover:bg-gray-800",title:w.$t("common.close")},[...R[1]||(R[1]=[a("i",{class:"fas fa-times"},null,-1)])],8,W1)]),a("div",B1,[(K(!0),Y(je,null,Fn(k.value,X=>(K(),Y("div",{key:X.url,"data-task-url":X.url,class:xe(["p-3 rounded-lg transition-colors relative",d.value?.url===X.url?"bg-blue-600 text-white":"bg-gray-800 hover:bg-gray-700 text-gray-200"])},[a("div",{class:"flex items-start justify-between cursor-pointer gap-2",onClick:le=>_(X)},[a("div",q1,[a("div",z1,[a("div",Y1,p(X.filename||X.showName||X.url),1),a("button",{onClick:_t(le=>V(X.url),["stop"]),class:xe(["flex transition-colors p-1 flex-shrink-0 rounded-lg hover:bg-yellow-500/20",F(X.url)?"text-yellow-400 hover:text-yellow-300":"text-gray-400 hover:text-yellow-400"]),title:F(X.url)?w.$t("completedList.removeFavorite"):w.$t("completedList.addFavorite")},[a("i",{class:xe(["text-xs",F(X.url)?"fas fa-star":"far fa-star"])},null,2)],10,X1),X.status==="done"&&!X.errmsg?(K(),Y("button",{key:0,onClick:_t(le=>D(X),["stop"]),class:"flex text-purple-400 hover:text-purple-300 hover:bg-purple-500/20 rounded-lg transition-colors p-1 flex-shrink-0",title:w.$t("completedList.rename")},[...R[2]||(R[2]=[a("i",{class:"fas fa-edit text-xs"},null,-1)])],8,Q1)):te("",!0)]),a("div",J1,[X.status?(K(),Y("span",{key:0,class:xe(["px-1.5 py-0.5 rounded text-xs",N(X.status)])},p(Z(X.status)),3)):te("",!0),a("span",null,p(X.progress||0)+"%",1),X.downloadedSize||X.size?(K(),Y("span",Z1,p(he(Xs)(X.downloadedSize||X.size||0)),1)):te("",!0)])]),d.value?.url===X.url?(K(),Y("i",e_)):te("",!0)],8,K1)],10,G1))),128))])])],2)):te("",!0)]),we(mu,{visible:g.value,task:v.value,onClose:j,onSuccess:C},null,8,["visible","task"])],32)):te("",!0)}}),vu=Hn(t_,[["__scopeId","data-v-80015324"]]),s_={class:"p-1 md:p-2"},n_={key:0,class:"text-red-600 font-medium mb-2 whitespace-pre-line"},o_={class:"text-gray-600 whitespace-pre-line"},l_=Ne({__name:"Completed",setup(e){const{t}=qe(),s=ys(),n=z(!1),o=z(!1),l=z(!1),r=z(!1),i=z(null),c=z([]),u=z(null),d=z(""),f=z(""),g=z(""),v=z(null);function S(x){i.value=x,n.value=!0}function k(x){x.length&&(c.value=x,o.value=!0)}async function P(x){const D=await du(c.value,x.deleteCache,x.deleteVideo);D.code||(ge({text:D.message||t("toast.deleteSuccess"),type:"success"}),s.deleteTasks(c.value)),c.value=[]}function _(x){const{task:D,url:j}=x;if(D.status==="error"){f.value=D.errmsg?t("confirm.playError",{error:D.errmsg}):"",d.value=t("confirm.playConfirmMessage"),u.value={task:D,url:j},l.value=!0;return}I(j,D)}function $(){u.value&&(I(u.value.url,u.value.task),u.value=null)}function I(x,D){g.value=x,v.value=D||null,r.value=!0}return(x,D)=>(K(),Mt(jn,null,{default:wt(()=>[a("div",s_,[we(pw,{onShowDetail:S,onLocalPlay:_,onDelete:k}),we(gu,{visible:n.value,task:i.value,onClose:D[0]||(D[0]=j=>n.value=!1)},null,8,["visible","task"]),we(hu,{visible:o.value,count:c.value.length,onClose:D[1]||(D[1]=j=>o.value=!1),onConfirm:P},null,8,["visible","count"]),we(bu,{visible:l.value,title:x.$t("confirm.play"),onClose:D[2]||(D[2]=j=>l.value=!1),onConfirm:$},{default:wt(()=>[f.value?(K(),Y("p",n_,p(f.value),1)):te("",!0),a("p",o_,p(d.value),1)]),_:1},8,["visible","title"]),we(vu,{visible:r.value,"initial-url":g.value,"initial-task":v.value,onClose:D[3]||(D[3]=j=>r.value=!1)},null,8,["visible","initial-url","initial-task"])])]),_:1}))}}),r_={class:"p-1 md:p-2"},a_={class:"space-y-6"},i_={class:"bg-white rounded-lg shadow p-6 mb-6"},c_={class:"text-xl font-semibold mb-6"},u_={class:"grid grid-cols-1 md:grid-cols-2 gap-6"},d_={class:"block text-sm font-bold text-gray-700 mb-1"},f_=["placeholder"],p_={class:"mt-1 text-sm text-gray-500"},m_={class:"block text-sm font-bold text-gray-700 mb-1"},g_=["placeholder"],h_={class:"mt-1 text-sm text-gray-500"},b_={class:"block text-sm font-bold text-gray-700 mb-1"},v_={class:"flex"},y_=["placeholder"],w_={class:"mt-1 text-sm text-gray-500"},__={class:"block text-sm font-bold text-gray-700 mb-1"},x_=["placeholder"],k_={class:"mt-1 text-sm text-gray-500"},S_={class:"block text-sm font-bold text-gray-700 mb-1"},$_={class:"flex items-center mt-2"},C_={class:"inline-flex items-center"},E_={class:"ml-2 text-gray-700"},L_={class:"mt-1 text-sm text-gray-500"},T_={class:"block text-sm font-bold text-gray-700 mb-1"},I_={class:"flex items-center mt-2"},P_={class:"inline-flex items-center"},D_={class:"ml-2 text-gray-700"},A_={class:"block text-sm font-bold text-gray-700 mb-1"},N_={class:"flex items-center mt-2"},R_={class:"inline-flex items-center"},F_={class:"ml-2 text-gray-700"},O_={class:"block text-sm font-bold text-gray-700 mb-1"},U_={class:"flex items-center mt-2"},M_={class:"inline-flex items-center"},V_={class:"ml-2 text-gray-700"},H_={class:"block text-sm font-bold text-gray-700 mb-1"},j_={value:"disabled"},W_={value:"system"},B_={value:"custom"},G_={class:"mt-1 text-sm text-gray-500"},K_={key:0},q_={class:"block text-sm font-bold text-gray-700 mb-1"},z_=["placeholder"],Y_={class:"mt-1 text-sm text-gray-500"},X_={key:1},Q_={class:"block text-sm font-bold text-gray-700 mb-1"},J_=["placeholder"],Z_={class:"mt-1 text-sm text-gray-500"},ex={class:"flex justify-end space-x-4"},tx={type:"submit",class:"px-6 py-2 bg-blue-500 hover:bg-blue-600 text-white rounded-lg"},sx={class:"bg-white rounded-lg shadow p-6"},nx={class:"text-xl font-semibold mb-6"},ox={class:"grid grid-cols-1 md:grid-cols-2 gap-6"},lx={class:"block text-sm font-bold text-gray-700 mb-1"},rx={class:"flex"},ax=["placeholder"],ix={class:"mt-1 text-sm text-gray-500"},cx={class:"flex justify-end space-x-4"},ux={type:"submit",class:"px-6 py-2 bg-blue-500 hover:bg-blue-600 text-white rounded-lg"},dx=Ne({__name:"Config",setup(e){const{t}=qe(),s=Vn(),n=z(s.token||""),{connect:o}=ar("");It(async()=>{await s.loadConfig(),n.value=s.token||localStorage.getItem("token")||"",s.config.proxyMode||(s.config.proxyMode="disabled")});async function l(){if(s.config.proxyMode==="custom"&&!s.config.proxyUrl?.trim()){ge({text:t("config.proxyUrlRequired"),type:"error"});return}const i=await s.updateConfig();ge({text:i.message||t("config.configUpdated"),type:i.code?"error":"success"})}async function r(){if(!(n.value!==s.token))return;let c=n.value;c&&(typeof window<"u"&&window.md5?c=window.md5(c).slice(0,8):c=btoa(c).replace(/[^a-zA-Z0-9]/g,"").slice(0,8)),s.token=c,c?(localStorage.setItem("token",c),await s.loadConfig()&&o()):localStorage.removeItem("token"),ge({text:t("config.localConfigUpdated"),type:"success"})}return(i,c)=>(K(),Mt(jn,{onNewDownload:()=>{}},{default:wt(()=>[a("div",r_,[a("div",a_,[a("div",i_,[a("h2",c_,p(i.$t("config.downloadSettings")),1),a("form",{onSubmit:_t(l,["prevent"]),class:"space-y-6"},[a("div",u_,[a("div",null,[a("label",d_,p(i.$t("config.threadNum")),1),Te(a("input",{"onUpdate:modelValue":c[0]||(c[0]=u=>he(s).config.threadNum=u),type:"number",min:"0",max:"16",class:"w-full p-2 border rounded-lg focus:ring-blue-500",placeholder:i.$t("config.threadNumPlaceholder")},null,8,f_),[[Ge,he(s).config.threadNum,void 0,{number:!0}]]),a("p",p_,p(i.$t("config.threadNumHint")),1)]),a("div",null,[a("label",m_,p(i.$t("config.maxDownloads")),1),Te(a("input",{"onUpdate:modelValue":c[1]||(c[1]=u=>he(s).config.maxDownloads=u),type:"number",min:"1",max:"10",class:"w-full p-2 border rounded-lg focus:ring-blue-500",placeholder:i.$t("config.maxDownloadsPlaceholder")},null,8,g_),[[Ge,he(s).config.maxDownloads,void 0,{number:!0}]]),a("p",h_,p(i.$t("config.maxDownloadsHint")),1)]),a("div",null,[a("label",b_,p(i.$t("config.saveDir")),1),a("div",v_,[Te(a("input",{"onUpdate:modelValue":c[2]||(c[2]=u=>he(s).config.saveDir=u),type:"text",class:"w-full p-2 border rounded-lg focus:ring-blue-500",placeholder:i.$t("config.saveDirPlaceholder")},null,8,y_),[[Ge,he(s).config.saveDir]])]),a("p",w_,p(i.$t("config.saveDirHint")),1)]),a("div",null,[a("label",__,p(i.$t("config.ffmpegPath")),1),Te(a("input",{"onUpdate:modelValue":c[3]||(c[3]=u=>he(s).config.ffmpegPath=u),type:"text",class:"w-full p-2 border rounded-lg focus:ring-blue-500",placeholder:i.$t("config.ffmpegPathPlaceholder")},null,8,x_),[[Ge,he(s).config.ffmpegPath]]),a("p",k_,p(i.$t("config.ffmpegPathHint")),1)]),a("div",null,[a("label",S_,p(i.$t("config.delCache")),1),a("div",$_,[a("label",C_,[Te(a("input",{"onUpdate:modelValue":c[4]||(c[4]=u=>he(s).config.delCache=u),type:"checkbox",class:"form-checkbox h-5 w-5 text-blue-500 rounded focus:ring-blue-500"},null,512),[[Us,he(s).config.delCache]]),a("span",E_,p(i.$t("config.delCacheLabel")),1)])]),a("p",L_,p(i.$t("config.delCacheHint")),1)]),a("div",null,[a("label",T_,p(i.$t("config.convert")),1),a("div",I_,[a("label",P_,[Te(a("input",{"onUpdate:modelValue":c[5]||(c[5]=u=>he(s).config.convert=u),type:"checkbox",class:"form-checkbox h-5 w-5 text-blue-500 rounded focus:ring-blue-500"},null,512),[[Us,he(s).config.convert]]),a("span",D_,p(i.$t("config.convertLabel")),1)])])]),a("div",null,[a("label",A_,p(i.$t("config.showPreview")),1),a("div",N_,[a("label",R_,[Te(a("input",{"onUpdate:modelValue":c[6]||(c[6]=u=>he(s).config.showPreview=u),type:"checkbox",class:"form-checkbox h-5 w-5 text-blue-500 rounded focus:ring-blue-500"},null,512),[[Us,he(s).config.showPreview]]),a("span",F_,p(i.$t("config.showPreviewLabel")),1)])])]),a("div",null,[a("label",O_,p(i.$t("config.showLocalPlay")),1),a("div",U_,[a("label",M_,[Te(a("input",{"onUpdate:modelValue":c[7]||(c[7]=u=>he(s).config.showLocalPlay=u),type:"checkbox",class:"form-checkbox h-5 w-5 text-blue-500 rounded focus:ring-blue-500"},null,512),[[Us,he(s).config.showLocalPlay]]),a("span",V_,p(i.$t("config.showLocalPlayLabel")),1)])])]),a("div",null,[a("label",H_,p(i.$t("config.proxyMode")),1),Te(a("select",{"onUpdate:modelValue":c[8]||(c[8]=u=>he(s).config.proxyMode=u),class:"w-full p-2 border rounded-lg focus:ring-blue-500"},[a("option",j_,p(i.$t("config.proxyModeDisabled")),1),a("option",W_,p(i.$t("config.proxyModeSystem")),1),a("option",B_,p(i.$t("config.proxyModeCustom")),1)],512),[[pl,he(s).config.proxyMode]]),a("p",G_,p(i.$t("config.proxyModeHint")),1)]),he(s).config.proxyMode==="custom"?(K(),Y("div",K_,[a("label",q_,p(i.$t("config.proxyUrl")),1),Te(a("input",{"onUpdate:modelValue":c[9]||(c[9]=u=>he(s).config.proxyUrl=u),type:"text",class:"w-full p-2 border rounded-lg focus:ring-blue-500",placeholder:i.$t("config.proxyUrlPlaceholder")},null,8,z_),[[Ge,he(s).config.proxyUrl]]),a("p",Y_,p(i.$t("config.proxyUrlHint")),1)])):te("",!0),he(s).config.proxyMode!=="disabled"?(K(),Y("div",X_,[a("label",Q_,p(i.$t("config.noProxy")),1),Te(a("input",{"onUpdate:modelValue":c[10]||(c[10]=u=>he(s).config.noProxy=u),type:"text",class:"w-full p-2 border rounded-lg focus:ring-blue-500",placeholder:i.$t("config.noProxyPlaceholder")},null,8,J_),[[Ge,he(s).config.noProxy]]),a("p",Z_,p(i.$t("config.noProxyHint")),1)])):te("",!0)]),a("div",ex,[a("button",tx,p(i.$t("config.save")),1)])],32)]),a("div",sx,[a("h2",nx,p(i.$t("config.localConfig")),1),a("form",{onSubmit:_t(r,["prevent"]),class:"space-y-6"},[a("div",ox,[a("div",null,[a("label",lx,p(i.$t("config.token")),1),a("div",rx,[Te(a("input",{"onUpdate:modelValue":c[11]||(c[11]=u=>n.value=u),type:"password",maxlength:"256",class:"w-full p-2 border rounded-lg focus:ring-blue-500",placeholder:i.$t("config.tokenPlaceholder")},null,8,ax),[[Ge,n.value]])]),a("p",ix,p(i.$t("config.tokenHint")),1)])]),a("div",cx,[a("button",ux,p(i.$t("config.save")),1)])],32)])])])]),_:1}))}}),fx=Hn(dx,[["__scopeId","data-v-274d3e2d"]]),px={class:"download-item p-4 hover:bg-gray-50 relative"},mx={class:"flex items-center justify-between mb-2"},gx={class:"flex-1"},hx={class:"flex items-center"},bx=["checked","title"],vx=["title"],yx={class:"absolute right-1 top-1 text-xs rounded overflow-hidden"},wx={key:0,class:"px-2 py-0.5 bg-yellow-100 text-yellow-800"},_x={key:1,class:"px-2 py-0.5 bg-green-100 text-green-800"},xx={key:2,class:"px-2 py-0.5 bg-gray-100 text-gray-800"},kx={key:3,class:"px-2 py-0.5 bg-blue-100 text-blue-800"},Sx=["title"],$x={class:"flex items-center text-sm text-gray-500 mt-1 flex-wrap gap-2"},Cx={key:2,class:"flex items-center"},Ex={class:"flex items-center"},Lx={key:3,class:"flex items-center"},Tx={key:4,class:"flex items-center"},Ix={class:"flex space-x-2"},Px=["title"],Dx=["title"],Ax=["title"],Nx={class:"relative pt-1"},Rx={class:"flex mb-2 items-center justify-between"},Fx={class:"flex items-center"},Ox={class:"text-xs font-semibold inline-block text-blue-600"},Ux={class:"text-xs font-semibold inline-block py-1 px-2 rounded text-green-600"},Mx={class:"overflow-hidden h-2 text-xs flex rounded bg-blue-200"},Vx=Ne({__name:"TaskItem",props:{task:{},isSelected:{type:Boolean}},emits:["toggle-select","show-detail","preview","local-play","pause","resume","delete"],setup(e){const{t}=qe(),s=Vn(),n=fe(()=>s.config);return(o,l)=>(K(),Y("div",px,[a("div",mx,[a("div",gx,[a("div",hx,[a("input",{type:"checkbox",checked:e.isSelected,onChange:l[0]||(l[0]=r=>o.$emit("toggle-select")),class:"form-checkbox h-5 w-5 text-blue-500 rounded focus:ring-blue-500 mr-2",title:o.$t("taskItem.selectTask",{name:e.task.showName})},null,40,bx),a("h3",{class:"font-bold text-green-600 truncate max-w-[calc(100vw-100px)]",title:e.task.url},p(e.task.showName),9,vx),a("div",yx,[e.task.status==="pending"?(K(),Y("span",wx,p(o.$t("download.status.pending")),1)):e.task.status==="resume"?(K(),Y("span",_x,p(o.$t("download.status.resume")),1)):e.task.status==="pause"?(K(),Y("span",xx,p(o.$t("download.status.pause")),1)):e.task.status==="done"?(K(),Y("span",kx,p(o.$t("download.status.done")),1)):e.task.status==="error"?(K(),Y("span",{key:4,class:"px-2 py-0.5 bg-red-100 text-red-600",title:e.task.errmsg},[de(p(e.task.errmsg||o.$t("download.status.error"))+" ",1),l[7]||(l[7]=a("i",{class:"fas fa-info-circle"},null,-1))],8,Sx)):te("",!0)])]),a("div",$x,[a("span",{class:"cursor-pointer text-blue-600 hover:text-blue-800",onClick:l[1]||(l[1]=r=>o.$emit("show-detail"))},[l[8]||(l[8]=a("i",{class:"fas fa-info-circle mr-1"},null,-1)),a("span",null,p(o.$t("taskItem.detail")),1)]),n.value?.showPreview?(K(),Y("span",{key:0,class:"text-blue-500 hover:text-blue-600 cursor-pointer",onClick:l[2]||(l[2]=r=>o.$emit("preview"))},[l[9]||(l[9]=a("i",{class:"fas fa-eye mr-1"},null,-1)),de(p(o.$t("taskItem.preview")),1)])):te("",!0),n.value?.showLocalPlay?(K(),Y("span",{key:1,class:"text-green-500 hover:text-green-600 cursor-pointer",onClick:l[3]||(l[3]=r=>o.$emit("local-play"))},[l[10]||(l[10]=a("i",{class:"fas fa-play-circle mr-1"},null,-1)),de(p(e.task.localVideo?o.$t("taskItem.play"):o.$t("taskItem.localPlay")),1)])):te("",!0),e.task.duration?(K(),Y("span",Cx,[l[11]||(l[11]=a("i",{class:"fas fa-clock mr-1"},null,-1)),a("span",null,p(o.$t("taskItem.duration"))+": "+p(he(fo)(e.task.duration*1e3)),1)])):te("",!0),a("span",Ex,[l[12]||(l[12]=a("i",{class:"fas fa-file-video mr-1"},null,-1)),a("span",null,p(o.$t("taskItem.size"))+": "+p(he(Xs)(e.task.downloadedSize||0)),1)]),e.task.tsCount?(K(),Y("span",Lx,[l[13]||(l[13]=a("i",{class:"fas fa-file-alt mr-1"},null,-1)),a("span",null,p(o.$t("taskItem.segments"))+": "+p((e.task.tsSuccess||0)+(e.task.tsFailed||0))+"/"+p(e.task.tsCount),1)])):te("",!0),e.task.status==="resume"?(K(),Y("span",Tx,[l[14]||(l[14]=a("i",{class:"fas fa-hourglass-half mr-1"},null,-1)),a("span",null,p(o.$t("taskItem.remaining"))+": "+p(he(fo)(e.task.remainingTime||0)),1)])):te("",!0)])]),a("div",Ix,[e.task.status==="resume"||e.task.status==="pending"?(K(),Y("button",{key:0,onClick:l[4]||(l[4]=r=>o.$emit("pause")),class:"p-2 text-yellow-500 hover:bg-yellow-50 rounded",title:o.$t("taskItem.pause")},[...l[15]||(l[15]=[a("i",{class:"fas fa-pause"},null,-1)])],8,Px)):te("",!0),e.task.status==="pause"||e.task.status==="error"?(K(),Y("button",{key:1,onClick:l[5]||(l[5]=r=>o.$emit("resume")),class:"p-2 text-green-500 hover:bg-green-50 rounded",title:o.$t("taskItem.resume")},[...l[16]||(l[16]=[a("i",{class:"fas fa-play"},null,-1)])],8,Dx)):te("",!0),a("button",{onClick:l[6]||(l[6]=r=>o.$emit("delete")),class:"p-2 text-red-500 hover:bg-red-50 rounded",title:o.$t("taskItem.delete")},[...l[17]||(l[17]=[a("i",{class:"fas fa-trash"},null,-1)])],8,Ax)])]),a("div",Nx,[a("div",Rx,[a("div",Fx,[a("span",Ox,p(e.task.progress||0)+"% ",1)]),a("div",null,[a("span",Ux,p(e.task.speedDesc),1)])]),a("div",Mx,[a("div",{style:Dn({width:(e.task.progress||0)+"%"}),class:"progress-bar shadow-none flex flex-col text-center whitespace-nowrap text-white justify-center bg-blue-500"},null,4)])])]))}}),Hx={class:"p-8 text-center text-gray-500"},jx=Ne({__name:"EmptyState",emits:["new-download"],setup(e){const{t}=qe();return(s,n)=>(K(),Y("div",Hx,[n[2]||(n[2]=a("i",{class:"fas fa-download text-4xl mb-4"},null,-1)),a("p",null,p(s.$t("emptyState.noTasks")),1),a("button",{onClick:n[0]||(n[0]=o=>s.$emit("new-download")),class:"mt-4 px-4 py-2 bg-blue-500 text-white rounded hover:bg-blue-600"},[n[1]||(n[1]=a("i",{class:"fas fa-plus mr-1"},null,-1)),de(p(s.$t("emptyState.addTask")),1)])]))}}),Wx={class:"bg-white rounded-lg shadow"},Bx={class:"p-4"},Gx={class:"flex justify-between items-center"},Kx={class:"text-xl font-semibold"},qx={class:"flex space-x-2"},zx={class:"mt-4 flex items-center space-x-4"},Yx={class:"flex-1"},Xx={class:"relative"},Qx=["placeholder","aria-label"],Jx={class:"flex items-center space-x-2"},Zx=["value","title","aria-label"],ek={value:""},tk={value:"resume"},sk={value:"pending"},nk={value:"pause"},ok={value:"error"},lk=["title","aria-label"],rk={class:"text-sm text-gray-600 border-b bg-gray-50"},ak={class:"flex items-center space-x-4 px-4 py-2"},ik={class:"flex items-center"},ck=["checked","indeterminate","title"],uk={class:"text-gray-700 text-sm"},dk={class:"ml-4 text-gray-400 text-xs"},fk={class:"flex items-center"},pk={class:"flex items-center"},mk={class:"flex items-center"},gk={class:"divide-y overflow-auto max-h-[calc(100vh-200px)]"},hk=Ne({__name:"TaskList",emits:["new-download","pause","resume","delete","clear-queue","show-detail","local-play"],setup(e,{emit:t}){const{t:s}=qe(),n=ys(),o=fe(()=>n.filteredTasks),l=fe(()=>n.selectedTasks),r=fe(()=>n.queueStatus),i=fe(()=>n.statusFilter),c=z(n.searchQuery);let u=null;We(c,C=>{u&&clearTimeout(u),u=window.setTimeout(()=>{n.searchQuery=C},300)});const d=fe(()=>o.value.length>0&&l.value.length===o.value.length),f=fe(()=>l.value.length>0&&l.value.length<o.value.length);function g(C){const F=C.target;n.statusFilter=F.value}function v(){n.clearFilters()}function S(){n.toggleSelectAll()}function k(C){n.toggleTaskSelection(C)}const P=t;function _(C){P("pause",[C])}function $(C){P("resume",[C])}function I(C){P("delete",[C])}function x(C){P("show-detail",C)}function D(C){window.open(`https://m3u8-player.lzw.me?from=${ir.isElectron?"app":"webui"}&url=${encodeURIComponent(C)}`)}function j(C){const F=C.localVideo||C.localM3u8;if(!F){console.error("[TaskList] localPlay: task 缺少本地文件路径",C),ge({text:s("error.noLocalFile"),type:"error"});return}const V=location.origin+`/localplay/${F}`;P("local-play",{task:C,url:V})}return(C,F)=>(K(),Y("div",Wx,[a("div",Bx,[a("div",Gx,[a("h2",Kx,p(C.$t("taskList.title")),1),a("div",qx,[a("button",{onClick:F[0]||(F[0]=V=>C.$emit("new-download")),class:"px-3 py-1 text-sm bg-blue-500 hover:bg-blue-600 text-white rounded"},[F[9]||(F[9]=a("i",{class:"fas fa-plus mr-1"},null,-1)),de(p(C.$t("taskList.new")),1)]),l.value.length>0?(K(),Y("button",{key:0,onClick:F[1]||(F[1]=V=>C.$emit("pause",l.value)),class:"px-3 py-1 text-sm bg-yellow-500 text-white rounded hover:bg-yellow-600"},[F[10]||(F[10]=a("i",{class:"fas fa-pause mr-1"},null,-1)),de(p(C.$t("taskList.pauseSelected")),1)])):te("",!0),l.value.length>0?(K(),Y("button",{key:1,onClick:F[2]||(F[2]=V=>C.$emit("resume",l.value)),class:"px-3 py-1 text-sm bg-green-500 text-white rounded hover:bg-green-600"},[F[11]||(F[11]=a("i",{class:"fas fa-play mr-1"},null,-1)),de(p(C.$t("taskList.resumeSelected")),1)])):te("",!0),l.value.length>0?(K(),Y("button",{key:2,onClick:F[3]||(F[3]=V=>C.$emit("delete",l.value)),class:"px-3 py-1 text-sm bg-red-500 text-white rounded hover:bg-red-600"},[F[12]||(F[12]=a("i",{class:"fas fa-trash mr-1"},null,-1)),de(p(C.$t("taskList.deleteSelected")),1)])):te("",!0),l.value.length===0?(K(),Y("button",{key:3,onClick:F[4]||(F[4]=V=>C.$emit("pause","all")),class:"px-3 py-1 text-sm bg-yellow-500 text-white rounded hover:bg-yellow-600"},[F[13]||(F[13]=a("i",{class:"fas fa-pause mr-1"},null,-1)),de(p(C.$t("taskList.pauseAll")),1)])):te("",!0),l.value.length===0?(K(),Y("button",{key:4,onClick:F[5]||(F[5]=V=>C.$emit("resume","all")),class:"px-3 py-1 text-sm bg-green-500 text-white rounded hover:bg-green-600"},[F[14]||(F[14]=a("i",{class:"fas fa-play mr-1"},null,-1)),de(p(C.$t("taskList.resumeAll")),1)])):te("",!0),l.value.length===0?(K(),Y("button",{key:5,onClick:F[6]||(F[6]=V=>C.$emit("clear-queue")),class:"px-3 py-1 text-sm bg-red-500 text-white rounded hover:bg-red-600"},[F[15]||(F[15]=a("i",{class:"fas fa-trash mr-1"},null,-1)),de(p(C.$t("taskList.clearQueue")),1)])):te("",!0)])]),a("div",zx,[a("div",Yx,[a("div",Xx,[Te(a("input",{type:"text","onUpdate:modelValue":F[7]||(F[7]=V=>c.value=V),class:"w-full pl-10 pr-4 py-2 border rounded-lg focus:ring-blue-500 focus:border-blue-500",placeholder:C.$t("taskList.searchPlaceholder"),"aria-label":C.$t("taskList.searchLabel")},null,8,Qx),[[Ge,c.value]]),F[16]||(F[16]=a("i",{class:"fas fa-search absolute left-3 top-3 text-gray-400"},null,-1))])]),a("div",Jx,[a("select",{value:i.value,onChange:g,class:"px-3 py-2 border rounded-lg focus:ring-blue-500 focus:border-blue-500",title:C.$t("taskList.filterByStatus"),"aria-label":C.$t("taskList.filterByStatus")},[a("option",ek,p(C.$t("taskList.all")),1),a("option",tk,p(C.$t("taskList.status.resume")),1),a("option",sk,p(C.$t("taskList.status.pending")),1),a("option",nk,p(C.$t("taskList.status.pause")),1),a("option",ok,p(C.$t("taskList.status.error")),1)],40,Zx),a("button",{onClick:v,class:"px-3 py-2 text-gray-600 hover:text-gray-800",title:C.$t("taskList.clearFilters"),"aria-label":C.$t("taskList.clearFilters")},[...F[17]||(F[17]=[a("i",{class:"fas fa-times"},null,-1)])],8,lk)])])]),a("div",rk,[a("div",ak,[a("div",ik,[a("input",{type:"checkbox",checked:d.value,indeterminate:f.value,onChange:S,class:"form-checkbox h-5 w-5 text-blue-500 rounded focus:ring-blue-500 mr-2",title:C.$t("taskList.selectAll")},null,40,ck),a("span",uk,p(C.$t("taskList.selectAll")),1),a("span",dk,p(C.$t("taskList.selected"))+" "+p(l.value.length)+" / "+p(o.value.length),1)]),a("div",fk,[F[18]||(F[18]=a("i",{class:"fas fa-tasks text-blue-600 mr-1"},null,-1)),a("span",null,p(C.$t("taskList.total"))+": "+p(o.value.length),1)]),a("div",pk,[F[19]||(F[19]=a("i",{class:"fas fa-clock text-yellow-500 mr-1"},null,-1)),a("span",null,p(C.$t("taskList.pending"))+": "+p(r.value.queueLength),1)]),a("div",mk,[F[20]||(F[20]=a("i",{class:"fas fa-download text-green-500 mr-1"},null,-1)),a("span",null,p(C.$t("taskList.downloading"))+": "+p(r.value.activeDownloads.length),1)])])]),a("div",gk,[te("",!0),(K(!0),Y(je,null,Fn(o.value,V=>(K(),Mt(Vx,{key:V.url,task:V,"is-selected":l.value.includes(V.url),onToggleSelect:Z=>k(V.url),onShowDetail:Z=>x(V),onPreview:Z=>D(V.url),onLocalPlay:Z=>j(V),onPause:Z=>_(V.url),onResume:Z=>$(V.url),onDelete:Z=>I(V.url)},null,8,["task","is-selected","onToggleSelect","onShowDetail","onPreview","onLocalPlay","onPause","onResume","onDelete"]))),128)),o.value.length===0?(K(),Mt(jx,{key:1,onNewDownload:F[8]||(F[8]=V=>C.$emit("new-download"))})):te("",!0)])]))}}),bk={class:"p-1 md:p-2"},vk={key:0,class:"text-red-600 font-medium mb-2 whitespace-pre-line"},yk={class:"text-gray-600 whitespace-pre-line"},wk=Ne({__name:"Download",setup(e){const{t}=qe(),s=ys(),n=Vn(),o=at("showGlobalNewDownload"),l=z(!1),r=z(!1),i=z(!1),c=z(!1),u=z(null),d=z([]),f=z(null),g=z(""),v=z(""),S=z(""),k=z(null);It(async()=>{const{connect:N}=ar(n.token||"");N();const w=Object.keys(s.tasks).length;if(w===0)try{console.log("[Download] store 中没有任务,开始获取任务列表...");const R=await uu();console.log("[Download] 获取到的任务数据:",R),R&&typeof R=="object"&&Object.keys(R).length>0?(s.setTasks(R),console.log("[Download] 任务数据已设置到 store,任务数量:",Object.keys(R).length)):console.log("[Download] 获取到的任务数据为空,保留现有数据")}catch(R){console.error("[Download] 获取任务列表失败:",R)}else console.log(`[Download] store 中已有 ${w} 个任务,跳过获取`);Z()});function P(){o&&o()}async function _(N){const R=await yh(N==="all"?["all"]:N,N==="all");R.code||(ge({text:R.message||t("toast.pauseSuccess"),type:"success"}),Array.isArray(N)&&N===s.selectedTasks&&s.clearSelection())}async function $(N){const R=await wh(N==="all"?["all"]:N,N==="all");R.code||(ge({text:R.message||t("toast.resumeSuccess"),type:"success"}),Array.isArray(N)&&N===s.selectedTasks&&s.clearSelection())}function I(N){N.length&&(d.value=N,r.value=!0)}async function x(N){const w=await du(d.value,N.deleteCache,N.deleteVideo);w.code||(ge({text:w.message||t("toast.deleteSuccess"),type:"success"}),s.deleteTasks(d.value),d.value===s.selectedTasks&&s.clearSelection()),d.value=[]}async function D(){const N=await kh();N.code?ge({text:N.message||t("toast.clearQueueFailed"),type:"error"}):ge({text:N.message||t("toast.clearQueueSuccess"),type:"success"})}function j(N){u.value=N,l.value=!0}function C(N){const{task:w,url:R}=N;if(w.status==="error"){v.value=w.errmsg?t("confirm.playError",{error:w.errmsg}):"",g.value=t("confirm.playConfirmMessage"),f.value={task:w,url:R},i.value=!0;return}V(R,w)}function F(){f.value&&(V(f.value.url,f.value.task),f.value=null)}function V(N,w){S.value=N,k.value=w||null,c.value=!0}function Z(){if(window.electron){const N=window.electron.ipc;N.on("message",w=>{typeof w.data=="string"?ge({text:w.data,type:"info"}):console.log(w.data)}),N.on("downloadProgress",w=>{console.log("downloadProgress",w)})}}return(N,w)=>(K(),Mt(jn,{onNewDownload:P},{default:wt(()=>[a("div",bk,[we(hk,{onNewDownload:P,onPause:_,onResume:$,onDelete:I,onClearQueue:D,onShowDetail:j,onLocalPlay:C}),we(gu,{visible:l.value,task:u.value,onClose:w[0]||(w[0]=R=>l.value=!1)},null,8,["visible","task"]),we(hu,{visible:r.value,count:d.value.length,onClose:w[1]||(w[1]=R=>r.value=!1),onConfirm:x},null,8,["visible","count"]),we(bu,{visible:i.value,title:N.$t("confirm.play"),onClose:w[2]||(w[2]=R=>i.value=!1),onConfirm:F},{default:wt(()=>[v.value?(K(),Y("p",vk,p(v.value),1)):te("",!0),a("p",yk,p(g.value),1)]),_:1},8,["visible","title"]),we(vu,{visible:c.value,"initial-url":S.value,"initial-task":k.value,onClose:w[3]||(w[3]=R=>c.value=!1)},null,8,["visible","initial-url","initial-task"])])]),_:1}))}}),_k=["m3u8","mp4","mkv","avi","mov","wmv","flv","webm","m4v","m3u","m4a","aac","flac","ape","mp3","wav","ogg","wma"];function yu(){return _k}function xk(){const e=yu();return new RegExp(`\\.(${e.join("|")})(\\?|$|#)`,"i")}function Za(e){try{const t=new URL(e);return`${t.protocol}//${t.host}${t.pathname}`}catch{return e}}function kk(e){if(!e||typeof e!="string"||!e.startsWith("http"))return!1;const t=e.toLowerCase();return!!(xk().test(t)||t.includes(".m3u8"))}function ei(e){if(!e||typeof e!="string")return"media";const t=e.toLowerCase(),s=yu();for(const n of s)if(new RegExp(`\\.${n}(\\?|$|#)`,"i").test(t))return n;return/m3u8/i.test(t)?"m3u8":"media"}function Sk(e){if(!e||typeof e!="string")return null;try{const t=new URL(e);for(const[s,n]of t.searchParams.entries()){if(!n)continue;const o=decodeURIComponent(n);if(kk(o))return o}}catch{}return null}const $k={key:0,class:"web-browser-container border border-gray-300 rounded-lg p-4 bg-white"},Ck={class:"flex items-center justify-between mb-3"},Ek={class:"text-lg font-semibold text-gray-800"},Lk={class:"flex gap-2"},Tk={class:"flex gap-2 mb-3"},Ik=["placeholder","disabled"],Pk=["disabled"],Dk={key:0,class:"mb-3 p-2 bg-gray-50 rounded border border-gray-200"},Ak={class:"flex items-center gap-2 mb-2"},Nk=["disabled","title"],Rk=["disabled","title"],Fk=["title"],Ok=["title"],Uk={key:0,class:"text-xs text-gray-500"},Mk={key:1,class:"mb-3 p-3 bg-red-50 border border-red-200 rounded text-red-700 text-sm"},Vk={key:2,class:"mt-4"},Hk={class:"flex items-center justify-between mb-2"},jk={class:"flex items-center gap-3"},Wk={class:"text-sm font-semibold text-gray-700"},Bk={class:"flex items-center gap-1 text-sm text-gray-600 cursor-pointer"},Gk=["checked"],Kk={key:0,class:"text-sm text-blue-600 font-medium"},qk={class:"flex gap-2"},zk={class:"m3u8-list-container border border-gray-200 rounded-lg overflow-hidden overflow-y-auto"},Yk={class:"flex items-start gap-3"},Xk=["checked","onChange"],Qk=["onClick"],Jk={class:"flex items-center gap-2 mb-1"},Zk=["title"],eS=["title"],tS=["title"],sS=["title"],nS={class:"flex flex-col gap-2 ml-2"},oS=["onClick"],lS=["onClick","title"],rS={key:3,class:"text-sm text-gray-500 text-center py-4"},aS=Ne({__name:"WebBrowser",props:{visible:{type:Boolean}},emits:["batch-download"],setup(e,{emit:t}){const{t:s}=qe(),n=t,o=fe(()=>ir.isElectron),l=z(""),r=z(!1),i=z(""),c=z(""),u=z(""),d=z(!1),f=z(!1),g=z(!1),v=z([]),S=z(new Set);function k(){const q=l.value.trim();if(!q){ge({text:s("webBrowser.enterUrl"),type:"error"});return}if(!/^https?:\/\//.test(q)){ge({text:s("webBrowser.enterValidUrl"),type:"error"});return}if(!o.value){ge({text:s("webBrowser.electronOnly"),type:"error"});return}r.value=!0,i.value="",c.value="",u.value=q,d.value=!0,window.electron?.ipc.send("web-browser:load",q)}function P(){o.value&&window.electron?.ipc.send("web-browser:stop"),r.value=!1}function _(){v.value=[],S.value.clear()}function $(q){if(q<0||q>=v.value.length)return;v.value.splice(q,1);const ce=new Set;S.value.forEach(ye=>{ye<q?ce.add(ye):ye>q&&ce.add(ye-1)}),S.value=ce}function I(q){n("batch-download",[q])}function x(q){return S.value.has(q)}function D(q){S.value.has(q)?S.value.delete(q):S.value.add(q)}function j(q){q.target.checked?S.value=new Set(v.value.map((ye,$e)=>$e)):S.value.clear()}const C=fe(()=>v.value.length>0&&S.value.size===v.value.length),F=fe(()=>S.value.size);function V(){if(S.value.size===0){ge({text:s("webBrowser.selectAtLeastOne"),type:"error"});return}const q=Array.from(S.value).map(ce=>v.value[ce]);n("batch-download",q),S.value.clear()}function Z(q){q.url=Sk(q.url)||q.url;const ce=Za(q.url),ye=v.value.find(J=>Za(J.url)===ce),$e={url:q.url,title:q.title||c.value||"",pageUrl:q.pageUrl||u.value,headers:q.headers};if(ye){Object.assign(ye,$e);return}let H=!1;for(let J=0;J<v.value.length;J++){const Q=v.value[J];if(Q.url.toLowerCase().endsWith(".m3u8")){const ne=Q.url.lastIndexOf("/");if(ne!==-1){const M=Q.url.substring(0,ne+1);if(q.url.includes(M)){Object.assign(Q,$e),H=!0;break}}}}H||v.value.push($e),ge({text:s("webBrowser.newVideoFound",{title:q.title||s("webBrowser.unnamedVideo")}),type:"success"})}function N(q){c.value=q,v.value.forEach(ce=>{ce.title||(ce.title=q)})}function w(q){u.value=q}function R(q){u.value=q.url}function X(){d.value=!1,u.value="",c.value="",f.value=!1,g.value=!1}function le(q){f.value=q.canGoBack,g.value=q.canGoForward}function ae(){o.value&&(window.electron?.ipc.send("web-browser:show"),d.value=!0)}function re(){o.value&&(window.electron?.ipc.send("web-browser:hide"),d.value=!1)}function pe(){o.value&&window.electron?.ipc.send("web-browser:go-back")}function Re(){o.value&&window.electron?.ipc.send("web-browser:go-forward")}function Ze(){o.value&&window.electron?.ipc.send("web-browser:reload")}function ze(q){r.value=q.loading,q.loading||(v.value.length===0?ge({text:s("webBrowser.pageLoadCompleteNoVideos"),type:"info"}):ge({text:s("webBrowser.pageLoadComplete",{count:v.value.length}),type:"success"}))}function Ue(q){i.value=`${s("error.requestFailed")}: ${q.description||`${s("error.unknownError")} ${q.code}`}`,r.value=!1,ge({text:i.value,type:"error"})}return It(()=>{if(o.value&&window.electron){const q=window.electron.ipc;q.on("web-browser:m3u8-found",Z),q.on("web-browser:page-title",N),q.on("web-browser:loading",ze),q.on("web-browser:error",Ue),q.on("web-browser:url-changed",w),q.on("web-browser:navigation",R),q.on("web-browser:closed",X),q.on("web-browser:navigation-state",le)}}),Ps(()=>{if(o.value&&window.electron){const q=window.electron.ipc;q.removeAllListeners("web-browser:m3u8-found"),q.removeAllListeners("web-browser:page-title"),q.removeAllListeners("web-browser:loading"),q.removeAllListeners("web-browser:error"),q.removeAllListeners("web-browser:url-changed"),q.removeAllListeners("web-browser:navigation"),q.removeAllListeners("web-browser:closed"),q.removeAllListeners("web-browser:navigation-state")}}),(q,ce)=>o.value?(K(),Y("div",$k,[a("div",Ck,[a("h3",Ek,[ce[2]||(ce[2]=a("i",{class:"fas fa-globe mr-2"},null,-1)),de(p(q.$t("webBrowser.title")),1)]),a("div",Lk,[d.value?(K(),Y("button",{key:0,onClick:re,class:"px-3 py-1 bg-gray-500 text-white rounded hover:bg-gray-600 text-sm"},[ce[3]||(ce[3]=a("i",{class:"fas fa-eye-slash mr-1"},null,-1)),de(p(q.$t("webBrowser.hideBrowser")),1)])):u.value?(K(),Y("button",{key:1,onClick:ae,class:"px-3 py-1 bg-green-500 text-white rounded hover:bg-green-600 text-sm"},[ce[4]||(ce[4]=a("i",{class:"fas fa-eye mr-1"},null,-1)),de(p(q.$t("webBrowser.showBrowser")),1)])):te("",!0),r.value?(K(),Y("button",{key:2,onClick:P,class:"px-3 py-1 bg-red-500 text-white rounded hover:bg-red-600 text-sm"},[ce[5]||(ce[5]=a("i",{class:"fas fa-stop mr-1"},null,-1)),de(p(q.$t("webBrowser.stop")),1)])):te("",!0)])]),a("div",Tk,[Te(a("input",{"onUpdate:modelValue":ce[0]||(ce[0]=ye=>l.value=ye),type:"text",placeholder:q.$t("webBrowser.urlPlaceholder"),class:"flex-1 border border-gray-300 rounded px-3 py-2 focus:outline-none focus:ring-2 focus:ring-blue-400",disabled:r.value,onKeyup:Gs(k,["enter"])},null,40,Ik),[[Ge,l.value]]),a("button",{onClick:k,disabled:r.value||!l.value.trim(),class:"px-4 py-2 bg-blue-600 text-white rounded hover:bg-blue-700 focus:outline-none disabled:opacity-50 disabled:cursor-not-allowed"},p(r.value?q.$t("webBrowser.loading"):q.$t("webBrowser.load")),9,Pk)]),u.value?(K(),Y("div",Dk,[a("div",Ak,[a("button",{onClick:pe,disabled:!f.value,class:"px-2 py-1 bg-white border border-gray-300 rounded hover:bg-gray-50 disabled:opacity-50 disabled:cursor-not-allowed",title:q.$t("common.back")},[...ce[6]||(ce[6]=[a("i",{class:"fas fa-arrow-left"},null,-1)])],8,Nk),a("button",{onClick:Re,disabled:!g.value,class:"px-2 py-1 bg-white border border-gray-300 rounded hover:bg-gray-50 disabled:opacity-50 disabled:cursor-not-allowed",title:q.$t("common.forward")},[...ce[7]||(ce[7]=[a("i",{class:"fas fa-arrow-right"},null,-1)])],8,Rk),a("button",{onClick:Ze,class:"px-2 py-1 bg-white border border-gray-300 rounded hover:bg-gray-50",title:q.$t("common.refresh")},[...ce[8]||(ce[8]=[a("i",{class:"fas fa-sync-alt"},null,-1)])],8,Fk),a("div",{class:"flex-1 text-xs text-gray-600 truncate ml-2",title:u.value},[ce[9]||(ce[9]=a("i",{class:"fas fa-link mr-1"},null,-1)),de(p(u.value),1)],8,Ok)]),c.value?(K(),Y("div",Uk,[ce[10]||(ce[10]=a("i",{class:"fas fa-file-alt mr-1"},null,-1)),de(p(c.value),1)])):te("",!0)])):te("",!0),i.value?(K(),Y("div",Mk,[ce[11]||(ce[11]=a("i",{class:"fas fa-exclamation-circle mr-2"},null,-1)),de(p(i.value),1)])):te("",!0),v.value.length>0?(K(),Y("div",Vk,[a("div",Hk,[a("div",jk,[a("h4",Wk,p(q.$t("webBrowser.foundVideos",{count:v.value.length})),1),a("label",Bk,[a("input",{type:"checkbox",checked:C.value,onChange:j,class:"rounded border-gray-300 text-blue-600 focus:ring-blue-500"},null,40,Gk),a("span",null,p(q.$t("download.selectAll")),1)]),F.value>0?(K(),Y("span",Kk,p(q.$t("download.selected"))+" "+p(F.value),1)):te("",!0)]),a("div",qk,[F.value>0?(K(),Y("button",{key:0,onClick:V,class:"px-3 py-1 bg-green-500 text-white rounded hover:bg-green-600 text-sm"},p(q.$t("download.batchDownload"))+" ("+p(F.value)+") ",1)):te("",!0),a("button",{onClick:_,class:"text-sm text-gray-500 hover:text-gray-700"},p(q.$t("webBrowser.clearList")),1)])]),a("div",zk,[(K(!0),Y(je,null,Fn(v.value,(ye,$e)=>(K(),Y("div",{key:$e,class:xe(["p-3 border-b border-gray-100 hover:bg-gray-50 transition-colors",{"bg-blue-50":x($e)}])},[a("div",Yk,[a("input",{type:"checkbox",checked:x($e),onChange:H=>D($e),onClick:ce[1]||(ce[1]=_t(()=>{},["stop"])),class:"mt-1 rounded border-gray-300 text-blue-600 focus:ring-blue-500"},null,40,Xk),a("div",{class:"flex-1 min-w-0 cursor-pointer",onClick:H=>I(ye)},[a("div",Jk,[a("div",{class:"text-sm font-medium text-gray-800 truncate",title:ye.title},p(ye.title||q.$t("webBrowser.unnamedVideo")),9,Zk),a("span",{class:"text-xs px-2 py-0.5 bg-blue-100 text-blue-700 rounded",title:he(ei)(ye.url)},p(he(ei)(ye.url).toUpperCase()),9,eS)]),a("div",{class:"text-xs text-gray-500 truncate",title:ye.url},p(ye.url),9,tS),ye.pageUrl&&ye.pageUrl!==u.value?(K(),Y("div",{key:0,class:"text-xs text-gray-400 mt-1 truncate",title:ye.pageUrl},p(q.$t("webBrowser.source"))+": "+p(ye.pageUrl),9,sS)):te("",!0)],8,Qk),a("div",nS,[a("button",{onClick:_t(H=>I(ye),["stop"]),class:"px-3 py-1 bg-blue-500 text-white rounded hover:bg-blue-600 text-sm whitespace-nowrap"},p(q.$t("webBrowser.download")),9,oS),a("button",{onClick:_t(H=>$($e),["stop"]),class:"px-3 py-1 bg-red-500 text-white rounded hover:bg-red-600 text-sm whitespace-nowrap",title:q.$t("common.delete")},[...ce[12]||(ce[12]=[a("i",{class:"fas fa-trash"},null,-1)])],8,lS)])])],2))),128))])])):!r.value&&l.value?(K(),Y("div",rS,p(q.$t("webBrowser.noVideos")),1)):te("",!0)])):te("",!0)}}),iS=Hn(aS,[["__scopeId","data-v-1208b786"]]),cS={class:"p-1 md:p-2"},uS=Ne({__name:"WebBrowser",setup(e){const t=at("showGlobalNewDownload");function s(n){let o="",l=!0;const r=n.map(i=>{if(l){const c=new URL(i.url).host;o?o!==c&&(l=!1):o=c}return i.title?`${i.url} | ${i.title}`:i.url}).join(`
35
+ `);t&&t({url:r,headers:l&&n.find(i=>i.headers)?.headers||""})}return(n,o)=>(K(),Mt(jn,null,{default:wt(()=>[a("div",cS,[we(iS,{onBatchDownload:s})])]),_:1}))}}),dS=cm({history:Hp(),routes:[{path:"/",redirect:"/page/download"},{path:"/page/download",name:"download",component:wk},{path:"/page/web-browser",name:"web-browser",component:uS},{path:"/page/completed",name:"completed",component:l_},{path:"/page/config",name:"config",component:fx},{path:"/page/about",name:"about",component:M0}],scrollBehavior(e,t,s){return s?.top?s:{top:0,left:0,behavior:"smooth"}}});function fS(e=""){const t=window;if(Array.isArray(t._hmt)&&t._hmt.length>0)return;t._hmt=[];const s=document.createElement("script");s.src=`https://hm.baidu.com/hm.js?${e||"0b21eda331ac9677a4c546dea88616d0"}`;const n=document.getElementsByTagName("script")[0];n.parentNode?.insertBefore(s,n)}const Ro=Yf(av),pS=Jf();Ro.use(pS);Ro.use(dS);Ro.use(au);Ro.mount("#app");fS();