dudu-converter-cli 1.0.0 → 1.0.1

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.
@@ -38,8 +38,13 @@ if (-not (Test-Node)) {
38
38
  if ($LASTEXITCODE -ne 0) { Die 'Node.js 安装失败,可到 https://nodejs.org 手动安装后重跑本脚本' }
39
39
  }
40
40
  else {
41
- Warn '未检测到 winget / choco / scoop。请到 https://nodejs.org 下载 Node.js 18+ 安装包,完成后重跑本脚本'
42
- exit 1
41
+ Say '未检测到 winget / choco / scoop,直接下载 Node.js 官方安装包…'
42
+ $nodeArch = if ($env:PROCESSOR_ARCHITECTURE -eq 'ARM64') { 'arm64' } else { 'x64' }
43
+ $msiUrl = "https://nodejs.org/dist/v22.20.0/node-v22.20.0-$nodeArch.msi"
44
+ $msiFile = Join-Path $env:TEMP 'dudu-node-installer.msi'
45
+ Invoke-WebRequest -Uri $msiUrl -OutFile $msiFile -UseBasicParsing
46
+ Say '正在安装 Node.js(可能弹出系统授权窗口,请点「是」)…'
47
+ Start-Process msiexec.exe -ArgumentList '/i', $msiFile, '/qn' -Verb RunAs -Wait
43
48
  }
44
49
  # 刚安装的 Node 不会出现在当前会话的 PATH 中,需从注册表重新加载
45
50
  Refresh-Path
@@ -22,19 +22,44 @@ if command -v node >/dev/null 2>&1; then
22
22
  node_major="$(node -p 'Number(process.versions.node.split(".")[0])')"
23
23
  fi
24
24
  if [ "$node_major" -lt 18 ]; then
25
- say "未检测到 Node.js 18+,准备通过 Homebrew 安装…"
26
- if command -v brew >/dev/null 2>&1; then
27
- brew install node || die "Node.js 安装失败,可到 https://nodejs.org 手动安装后重跑本脚本"
28
- else
29
- warn "未检测到 Homebrew,请先安装 Homebrew(在终端执行):"
30
- printf ' /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"\n'
31
- warn "或到 https://nodejs.org 下载 Node.js 18+ 安装包,完成后重跑本脚本"
32
- exit 1
33
- fi
25
+ # 裸机也全自动:直接下载 Node.js 官方 pkg 安装(不依赖 Homebrew)
26
+ NODE_VERSION="22.20.0"
27
+ NODE_PKG_URL="https://nodejs.org/dist/v${NODE_VERSION}/node-v${NODE_VERSION}.pkg"
28
+ PKG_FILE="${TMPDIR:-/tmp}/dudu-node-installer.pkg"
29
+ say "未检测到 Node.js 18+,正在下载官方安装包(约 70MB)…"
30
+ curl -fsSL "$NODE_PKG_URL" -o "$PKG_FILE" || die "Node.js 安装包下载失败,请检查网络后重试,或到 https://nodejs.org 下载安装"
31
+ say "正在安装 Node.js(可能需要输入一次开机密码)…"
32
+ sudo installer -pkg "$PKG_FILE" -target / || die "Node.js 安装失败,请到 https://nodejs.org 手动安装后重跑本脚本"
33
+ rm -f "$PKG_FILE"
34
+ export PATH="/usr/local/bin:$PATH"
35
+ hash -r
36
+ say "Node.js 安装完成"
37
+ fi
38
+
39
+ # npm 缓存目录若存在 root 属主文件(历史 sudo npm 遗留),普通安装会报 EACCES——检测并自动修复
40
+ if [ -d "$HOME/.npm" ] && [ -n "$(find "$HOME/.npm" -user root -print -quit 2>/dev/null)" ]; then
41
+ warn "检测到 ~/.npm 存在 root 属主文件(历史 sudo npm 遗留),正在修复权限(需要输入一次密码)…"
42
+ sudo chown -R "$(id -u):$(id -g)" "$HOME/.npm" || die "缓存权限修复失败,请手动执行:sudo chown -R \$(id -u):\$(id -g) ~/.npm"
43
+ say "权限修复完成"
34
44
  fi
35
45
 
36
46
  say "正在安装嘟嘟转换器(${PACKAGE_SPEC})…"
37
- npm install -g "$PACKAGE_SPEC" || die "安装失败,请检查网络后重试"
47
+ if output=$(npm install -g "$PACKAGE_SPEC" 2>&1); then
48
+ :
49
+ else
50
+ printf '%s\n' "$output" | tail -3
51
+ if printf '%s\n' "$output" | grep -qi "_cacache"; then
52
+ warn "检测到 npm 缓存权限问题,尝试修复后重试(需要输入一次密码)…"
53
+ sudo chown -R "$(id -u):$(id -g)" "$HOME/.npm" || die "缓存权限修复失败,请手动执行:sudo chown -R \$(id -u):\$(id -g) ~/.npm"
54
+ npm install -g "$PACKAGE_SPEC" || die "安装仍失败,请按上方提示修复后重试"
55
+ elif printf '%s\n' "$output" | grep -qi "EACCES"; then
56
+ # Node 装在系统目录(/usr/local)时,全局安装需要管理员权限——改用 sudo 安装
57
+ warn "全局安装目录需要管理员权限,改用 sudo 安装(需要输入一次密码)…"
58
+ sudo "$(command -v npm)" install -g "$PACKAGE_SPEC" || die "安装失败,请手动执行:sudo npm install -g ${PACKAGE_SPEC}"
59
+ else
60
+ die "安装失败,请检查网络后重试"
61
+ fi
62
+ fi
38
63
 
39
64
  command -v converter >/dev/null 2>&1 || die "安装完成但找不到 converter 命令,请重新打开终端后重新执行本脚本"
40
65
  say "安装成功:converter $(converter --version)"
@@ -1,32 +0,0 @@
1
- var Sl=Object.defineProperty;var xl=(e,t,s)=>t in e?Sl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s;var Wt=(e,t,s)=>xl(e,typeof t!="symbol"?t+"":t,s);(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 i of o)if(i.type==="childList")for(const r of i.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&n(r)}).observe(document,{childList:!0,subtree:!0});function s(o){const i={};return o.integrity&&(i.integrity=o.integrity),o.referrerPolicy&&(i.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?i.credentials="include":o.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function n(o){if(o.ep)return;o.ep=!0;const i=s(o);fetch(o.href,i)}})();/**
2
- * @vue/shared v3.5.44
3
- * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
- * @license MIT
5
- **/function co(e){const t=Object.create(null);for(const s of e.split(","))t[s]=1;return s=>s in t}const me={},Xt=[],_t=()=>{},Vi=()=>!1,ln=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),an=e=>e.startsWith("onUpdate:"),Ie=Object.assign,uo=(e,t)=>{const s=e.indexOf(t);s>-1&&e.splice(s,1)},Cl=Object.prototype.hasOwnProperty,ae=(e,t)=>Cl.call(e,t),z=Array.isArray,Ht=e=>Ds(e)==="[object Map]",$t=e=>Ds(e)==="[object Set]",No=e=>Ds(e)==="[object Date]",Z=e=>typeof e=="function",be=e=>typeof e=="string",Je=e=>typeof e=="symbol",ue=e=>e!==null&&typeof e=="object",Li=e=>(ue(e)||Z(e))&&Z(e.then)&&Z(e.catch),Hi=Object.prototype.toString,Ds=e=>Hi.call(e),kl=e=>Ds(e).slice(8,-1),ji=e=>Ds(e)==="[object Object]",cn=e=>be(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,bs=co(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),un=e=>{const t=Object.create(null);return s=>t[s]||(t[s]=e(s))},El=/-\w/g,et=un(e=>e.replace(El,t=>t.slice(1).toUpperCase())),Al=/\B([A-Z])/g,zt=un(e=>e.replace(Al,"-$1").toLowerCase()),Ui=un(e=>e.charAt(0).toUpperCase()+e.slice(1)),En=un(e=>e?`on${Ui(e)}`:""),vt=(e,t)=>!Object.is(e,t),Gs=(e,...t)=>{for(let s=0;s<e.length;s++)e[s](...t)},Bi=(e,t,s,n=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:s})},fn=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let Do;const dn=()=>Do||(Do=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function hn(e){if(z(e)){const t={};for(let s=0;s<e.length;s++){const n=e[s],o=be(n)?Pl(n):hn(n);if(o)for(const i in o)t[i]=o[i]}return t}else if(be(e)||ue(e))return e}const Rl=/;(?![^(]*\))/g,Tl=/:([^]+)/,Ol=/"(?:[^"\\]|\\[^])*"|'(?:[^'\\]|\\[^])*'|\\[^]|\/\*[^]*?\*\//g;function Pl(e){const t={};return e.replace(Ol,s=>s.startsWith("/*")?"":s).split(Rl).forEach(s=>{if(s){const n=s.split(Tl);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function _e(e){let t="";if(be(e))t=e;else if(z(e))for(let s=0;s<e.length;s++){const n=_e(e[s]);n&&(t+=n+" ")}else if(ue(e))for(const s in e)e[s]&&(t+=s+" ");return t.trim()}const Il="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,playsinline,readonly",$l=co(Il);function Ki(e){return!!e||e===""}function Ml(e,t,s){if(e.length!==t.length)return!1;let n=!0;for(let o=0;n&&o<e.length;o++)n=nt(e[o],t[o],s);return n}function Fo(e,t,s){if(e.size!==t.size)return!1;const n=Array.from(t),o=new Uint8Array(n.length);for(const i of e){let r=-1;for(let l=0;l<n.length;l++)if(!o[l]&&nt(i,n[l],s)){r=l;break}if(r<0)return!1;o[r]=1}return!0}function Nl(e,t,s){let n=Ht(e),o=Ht(t);if(n||o||(n=$t(e),o=$t(t),n||o))return n&&o?Fo(e,t,s):!1;const i=Object.keys(e).length,r=Object.keys(t).length;if(i!==r)return!1;for(const l in e){const a=e.hasOwnProperty(l),d=t.hasOwnProperty(l);if(a&&!d||!a&&d||!nt(e[l],t[l],s))return!1}return String(e)===String(t)}function Vo(e,t,s,n){s||(s=[new Map,new Map]);const[o,i]=s;if(o.has(e)||i.has(t))return o.get(e)===t&&i.get(t)===e;o.set(e,t),i.set(t,e);const r=n(e,t,s);return o.delete(e),i.delete(t),r}function nt(e,t,s){if(e===t)return!0;let n=No(e),o=No(t);return n||o?n&&o?e.getTime()===t.getTime():!1:(n=Je(e),o=Je(t),n||o?e===t:(n=z(e),o=z(t),n||o?n&&o?Vo(e,t,s,Ml):!1:(n=ue(e),o=ue(t),n||o?!n||!o?!1:Vo(e,t,s,Nl):String(e)===String(t))))}function fo(e,t){return e.findIndex(s=>nt(s,t))}const zi=e=>!!(e&&e.__v_isRef===!0),S=e=>be(e)?e:e==null?"":z(e)||ue(e)&&(e.toString===Hi||!Z(e.toString))?zi(e)?S(e.value):JSON.stringify(e,Wi,2):String(e),Wi=(e,t)=>zi(t)?Wi(e,t.value):Ht(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((s,[n,o],i)=>(s[An(n,i)+" =>"]=o,s),{})}:$t(t)?{[`Set(${t.size})`]:[...t.values()].map(s=>An(s))}:Je(t)?An(t):ue(t)&&!z(t)&&!ji(t)?String(t):t,An=(e,t="")=>{var s;return Je(e)?`Symbol(${(s=e.description)!=null?s:t})`:e};/**
6
- * @vue/reactivity v3.5.44
7
- * (c) 2018-present Yuxi (Evan) You and Vue contributors
8
- * @license MIT
9
- **/let Ae;class Gi{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&Ae&&(Ae.active?(this.parent=Ae,this.index=(Ae.scopes||(Ae.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,s;if(this.scopes){const n=this.scopes.slice();for(t=0,s=n.length;t<s;t++)n[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){const o=this.scopes.slice();for(t=0,s=o.length;t<s;t++)o[t].resume()}const n=this.effects.slice();for(t=0,s=n.length;t<s;t++)n[t].resume()}}run(t){if(this._active){const s=Ae;try{return Ae=this,t()}finally{Ae=s}}}on(){++this._on===1&&(this.prevScope=Ae,Ae=this)}off(){if(this._on>0&&--this._on===0){if(Ae===this)Ae=this.prevScope;else{let t=Ae;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let 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){const o=this.scopes.slice();for(s=0,n=o.length;s<n;s++)o[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 qi(e){return new Gi(e)}function Ji(){return Ae}function Dl(e,t=!1){Ae&&Ae.cleanups.push(e)}let ve;const Rn=new WeakSet;class Yi{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,Ae&&(Ae.active?Ae.effects.push(this):this.flags&=-2)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,Rn.has(this)&&(Rn.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||Xi(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,Lo(this),Zi(this);const t=ve,s=tt;ve=this,tt=!0;try{return this.fn()}finally{er(this),ve=t,tt=s,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)go(t);this.deps=this.depsTail=void 0,Lo(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?Rn.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){Kn(this)&&this.run()}get dirty(){return Kn(this)}}let Qi=0,ws,Ss;function Xi(e,t=!1){if(e.flags|=8,t){e.next=Ss,Ss=e;return}e.next=ws,ws=e}function ho(){Qi++}function po(){if(--Qi>0)return;if(Ss){let t=Ss;for(Ss=void 0;t;){const s=t.next;t.next=void 0,t.flags&=-9,t=s}}let e;for(;ws;){let t=ws;for(ws=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 Zi(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function er(e){let t,s=e.depsTail,n=s;for(;n;){const o=n.prevDep;n.version===-1?(n===s&&(s=o),go(n),Fl(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=o}e.deps=t,e.depsTail=s}function Kn(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(tr(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function tr(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Rs)||(e.globalVersion=Rs,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Kn(e))))return;e.flags|=2;const t=e.dep,s=ve,n=tt;ve=e,tt=!0;try{Zi(e);const o=e.fn(e._value);(t.version===0||vt(o,e._value))&&(e.flags|=128,e._value=o,t.version++)}catch(o){throw t.version++,o}finally{ve=s,tt=n,er(e),e.flags&=-3}}function go(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 i=s.computed.deps;i;i=i.nextDep)go(i,!0)}!t&&!--s.sc&&s.map&&s.map.delete(s.key)}function Fl(e){const{prevDep:t,nextDep:s}=e;t&&(t.nextDep=s,e.prevDep=void 0),s&&(s.prevDep=t,e.nextDep=void 0)}let tt=!0;const sr=[];function St(){sr.push(tt),tt=!1}function xt(){const e=sr.pop();tt=e===void 0?!0:e}function Lo(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const s=ve;ve=void 0;try{t()}finally{ve=s}}}let Rs=0;class Vl{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 mo{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(!ve||!tt||ve===this.computed)return;let s=this.activeLink;if(s===void 0||s.sub!==ve)s=this.activeLink=new Vl(ve,this),ve.deps?(s.prevDep=ve.depsTail,ve.depsTail.nextDep=s,ve.depsTail=s):ve.deps=ve.depsTail=s,nr(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=ve.depsTail,s.nextDep=void 0,ve.depsTail.nextDep=s,ve.depsTail=s,ve.deps===s&&(ve.deps=n)}return s}trigger(t){this.version++,Rs++,this.notify(t)}notify(t){ho();try{for(let s=this.subs;s;s=s.prevSub)s.sub.notify()&&s.sub.dep.notify()}finally{po()}}}function nr(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)nr(n)}const s=e.dep.subs;s!==e&&(e.prevSub=s,s&&(s.nextSub=e)),e.dep.subs=e}}const Ys=new WeakMap,es=Symbol(""),zn=Symbol(""),Ts=Symbol("");function Ne(e,t,s){if(tt&&ve){let n=Ys.get(e);n||Ys.set(e,n=new Map);let o=n.get(s);o||(n.set(s,o=new mo),o.map=n,o.key=s),o.track()}}function Ot(e,t,s,n,o,i){const r=Ys.get(e);if(!r){Rs++;return}const l=a=>{a&&a.trigger()};if(ho(),t==="clear")r.forEach(l);else{const a=z(e),d=a&&cn(s);if(a&&s==="length"){const c=Number(n);r.forEach((g,b)=>{(b==="length"||b===Ts||!Je(b)&&b>=c)&&l(g)})}else switch((s!==void 0||r.has(void 0))&&l(r.get(s)),d&&l(r.get(Ts)),t){case"add":a?d&&l(r.get("length")):(l(r.get(es)),Ht(e)&&l(r.get(zn)));break;case"delete":a||(l(r.get(es)),Ht(e)&&l(r.get(zn)));break;case"set":Ht(e)&&l(r.get(es));break}}po()}function Ll(e,t){const s=Ys.get(e);return s&&s.get(t)}function os(e){const t=le(e);return t===e||(Ne(t,"iterate",Ts),We(e))?t:Ct(e)?bt(e)?t.map(s=>Bt(Ye(s))):t.map(Bt):t.map(Ye)}function pn(e){return Ne(e=le(e),"iterate",Ts),e}function pt(e,t){return Ct(e)?Bt(bt(e)?Ye(t):t):Ye(t)}const Hl={__proto__:null,[Symbol.iterator](){return Tn(this,Symbol.iterator,e=>pt(this,e))},concat(...e){return os(this).concat(...e.map(t=>z(t)?os(t):t))},entries(){return Tn(this,"entries",e=>(e[1]=pt(this,e[1]),e))},every(e,t){return Et(this,"every",e,t,void 0,arguments)},filter(e,t){return Et(this,"filter",e,t,s=>s.map(n=>pt(this,n)),arguments)},find(e,t){return Et(this,"find",e,t,s=>pt(this,s),arguments)},findIndex(e,t){return Et(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Et(this,"findLast",e,t,s=>pt(this,s),arguments)},findLastIndex(e,t){return Et(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Et(this,"forEach",e,t,void 0,arguments)},includes(...e){return On(this,"includes",e)},indexOf(...e){return On(this,"indexOf",e)},join(e){return os(this).join(e)},lastIndexOf(...e){return On(this,"lastIndexOf",e)},map(e,t){return Et(this,"map",e,t,void 0,arguments)},pop(){return gs(this,"pop")},push(...e){return gs(this,"push",e)},reduce(e,...t){return jo(this,"reduce",e,t)},reduceRight(e,...t){return jo(this,"reduceRight",e,t)},shift(){return gs(this,"shift")},some(e,t){return Et(this,"some",e,t,void 0,arguments)},splice(...e){return gs(this,"splice",e)},toReversed(){return os(this).toReversed()},toSorted(e){return os(this).toSorted(e)},toSpliced(...e){return os(this).toSpliced(...e)},unshift(...e){return gs(this,"unshift",e)},values(){return Tn(this,"values",e=>pt(this,e))}};function Tn(e,t,s){const n=pn(e),o=n[t],i=o.call(n);if(n!==e&&!We(e)){if(i[Symbol.toStringTag]==="Array Iterator"){const r=Object.create(Object.getPrototypeOf(i));return r.next=()=>Ho(i.next(),s),o!==or[t]&&Object.defineProperties(r,{return:{get(){const l=i.return;return typeof l=="function"?l.bind(i):l}},throw:{get(){const l=i.throw;return typeof l=="function"?l.bind(i):l}}}),r}i._next=i.next,i.next=()=>Ho(i._next(),s)}return i}function Ho(e,t){return e.done||(e.value=t(e.value)),e}const or=Array.prototype;function Et(e,t,s,n,o,i){const r=pn(e),l=r!==e&&!We(e),a=r[t];if(a!==or[t]){const g=a.apply(e,i);return l?Ye(g):g}let d=s;r!==e&&(l?d=function(g,b){return s.call(this,pt(e,g),b,e)}:s.length>2&&(d=function(g,b){return s.call(this,g,b,e)}));const c=a.call(r,d,n);return l&&o?o(c):c}function jo(e,t,s,n){const o=pn(e),i=o!==e&&!We(e);let r=s,l=!1;o!==e&&(i?(l=n.length===0,r=function(d,c,g){return l&&(l=!1,d=pt(e,d)),s.call(this,d,pt(e,c),g,e)}):s.length>3&&(r=function(d,c,g){return s.call(this,d,c,g,e)}));const a=o[t](r,...n);return l?pt(e,a):a}function On(e,t,s){const n=le(e);Ne(n,"iterate",Ts);const o=n[t](...s);return(o===-1||o===!1)&&gn(s[0])?(s[0]=le(s[0]),n[t](...s)):o}function gs(e,t,s=[]){St(),ho();const n=le(e)[t].apply(e,s);return po(),xt(),n}const jl=co("__proto__,__v_isRef,__isVue"),ir=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Je));function Ul(e){Je(e)||(e=String(e));const t=le(this);return Ne(t,"has",e),t.hasOwnProperty(e)}class rr{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,i=this._isShallow;if(s==="__v_isReactive")return!o;if(s==="__v_isReadonly")return o;if(s==="__v_isShallow")return i;if(s==="__v_raw")return n===(o?i?Xl:ur:i?cr:ar).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const r=z(t);if(!o){let a;if(r&&(a=Hl[s]))return a;if(s==="hasOwnProperty")return Ul}const l=Reflect.get(t,s,we(t)?t:n);if((Je(s)?ir.has(s):jl(s))||(o||Ne(t,"get",s),i))return l;if(we(l)){const a=r&&cn(s)?l:l.value;return o&&ue(a)?Gn(a):a}return ue(l)?o?Gn(l):ns(l):l}}class lr extends rr{constructor(t=!1){super(!1,t)}set(t,s,n,o){let i=t[s];const r=z(t)&&cn(s);if(!this._isShallow){const d=Ct(i);if(!We(n)&&!Ct(n)&&(i=le(i),n=le(n)),!r&&we(i)&&!we(n))return d||(i.value=n),!0}const l=r?Number(s)<t.length:ae(t,s),a=Reflect.set(t,s,n,we(t)?t:o);return t===le(o)&&a&&(l?vt(n,i)&&Ot(t,"set",s,n):Ot(t,"add",s,n)),a}deleteProperty(t,s){const n=ae(t,s);t[s];const o=Reflect.deleteProperty(t,s);return o&&n&&Ot(t,"delete",s,void 0),o}has(t,s){const n=Reflect.has(t,s);return(!Je(s)||!ir.has(s))&&Ne(t,"has",s),n}ownKeys(t){return Ne(t,"iterate",z(t)?"length":es),Reflect.ownKeys(t)}}class Bl extends rr{constructor(t=!1){super(!0,t)}set(t,s){return!0}deleteProperty(t,s){return!0}}const Kl=new lr,zl=new Bl,Wl=new lr(!0);const Wn=e=>e,js=e=>Reflect.getPrototypeOf(e);function Gl(e,t,s){return function(...n){const o=this.__v_raw,i=le(o),r=Ht(i),l=e==="entries"||e===Symbol.iterator&&r,a=e==="keys"&&r,d=o[e](...n),c=s?Wn:t?Bt:Ye;return!t&&Ne(i,"iterate",a?zn:es),Ie(Object.create(d),{next(){const{value:g,done:b}=d.next();return b?{value:g,done:b}:{value:l?[c(g[0]),c(g[1])]:c(g),done:b}}})}}function Us(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function ql(e,t){const s={get(o){const i=this.__v_raw,r=le(i),l=le(o);e||(vt(o,l)&&Ne(r,"get",o),Ne(r,"get",l));const{has:a}=js(r),d=t?Wn:e?Bt:Ye;if(a.call(r,o))return d(i.get(o));if(a.call(r,l))return d(i.get(l));i!==r&&i.get(o)},get size(){const o=this.__v_raw;return!e&&Ne(le(o),"iterate",es),o.size},has(o){const i=this.__v_raw,r=le(i),l=le(o);return e||(vt(o,l)&&Ne(r,"has",o),Ne(r,"has",l)),o===l?i.has(o):i.has(o)||i.has(l)},forEach(o,i){const r=this,l=r.__v_raw,a=le(l),d=t?Wn:e?Bt:Ye;return!e&&Ne(a,"iterate",es),l.forEach((c,g)=>o.call(i,d(c),d(g),r))}};return Ie(s,e?{add:Us("add"),set:Us("set"),delete:Us("delete"),clear:Us("clear")}:{add(o){const i=le(this),r=js(i),l=le(o),a=!t&&!We(o)&&!Ct(o)?l:o;return r.has.call(i,a)||vt(o,a)&&r.has.call(i,o)||vt(l,a)&&r.has.call(i,l)||(i.add(a),Ot(i,"add",a,a)),this},set(o,i){!t&&!We(i)&&!Ct(i)&&(i=le(i));const r=le(this),{has:l,get:a}=js(r);let d=l.call(r,o);d||(o=le(o),d=l.call(r,o));const c=a.call(r,o);return r.set(o,i),d?vt(i,c)&&Ot(r,"set",o,i):Ot(r,"add",o,i),this},delete(o){const i=le(this),{has:r,get:l}=js(i);let a=r.call(i,o);a||(o=le(o),a=r.call(i,o)),l&&l.call(i,o);const d=i.delete(o);return a&&Ot(i,"delete",o,void 0),d},clear(){const o=le(this),i=o.size!==0,r=o.clear();return i&&Ot(o,"clear",void 0,void 0),r}}),["keys","values","entries",Symbol.iterator].forEach(o=>{s[o]=Gl(o,e,t)}),s}function vo(e,t){const s=ql(e,t);return(n,o,i)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_isShallow"?t:o==="__v_raw"?n:Reflect.get(ae(s,o)&&o in n?s:n,o,i)}const Jl={get:vo(!1,!1)},Yl={get:vo(!1,!0)},Ql={get:vo(!0,!1)};const ar=new WeakMap,cr=new WeakMap,ur=new WeakMap,Xl=new WeakMap;function Zl(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function ns(e){return Ct(e)?e:yo(e,!1,Kl,Jl,ar)}function fr(e){return yo(e,!1,Wl,Yl,cr)}function Gn(e){return yo(e,!0,zl,Ql,ur)}function yo(e,t,s,n,o){if(!ue(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const i=o.get(e);if(i)return i;const r=Zl(kl(e));if(r===0)return e;const l=new Proxy(e,r===2?n:s);return o.set(e,l),l}function bt(e){return Ct(e)?bt(e.__v_raw):!!(e&&e.__v_isReactive)}function Ct(e){return!!(e&&e.__v_isReadonly)}function We(e){return!!(e&&e.__v_isShallow)}function gn(e){return e?!!e.__v_raw:!1}function le(e){const t=e&&e.__v_raw;return t?le(t):e}function _o(e){return!ae(e,"__v_skip")&&Object.isExtensible(e)&&Bi(e,"__v_skip",!0),e}const Ye=e=>ue(e)?ns(e):e,Bt=e=>ue(e)?Gn(e):e;function we(e){return e?e.__v_isRef===!0:!1}function ne(e){return dr(e,!1)}function ea(e){return dr(e,!0)}function dr(e,t){return we(e)?e:new ta(e,t)}class ta{constructor(t,s){this.dep=new mo,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=s?t:le(t),this._value=s?t:Ye(t),this.__v_isShallow=s}get value(){return this.dep.track(),this._value}set value(t){const s=this._rawValue,n=this.__v_isShallow||We(t)||Ct(t);t=n?t:le(t),vt(t,s)&&(this._rawValue=t,this._value=n?t:Ye(t),this.dep.trigger())}}function y(e){return we(e)?e.value:e}const sa={get:(e,t,s)=>t==="__v_raw"?e:y(Reflect.get(e,t,s)),set:(e,t,s,n)=>{const o=e[t];return we(o)&&!we(s)?(o.value=s,!0):Reflect.set(e,t,s,n)}};function hr(e){return bt(e)?e:new Proxy(e,sa)}function na(e){const t=z(e)?new Array(e.length):{};for(const s in e)t[s]=ia(e,s);return t}class oa{constructor(t,s,n){this._object=t,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._key=Je(s)?s:String(s),this._raw=le(t);let o=!0,i=t;if(!z(t)||Je(this._key)||!cn(this._key))do o=!gn(i)||We(i);while(o&&(i=i.__v_raw));this._shallow=o}get value(){let t=this._object[this._key];return this._shallow&&(t=y(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&we(this._raw[this._key])){const s=this._object[this._key];if(we(s)){s.value=t;return}}this._object[this._key]=t}get dep(){return Ll(this._raw,this._key)}}function ia(e,t,s){return new oa(e,t,s)}class ra{constructor(t,s,n){this.fn=t,this.setter=s,this._value=void 0,this.dep=new mo(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Rs-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!s,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&ve!==this)return Xi(this,!0),!0}get value(){const t=this.dep.track();return tr(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function la(e,t,s=!1){let n,o;return Z(e)?n=e:(n=e.get,o=e.set),new ra(n,o,s)}const Bs={},Qs=new WeakMap;let Jt;function aa(e,t=!1,s=Jt){if(s){let n=Qs.get(s);n||Qs.set(s,n=[]),n.push(e)}}function ca(e,t,s=me){const{immediate:n,deep:o,once:i,scheduler:r,augmentJob:l,call:a}=s,d=V=>o?V:We(V)||o===!1||o===0?Pt(V,1):Pt(V);let c,g,b,_,$=!1,M=!1;if(we(e)?(g=()=>e.value,$=We(e)):bt(e)?(g=()=>d(e),$=!0):z(e)?(M=!0,$=e.some(V=>bt(V)||We(V)),g=()=>e.map(V=>{if(we(V))return V.value;if(bt(V))return d(V);if(Z(V))return a?a(V,2):V()})):Z(e)?t?g=a?()=>a(e,2):e:g=()=>{if(b){St();try{b()}finally{xt()}}const V=Jt;Jt=c;try{return a?a(e,3,[_]):e(_)}finally{Jt=V}}:g=_t,t&&o){const V=g,H=o===!0?1/0:o;g=()=>Pt(V(),H)}const F=Ji(),k=()=>{c.stop(),F&&F.active&&uo(F.effects,c)};if(i&&t){const V=t;t=(...H)=>{try{return V(...H)}finally{k()}}}let E=M?new Array(e.length).fill(Bs):Bs;const N=V=>{if(!(!(c.flags&1)||!c.dirty&&!V))if(t){const H=c.run();if(V||o||$||(M?H.some((he,te)=>vt(he,E[te])):vt(H,E))){const he=Jt;St();try{b&&b(),Jt=c;const te=[H,E===Bs?void 0:M&&E[0]===Bs?[]:E,_];E=H,a?a(t,3,te):t(...te)}finally{Jt=he,xt()}}}else c.run()};return l&&l(N),c=new Yi(g),c.scheduler=r?()=>r(N,!1):N,_=V=>aa(V,!1,c),b=c.onStop=()=>{const V=Qs.get(c);if(V){if(a)a(V,4);else for(const H of V)H();Qs.delete(c)}},t?n?N(!0):E=c.run():r?r(N.bind(null,!0),!0):c.run(),k.pause=c.pause.bind(c),k.resume=c.resume.bind(c),k.stop=k,k}function Pt(e,t=1/0,s){if(t<=0||!ue(e)||e.__v_skip||(s=s||new Map,(s.get(e)||0)>=t))return e;if(s.set(e,t),t--,we(e))Pt(e.value,t,s);else if(z(e))for(let n=0;n<e.length;n++)Pt(e[n],t,s);else if($t(e)||Ht(e))e.forEach(n=>{Pt(n,t,s)});else if(ji(e)){for(const n in e)Pt(e[n],t,s);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&Pt(e[n],t,s)}return e}/**
10
- * @vue/runtime-core v3.5.44
11
- * (c) 2018-present Yuxi (Evan) You and Vue contributors
12
- * @license MIT
13
- **/function Fs(e,t,s,n){try{return n?e(...n):e()}catch(o){mn(o,t,s)}}function ot(e,t,s,n){if(Z(e)){const o=Fs(e,t,s,n);return o&&Li(o)&&o.catch(i=>{mn(i,t,s)}),o}if(z(e)){const o=[];for(let i=0;i<e.length;i++)o.push(ot(e[i],t,s,n));return o}}function mn(e,t,s,n=!0){const o=t?t.vnode:null,{errorHandler:i,throwUnhandledErrorInProduction:r}=t&&t.appContext.config||me;if(t){let l=t.parent;const a=t.proxy,d=`https://vuejs.org/error-reference/#runtime-${s}`;for(;l;){const c=l.ec;if(c){for(let g=0;g<c.length;g++)if(c[g](e,a,d)===!1)return}l=l.parent}if(i){St(),Fs(i,null,10,[e,a,d]),xt();return}}ua(e,s,o,n,r)}function ua(e,t,s,n=!0,o=!1){if(o)throw e;console.error(e)}const Ve=[];let Ze=-1;const gt=[];let Vt=null,ls=0;const pr=Promise.resolve();let Xs=null;function Vs(e){const t=Xs||pr;return e?t.then(this?e.bind(this):e):t}function fa(e){let t=Ze+1,s=Ve.length;for(;t<s;){const n=t+s>>>1,o=Ve[n],i=Os(o);i<e||i===e&&o.flags&2?t=n+1:s=n}return t}function bo(e){if(!(e.flags&1)){const t=Os(e),s=Ve[Ve.length-1];!s||!(e.flags&2)&&t>=Os(s)?Ve.push(e):Ve.splice(fa(t),0,e),e.flags|=1,gr()}}function gr(){Xs||(Xs=pr.then(yr))}function da(e){if(!z(e))Vt&&e.id===-1?Vt.splice(ls+1,0,e):e.flags&1||(gt.push(e),e.flags|=1);else for(let t=0;t<e.length;t++)gt.push(e[t]);gr()}function mr(e,t,s,n=Ze+1){for(;n<Ve.length;n++){const o=Ve[n];if(o&&o.flags&2){if(e&&o.id!==e.uid||t!==void 0&&!(o.id>=t))continue;Ve.splice(n,1),n=e?n-1:Ze,o.flags&4&&(o.flags&=-2),o(),o.flags&4||(o.flags&=-2)}}}function vr(e,t,s=0){if(gt.length){let n=gt,o=0;if(t){n=[];for(let r=0;r<gt.length;r++){const l=gt[r];(l.i!==void 0?!l.i||l.i.uid<s:t.has(l))?gt[o++]=l:n.push(l)}}const i=[...new Set(n)].sort((r,l)=>Os(r)-Os(l));if(gt.length=o,Vt){for(let r=0;r<i.length;r++)Vt.push(i[r]);return}for(Vt=i,ls=0;ls<Vt.length;ls++){const r=Vt[ls];r.flags&4&&(r.flags&=-2),r.flags&8||r(),r.flags&=-2}Vt=null,ls=0}}let Pn=!1;function ha(e,t){if(Pn){e();return}const s=t===void 0?void 0:new Set(gt);e(),Pn=!0;try{mr(void 0,t),vr(void 0,s,t)}finally{Pn=!1}}const Os=e=>e.id==null?e.flags&2?-1:1/0:e.id;function yr(e){try{for(Ze=0;Ze<Ve.length;Ze++){const t=Ve[Ze];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),Fs(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;Ze<Ve.length;Ze++){const t=Ve[Ze];t&&(t.flags&=-2)}Ze=-1,Ve.length=0,vr(),Xs=null,(Ve.length||gt.length)&&yr()}}let qe=null,_r=null;function Zs(e){const t=qe;return qe=e,_r=e&&e.type.__scopeId||null,t}function Yt(e,t=qe,s){if(!t||e._n)return e;const n=(...o)=>{n._d&&nn(-1);const i=Zs(t),r=ss.length;let l;try{l=e(...o)}finally{for(let a=ss.length;a>r;a--)Br();Zs(i),n._d&&nn(1)}return l};return n._n=!0,n._c=!0,n._d=!0,n}function yt(e,t){if(qe===null)return e;const s=Sn(qe),n=e.dirs||(e.dirs=[]);for(let o=0;o<t.length;o++){let[i,r,l,a=me]=t[o];i&&(Z(i)&&(i={mounted:i,updated:i}),i.deep&&Pt(r),n.push({dir:i,instance:s,value:r,oldValue:void 0,arg:l,modifiers:a}))}return e}function Gt(e,t,s,n){const o=e.dirs,i=t&&t.dirs;for(let r=0;r<o.length;r++){const l=o[r];i&&(l.oldValue=i[r].value);let a=l.dir[n];a&&(St(),ot(a,s,8,[e.el,l,e,t]),xt())}}function qs(e,t){if(Le){let s=Le.provides;const n=Le.parent&&Le.parent.provides;n===s&&(s=Le.provides=Object.create(n)),s[e]=t}}function wt(e,t,s=!1){const n=Gr();if(n||ts){let o=ts?ts._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&&Z(t)?t.call(n&&n.proxy):t}}function pa(){return!!(Gr()||ts)}const ga=Symbol.for("v-scx"),ma=()=>wt(ga);function jt(e,t,s){return br(e,t,s)}function br(e,t,s=me){const{immediate:n,deep:o,flush:i,once:r}=s,l=Ie({},s),a=t&&n||!t&&i!=="post";let d;if(Ms){if(i==="sync"){const _=ma();d=_.__watcherHandles||(_.__watcherHandles=[])}else if(!a){const _=()=>{};return _.stop=_t,_.resume=_t,_.pause=_t,_}}const c=Le;l.call=(_,$,M)=>ot(_,c,$,M);let g=!1;i==="post"?l.scheduler=_=>{_.i=c,je(_,c&&c.suspense)}:i!=="sync"&&(g=!0,l.scheduler=(_,$)=>{$?_():bo(_)}),l.augmentJob=_=>{t&&(_.flags|=4),g&&(_.flags|=2,c&&(_.id=c.uid,_.i=c))};const b=ca(e,t,l);return Ms&&(d?d.push(b):a&&b()),b}function va(e,t,s){const n=this.proxy,o=be(e)?e.includes(".")?wr(n,e):()=>n[e]:e.bind(n,n);let i;Z(t)?i=t:(i=t.handler,s=t);const r=Ls(this),l=br(o,i.bind(n),s);return r(),l}function wr(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 ya=Symbol("_vte"),vn=e=>e.__isTeleport,In=Symbol("_leaveCb");function _a(e){let t=e[0];if(e.length>1){for(const s of e)if(s.type!==it){t=s;break}}return t}function Sr(e){if(!wo(e))return vn(e.type)&&e.children?_a(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&&Z(s.default))return s.default()}}function en(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const s=e.component.subTree;en(vn(s.type)&&Sr(s)||s,t)}else if(e.shapeFlag&128)e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback);else if(e.transition=t,e.type===oe&&z(e.children)){const s=Or(e.children,!1);s&&en(s,t)}}function qn(e){if(e.component)return qn(e.component.subTree);if(e.type===oe){const t=z(e.children)&&Or(e.children,!1);return t?qn(t):void 0}if(e.type!==it)return e}function Ue(e,t){return Z(e)?Ie({name:e.name},t,{setup:e}):e}function xr(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Uo(e,t){let s;return!!((s=Object.getOwnPropertyDescriptor(e,t))&&!s.configurable)}const tn=new WeakMap;function xs(e,t,s,n,o=!1){if(z(e)){e.forEach((M,F)=>xs(M,t&&(z(t)?t[F]:t),s,n,o));return}if(Cs(n)&&!o){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&xs(e,t,s,n.component.subTree);return}const i=n.shapeFlag&4?Sn(n.component):n.el,r=o?null:i,{i:l,r:a}=e,d=t&&t.r,c=l.refs===me?l.refs={}:l.refs,g=l.setupState,b=le(g),_=g===me?Vi:M=>Uo(c,M)?!1:ae(b,M),$=(M,F)=>!(F&&Uo(c,F));if(d!=null&&d!==a){if(Bo(t),be(d))c[d]=null,_(d)&&(g[d]=null);else if(we(d)){const M=t;$(d,M.k)&&(d.value=null),M.k&&(c[M.k]=null)}}if(Z(a))Fs(a,l,12,[r,c]);else{const M=be(a),F=we(a);if(M||F){const k=()=>{if(e.f){const E=M?_(a)?g[a]:c[a]:$()||!e.k?a.value:c[e.k];if(o)z(E)&&uo(E,i);else if(z(E))E.includes(i)||E.push(i);else if(M)c[a]=[i],_(a)&&(g[a]=c[a]);else{const N=[i];$(a,e.k)&&(a.value=N),e.k&&(c[e.k]=N)}}else M?(c[a]=r,_(a)&&(g[a]=r)):F&&($(a,e.k)&&(a.value=r),e.k&&(c[e.k]=r))};if(r){const E=()=>{k(),tn.delete(e)};E.id=-1,tn.set(e,E),je(E,s)}else Bo(e),k()}}}function Bo(e){const t=tn.get(e);t&&(t.flags|=8,tn.delete(e))}dn().requestIdleCallback;dn().cancelIdleCallback;const Cs=e=>!!e.type.__asyncLoader,wo=e=>e.type.__isKeepAlive;function ba(e,t){Cr(e,"a",t)}function wa(e,t){Cr(e,"da",t)}function Cr(e,t,s=Le){const n=e.__wdc||(e.__wdc=()=>{let o=s;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(yn(t,n,s),s){let o=s.parent;for(;o&&o.parent;)wo(o.parent.vnode)&&Sa(n,t,s,o),o=o.parent}}function Sa(e,t,s,n){const o=yn(t,e,n,!0);kr(()=>{uo(n[t],o)},s)}function yn(e,t,s=Le,n=!1){if(s){const o=s[e]||(s[e]=[]),i=t.__weh||(t.__weh=(...r)=>{St();const l=Ls(s),a=ot(t,s,e,r);return l(),xt(),a});return n?o.unshift(i):o.push(i),i}}const Mt=e=>(t,s=Le)=>{(!Ms||e==="sp")&&yn(e,(...n)=>t(...n),s)},xa=Mt("bm"),hs=Mt("m"),Ca=Mt("bu"),ka=Mt("u"),_n=Mt("bum"),kr=Mt("um"),Ea=Mt("sp"),Aa=Mt("rtg"),Ra=Mt("rtc");function Ta(e,t=Le){yn("ec",e,t)}const Oa=Symbol.for("v-ndc");function Re(e,t,s,n){let o;const i=s,r=z(e);if(r||be(e)){const l=r&&bt(e);let a=!1,d=!1;l&&(a=!We(e),d=Ct(e),e=pn(e)),o=new Array(e.length);for(let c=0,g=e.length;c<g;c++)o[c]=t(a?d?Bt(Ye(e[c])):Ye(e[c]):e[c],c,void 0,i)}else if(typeof e=="number")if(!Number.isInteger(e)||e<0)o=[];else{o=new Array(e);for(let l=0;l<e;l++)o[l]=t(l+1,l,void 0,i)}else if(ue(e))if(e[Symbol.iterator])o=Array.from(e,(l,a)=>t(l,a,void 0,i));else{const l=Object.keys(e);o=new Array(l.length);for(let a=0,d=l.length;a<d;a++){const c=l[a];o[a]=t(e[c],c,a,i)}}else o=[];return o}const Jn=e=>e?qr(e)?Sn(e):Jn(e.parent):null,ks=Ie(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=>Jn(e.parent),$root:e=>Jn(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Ar(e),$forceUpdate:e=>e.f||(e.f=()=>{bo(e.update)}),$nextTick:e=>e.n||(e.n=Vs.bind(e.proxy)),$watch:e=>va.bind(e)}),$n=(e,t)=>e!==me&&!e.__isScriptSetup&&ae(e,t),Pa={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:s,setupState:n,data:o,props:i,accessCache:r,type:l,appContext:a}=e;if(t[0]!=="$"){const b=r[t];if(b!==void 0)switch(b){case 1:return n[t];case 2:return o[t];case 4:return s[t];case 3:return i[t]}else{if($n(n,t))return r[t]=1,n[t];if(o!==me&&ae(o,t))return r[t]=2,o[t];if(ae(i,t))return r[t]=3,i[t];if(s!==me&&ae(s,t))return r[t]=4,s[t];Yn&&(r[t]=0)}}const d=ks[t];let c,g;if(d)return t==="$attrs"&&Ne(e.attrs,"get",""),d(e);if((c=l.__cssModules)&&(c=c[t]))return c;if(s!==me&&ae(s,t))return r[t]=4,s[t];if(g=a.config.globalProperties,ae(g,t))return g[t]},set({_:e},t,s){const{data:n,setupState:o,ctx:i}=e;return $n(o,t)?(o[t]=s,!0):n!==me&&ae(n,t)?(n[t]=s,!0):ae(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=s,!0)},has({_:{data:e,setupState:t,accessCache:s,ctx:n,appContext:o,props:i,type:r}},l){let a;return!!(s[l]||e!==me&&l[0]!=="$"&&ae(e,l)||$n(t,l)||ae(i,l)||ae(n,l)||ae(ks,l)||ae(o.config.globalProperties,l)||(a=r.__cssModules)&&a[l])},defineProperty(e,t,s){return s.get!=null?e._.accessCache[t]=0:ae(s,"value")&&this.set(e,t,s.value,null),Reflect.defineProperty(e,t,s)}};function Ko(e){return z(e)?e.reduce((t,s)=>(t[s]=null,t),{}):e}let Yn=!0;function Ia(e){const t=Ar(e),s=e.proxy,n=e.ctx;Yn=!1,t.beforeCreate&&zo(t.beforeCreate,e,"bc");const{data:o,computed:i,methods:r,watch:l,provide:a,inject:d,created:c,beforeMount:g,mounted:b,beforeUpdate:_,updated:$,activated:M,deactivated:F,beforeDestroy:k,beforeUnmount:E,destroyed:N,unmounted:V,render:H,renderTracked:he,renderTriggered:te,errorCaptured:Y,serverPrefetch:q,expose:fe,inheritAttrs:Se,components:Te,directives:$e,filters:kt}=t;if(d&&$a(d,n,null),r)for(const Q in r){const re=r[Q];Z(re)&&(n[Q]=re.bind(s))}if(o){const Q=o.call(s,s);ue(Q)&&(e.data=ns(Q))}if(Yn=!0,i)for(const Q in i){const re=i[Q],Qe=Z(re)?re.bind(s,s):Z(re.get)?re.get.bind(s,s):_t,at=!Z(re)&&Z(re.set)?re.set.bind(s):_t,Me=se({get:Qe,set:at});Object.defineProperty(n,Q,{enumerable:!0,configurable:!0,get:()=>Me.value,set:ke=>Me.value=ke})}if(l)for(const Q in l)Er(l[Q],n,s,Q);if(a){const Q=Z(a)?a.call(s):a;Reflect.ownKeys(Q).forEach(re=>{qs(re,Q[re])})}c&&zo(c,e,"c");function pe(Q,re){z(re)?re.forEach(Qe=>Q(Qe.bind(s))):re&&Q(re.bind(s))}if(pe(xa,g),pe(hs,b),pe(Ca,_),pe(ka,$),pe(ba,M),pe(wa,F),pe(Ta,Y),pe(Ra,he),pe(Aa,te),pe(_n,E),pe(kr,V),pe(Ea,q),z(fe))if(fe.length){const Q=e.exposed||(e.exposed={});fe.forEach(re=>{Object.defineProperty(Q,re,{get:()=>s[re],set:Qe=>s[re]=Qe,enumerable:!0})})}else e.exposed||(e.exposed={});H&&e.render===_t&&(e.render=H),Se!=null&&(e.inheritAttrs=Se),Te&&(e.components=Te),$e&&(e.directives=$e),q&&xr(e)}function $a(e,t,s=_t){z(e)&&(e=Qn(e));for(const n in e){const o=e[n];let i;ue(o)?"default"in o?i=wt(o.from||n,o.default,!0):i=wt(o.from||n):i=wt(o),we(i)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>i.value,set:r=>i.value=r}):t[n]=i}}function zo(e,t,s){ot(z(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,s)}function Er(e,t,s,n){let o=n.includes(".")?wr(s,n):()=>s[n];if(be(e)){const i=t[e];Z(i)&&jt(o,i)}else if(Z(e))jt(o,e.bind(s));else if(ue(e))if(z(e))e.forEach(i=>Er(i,t,s,n));else{const i=Z(e.handler)?e.handler.bind(s):t[e.handler];Z(i)&&jt(o,i,e)}}function Ar(e){const t=e.type,{mixins:s,extends:n}=t,{mixins:o,optionsCache:i,config:{optionMergeStrategies:r}}=e.appContext,l=i.get(t);let a;return l?a=l:!o.length&&!s&&!n?a=t:(a={},o.length&&o.forEach(d=>sn(a,d,r,!0)),sn(a,t,r)),ue(t)&&i.set(t,a),a}function sn(e,t,s,n=!1){const{mixins:o,extends:i}=t;i&&sn(e,i,s,!0),o&&o.forEach(r=>sn(e,r,s,!0));for(const r in t)if(!(n&&r==="expose")){const l=Ma[r]||s&&s[r];e[r]=l?l(e[r],t[r]):t[r]}return e}const Ma={data:Wo,props:Go,emits:Go,methods:ys,computed:ys,beforeCreate:De,created:De,beforeMount:De,mounted:De,beforeUpdate:De,updated:De,beforeDestroy:De,beforeUnmount:De,destroyed:De,unmounted:De,activated:De,deactivated:De,errorCaptured:De,serverPrefetch:De,components:ys,directives:ys,watch:Da,provide:Wo,inject:Na};function Wo(e,t){return t?e?function(){return Ie(Z(e)?e.call(this,this):e,Z(t)?t.call(this,this):t)}:t:e}function Na(e,t){return ys(Qn(e),Qn(t))}function Qn(e){if(z(e)){const t={};for(let s=0;s<e.length;s++)t[e[s]]=e[s];return t}return e}function De(e,t){return e?[...new Set([].concat(e,t))]:t}function ys(e,t){return e?Ie(Object.create(null),e,t):t}function Go(e,t){return e?z(e)&&z(t)?[...new Set([...e,...t])]:Ie(Object.create(null),Ko(e),Ko(t??{})):t}function Da(e,t){if(!e)return t;if(!t)return e;const s=Ie(Object.create(null),e);for(const n in t)s[n]=De(e[n],t[n]);return s}function Rr(){return{app:null,config:{isNativeTag:Vi,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 Fa=0;function Va(e,t){return function(n,o=null){Z(n)||(n=Ie({},n)),o!=null&&!ue(o)&&(o=null);const i=Rr(),r=new WeakSet,l=[];let a=!1;const d=i.app={_uid:Fa++,_component:n,_props:o,_container:null,_context:i,_instance:null,version:pc,get config(){return i.config},set config(c){},use(c,...g){return r.has(c)||(c&&Z(c.install)?(r.add(c),c.install(d,...g)):Z(c)&&(r.add(c),c(d,...g))),d},mixin(c){return i.mixins.includes(c)||i.mixins.push(c),d},component(c,g){return g?(i.components[c]=g,d):i.components[c]},directive(c,g){return g?(i.directives[c]=g,d):i.directives[c]},mount(c,g,b){if(!a){const _=d._ceVNode||B(n,o);return _.appContext=i,b===!0?b="svg":b===!1&&(b=void 0),e(_,c,b),a=!0,d._container=c,c.__vue_app__=d,Sn(_.component)}},onUnmount(c){l.push(c)},unmount(){a&&(ot(l,d._instance,16),e(null,d._container),delete d._container.__vue_app__)},provide(c,g){return i.provides[c]=g,d},runWithContext(c){const g=ts;ts=d;try{return c()}finally{ts=g}}};return d}}let ts=null;const La=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${et(t)}Modifiers`]||e[`${zt(t)}Modifiers`];function Ha(e,t,...s){if(e.isUnmounted)return;const n=e.vnode.props||me;let o=s;const i=t.startsWith("update:"),r=i&&La(n,t.slice(7));r&&(r.trim&&(o=s.map(c=>be(c)?c.trim():c)),r.number&&(o=o.map(fn)));let l,a=n[l=En(t)]||n[l=En(et(t))];!a&&i&&(a=n[l=En(zt(t))]),a&&ot(a,e,6,o);const d=n[l+"Once"];if(d){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,ot(d,e,6,o)}}const ja=new WeakMap;function Tr(e,t,s=!1){const n=s?ja:t.emitsCache,o=n.get(e);if(o!==void 0)return o;const i=e.emits;let r={},l=!1;if(!Z(e)){const a=d=>{const c=Tr(d,t,!0);c&&(l=!0,Ie(r,c))};!s&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}return!i&&!l?(ue(e)&&n.set(e,null),null):(z(i)?i.forEach(a=>r[a]=null):Ie(r,i),ue(e)&&n.set(e,r),r)}function bn(e,t){return!e||!ln(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),ae(e,t[0].toLowerCase()+t.slice(1))||ae(e,zt(t))||ae(e,t))}function qo(e){const{type:t,vnode:s,proxy:n,withProxy:o,propsOptions:[i],slots:r,attrs:l,emit:a,render:d,renderCache:c,props:g,data:b,setupState:_,ctx:$,inheritAttrs:M}=e,F=Zs(e);let k,E;try{if(s.shapeFlag&4){const V=o||n,H=V;k=mt(d.call(H,V,c,g,_,b,$)),E=l}else{const V=t;k=mt(V.length>1?V(g,{attrs:l,slots:r,emit:a}):V(g,null)),E=t.props?l:Ua(l)}}catch(V){ss.length=0,mn(V,e,1),k=B(it)}let N=k;if(E&&M!==!1){const V=Object.keys(E),{shapeFlag:H}=N;V.length&&H&7&&(i&&V.some(an)&&(E=Ba(E,i)),N=cs(N,E,!1,!0))}if(s.dirs&&(N=cs(N,null,!1,!0),N.dirs=N.dirs?N.dirs.concat(s.dirs):s.dirs),s.transition){const V=vn(N.type)&&Sr(N)||N;en(V,s.transition)}return k=N,Zs(F),k}function Or(e,t=!0){let s;for(let n=0;n<e.length;n++){const o=e[n];if(Is(o)){if(o.type!==it||o.children==="v-if"){if(s)return;s=o}}else return}return s}const Ua=e=>{let t;for(const s in e)(s==="class"||s==="style"||ln(s))&&((t||(t={}))[s]=e[s]);return t},Ba=(e,t)=>{const s={};for(const n in e)(!an(n)||!(n.slice(9)in t))&&(s[n]=e[n]);return s};function Ka(e,t,s){const{props:n,children:o,component:i}=e,{props:r,children:l,patchFlag:a}=t,d=i.emitsOptions;if(t.dirs||t.transition)return!0;if(s&&a>=0){if(a&1024)return!0;if(a&16)return n?Jo(n,r,d):!!r;if(a&8){const c=t.dynamicProps;for(let g=0;g<c.length;g++){const b=c[g];if(Pr(r,n,b)&&!bn(d,b))return!0}}}else return(o||l)&&(!l||!l.$stable)?!0:n===r?!1:n?r?Jo(n,r,d):!0:!!r;return!1}function Jo(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 i=n[o];if(!ae(e,i)||Pr(t,e,i)&&!bn(s,i))return!0}return!1}function Pr(e,t,s){const n=e[s],o=t[s];return s==="style"&&ue(n)&&ue(o)?!nt(n,o):n!==o}function za({vnode:e,parent:t,suspense:s},n){for(;t;){const o=t.subTree;if(o.suspense&&o.suspense.activeBranch===e&&(o.suspense.vnode.el=o.el=n,e=o),o===e)(e=t.vnode).el=n,t=t.parent;else break}s&&s.activeBranch===e&&(s.vnode.el=n)}const Ir={},$r=()=>Object.create(Ir),Mr=e=>Object.getPrototypeOf(e)===Ir;function Wa(e,t,s,n=!1){const o={},i=$r();e.propsDefaults=Object.create(null),Nr(e,t,o,i);for(const r in e.propsOptions[0])r in o||(o[r]=void 0);s?e.props=n?o:fr(o):e.type.props?e.props=o:e.props=i,e.attrs=i}function Ga(e,t,s,n){const{props:o,attrs:i,vnode:{patchFlag:r}}=e,l=le(o),[a]=e.propsOptions;let d=!1;if((n||r>0)&&!(r&16)){if(r&8){const c=e.vnode.dynamicProps;for(let g=0;g<c.length;g++){let b=c[g];if(bn(e.emitsOptions,b))continue;const _=t[b];if(a)if(ae(i,b))_!==i[b]&&(i[b]=_,d=!0);else{const $=et(b);o[$]=Xn(a,l,$,_,e,!1)}else _!==i[b]&&(i[b]=_,d=!0)}}}else{Nr(e,t,o,i)&&(d=!0);let c;for(const g in l)(!t||!ae(t,g)&&((c=zt(g))===g||!ae(t,c)))&&(a?s&&(s[g]!==void 0||s[c]!==void 0)&&(o[g]=Xn(a,l,g,void 0,e,!0)):delete o[g]);if(i!==l)for(const g in i)(!t||!ae(t,g))&&(delete i[g],d=!0)}d&&Ot(e.attrs,"set","")}function Nr(e,t,s,n){const[o,i]=e.propsOptions;let r=!1,l;if(t)for(let a in t){if(bs(a))continue;const d=t[a];let c;o&&ae(o,c=et(a))?!i||!i.includes(c)?s[c]=d:(l||(l={}))[c]=d:bn(e.emitsOptions,a)||(!(a in n)||d!==n[a])&&(n[a]=d,r=!0)}if(i){const a=le(s),d=l||me;for(let c=0;c<i.length;c++){const g=i[c];s[g]=Xn(o,a,g,d[g],e,!ae(d,g))}}return r}function Xn(e,t,s,n,o,i){const r=e[s];if(r!=null){const l=ae(r,"default");if(l&&n===void 0){const a=r.default;if(r.type!==Function&&!r.skipFactory&&Z(a)){const{propsDefaults:d}=o;if(s in d)n=d[s];else{const c=Ls(o);n=d[s]=a.call(null,t),c()}}else n=a;o.ce&&o.ce._setProp(s,n)}r[0]&&(i&&!l?n=!1:r[1]&&(n===""||n===zt(s))&&(n=!0))}return n}const qa=new WeakMap;function Dr(e,t,s=!1){const n=s?qa:t.propsCache,o=n.get(e);if(o)return o;const i=e.props,r={},l=[];let a=!1;if(!Z(e)){const c=g=>{a=!0;const[b,_]=Dr(g,t,!0);Ie(r,b),_&&l.push(..._)};!s&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}if(!i&&!a)return ue(e)&&n.set(e,Xt),Xt;if(z(i))for(let c=0;c<i.length;c++){const g=et(i[c]);Yo(g)&&(r[g]=me)}else if(i)for(const c in i){const g=et(c);if(Yo(g)){const b=i[c],_=r[g]=z(b)||Z(b)?{type:b}:Ie({},b),$=_.type;let M=!1,F=!0;if(z($))for(let k=0;k<$.length;++k){const E=$[k],N=Z(E)&&E.name;if(N==="Boolean"){M=!0;break}else N==="String"&&(F=!1)}else M=Z($)&&$.name==="Boolean";_[0]=M,_[1]=F,(M||ae(_,"default"))&&l.push(g)}}const d=[r,l];return ue(e)&&n.set(e,d),d}function Yo(e){return e[0]!=="$"&&!bs(e)}const So=e=>e==="_"||e==="_ctx"||e==="$stable",xo=e=>z(e)?e.map(mt):[mt(e)],Ja=(e,t,s)=>{if(t._n)return t;const n=Yt((...o)=>xo(t(...o)),s);return n._c=!1,n},Fr=(e,t,s)=>{const n=e._ctx;for(const o in e){if(So(o))continue;const i=e[o];if(Z(i))t[o]=Ja(o,i,n);else if(i!=null){const r=xo(i);t[o]=()=>r}}},Vr=(e,t)=>{const s=xo(t);e.slots.default=()=>s},Lr=(e,t,s)=>{for(const n in t)(s||!So(n))&&(e[n]=t[n])},Ya=(e,t,s)=>{const n=e.slots=$r();if(e.vnode.shapeFlag&32){const o=t._;o?(Lr(n,t,s),s&&Bi(n,"_",o,!0)):Fr(t,n)}else t&&Vr(e,t)},Qa=(e,t,s)=>{const{vnode:n,slots:o}=e;let i=!0,r=me;if(n.shapeFlag&32){const l=t._;l?s&&l===1?i=!1:Lr(o,t,s):(i=!t.$stable,Fr(t,o)),r=t}else t&&(Vr(e,t),r={default:1});if(i)for(const l in o)!So(l)&&r[l]==null&&delete o[l]},je=sc;function Xa(e){return Za(e)}function Za(e,t){const s=dn();s.__VUE__=!0;const{insert:n,remove:o,patchProp:i,createElement:r,createText:l,createComment:a,setText:d,setElementText:c,parentNode:g,nextSibling:b,setScopeId:_=_t,insertStaticContent:$}=e,M=(f,m,w,h=null,v=null,p=null,x=void 0,T=null,I=!!m.dynamicChildren)=>{if(f===m)return;f&&!ms(f,m)&&(h=A(f),ke(f,v,p,!0),f=null),m.patchFlag===-2&&(I=!1,m.dynamicChildren=null),m.dynamicChildren&&f&&f.dynamicChildren&&f.dynamicChildren.hasOnce&&(m.dynamicChildren===Xt&&(m.dynamicChildren=[]),m.dynamicChildren.hasOnce=!0);const{type:O,ref:K,shapeFlag:L}=m;switch(O){case wn:F(f,m,w,h);break;case it:k(f,m,w,h);break;case Nn:f==null&&E(m,w,h,x);break;case oe:Te(f,m,w,h,v,p,x,T,I);break;default:L&1?H(f,m,w,h,v,p,x,T,I):L&6?$e(f,m,w,h,v,p,x,T,I):(L&64||L&128)&&O.process(f,m,w,h,v,p,x,T,I,D)}K!=null&&v?xs(K,f&&f.ref,p,m||f,!m):K==null&&f&&f.ref!=null&&xs(f.ref,null,p,f,!0)},F=(f,m,w,h)=>{if(f==null)n(m.el=l(m.children),w,h);else{const v=m.el=f.el;m.children!==f.children&&d(v,m.children)}},k=(f,m,w,h)=>{f==null?n(m.el=a(m.children||""),w,h):m.el=f.el},E=(f,m,w,h)=>{[f.el,f.anchor]=$(f.children,m,w,h,f.el,f.anchor)},N=({el:f,anchor:m},w,h)=>{let v;for(;f&&f!==m;)v=b(f),n(f,w,h),f=v;n(m,w,h)},V=({el:f,anchor:m})=>{let w;for(;f&&f!==m;)w=b(f),o(f),f=w;o(m)},H=(f,m,w,h,v,p,x,T,I)=>{if(m.type==="svg"?x="svg":m.type==="math"&&(x="mathml"),f==null)he(m,w,h,v,p,x,T,I);else{const O=f.el&&f.el._isVueCE?f.el:null;try{O&&O._beginPatch(),q(f,m,v,p,x,T,I)}finally{O&&O._endPatch()}}},he=(f,m,w,h,v,p,x,T)=>{let I,O;const{props:K,shapeFlag:L,transition:W,dirs:J}=f;if(I=f.el=r(f.type,p,K&&K.is,K),L&8?c(I,f.children):L&16&&Y(f.children,I,null,h,v,Mn(f,p),x,T),J&&Gt(f,null,h,"created"),te(I,f,f.scopeId,x,h),K){for(const ge in K)ge!=="value"&&!bs(ge)&&i(I,ge,null,K[ge],p,h);"value"in K&&i(I,"value",null,K.value,p),(O=K.onVnodeBeforeMount)&&ht(O,h,f)}J&&Gt(f,null,h,"beforeMount");const ie=ec(v,W);ie&&W.beforeEnter(I),n(I,m,w),((O=K&&K.onVnodeMounted)||ie||J)&&je(()=>{try{O&&ht(O,h,f),ie&&W.enter(I),J&&Gt(f,null,h,"mounted")}finally{}},v)},te=(f,m,w,h,v)=>{if(w&&_(f,w),h)for(let p=0;p<h.length;p++)_(f,h[p]);if(v){let p=v.subTree;if(m===p||Ur(p.type)&&(p.ssContent===m||p.ssFallback===m)){const x=v.vnode;te(f,x,x.scopeId,x.slotScopeIds,v.parent)}}},Y=(f,m,w,h,v,p,x,T,I=0)=>{for(let O=I;O<f.length;O++){const K=f[O]=T?Tt(f[O]):mt(f[O]);M(null,K,m,w,h,v,p,x,T)}},q=(f,m,w,h,v,p,x)=>{const T=m.el=f.el;let{patchFlag:I,dynamicChildren:O,dirs:K}=m;I|=f.patchFlag&16;const L=f.props||me,W=m.props||me;let J;if(w&&qt(w,!1),(J=W.onVnodeBeforeUpdate)&&ht(J,w,m,f),K&&Gt(m,f,w,"beforeUpdate"),w&&qt(w,!0),O&&(!f.dynamicChildren||f.dynamicChildren.length!==O.length)&&(I=0,x=!1,O=null),(L.innerHTML&&W.innerHTML==null||L.textContent&&W.textContent==null)&&c(T,""),O?fe(f.dynamicChildren,O,T,w,h,Mn(m,v),p):x||re(f,m,T,null,w,h,Mn(m,v),p,!1),I>0){if(I&16)Se(T,L,W,w,v);else if(I&2&&L.class!==W.class&&i(T,"class",null,W.class,v),I&4&&i(T,"style",L.style,W.style,v),I&8){const ie=m.dynamicProps;for(let ge=0;ge<ie.length;ge++){const de=ie[ge],xe=L[de],Oe=W[de];(Oe!==xe||de==="value")&&i(T,de,xe,Oe,v,w)}}I&1&&f.children!==m.children&&c(T,m.children)}else!x&&O==null&&Se(T,L,W,w,v);((J=W.onVnodeUpdated)||K)&&je(()=>{J&&ht(J,w,m,f),K&&Gt(m,f,w,"updated")},h)},fe=(f,m,w,h,v,p,x)=>{for(let T=0;T<m.length;T++){const I=f[T],O=m[T],K=I.el||Zn(I),L=K&&(I.type===oe||!ms(I,O)||I.shapeFlag&198)?g(K):w;M(I,O,L,null,h,v,p,x,!0)}},Se=(f,m,w,h,v)=>{if(m!==w){if(m!==me)for(const p in m)!bs(p)&&!(p in w)&&i(f,p,m[p],null,v,h);for(const p in w){if(bs(p))continue;const x=w[p],T=m[p];x!==T&&p!=="value"&&i(f,p,T,x,v,h)}"value"in w&&i(f,"value",m.value,w.value,v)}},Te=(f,m,w,h,v,p,x,T,I)=>{const O=m.el=f?f.el:l(""),K=m.anchor=f?f.anchor:l("");let{patchFlag:L,dynamicChildren:W,slotScopeIds:J}=m;J&&(T=T?T.concat(J):J),f==null?(n(O,w,h),n(K,w,h),Y(m.children||[],w,K,v,p,x,T,I)):L>0&&L&64&&W&&f.dynamicChildren&&f.dynamicChildren.length===W.length?(fe(f.dynamicChildren,W,w,v,p,x,T),(m.key!=null||v&&m===v.subTree)&&Hr(f,m,!0)):re(f,m,w,K,v,p,x,T,I)},$e=(f,m,w,h,v,p,x,T,I)=>{m.slotScopeIds=T,f==null?m.shapeFlag&512?v.ctx.activate(m,w,h,x,I):kt(m,w,h,v,p,x,I):Ge(f,m,I)},kt=(f,m,w,h,v,p,x)=>{const T=f.component=ac(f,h,v);if(wo(f)&&(T.ctx.renderer=D),cc(T,!1,x),T.asyncDep){if(v&&v.registerDep(T,pe,x,p),!f.el){const I=T.subTree=B(it);k(null,I,m,w),f.placeholder=I.el}}else pe(T,f,m,w,v,p,x)},Ge=(f,m,w)=>{const h=m.component=f.component;if(Ka(f,m,w))if(h.asyncDep&&!h.asyncResolved){m.el=f.el,m.placeholder=f.placeholder,Q(h,m,w);return}else h.next=m,h.update();else m.el=f.el,m.placeholder=f.placeholder,h.vnode=m},pe=(f,m,w,h,v,p,x)=>{const T=()=>{if(f.isMounted){let{next:L,bu:W,u:J,parent:ie,vnode:ge}=f;{const ft=jr(f);if(ft){L&&(L.el=ge.el,Q(f,L,x)),ft.asyncDep.then(()=>{je(()=>{f.isUnmounted||O()},v)});return}}let de=L,xe;qt(f,!1),L?(L.el=ge.el,Q(f,L,x)):L=ge,W&&Gs(W),(xe=L.props&&L.props.onVnodeBeforeUpdate)&&ht(xe,ie,L,ge),qt(f,!0);const Oe=qo(f),ut=f.subTree;f.subTree=Oe,M(ut,Oe,g(ut.el),A(ut),f,v,p),L.el=Oe.el,de===null&&za(f,Oe.el),J&&je(J,v),(xe=L.props&&L.props.onVnodeUpdated)&&je(()=>ht(xe,ie,L,ge),v)}else{let L;const{el:W,props:J}=m,{bm:ie,m:ge,parent:de,root:xe,type:Oe}=f,ut=Cs(m);qt(f,!1),ie&&Gs(ie),!ut&&(L=J&&J.onVnodeBeforeMount)&&ht(L,de,m),qt(f,!0);{xe.ce&&xe.ce._hasShadowRoot()&&xe.ce._injectChildStyle(Oe,f.parent?f.parent.type:void 0);const ft=f.subTree=qo(f);M(null,ft,w,h,f,v,p),m.el=ft.el}if(ge&&je(ge,v),!ut&&(L=J&&J.onVnodeMounted)){const ft=m;je(()=>ht(L,de,ft),v)}(m.shapeFlag&256||de&&Cs(de.vnode)&&de.vnode.shapeFlag&256)&&f.a&&je(f.a,v),f.isMounted=!0,m=w=h=null}};f.scope.on();const I=f.effect=new Yi(T);f.scope.off();const O=f.update=I.run.bind(I),K=f.job=I.runIfDirty.bind(I);K.i=f,K.id=f.uid,I.scheduler=()=>bo(K),qt(f,!0),O()},Q=(f,m,w)=>{m.component=f;const h=f.vnode.props;f.vnode=m,f.next=null,Ga(f,m.props,h,w),Qa(f,m.children,w),St(),mr(f),xt()},re=(f,m,w,h,v,p,x,T,I=!1)=>{const O=f&&f.children,K=f?f.shapeFlag:0,L=m.children,{patchFlag:W,shapeFlag:J}=m;if(W>0){if(W&128){at(O,L,w,h,v,p,x,T,I);return}else if(W&256){Qe(O,L,w,h,v,p,x,T,I);return}}J&8?(K&16&&He(O,v,p),L!==O&&c(w,L)):K&16?J&16?at(O,L,w,h,v,p,x,T,I):He(O,v,p,!0):(K&8&&c(w,""),J&16&&Y(L,w,h,v,p,x,T,I))},Qe=(f,m,w,h,v,p,x,T,I)=>{f=f||Xt,m=m||Xt;const O=f.length,K=m.length,L=Math.min(O,K);let W;for(W=0;W<L;W++){const J=m[W]=I?Tt(m[W]):mt(m[W]);M(f[W],J,w,null,v,p,x,T,I)}O>K?He(f,v,p,!0,!1,L):Y(m,w,h,v,p,x,T,I,L)},at=(f,m,w,h,v,p,x,T,I)=>{let O=0;const K=m.length;let L=f.length-1,W=K-1;for(;O<=L&&O<=W;){const J=f[O],ie=m[O]=I?Tt(m[O]):mt(m[O]);if(ms(J,ie))M(J,ie,w,null,v,p,x,T,I);else break;O++}for(;O<=L&&O<=W;){const J=f[L],ie=m[W]=I?Tt(m[W]):mt(m[W]);if(ms(J,ie))M(J,ie,w,null,v,p,x,T,I);else break;L--,W--}if(O>L){if(O<=W){const J=W+1,ie=J<K?m[J].el:h;for(;O<=W;)M(null,m[O]=I?Tt(m[O]):mt(m[O]),w,ie,v,p,x,T,I),O++}}else if(O>W)for(;O<=L;)ke(f[O],v,p,!0),O++;else{const J=O,ie=O,ge=new Map;for(O=ie;O<=W;O++){const Be=m[O]=I?Tt(m[O]):mt(m[O]);Be.key!=null&&ge.set(Be.key,O)}let de,xe=0;const Oe=W-ie+1;let ut=!1,ft=0;const ps=new Array(Oe);for(O=0;O<Oe;O++)ps[O]=0;for(O=J;O<=L;O++){const Be=f[O];if(xe>=Oe){ke(Be,v,p,!0);continue}let dt;if(Be.key!=null)dt=ge.get(Be.key);else for(de=ie;de<=W;de++)if(ps[de-ie]===0&&ms(Be,m[de])){dt=de;break}dt===void 0?ke(Be,v,p,!0):(ps[dt-ie]=O+1,dt>=ft?ft=dt:ut=!0,M(Be,m[dt],w,null,v,p,x,T,I),xe++)}const Io=ut?tc(ps):Xt;for(de=Io.length-1,O=Oe-1;O>=0;O--){const Be=ie+O,dt=m[Be],$o=m[Be+1],Mo=Be+1<K?$o.el||Zn($o):h;ps[O]===0?M(null,dt,w,Mo,v,p,x,T,I):ut&&(de<0||O!==Io[de]?Me(dt,w,Mo,2):de--)}}},Me=(f,m,w,h,v=null)=>{const{el:p,type:x,transition:T,children:I,shapeFlag:O}=f;if(O&6){Me(f.component.subTree,m,w,h);return}if(O&128){f.suspense.move(m,w,h);return}if(O&64){x.move(f,m,w,D);return}if(x===oe){n(p,m,w);for(let L=0;L<I.length;L++)Me(I[L],m,w,h);n(f.anchor,m,w);return}if(x===Nn){N(f,m,w);return}if(h!==2&&O&1&&T)if(h===0)T.persisted&&!p[In]?n(p,m,w):(T.beforeEnter(p),n(p,m,w),je(()=>T.enter(p),v));else{const{leave:L,delayLeave:W,afterLeave:J}=T,ie=()=>{f.ctx.isUnmounted?o(p):n(p,m,w)},ge=()=>{const de=p._isLeaving||!!p[In];p._isLeaving&&p[In](!0),T.persisted&&!de?ie():L(p,()=>{ie(),J&&J()})};W?W(p,ie,ge):ge()}else n(p,m,w)},ke=(f,m,w,h=!1,v=!1)=>{const{type:p,props:x,ref:T,children:I,dynamicChildren:O,shapeFlag:K,patchFlag:L,dirs:W,cacheIndex:J,memo:ie}=f;if((L===-2||O&&O.hasOnce)&&(v=!1),T!=null&&(St(),xs(T,null,w,f,!0),xt()),J!=null&&(!f.ctx||f.ctx===m)&&(m.renderCache[J]=void 0),K&256){m.ctx.deactivate(f);return}const ge=K&1&&W,de=!Cs(f);let xe;if(de&&(xe=x&&x.onVnodeBeforeUnmount)&&ht(xe,m,f),K&6)Xe(f.component,w,h);else{if(K&128){f.suspense.unmount(w,h);return}ge&&Gt(f,null,m,"beforeUnmount"),K&64?f.type.remove(f,m,w,D,h):O&&!O.hasOnce&&(p!==oe||L>0&&L&64)?He(O,m,w,!1,!0):(p===oe&&L&384||!v&&K&16)&&He(I,m,w),h&&Nt(f)}const Oe=ie!=null&&J==null;(de&&(xe=x&&x.onVnodeUnmounted)||ge||Oe)&&je(()=>{xe&&ht(xe,m,f),ge&&Gt(f,null,m,"unmounted"),Oe&&(f.el=null)},w)},Nt=f=>{const{type:m,el:w,anchor:h,transition:v}=f,p=m===oe;if(p&&!v){ct(w,h);return}if(m===Nn){V(f),v&&!v.persisted&&v.afterLeave&&v.afterLeave();return}const x=p?qn(f):f,T=()=>{p?g(w)&&ct(w,h):o(w),v&&!v.persisted&&v.afterLeave&&v.afterLeave()};if(x&&x.shapeFlag&1&&v&&!v.persisted){const{leave:I,delayLeave:O}=v,K=x.el,L=()=>I(K,T);O?O(K,T,L):L()}else T()},ct=(f,m)=>{let w;for(;f!==m;)w=b(f),o(f),f=w;o(m)},Xe=(f,m,w)=>{const{bum:h,scope:v,job:p,subTree:x,um:T,m:I,a:O}=f;Qo(I),Qo(O),h&&Gs(h),v.stop(),p?(p.flags|=8,ke(x,f,m,w)):f.vnode.el&&x&&(x.transition=f.vnode.transition,ke(x,f,m,w)),T&&je(T,m),je(()=>{f.isUnmounted=!0},m)},He=(f,m,w,h=!1,v=!1,p=0)=>{for(let x=p;x<f.length;x++)ke(f[x],m,w,h,v)},A=f=>{if(f.shapeFlag&6)return A(f.component.subTree);if(f.shapeFlag&128)return f.suspense.next();const m=b(f.anchor||f.el),w=m&&m[ya];return w?b(w):m},j=(f,m,w)=>{const h=f&&m._vnode?void 0:f&&f.component?f.component.uid:lc();ha(()=>{f==null?m._vnode&&ke(m._vnode,null,null,!0):M(m._vnode||null,f,m,null,null,null,w),m._vnode=f},h)},D={p:M,um:ke,m:Me,r:Nt,mt:kt,mc:Y,pc:re,pbc:fe,n:A,o:e};return{render:j,hydrate:void 0,createApp:Va(j)}}function Mn({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 qt({effect:e,job:t},s){s?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function ec(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Hr(e,t,s=!1){const n=e.children,o=t.children;if(z(n)&&z(o))for(let i=0;i<n.length;i++){const r=n[i];let l=o[i];l.shapeFlag&1&&!l.dynamicChildren&&((l.patchFlag<=0||l.patchFlag===32)&&(l=o[i]=Tt(o[i]),l.el=r.el),!s&&l.patchFlag!==-2&&Hr(r,l)),l.type===wn&&(l.patchFlag===-1&&(l=o[i]=Tt(l)),l.el=r.el),l.type===it&&!l.el&&(l.el=r.el)}}function tc(e){const t=e.slice(),s=[0];let n,o,i,r,l;const a=e.length;for(n=0;n<a;n++){const d=e[n];if(d!==0){if(o=s[s.length-1],e[o]<d){t[n]=o,s.push(n);continue}for(i=0,r=s.length-1;i<r;)l=i+r>>1,e[s[l]]<d?i=l+1:r=l;d<e[s[i]]&&(i>0&&(t[n]=s[i-1]),s[i]=n)}}for(i=s.length,r=s[i-1];i-- >0;)s[i]=r,r=t[r];return s}function jr(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:jr(t)}function Qo(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function Zn(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?Zn(t.subTree):null}const Ur=e=>e.__isSuspense;function sc(e,t){t&&t.pendingBranch?z(e)?t.effects.push(...e):t.effects.push(e):da(e)}const oe=Symbol.for("v-fgt"),wn=Symbol.for("v-txt"),it=Symbol.for("v-cmt"),Nn=Symbol.for("v-stc"),ss=[];let Ke=null;function R(e=!1){ss.push(Ke=e?null:[])}function Br(){ss.pop(),Ke=ss[ss.length-1]||null}let Ps=1;function nn(e,t=!1){Ps+=e,e<0&&Ke&&t&&(Ke.hasOnce=!0)}function Kr(e){return e.dynamicChildren=Ps>0?Ke||Xt:null,Br(),Ps>0&&Ke&&Ke.push(e),e}function P(e,t,s,n,o,i){return Kr(u(e,t,s,n,o,i,!0))}function st(e,t,s,n,o){return Kr(B(e,t,s,n,o,!0))}function Is(e){return e?e.__v_isVNode===!0:!1}function ms(e,t){return e.type===t.type&&e.key===t.key}const zr=({key:e})=>e??null,Js=({ref:e,ref_key:t,ref_for:s})=>(typeof e=="number"&&(e=""+e),e!=null?be(e)||we(e)||Z(e)?{i:qe,r:e,k:t,f:!!s}:e:null);function u(e,t=null,s=null,n=0,o=null,i=e===oe?0:1,r=!1,l=!1){const a={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&zr(t),ref:t&&Js(t),scopeId:_r,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:i,patchFlag:n,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:qe};return l?(on(a,s),i&128&&e.normalize(a)):s&&(a.shapeFlag|=be(s)?8:16),Ps>0&&!r&&Ke&&(a.patchFlag>0||i&6)&&a.patchFlag!==32&&Ke.push(a),a}const B=nc;function nc(e,t=null,s=null,n=0,o=null,i=!1){if((!e||e===Oa)&&(e=it),Is(e)){const l=cs(e,t,!0);return s&&on(l,s),Ps>0&&!i&&Ke&&(l.shapeFlag&6?Ke[Ke.indexOf(e)]=l:Ke.push(l)),l.patchFlag=-2,l}if(hc(e)&&(e=e.__vccOpts),t){t=oc(t);let{class:l,style:a}=t;l&&!be(l)&&(t.class=_e(l)),ue(a)&&(gn(a)&&!z(a)&&(a=Ie({},a)),t.style=hn(a))}const r=be(e)?1:Ur(e)?128:vn(e)?64:ue(e)?4:Z(e)?2:0;return u(e,t,s,n,o,r,i,!0)}function oc(e){return e?gn(e)||Mr(e)?Ie({},e):e:null}function cs(e,t,s=!1,n=!1){const{props:o,ref:i,patchFlag:r,children:l,transition:a}=e,d=t?ic(o||{},t):o,c={__v_isVNode:!0,__v_skip:!0,type:e.type,props:d,key:d&&zr(d),ref:t&&t.ref?s&&i?z(i)?i.concat(Js(t)):[i,Js(t)]:Js(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==oe?r===-1?16:r|16:r,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:a,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&cs(e.ssContent),ssFallback:e.ssFallback&&cs(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce,cacheIndex:e.cacheIndex};return a&&n&&en(c,a.clone(c)),c}function U(e=" ",t=0){return B(wn,null,e,t)}function ee(e="",t=!1){return t?(R(),st(it,null,e)):B(it,null,e)}function mt(e){return e==null||typeof e=="boolean"?B(it):z(e)?B(oe,null,e.slice()):Is(e)?Tt(e):B(wn,null,String(e))}function Tt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:cs(e)}function on(e,t){let s=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(z(t))s=16;else if(typeof t=="object")if(n&65){const o=t.default;o&&(o._c&&(o._d=!1),on(e,o()),o._c&&(o._d=!0));return}else{s=32;const o=t._;!o&&!Mr(t)?t._ctx=qe:o===3&&qe&&(qe.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(Z(t)){if(n&65){on(e,{default:t});return}t={default:t,_ctx:qe},s=32}else t=String(t),n&64?(s=16,t=[U(t)]):s=8;e.children=t,e.shapeFlag|=s}function ic(...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=_e([t.class,n.class]));else if(o==="style")t.style=hn([t.style,n.style]);else if(ln(o)){const i=t[o],r=n[o];r&&i!==r&&!(z(i)&&i.includes(r))?t[o]=i?[].concat(i,r):r:r==null&&i==null&&!an(o)&&(t[o]=r)}else o!==""&&(t[o]=n[o])}return t}function ht(e,t,s,n=null){ot(e,t,7,[s,n])}const rc=Rr();let Wr=0;function lc(){return Wr}function ac(e,t,s){const n=e.type,o=(t?t.appContext:e.appContext)||rc,i={uid:Wr++,vnode:e,type:n,parent:t,appContext:o,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new Gi(!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:Dr(n,o),emitsOptions:Tr(n,o),emit:null,emitted:null,propsDefaults:me,inheritAttrs:n.inheritAttrs,ctx:me,data:me,props:me,attrs:me,slots:me,refs:me,setupState:me,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 i.ctx={_:i},i.root=t?t.root:i,i.emit=Ha.bind(null,i),e.ce&&e.ce(i),i}let Le=null;const Gr=()=>Le||qe;let rn,$s;{const e=dn(),t=(s,n)=>{let o;return(o=e[s])||(o=e[s]=[]),o.push(n),i=>{o.length>1?o.forEach(r=>r(i)):o[0](i)}};rn=t("__VUE_INSTANCE_SETTERS__",s=>Le=s),$s=t("__VUE_SSR_SETTERS__",s=>Ms=s)}const Ls=e=>{const t=Le;return rn(e),e.scope.on(),()=>{e.scope.off(),rn(t)}},Xo=()=>{Le&&Le.scope.off(),rn(null)};function qr(e){return e.vnode.shapeFlag&4}let Ms=!1;function cc(e,t=!1,s=!1){t&&$s(t);const{props:n,children:o}=e.vnode,i=qr(e);Wa(e,n,i,t),Ya(e,o,s||t);const r=i?uc(e,t):void 0;return t&&$s(!1),r}function uc(e,t){const s=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Pa);const{setup:n}=s;if(n){St();const o=e.setupContext=n.length>1?dc(e):null,i=Ls(e),r=Fs(n,e,0,[e.props,o]),l=Li(r);if(xt(),i(),(l||e.sp)&&!Cs(e)&&xr(e),l){if(r.then(Xo,Xo),t)return r.then(a=>{$s(!0);try{Zo(e,a,t)}finally{$s(!1)}}).catch(a=>{mn(a,e,0)});e.asyncDep=r}else Zo(e,r)}else Jr(e)}function Zo(e,t,s){Z(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ue(t)&&(e.setupState=hr(t)),Jr(e)}function Jr(e,t,s){const n=e.type;e.render||(e.render=n.render||_t);{const o=Ls(e);St();try{Ia(e)}finally{xt(),o()}}}const fc={get(e,t){return Ne(e,"get",""),e[t]}};function dc(e){const t=s=>{e.exposed=s||{}};return{attrs:new Proxy(e.attrs,fc),slots:e.slots,emit:e.emit,expose:t}}function Sn(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(hr(_o(e.exposed)),{get(t,s){if(s in t)return t[s];if(s in ks)return ks[s](e)},has(t,s){return s in t||s in ks}})):e.proxy}function hc(e){return Z(e)&&"__vccOpts"in e}const se=(e,t)=>la(e,t,Ms);function Yr(e,t,s){try{nn(-1);const n=arguments.length;return n===2?ue(t)&&!z(t)?Is(t)?B(e,null,[t]):B(e,t):B(e,null,t):(n>3?s=Array.prototype.slice.call(arguments,2):n===3&&Is(s)&&(s=[s]),B(e,t,s))}finally{nn(1)}}const pc="3.5.44";/**
14
- * @vue/runtime-dom v3.5.44
15
- * (c) 2018-present Yuxi (Evan) You and Vue contributors
16
- * @license MIT
17
- **/let eo;const ei=typeof window<"u"&&window.trustedTypes;if(ei)try{eo=ei.createPolicy("vue",{createHTML:e=>e})}catch{}const Qr=eo?e=>eo.createHTML(e):e=>e,gc="http://www.w3.org/2000/svg",mc="http://www.w3.org/1998/Math/MathML",Rt=typeof document<"u"?document:null,ti=Rt&&Rt.createElement("template"),vc={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"?Rt.createElementNS(gc,e):t==="mathml"?Rt.createElementNS(mc,e):s?Rt.createElement(e,{is:s}):Rt.createElement(e);return e==="select"&&n&&n.multiple!=null&&o.setAttribute("multiple",n.multiple),o},createText:e=>Rt.createTextNode(e),createComment:e=>Rt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Rt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,s,n,o,i){const r=s?s.previousSibling:t.lastChild;if(o&&(o===i||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),s),!(o===i||!(o=o.nextSibling)););else{ti.innerHTML=Qr(n==="svg"?`<svg>${e}</svg>`:n==="mathml"?`<math>${e}</math>`:e);const l=ti.content;if(n==="svg"||n==="mathml"){const a=l.firstChild;for(;a.firstChild;)l.appendChild(a.firstChild);l.removeChild(a)}t.insertBefore(l,s)}return[r?r.nextSibling:t.firstChild,s?s.previousSibling:t.lastChild]}},yc=Symbol("_vtc");function _c(e,t,s){const n=e[yc];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):s?e.setAttribute("class",t):e.className=t}const si=Symbol("_vod"),bc=Symbol("_vsh"),wc=Symbol(""),Sc=/(?:^|;)\s*display\s*:/;function xc(e,t,s){const n=e.style,o=be(s);let i=!1;if(s&&!o){if(t)if(be(t))for(const r of t.split(";")){const l=r.slice(0,r.indexOf(":")).trim();s[l]==null&&_s(n,l,"")}else for(const r in t)s[r]==null&&_s(n,r,"");for(const r in s){r==="display"&&(i=!0);const l=s[r];l!=null?kc(e,r,!be(t)&&t?t[r]:void 0,l)||_s(n,r,l):_s(n,r,"")}}else if(o){if(t!==s){const r=n[wc];r&&(s+=";"+r),n.cssText=s,i=Sc.test(s)}}else t&&e.removeAttribute("style");si in e&&((!o||t!==s)&&(e[si]=i?n.display:""),e[bc]&&(n.display="none"))}const Ks=/\s*!important$/;function _s(e,t,s){if(z(s))s.forEach(n=>_s(e,t,n));else if(s==null&&(s=""),t.startsWith("--"))Ks.test(s)?e.setProperty(t,s.replace(Ks,""),"important"):e.setProperty(t,s);else{const n=Cc(e,t);Ks.test(s)?e.setProperty(zt(n),s.replace(Ks,""),"important"):e[n]=s}}const ni=["Webkit","Moz","ms"],Dn={};function Cc(e,t){const s=Dn[t];if(s)return s;let n=et(t);if(n!=="filter"&&n in e)return Dn[t]=n;n=Ui(n);for(let o=0;o<ni.length;o++){const i=ni[o]+n;if(i in e)return Dn[t]=i}return t}function kc(e,t,s,n){return e.tagName==="TEXTAREA"&&(t==="width"||t==="height")&&be(n)&&s===n}const oi="http://www.w3.org/1999/xlink";function ii(e,t,s,n,o,i=$l(t)){n&&t.startsWith("xlink:")?s==null?e.removeAttributeNS(oi,t.slice(6,t.length)):e.setAttributeNS(oi,t,s):s==null||i&&!Ki(s)?e.removeAttribute(t):e.setAttribute(t,i?"":Je(s)?String(s):s)}function ri(e,t,s,n,o){if(t==="innerHTML"||t==="textContent"){s!=null&&(e[t]=t==="innerHTML"?Qr(s):s);return}const i=e.tagName;if(t==="value"&&i!=="PROGRESS"&&!i.includes("-")){const l=i==="OPTION"?e.getAttribute("value")||"":e.value,a=s==null?e.type==="checkbox"?"on":"":String(s);(l!==a||!("_value"in e))&&(e.value=a),s==null&&e.removeAttribute(t),e._value=s;return}let r=!1;if(s===""||s==null){const l=typeof e[t];l==="boolean"?s=Ki(s):s==null&&l==="string"?(s="",r=!0):l==="number"&&(s=0,r=!0)}try{e[t]=s}catch{}r&&e.removeAttribute(o||t)}function It(e,t,s,n){e.addEventListener(t,s,n)}function Ec(e,t,s,n){e.removeEventListener(t,s,n)}const li=Symbol("_vei");function Ac(e,t,s,n,o=null){const i=e[li]||(e[li]={}),r=i[t];if(n&&r)r.value=n;else{const[l,a]=Oc(t);if(n){const d=i[t]=$c(n,o);It(e,l,d,a)}else r&&(Ec(e,l,r,a),i[t]=void 0)}}const Rc=/(Once|Passive|Capture)$/,Tc=/^on:?(?:Once|Passive|Capture)$/;function Oc(e){let t,s;for(;(s=e.match(Rc))&&!Tc.test(e);)t||(t={}),e=e.slice(0,e.length-s[1].length),t[s[1].toLowerCase()]=!0;return[e[2]===":"?e.slice(3):zt(e.slice(2)),t]}let Fn=0;const Pc=Promise.resolve(),Ic=()=>Fn||(Pc.then(()=>Fn=0),Fn=Date.now());function $c(e,t){const s=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=s.attached)return;const o=s.value;if(z(o)){const i=n.stopImmediatePropagation;n.stopImmediatePropagation=()=>{i.call(n),n._stopped=!0};const r=o.slice(),l=[n];for(let a=0;a<r.length&&!n._stopped;a++){const d=r[a];d&&ot(d,t,5,l)}}else ot(o,t,5,[n])};return s.value=e,s.attached=Ic(),s}const ai=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Mc=(e,t,s,n,o,i)=>{const r=o==="svg";t==="class"?_c(e,n,r):t==="style"?xc(e,s,n):ln(t)?an(t)||Ac(e,t,s,n,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Nc(e,t,n,r))?(ri(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&ii(e,t,n,r,i,t!=="value")):e._isVueCE&&(Dc(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!be(n)))?ri(e,et(t),n,i,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),ii(e,t,n,r))};function Nc(e,t,s,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&ai(t)&&Z(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 ai(t)&&be(s)?!1:t in e}function Dc(e,t){const s=e._def.props;if(!s)return!1;const n=et(t);return Array.isArray(s)?s.some(o=>et(o)===n):Object.keys(s).some(o=>et(o)===n)}const Kt=e=>{const t=e.props["onUpdate:modelValue"]||!1;return z(t)?s=>Gs(t,s):t};function Fc(e){e.target.composing=!0}function ci(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const ze=Symbol("_assign"),zs=Symbol("_initialValue");function Vn(e,t,s){return t&&(e=e.trim()),s&&(e=fn(e)),e}const Ut={created(e,{modifiers:{lazy:t,trim:s,number:n}},o){e.parentNode&&(e.type==="text"?e[zs]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[zs]=e.defaultValue.replace(/\r\n?/g,`
18
- `))),e[ze]=Kt(o);const i=n||o.props&&o.props.type==="number";It(e,t?"change":"input",r=>{r.target.composing||e[ze](Vn(e.value,s,i))}),(s||i)&&It(e,"change",()=>{e.value=Vn(e.value,s,i)}),t||(It(e,"compositionstart",Fc),It(e,"compositionend",ci),It(e,"change",ci))},mounted(e,{value:t,modifiers:{trim:s,number:n}}){const o=t??"",i=e[zs];delete e[zs],i!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==i?e[ze](Vn(e.value,s,n)):e.value=o},beforeUpdate(e,{value:t,oldValue:s,modifiers:{lazy:n,trim:o,number:i}},r){if(e[ze]=Kt(r),e.composing)return;const l=(i||e.type==="number")&&!/^0\d/.test(e.value)?fn(e.value):e.value,a=t??"";if(l===a)return;const d=e.getRootNode();(d instanceof Document||d instanceof ShadowRoot)&&d.activeElement===e&&e.type!=="range"&&(n&&t===s||o&&e.value.trim()===a)||(e.value=a)}},Xr={deep:!0,created(e,t,s){e[ze]=Kt(s),It(e,"change",()=>{const n=e._modelValue,o=us(e),i=e.checked,r=e[ze];if(z(n)){const l=fo(n,o),a=l!==-1;if(i&&!a)r(n.concat(o));else if(!i&&a){const d=[...n];d.splice(l,1),r(d)}}else if($t(n)){const l=new Set(n);i?l.add(o):l.delete(o),r(l)}else r(Zr(e,i))})},mounted:ui,beforeUpdate(e,t,s){e[ze]=Kt(s),ui(e,t,s)}};function ui(e,{value:t,oldValue:s},n){e._modelValue=t;let o;if(z(t))o=fo(t,n.props.value)>-1;else if($t(t))o=t.has(n.props.value);else{if(t===s)return;o=nt(t,Zr(e,!0))}e.checked!==o&&(e.checked=o)}const Vc={created(e,{value:t},s){e.checked=nt(t,s.props.value),e[ze]=Kt(s),It(e,"change",()=>{e[ze](us(e))})},beforeUpdate(e,{value:t,oldValue:s},n){e[ze]=Kt(n),t!==s&&(e.checked=nt(t,n.props.value))}},Co={deep:!0,created(e,{value:t,modifiers:{number:s}},n){e._modelValue=t,It(e,"change",()=>{const o=Array.prototype.filter.call(e.options,a=>a.selected).map(a=>s?fn(us(a)):us(a)),i=e.multiple,r=i?$t(e._modelValue)?new Set(o):o:o[0],l=e._pendingValue=[i,i?z(r)?o.slice():o:r];try{e[ze](r)}finally{Vs(()=>{e._pendingValue===l&&(e._pendingValue=void 0)})}}),e[ze]=Kt(n)},mounted(e,{value:t}){fi(e,t)},beforeUpdate(e,{value:t},s){e._modelValue=t,e[ze]=Kt(s)},updated(e,{value:t}){const s=e._pendingValue;e._pendingValue=void 0,(!s||s[0]!==e.multiple||!Lc(t,s[1],s[0]))&&fi(e,t)}};function Lc(e,t,s){if(!s||z(e))return nt(e,t);if($t(e)){if(e.size!==t.length)return!1;for(const n of t)if(!e.has(n))return!1;return!0}return!1}function fi(e,t){const s=e.multiple,n=z(t);if(!(s&&!n&&!$t(t))){for(let o=0,i=e.options.length;o<i;o++){const r=e.options[o],l=us(r);if(s)if(n){const a=typeof l;a==="string"||a==="number"?r.selected=t.some(d=>String(d)===String(l)):r.selected=fo(t,l)>-1}else r.selected=t.has(l);else if(nt(us(r),t)){e.selectedIndex!==o&&(e.selectedIndex=o);return}}!s&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function us(e){return"_value"in e?e._value:e.value}function Zr(e,t){const s=t?"_trueValue":"_falseValue";return s in e?e[s]:t}const Hc={created(e,t,s){Ws(e,t,s,null,"created")},mounted(e,t,s){Ws(e,t,s,null,"mounted")},beforeUpdate(e,t,s,n){Ws(e,t,s,n,"beforeUpdate")},updated(e,t,s,n){Ws(e,t,s,n,"updated")}};function jc(e,t){switch(e){case"SELECT":return Co;case"TEXTAREA":return Ut;default:switch(t){case"checkbox":return Xr;case"radio":return Vc;default:return Ut}}}function Ws(e,t,s,n,o){const r=jc(e.tagName,s.props&&s.props.type)[o];r&&r(e,t,s,n)}const Uc=["ctrl","shift","alt","meta"],Bc={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)=>Uc.some(s=>e[`${s}Key`]&&!t.includes(s))},to=(e,t)=>{if(!e)return e;const s=e._withMods||(e._withMods={}),n=t.join(".");return s[n]||(s[n]=(o,...i)=>{for(let r=0;r<t.length;r++){const l=Bc[t[r]];if(l&&l(o,t))return}return e(o,...i)})},Kc={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},zc=(e,t)=>{const s=e._withKeys||(e._withKeys={}),n=t.join(".");return s[n]||(s[n]=o=>{if(!("key"in o))return;const i=zt(o.key);if(t.some(r=>r===i||Kc[r]===i))return e(o)})},Wc=Ie({patchProp:Mc},vc);let di;function Gc(){return di||(di=Xa(Wc))}const qc=(...e)=>{const t=Gc().createApp(...e),{mount:s}=t;return t.mount=n=>{const o=Yc(n);if(!o)return;const i=t._component;!Z(i)&&!i.render&&!i.template&&(i.template=o.innerHTML),o.nodeType===1&&(o.textContent="");const r=s(o,!1,Jc(o));return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),r},t};function Jc(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Yc(e){return be(e)?document.querySelector(e):e}/*!
19
- * pinia v2.3.1
20
- * (c) 2025 Eduardo San Martin Morote
21
- * @license MIT
22
- */let el;const xn=e=>el=e,tl=Symbol();function so(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Es;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Es||(Es={}));function Qc(){const e=qi(!0),t=e.run(()=>ne({}));let s=[],n=[];const o=_o({install(i){xn(o),o._a=i,i.provide(tl,o),i.config.globalProperties.$pinia=o,n.forEach(r=>s.push(r)),n=[]},use(i){return this._a?s.push(i):n.push(i),this},_p:s,_a:null,_e:e,_s:new Map,state:t});return o}const sl=()=>{};function hi(e,t,s,n=sl){e.push(t);const o=()=>{const i=e.indexOf(t);i>-1&&(e.splice(i,1),n())};return!s&&Ji()&&Dl(o),o}function is(e,...t){e.slice().forEach(s=>{s(...t)})}const Xc=e=>e(),pi=Symbol(),Ln=Symbol();function no(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];so(o)&&so(n)&&e.hasOwnProperty(s)&&!we(n)&&!bt(n)?e[s]=no(o,n):e[s]=n}return e}const Zc=Symbol();function eu(e){return!so(e)||!e.hasOwnProperty(Zc)}const{assign:Ft}=Object;function tu(e){return!!(we(e)&&e.effect)}function su(e,t,s,n){const{state:o,actions:i,getters:r}=t,l=s.state.value[e];let a;function d(){l||(s.state.value[e]=o?o():{});const c=na(s.state.value[e]);return Ft(c,i,Object.keys(r||{}).reduce((g,b)=>(g[b]=_o(se(()=>{xn(s);const _=s._s.get(e);return r[b].call(_,_)})),g),{}))}return a=nl(e,d,t,s,n,!0),a}function nl(e,t,s={},n,o,i){let r;const l=Ft({actions:{}},s),a={deep:!0};let d,c,g=[],b=[],_;const $=n.state.value[e];!i&&!$&&(n.state.value[e]={});let M;function F(Y){let q;d=c=!1,typeof Y=="function"?(Y(n.state.value[e]),q={type:Es.patchFunction,storeId:e,events:_}):(no(n.state.value[e],Y),q={type:Es.patchObject,payload:Y,storeId:e,events:_});const fe=M=Symbol();Vs().then(()=>{M===fe&&(d=!0)}),c=!0,is(g,q,n.state.value[e])}const k=i?function(){const{state:q}=s,fe=q?q():{};this.$patch(Se=>{Ft(Se,fe)})}:sl;function E(){r.stop(),g=[],b=[],n._s.delete(e)}const N=(Y,q="")=>{if(pi in Y)return Y[Ln]=q,Y;const fe=function(){xn(n);const Se=Array.from(arguments),Te=[],$e=[];function kt(Q){Te.push(Q)}function Ge(Q){$e.push(Q)}is(b,{args:Se,name:fe[Ln],store:H,after:kt,onError:Ge});let pe;try{pe=Y.apply(this&&this.$id===e?this:H,Se)}catch(Q){throw is($e,Q),Q}return pe instanceof Promise?pe.then(Q=>(is(Te,Q),Q)).catch(Q=>(is($e,Q),Promise.reject(Q))):(is(Te,pe),pe)};return fe[pi]=!0,fe[Ln]=q,fe},V={_p:n,$id:e,$onAction:hi.bind(null,b),$patch:F,$reset:k,$subscribe(Y,q={}){const fe=hi(g,Y,q.detached,()=>Se()),Se=r.run(()=>jt(()=>n.state.value[e],Te=>{(q.flush==="sync"?c:d)&&Y({storeId:e,type:Es.direct,events:_},Te)},Ft({},a,q)));return fe},$dispose:E},H=ns(V);n._s.set(e,H);const te=(n._a&&n._a.runWithContext||Xc)(()=>n._e.run(()=>(r=qi()).run(()=>t({action:N}))));for(const Y in te){const q=te[Y];if(we(q)&&!tu(q)||bt(q))i||($&&eu(q)&&(we(q)?q.value=$[Y]:no(q,$[Y])),n.state.value[e][Y]=q);else if(typeof q=="function"){const fe=N(q,Y);te[Y]=fe,l.actions[Y]=q}}return Ft(H,te),Ft(le(H),te),Object.defineProperty(H,"$state",{get:()=>n.state.value[e],set:Y=>{F(q=>{Ft(q,Y)})}}),n._p.forEach(Y=>{Ft(H,r.run(()=>Y({store:H,app:n._a,pinia:n,options:l})))}),$&&i&&s.hydrate&&s.hydrate(H.$state,$),d=!0,c=!0,H}/*! #__NO_SIDE_EFFECTS__ */function Cn(e,t,s){let n,o;const i=typeof t=="function";typeof e=="string"?(n=e,o=i?s:t):(o=e,n=e.id);function r(l,a){const d=pa();return l=l||(d?wt(tl,null):null),l&&xn(l),l=el,l._s.has(n)||(i?nl(n,t,o,l):su(n,o,l)),l._s.get(n)}return r.$id=n,r}/*!
23
- * vue-router v4.6.4
24
- * (c) 2025 Eduardo San Martin Morote
25
- * @license MIT
26
- */const as=typeof document<"u";function ol(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function nu(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&ol(e.default)}const ce=Object.assign;function Hn(e,t){const s={};for(const n in t){const o=t[n];s[n]=rt(o)?o.map(e):e(o)}return s}const As=()=>{},rt=Array.isArray;function gi(e,t){const s={};for(const n in e)s[n]=n in t?t[n]:e[n];return s}const il=/#/g,ou=/&/g,iu=/\//g,ru=/=/g,lu=/\?/g,rl=/\+/g,au=/%5B/g,cu=/%5D/g,ll=/%5E/g,uu=/%60/g,al=/%7B/g,fu=/%7C/g,cl=/%7D/g,du=/%20/g;function ko(e){return e==null?"":encodeURI(""+e).replace(fu,"|").replace(au,"[").replace(cu,"]")}function hu(e){return ko(e).replace(al,"{").replace(cl,"}").replace(ll,"^")}function oo(e){return ko(e).replace(rl,"%2B").replace(du,"+").replace(il,"%23").replace(ou,"%26").replace(uu,"`").replace(al,"{").replace(cl,"}").replace(ll,"^")}function pu(e){return oo(e).replace(ru,"%3D")}function gu(e){return ko(e).replace(il,"%23").replace(lu,"%3F")}function mu(e){return gu(e).replace(iu,"%2F")}function Ns(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const vu=/\/$/,yu=e=>e.replace(vu,"");function jn(e,t,s="/"){let n,o={},i="",r="";const l=t.indexOf("#");let a=t.indexOf("?");return a=l>=0&&a>l?-1:a,a>=0&&(n=t.slice(0,a),i=t.slice(a,l>0?l:t.length),o=e(i.slice(1))),l>=0&&(n=n||t.slice(0,l),r=t.slice(l,t.length)),n=Su(n??t,s),{fullPath:n+i+r,path:n,query:o,hash:Ns(r)}}function _u(e,t){const s=t.query?e(t.query):"";return t.path+(s&&"?")+s+(t.hash||"")}function mi(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function bu(e,t,s){const n=t.matched.length-1,o=s.matched.length-1;return n>-1&&n===o&&fs(t.matched[n],s.matched[o])&&ul(t.params,s.params)&&e(t.query)===e(s.query)&&t.hash===s.hash}function fs(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function ul(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var s in e)if(!wu(e[s],t[s]))return!1;return!0}function wu(e,t){return rt(e)?vi(e,t):rt(t)?vi(t,e):(e==null?void 0:e.valueOf())===(t==null?void 0:t.valueOf())}function vi(e,t){return rt(t)?e.length===t.length&&e.every((s,n)=>s===t[n]):e.length===1&&e[0]===t}function Su(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 i=s.length-1,r,l;for(r=0;r<n.length;r++)if(l=n[r],l!==".")if(l==="..")i>1&&i--;else break;return s.slice(0,i).join("/")+"/"+n.slice(r).join("/")}const Dt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let io=function(e){return e.pop="pop",e.push="push",e}({}),Un=function(e){return e.back="back",e.forward="forward",e.unknown="",e}({});function xu(e){if(!e)if(as){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),yu(e)}const Cu=/^[^#]+#/;function ku(e,t){return e.replace(Cu,"#")+t}function Eu(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 kn=()=>({left:window.scrollX,top:window.scrollY});function Au(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=Eu(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 yi(e,t){return(history.state?history.state.position-t:-1)+e}const ro=new Map;function Ru(e,t){ro.set(e,t)}function Tu(e){const t=ro.get(e);return ro.delete(e),t}function Ou(e){return typeof e=="string"||e&&typeof e=="object"}function fl(e){return typeof e=="string"||typeof e=="symbol"}let ye=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 dl=Symbol("");ye.MATCHER_NOT_FOUND+"",ye.NAVIGATION_GUARD_REDIRECT+"",ye.NAVIGATION_ABORTED+"",ye.NAVIGATION_CANCELLED+"",ye.NAVIGATION_DUPLICATED+"";function ds(e,t){return ce(new Error,{type:e,[dl]:!0},t)}function At(e,t){return e instanceof Error&&dl in e&&(t==null||!!(e.type&t))}const Pu=["params","query","hash"];function Iu(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const s of Pu)s in e&&(t[s]=e[s]);return JSON.stringify(t,null,2)}function $u(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(rl," "),i=o.indexOf("="),r=Ns(i<0?o:o.slice(0,i)),l=i<0?null:Ns(o.slice(i+1));if(r in t){let a=t[r];rt(a)||(a=t[r]=[a]),a.push(l)}else t[r]=l}return t}function _i(e){let t="";for(let s in e){const n=e[s];if(s=pu(s),n==null){n!==void 0&&(t+=(t.length?"&":"")+s);continue}(rt(n)?n.map(o=>o&&oo(o)):[n&&oo(n)]).forEach(o=>{o!==void 0&&(t+=(t.length?"&":"")+s,o!=null&&(t+="="+o))})}return t}function Mu(e){const t={};for(const s in e){const n=e[s];n!==void 0&&(t[s]=rt(n)?n.map(o=>o==null?null:""+o):n==null?n:""+n)}return t}const Nu=Symbol(""),bi=Symbol(""),Eo=Symbol(""),hl=Symbol(""),lo=Symbol("");function vs(){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 Lt(e,t,s,n,o,i=r=>r()){const r=n&&(n.enterCallbacks[o]=n.enterCallbacks[o]||[]);return()=>new Promise((l,a)=>{const d=b=>{b===!1?a(ds(ye.NAVIGATION_ABORTED,{from:s,to:t})):b instanceof Error?a(b):Ou(b)?a(ds(ye.NAVIGATION_GUARD_REDIRECT,{from:t,to:b})):(r&&n.enterCallbacks[o]===r&&typeof b=="function"&&r.push(b),l())},c=i(()=>e.call(n&&n.instances[o],t,s,d));let g=Promise.resolve(c);e.length<3&&(g=g.then(d)),g.catch(b=>a(b))})}function Bn(e,t,s,n,o=i=>i()){const i=[];for(const r of e)for(const l in r.components){let a=r.components[l];if(!(t!=="beforeRouteEnter"&&!r.instances[l]))if(ol(a)){const d=(a.__vccOpts||a)[t];d&&i.push(Lt(d,s,n,r,l,o))}else{let d=a();i.push(()=>d.then(c=>{if(!c)throw new Error(`Couldn't resolve component "${l}" at "${r.path}"`);const g=nu(c)?c.default:c;r.mods[l]=c,r.components[l]=g;const b=(g.__vccOpts||g)[t];return b&&Lt(b,s,n,r,l,o)()}))}}return i}function Du(e,t){const s=[],n=[],o=[],i=Math.max(t.matched.length,e.matched.length);for(let r=0;r<i;r++){const l=t.matched[r];l&&(e.matched.find(d=>fs(d,l))?n.push(l):s.push(l));const a=e.matched[r];a&&(t.matched.find(d=>fs(d,a))||o.push(a))}return[s,n,o]}/*!
27
- * vue-router v4.6.4
28
- * (c) 2025 Eduardo San Martin Morote
29
- * @license MIT
30
- */let Fu=()=>location.protocol+"//"+location.host;function pl(e,t){const{pathname:s,search:n,hash:o}=t,i=e.indexOf("#");if(i>-1){let r=o.includes(e.slice(i))?e.slice(i).length:1,l=o.slice(r);return l[0]!=="/"&&(l="/"+l),mi(l,"")}return mi(s,e)+n+o}function Vu(e,t,s,n){let o=[],i=[],r=null;const l=({state:b})=>{const _=pl(e,location),$=s.value,M=t.value;let F=0;if(b){if(s.value=_,t.value=b,r&&r===$){r=null;return}F=M?b.position-M.position:0}else n(_);o.forEach(k=>{k(s.value,$,{delta:F,type:io.pop,direction:F?F>0?Un.forward:Un.back:Un.unknown})})};function a(){r=s.value}function d(b){o.push(b);const _=()=>{const $=o.indexOf(b);$>-1&&o.splice($,1)};return i.push(_),_}function c(){if(document.visibilityState==="hidden"){const{history:b}=window;if(!b.state)return;b.replaceState(ce({},b.state,{scroll:kn()}),"")}}function g(){for(const b of i)b();i=[],window.removeEventListener("popstate",l),window.removeEventListener("pagehide",c),document.removeEventListener("visibilitychange",c)}return window.addEventListener("popstate",l),window.addEventListener("pagehide",c),document.addEventListener("visibilitychange",c),{pauseListeners:a,listen:d,destroy:g}}function wi(e,t,s,n=!1,o=!1){return{back:e,current:t,forward:s,replaced:n,position:window.history.length,scroll:o?kn():null}}function Lu(e){const{history:t,location:s}=window,n={value:pl(e,s)},o={value:t.state};o.value||i(n.value,{back:null,current:n.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function i(a,d,c){const g=e.indexOf("#"),b=g>-1?(s.host&&document.querySelector("base")?e:e.slice(g))+a:Fu()+e+a;try{t[c?"replaceState":"pushState"](d,"",b),o.value=d}catch(_){console.error(_),s[c?"replace":"assign"](b)}}function r(a,d){i(a,ce({},t.state,wi(o.value.back,a,o.value.forward,!0),d,{position:o.value.position}),!0),n.value=a}function l(a,d){const c=ce({},o.value,t.state,{forward:a,scroll:kn()});i(c.current,c,!0),i(a,ce({},wi(n.value,a,null),{position:c.position+1},d),!1),n.value=a}return{location:n,state:o,push:l,replace:r}}function Hu(e){e=xu(e);const t=Lu(e),s=Vu(e,t.state,t.location,t.replace);function n(i,r=!0){r||s.pauseListeners(),history.go(i)}const o=ce({location:"",base:e,go:n,createHref:ku.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}function ju(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),Hu(e)}let Zt=function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e}({});var Ee=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}(Ee||{});const Uu={type:Zt.Static,value:""},Bu=/[a-zA-Z0-9_]/;function Ku(e){if(!e)return[[]];if(e==="/")return[[Uu]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(_){throw new Error(`ERR (${s})/"${d}": ${_}`)}let s=Ee.Static,n=s;const o=[];let i;function r(){i&&o.push(i),i=[]}let l=0,a,d="",c="";function g(){d&&(s===Ee.Static?i.push({type:Zt.Static,value:d}):s===Ee.Param||s===Ee.ParamRegExp||s===Ee.ParamRegExpEnd?(i.length>1&&(a==="*"||a==="+")&&t(`A repeatable param (${d}) must be alone in its segment. eg: '/:ids+.`),i.push({type:Zt.Param,value:d,regexp:c,repeatable:a==="*"||a==="+",optional:a==="*"||a==="?"})):t("Invalid state to consume buffer"),d="")}function b(){d+=a}for(;l<e.length;){if(a=e[l++],a==="\\"&&s!==Ee.ParamRegExp){n=s,s=Ee.EscapeNext;continue}switch(s){case Ee.Static:a==="/"?(d&&g(),r()):a===":"?(g(),s=Ee.Param):b();break;case Ee.EscapeNext:b(),s=n;break;case Ee.Param:a==="("?s=Ee.ParamRegExp:Bu.test(a)?b():(g(),s=Ee.Static,a!=="*"&&a!=="?"&&a!=="+"&&l--);break;case Ee.ParamRegExp:a===")"?c[c.length-1]=="\\"?c=c.slice(0,-1)+a:s=Ee.ParamRegExpEnd:c+=a;break;case Ee.ParamRegExpEnd:g(),s=Ee.Static,a!=="*"&&a!=="?"&&a!=="+"&&l--,c="";break;default:t("Unknown state");break}}return s===Ee.ParamRegExp&&t(`Unfinished custom RegExp for param "${d}"`),g(),r(),o}const Si="[^/]+?",zu={sensitive:!1,strict:!1,start:!0,end:!0};var Fe=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}(Fe||{});const Wu=/[.+*?^${}()[\]/\\]/g;function Gu(e,t){const s=ce({},zu,t),n=[];let o=s.start?"^":"";const i=[];for(const d of e){const c=d.length?[]:[Fe.Root];s.strict&&!d.length&&(o+="/");for(let g=0;g<d.length;g++){const b=d[g];let _=Fe.Segment+(s.sensitive?Fe.BonusCaseSensitive:0);if(b.type===Zt.Static)g||(o+="/"),o+=b.value.replace(Wu,"\\$&"),_+=Fe.Static;else if(b.type===Zt.Param){const{value:$,repeatable:M,optional:F,regexp:k}=b;i.push({name:$,repeatable:M,optional:F});const E=k||Si;if(E!==Si){_+=Fe.BonusCustomRegExp;try{`${E}`}catch(V){throw new Error(`Invalid custom RegExp for param "${$}" (${E}): `+V.message)}}let N=M?`((?:${E})(?:/(?:${E}))*)`:`(${E})`;g||(N=F&&d.length<2?`(?:/${N})`:"/"+N),F&&(N+="?"),o+=N,_+=Fe.Dynamic,F&&(_+=Fe.BonusOptional),M&&(_+=Fe.BonusRepeatable),E===".*"&&(_+=Fe.BonusWildcard)}c.push(_)}n.push(c)}if(s.strict&&s.end){const d=n.length-1;n[d][n[d].length-1]+=Fe.BonusStrict}s.strict||(o+="/?"),s.end?o+="$":s.strict&&!o.endsWith("/")&&(o+="(?:/|$)");const r=new RegExp(o,s.sensitive?"":"i");function l(d){const c=d.match(r),g={};if(!c)return null;for(let b=1;b<c.length;b++){const _=c[b]||"",$=i[b-1];g[$.name]=_&&$.repeatable?_.split("/"):_}return g}function a(d){let c="",g=!1;for(const b of e){(!g||!c.endsWith("/"))&&(c+="/"),g=!1;for(const _ of b)if(_.type===Zt.Static)c+=_.value;else if(_.type===Zt.Param){const{value:$,repeatable:M,optional:F}=_,k=$ in d?d[$]:"";if(rt(k)&&!M)throw new Error(`Provided param "${$}" is an array but it is not repeatable (* or + modifiers)`);const E=rt(k)?k.join("/"):k;if(!E)if(F)b.length<2&&(c.endsWith("/")?c=c.slice(0,-1):g=!0);else throw new Error(`Missing required param "${$}"`);c+=E}}return c||"/"}return{re:r,score:n,keys:i,parse:l,stringify:a}}function qu(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]===Fe.Static+Fe.Segment?-1:1:e.length>t.length?t.length===1&&t[0]===Fe.Static+Fe.Segment?1:-1:0}function gl(e,t){let s=0;const n=e.score,o=t.score;for(;s<n.length&&s<o.length;){const i=qu(n[s],o[s]);if(i)return i;s++}if(Math.abs(o.length-n.length)===1){if(xi(n))return 1;if(xi(o))return-1}return o.length-n.length}function xi(e){const t=e[e.length-1];return e.length>0&&t[t.length-1]<0}const Ju={strict:!1,end:!0,sensitive:!1};function Yu(e,t,s){const n=Gu(Ku(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 Qu(e,t){const s=[],n=new Map;t=gi(Ju,t);function o(g){return n.get(g)}function i(g,b,_){const $=!_,M=ki(g);M.aliasOf=_&&_.record;const F=gi(t,g),k=[M];if("alias"in g){const V=typeof g.alias=="string"?[g.alias]:g.alias;for(const H of V)k.push(ki(ce({},M,{components:_?_.record.components:M.components,path:H,aliasOf:_?_.record:M})))}let E,N;for(const V of k){const{path:H}=V;if(b&&H[0]!=="/"){const he=b.record.path,te=he[he.length-1]==="/"?"":"/";V.path=b.record.path+(H&&te+H)}if(E=Yu(V,b,F),_?_.alias.push(E):(N=N||E,N!==E&&N.alias.push(E),$&&g.name&&!Ei(E)&&r(g.name)),ml(E)&&a(E),M.children){const he=M.children;for(let te=0;te<he.length;te++)i(he[te],E,_&&_.children[te])}_=_||E}return N?()=>{r(N)}:As}function r(g){if(fl(g)){const b=n.get(g);b&&(n.delete(g),s.splice(s.indexOf(b),1),b.children.forEach(r),b.alias.forEach(r))}else{const b=s.indexOf(g);b>-1&&(s.splice(b,1),g.record.name&&n.delete(g.record.name),g.children.forEach(r),g.alias.forEach(r))}}function l(){return s}function a(g){const b=ef(g,s);s.splice(b,0,g),g.record.name&&!Ei(g)&&n.set(g.record.name,g)}function d(g,b){let _,$={},M,F;if("name"in g&&g.name){if(_=n.get(g.name),!_)throw ds(ye.MATCHER_NOT_FOUND,{location:g});F=_.record.name,$=ce(Ci(b.params,_.keys.filter(N=>!N.optional).concat(_.parent?_.parent.keys.filter(N=>N.optional):[]).map(N=>N.name)),g.params&&Ci(g.params,_.keys.map(N=>N.name))),M=_.stringify($)}else if(g.path!=null)M=g.path,_=s.find(N=>N.re.test(M)),_&&($=_.parse(M),F=_.record.name);else{if(_=b.name?n.get(b.name):s.find(N=>N.re.test(b.path)),!_)throw ds(ye.MATCHER_NOT_FOUND,{location:g,currentLocation:b});F=_.record.name,$=ce({},b.params,g.params),M=_.stringify($)}const k=[];let E=_;for(;E;)k.unshift(E.record),E=E.parent;return{name:F,path:M,params:$,matched:k,meta:Zu(k)}}e.forEach(g=>i(g));function c(){s.length=0,n.clear()}return{addRoute:i,resolve:d,removeRoute:r,clearRoutes:c,getRoutes:l,getRecordMatcher:o}}function Ci(e,t){const s={};for(const n of t)n in e&&(s[n]=e[n]);return s}function ki(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Xu(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 Xu(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 Ei(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Zu(e){return e.reduce((t,s)=>ce(t,s.meta),{})}function ef(e,t){let s=0,n=t.length;for(;s!==n;){const i=s+n>>1;gl(e,t[i])<0?n=i:s=i+1}const o=tf(e);return o&&(n=t.lastIndexOf(o,n-1)),n}function tf(e){let t=e;for(;t=t.parent;)if(ml(t)&&gl(e,t)===0)return t}function ml({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function Ai(e){const t=wt(Eo),s=wt(hl),n=se(()=>{const a=y(e.to);return t.resolve(a)}),o=se(()=>{const{matched:a}=n.value,{length:d}=a,c=a[d-1],g=s.matched;if(!c||!g.length)return-1;const b=g.findIndex(fs.bind(null,c));if(b>-1)return b;const _=Ri(a[d-2]);return d>1&&Ri(c)===_&&g[g.length-1].path!==_?g.findIndex(fs.bind(null,a[d-2])):b}),i=se(()=>o.value>-1&&rf(s.params,n.value.params)),r=se(()=>o.value>-1&&o.value===s.matched.length-1&&ul(s.params,n.value.params));function l(a={}){if(of(a)){const d=t[y(e.replace)?"replace":"push"](y(e.to)).catch(As);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>d),d}return Promise.resolve()}return{route:n,href:se(()=>n.value.href),isActive:i,isExactActive:r,navigate:l}}function sf(e){return e.length===1?e[0]:e}const nf=Ue({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:Ai,setup(e,{slots:t}){const s=ns(Ai(e)),{options:n}=wt(Eo),o=se(()=>({[Ti(e.activeClass,n.linkActiveClass,"router-link-active")]:s.isActive,[Ti(e.exactActiveClass,n.linkExactActiveClass,"router-link-exact-active")]:s.isExactActive}));return()=>{const i=t.default&&sf(t.default(s));return e.custom?i:Yr("a",{"aria-current":s.isExactActive?e.ariaCurrentValue:null,href:s.href,onClick:s.navigate,class:o.value},i)}}}),Qt=nf;function of(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 rf(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(!rt(o)||o.length!==n.length||n.some((i,r)=>i.valueOf()!==o[r].valueOf()))return!1}return!0}function Ri(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Ti=(e,t,s)=>e??t??s,lf=Ue({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:s}){const n=wt(lo),o=se(()=>e.route||n.value),i=wt(bi,0),r=se(()=>{let d=y(i);const{matched:c}=o.value;let g;for(;(g=c[d])&&!g.components;)d++;return d}),l=se(()=>o.value.matched[r.value]);qs(bi,se(()=>r.value+1)),qs(Nu,l),qs(lo,o);const a=ne();return jt(()=>[a.value,l.value,e.name],([d,c,g],[b,_,$])=>{c&&(c.instances[g]=d,_&&_!==c&&d&&d===b&&(c.leaveGuards.size||(c.leaveGuards=_.leaveGuards),c.updateGuards.size||(c.updateGuards=_.updateGuards))),d&&c&&(!_||!fs(c,_)||!b)&&(c.enterCallbacks[g]||[]).forEach(M=>M(d))},{flush:"post"}),()=>{const d=o.value,c=e.name,g=l.value,b=g&&g.components[c];if(!b)return Oi(s.default,{Component:b,route:d});const _=g.props[c],$=_?_===!0?d.params:typeof _=="function"?_(d):_:null,F=Yr(b,ce({},$,t,{onVnodeUnmounted:k=>{k.component.isUnmounted&&(g.instances[c]=null)},ref:a}));return Oi(s.default,{Component:F,route:d})||F}}});function Oi(e,t){if(!e)return null;const s=e(t);return s.length===1?s[0]:s}const vl=lf;function af(e){const t=Qu(e.routes,e),s=e.parseQuery||$u,n=e.stringifyQuery||_i,o=e.history,i=vs(),r=vs(),l=vs(),a=ea(Dt);let d=Dt;as&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const c=Hn.bind(null,A=>""+A),g=Hn.bind(null,mu),b=Hn.bind(null,Ns);function _(A,j){let D,G;return fl(A)?(D=t.getRecordMatcher(A),G=j):G=A,t.addRoute(G,D)}function $(A){const j=t.getRecordMatcher(A);j&&t.removeRoute(j)}function M(){return t.getRoutes().map(A=>A.record)}function F(A){return!!t.getRecordMatcher(A)}function k(A,j){if(j=ce({},j||a.value),typeof A=="string"){const h=jn(s,A,j.path),v=t.resolve({path:h.path},j),p=o.createHref(h.fullPath);return ce(h,v,{params:b(v.params),hash:Ns(h.hash),redirectedFrom:void 0,href:p})}let D;if(A.path!=null)D=ce({},A,{path:jn(s,A.path,j.path).path});else{const h=ce({},A.params);for(const v in h)h[v]==null&&delete h[v];D=ce({},A,{params:g(h)}),j.params=g(j.params)}const G=t.resolve(D,j),f=A.hash||"";G.params=c(b(G.params));const m=_u(n,ce({},A,{hash:hu(f),path:G.path})),w=o.createHref(m);return ce({fullPath:m,hash:f,query:n===_i?Mu(A.query):A.query||{}},G,{redirectedFrom:void 0,href:w})}function E(A){return typeof A=="string"?jn(s,A,a.value.path):ce({},A)}function N(A,j){if(d!==A)return ds(ye.NAVIGATION_CANCELLED,{from:j,to:A})}function V(A){return te(A)}function H(A){return V(ce(E(A),{replace:!0}))}function he(A,j){const D=A.matched[A.matched.length-1];if(D&&D.redirect){const{redirect:G}=D;let f=typeof G=="function"?G(A,j):G;return typeof f=="string"&&(f=f.includes("?")||f.includes("#")?f=E(f):{path:f},f.params={}),ce({query:A.query,hash:A.hash,params:f.path!=null?{}:A.params},f)}}function te(A,j){const D=d=k(A),G=a.value,f=A.state,m=A.force,w=A.replace===!0,h=he(D,G);if(h)return te(ce(E(h),{state:typeof h=="object"?ce({},f,h.state):f,force:m,replace:w}),j||D);const v=D;v.redirectedFrom=j;let p;return!m&&bu(n,G,D)&&(p=ds(ye.NAVIGATION_DUPLICATED,{to:v,from:G}),Me(G,G,!0,!1)),(p?Promise.resolve(p):fe(v,G)).catch(x=>At(x)?At(x,ye.NAVIGATION_GUARD_REDIRECT)?x:at(x):re(x,v,G)).then(x=>{if(x){if(At(x,ye.NAVIGATION_GUARD_REDIRECT))return te(ce({replace:w},E(x.to),{state:typeof x.to=="object"?ce({},f,x.to.state):f,force:m}),j||v)}else x=Te(v,G,!0,w,f);return Se(v,G,x),x})}function Y(A,j){const D=N(A,j);return D?Promise.reject(D):Promise.resolve()}function q(A){const j=ct.values().next().value;return j&&typeof j.runWithContext=="function"?j.runWithContext(A):A()}function fe(A,j){let D;const[G,f,m]=Du(A,j);D=Bn(G.reverse(),"beforeRouteLeave",A,j);for(const h of G)h.leaveGuards.forEach(v=>{D.push(Lt(v,A,j))});const w=Y.bind(null,A,j);return D.push(w),He(D).then(()=>{D=[];for(const h of i.list())D.push(Lt(h,A,j));return D.push(w),He(D)}).then(()=>{D=Bn(f,"beforeRouteUpdate",A,j);for(const h of f)h.updateGuards.forEach(v=>{D.push(Lt(v,A,j))});return D.push(w),He(D)}).then(()=>{D=[];for(const h of m)if(h.beforeEnter)if(rt(h.beforeEnter))for(const v of h.beforeEnter)D.push(Lt(v,A,j));else D.push(Lt(h.beforeEnter,A,j));return D.push(w),He(D)}).then(()=>(A.matched.forEach(h=>h.enterCallbacks={}),D=Bn(m,"beforeRouteEnter",A,j,q),D.push(w),He(D))).then(()=>{D=[];for(const h of r.list())D.push(Lt(h,A,j));return D.push(w),He(D)}).catch(h=>At(h,ye.NAVIGATION_CANCELLED)?h:Promise.reject(h))}function Se(A,j,D){l.list().forEach(G=>q(()=>G(A,j,D)))}function Te(A,j,D,G,f){const m=N(A,j);if(m)return m;const w=j===Dt,h=as?history.state:{};D&&(G||w?o.replace(A.fullPath,ce({scroll:w&&h&&h.scroll},f)):o.push(A.fullPath,f)),a.value=A,Me(A,j,D,w),at()}let $e;function kt(){$e||($e=o.listen((A,j,D)=>{if(!Xe.listening)return;const G=k(A),f=he(G,Xe.currentRoute.value);if(f){te(ce(f,{replace:!0,force:!0}),G).catch(As);return}d=G;const m=a.value;as&&Ru(yi(m.fullPath,D.delta),kn()),fe(G,m).catch(w=>At(w,ye.NAVIGATION_ABORTED|ye.NAVIGATION_CANCELLED)?w:At(w,ye.NAVIGATION_GUARD_REDIRECT)?(te(ce(E(w.to),{force:!0}),G).then(h=>{At(h,ye.NAVIGATION_ABORTED|ye.NAVIGATION_DUPLICATED)&&!D.delta&&D.type===io.pop&&o.go(-1,!1)}).catch(As),Promise.reject()):(D.delta&&o.go(-D.delta,!1),re(w,G,m))).then(w=>{w=w||Te(G,m,!1),w&&(D.delta&&!At(w,ye.NAVIGATION_CANCELLED)?o.go(-D.delta,!1):D.type===io.pop&&At(w,ye.NAVIGATION_ABORTED|ye.NAVIGATION_DUPLICATED)&&o.go(-1,!1)),Se(G,m,w)}).catch(As)}))}let Ge=vs(),pe=vs(),Q;function re(A,j,D){at(A);const G=pe.list();return G.length?G.forEach(f=>f(A,j,D)):console.error(A),Promise.reject(A)}function Qe(){return Q&&a.value!==Dt?Promise.resolve():new Promise((A,j)=>{Ge.add([A,j])})}function at(A){return Q||(Q=!A,kt(),Ge.list().forEach(([j,D])=>A?D(A):j()),Ge.reset()),A}function Me(A,j,D,G){const{scrollBehavior:f}=e;if(!as||!f)return Promise.resolve();const m=!D&&Tu(yi(A.fullPath,0))||(G||!D)&&history.state&&history.state.scroll||null;return Vs().then(()=>f(A,j,m)).then(w=>w&&Au(w)).catch(w=>re(w,A,j))}const ke=A=>o.go(A);let Nt;const ct=new Set,Xe={currentRoute:a,listening:!0,addRoute:_,removeRoute:$,clearRoutes:t.clearRoutes,hasRoute:F,getRoutes:M,resolve:k,options:e,push:V,replace:H,go:ke,back:()=>ke(-1),forward:()=>ke(1),beforeEach:i.add,beforeResolve:r.add,afterEach:l.add,onError:pe.add,isReady:Qe,install(A){A.component("RouterLink",Qt),A.component("RouterView",vl),A.config.globalProperties.$router=Xe,Object.defineProperty(A.config.globalProperties,"$route",{enumerable:!0,get:()=>y(a)}),as&&!Nt&&a.value===Dt&&(Nt=!0,V(o.location).catch(G=>{}));const j={};for(const G in Dt)Object.defineProperty(j,G,{get:()=>a.value[G],enumerable:!0});A.provide(Eo,Xe),A.provide(hl,fr(j)),A.provide(lo,a);const D=A.unmount;ct.add(A),A.unmount=function(){ct.delete(A),ct.size<1&&(d=Dt,$e&&$e(),$e=null,a.value=Dt,Nt=!1,Q=!1),D()}}};function He(A){return A.reduce((j,D)=>j.then(()=>q(D)),Promise.resolve())}return Xe}class cf{constructor(t=`${location.protocol==="https:"?"wss":"ws"}://${location.host}/ws`){Wt(this,"socket");Wt(this,"attempts",0);Wt(this,"timer");Wt(this,"handlers",new Set);Wt(this,"stateHandlers",new Set);Wt(this,"reconnectAfterResync");this.url=t}onMessage(t){return this.handlers.add(t),()=>this.handlers.delete(t)}onConnectionChange(t){return this.stateHandlers.add(t),()=>this.stateHandlers.delete(t)}onResync(t){this.reconnectAfterResync=()=>void t()}connect(){var s;clearTimeout(this.timer),(s=this.socket)==null||s.close();const t=new WebSocket(this.url);this.socket=t,t.onopen=()=>{var n;this.attempts=0,this.stateHandlers.forEach(o=>o(!0)),(n=this.reconnectAfterResync)==null||n.call(this)},t.onmessage=n=>{try{const o=JSON.parse(n.data);this.handlers.forEach(i=>i(o))}catch{}},t.onclose=()=>{this.stateHandlers.forEach(o=>o(!1)),this.attempts+=1;const n=Math.min(15e3,1e3*2**(this.attempts-1));this.timer=window.setTimeout(()=>this.connect(),n)},t.onerror=()=>t.close()}}let Pi;function uf(){return Pi??(Pi=new cf),Pi}class Ao extends Error{constructor(t,s,n,o){super(n),this.status=t,this.code=s,this.details=o,this.name="ApiError"}}async function Pe(e,t){const s=await fetch(e,{...t,headers:{"content-type":"application/json",...(t==null?void 0:t.headers)??{}}}),n=await s.json().catch(()=>({code:"INVALID_RESPONSE",message:"响应不是合法 JSON"}));if(!s.ok){const o=n;throw new Ao(s.status,o.code??"UNKNOWN_ERROR",o.message??"请求失败",o.details)}return n}async function Ii(e){const t=new URLSearchParams({filename:e.name}),s=await fetch(`/api/uploads?${t}`,{method:"POST",headers:{"content-type":"application/octet-stream"},body:e}),n=await s.json().catch(()=>({code:"INVALID_RESPONSE",message:"上传响应不是合法 JSON"}));if(!s.ok){const o=n;throw new Ao(s.status,o.code??"UNKNOWN_ERROR",o.message??"文件上传失败",o.details)}return n}const Ce={doctor:()=>Pe("/api/doctor"),recheckDoctor:()=>Pe("/api/doctor/recheck",{method:"POST"}),install:e=>Pe(`/api/doctor/install/${e}`,{method:"POST"}),uninstall:e=>Pe(`/api/doctor/uninstall/${e}`,{method:"POST"}),features:()=>Pe("/api/features"),tasks:()=>Pe("/api/tasks"),revealTask:e=>Pe(`/api/tasks/${e}/reveal`,{method:"POST"}),revealPath:e=>Pe("/api/reveal",{method:"POST",body:JSON.stringify({path:e})}),wxStatus:()=>Pe("/api/wx/status"),wxActivate:e=>Pe("/api/wx/activate",{method:"POST",body:JSON.stringify({token:e})}),deleteHistory:e=>Pe(`/api/history/${e}`,{method:"DELETE"}),clearHistory:()=>Pe("/api/history/clear",{method:"POST"}),serviceStop:()=>Pe("/api/service/stop",{method:"POST"}),settings:()=>Pe("/api/settings"),selectOutputDir:()=>Pe("/api/settings/select-output-dir",{method:"POST"}),saveSettings:e=>Pe("/api/settings",{method:"POST",body:JSON.stringify(e)}),convert:e=>Pe("/api/convert",{method:"POST",body:JSON.stringify(e)})},Ro=Cn("doctor",{state:()=>({statuses:[],loading:!1,connected:!0,error:"",installSession:{state:"idle",logs:[]}}),getters:{readyCount:e=>e.statuses.filter(t=>t.installed&&t.versionOk).length,usableFeatures:e=>e.statuses.reduce((t,s)=>t+s.features.length,0)},actions:{async load(){this.loading=!0;try{this.statuses=await Ce.doctor(),this.error=""}catch(e){this.error=e instanceof Error?e.message:String(e)}finally{this.loading=!1}},async recheck(){this.loading=!0;try{this.statuses=await Ce.recheckDoctor(),this.error=""}catch(e){this.error=e instanceof Error?e.message:String(e)}finally{this.loading=!1}},startInstall(e,t){this.startOperation(e,t,"install")},startUninstall(e,t){this.startOperation(e,t,"uninstall")},startOperation(e,t,s){if(this.installSession.state==="progress")throw new Ao(409,"OPERATION_IN_PROGRESS","已有依赖操作进行中");this.installSession={depId:e,state:"progress",logs:[t]},(s==="install"?Ce.install(e):Ce.uninstall(e)).catch(n=>{this.installSession={depId:e,state:"failed",logs:[t,`操作未启动:${n.message}`],error:{depId:e,exitCode:1,stderrTail:n.message}}})},applyProgress(e){this.installSession.depId===e.depId&&("line"in e&&this.installSession.logs.push(e.line),this.installSession.logs.length>1e3&&this.installSession.logs.shift())},applyDone(e){this.statuses=e,this.installSession.state="done"},applyFailure(e){if(this.installSession.depId&&this.installSession.depId!==e.depId)return;const t=e.stderrTail.split(/\r?\n/).filter(s=>s.trim());this.installSession={depId:e.depId,state:"failed",logs:[`操作失败(退出码 ${e.exitCode})`,...t],error:e}}}}),To=Cn("features",{state:()=>({features:[],loading:!1,error:""}),getters:{available:e=>e.features.filter(t=>t.available),byKey:e=>new Map(e.features.map(t=>[t.key,t]))},actions:{async load(){this.loading=!0;try{this.features=await Ce.features(),this.error=""}finally{this.loading=!1}}}}),Oo=Cn("tasks",{state:()=>({tasks:[],loading:!1,error:""}),getters:{active:e=>e.tasks.filter(t=>t.status==="queued"||t.status==="running"),history:e=>e.tasks.filter(t=>t.status==="success"||t.status==="failed").slice(0,200)},actions:{async load(){this.loading=!0;try{this.tasks=await Ce.tasks(),this.error=""}catch(e){this.error=e instanceof Error?e.message:String(e)}finally{this.loading=!1}},upsert(e){const t=this.tasks.findIndex(s=>s.taskId===e.taskId);t<0?this.tasks.unshift(e):this.tasks[t]=e}}}),yl=Cn("settings",{state:()=>({settings:{autostart:!1,outputDir:"",concurrency:2,language:"zh-CN"},form:{autostart:!1,outputDir:"",concurrency:2,language:"zh-CN"},loading:!1,saving:!1,error:""}),actions:{async load(){this.loading=!0;try{this.settings=await Ce.settings(),this.form={...this.settings},this.error=""}finally{this.loading=!1}},async save(){const e={...this.form};this.saving=!0;try{this.settings=await Ce.saveSettings(this.form),this.form={...this.settings},this.error=""}catch(t){throw this.form=e,this.error=t instanceof Error?t.message:String(t),t}finally{this.saving=!1}}}}),ff=3456,ao=`http://127.0.0.1:${ff}`,df="https://duduer.com";function Hs(){return location.hostname==="127.0.0.1"||location.hostname==="localhost"}function Po(){return/Windows|Win32|Win64/i.test(navigator.userAgent)?"windows":"macos"}async function $i(e=1500){const t=new AbortController,s=setTimeout(()=>t.abort(),e);try{return await fetch(`${ao}/api/doctor`,{mode:"no-cors",cache:"no-store",signal:t.signal}),!0}catch{return!1}finally{clearTimeout(s)}}function hf(){return Hs()?df:location.origin}function _l(e){const t=hf();return e==="macos"?`curl -fsSL ${t}/install.sh | sh`:`irm ${t}/install.ps1 | iex`}function pf(){const e=Ro(),t=To(),s=Oo(),n=yl(),o=uf();async function i(){await Promise.all([e.load(),t.load(),s.load()])}async function r(){await t.load()}function l(a){a.type==="doctor:status"?(e.statuses=a.data,r()):a.type==="task:update"?s.upsert(a.data):a.type==="install:start"||a.type==="install:progress"||a.type==="uninstall:start"||a.type==="uninstall:progress"?e.applyProgress(a.data):a.type==="install:done"||a.type==="uninstall:done"?(e.applyDone(a.data.status),r()):(a.type==="install:fail"||a.type==="uninstall:fail")&&e.applyFailure(a.data)}hs(async()=>{Hs()&&(o.onMessage(l),o.onConnectionChange(a=>{e.connected=a}),o.onResync(i),o.connect(),await Promise.all([i(),n.load()]))}),_n(()=>{})}const C={appName:"嘟嘟转换器",nav:{home:"首页",workbench:"功能页",history:"转换历史",settings:"设置"},connection:{connected:"已连接本地服务",disconnected:"连接已断开,正在自动重连"},doctor:{title:"依赖与环境",recheck:"重新检测",install:"一键安装",uninstall:"一键卸载",copy:"复制命令",manual:"手动下载",logs:"操作日志",ready:"可用",outdated:"版本过旧",missingRequired:"必需缺失",missingOptional:"可选缺失",sessionRunning:"执行中,请耐心等待…",sessionDone:"✅ 操作完成",sessionFailed:"❌ 操作失败,详情见下方日志"},workbench:{title:"转换工作台",subtitle:"按类型分栏管理,文件入表后逐个或批量转换",dropTitle:"把{tab}文件拖到这里",dropHint:"支持 {exts} 等格式",dropCompact:"继续添加{tab}文件",pastePlaceholder:"粘贴文件绝对路径,回车添加",wrongTab:"{name} 不属于{tab},请切换到对应标签页添加",fileDuplicate:"已在列表中,无需重复添加",addFile:"选择文件",addPath:"添加",convertTo:"批量转换为",noCommonTargets:"当前文件没有共同的转换目标,请清理后分批转换",noTools:"该类别依赖的工具尚未安装,请到「环境检测」页安装后重试",tableFile:"文件名",tablePath:"路径",tableSize:"大小",tableStatus:"状态",tableActions:"操作",statusPending:"待转换",statusRunning:"转换中",statusSuccess:"转换成功",statusFailed:"转换失败",convert:"转换",retry:"重试",openFolder:"打开目录",download:"下载",remove:"移除",clearDone:"清除已完成",batchConvert:"开始批量转换",batchConvertN:"开始批量转换({n} 个)",batchDone:"本次批量转换已完成",paramsTitle:"高级参数",advanced:"高级设置",chooseFile:"选择文件"},history:{title:"转换历史",subtitle:"所有转换任务按时间倒序排列,可随时下载或打开产物",filterAll:"全部",statTotal:"累计任务",statSuccess:"成功",statFailed:"失败",searchPlaceholder:"搜索文件名…",empty:"还没有转换记录,去工作台开始第一次转换吧",today:"今天",yesterday:"昨天",openFolder:"打开目录",download:"下载",remove:"删除",clear:"清空历史"},landing:{heroBadge:"本地转换 · 零上传 · 不限文件大小",heroTitle:"你的文件,",heroAccent:"不必上传",heroTagline:"嘟嘟本地万能转换器:视频、音频、图片、文档在本机一步完成 —— 没有大小限制,没有隐私顾虑,没有漫长等待。",cta:"立即开始转换",ctaInstall:"查看安装指南",localRunning:"转换器已在本机运行,可直接进入功能页",stats:[{value:"22",label:"转换能力"},{value:"40+",label:"支持格式"},{value:"0",label:"文件上传"},{value:"100%",label:"本机运行"}],painTitle:"你是不是也有这些顾虑?",painSub:"嘟嘟把这些通通变成过去。",pains:[{icon:"shield",title:"文件传上去,心里不踏实",text:"合同、证件、家庭影像……一旦上传到陌生服务器,隐私就不再由你掌控。"},{icon:"globe",title:"在线工具处处受限",text:"大小限制、格式缺失、会员付费、广告弹窗,简单转个文件总要妥协。"},{icon:"clock",title:"传上去再下载,来回折腾",text:"大文件先上传一小时,转换完再下载一小时,网速决定了心情。"}],valueTitle:"换一种方式转换文件",valueSub:"本机运行带来的三个直接好处",values:[{icon:"shield-check",title:"文件不出你的电脑",text:"所有解析与转换都在本机完成,不经任何服务器,隐私天然无忧。"},{icon:"package-plus",title:"缺什么,一键装什么",text:"首次使用自动体检环境,FFmpeg 等引擎在页面里点一下即可安装。"},{icon:"zap",title:"装完即用,秒级开始",text:"一条命令安装,浏览器自动打开操作界面,拖入文件立刻出结果。"}],scenesTitle:"这些瞬间,嘟嘟都帮得上忙",scenesSub:"来自日常使用的高频场景",scenes:[{icon:"video",title:"网课录屏瘦身",text:"几个 G 的课程录像压成几百 MB,备份分享都不再犯难"},{icon:"image",title:"聊天图片压缩",text:"手机原图一张 8MB,压完不到 1MB,清晰度几乎不变"},{icon:"pdf",title:"发票合并归档",text:"几十张发票 PDF 按顺序合并成一个文件,报销不再手忙脚乱"},{icon:"sparkles",title:"表情包制作",text:"精彩片段一键做成 GIF 动图,斗图弹药永远充足"},{icon:"markdown",title:"简历笔记定稿",text:"Markdown 写完一键转 Word / PDF,排版不乱直接发"},{icon:"shield",title:"证件照脱敏外发",text:"身份证扫描件加水印或加密,发给陌生方也更安心"}],featuresTitle:"覆盖你日常的每一类文件",featuresSub:"22 类能力 · 40+ 种格式,全部本机完成",compareTitle:"和在线转换工具比一比",compareSub:"同样的转换,不同的体验",compare:[{item:"文件隐私",online:"上传到陌生服务器",local:"全程留在你的电脑里"},{item:"文件大小",online:"免费版普遍限制 100MB",local:"无任何限制"},{item:"转换速度",online:"上传 + 下载双倍耗时",local:"直接读写本地磁盘"},{item:"批量处理",online:"多数按次收费",local:"免费,支持批量队列"},{item:"网络依赖",online:"必须联网上传",local:"断网也能正常转换"}],faqTitle:"常见问题",faqSub:"关于嘟嘟的几个高频疑问",faq:[{q:"我的文件会被上传吗?",a:"不会。嘟嘟完全运行在你自己的电脑上,转换过程不经过任何服务器,即使断网也能正常转换。"},{q:"需要付费吗?",a:"免费使用:无功能限制、无水印、无次数限制,也不需要注册账号。"},{q:"转换用的引擎需要自己装吗?",a:"不用自己找教程。首次使用某类能力时,应用会自动检测缺失的引擎,在「设置 → 依赖与环境」里点一下即可安装,全程图形化操作。"},{q:"支持 Windows 吗?",a:"支持。macOS 12+ 与 Windows 10/11 均可使用,安装命令在首页首屏即可一键复制。"},{q:"大文件会很慢或卡住吗?",a:"转换在本地队列并发执行(1–4 个可调),大文件只是耗时更长,不会占用云端额度,也不影响电脑其他操作。"}],footer:"嘟嘟转换器 · 本地优先的文件转换工具 · 文件永不上传"},install:{title:"安装转换器",step1:"打开终端",step2:"粘贴以下命令并回车",step3:"等待安装完成,浏览器会自动打开转换器",macos:"macOS",windows:"Windows",copy:"复制",copied:"已复制",macosTerminal:"按 ⌘+空格 打开聚焦搜索,输入「终端」或「Terminal」,回车打开",windowsTerminal:"点击开始菜单,输入「PowerShell」,回车打开",alreadyInstalled:"已经安装过?再次执行此命令会自动升级到新版本",startHint:"如果已经安装但未运行:在终端执行 converter start 启动后,回到此页重新检测"},gate:{checking:"正在检测本地转换器…",online:"已检测到本地转换器正在运行",open:"打开本地转换器",offline:"未检测到本地转换器",installedTitle:"转换器已安装,但服务未运行",oneClickStart:"一键启动服务",starting:"正在启动,请留意屏幕弹窗…",manualTitle:"手动启动(一行命令)",manualHint:"复制命令 → 打开终端粘贴回车;若已开启开机自启,重启电脑也会自动运行",retry:"重新检测",notInstalledTitle:"尚未安装?查看安装步骤"},settings:{title:"设置",preferences:"应用设置",autostart:"开机自动启动",outputDir:"输出目录",chooseDir:"选择文件夹",concurrency:"并发数",language:"界面语言",save:"保存设置",saved:"设置已保存",service:"服务管理",serviceRunning:"转换服务运行中",stopService:"停止服务",stopConfirm:`确定停止转换服务吗?
31
- 停止后转换功能不可用;已开启的开机自启会在下次重启电脑时自动运行服务。`,serviceStopped:"转换服务已停止",stoppedGuide:"重新启动:在终端执行下方命令;若已开启开机自启,重启电脑后服务也会自动运行。",startCommand:"converter start"},common:{retry:"重试",close:"关闭",loading:"加载中…",save:"保存",cancel:"取消"}},gf={class:"app-shell"},mf={class:"app-header"},vf=Ue({__name:"App",setup(e){pf();const t=Ro(),s=Hs();return(n,o)=>(R(),P("div",gf,[u("header",mf,[B(y(Qt),{to:"/",class:"brand"},{default:Yt(()=>[o[0]||(o[0]=u("span",{class:"logo"},"嘟",-1)),u("strong",null,S(y(C).appName),1)]),_:1}),u("nav",null,[B(y(Qt),{to:"/"},{default:Yt(()=>[U(S(y(C).nav.home),1)]),_:1}),B(y(Qt),{to:"/workbench"},{default:Yt(()=>[U(S(y(C).nav.workbench),1)]),_:1}),y(s)?(R(),st(y(Qt),{key:0,to:"/history"},{default:Yt(()=>[U(S(y(C).nav.history),1)]),_:1})):ee("",!0),y(s)?(R(),st(y(Qt),{key:1,to:"/settings"},{default:Yt(()=>[U(S(y(C).nav.settings),1)]),_:1})):ee("",!0)]),y(s)?(R(),P("span",{key:0,class:_e(["connection",{offline:!y(t).connected}])},[o[1]||(o[1]=u("i",{class:"dot"},null,-1)),U(S(y(t).connected?y(C).connection.connected:y(C).connection.disconnected),1)],2)):ee("",!0)]),u("main",null,[B(y(vl))])]))}}),lt=(e,t)=>{const s=e.__vccOpts||e;for(const[n,o]of t)s[n]=o;return s},yf=lt(vf,[["__scopeId","data-v-d515a3c6"]]),_f={video:["M3 5.5A2.5 2.5 0 0 1 5.5 3h13A2.5 2.5 0 0 1 21 5.5v13a2.5 2.5 0 0 1-2.5 2.5h-13A2.5 2.5 0 0 1 3 18.5z","M7 3v18","M17 3v18","M3 12h18"],music:["M9 18V5l12-2v13","M3 18a3 3 0 1 0 6 0 3 3 0 1 0-6 0","M15 16a3 3 0 1 0 6 0 3 3 0 1 0-6 0"],image:["M5 3h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z","M7 9a2 2 0 1 0 4 0 2 2 0 1 0-4 0","m21 15-4.6-4.6a2 2 0 0 0-2.8 0L4 20"],archive:["M3 3h18v5H3z","M5 8v11a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8","M10 12h4"],office:["M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z","M14 2v5h5","M9 13h6","M9 17h6","M9 9h1"],pdf:["M12 7v14","M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"],markdown:["M12 20h9","M16.4 3.6a1.4 1.4 0 0 1 2 2L7.5 16.5a2 2 0 0 1-.9.5l-2.8.8a.5.5 0 0 1-.6-.6l.8-2.8a2 2 0 0 1 .5-.9z"],shield:["M20 13c0 5-3.5 7.5-7.7 9a.6.6 0 0 1-.6 0C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.2-2.7a1.2 1.2 0 0 1 1.6 0C14.5 3.8 17 5 19 5a1 1 0 0 1 1 1z"],"shield-check":["M20 13c0 5-3.5 7.5-7.7 9a.6.6 0 0 1-.6 0C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.2-2.7a1.2 1.2 0 0 1 1.6 0C14.5 3.8 17 5 19 5a1 1 0 0 1 1 1z","m9 12 2 2 4-4"],"package-plus":["M21 16V8a2 2 0 0 0-1-1.7l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.7l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z","M3.3 7 12 12l8.7-5","M12 22V12","M19 13v6","M16 16h6"],zap:["M4 14a1 1 0 0 1-.8-1.6l9.9-10.2a.5.5 0 0 1 .9.5l-1.9 6a1 1 0 0 0 1 1.3h7a1 1 0 0 1 .7 1.6l-9.9 10.2a.5.5 0 0 1-.9-.5l1.9-6a1 1 0 0 0-.9-1.3z"],globe:["M12 22a10 10 0 1 0 0-20 10 10 0 0 0 0 20z","M2 12h20","M12 2a15 15 0 0 1 4 10 15 15 0 0 1-4 10 15 15 0 0 1-4-10 15 15 0 0 1 4-10z"],clock:["M12 22a10 10 0 1 0 0-20 10 10 0 0 0 0 20z","M12 6v6l4 2"],"check-circle":["M12 22a10 10 0 1 0 0-20 10 10 0 0 0 0 20z","m9 12 2 2 4-4"],"x-circle":["M12 22a10 10 0 1 0 0-20 10 10 0 0 0 0 20z","m15 9-6 6","m9 9 6 6"],"minus-circle":["M12 22a10 10 0 1 0 0-20 10 10 0 0 0 0 20z","M8 12h8"],"alert-circle":["M12 22a10 10 0 1 0 0-20 10 10 0 0 0 0 20z","M12 8v4","M12 16h.01"],copy:["M10 8h9a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-9a2 2 0 0 1-2-2v-9a2 2 0 0 1 2-2z","M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"],"external-link":["M15 3h6v6","M10 14 21 3","M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"],refresh:["M3 12a9 9 0 0 1 15.7-6","M21 3v5h-5","M21 12a9 9 0 0 1-15.7 6","M3 21v-5h5"],upload:["M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4","m7 8 5-5 5 5","M12 3v12"],download:["M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4","m7 10 5 5 5-5","M12 15V3"],plus:["M5 12h14","M12 5v14"],x:["M18 6 6 18","m6 6 12 12"],settings:["M4 6h6","M14 6h6","M4 12h10","M18 12h2","M4 18h4","M12 18h8","M10 4v4","M14 10v4","M8 16v4"],terminal:["m4 17 6-6-6-6","M12 19h8"],"arrow-right":["M5 12h14","m12 5 7 7-7 7"],"chevron-down":["m6 9 6 6 6-6"],file:["M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z","M14 2v5h5"],folder:["M11 4H5a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7l-2-2z"],sparkles:["M12 3l1.9 5.1L19 10l-5.1 1.9L12 17l-1.9-5.1L5 10l5.1-1.9z","M19 17v4","M21 19h-4","M5 3v2","M4 4h2"],repeat:["m17 2 4 4-4 4","M3 11v-1a4 4 0 0 1 4-4h14","m7 22-4-4 4-4","M21 13v1a4 4 0 0 1-4 4H3"]},bl={video:"video",audio:"music",image:"image",archive:"archive",office:"office",pdf:"pdf",markdown:"markdown"},bf=["width","height"],wf=["d"],Sf=Ue({__name:"AppIcon",props:{name:{},size:{default:20}},setup(e){const t=e;return(s,n)=>(R(),P("svg",{width:t.size,height:t.size,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true",class:"app-icon"},[(R(!0),P(oe,null,Re(y(_f)[t.name],(o,i)=>(R(),P("path",{key:i,d:o},null,8,wf))),128))],8,bf))}}),X=lt(Sf,[["__scopeId","data-v-84fb32bd"]]),xf={class:"history","data-testid":"history"},Cf={class:"page-title"},kf={class:"page-subtitle"},Ef={class:"toolbar"},Af={class:"filters"},Rf=["onClick"],Tf={class:"toolbar-right"},Of={class:"search"},Pf=["placeholder"],If={key:0,class:"hint-alert"},$f={key:1,class:"panel empty"},Mf={class:"day-head"},Nf={class:"panel day-list"},Df={class:"item-main"},Ff={class:"item-title"},Vf=["title"],Lf={class:"arrow"},Hf={class:"target"},jf={class:"item-meta"},Uf={class:"error-text"},Bf={key:0,class:"spinner tiny"},Kf={class:"item-actions"},zf=["onClick"],Wf=["title","onClick"],Gf=Ue({__name:"HistoryView",setup(e){const t=Oo(),s=To(),n=ne("all"),o=ne("");hs(()=>{t.load(),s.load()});const i=se(()=>({total:t.tasks.length,success:t.tasks.filter(k=>k.status==="success").length,failed:t.tasks.filter(k=>k.status==="failed").length})),r=se(()=>t.tasks.filter(k=>!(n.value!=="all"&&k.status!==n.value||o.value.trim()&&!k.input.toLowerCase().includes(o.value.trim().toLowerCase()))).sort((k,E)=>E.startedAt.localeCompare(k.startedAt))),l=ne("");async function a(k){l.value="";try{await Ce.revealTask(k.taskId)}catch(E){l.value=E instanceof Error?E.message:"打开目录失败"}}async function d(k){l.value="";try{await Ce.deleteHistory(k),await t.load()}catch(E){t.error=E instanceof Error?E.message:"删除失败"}}async function c(){if(window.confirm("确定清空全部转换历史吗?此操作不可恢复。"))try{await Ce.clearHistory(),await t.load()}catch(k){t.error=k instanceof Error?k.message:"清空失败"}}function g(k){const E=new Date(k);if(Number.isNaN(E.getTime()))return"";const N=new Date,V=te=>new Date(te.getFullYear(),te.getMonth(),te.getDate()).getTime(),H=Math.round((V(N)-V(E))/864e5);return H<=0?C.history.today:H===1?C.history.yesterday:E.getFullYear()===N.getFullYear()?`${E.getMonth()+1} 月 ${E.getDate()} 日`:`${E.getFullYear()} 年 ${E.getMonth()+1} 月 ${E.getDate()} 日`}const b=se(()=>{const k=new Map;for(const E of r.value){const N=g(E.startedAt),V=k.get(N);V?V.push(E):k.set(N,[E])}return[...k.entries()]});function _(k){const E=new Date(k);return Number.isNaN(E.getTime())?"":`${String(E.getHours()).padStart(2,"0")}:${String(E.getMinutes()).padStart(2,"0")}`}function $(k){return k.split(/[\\/]/).pop()??k}function M(k){var N;const E=(N=s.byKey.get(k.conversionKey))==null?void 0:N.category;return bl[E??"file"]??"file"}function F(k){var E;return((E=s.byKey.get(k.conversionKey))==null?void 0:E.label)??k.conversionKey}return(k,E)=>(R(),P("section",xf,[u("h1",Cf,S(y(C).history.title),1),u("p",kf,S(y(C).history.subtitle),1),u("div",Ef,[u("div",Af,[(R(!0),P(oe,null,Re([{key:"all",label:y(C).history.filterAll,count:i.value.total},{key:"success",label:y(C).history.statSuccess,count:i.value.success},{key:"failed",label:y(C).history.statFailed,count:i.value.failed}],N=>(R(),P("button",{key:N.key,type:"button",class:_e(["filter-chip",{active:n.value===N.key}]),onClick:V=>n.value=N.key},[U(S(N.label)+" ",1),u("em",null,S(N.count),1)],10,Rf))),128))]),u("div",Tf,[u("div",Of,[B(X,{name:"file",size:14}),yt(u("input",{"onUpdate:modelValue":E[0]||(E[0]=N=>o.value=N),type:"text",placeholder:y(C).history.searchPlaceholder},null,8,Pf),[[Ut,o.value]])]),y(t).tasks.length?(R(),P("button",{key:0,class:"ghost danger",type:"button",onClick:c},[B(X,{name:"x",size:13}),U(S(y(C).history.clear),1)])):ee("",!0)])]),l.value?(R(),P("p",If,[B(X,{name:"alert-circle",size:15}),U(S(l.value),1)])):ee("",!0),r.value.length?ee("",!0):(R(),P("div",$f,[B(X,{name:"folder",size:36}),u("span",null,S(y(C).history.empty),1)])),(R(!0),P(oe,null,Re(b.value,([N,V])=>(R(),P("div",{key:N,class:"day-group"},[u("div",Mf,[U(S(N),1),u("em",null,S(V.length)+" 条",1)]),u("div",Nf,[(R(!0),P(oe,null,Re(V,H=>(R(),P("article",{key:H.taskId,class:"history-item"},[u("span",{class:_e(["item-icon",H.status])},[B(X,{name:M(H),size:18},null,8,["name"])],2),u("div",Df,[u("div",Ff,[u("strong",{title:H.input},S($(H.input)),9,Vf),u("span",Lf,[B(X,{name:"arrow-right",size:13})]),u("span",Hf,S(H.targetFormat.toUpperCase()),1)]),u("div",jf,[U(S(F(H))+" · "+S(_(H.startedAt))+S(H.durationMs?` · ${H.durationMs} ms`:"")+" ",1),H.error?(R(),P(oe,{key:0},[E[1]||(E[1]=U(" · ",-1)),u("span",Uf,S(H.error.message),1)],64)):ee("",!0)])]),u("span",{class:_e(["badge row-badge",H.status])},[H.status==="running"?(R(),P("span",Bf)):ee("",!0),U(" "+S(H.status==="success"?y(C).workbench.statusSuccess:H.status==="failed"?y(C).workbench.statusFailed:H.status==="running"?y(C).workbench.statusRunning:y(C).workbench.statusPending),1)],2),u("div",Kf,[H.status==="success"?(R(),P("button",{key:0,class:"ghost tiny",type:"button",onClick:he=>a(H)},[B(X,{name:"folder",size:13}),U(S(y(C).history.openFolder),1)],8,zf)):ee("",!0),u("button",{class:"icon-btn",type:"button",title:y(C).history.remove,onClick:he=>d(H.taskId)},[B(X,{name:"x",size:14})],8,Wf)])]))),128))])]))),128))]))}}),qf=lt(Gf,[["__scopeId","data-v-b299457c"]]),Jf={class:"landing","data-testid":"landing"},Yf={class:"hero"},Qf={class:"hero-grid"},Xf={class:"hero-copy"},Zf={class:"hero-badge"},ed={class:"tagline"},td={class:"cta-row"},sd={key:0,class:"local-badge"},nd={class:"terminal-card","data-testid":"install-guide"},od={class:"term-head"},id={class:"term-pills"},rd={class:"term-body"},ld={class:"command-row"},ad={"data-testid":"install-command"},cd={class:"stats"},ud={class:"section"},fd={class:"section-sub"},dd={class:"pain-grid"},hd={class:"icon pain"},pd={class:"section"},gd={class:"section-sub"},md={class:"value-grid"},vd={class:"icon value"},yd={class:"section"},_d={class:"section-sub"},bd={class:"scene-grid"},wd={class:"icon scene"},Sd={id:"features",class:"section"},xd={class:"section-sub"},Cd={class:"category-grid"},kd={class:"icon cat"},Ed={class:"cat-body"},Ad={class:"section"},Rd={class:"section-sub"},Td={class:"table-wrap"},Od={class:"compare-table"},Pd={class:"c-item"},Id={class:"c-online"},$d={class:"c-local"},Md={class:"section"},Nd={class:"section-sub"},Dd={class:"faq"},Fd={class:"landing-footer muted"},Vd=Ue({__name:"LandingView",setup(e){const t=Hs(),s=ne(Po()),n=se(()=>_l(s.value)),o=ne(!1);async function i(){try{await navigator.clipboard.writeText(n.value),o.value=!0,setTimeout(()=>{o.value=!1},2e3)}catch{}}function r(){var a;(a=document.getElementById("features"))==null||a.scrollIntoView({behavior:"smooth",block:"start"})}const l=[{icon:"video",title:"视频",lines:["格式转换 · 压缩 · 延迟摄影","MP4 · AVI · MKV · MOV · WebM"]},{icon:"music",title:"音频",lines:["格式转换 · 提取 · 压缩","MP3 · AAC · WAV · FLAC"]},{icon:"image",title:"图片",lines:["格式 · 缩放 · 压缩 · 水印","JPG · PNG · WebP · HEIC · AVIF"]},{icon:"archive",title:"压缩包",lines:["文件压缩 · 解压","7z · Zip"]},{icon:"office",title:"Office 文档",lines:["转 PDF / HTML · 家族互转","Word · Excel · PowerPoint"]},{icon:"pdf",title:"PDF",lines:["转图片文本 · 合并拆分 · 规则拆分","全套 PDF 处理"]},{icon:"markdown",title:"Markdown",lines:["互转 Word / HTML / PDF","写作发布一步到位"]}];return(a,d)=>(R(),P("section",Jf,[u("div",Yf,[u("div",Qf,[u("div",Xf,[u("span",Zf,[B(X,{name:"sparkles",size:14}),U(S(y(C).landing.heroBadge),1)]),u("h1",null,[U(S(y(C).landing.heroTitle),1),u("em",null,S(y(C).landing.heroAccent),1)]),u("p",ed,S(y(C).landing.heroTagline),1),u("div",td,[B(y(Qt),{class:"btn primary cta",to:"/workbench","data-testid":"landing-cta"},{default:Yt(()=>[U(S(y(C).landing.cta),1),B(X,{name:"arrow-right",size:16})]),_:1}),u("button",{class:"btn ghost",type:"button",onClick:r},[d[2]||(d[2]=U("了解功能",-1)),B(X,{name:"chevron-down",size:15})])]),y(t)?(R(),P("p",sd,[B(X,{name:"check-circle",size:14}),U(S(y(C).landing.localRunning),1)])):ee("",!0)]),u("div",nd,[u("div",od,[d[3]||(d[3]=u("span",{class:"dots","aria-hidden":"true"},[u("i"),u("i"),u("i")],-1)),d[4]||(d[4]=u("strong",null,"一键安装嘟嘟转换器 · 全程约 1 分钟",-1)),u("div",id,[u("button",{type:"button",class:_e({active:s.value==="macos"}),onClick:d[0]||(d[0]=c=>s.value="macos")},"macOS",2),u("button",{type:"button",class:_e({active:s.value==="windows"}),onClick:d[1]||(d[1]=c=>s.value="windows")},"Windows",2)])]),u("div",rd,[u("div",ld,[u("code",ad,[d[5]||(d[5]=u("span",{class:"prompt"},"$",-1)),U(S(n.value),1)])]),u("button",{class:_e(["one-click",{ok:o.value}]),type:"button","data-testid":"install-copy",onClick:i},[B(X,{name:o.value?"check-circle":"copy",size:15},null,8,["name"]),U(" "+S(o.value?"已复制!打开终端粘贴回车即可":"一键复制安装命令"),1)],2),d[6]||(d[6]=u("ol",{class:"term-steps"},[u("li",null,[u("span",null,"1"),U("点击上方按钮复制安装命令")]),u("li",null,[u("span",null,"2"),U("打开终端粘贴并回车(macOS:⌘+空格 搜「终端」;Windows:开始菜单搜 PowerShell)")]),u("li",null,[u("span",null,"3"),U("安装全自动完成,浏览器自动打开转换器")])],-1))])])]),u("div",cd,[(R(!0),P(oe,null,Re(y(C).landing.stats,c=>(R(),P("div",{key:c.label,class:"stat"},[u("strong",null,S(c.value),1),u("span",null,S(c.label),1)]))),128))])]),u("div",ud,[u("h2",null,S(y(C).landing.painTitle),1),u("p",fd,S(y(C).landing.painSub),1),u("div",dd,[(R(!0),P(oe,null,Re(y(C).landing.pains,c=>(R(),P("article",{key:c.title,class:"pain-card"},[u("span",hd,[B(X,{name:c.icon,size:21},null,8,["name"])]),u("div",null,[u("strong",null,S(c.title),1),u("p",null,S(c.text),1)])]))),128))])]),u("div",pd,[u("h2",null,S(y(C).landing.valueTitle),1),u("p",gd,S(y(C).landing.valueSub),1),u("div",md,[(R(!0),P(oe,null,Re(y(C).landing.values,c=>(R(),P("article",{key:c.title,class:"value-card"},[u("span",vd,[B(X,{name:c.icon,size:23},null,8,["name"])]),u("strong",null,S(c.title),1),u("p",null,S(c.text),1)]))),128))])]),u("div",yd,[u("h2",null,S(y(C).landing.scenesTitle),1),u("p",_d,S(y(C).landing.scenesSub),1),u("div",bd,[(R(!0),P(oe,null,Re(y(C).landing.scenes,c=>(R(),P("article",{key:c.title,class:"scene-card"},[u("span",wd,[B(X,{name:c.icon,size:20},null,8,["name"])]),u("div",null,[u("strong",null,S(c.title),1),u("p",null,S(c.text),1)])]))),128))])]),u("div",Sd,[u("h2",null,S(y(C).landing.featuresTitle),1),u("p",xd,S(y(C).landing.featuresSub),1),u("div",Cd,[(R(),P(oe,null,Re(l,c=>u("article",{key:c.title,class:"category-card"},[u("span",kd,[B(X,{name:c.icon,size:21},null,8,["name"])]),u("div",Ed,[u("strong",null,S(c.title),1),u("p",null,S(c.lines[0]),1),u("small",null,S(c.lines[1]),1)])])),64))])]),u("div",Ad,[u("h2",null,S(y(C).landing.compareTitle),1),u("p",Rd,S(y(C).landing.compareSub),1),u("div",Td,[u("table",Od,[d[7]||(d[7]=u("thead",null,[u("tr",null,[u("th",null,"对比项"),u("th",null,"在线转换工具"),u("th",null,"嘟嘟转换器")])],-1)),u("tbody",null,[(R(!0),P(oe,null,Re(y(C).landing.compare,c=>(R(),P("tr",{key:c.item},[u("td",Pd,S(c.item),1),u("td",Id,S(c.online),1),u("td",$d,[B(X,{name:"check-circle",size:14}),U(S(c.local),1)])]))),128))])])])]),u("div",Md,[u("h2",null,S(y(C).landing.faqTitle),1),u("p",Nd,S(y(C).landing.faqSub),1),u("div",Dd,[(R(!0),P(oe,null,Re(y(C).landing.faq,c=>(R(),P("details",{key:c.q,class:"faq-item"},[u("summary",null,[U(S(c.q),1),B(X,{name:"chevron-down",size:15})]),u("p",null,S(c.a),1)]))),128))])]),u("footer",Fd,S(y(C).landing.footer),1)]))}}),Ld=lt(Vd,[["__scopeId","data-v-63ba655a"]]),Hd=Ue({__name:"StatusBadge",props:{state:{}},setup(e){const t=e,s=se(()=>C.doctor[t.state==="ready"?"ready":t.state==="outdated"?"outdated":t.state==="missing-required"?"missingRequired":"missingOptional"]);return(n,o)=>(R(),P("span",{class:_e(["badge",e.state])},S(s.value),3))}}),jd={class:"tool-info"},Ud={class:"title"},Bd={key:0,class:"chip version"},Kd={class:"muted"},zd={class:"actions"},Wd=["disabled"],Gd=["disabled"],qd=Ue({__name:"DependencyRow",props:{status:{},installing:{type:Boolean}},emits:["install","uninstall"],setup(e,{emit:t}){const s=e,n=t;let o;const i=ne(!1);async function r(){s.status.installCommand&&(await navigator.clipboard.writeText(s.status.installCommand),i.value=!0,clearTimeout(o),o=window.setTimeout(()=>{i.value=!1},2e3))}return(l,a)=>(R(),P("article",{class:_e(["dependency-row",`is-${e.status.state}`])},[u("div",jd,[u("div",Ud,[u("strong",null,S(e.status.name),1),B(Hd,{state:e.status.state},null,8,["state"]),e.status.version?(R(),P("span",Bd,S(e.status.version),1)):ee("",!0)]),u("p",Kd,S(e.status.description),1)]),u("div",zd,[e.status.installCommand&&(!e.status.installed||e.status.state==="outdated")?(R(),P("button",{key:0,class:"primary",disabled:e.installing,onClick:a[0]||(a[0]=d=>n("install",e.status))},S(y(C).doctor.install),9,Wd)):ee("",!0),e.status.installCommand?(R(),P("button",{key:1,class:"ghost",onClick:r},S(i.value?y(C).install.copied:y(C).doctor.copy),1)):ee("",!0),e.status.installed&&e.status.uninstallCommand?(R(),P("button",{key:2,class:"ghost danger",disabled:e.installing,onClick:a[1]||(a[1]=d=>n("uninstall",e.status))},S(y(C).doctor.uninstall),9,Gd)):ee("",!0)])],2))}}),Jd=lt(qd,[["__scopeId","data-v-4d63d8a6"]]),Yd=Ue({__name:"LogStream",props:{logs:{}},setup(e){const t=e,s=ne(),n=ne(!0);jt(()=>[...t.logs],async()=>{n.value&&(await Vs(),s.value&&(s.value.scrollTop=s.value.scrollHeight))});function o(){const i=s.value;i&&(n.value=i.scrollHeight-i.scrollTop-i.clientHeight<24)}return(i,r)=>(R(),P("div",{ref_key:"container",ref:s,class:"log-stream",onScroll:o},[(R(!0),P(oe,null,Re(e.logs,(l,a)=>(R(),P("p",{key:`${a}-${l}`},S(l),1))),128))],544))}}),Qd=lt(Yd,[["__scopeId","data-v-a4d9e36c"]]),Xd={class:"settings","data-testid":"settings"},Zd={class:"page-title"},eh={class:"panel"},th={class:"section-head"},sh={key:0,class:"chip running-chip"},nh={key:0,class:"stop-row"},oh=["disabled"],ih={key:0,class:"spinner",style:{width:"13px",height:"13px","border-color":"#ffffff88","border-top-color":"#fff"}},rh={key:1,class:"stopped-card"},lh={class:"muted"},ah={class:"command-row"},ch={class:"panel"},uh={class:"section-head"},fh=["disabled"],dh={key:1,class:"spinner",style:{width:"14px",height:"14px"}},hh={class:"summary-card"},ph={class:"summary-text"},gh={class:"summary-bar bar"},mh={key:0,class:"alert"},vh={class:"dep-list"},yh={key:1,class:"install-session"},_h={key:0,class:"spinner",style:{width:"13px",height:"13px"}},bh={class:"section-head"},wh={class:"switch-row"},Sh={class:"switch-text"},xh={class:"field"},Ch={class:"directory-editor"},kh=["disabled"],Eh={key:1,class:"spinner",style:{width:"13px",height:"13px"}},Ah={class:"field"},Rh={class:"concurrency"},Th={class:"field"},Oh={key:0,class:"error"},Ph={key:1,class:"saved"},Ih={class:"actions"},$h=["disabled"],Mh={key:0,class:"spinner",style:{"border-color":"#ffffff88","border-top-color":"#fff"}},Nh=Ue({__name:"SettingsView",setup(e){const t=Ro(),s=yl(),n=ne(!1),o=ne(!1),i=ne(!1),r=ne(!1),l=ne(!1);async function a(){try{await navigator.clipboard.writeText(C.settings.startCommand),l.value=!0,setTimeout(()=>{l.value=!1},2e3)}catch{}}async function d(){if(window.confirm(C.settings.stopConfirm)){r.value=!0;try{await Ce.serviceStop(),i.value=!0,t.connected=!1}catch(F){s.error=F instanceof Error?F.message:"停止服务失败"}finally{r.value=!1}}}const c=se(()=>t.installSession.state==="progress"),g=se(()=>t.statuses.length?Math.round(t.readyCount/t.statuses.length*100):0);function b(F){c.value||!F.installCommand||F.state==="outdated"&&!window.confirm(`${F.name} 已安装但版本过低,确认重新安装?`)||t.startInstall(F.id,F.installCommand)}function _(F){if(c.value||!F.uninstallCommand)return;const k=`确定要卸载 ${F.name} 吗?
32
- 卸载后相关转换功能将不可用。`;window.confirm(k)&&t.startUninstall(F.id,F.uninstallCommand)}async function $(){n.value=!0;try{const F=await Ce.selectOutputDir();F.selected&&F.path&&(s.form.outputDir=F.path)}catch(F){s.error=F instanceof Error?F.message:"无法打开目录选择器"}finally{n.value=!1}}async function M(){try{await s.save(),o.value=!0,setTimeout(()=>{o.value=!1},2e3)}catch{}}return(F,k)=>(R(),P("section",Xd,[u("h1",Zd,S(y(C).settings.title),1),k[15]||(k[15]=u("p",{class:"page-subtitle"},"转换引擎与应用偏好集中在这里管理",-1)),u("div",eh,[u("div",th,[u("div",null,[u("h2",null,S(y(C).settings.service),1),k[6]||(k[6]=u("p",{class:"muted section-sub"},"转换服务的运行控制",-1))]),i.value?ee("",!0):(R(),P("span",sh,[k[7]||(k[7]=u("span",{class:"dot"},null,-1)),U(S(y(C).settings.serviceRunning),1)]))]),i.value?(R(),P("div",rh,[u("p",null,[B(X,{name:"check-circle",size:15}),u("strong",null,S(y(C).settings.serviceStopped),1)]),u("p",lh,S(y(C).settings.stoppedGuide),1),u("div",ah,[u("code",null,[k[9]||(k[9]=u("span",{class:"prompt"},"$",-1)),U(S(y(C).settings.startCommand),1)]),u("button",{class:"ghost",type:"button",onClick:a},S(l.value?"已复制":"复制"),1)])])):(R(),P("div",nh,[k[8]||(k[8]=u("p",{class:"muted stop-desc"},[U("停止后转换功能不可用。已开启的开机自启会在下次重启电脑时自动运行服务;重新启动请在终端执行 "),u("code",null,"converter start"),U("。")],-1)),u("button",{class:"ghost danger stop-btn",type:"button","data-testid":"stop-service",disabled:r.value,onClick:d},[r.value?(R(),P("span",ih)):ee("",!0),U(" "+S(r.value?"停止中…":y(C).settings.stopService),1)],8,oh)]))]),u("div",ch,[u("div",uh,[u("div",null,[u("h2",null,S(y(C).doctor.title),1),k[10]||(k[10]=u("p",{class:"muted section-sub"},"缺什么就一键补齐",-1))]),u("button",{class:"ghost recheck",disabled:y(t).loading,onClick:k[0]||(k[0]=E=>y(t).recheck())},[y(t).loading?(R(),P("span",dh)):(R(),st(X,{key:0,name:"refresh",size:15})),U(" "+S(y(C).doctor.recheck),1)],8,fh)]),u("div",hh,[u("div",ph,[u("strong",null,S(y(t).readyCount)+" / "+S(y(t).statuses.length),1),k[11]||(k[11]=u("span",null,"个引擎可用",-1))]),u("div",gh,[u("i",{style:hn({width:`${g.value}%`})},null,4)])]),y(t).error?(R(),P("p",mh,S(y(t).error),1)):ee("",!0),u("div",vh,[(R(!0),P(oe,null,Re(y(t).statuses,E=>(R(),st(Jd,{key:E.id,status:E,installing:c.value,onInstall:b,onUninstall:_},null,8,["status","installing"]))),128))]),y(t).installSession.state!=="idle"?(R(),P("div",yh,[u("h3",null,S(y(C).doctor.logs),1),u("p",{class:_e(["session-state",y(t).installSession.state])},[y(t).installSession.state==="progress"?(R(),P("span",_h)):ee("",!0),U(" "+S(y(t).installSession.state==="progress"?y(C).doctor.sessionRunning:y(t).installSession.state==="done"?y(C).doctor.sessionDone:y(C).doctor.sessionFailed),1)],2),B(Qd,{logs:y(t).installSession.logs},null,8,["logs"])])):ee("",!0)]),u("form",{class:"panel",onSubmit:to(M,["prevent"])},[u("div",bh,[u("h2",null,S(y(C).settings.preferences),1)]),u("label",wh,[yt(u("input",{"onUpdate:modelValue":k[1]||(k[1]=E=>y(s).form.autostart=E),type:"checkbox",class:"switch"},null,512),[[Xr,y(s).form.autostart]]),u("span",Sh,[u("strong",null,S(y(C).settings.autostart),1),k[12]||(k[12]=u("small",{class:"muted"},"开机登录后自动在后台运行转换服务",-1))])]),u("label",xh,[u("span",null,S(y(C).settings.outputDir),1),u("div",Ch,[yt(u("input",{"onUpdate:modelValue":k[2]||(k[2]=E=>y(s).form.outputDir=E),type:"text",placeholder:"转换结果保存目录"},null,512),[[Ut,y(s).form.outputDir]]),u("button",{class:"ghost",type:"button",disabled:n.value,onClick:$},[n.value?(R(),P("span",Eh)):(R(),st(X,{key:0,name:"folder",size:14})),U(" "+S(n.value?"打开中…":y(C).settings.chooseDir),1)],8,kh)])]),u("label",Ah,[u("span",null,S(y(C).settings.concurrency),1),u("div",Rh,[yt(u("input",{"onUpdate:modelValue":k[3]||(k[3]=E=>y(s).form.concurrency=E),type:"number",min:"1",max:"4"},null,512),[[Ut,y(s).form.concurrency,void 0,{number:!0}]]),k[13]||(k[13]=u("small",{class:"muted"},"同时进行的转换任务数(1–4)",-1))])]),u("label",Th,[u("span",null,S(y(C).settings.language),1),yt(u("select",{"onUpdate:modelValue":k[4]||(k[4]=E=>y(s).form.language=E),disabled:""},[...k[14]||(k[14]=[u("option",{value:"zh-CN"},"简体中文",-1)])],512),[[Co,y(s).form.language]])]),y(s).error?(R(),P("p",Oh,S(y(s).error),1)):o.value?(R(),P("p",Ph,[B(X,{name:"check-circle",size:14}),U(S(y(C).settings.saved),1)])):ee("",!0),u("div",Ih,[u("button",{class:"ghost",type:"button",onClick:k[5]||(k[5]=E=>y(s).load())},S(y(C).common.cancel),1),u("button",{class:"primary",disabled:y(s).saving,type:"submit"},[y(s).saving?(R(),P("span",Mh)):ee("",!0),U(" "+S(y(s).saving?"保存中…":y(C).settings.save),1)],8,$h)])],32)]))}}),Dh=lt(Nh,[["__scopeId","data-v-cb76e0f0"]]),rs=[{key:"image",label:"图片",icon:"image",categories:["image"]},{key:"video",label:"视频",icon:"video",categories:["video"]},{key:"audio",label:"音频",icon:"music",categories:["audio"]},{key:"office",label:"文档",icon:"office",categories:["office","markdown"]},{key:"pdf",label:"PDF",icon:"pdf",categories:["pdf"]},{key:"archive",label:"压缩包",icon:"archive",categories:["archive"]}];function wl(e,t){return e.filter(s=>t.categories.includes(s.category))}function Mi(e,t){const s=new Set;for(const n of wl(e,t))for(const o of n.fromFormats)s.add(o);return s}const Fh={"image-resize":"缩放","image-compress":"压缩","image-watermark":"加水印","video-compress":"压缩","video-timelapse":"延迟摄影","media-compress":"压缩","pdf-merge":"合并","pdf-split":"拆分","pdf-protect":"加密/解密","archive-extract":"解压"};function Vh(e){return Fh[e]}const Ni={jpg:"jpg",jpeg:"jpg"};function Lh(e,t){return(Ni[e]??e)===(Ni[t]??t)}function Hh(e){const t=e.split(/[\\/]/).pop()??"",s=t.lastIndexOf(".");return s>0?t.slice(s+1).toLowerCase():""}function jh(e,t){if(!t.length)return[];const s=[...new Set(t.map(i=>i.toLowerCase()))],n=[],o=new Set;for(const i of e){if(!i.available||!s.every(l=>i.fromFormats.includes(l)))continue;const r=Vh(i.key);if(r){const l=`op:${i.key}`;if(o.has(l))continue;o.add(l),n.push({conversionKey:i.key,format:"",label:r,capability:i.label,category:i.category,kind:"operate"});continue}for(const l of i.toFormats){if(s.every(d=>Lh(d,l)))continue;const a=`${i.key}:${l}`;o.has(a)||(o.add(a),n.push({conversionKey:i.key,format:l,label:l==="folder"?"解压为文件夹":l.toUpperCase(),capability:i.label,category:i.category,kind:"convert"}))}}return n}function Uh(e,t){return t?[...e].sort((s,n)=>+(n.category===t)-+(s.category===t)):[...e]}function Di(e,t){var n;const s=t.toLowerCase();return(n=e.find(o=>o.fromFormats.includes(s)))==null?void 0:n.category}function Fi(e,t){return e.some(n=>n!==t&&n.label===t.label)?`${t.label} · ${t.capability}`:t.label}function Bh(e){return e===void 0?"":e<1024?`${e} B`:e<1024**2?`${(e/1024).toFixed(0)} KB`:e<1024**3?`${(e/1024**2).toFixed(1)} MB`:`${(e/1024**3).toFixed(2)} GB`}const Kh={class:"install-guide","data-testid":"install-guide"},zh={class:"platform-switch",role:"tablist"},Wh=["aria-selected"],Gh=["aria-selected"],qh={class:"steps"},Jh={class:"muted"},Yh={class:"command-block"},Qh={class:"command-row"},Xh={"data-testid":"install-command"},Zh={class:"muted hint"},ep=Ue({__name:"InstallGuide",setup(e){const t=ne(Po()),s=se(()=>_l(t.value)),n=ne(!1);async function o(){try{await navigator.clipboard.writeText(s.value),n.value=!0,setTimeout(()=>{n.value=!1},2e3)}catch{}}return(i,r)=>(R(),P("div",Kh,[u("div",zh,[u("button",{type:"button",class:_e({active:t.value==="macos"}),role:"tab","aria-selected":t.value==="macos",onClick:r[0]||(r[0]=l=>t.value="macos")},S(y(C).install.macos),11,Wh),u("button",{type:"button",class:_e({active:t.value==="windows"}),role:"tab","aria-selected":t.value==="windows",onClick:r[1]||(r[1]=l=>t.value="windows")},S(y(C).install.windows),11,Gh)]),u("ol",qh,[u("li",null,[r[2]||(r[2]=u("span",{class:"step-no"},"1",-1)),u("div",null,[u("strong",null,S(y(C).install.step1),1),u("p",Jh,S(t.value==="macos"?y(C).install.macosTerminal:y(C).install.windowsTerminal),1)])]),u("li",null,[r[4]||(r[4]=u("span",{class:"step-no"},"2",-1)),u("div",Yh,[u("strong",null,S(y(C).install.step2),1),u("div",Qh,[u("code",Xh,[r[3]||(r[3]=u("span",{class:"prompt"},"$",-1)),U(S(s.value),1)]),u("button",{class:"ghost copy",type:"button",onClick:o},[B(X,{name:n.value?"check-circle":"copy",size:14},null,8,["name"]),U(" "+S(n.value?y(C).install.copied:y(C).install.copy),1)])])])]),u("li",null,[r[5]||(r[5]=u("span",{class:"step-no"},"3",-1)),u("div",null,[u("strong",null,S(y(C).install.step3),1),u("p",Zh,S(y(C).install.alreadyInstalled),1)])])])]))}}),tp=lt(ep,[["__scopeId","data-v-c9dce0bd"]]),sp={class:"daemon-gate","data-testid":"daemon-gate"},np={key:0,class:"gate-state checking"},op={key:1,class:"gate-state online","data-testid":"gate-online"},ip={class:"gate-icon ok"},rp={class:"actions"},lp=["href"],ap={key:2,class:"gate-state offline","data-testid":"gate-offline"},cp={class:"gate-icon off"},up={class:"start-block"},fp=["disabled"],dp={key:0,class:"spinner",style:{width:"14px",height:"14px","border-color":"#ffffff88","border-top-color":"#fff"}},hp={class:"manual"},pp={class:"manual-label"},gp={class:"manual-row"},mp={class:"manual-hint"},vp={class:"actions"},yp=["href"],_p={class:"install-collapsed"},bp=Ue({__name:"DaemonGate",setup(e){const t=ne("checking"),s=ne(!1),n=ne(0),o=ne(!1);let i;const r=ne(Po()),l=se(()=>r.value==="windows"),a=ne(!1);async function d(){try{await navigator.clipboard.writeText("converter start"),a.value=!0,setTimeout(()=>{a.value=!1},2e3)}catch{}}async function c(){t.value="checking",t.value=await $i()?"online":"offline"}function g(){s.value=!0,n.value=0;const _=()=>{n.value+=1,$i(1200).then($=>{$?(s.value=!1,b()):n.value<10?i=window.setTimeout(_,3e3):s.value=!1})};window.location.href="converter://start",_()}function b(){t.value="online"}return hs(()=>{c()}),_n(()=>{i!==void 0&&clearTimeout(i)}),(_,$)=>(R(),P("div",sp,[t.value==="checking"?(R(),P("div",np,[$[1]||($[1]=u("span",{class:"spinner big","aria-hidden":"true"},null,-1)),u("p",null,S(y(C).gate.checking),1)])):t.value==="online"?(R(),P("div",op,[u("div",ip,[B(X,{name:"check-circle",size:26})]),u("p",null,S(y(C).gate.online),1),$[2]||($[2]=u("p",{class:"hint muted"},"转换在本机完成,点击进入操作界面",-1)),u("div",rp,[u("a",{class:"btn primary",href:y(ao),target:"_blank",rel:"noopener"},[U(S(y(C).gate.open),1),B(X,{name:"arrow-right",size:15})],8,lp),u("button",{class:"ghost",type:"button",onClick:c},[B(X,{name:"refresh",size:14}),U(S(y(C).gate.retry),1)])])])):(R(),P("div",ap,[u("div",cp,[B(X,{name:"alert-circle",size:26})]),u("p",null,S(y(C).gate.offline),1),u("div",up,[l.value?(R(),P("button",{key:0,class:"btn primary start-btn",type:"button",disabled:s.value,onClick:g},[s.value?(R(),P("span",dp)):(R(),st(X,{key:1,name:"zap",size:15})),U(" "+S(s.value?y(C).gate.starting:y(C).gate.oneClickStart),1)],8,fp)):ee("",!0),u("div",hp,[u("span",pp,S(y(C).gate.manualTitle),1),u("div",gp,[$[3]||($[3]=u("code",null,[u("span",{class:"prompt"},"$"),U("converter start")],-1)),u("button",{class:"copy",type:"button",onClick:d},[B(X,{name:a.value?"check-circle":"copy",size:13},null,8,["name"]),U(S(a.value?"已复制":"复制"),1)])]),u("p",mp,S(y(C).gate.manualHint),1)]),u("div",vp,[u("button",{class:"ghost",type:"button",onClick:c},[B(X,{name:"refresh",size:14}),U(S(y(C).gate.retry),1)]),u("a",{class:"ghost direct-link",href:y(ao),target:"_blank",rel:"noopener"},S(y(C).gate.open),9,yp)])]),u("div",_p,[u("button",{class:"install-toggle",type:"button",onClick:$[0]||($[0]=M=>o.value=!o.value)},[U(S(y(C).gate.notInstalledTitle),1),B(X,{name:"chevron-down",size:14,class:_e({open:o.value})},null,8,["class"])]),o.value?(R(),st(tp,{key:0})):ee("",!0)])]))]))}}),wp=lt(bp,[["__scopeId","data-v-41294585"]]),Sp="/gh-qrcode.png",xp={class:"follow-gate","data-testid":"follow-gate"},Cp={class:"gate-right"},kp={class:"code-row"},Ep={"data-testid":"pair-code"},Ap={key:0,class:"gate-error"},Rp=Ue({__name:"FollowGate",props:{pairCode:{}},emits:["activated"],setup(e,{emit:t}){const s=e,n=t,o=se(()=>s.pairCode??""),i=ne(!1),r=ne("");let l;async function a(){try{await navigator.clipboard.writeText(o.value),i.value=!0,setTimeout(()=>{i.value=!1},2e3)}catch{}}async function d(){const b=s.pairCode;if(b)try{const _=await fetch(`https://duduer.com/api/wx/activate/${encodeURIComponent(b)}`);if(!_.ok)return;const $=await _.json();$.status==="active"&&$.token?(g(),await Ce.wxActivate($.token),n("activated",$.token)):$.subscribed===!1?r.value="检测到关注已取消,重新关注即可恢复使用":r.value=""}catch{}}function c(){l=window.setInterval(()=>{d()},5e3)}function g(){l!==void 0&&(clearInterval(l),l=void 0)}return hs(()=>{c()}),_n(()=>{g()}),(b,_)=>(R(),P("div",xp,[_[5]||(_[5]=u("div",{class:"gate-left"},[u("img",{class:"gh-qrcode",src:Sp,alt:"公众号二维码"}),u("p",{class:"qr-hint"},"微信扫码,关注公众号")],-1)),u("div",Cp,[_[1]||(_[1]=u("h2",null,"免费解锁全部功能",-1)),_[2]||(_[2]=u("p",{class:"gate-desc"},[U("关注公众号并回复你的绑定码,即可"),u("strong",null,"永久免费"),U("使用全部转换功能")],-1)),u("div",kp,[_[0]||(_[0]=u("span",{class:"code-label"},"你的绑定码",-1)),u("code",Ep,S(o.value),1),u("button",{class:"copy",type:"button",onClick:a},[B(X,{name:i.value?"check-circle":"copy",size:13},null,8,["name"]),U(S(i.value?"已复制":"复制"),1)])]),_[3]||(_[3]=u("ol",{class:"gate-steps"},[u("li",null,[u("span",null,"1"),U("微信扫描左侧二维码,关注公众号")]),u("li",null,[u("span",null,"2"),U("在公众号里发送你的绑定码(点击上方「复制」)")]),u("li",null,[u("span",null,"3"),U("收到「绑定成功」回复后,本页自动解锁")])],-1)),r.value?(R(),P("p",Ap,[B(X,{name:"alert-circle",size:14}),U(S(r.value),1)])):ee("",!0),_[4]||(_[4]=u("p",{class:"waiting"},[u("span",{class:"spinner tiny"}),U("正在等待绑定完成,每 5 秒自动检测…")],-1))])]))}}),Tp=lt(Rp,[["__scopeId","data-v-0fe4c6f1"]]),Op={class:"workbench","data-testid":"workbench"},Pp={class:"page-title"},Ip={class:"page-subtitle"},$p={key:2,class:"tabbed"},Mp={class:"tab-rail"},Np=["data-testid","onClick"],Dp={class:"tab-label"},Fp={key:0,class:"tab-count"},Vp={class:"tab-panel panel"},Lp={class:"drop-icon"},Hp={class:"drop-title"},jp={class:"muted drop-hint"},Up={class:"drop-compact-text"},Bp={class:"drop-actions"},Kp=["placeholder"],zp=["disabled"],Wp=["disabled"],Gp={key:1,class:"spinner",style:{width:"13px",height:"13px","border-color":"#ffffff88","border-top-color":"#fff"}},qp=["accept"],Jp={key:0,class:"hint-alert"},Yp={class:"target-bar"},Qp={class:"section-title"},Xp={key:0,class:"target-chips"},Zp=["onClick"],eg={key:1,class:"hint-alert"},tg={key:2,class:"hint-alert"},sg={class:"table-wrap"},ng={class:"file-table","data-testid":"file-table"},og={class:"cell-file"},ig={class:"cell-path"},rg={class:"cell-size"},lg={class:"cell-status"},ag={class:"cell-actions"},cg={class:"cell-file"},ug={class:"file-icon"},fg=["title"],dg={class:"chip ext"},hg={class:"cell-path"},pg=["title","onClick"],gg={class:"cell-size muted"},mg={class:"cell-status"},vg=["title"],yg={key:0,class:"spinner tiny"},_g={key:1},bg={key:2,class:"row-error"},wg={class:"cell-actions"},Sg=["onClick"],xg=["onClick"],Cg=["onClick"],kg=["title","onClick"],Eg={key:0,class:"params"},Ag={class:"section-title"},Rg={class:"params-grid"},Tg={class:"param-label"},Og={key:1,class:"required"},Pg=["onUpdate:modelValue","data-testid"],Ig=["value"],$g=["onUpdate:modelValue","min","max","data-testid"],Mg={key:2,class:"watermark-editor"},Ng=["onUpdate:modelValue","data-testid"],Dg=["disabled"],Fg=["onUpdate:modelValue","type","data-testid"],Vg={key:4,class:"param-description"},Lg={class:"summary"},Hg={class:"batch-actions"},jg=["disabled"],Ug={key:0,class:"spinner",style:{"border-color":"#ffffff88","border-top-color":"#fff"}},Bg=Ue({__name:"WorkbenchView",setup(e){const t=Hs(),s=To(),n=ns({checking:t,activated:!0}),o=Oo(),i=ne(rs[0].key),r=ns(Object.fromEntries(rs.map(h=>[h.key,{rows:[],selected:null,paramValues:{}}]))),l=ne(""),a=h=>{Ce.wxActivate(h).then(()=>{n.activated=!0}).catch(()=>{})},d=se(()=>rs.find(h=>h.key===i.value)),c=se(()=>r[i.value]),g=se(()=>wl(s.features,d.value)),b=se(()=>Mi(s.features,d.value)),_=se(()=>{const h=jh(g.value,c.value.rows.map(p=>p.ext)),v=c.value.rows[0]?Di(s.features,c.value.rows[0].ext):void 0;return Uh(h,v)}),$=se(()=>{var h;return c.value.selected?((h=s.byKey.get(c.value.selected.conversionKey))==null?void 0:h.params)??[]:[]}),M=se(()=>$.value.filter(h=>h.required&&String(c.value.paramValues[h.key]??"").trim()==="")),F=se(()=>{var h;return((h=c.value.selected)==null?void 0:h.conversionKey)==="pdf-merge"});jt(()=>[i.value,_.value.map(h=>`${h.conversionKey}:${h.format}`).join("|")],()=>{const h=c.value.selected,v=h!==null&&_.value.some(p=>p.conversionKey===h.conversionKey&&p.format===h.format);c.value.selected=v?h:_.value[0]??null,k()});function k(){var v;const h={};for(const p of $.value)p.defaultValue!==void 0?h[p.key]=p.defaultValue:p.control==="preset"&&((v=p.presets)!=null&&v.length)&&(h[p.key]=p.presets[0].value);c.value.paramValues=h}function E(h){const v=c.value.selected;return(v==null?void 0:v.conversionKey)===h.conversionKey&&(v==null?void 0:v.format)===h.format}function N(h){c.value.selected=h,k()}function V(){const h={};for(const v of $.value){const p=c.value.paramValues[v.key];v.control==="preset"||v.control==="number"?typeof p=="number"&&Number.isFinite(p)&&(h[v.key]=p):typeof p=="string"&&p.trim()&&(h[v.key]=p.trim())}return h}function H(h,v){var x;if(h.kind!=="operate")return h.format;const p=((x=s.byKey.get(h.conversionKey))==null?void 0:x.toFormats)??[];return p.includes(v.ext)?v.ext:p[0]??v.ext}const he=ne(""),te=ne(!1),Y=ne(!1),q=ne(""),fe=ne(),Se=ne();function Te(h){return h.split(/[\\/]/).pop()??h}function $e(h){return bl[Di(s.features,h)??"file"]??"file"}function kt(h){const v=rs.find(p=>Mi(s.features,p).has(h));return(v==null?void 0:v.label)??"其他"}function Ge(h,v,p){const x=h.trim();if(!x)return;const T=Hh(x);if(!b.value.has(T)){q.value=C.workbench.wrongTab.replace("{name}",Te(x)).replace("{tab}",`「${d.value.label}」`).replace("对应标签页",`「${kt(T)}」标签页`);return}const I=p??Te(x);if(c.value.rows.some(K=>K.path===x||v!==void 0&&K.name===I&&K.size===v)){q.value=`${I} ${C.workbench.fileDuplicate}`;return}q.value="",c.value.rows.push({path:x,ext:T,name:I,status:"pending",...v!==void 0?{size:v}:{}})}function pe(){Ge(he.value),he.value=""}async function Q(h){if(h.length){Y.value=!0,q.value="";try{for(const v of h){const p=v.path;if(p){Ge(p,v.size,v.name);continue}if(c.value.rows.some(T=>T.name===v.name&&T.size===v.size)){q.value=`${v.name} ${C.workbench.fileDuplicate}`;continue}const x=await Ii(v);Ge(x.inputPath,x.size,x.originalName)}}catch(v){q.value=v instanceof Error?v.message:"文件导入失败"}finally{Y.value=!1,fe.value&&(fe.value.value="")}}}function re(h){Q(Array.from(h.target.files??[]))}function Qe(h){var v;te.value=!1,Q(Array.from(((v=h.dataTransfer)==null?void 0:v.files)??[]))}async function at(h){const v=Array.from(h.target.files??[])[0],p=$.value.find(x=>x.control==="file");if(!(!v||!p)){Y.value=!0;try{const x=v.path;if(x)c.value.paramValues[p.key]=x;else{const T=await Ii(v);c.value.paramValues[p.key]=T.inputPath}}catch(x){q.value=x instanceof Error?x.message:"水印图片选择失败"}finally{Y.value=!1,Se.value&&(Se.value.value="")}}}const Me=ne(!1),ke=se(()=>c.value.rows.filter(h=>h.status==="pending").length),Nt=se(()=>c.value.rows.some(h=>h.status==="success"||h.status==="failed")),ct=se(()=>ke.value>0&&c.value.selected!==null&&M.value.length===0&&!Me.value);async function Xe(h){const v=c.value.selected;if(!(!v||F.value)){h.status="converting",h.targetFormat=H(v,h),h.progress=0,h.error=void 0,h.output=void 0;try{const p=await Ce.convert({inputPath:h.path,targetFormat:h.targetFormat,conversionKey:v.conversionKey,options:V()});h.taskId=p.taskId}catch(p){h.status="failed",h.error=p instanceof Error?p.message:"提交失败"}}}async function He(){const h=c.value.selected,v=c.value.rows.filter(p=>p.status==="pending");if(!(!h||!v.length||M.value.length)){if(Me.value=!0,h.conversionKey==="pdf-merge"){const p=v.map(x=>x.path);for(const x of v)x.status="converting",x.targetFormat=H(h,x),x.error=void 0;try{const x=await Ce.convert({inputPath:p[0],targetFormat:H(h,v[0]),conversionKey:h.conversionKey,options:{...V(),inputs:p}});for(const T of v)T.taskId=x.taskId}catch(x){const T=x instanceof Error?x.message:"提交失败";for(const I of v)I.status="failed",I.error=T}}else for(const p of v)await Xe(p);Me.value=!1}}jt(()=>o.tasks,h=>{var p;const v=new Map(h.map(x=>[x.taskId,x]));for(const x of rs)for(const T of r[x.key].rows){if(!T.taskId)continue;const I=v.get(T.taskId);I&&(I.status==="success"?(T.status="success",T.output=I.output,T.progress=100):I.status==="failed"?(T.status="failed",T.error=((p=I.error)==null?void 0:p.message)??"转换失败"):(T.status="converting",T.progress=I.progress??T.progress))}},{deep:!0});function A(h){c.value.rows.splice(h,1)}function j(){c.value.rows=c.value.rows.filter(h=>h.status==="pending"||h.status==="converting")}async function D(h){try{await Ce.revealPath(h.path)}catch(v){q.value=v instanceof Error?v.message:"打开目录失败"}}async function G(h){if(h.taskId)try{await Ce.revealTask(h.taskId)}catch(v){q.value=v instanceof Error?v.message:"打开目录失败"}}function f(h){return h==="pending"?C.workbench.statusPending:h==="converting"?C.workbench.statusRunning:h==="success"?C.workbench.statusSuccess:C.workbench.statusFailed}const m=se(()=>[...b.value].slice(0,10).map(h=>h.toUpperCase()).join(" / ")),w=se(()=>[...b.value].map(h=>`.${h}`).join(","));return hs(()=>{t&&Ce.wxStatus().then(h=>{n.activated=h.activated,l.value=h.pairCode,n.checking=!1}).catch(()=>{n.checking=!1})}),(h,v)=>(R(),P("section",Op,[u("h1",Pp,S(y(C).workbench.title),1),u("p",Ip,S(y(C).workbench.subtitle),1),y(t)?n.activated?(R(),P("div",$p,[u("aside",Mp,[(R(!0),P(oe,null,Re(y(rs),p=>(R(),P("button",{key:p.key,type:"button",class:_e(["tab-btn",{active:i.value===p.key}]),"data-testid":`tab-${p.key}`,onClick:x=>{i.value=p.key,q.value=""}},[B(X,{name:p.icon,size:17},null,8,["name"]),u("span",Dp,S(p.label),1),r[p.key].rows.length?(R(),P("span",Fp,S(r[p.key].rows.length),1)):ee("",!0)],10,Np))),128))]),u("div",Vp,[u("div",{class:_e(["dropzone",{dragging:te.value,compact:c.value.rows.length>0}]),"data-testid":"dropzone",onDragover:v[2]||(v[2]=to(p=>te.value=!0,["prevent"])),onDragleave:v[3]||(v[3]=p=>te.value=!1),onDrop:to(Qe,["prevent"])},[c.value.rows.length?(R(),P(oe,{key:1},[B(X,{name:"upload",size:15}),u("span",Up,S(y(C).workbench.dropCompact.replace("{tab}",d.value.label)),1)],64)):(R(),P(oe,{key:0},[u("span",Lp,[B(X,{name:d.value.icon,size:30},null,8,["name"])]),u("strong",Hp,S(y(C).workbench.dropTitle.replace("{tab}",d.value.label)),1),u("p",jp,S(y(C).workbench.dropHint.replace("{exts}",m.value)),1)],64)),u("div",Bp,[yt(u("input",{"onUpdate:modelValue":v[0]||(v[0]=p=>he.value=p),type:"text",placeholder:y(C).workbench.pastePlaceholder,onKeydown:zc(pe,["enter"])},null,40,Kp),[[Ut,he.value]]),u("button",{class:"ghost",type:"button",disabled:!he.value.trim(),onClick:pe},[B(X,{name:"plus",size:14}),U(S(y(C).workbench.addPath),1)],8,zp),u("button",{class:"primary",type:"button",disabled:Y.value,onClick:v[1]||(v[1]=p=>{var x;return(x=fe.value)==null?void 0:x.click()})},[Y.value?(R(),P("span",Gp)):(R(),st(X,{key:0,name:"file",size:14})),U(" "+S(Y.value?"导入中…":y(C).workbench.addFile),1)],8,Wp)]),u("input",{ref_key:"fileInput",ref:fe,type:"file",multiple:"",hidden:"",accept:w.value,onChange:re},null,40,qp)],34),q.value?(R(),P("p",Jp,[B(X,{name:"alert-circle",size:15}),U(S(q.value),1)])):ee("",!0),c.value.rows.length?(R(),P(oe,{key:1},[u("div",Yp,[u("span",Qp,S(y(C).workbench.convertTo),1),_.value.length?(R(),P("div",Xp,[(R(!0),P(oe,null,Re(_.value,p=>(R(),P("button",{key:`${p.conversionKey}:${p.format}`,type:"button",class:_e(["target-chip",{active:E(p)}]),"data-testid":"target-chip",onClick:x=>N(p)},S(y(Fi)(_.value,p)),11,Zp))),128))])):g.value.some(p=>p.available)?(R(),P("p",eg,[B(X,{name:"alert-circle",size:15}),U(S(y(C).workbench.noCommonTargets),1)])):(R(),P("p",tg,[B(X,{name:"alert-circle",size:15}),U(S(y(C).workbench.noTools),1)]))]),u("div",sg,[u("table",ng,[u("thead",null,[u("tr",null,[u("th",og,S(y(C).workbench.tableFile),1),u("th",ig,S(y(C).workbench.tablePath),1),u("th",rg,S(y(C).workbench.tableSize),1),u("th",lg,S(y(C).workbench.tableStatus),1),u("th",ag,S(y(C).workbench.tableActions),1)])]),u("tbody",null,[(R(!0),P(oe,null,Re(c.value.rows,(p,x)=>(R(),P("tr",{key:p.path,"data-testid":"file-row"},[u("td",cg,[u("span",ug,[B(X,{name:$e(p.ext),size:16},null,8,["name"])]),u("span",{class:"file-name",title:p.path},S(p.name??Te(p.path)),9,fg),u("span",dg,S(p.ext?p.ext.toUpperCase():"?"),1)]),u("td",hg,[u("button",{class:"path-link",type:"button","data-testid":"row-path",title:p.path,onClick:T=>D(p)},S(p.path),9,pg)]),u("td",gg,S(p.size!==void 0?y(Bh)(p.size):"—"),1),u("td",mg,[u("span",{class:_e(["row-status",p.status]),title:p.error??""},[p.status==="converting"?(R(),P("span",yg)):ee("",!0),U(" "+S(f(p.status))+" ",1),p.status==="converting"&&p.progress!==void 0?(R(),P("em",_g,S(p.progress)+"%",1)):ee("",!0),p.status==="failed"&&p.error?(R(),P("em",bg,S(p.error),1)):ee("",!0)],10,vg)]),u("td",wg,[p.status==="pending"&&!F.value?(R(),P("button",{key:0,class:"ghost tiny",type:"button",onClick:T=>Xe(p)},S(y(C).workbench.convert),9,Sg)):ee("",!0),p.status==="failed"&&!F.value?(R(),P("button",{key:1,class:"ghost tiny",type:"button",onClick:T=>Xe(p)},S(y(C).workbench.retry),9,xg)):ee("",!0),p.status==="success"?(R(),P("button",{key:2,class:"ghost tiny",type:"button",onClick:T=>G(p)},S(y(C).workbench.openFolder),9,Cg)):ee("",!0),u("button",{class:"icon-btn",type:"button",title:y(C).workbench.remove,onClick:T=>A(x)},[B(X,{name:"x",size:14})],8,kg)])]))),128))])])]),$.value.length?(R(),P("div",Eg,[u("div",Ag,S(y(C).workbench.paramsTitle),1),u("div",Rg,[(R(!0),P(oe,null,Re($.value,p=>(R(),P("label",{key:p.key,class:_e(["param-field",{wide:p.control==="file"}])},[u("span",Tg,[U(S(p.label),1),p.unit?(R(),P(oe,{key:0},[U("("+S(p.unit)+")",1)],64)):ee("",!0),p.required?(R(),P("i",Og,"*")):ee("",!0)]),p.control==="preset"?yt((R(),P("select",{key:0,"onUpdate:modelValue":x=>c.value.paramValues[p.key]=x,"data-testid":`param-${p.key}`},[(R(!0),P(oe,null,Re(p.presets??[],x=>(R(),P("option",{key:x.value,value:x.value},S(x.label),9,Ig))),128))],8,Pg)),[[Co,c.value.paramValues[p.key]]]):p.control==="number"?yt((R(),P("input",{key:1,"onUpdate:modelValue":x=>c.value.paramValues[p.key]=x,type:"number",min:p.min,max:p.max,placeholder:"不调整","data-testid":`param-${p.key}`},null,8,$g)),[[Ut,c.value.paramValues[p.key],void 0,{number:!0}]]):p.control==="file"?(R(),P("div",Mg,[yt(u("input",{"onUpdate:modelValue":x=>c.value.paramValues[p.key]=x,type:"text",placeholder:"选择或粘贴水印图片路径","data-testid":`param-${p.key}`},null,8,Ng),[[Ut,c.value.paramValues[p.key],void 0,{trim:!0}]]),u("button",{class:"ghost",type:"button",disabled:Y.value,onClick:v[4]||(v[4]=x=>{var T;return(T=Se.value)==null?void 0:T.click()})},S(y(C).workbench.chooseFile),9,Dg),u("input",{ref_for:!0,ref_key:"watermarkInput",ref:Se,type:"file",hidden:"",accept:"image/*",onChange:at},null,544)])):yt((R(),P("input",{key:3,"onUpdate:modelValue":x=>c.value.paramValues[p.key]=x,type:p.control==="password"?"password":"text","data-testid":`param-${p.key}`},null,8,Fg)),[[Hc,c.value.paramValues[p.key],void 0,{trim:!0}]]),p.description?(R(),P("small",Vg,S(p.description),1)):ee("",!0)],2))),128))])])):ee("",!0),u("div",{class:_e(["batch-bar",{disabled:!ct.value}])},[u("span",Lg,[v[5]||(v[5]=U(" 待转换 ",-1)),u("strong",null,S(ke.value),1),U(" 个 → "+S(c.value.selected?y(Fi)(_.value,c.value.selected):"—"),1)]),u("div",Hg,[Nt.value?(R(),P("button",{key:0,class:"ghost",type:"button",onClick:j},"清除已完成")):ee("",!0),u("button",{class:"primary batch",type:"button","data-testid":"batch-convert",disabled:!ct.value,onClick:He},[Me.value?(R(),P("span",Ug)):ee("",!0),U(" "+S(Me.value?"转换中…":y(C).workbench.batchConvertN.replace("{n}",String(ke.value))),1)],8,jg)])],2)],64)):ee("",!0)])])):(R(),st(Tp,{key:1,"pair-code":l.value,"data-testid":"follow-gate",onActivated:a},null,8,["pair-code"])):(R(),st(wp,{key:0}))]))}}),Kg=lt(Bg,[["__scopeId","data-v-49f4174d"]]),zg=af({history:ju(),routes:[{path:"/",name:"landing",component:Ld},{path:"/workbench",name:"workbench",component:Kg},{path:"/history",name:"history",component:qf},{path:"/settings",name:"settings",component:Dh},{path:"/:pathMatch(.*)*",redirect:"/"}]});qc(yf).use(Qc()).use(zg).mount("#app");