Files
DriverVault/API Server/internal/api/dist/assets/index-D-rTgBao.js
T
tajniak81andClaude Opus 4.8 8656aaaee3 Split Web App Settings into tabs; allow unset plugin Control mode
Web App: Settings is now two tabs — Personal settings (account,
appearance, profile, privacy, advanced/danger) and Integrations
(Toyota, Anker Solix). Panels use v-show so loaded state and in-flight
edits survive a tab switch. Adds settings.tabs.* labels (en/pl/da).

API Server panel: non-required select config fields now render a
leading "Not set" option, so a superadmin can leave the Anker Solix
Control mode (and Toyota Brand) unset at the global layer. Previously
every option was a real value, forcing a pick that won the cascade and
locked organizations and users out of choosing their own mode. The
server side already treated an empty value as "abstain"; this closes
the UI gap. Adds plugins.notSet label (en/pl/da) and rebuilds the
embedded panel dist.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-19 00:02:37 +02:00

18 lines
116 KiB
JavaScript

(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const o of i)if(o.type==="childList")for(const r of o.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&n(r)}).observe(document,{childList:!0,subtree:!0});function s(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerPolicy&&(o.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?o.credentials="include":i.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function n(i){if(i.ep)return;i.ep=!0;const o=s(i);fetch(i.href,o)}})();/**
* @vue/shared v3.5.39
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/function ln(e){const t=Object.create(null);for(const s of e.split(","))t[s]=1;return s=>s in t}const Y={},xt=[],He=()=>{},gi=()=>!1,ks=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Ss=e=>e.startsWith("onUpdate:"),he=Object.assign,an=(e,t)=>{const s=e.indexOf(t);s>-1&&e.splice(s,1)},$o=Object.prototype.hasOwnProperty,G=(e,t)=>$o.call(e,t),L=Array.isArray,kt=e=>es(e)==="[object Map]",Rt=e=>es(e)==="[object Set]",Rn=e=>es(e)==="[object Date]",H=e=>typeof e=="function",ne=e=>typeof e=="string",Ve=e=>typeof e=="symbol",Z=e=>e!==null&&typeof e=="object",mi=e=>(Z(e)||H(e))&&H(e.then)&&H(e.catch),bi=Object.prototype.toString,es=e=>bi.call(e),Ao=e=>es(e).slice(8,-1),vi=e=>es(e)==="[object Object]",cn=e=>ne(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Ft=ln(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Ts=e=>{const t=Object.create(null);return(s=>t[s]||(t[s]=e(s)))},Oo=/-\w/g,Ce=Ts(e=>e.replace(Oo,t=>t.slice(1).toUpperCase())),Ro=/\B([A-Z])/g,ct=Ts(e=>e.replace(Ro,"-$1").toLowerCase()),_i=Ts(e=>e.charAt(0).toUpperCase()+e.slice(1)),Ms=Ts(e=>e?`on${_i(e)}`:""),Be=(e,t)=>!Object.is(e,t),fs=(e,...t)=>{for(let s=0;s<e.length;s++)e[s](...t)},yi=(e,t,s,n=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:s})},Es=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let In;const Cs=()=>In||(In=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function un(e){if(L(e)){const t={};for(let s=0;s<e.length;s++){const n=e[s],i=ne(n)?Mo(n):un(n);if(i)for(const o in i)t[o]=i[o]}return t}else if(ne(e)||Z(e))return e}const Io=/;(?![^(]*\))/g,Uo=/:([^]+)/,jo=/\/\*[^]*?\*\//g;function Mo(e){const t={};return e.replace(jo,"").split(Io).forEach(s=>{if(s){const n=s.split(Uo);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function $e(e){let t="";if(ne(e))t=e;else if(L(e))for(let s=0;s<e.length;s++){const n=$e(e[s]);n&&(t+=n+" ")}else if(Z(e))for(const s in e)e[s]&&(t+=s+" ");return t.trim()}const No="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",Do=ln(No);function wi(e){return!!e||e===""}function zo(e,t){if(e.length!==t.length)return!1;let s=!0;for(let n=0;s&&n<e.length;n++)s=rt(e[n],t[n]);return s}function rt(e,t){if(e===t)return!0;let s=Rn(e),n=Rn(t);if(s||n)return s&&n?e.getTime()===t.getTime():!1;if(s=Ve(e),n=Ve(t),s||n)return e===t;if(s=L(e),n=L(t),s||n)return s&&n?zo(e,t):!1;if(s=Z(e),n=Z(t),s||n){if(!s||!n)return!1;const i=Object.keys(e).length,o=Object.keys(t).length;if(i!==o)return!1;for(const r in e){const l=e.hasOwnProperty(r),a=t.hasOwnProperty(r);if(l&&!a||!l&&a||!rt(e[r],t[r]))return!1}}return String(e)===String(t)}function dn(e,t){return e.findIndex(s=>rt(s,t))}const xi=e=>!!(e&&e.__v_isRef===!0),b=e=>ne(e)?e:e==null?"":L(e)||Z(e)&&(e.toString===bi||!H(e.toString))?xi(e)?b(e.value):JSON.stringify(e,ki,2):String(e),ki=(e,t)=>xi(t)?ki(e,t.value):kt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((s,[n,i],o)=>(s[Ns(n,o)+" =>"]=i,s),{})}:Rt(t)?{[`Set(${t.size})`]:[...t.values()].map(s=>Ns(s))}:Ve(t)?Ns(t):Z(t)&&!L(t)&&!vi(t)?String(t):t,Ns=(e,t="")=>{var s;return Ve(e)?`Symbol(${(s=e.description)!=null?s:t})`:e};/**
* @vue/reactivity v3.5.39
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/let ae;class Lo{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)for(t=0,s=this.scopes.length;t<s;t++)this.scopes[t].pause();for(t=0,s=this.effects.length;t<s;t++)this.effects[t].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let t,s;if(this.scopes)for(t=0,s=this.scopes.length;t<s;t++)this.scopes[t].resume();for(t=0,s=this.effects.length;t<s;t++)this.effects[t].resume()}}run(t){if(this._active){const s=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){for(s=0,n=this.scopes.length;s<n;s++)this.scopes[s].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!t){const i=this.parent.scopes.pop();i&&i!==this&&(this.parent.scopes[this.index]=i,i.index=this.index)}this.parent=void 0}}}function Fo(){return ae}let Q;const Ds=new WeakSet;class Si{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,Ds.has(this)&&(Ds.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||Ei(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,Un(this),Ci(this);const t=Q,s=Pe;Q=this,Pe=!0;try{return this.fn()}finally{Pi(this),Q=t,Pe=s,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)hn(t);this.deps=this.depsTail=void 0,Un(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?Ds.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){qs(this)&&this.run()}get dirty(){return qs(this)}}let Ti=0,Bt,Ht;function Ei(e,t=!1){if(e.flags|=8,t){e.next=Ht,Ht=e;return}e.next=Bt,Bt=e}function fn(){Ti++}function pn(){if(--Ti>0)return;if(Ht){let t=Ht;for(Ht=void 0;t;){const s=t.next;t.next=void 0,t.flags&=-9,t=s}}let e;for(;Bt;){let t=Bt;for(Bt=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 Ci(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Pi(e){let t,s=e.depsTail,n=s;for(;n;){const i=n.prevDep;n.version===-1?(n===s&&(s=i),hn(n),Bo(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=i}e.deps=t,e.depsTail=s}function qs(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&($i(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function $i(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===qt)||(e.globalVersion=qt,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!qs(e))))return;e.flags|=2;const t=e.dep,s=Q,n=Pe;Q=e,Pe=!0;try{Ci(e);const i=e.fn(e._value);(t.version===0||Be(i,e._value))&&(e.flags|=128,e._value=i,t.version++)}catch(i){throw t.version++,i}finally{Q=s,Pe=n,Pi(e),e.flags&=-3}}function hn(e,t=!1){const{dep:s,prevSub:n,nextSub:i}=e;if(n&&(n.nextSub=i,e.prevSub=void 0),i&&(i.prevSub=n,e.nextSub=void 0),s.subs===e&&(s.subs=n,!n&&s.computed)){s.computed.flags&=-5;for(let o=s.computed.deps;o;o=o.nextDep)hn(o,!0)}!t&&!--s.sc&&s.map&&s.map.delete(s.key)}function Bo(e){const{prevDep:t,nextDep:s}=e;t&&(t.nextDep=s,e.prevDep=void 0),s&&(s.prevDep=t,e.nextDep=void 0)}let Pe=!0;const Ai=[];function Ke(){Ai.push(Pe),Pe=!1}function We(){const e=Ai.pop();Pe=e===void 0?!0:e}function Un(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const s=Q;Q=void 0;try{t()}finally{Q=s}}}let qt=0;class Ho{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 gn{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(!Q||!Pe||Q===this.computed)return;let s=this.activeLink;if(s===void 0||s.sub!==Q)s=this.activeLink=new Ho(Q,this),Q.deps?(s.prevDep=Q.depsTail,Q.depsTail.nextDep=s,Q.depsTail=s):Q.deps=Q.depsTail=s,Oi(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=Q.depsTail,s.nextDep=void 0,Q.depsTail.nextDep=s,Q.depsTail=s,Q.deps===s&&(Q.deps=n)}return s}trigger(t){this.version++,qt++,this.notify(t)}notify(t){fn();try{for(let s=this.subs;s;s=s.prevSub)s.sub.notify()&&s.sub.dep.notify()}finally{pn()}}}function Oi(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)Oi(n)}const s=e.dep.subs;s!==e&&(e.prevSub=s,s&&(s.nextSub=e)),e.dep.subs=e}}const Zs=new WeakMap,vt=Symbol(""),Js=Symbol(""),Zt=Symbol("");function ue(e,t,s){if(Pe&&Q){let n=Zs.get(e);n||Zs.set(e,n=new Map);let i=n.get(s);i||(n.set(s,i=new gn),i.map=n,i.key=s),i.track()}}function Je(e,t,s,n,i,o){const r=Zs.get(e);if(!r){qt++;return}const l=a=>{a&&a.trigger()};if(fn(),t==="clear")r.forEach(l);else{const a=L(e),p=a&&cn(s);if(a&&s==="length"){const u=Number(n);r.forEach((m,y)=>{(y==="length"||y===Zt||!Ve(y)&&y>=u)&&l(m)})}else switch((s!==void 0||r.has(void 0))&&l(r.get(s)),p&&l(r.get(Zt)),t){case"add":a?p&&l(r.get("length")):(l(r.get(vt)),kt(e)&&l(r.get(Js)));break;case"delete":a||(l(r.get(vt)),kt(e)&&l(r.get(Js)));break;case"set":kt(e)&&l(r.get(vt));break}}pn()}function yt(e){const t=W(e);return t===e?t:(ue(t,"iterate",Zt),Se(e)?t:t.map(Ae))}function Ps(e){return ue(e=W(e),"iterate",Zt),e}function Le(e,t){return et(e)?Ct(_t(e)?Ae(t):t):Ae(t)}const Vo={__proto__:null,[Symbol.iterator](){return zs(this,Symbol.iterator,e=>Le(this,e))},concat(...e){return yt(this).concat(...e.map(t=>L(t)?yt(t):t))},entries(){return zs(this,"entries",e=>(e[1]=Le(this,e[1]),e))},every(e,t){return Ge(this,"every",e,t,void 0,arguments)},filter(e,t){return Ge(this,"filter",e,t,s=>s.map(n=>Le(this,n)),arguments)},find(e,t){return Ge(this,"find",e,t,s=>Le(this,s),arguments)},findIndex(e,t){return Ge(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Ge(this,"findLast",e,t,s=>Le(this,s),arguments)},findLastIndex(e,t){return Ge(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Ge(this,"forEach",e,t,void 0,arguments)},includes(...e){return Ls(this,"includes",e)},indexOf(...e){return Ls(this,"indexOf",e)},join(e){return yt(this).join(e)},lastIndexOf(...e){return Ls(this,"lastIndexOf",e)},map(e,t){return Ge(this,"map",e,t,void 0,arguments)},pop(){return Nt(this,"pop")},push(...e){return Nt(this,"push",e)},reduce(e,...t){return jn(this,"reduce",e,t)},reduceRight(e,...t){return jn(this,"reduceRight",e,t)},shift(){return Nt(this,"shift")},some(e,t){return Ge(this,"some",e,t,void 0,arguments)},splice(...e){return Nt(this,"splice",e)},toReversed(){return yt(this).toReversed()},toSorted(e){return yt(this).toSorted(e)},toSpliced(...e){return yt(this).toSpliced(...e)},unshift(...e){return Nt(this,"unshift",e)},values(){return zs(this,"values",e=>Le(this,e))}};function zs(e,t,s){const n=Ps(e),i=n[t]();return n!==e&&!Se(e)&&(i._next=i.next,i.next=()=>{const o=i._next();return o.done||(o.value=s(o.value)),o}),i}const Ko=Array.prototype;function Ge(e,t,s,n,i,o){const r=Ps(e),l=r!==e&&!Se(e),a=r[t];if(a!==Ko[t]){const m=a.apply(e,o);return l?Ae(m):m}let p=s;r!==e&&(l?p=function(m,y){return s.call(this,Le(e,m),y,e)}:s.length>2&&(p=function(m,y){return s.call(this,m,y,e)}));const u=a.call(r,p,n);return l&&i?i(u):u}function jn(e,t,s,n){const i=Ps(e),o=i!==e&&!Se(e);let r=s,l=!1;i!==e&&(o?(l=n.length===0,r=function(p,u,m){return l&&(l=!1,p=Le(e,p)),s.call(this,p,Le(e,u),m,e)}):s.length>3&&(r=function(p,u,m){return s.call(this,p,u,m,e)}));const a=i[t](r,...n);return l?Le(e,a):a}function Ls(e,t,s){const n=W(e);ue(n,"iterate",Zt);const i=n[t](...s);return(i===-1||i===!1)&&vn(s[0])?(s[0]=W(s[0]),n[t](...s)):i}function Nt(e,t,s=[]){Ke(),fn();const n=W(e)[t].apply(e,s);return pn(),We(),n}const Wo=ln("__proto__,__v_isRef,__isVue"),Ri=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Ve));function Go(e){Ve(e)||(e=String(e));const t=W(this);return ue(t,"has",e),t.hasOwnProperty(e)}class Ii{constructor(t=!1,s=!1){this._isReadonly=t,this._isShallow=s}get(t,s,n){if(s==="__v_skip")return t.__v_skip;const i=this._isReadonly,o=this._isShallow;if(s==="__v_isReactive")return!i;if(s==="__v_isReadonly")return i;if(s==="__v_isShallow")return o;if(s==="__v_raw")return n===(i?o?nr:Ni:o?Mi:ji).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const r=L(t);if(!i){let a;if(r&&(a=Vo[s]))return a;if(s==="hasOwnProperty")return Go}const l=Reflect.get(t,s,fe(t)?t:n);if((Ve(s)?Ri.has(s):Wo(s))||(i||ue(t,"get",s),o))return l;if(fe(l)){const a=r&&cn(s)?l:l.value;return i&&Z(a)?Xs(a):a}return Z(l)?i?Xs(l):Jt(l):l}}class Ui extends Ii{constructor(t=!1){super(!1,t)}set(t,s,n,i){let o=t[s];const r=L(t)&&cn(s);if(!this._isShallow){const p=et(o);if(!Se(n)&&!et(n)&&(o=W(o),n=W(n)),!r&&fe(o)&&!fe(n))return p||(o.value=n),!0}const l=r?Number(s)<t.length:G(t,s),a=Reflect.set(t,s,n,fe(t)?t:i);return t===W(i)&&a&&(l?Be(n,o)&&Je(t,"set",s,n):Je(t,"add",s,n)),a}deleteProperty(t,s){const n=G(t,s);t[s];const i=Reflect.deleteProperty(t,s);return i&&n&&Je(t,"delete",s,void 0),i}has(t,s){const n=Reflect.has(t,s);return(!Ve(s)||!Ri.has(s))&&ue(t,"has",s),n}ownKeys(t){return ue(t,"iterate",L(t)?"length":vt),Reflect.ownKeys(t)}}class qo extends Ii{constructor(t=!1){super(!0,t)}set(t,s){return!0}deleteProperty(t,s){return!0}}const Zo=new Ui,Jo=new qo,Yo=new Ui(!0);const Ys=e=>e,as=e=>Reflect.getPrototypeOf(e);function Xo(e,t,s){return function(...n){const i=this.__v_raw,o=W(i),r=kt(o),l=e==="entries"||e===Symbol.iterator&&r,a=e==="keys"&&r,p=i[e](...n),u=s?Ys:t?Ct:Ae;return!t&&ue(o,"iterate",a?Js:vt),he(Object.create(p),{next(){const{value:m,done:y}=p.next();return y?{value:m,done:y}:{value:l?[u(m[0]),u(m[1])]:u(m),done:y}}})}}function cs(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Qo(e,t){const s={get(i){const o=this.__v_raw,r=W(o),l=W(i);e||(Be(i,l)&&ue(r,"get",i),ue(r,"get",l));const{has:a}=as(r),p=t?Ys:e?Ct:Ae;if(a.call(r,i))return p(o.get(i));if(a.call(r,l))return p(o.get(l));o!==r&&o.get(i)},get size(){const i=this.__v_raw;return!e&&ue(W(i),"iterate",vt),i.size},has(i){const o=this.__v_raw,r=W(o),l=W(i);return e||(Be(i,l)&&ue(r,"has",i),ue(r,"has",l)),i===l?o.has(i):o.has(i)||o.has(l)},forEach(i,o){const r=this,l=r.__v_raw,a=W(l),p=t?Ys:e?Ct:Ae;return!e&&ue(a,"iterate",vt),l.forEach((u,m)=>i.call(o,p(u),p(m),r))}};return he(s,e?{add:cs("add"),set:cs("set"),delete:cs("delete"),clear:cs("clear")}:{add(i){const o=W(this),r=as(o),l=W(i),a=!t&&!Se(i)&&!et(i)?l:i;return r.has.call(o,a)||Be(i,a)&&r.has.call(o,i)||Be(l,a)&&r.has.call(o,l)||(o.add(a),Je(o,"add",a,a)),this},set(i,o){!t&&!Se(o)&&!et(o)&&(o=W(o));const r=W(this),{has:l,get:a}=as(r);let p=l.call(r,i);p||(i=W(i),p=l.call(r,i));const u=a.call(r,i);return r.set(i,o),p?Be(o,u)&&Je(r,"set",i,o):Je(r,"add",i,o),this},delete(i){const o=W(this),{has:r,get:l}=as(o);let a=r.call(o,i);a||(i=W(i),a=r.call(o,i)),l&&l.call(o,i);const p=o.delete(i);return a&&Je(o,"delete",i,void 0),p},clear(){const i=W(this),o=i.size!==0,r=i.clear();return o&&Je(i,"clear",void 0,void 0),r}}),["keys","values","entries",Symbol.iterator].forEach(i=>{s[i]=Xo(i,e,t)}),s}function mn(e,t){const s=Qo(e,t);return(n,i,o)=>i==="__v_isReactive"?!e:i==="__v_isReadonly"?e:i==="__v_raw"?n:Reflect.get(G(s,i)&&i in n?s:n,i,o)}const er={get:mn(!1,!1)},tr={get:mn(!1,!0)},sr={get:mn(!0,!1)};const ji=new WeakMap,Mi=new WeakMap,Ni=new WeakMap,nr=new WeakMap;function ir(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Jt(e){return et(e)?e:bn(e,!1,Zo,er,ji)}function or(e){return bn(e,!1,Yo,tr,Mi)}function Xs(e){return bn(e,!0,Jo,sr,Ni)}function bn(e,t,s,n,i){if(!Z(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const o=i.get(e);if(o)return o;const r=ir(Ao(e));if(r===0)return e;const l=new Proxy(e,r===2?n:s);return i.set(e,l),l}function _t(e){return et(e)?_t(e.__v_raw):!!(e&&e.__v_isReactive)}function et(e){return!!(e&&e.__v_isReadonly)}function Se(e){return!!(e&&e.__v_isShallow)}function vn(e){return e?!!e.__v_raw:!1}function W(e){const t=e&&e.__v_raw;return t?W(t):e}function rr(e){return!G(e,"__v_skip")&&Object.isExtensible(e)&&yi(e,"__v_skip",!0),e}const Ae=e=>Z(e)?Jt(e):e,Ct=e=>Z(e)?Xs(e):e;function fe(e){return e?e.__v_isRef===!0:!1}function V(e){return lr(e,!1)}function lr(e,t){return fe(e)?e:new ar(e,t)}class ar{constructor(t,s){this.dep=new gn,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=s?t:W(t),this._value=s?t:Ae(t),this.__v_isShallow=s}get value(){return this.dep.track(),this._value}set value(t){const s=this._rawValue,n=this.__v_isShallow||Se(t)||et(t);t=n?t:W(t),Be(t,s)&&(this._rawValue=t,this._value=n?t:Ae(t),this.dep.trigger())}}function g(e){return fe(e)?e.value:e}const cr={get:(e,t,s)=>t==="__v_raw"?e:g(Reflect.get(e,t,s)),set:(e,t,s,n)=>{const i=e[t];return fe(i)&&!fe(s)?(i.value=s,!0):Reflect.set(e,t,s,n)}};function Di(e){return _t(e)?e:new Proxy(e,cr)}class ur{constructor(t,s,n){this.fn=t,this.setter=s,this._value=void 0,this.dep=new gn(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=qt-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!s,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&Q!==this)return Ei(this,!0),!0}get value(){const t=this.dep.track();return $i(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function dr(e,t,s=!1){let n,i;return H(e)?n=e:(n=e.get,i=e.set),new ur(n,i,s)}const us={},gs=new WeakMap;let mt;function fr(e,t=!1,s=mt){if(s){let n=gs.get(s);n||gs.set(s,n=[]),n.push(e)}}function pr(e,t,s=Y){const{immediate:n,deep:i,once:o,scheduler:r,augmentJob:l,call:a}=s,p=M=>i?M:Se(M)||i===!1||i===0?Ye(M,1):Ye(M);let u,m,y,A,D=!1,C=!1;if(fe(e)?(m=()=>e.value,D=Se(e)):_t(e)?(m=()=>p(e),D=!0):L(e)?(C=!0,D=e.some(M=>_t(M)||Se(M)),m=()=>e.map(M=>{if(fe(M))return M.value;if(_t(M))return p(M);if(H(M))return a?a(M,2):M()})):H(e)?t?m=a?()=>a(e,2):e:m=()=>{if(y){Ke();try{y()}finally{We()}}const M=mt;mt=u;try{return a?a(e,3,[A]):e(A)}finally{mt=M}}:m=He,t&&i){const M=m,oe=i===!0?1/0:i;m=()=>Ye(M(),oe)}const P=Fo(),T=()=>{u.stop(),P&&P.active&&an(P.effects,u)};if(o&&t){const M=t;t=(...oe)=>{const Re=M(...oe);return T(),Re}}let $=C?new Array(e.length).fill(us):us;const j=M=>{if(!(!(u.flags&1)||!u.dirty&&!M))if(t){const oe=u.run();if(M||i||D||(C?oe.some((Re,Ie)=>Be(Re,$[Ie])):Be(oe,$))){y&&y();const Re=mt;mt=u;try{const Ie=[oe,$===us?void 0:C&&$[0]===us?[]:$,A];$=oe,a?a(t,3,Ie):t(...Ie)}finally{mt=Re}}}else u.run()};return l&&l(j),u=new Si(m),u.scheduler=r?()=>r(j,!1):j,A=M=>fr(M,!1,u),y=u.onStop=()=>{const M=gs.get(u);if(M){if(a)a(M,4);else for(const oe of M)oe();gs.delete(u)}},t?n?j(!0):$=u.run():r?r(j.bind(null,!0),!0):u.run(),T.pause=u.pause.bind(u),T.resume=u.resume.bind(u),T.stop=T,T}function Ye(e,t=1/0,s){if(t<=0||!Z(e)||e.__v_skip||(s=s||new Map,(s.get(e)||0)>=t))return e;if(s.set(e,t),t--,fe(e))Ye(e.value,t,s);else if(L(e))for(let n=0;n<e.length;n++)Ye(e[n],t,s);else if(Rt(e)||kt(e))e.forEach(n=>{Ye(n,t,s)});else if(vi(e)){for(const n in e)Ye(e[n],t,s);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&Ye(e[n],t,s)}return e}/**
* @vue/runtime-core v3.5.39
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/function ts(e,t,s,n){try{return n?e(...n):e()}catch(i){$s(i,t,s)}}function Oe(e,t,s,n){if(H(e)){const i=ts(e,t,s,n);return i&&mi(i)&&i.catch(o=>{$s(o,t,s)}),i}if(L(e)){const i=[];for(let o=0;o<e.length;o++)i.push(Oe(e[o],t,s,n));return i}}function $s(e,t,s,n=!0){const i=t?t.vnode:null,{errorHandler:o,throwUnhandledErrorInProduction:r}=t&&t.appContext.config||Y;if(t){let l=t.parent;const a=t.proxy,p=`https://vuejs.org/error-reference/#runtime-${s}`;for(;l;){const u=l.ec;if(u){for(let m=0;m<u.length;m++)if(u[m](e,a,p)===!1)return}l=l.parent}if(o){Ke(),ts(o,null,10,[e,a,p]),We();return}}hr(e,s,i,n,r)}function hr(e,t,s,n=!0,i=!1){if(i)throw e;console.error(e)}const be=[];let ze=-1;const St=[];let ot=null,wt=0;const zi=Promise.resolve();let ms=null;function Li(e){const t=ms||zi;return e?t.then(this?e.bind(this):e):t}function gr(e){let t=ze+1,s=be.length;for(;t<s;){const n=t+s>>>1,i=be[n],o=Yt(i);o<e||o===e&&i.flags&2?t=n+1:s=n}return t}function _n(e){if(!(e.flags&1)){const t=Yt(e),s=be[be.length-1];!s||!(e.flags&2)&&t>=Yt(s)?be.push(e):be.splice(gr(t),0,e),e.flags|=1,Fi()}}function Fi(){ms||(ms=zi.then(Hi))}function mr(e){L(e)?St.push(...e):ot&&e.id===-1?ot.splice(wt+1,0,e):e.flags&1||(St.push(e),e.flags|=1),Fi()}function Mn(e,t,s=ze+1){for(;s<be.length;s++){const n=be[s];if(n&&n.flags&2){if(e&&n.id!==e.uid)continue;be.splice(s,1),s--,n.flags&4&&(n.flags&=-2),n(),n.flags&4||(n.flags&=-2)}}}function Bi(e){if(St.length){const t=[...new Set(St)].sort((s,n)=>Yt(s)-Yt(n));if(St.length=0,ot){ot.push(...t);return}for(ot=t,wt=0;wt<ot.length;wt++){const s=ot[wt];s.flags&4&&(s.flags&=-2),s.flags&8||s(),s.flags&=-2}ot=null,wt=0}}const Yt=e=>e.id==null?e.flags&2?-1:1/0:e.id;function Hi(e){try{for(ze=0;ze<be.length;ze++){const t=be[ze];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),ts(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;ze<be.length;ze++){const t=be[ze];t&&(t.flags&=-2)}ze=-1,be.length=0,Bi(),ms=null,(be.length||St.length)&&Hi()}}let xe=null,Vi=null;function bs(e){const t=xe;return xe=e,Vi=e&&e.type.__scopeId||null,t}function br(e,t=xe,s){if(!t||e._n)return e;const n=(...i)=>{n._d&&Gn(-1);const o=bs(t);let r;try{r=e(...i)}finally{bs(o),n._d&&Gn(1)}return r};return n._n=!0,n._c=!0,n._d=!0,n}function re(e,t){if(xe===null)return e;const s=Is(xe),n=e.dirs||(e.dirs=[]);for(let i=0;i<t.length;i++){let[o,r,l,a=Y]=t[i];o&&(H(o)&&(o={mounted:o,updated:o}),o.deep&&Ye(r),n.push({dir:o,instance:s,value:r,oldValue:void 0,arg:l,modifiers:a}))}return e}function ht(e,t,s,n){const i=e.dirs,o=t&&t.dirs;for(let r=0;r<i.length;r++){const l=i[r];o&&(l.oldValue=o[r].value);let a=l.dir[n];a&&(Ke(),Oe(a,s,8,[e.el,l,e,t]),We())}}function vr(e,t){if(ve){let s=ve.provides;const n=ve.parent&&ve.parent.provides;n===s&&(s=ve.provides=Object.create(n)),s[e]=t}}function ps(e,t,s=!1){const n=gl();if(n||Tt){let i=Tt?Tt._context.provides:n?n.parent==null||n.ce?n.vnode.appContext&&n.vnode.appContext.provides:n.parent.provides:void 0;if(i&&e in i)return i[e];if(arguments.length>1)return s&&H(t)?t.call(n&&n.proxy):t}}const _r=Symbol.for("v-scx"),yr=()=>ps(_r);function Fs(e,t,s){return Ki(e,t,s)}function Ki(e,t,s=Y){const{immediate:n,deep:i,flush:o,once:r}=s,l=he({},s),a=t&&n||!t&&o!=="post";let p;if(Qt){if(o==="sync"){const A=yr();p=A.__watcherHandles||(A.__watcherHandles=[])}else if(!a){const A=()=>{};return A.stop=He,A.resume=He,A.pause=He,A}}const u=ve;l.call=(A,D,C)=>Oe(A,u,D,C);let m=!1;o==="post"?l.scheduler=A=>{_e(A,u&&u.suspense)}:o!=="sync"&&(m=!0,l.scheduler=(A,D)=>{D?A():_n(A)}),l.augmentJob=A=>{t&&(A.flags|=4),m&&(A.flags|=2,u&&(A.id=u.uid,A.i=u))};const y=pr(e,t,l);return Qt&&(p?p.push(y):a&&y()),y}function wr(e,t,s){const n=this.proxy,i=ne(e)?e.includes(".")?Wi(n,e):()=>n[e]:e.bind(n,n);let o;H(t)?o=t:(o=t.handler,s=t);const r=ss(this),l=Ki(i,o.bind(n),s);return r(),l}function Wi(e,t){const s=t.split(".");return()=>{let n=e;for(let i=0;i<s.length&&n;i++)n=n[s[i]];return n}}const xr=Symbol("_vte"),kr=e=>e.__isTeleport,Bs=Symbol("_leaveCb");function yn(e,t){e.shapeFlag&6&&e.component?(e.transition=t,yn(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Gi(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Nn(e,t){let s;return!!((s=Object.getOwnPropertyDescriptor(e,t))&&!s.configurable)}const vs=new WeakMap;function Vt(e,t,s,n,i=!1){if(L(e)){e.forEach((C,P)=>Vt(C,t&&(L(t)?t[P]:t),s,n,i));return}if(Kt(n)&&!i){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&Vt(e,t,s,n.component.subTree);return}const o=n.shapeFlag&4?Is(n.component):n.el,r=i?null:o,{i:l,r:a}=e,p=t&&t.r,u=l.refs===Y?l.refs={}:l.refs,m=l.setupState,y=W(m),A=m===Y?gi:C=>Nn(u,C)?!1:G(y,C),D=(C,P)=>!(P&&Nn(u,P));if(p!=null&&p!==a){if(Dn(t),ne(p))u[p]=null,A(p)&&(m[p]=null);else if(fe(p)){const C=t;D(p,C.k)&&(p.value=null),C.k&&(u[C.k]=null)}}if(H(a)){Ke();try{ts(a,l,12,[r,u])}finally{We()}}else{const C=ne(a),P=fe(a);if(C||P){const T=()=>{if(e.f){const $=C?A(a)?m[a]:u[a]:D()||!e.k?a.value:u[e.k];if(i)L($)&&an($,o);else if(L($))$.includes(o)||$.push(o);else if(C)u[a]=[o],A(a)&&(m[a]=u[a]);else{const j=[o];D(a,e.k)&&(a.value=j),e.k&&(u[e.k]=j)}}else C?(u[a]=r,A(a)&&(m[a]=r)):P&&(D(a,e.k)&&(a.value=r),e.k&&(u[e.k]=r))};if(r){const $=()=>{T(),vs.delete(e)};$.id=-1,vs.set(e,$),_e($,s)}else Dn(e),T()}}}function Dn(e){const t=vs.get(e);t&&(t.flags|=8,vs.delete(e))}Cs().requestIdleCallback;Cs().cancelIdleCallback;const Kt=e=>!!e.type.__asyncLoader,qi=e=>e.type.__isKeepAlive;function Sr(e,t){Zi(e,"a",t)}function Tr(e,t){Zi(e,"da",t)}function Zi(e,t,s=ve){const n=e.__wdc||(e.__wdc=()=>{let i=s;for(;i;){if(i.isDeactivated)return;i=i.parent}return e()});if(As(t,n,s),s){let i=s.parent;for(;i&&i.parent;)qi(i.parent.vnode)&&Er(n,t,s,i),i=i.parent}}function Er(e,t,s,n){const i=As(t,e,n,!0);wn(()=>{an(n[t],i)},s)}function As(e,t,s=ve,n=!1){if(s){const i=s[e]||(s[e]=[]),o=t.__weh||(t.__weh=(...r)=>{Ke();const l=ss(s),a=Oe(t,s,e,r);return l(),We(),a});return n?i.unshift(o):i.push(o),o}}const tt=e=>(t,s=ve)=>{(!Qt||e==="sp")&&As(e,(...n)=>t(...n),s)},Cr=tt("bm"),ut=tt("m"),Pr=tt("bu"),$r=tt("u"),Ar=tt("bum"),wn=tt("um"),Or=tt("sp"),Rr=tt("rtg"),Ir=tt("rtc");function Ur(e,t=ve){As("ec",e,t)}const jr=Symbol.for("v-ndc");function ke(e,t,s,n){let i;const o=s,r=L(e);if(r||ne(e)){const l=r&&_t(e);let a=!1,p=!1;l&&(a=!Se(e),p=et(e),e=Ps(e)),i=new Array(e.length);for(let u=0,m=e.length;u<m;u++)i[u]=t(a?p?Ct(Ae(e[u])):Ae(e[u]):e[u],u,void 0,o)}else if(typeof e=="number"){i=new Array(e);for(let l=0;l<e;l++)i[l]=t(l+1,l,void 0,o)}else if(Z(e))if(e[Symbol.iterator])i=Array.from(e,(l,a)=>t(l,a,void 0,o));else{const l=Object.keys(e);i=new Array(l.length);for(let a=0,p=l.length;a<p;a++){const u=l[a];i[a]=t(e[u],u,a,o)}}else i=[];return i}const Qs=e=>e?bo(e)?Is(e):Qs(e.parent):null,Wt=he(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=>Qs(e.parent),$root:e=>Qs(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Yi(e),$forceUpdate:e=>e.f||(e.f=()=>{_n(e.update)}),$nextTick:e=>e.n||(e.n=Li.bind(e.proxy)),$watch:e=>wr.bind(e)}),Hs=(e,t)=>e!==Y&&!e.__isScriptSetup&&G(e,t),Mr={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:s,setupState:n,data:i,props:o,accessCache:r,type:l,appContext:a}=e;if(t[0]!=="$"){const y=r[t];if(y!==void 0)switch(y){case 1:return n[t];case 2:return i[t];case 4:return s[t];case 3:return o[t]}else{if(Hs(n,t))return r[t]=1,n[t];if(i!==Y&&G(i,t))return r[t]=2,i[t];if(G(o,t))return r[t]=3,o[t];if(s!==Y&&G(s,t))return r[t]=4,s[t];en&&(r[t]=0)}}const p=Wt[t];let u,m;if(p)return t==="$attrs"&&ue(e.attrs,"get",""),p(e);if((u=l.__cssModules)&&(u=u[t]))return u;if(s!==Y&&G(s,t))return r[t]=4,s[t];if(m=a.config.globalProperties,G(m,t))return m[t]},set({_:e},t,s){const{data:n,setupState:i,ctx:o}=e;return Hs(i,t)?(i[t]=s,!0):n!==Y&&G(n,t)?(n[t]=s,!0):G(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=s,!0)},has({_:{data:e,setupState:t,accessCache:s,ctx:n,appContext:i,props:o,type:r}},l){let a;return!!(s[l]||e!==Y&&l[0]!=="$"&&G(e,l)||Hs(t,l)||G(o,l)||G(n,l)||G(Wt,l)||G(i.config.globalProperties,l)||(a=r.__cssModules)&&a[l])},defineProperty(e,t,s){return s.get!=null?e._.accessCache[t]=0:G(s,"value")&&this.set(e,t,s.value,null),Reflect.defineProperty(e,t,s)}};function zn(e){return L(e)?e.reduce((t,s)=>(t[s]=null,t),{}):e}let en=!0;function Nr(e){const t=Yi(e),s=e.proxy,n=e.ctx;en=!1,t.beforeCreate&&Ln(t.beforeCreate,e,"bc");const{data:i,computed:o,methods:r,watch:l,provide:a,inject:p,created:u,beforeMount:m,mounted:y,beforeUpdate:A,updated:D,activated:C,deactivated:P,beforeDestroy:T,beforeUnmount:$,destroyed:j,unmounted:M,render:oe,renderTracked:Re,renderTriggered:Ie,errorCaptured:st,serverPrefetch:ns,expose:dt,inheritAttrs:It,components:is,directives:os,filters:Us}=t;if(p&&Dr(p,n,null),r)for(const te in r){const X=r[te];H(X)&&(n[te]=X.bind(s))}if(i){const te=i.call(s,s);Z(te)&&(e.data=Jt(te))}if(en=!0,o)for(const te in o){const X=o[te],ft=H(X)?X.bind(s,s):H(X.get)?X.get.bind(s,s):He,rs=!H(X)&&H(X.set)?X.set.bind(s):He,pt=Qe({get:ft,set:rs});Object.defineProperty(n,te,{enumerable:!0,configurable:!0,get:()=>pt.value,set:Ue=>pt.value=Ue})}if(l)for(const te in l)Ji(l[te],n,s,te);if(a){const te=H(a)?a.call(s):a;Reflect.ownKeys(te).forEach(X=>{vr(X,te[X])})}u&&Ln(u,e,"c");function ge(te,X){L(X)?X.forEach(ft=>te(ft.bind(s))):X&&te(X.bind(s))}if(ge(Cr,m),ge(ut,y),ge(Pr,A),ge($r,D),ge(Sr,C),ge(Tr,P),ge(Ur,st),ge(Ir,Re),ge(Rr,Ie),ge(Ar,$),ge(wn,M),ge(Or,ns),L(dt))if(dt.length){const te=e.exposed||(e.exposed={});dt.forEach(X=>{Object.defineProperty(te,X,{get:()=>s[X],set:ft=>s[X]=ft,enumerable:!0})})}else e.exposed||(e.exposed={});oe&&e.render===He&&(e.render=oe),It!=null&&(e.inheritAttrs=It),is&&(e.components=is),os&&(e.directives=os),ns&&Gi(e)}function Dr(e,t,s=He){L(e)&&(e=tn(e));for(const n in e){const i=e[n];let o;Z(i)?"default"in i?o=ps(i.from||n,i.default,!0):o=ps(i.from||n):o=ps(i),fe(o)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>o.value,set:r=>o.value=r}):t[n]=o}}function Ln(e,t,s){Oe(L(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,s)}function Ji(e,t,s,n){let i=n.includes(".")?Wi(s,n):()=>s[n];if(ne(e)){const o=t[e];H(o)&&Fs(i,o)}else if(H(e))Fs(i,e.bind(s));else if(Z(e))if(L(e))e.forEach(o=>Ji(o,t,s,n));else{const o=H(e.handler)?e.handler.bind(s):t[e.handler];H(o)&&Fs(i,o,e)}}function Yi(e){const t=e.type,{mixins:s,extends:n}=t,{mixins:i,optionsCache:o,config:{optionMergeStrategies:r}}=e.appContext,l=o.get(t);let a;return l?a=l:!i.length&&!s&&!n?a=t:(a={},i.length&&i.forEach(p=>_s(a,p,r,!0)),_s(a,t,r)),Z(t)&&o.set(t,a),a}function _s(e,t,s,n=!1){const{mixins:i,extends:o}=t;o&&_s(e,o,s,!0),i&&i.forEach(r=>_s(e,r,s,!0));for(const r in t)if(!(n&&r==="expose")){const l=zr[r]||s&&s[r];e[r]=l?l(e[r],t[r]):t[r]}return e}const zr={data:Fn,props:Bn,emits:Bn,methods:zt,computed:zt,beforeCreate:me,created:me,beforeMount:me,mounted:me,beforeUpdate:me,updated:me,beforeDestroy:me,beforeUnmount:me,destroyed:me,unmounted:me,activated:me,deactivated:me,errorCaptured:me,serverPrefetch:me,components:zt,directives:zt,watch:Fr,provide:Fn,inject:Lr};function Fn(e,t){return t?e?function(){return he(H(e)?e.call(this,this):e,H(t)?t.call(this,this):t)}:t:e}function Lr(e,t){return zt(tn(e),tn(t))}function tn(e){if(L(e)){const t={};for(let s=0;s<e.length;s++)t[e[s]]=e[s];return t}return e}function me(e,t){return e?[...new Set([].concat(e,t))]:t}function zt(e,t){return e?he(Object.create(null),e,t):t}function Bn(e,t){return e?L(e)&&L(t)?[...new Set([...e,...t])]:he(Object.create(null),zn(e),zn(t??{})):t}function Fr(e,t){if(!e)return t;if(!t)return e;const s=he(Object.create(null),e);for(const n in t)s[n]=me(e[n],t[n]);return s}function Xi(){return{app:null,config:{isNativeTag:gi,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 Br=0;function Hr(e,t){return function(n,i=null){H(n)||(n=he({},n)),i!=null&&!Z(i)&&(i=null);const o=Xi(),r=new WeakSet,l=[];let a=!1;const p=o.app={_uid:Br++,_component:n,_props:i,_container:null,_context:o,_instance:null,version:wl,get config(){return o.config},set config(u){},use(u,...m){return r.has(u)||(u&&H(u.install)?(r.add(u),u.install(p,...m)):H(u)&&(r.add(u),u(p,...m))),p},mixin(u){return o.mixins.includes(u)||o.mixins.push(u),p},component(u,m){return m?(o.components[u]=m,p):o.components[u]},directive(u,m){return m?(o.directives[u]=m,p):o.directives[u]},mount(u,m,y){if(!a){const A=p._ceVNode||ce(n,i);return A.appContext=o,y===!0?y="svg":y===!1&&(y=void 0),e(A,u,y),a=!0,p._container=u,u.__vue_app__=p,Is(A.component)}},onUnmount(u){l.push(u)},unmount(){a&&(Oe(l,p._instance,16),e(null,p._container),delete p._container.__vue_app__)},provide(u,m){return o.provides[u]=m,p},runWithContext(u){const m=Tt;Tt=p;try{return u()}finally{Tt=m}}};return p}}let Tt=null;const Vr=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Ce(t)}Modifiers`]||e[`${ct(t)}Modifiers`];function Kr(e,t,...s){if(e.isUnmounted)return;const n=e.vnode.props||Y;let i=s;const o=t.startsWith("update:"),r=o&&Vr(n,t.slice(7));r&&(r.trim&&(i=s.map(u=>ne(u)?u.trim():u)),r.number&&(i=s.map(Es)));let l,a=n[l=Ms(t)]||n[l=Ms(Ce(t))];!a&&o&&(a=n[l=Ms(ct(t))]),a&&Oe(a,e,6,i);const p=n[l+"Once"];if(p){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Oe(p,e,6,i)}}const Wr=new WeakMap;function Qi(e,t,s=!1){const n=s?Wr:t.emitsCache,i=n.get(e);if(i!==void 0)return i;const o=e.emits;let r={},l=!1;if(!H(e)){const a=p=>{const u=Qi(p,t,!0);u&&(l=!0,he(r,u))};!s&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}return!o&&!l?(Z(e)&&n.set(e,null),null):(L(o)?o.forEach(a=>r[a]=null):he(r,o),Z(e)&&n.set(e,r),r)}function Os(e,t){return!e||!ks(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),G(e,t[0].toLowerCase()+t.slice(1))||G(e,ct(t))||G(e,t))}function Hn(e){const{type:t,vnode:s,proxy:n,withProxy:i,propsOptions:[o],slots:r,attrs:l,emit:a,render:p,renderCache:u,props:m,data:y,setupState:A,ctx:D,inheritAttrs:C}=e,P=bs(e);let T,$;try{if(s.shapeFlag&4){const M=i||n,oe=M;T=Fe(p.call(oe,M,u,m,A,y,D)),$=l}else{const M=t;T=Fe(M.length>1?M(m,{attrs:l,slots:r,emit:a}):M(m,null)),$=t.props?l:Gr(l)}}catch(M){Gt.length=0,$s(M,e,1),T=ce(lt)}let j=T;if($&&C!==!1){const M=Object.keys($),{shapeFlag:oe}=j;M.length&&oe&7&&(o&&M.some(Ss)&&($=qr($,o)),j=Pt(j,$,!1,!0))}return s.dirs&&(j=Pt(j,null,!1,!0),j.dirs=j.dirs?j.dirs.concat(s.dirs):s.dirs),s.transition&&yn(j,s.transition),T=j,bs(P),T}const Gr=e=>{let t;for(const s in e)(s==="class"||s==="style"||ks(s))&&((t||(t={}))[s]=e[s]);return t},qr=(e,t)=>{const s={};for(const n in e)(!Ss(n)||!(n.slice(9)in t))&&(s[n]=e[n]);return s};function Zr(e,t,s){const{props:n,children:i,component:o}=e,{props:r,children:l,patchFlag:a}=t,p=o.emitsOptions;if(t.dirs||t.transition)return!0;if(s&&a>=0){if(a&1024)return!0;if(a&16)return n?Vn(n,r,p):!!r;if(a&8){const u=t.dynamicProps;for(let m=0;m<u.length;m++){const y=u[m];if(eo(r,n,y)&&!Os(p,y))return!0}}}else return(i||l)&&(!l||!l.$stable)?!0:n===r?!1:n?r?Vn(n,r,p):!0:!!r;return!1}function Vn(e,t,s){const n=Object.keys(t);if(n.length!==Object.keys(e).length)return!0;for(let i=0;i<n.length;i++){const o=n[i];if(eo(t,e,o)&&!Os(s,o))return!0}return!1}function eo(e,t,s){const n=e[s],i=t[s];return s==="style"&&Z(n)&&Z(i)?!rt(n,i):n!==i}function Jr({vnode:e,parent:t,suspense:s},n){for(;t;){const i=t.subTree;if(i.suspense&&i.suspense.activeBranch===e&&(i.suspense.vnode.el=i.el=n,e=i),i===e)(e=t.vnode).el=n,t=t.parent;else break}s&&s.activeBranch===e&&(s.vnode.el=n)}const to={},so=()=>Object.create(to),no=e=>Object.getPrototypeOf(e)===to;function Yr(e,t,s,n=!1){const i={},o=so();e.propsDefaults=Object.create(null),io(e,t,i,o);for(const r in e.propsOptions[0])r in i||(i[r]=void 0);s?e.props=n?i:or(i):e.type.props?e.props=i:e.props=o,e.attrs=o}function Xr(e,t,s,n){const{props:i,attrs:o,vnode:{patchFlag:r}}=e,l=W(i),[a]=e.propsOptions;let p=!1;if((n||r>0)&&!(r&16)){if(r&8){const u=e.vnode.dynamicProps;for(let m=0;m<u.length;m++){let y=u[m];if(Os(e.emitsOptions,y))continue;const A=t[y];if(a)if(G(o,y))A!==o[y]&&(o[y]=A,p=!0);else{const D=Ce(y);i[D]=sn(a,l,D,A,e,!1)}else A!==o[y]&&(o[y]=A,p=!0)}}}else{io(e,t,i,o)&&(p=!0);let u;for(const m in l)(!t||!G(t,m)&&((u=ct(m))===m||!G(t,u)))&&(a?s&&(s[m]!==void 0||s[u]!==void 0)&&(i[m]=sn(a,l,m,void 0,e,!0)):delete i[m]);if(o!==l)for(const m in o)(!t||!G(t,m))&&(delete o[m],p=!0)}p&&Je(e.attrs,"set","")}function io(e,t,s,n){const[i,o]=e.propsOptions;let r=!1,l;if(t)for(let a in t){if(Ft(a))continue;const p=t[a];let u;i&&G(i,u=Ce(a))?!o||!o.includes(u)?s[u]=p:(l||(l={}))[u]=p:Os(e.emitsOptions,a)||(!(a in n)||p!==n[a])&&(n[a]=p,r=!0)}if(o){const a=W(s),p=l||Y;for(let u=0;u<o.length;u++){const m=o[u];s[m]=sn(i,a,m,p[m],e,!G(p,m))}}return r}function sn(e,t,s,n,i,o){const r=e[s];if(r!=null){const l=G(r,"default");if(l&&n===void 0){const a=r.default;if(r.type!==Function&&!r.skipFactory&&H(a)){const{propsDefaults:p}=i;if(s in p)n=p[s];else{const u=ss(i);n=p[s]=a.call(null,t),u()}}else n=a;i.ce&&i.ce._setProp(s,n)}r[0]&&(o&&!l?n=!1:r[1]&&(n===""||n===ct(s))&&(n=!0))}return n}const Qr=new WeakMap;function oo(e,t,s=!1){const n=s?Qr:t.propsCache,i=n.get(e);if(i)return i;const o=e.props,r={},l=[];let a=!1;if(!H(e)){const u=m=>{a=!0;const[y,A]=oo(m,t,!0);he(r,y),A&&l.push(...A)};!s&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!o&&!a)return Z(e)&&n.set(e,xt),xt;if(L(o))for(let u=0;u<o.length;u++){const m=Ce(o[u]);Kn(m)&&(r[m]=Y)}else if(o)for(const u in o){const m=Ce(u);if(Kn(m)){const y=o[u],A=r[m]=L(y)||H(y)?{type:y}:he({},y),D=A.type;let C=!1,P=!0;if(L(D))for(let T=0;T<D.length;++T){const $=D[T],j=H($)&&$.name;if(j==="Boolean"){C=!0;break}else j==="String"&&(P=!1)}else C=H(D)&&D.name==="Boolean";A[0]=C,A[1]=P,(C||G(A,"default"))&&l.push(m)}}const p=[r,l];return Z(e)&&n.set(e,p),p}function Kn(e){return e[0]!=="$"&&!Ft(e)}const xn=e=>e==="_"||e==="_ctx"||e==="$stable",kn=e=>L(e)?e.map(Fe):[Fe(e)],el=(e,t,s)=>{if(t._n)return t;const n=br((...i)=>kn(t(...i)),s);return n._c=!1,n},ro=(e,t,s)=>{const n=e._ctx;for(const i in e){if(xn(i))continue;const o=e[i];if(H(o))t[i]=el(i,o,n);else if(o!=null){const r=kn(o);t[i]=()=>r}}},lo=(e,t)=>{const s=kn(t);e.slots.default=()=>s},ao=(e,t,s)=>{for(const n in t)(s||!xn(n))&&(e[n]=t[n])},tl=(e,t,s)=>{const n=e.slots=so();if(e.vnode.shapeFlag&32){const i=t._;i?(ao(n,t,s),s&&yi(n,"_",i,!0)):ro(t,n)}else t&&lo(e,t)},sl=(e,t,s)=>{const{vnode:n,slots:i}=e;let o=!0,r=Y;if(n.shapeFlag&32){const l=t._;l?s&&l===1?o=!1:ao(i,t,s):(o=!t.$stable,ro(t,i)),r=t}else t&&(lo(e,t),r={default:1});if(o)for(const l in i)!xn(l)&&r[l]==null&&delete i[l]},_e=ll;function nl(e){return il(e)}function il(e,t){const s=Cs();s.__VUE__=!0;const{insert:n,remove:i,patchProp:o,createElement:r,createText:l,createComment:a,setText:p,setElementText:u,parentNode:m,nextSibling:y,setScopeId:A=He,insertStaticContent:D}=e,C=(c,f,v,S=null,x=null,_=null,I=void 0,R=null,O=!!f.dynamicChildren)=>{if(c===f)return;c&&!Dt(c,f)&&(S=ls(c),Ue(c,x,_,!0),c=null),f.patchFlag===-2&&(O=!1,f.dynamicChildren=null);const{type:w,ref:z,shapeFlag:U}=f;switch(w){case Rs:P(c,f,v,S);break;case lt:T(c,f,v,S);break;case Ks:c==null&&$(f,v,S,I);break;case ee:is(c,f,v,S,x,_,I,R,O);break;default:U&1?oe(c,f,v,S,x,_,I,R,O):U&6?os(c,f,v,S,x,_,I,R,O):(U&64||U&128)&&w.process(c,f,v,S,x,_,I,R,O,jt)}z!=null&&x?Vt(z,c&&c.ref,_,f||c,!f):z==null&&c&&c.ref!=null&&Vt(c.ref,null,_,c,!0)},P=(c,f,v,S)=>{if(c==null)n(f.el=l(f.children),v,S);else{const x=f.el=c.el;f.children!==c.children&&p(x,f.children)}},T=(c,f,v,S)=>{c==null?n(f.el=a(f.children||""),v,S):f.el=c.el},$=(c,f,v,S)=>{[c.el,c.anchor]=D(c.children,f,v,S,c.el,c.anchor)},j=({el:c,anchor:f},v,S)=>{let x;for(;c&&c!==f;)x=y(c),n(c,v,S),c=x;n(f,v,S)},M=({el:c,anchor:f})=>{let v;for(;c&&c!==f;)v=y(c),i(c),c=v;i(f)},oe=(c,f,v,S,x,_,I,R,O)=>{if(f.type==="svg"?I="svg":f.type==="math"&&(I="mathml"),c==null)Re(f,v,S,x,_,I,R,O);else{const w=c.el&&c.el._isVueCE?c.el:null;try{w&&w._beginPatch(),ns(c,f,x,_,I,R,O)}finally{w&&w._endPatch()}}},Re=(c,f,v,S,x,_,I,R)=>{let O,w;const{props:z,shapeFlag:U,transition:N,dirs:F}=c;if(O=c.el=r(c.type,_,z&&z.is,z),U&8?u(O,c.children):U&16&&st(c.children,O,null,S,x,Vs(c,_),I,R),F&&ht(c,null,S,"created"),Ie(O,c,c.scopeId,I,S),z){for(const J in z)J!=="value"&&!Ft(J)&&o(O,J,null,z[J],_,S);"value"in z&&o(O,"value",null,z.value,_),(w=z.onVnodeBeforeMount)&&De(w,S,c)}F&&ht(c,null,S,"beforeMount");const K=ol(x,N);K&&N.beforeEnter(O),n(O,f,v),((w=z&&z.onVnodeMounted)||K||F)&&_e(()=>{try{w&&De(w,S,c),K&&N.enter(O),F&&ht(c,null,S,"mounted")}finally{}},x)},Ie=(c,f,v,S,x)=>{if(v&&A(c,v),S)for(let _=0;_<S.length;_++)A(c,S[_]);if(x){let _=x.subTree;if(f===_||po(_.type)&&(_.ssContent===f||_.ssFallback===f)){const I=x.vnode;Ie(c,I,I.scopeId,I.slotScopeIds,x.parent)}}},st=(c,f,v,S,x,_,I,R,O=0)=>{for(let w=O;w<c.length;w++){const z=c[w]=R?Ze(c[w]):Fe(c[w]);C(null,z,f,v,S,x,_,I,R)}},ns=(c,f,v,S,x,_,I)=>{const R=f.el=c.el;let{patchFlag:O,dynamicChildren:w,dirs:z}=f;O|=c.patchFlag&16;const U=c.props||Y,N=f.props||Y;let F;if(v&&gt(v,!1),(F=N.onVnodeBeforeUpdate)&&De(F,v,f,c),z&&ht(f,c,v,"beforeUpdate"),v&&gt(v,!0),w&&(!c.dynamicChildren||c.dynamicChildren.length!==w.length)&&(O=0,I=!1,w=null),(U.innerHTML&&N.innerHTML==null||U.textContent&&N.textContent==null)&&u(R,""),w?dt(c.dynamicChildren,w,R,v,S,Vs(f,x),_):I||X(c,f,R,null,v,S,Vs(f,x),_,!1),O>0){if(O&16)It(R,U,N,v,x);else if(O&2&&U.class!==N.class&&o(R,"class",null,N.class,x),O&4&&o(R,"style",U.style,N.style,x),O&8){const K=f.dynamicProps;for(let J=0;J<K.length;J++){const q=K[J],ie=U[q],le=N[q];(le!==ie||q==="value")&&o(R,q,ie,le,x,v)}}O&1&&c.children!==f.children&&u(R,f.children)}else!I&&w==null&&It(R,U,N,v,x);((F=N.onVnodeUpdated)||z)&&_e(()=>{F&&De(F,v,f,c),z&&ht(f,c,v,"updated")},S)},dt=(c,f,v,S,x,_,I)=>{for(let R=0;R<f.length;R++){const O=c[R],w=f[R],z=O.el&&(O.type===ee||!Dt(O,w)||O.shapeFlag&198)?m(O.el):v;C(O,w,z,null,S,x,_,I,!0)}},It=(c,f,v,S,x)=>{if(f!==v){if(f!==Y)for(const _ in f)!Ft(_)&&!(_ in v)&&o(c,_,f[_],null,x,S);for(const _ in v){if(Ft(_))continue;const I=v[_],R=f[_];I!==R&&_!=="value"&&o(c,_,R,I,x,S)}"value"in v&&o(c,"value",f.value,v.value,x)}},is=(c,f,v,S,x,_,I,R,O)=>{const w=f.el=c?c.el:l(""),z=f.anchor=c?c.anchor:l("");let{patchFlag:U,dynamicChildren:N,slotScopeIds:F}=f;F&&(R=R?R.concat(F):F),c==null?(n(w,v,S),n(z,v,S),st(f.children||[],v,z,x,_,I,R,O)):U>0&&U&64&&N&&c.dynamicChildren&&c.dynamicChildren.length===N.length?(dt(c.dynamicChildren,N,v,x,_,I,R),(f.key!=null||x&&f===x.subTree)&&co(c,f,!0)):X(c,f,v,z,x,_,I,R,O)},os=(c,f,v,S,x,_,I,R,O)=>{f.slotScopeIds=R,c==null?f.shapeFlag&512?x.ctx.activate(f,v,S,I,O):Us(f,v,S,x,_,I,O):En(c,f,O)},Us=(c,f,v,S,x,_,I)=>{const R=c.component=hl(c,S,x);if(qi(c)&&(R.ctx.renderer=jt),ml(R,!1,I),R.asyncDep){if(x&&x.registerDep(R,ge,I),!c.el){const O=R.subTree=ce(lt);T(null,O,f,v),c.placeholder=O.el}}else ge(R,c,f,v,x,_,I)},En=(c,f,v)=>{const S=f.component=c.component;if(Zr(c,f,v))if(S.asyncDep&&!S.asyncResolved){te(S,f,v);return}else S.next=f,S.update();else f.el=c.el,S.vnode=f},ge=(c,f,v,S,x,_,I)=>{const R=()=>{if(c.isMounted){let{next:U,bu:N,u:F,parent:K,vnode:J}=c;{const Me=uo(c);if(Me){U&&(U.el=J.el,te(c,U,I)),Me.asyncDep.then(()=>{_e(()=>{c.isUnmounted||w()},x)});return}}let q=U,ie;gt(c,!1),U?(U.el=J.el,te(c,U,I)):U=J,N&&fs(N),(ie=U.props&&U.props.onVnodeBeforeUpdate)&&De(ie,K,U,J),gt(c,!0);const le=Hn(c),je=c.subTree;c.subTree=le,C(je,le,m(je.el),ls(je),c,x,_),U.el=le.el,q===null&&Jr(c,le.el),F&&_e(F,x),(ie=U.props&&U.props.onVnodeUpdated)&&_e(()=>De(ie,K,U,J),x)}else{let U;const{el:N,props:F}=f,{bm:K,m:J,parent:q,root:ie,type:le}=c,je=Kt(f);gt(c,!1),K&&fs(K),!je&&(U=F&&F.onVnodeBeforeMount)&&De(U,q,f),gt(c,!0);{ie.ce&&ie.ce._hasShadowRoot()&&ie.ce._injectChildStyle(le,c.parent?c.parent.type:void 0);const Me=c.subTree=Hn(c);C(null,Me,v,S,c,x,_),f.el=Me.el}if(J&&_e(J,x),!je&&(U=F&&F.onVnodeMounted)){const Me=f;_e(()=>De(U,q,Me),x)}(f.shapeFlag&256||q&&Kt(q.vnode)&&q.vnode.shapeFlag&256)&&c.a&&_e(c.a,x),c.isMounted=!0,f=v=S=null}};c.scope.on();const O=c.effect=new Si(R);c.scope.off();const w=c.update=O.run.bind(O),z=c.job=O.runIfDirty.bind(O);z.i=c,z.id=c.uid,O.scheduler=()=>_n(z),gt(c,!0),w()},te=(c,f,v)=>{f.component=c;const S=c.vnode.props;c.vnode=f,c.next=null,Xr(c,f.props,S,v),sl(c,f.children,v),Ke(),Mn(c),We()},X=(c,f,v,S,x,_,I,R,O=!1)=>{const w=c&&c.children,z=c?c.shapeFlag:0,U=f.children,{patchFlag:N,shapeFlag:F}=f;if(N>0){if(N&128){rs(w,U,v,S,x,_,I,R,O);return}else if(N&256){ft(w,U,v,S,x,_,I,R,O);return}}F&8?(z&16&&Ut(w,x,_),U!==w&&u(v,U)):z&16?F&16?rs(w,U,v,S,x,_,I,R,O):Ut(w,x,_,!0):(z&8&&u(v,""),F&16&&st(U,v,S,x,_,I,R,O))},ft=(c,f,v,S,x,_,I,R,O)=>{c=c||xt,f=f||xt;const w=c.length,z=f.length,U=Math.min(w,z);let N;for(N=0;N<U;N++){const F=f[N]=O?Ze(f[N]):Fe(f[N]);C(c[N],F,v,null,x,_,I,R,O)}w>z?Ut(c,x,_,!0,!1,U):st(f,v,S,x,_,I,R,O,U)},rs=(c,f,v,S,x,_,I,R,O)=>{let w=0;const z=f.length;let U=c.length-1,N=z-1;for(;w<=U&&w<=N;){const F=c[w],K=f[w]=O?Ze(f[w]):Fe(f[w]);if(Dt(F,K))C(F,K,v,null,x,_,I,R,O);else break;w++}for(;w<=U&&w<=N;){const F=c[U],K=f[N]=O?Ze(f[N]):Fe(f[N]);if(Dt(F,K))C(F,K,v,null,x,_,I,R,O);else break;U--,N--}if(w>U){if(w<=N){const F=N+1,K=F<z?f[F].el:S;for(;w<=N;)C(null,f[w]=O?Ze(f[w]):Fe(f[w]),v,K,x,_,I,R,O),w++}}else if(w>N)for(;w<=U;)Ue(c[w],x,_,!0),w++;else{const F=w,K=w,J=new Map;for(w=K;w<=N;w++){const ye=f[w]=O?Ze(f[w]):Fe(f[w]);ye.key!=null&&J.set(ye.key,w)}let q,ie=0;const le=N-K+1;let je=!1,Me=0;const Mt=new Array(le);for(w=0;w<le;w++)Mt[w]=0;for(w=F;w<=U;w++){const ye=c[w];if(ie>=le){Ue(ye,x,_,!0);continue}let Ne;if(ye.key!=null)Ne=J.get(ye.key);else for(q=K;q<=N;q++)if(Mt[q-K]===0&&Dt(ye,f[q])){Ne=q;break}Ne===void 0?Ue(ye,x,_,!0):(Mt[Ne-K]=w+1,Ne>=Me?Me=Ne:je=!0,C(ye,f[Ne],v,null,x,_,I,R,O),ie++)}const $n=je?rl(Mt):xt;for(q=$n.length-1,w=le-1;w>=0;w--){const ye=K+w,Ne=f[ye],An=f[ye+1],On=ye+1<z?An.el||fo(An):S;Mt[w]===0?C(null,Ne,v,On,x,_,I,R,O):je&&(q<0||w!==$n[q]?pt(Ne,v,On,2):q--)}}},pt=(c,f,v,S,x=null)=>{const{el:_,type:I,transition:R,children:O,shapeFlag:w}=c;if(w&6){pt(c.component.subTree,f,v,S);return}if(w&128){c.suspense.move(f,v,S);return}if(w&64){I.move(c,f,v,jt);return}if(I===ee){n(_,f,v);for(let U=0;U<O.length;U++)pt(O[U],f,v,S);n(c.anchor,f,v);return}if(I===Ks){j(c,f,v);return}if(S!==2&&w&1&&R)if(S===0)R.persisted&&!_[Bs]?n(_,f,v):(R.beforeEnter(_),n(_,f,v),_e(()=>R.enter(_),x));else{const{leave:U,delayLeave:N,afterLeave:F}=R,K=()=>{c.ctx.isUnmounted?i(_):n(_,f,v)},J=()=>{const q=_._isLeaving||!!_[Bs];_._isLeaving&&_[Bs](!0),R.persisted&&!q?K():U(_,()=>{K(),F&&F()})};N?N(_,K,J):J()}else n(_,f,v)},Ue=(c,f,v,S=!1,x=!1)=>{const{type:_,props:I,ref:R,children:O,dynamicChildren:w,shapeFlag:z,patchFlag:U,dirs:N,cacheIndex:F,memo:K}=c;if(U===-2&&(x=!1),R!=null&&(Ke(),Vt(R,null,v,c,!0),We()),F!=null&&(f.renderCache[F]=void 0),z&256){f.ctx.deactivate(c);return}const J=z&1&&N,q=!Kt(c);let ie;if(q&&(ie=I&&I.onVnodeBeforeUnmount)&&De(ie,f,c),z&6)Po(c.component,v,S);else{if(z&128){c.suspense.unmount(v,S);return}J&&ht(c,null,f,"beforeUnmount"),z&64?c.type.remove(c,f,v,jt,S):w&&!w.hasOnce&&(_!==ee||U>0&&U&64)?Ut(w,f,v,!1,!0):(_===ee&&U&384||!x&&z&16)&&Ut(O,f,v),S&&Cn(c)}const le=K!=null&&F==null;(q&&(ie=I&&I.onVnodeUnmounted)||J||le)&&_e(()=>{ie&&De(ie,f,c),J&&ht(c,null,f,"unmounted"),le&&(c.el=null)},v)},Cn=c=>{const{type:f,el:v,anchor:S,transition:x}=c;if(f===ee){Co(v,S);return}if(f===Ks){M(c);return}const _=()=>{i(v),x&&!x.persisted&&x.afterLeave&&x.afterLeave()};if(c.shapeFlag&1&&x&&!x.persisted){const{leave:I,delayLeave:R}=x,O=()=>I(v,_);R?R(c.el,_,O):O()}else _()},Co=(c,f)=>{let v;for(;c!==f;)v=y(c),i(c),c=v;i(f)},Po=(c,f,v)=>{const{bum:S,scope:x,job:_,subTree:I,um:R,m:O,a:w}=c;Wn(O),Wn(w),S&&fs(S),x.stop(),_&&(_.flags|=8,Ue(I,c,f,v)),R&&_e(R,f),_e(()=>{c.isUnmounted=!0},f)},Ut=(c,f,v,S=!1,x=!1,_=0)=>{for(let I=_;I<c.length;I++)Ue(c[I],f,v,S,x)},ls=c=>{if(c.shapeFlag&6)return ls(c.component.subTree);if(c.shapeFlag&128)return c.suspense.next();const f=y(c.anchor||c.el),v=f&&f[xr];return v?y(v):f};let js=!1;const Pn=(c,f,v)=>{let S;c==null?f._vnode&&(Ue(f._vnode,null,null,!0),S=f._vnode.component):C(f._vnode||null,c,f,null,null,null,v),f._vnode=c,js||(js=!0,Mn(S),Bi(),js=!1)},jt={p:C,um:Ue,m:pt,r:Cn,mt:Us,mc:st,pc:X,pbc:dt,n:ls,o:e};return{render:Pn,hydrate:void 0,createApp:Hr(Pn)}}function Vs({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 gt({effect:e,job:t},s){s?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function ol(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function co(e,t,s=!1){const n=e.children,i=t.children;if(L(n)&&L(i))for(let o=0;o<n.length;o++){const r=n[o];let l=i[o];l.shapeFlag&1&&!l.dynamicChildren&&((l.patchFlag<=0||l.patchFlag===32)&&(l=i[o]=Ze(i[o]),l.el=r.el),!s&&l.patchFlag!==-2&&co(r,l)),l.type===Rs&&(l.patchFlag===-1&&(l=i[o]=Ze(l)),l.el=r.el),l.type===lt&&!l.el&&(l.el=r.el)}}function rl(e){const t=e.slice(),s=[0];let n,i,o,r,l;const a=e.length;for(n=0;n<a;n++){const p=e[n];if(p!==0){if(i=s[s.length-1],e[i]<p){t[n]=i,s.push(n);continue}for(o=0,r=s.length-1;o<r;)l=o+r>>1,e[s[l]]<p?o=l+1:r=l;p<e[s[o]]&&(o>0&&(t[n]=s[o-1]),s[o]=n)}}for(o=s.length,r=s[o-1];o-- >0;)s[o]=r,r=t[r];return s}function uo(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:uo(t)}function Wn(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function fo(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?fo(t.subTree):null}const po=e=>e.__isSuspense;function ll(e,t){t&&t.pendingBranch?L(e)?t.effects.push(...e):t.effects.push(e):mr(e)}const ee=Symbol.for("v-fgt"),Rs=Symbol.for("v-txt"),lt=Symbol.for("v-cmt"),Ks=Symbol.for("v-stc"),Gt=[];let we=null;function k(e=!1){Gt.push(we=e?null:[])}function al(){Gt.pop(),we=Gt[Gt.length-1]||null}let Xt=1;function Gn(e,t=!1){Xt+=e,e<0&&we&&t&&(we.hasOnce=!0)}function ho(e){return e.dynamicChildren=Xt>0?we||xt:null,al(),Xt>0&&we&&we.push(e),e}function E(e,t,s,n,i,o){return ho(d(e,t,s,n,i,o,!0))}function it(e,t,s,n,i){return ho(ce(e,t,s,n,i,!0))}function go(e){return e?e.__v_isVNode===!0:!1}function Dt(e,t){return e.type===t.type&&e.key===t.key}const mo=({key:e})=>e??null,hs=({ref:e,ref_key:t,ref_for:s})=>(typeof e=="number"&&(e=""+e),e!=null?ne(e)||fe(e)||H(e)?{i:xe,r:e,k:t,f:!!s}:e:null);function d(e,t=null,s=null,n=0,i=null,o=e===ee?0:1,r=!1,l=!1){const a={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&mo(t),ref:t&&hs(t),scopeId:Vi,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:o,patchFlag:n,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:xe};return l?(ys(a,s),o&128&&e.normalize(a)):s&&(a.shapeFlag|=ne(s)?8:16),Xt>0&&!r&&we&&(a.patchFlag>0||o&6)&&a.patchFlag!==32&&we.push(a),a}const ce=cl;function cl(e,t=null,s=null,n=0,i=null,o=!1){if((!e||e===jr)&&(e=lt),go(e)){const l=Pt(e,t,!0);return s&&ys(l,s),Xt>0&&!o&&we&&(l.shapeFlag&6?we[we.indexOf(e)]=l:we.push(l)),l.patchFlag=-2,l}if(yl(e)&&(e=e.__vccOpts),t){t=ul(t);let{class:l,style:a}=t;l&&!ne(l)&&(t.class=$e(l)),Z(a)&&(vn(a)&&!L(a)&&(a=he({},a)),t.style=un(a))}const r=ne(e)?1:po(e)?128:kr(e)?64:Z(e)?4:H(e)?2:0;return d(e,t,s,n,i,r,o,!0)}function ul(e){return e?vn(e)||no(e)?he({},e):e:null}function Pt(e,t,s=!1,n=!1){const{props:i,ref:o,patchFlag:r,children:l,transition:a}=e,p=t?dl(i||{},t):i,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:p,key:p&&mo(p),ref:t&&t.ref?s&&o?L(o)?o.concat(hs(t)):[o,hs(t)]:hs(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==ee?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&&Pt(e.ssContent),ssFallback:e.ssFallback&&Pt(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return a&&n&&yn(u,a.clone(u)),u}function Te(e=" ",t=0){return ce(Rs,null,e,t)}function B(e="",t=!1){return t?(k(),it(lt,null,e)):ce(lt,null,e)}function Fe(e){return e==null||typeof e=="boolean"?ce(lt):L(e)?ce(ee,null,e.slice()):go(e)?Ze(e):ce(Rs,null,String(e))}function Ze(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Pt(e)}function ys(e,t){let s=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(L(t))s=16;else if(typeof t=="object")if(n&65){const i=t.default;i&&(i._c&&(i._d=!1),ys(e,i()),i._c&&(i._d=!0));return}else{s=32;const i=t._;!i&&!no(t)?t._ctx=xe:i===3&&xe&&(xe.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(H(t)){if(n&65){ys(e,{default:t});return}t={default:t,_ctx:xe},s=32}else t=String(t),n&64?(s=16,t=[Te(t)]):s=8;e.children=t,e.shapeFlag|=s}function dl(...e){const t={};for(let s=0;s<e.length;s++){const n=e[s];for(const i in n)if(i==="class")t.class!==n.class&&(t.class=$e([t.class,n.class]));else if(i==="style")t.style=un([t.style,n.style]);else if(ks(i)){const o=t[i],r=n[i];r&&o!==r&&!(L(o)&&o.includes(r))?t[i]=o?[].concat(o,r):r:r==null&&o==null&&!Ss(i)&&(t[i]=r)}else i!==""&&(t[i]=n[i])}return t}function De(e,t,s,n=null){Oe(e,t,7,[s,n])}const fl=Xi();let pl=0;function hl(e,t,s){const n=e.type,i=(t?t.appContext:e.appContext)||fl,o={uid:pl++,vnode:e,type:n,parent:t,appContext:i,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new Lo(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(i.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:oo(n,i),emitsOptions:Qi(n,i),emit:null,emitted:null,propsDefaults:Y,inheritAttrs:n.inheritAttrs,ctx:Y,data:Y,props:Y,attrs:Y,slots:Y,refs:Y,setupState:Y,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 o.ctx={_:o},o.root=t?t.root:o,o.emit=Kr.bind(null,o),e.ce&&e.ce(o),o}let ve=null;const gl=()=>ve||xe;let ws,nn;{const e=Cs(),t=(s,n)=>{let i;return(i=e[s])||(i=e[s]=[]),i.push(n),o=>{i.length>1?i.forEach(r=>r(o)):i[0](o)}};ws=t("__VUE_INSTANCE_SETTERS__",s=>ve=s),nn=t("__VUE_SSR_SETTERS__",s=>Qt=s)}const ss=e=>{const t=ve;return ws(e),e.scope.on(),()=>{e.scope.off(),ws(t)}},qn=()=>{ve&&ve.scope.off(),ws(null)};function bo(e){return e.vnode.shapeFlag&4}let Qt=!1;function ml(e,t=!1,s=!1){t&&nn(t);const{props:n,children:i}=e.vnode,o=bo(e);Yr(e,n,o,t),tl(e,i,s||t);const r=o?bl(e,t):void 0;return t&&nn(!1),r}function bl(e,t){const s=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Mr);const{setup:n}=s;if(n){Ke();const i=e.setupContext=n.length>1?_l(e):null,o=ss(e),r=ts(n,e,0,[e.props,i]),l=mi(r);if(We(),o(),(l||e.sp)&&!Kt(e)&&Gi(e),l){if(r.then(qn,qn),t)return r.then(a=>{Zn(e,a)}).catch(a=>{$s(a,e,0)});e.asyncDep=r}else Zn(e,r)}else vo(e)}function Zn(e,t,s){H(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Z(t)&&(e.setupState=Di(t)),vo(e)}function vo(e,t,s){const n=e.type;e.render||(e.render=n.render||He);{const i=ss(e);Ke();try{Nr(e)}finally{We(),i()}}}const vl={get(e,t){return ue(e,"get",""),e[t]}};function _l(e){const t=s=>{e.exposed=s||{}};return{attrs:new Proxy(e.attrs,vl),slots:e.slots,emit:e.emit,expose:t}}function Is(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Di(rr(e.exposed)),{get(t,s){if(s in t)return t[s];if(s in Wt)return Wt[s](e)},has(t,s){return s in t||s in Wt}})):e.proxy}function yl(e){return H(e)&&"__vccOpts"in e}const Qe=(e,t)=>dr(e,t,Qt),wl="3.5.39";/**
* @vue/runtime-dom v3.5.39
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/let on;const Jn=typeof window<"u"&&window.trustedTypes;if(Jn)try{on=Jn.createPolicy("vue",{createHTML:e=>e})}catch{}const _o=on?e=>on.createHTML(e):e=>e,xl="http://www.w3.org/2000/svg",kl="http://www.w3.org/1998/Math/MathML",qe=typeof document<"u"?document:null,Yn=qe&&qe.createElement("template"),Sl={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 i=t==="svg"?qe.createElementNS(xl,e):t==="mathml"?qe.createElementNS(kl,e):s?qe.createElement(e,{is:s}):qe.createElement(e);return e==="select"&&n&&n.multiple!=null&&i.setAttribute("multiple",n.multiple),i},createText:e=>qe.createTextNode(e),createComment:e=>qe.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>qe.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,s,n,i,o){const r=s?s.previousSibling:t.lastChild;if(i&&(i===o||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),s),!(i===o||!(i=i.nextSibling)););else{Yn.innerHTML=_o(n==="svg"?`<svg>${e}</svg>`:n==="mathml"?`<math>${e}</math>`:e);const l=Yn.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]}},Tl=Symbol("_vtc");function El(e,t,s){const n=e[Tl];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):s?e.setAttribute("class",t):e.className=t}const Xn=Symbol("_vod"),Cl=Symbol("_vsh"),Pl=Symbol(""),$l=/(?:^|;)\s*display\s*:/;function Al(e,t,s){const n=e.style,i=ne(s);let o=!1;if(s&&!i){if(t)if(ne(t))for(const r of t.split(";")){const l=r.slice(0,r.indexOf(":")).trim();s[l]==null&&Lt(n,l,"")}else for(const r in t)s[r]==null&&Lt(n,r,"");for(const r in s){r==="display"&&(o=!0);const l=s[r];l!=null?Rl(e,r,!ne(t)&&t?t[r]:void 0,l)||Lt(n,r,l):Lt(n,r,"")}}else if(i){if(t!==s){const r=n[Pl];r&&(s+=";"+r),n.cssText=s,o=$l.test(s)}}else t&&e.removeAttribute("style");Xn in e&&(e[Xn]=o?n.display:"",e[Cl]&&(n.display="none"))}const Qn=/\s*!important$/;function Lt(e,t,s){if(L(s))s.forEach(n=>Lt(e,t,n));else if(s==null&&(s=""),t.startsWith("--"))e.setProperty(t,s);else{const n=Ol(e,t);Qn.test(s)?e.setProperty(ct(n),s.replace(Qn,""),"important"):e[n]=s}}const ei=["Webkit","Moz","ms"],Ws={};function Ol(e,t){const s=Ws[t];if(s)return s;let n=Ce(t);if(n!=="filter"&&n in e)return Ws[t]=n;n=_i(n);for(let i=0;i<ei.length;i++){const o=ei[i]+n;if(o in e)return Ws[t]=o}return t}function Rl(e,t,s,n){return e.tagName==="TEXTAREA"&&(t==="width"||t==="height")&&ne(n)&&s===n}const ti="http://www.w3.org/1999/xlink";function si(e,t,s,n,i,o=Do(t)){n&&t.startsWith("xlink:")?s==null?e.removeAttributeNS(ti,t.slice(6,t.length)):e.setAttributeNS(ti,t,s):s==null||o&&!wi(s)?e.removeAttribute(t):e.setAttribute(t,o?"":Ve(s)?String(s):s)}function ni(e,t,s,n,i){if(t==="innerHTML"||t==="textContent"){s!=null&&(e[t]=t==="innerHTML"?_o(s):s);return}const o=e.tagName;if(t==="value"&&o!=="PROGRESS"&&!o.includes("-")){const l=o==="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=wi(s):s==null&&l==="string"?(s="",r=!0):l==="number"&&(s=0,r=!0)}try{e[t]=s}catch{}r&&e.removeAttribute(i||t)}function Xe(e,t,s,n){e.addEventListener(t,s,n)}function Il(e,t,s,n){e.removeEventListener(t,s,n)}const ii=Symbol("_vei");function Ul(e,t,s,n,i=null){const o=e[ii]||(e[ii]={}),r=o[t];if(n&&r)r.value=n;else{const[l,a]=Nl(t);if(n){const p=o[t]=Ll(n,i);Xe(e,l,p,a)}else r&&(Il(e,l,r,a),o[t]=void 0)}}const jl=/(Once|Passive|Capture)$/,Ml=/^on:?(?:Once|Passive|Capture)$/;function Nl(e){let t,s;for(;(s=e.match(jl))&&!Ml.test(e);)t||(t={}),e=e.slice(0,e.length-s[1].length),t[s[1].toLowerCase()]=!0;return[e[2]===":"?e.slice(3):ct(e.slice(2)),t]}let Gs=0;const Dl=Promise.resolve(),zl=()=>Gs||(Dl.then(()=>Gs=0),Gs=Date.now());function Ll(e,t){const s=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=s.attached)return;const i=s.value;if(L(i)){const o=n.stopImmediatePropagation;n.stopImmediatePropagation=()=>{o.call(n),n._stopped=!0};const r=i.slice(),l=[n];for(let a=0;a<r.length&&!n._stopped;a++){const p=r[a];p&&Oe(p,t,5,l)}}else Oe(i,t,5,[n])};return s.value=e,s.attached=zl(),s}const oi=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Fl=(e,t,s,n,i,o)=>{const r=i==="svg";t==="class"?El(e,n,r):t==="style"?Al(e,s,n):ks(t)?Ss(t)||Ul(e,t,s,n,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Bl(e,t,n,r))?(ni(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&si(e,t,n,r,o,t!=="value")):e._isVueCE&&(Hl(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!ne(n)))?ni(e,Ce(t),n,o,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),si(e,t,n,r))};function Bl(e,t,s,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&oi(t)&&H(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 i=e.tagName;if(i==="IMG"||i==="VIDEO"||i==="CANVAS"||i==="SOURCE")return!1}return oi(t)&&ne(s)?!1:t in e}function Hl(e,t){const s=e._def.props;if(!s)return!1;const n=Ce(t);return Array.isArray(s)?s.some(i=>Ce(i)===n):Object.keys(s).some(i=>Ce(i)===n)}const at=e=>{const t=e.props["onUpdate:modelValue"]||!1;return L(t)?s=>fs(t,s):t};function Vl(e){e.target.composing=!0}function ri(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Ee=Symbol("_assign");function li(e,t,s){return t&&(e=e.trim()),s&&(e=Es(e)),e}const pe={created(e,{modifiers:{lazy:t,trim:s,number:n}},i){e[Ee]=at(i);const o=n||i.props&&i.props.type==="number";Xe(e,t?"change":"input",r=>{r.target.composing||e[Ee](li(e.value,s,o))}),(s||o)&&Xe(e,"change",()=>{e.value=li(e.value,s,o)}),t||(Xe(e,"compositionstart",Vl),Xe(e,"compositionend",ri),Xe(e,"change",ri))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:s,modifiers:{lazy:n,trim:i,number:o}},r){if(e[Ee]=at(r),e.composing)return;const l=(o||e.type==="number")&&!/^0\d/.test(e.value)?Es(e.value):e.value,a=t??"";if(l===a)return;const p=e.getRootNode();(p instanceof Document||p instanceof ShadowRoot)&&p.activeElement===e&&e.type!=="range"&&(n&&t===s||i&&e.value.trim()===a)||(e.value=a)}},Kl={deep:!0,created(e,t,s){e[Ee]=at(s),Xe(e,"change",()=>{const n=e._modelValue,i=$t(e),o=e.checked,r=e[Ee];if(L(n)){const l=dn(n,i),a=l!==-1;if(o&&!a)r(n.concat(i));else if(!o&&a){const p=[...n];p.splice(l,1),r(p)}}else if(Rt(n)){const l=new Set(n);o?l.add(i):l.delete(i),r(l)}else r(yo(e,o))})},mounted:ai,beforeUpdate(e,t,s){e[Ee]=at(s),ai(e,t,s)}};function ai(e,{value:t,oldValue:s},n){e._modelValue=t;let i;if(L(t))i=dn(t,n.props.value)>-1;else if(Rt(t))i=t.has(n.props.value);else{if(t===s)return;i=rt(t,yo(e,!0))}e.checked!==i&&(e.checked=i)}const Wl={created(e,{value:t},s){e.checked=rt(t,s.props.value),e[Ee]=at(s),Xe(e,"change",()=>{e[Ee]($t(e))})},beforeUpdate(e,{value:t,oldValue:s},n){e[Ee]=at(n),t!==s&&(e.checked=rt(t,n.props.value))}},xs={deep:!0,created(e,{value:t,modifiers:{number:s}},n){const i=Rt(t);Xe(e,"change",()=>{const o=Array.prototype.filter.call(e.options,r=>r.selected).map(r=>s?Es($t(r)):$t(r));e[Ee](e.multiple?i?new Set(o):o:o[0]),e._assigning=!0,Li(()=>{e._assigning=!1})}),e[Ee]=at(n)},mounted(e,{value:t}){ci(e,t)},beforeUpdate(e,t,s){e[Ee]=at(s)},updated(e,{value:t}){e._assigning||ci(e,t)}};function ci(e,t){const s=e.multiple,n=L(t);if(!(s&&!n&&!Rt(t))){for(let i=0,o=e.options.length;i<o;i++){const r=e.options[i],l=$t(r);if(s)if(n){const a=typeof l;a==="string"||a==="number"?r.selected=t.some(p=>String(p)===String(l)):r.selected=dn(t,l)>-1}else r.selected=t.has(l);else if(rt($t(r),t)){e.selectedIndex!==i&&(e.selectedIndex=i);return}}!s&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function $t(e){return"_value"in e?e._value:e.value}function yo(e,t){const s=t?"_trueValue":"_falseValue";return s in e?e[s]:t}const Gl={created(e,t,s){ds(e,t,s,null,"created")},mounted(e,t,s){ds(e,t,s,null,"mounted")},beforeUpdate(e,t,s,n){ds(e,t,s,n,"beforeUpdate")},updated(e,t,s,n){ds(e,t,s,n,"updated")}};function ql(e,t){switch(e){case"SELECT":return xs;case"TEXTAREA":return pe;default:switch(t){case"checkbox":return Kl;case"radio":return Wl;default:return pe}}}function ds(e,t,s,n,i){const r=ql(e.tagName,s.props&&s.props.type)[i];r&&r(e,t,s,n)}const Zl=["ctrl","shift","alt","meta"],Jl={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)=>Zl.some(s=>e[`${s}Key`]&&!t.includes(s))},Yl=(e,t)=>{if(!e)return e;const s=e._withMods||(e._withMods={}),n=t.join(".");return s[n]||(s[n]=((i,...o)=>{for(let r=0;r<t.length;r++){const l=Jl[t[r]];if(l&&l(i,t))return}return e(i,...o)}))},Xl={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},Ql=(e,t)=>{const s=e._withKeys||(e._withKeys={}),n=t.join(".");return s[n]||(s[n]=(i=>{if(!("key"in i))return;const o=ct(i.key);if(t.some(r=>r===o||Xl[r]===o))return e(i)}))},ea=he({patchProp:Fl},Sl);let ui;function ta(){return ui||(ui=nl(ea))}const sa=((...e)=>{const t=ta().createApp(...e),{mount:s}=t;return t.mount=n=>{const i=ia(n);if(!i)return;const o=t._component;!H(o)&&!o.render&&!o.template&&(o.template=i.innerHTML),i.nodeType===1&&(i.textContent="");const r=s(i,!1,na(i));return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),r},t});function na(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function ia(e){return ne(e)?document.querySelector(e):e}const wo="dh-panel-theme";function oa(){var e;try{const t=localStorage.getItem(wo);if(t==="dark"||t==="light")return t}catch{}return(e=window.matchMedia)!=null&&e.call(window,"(prefers-color-scheme: dark)").matches?"dark":"light"}const Et=V(oa());function xo(e){Et.value=e,document.documentElement.classList.toggle("dark",e==="dark");try{localStorage.setItem(wo,e)}catch{}}function di(){xo(Et.value==="dark"?"light":"dark")}xo(Et.value);const ra={apiServer:"API server",switchToLight:"Switch to light theme",switchToDark:"Switch to dark theme",theme:"Theme",signOut:"Sign out",loading:"Loading…",standardUserNote:"Signed in as a standard user — management sections need an admin role",footer:"DriverVault — car maintenance & service tracker."},la={overview:"Overview",users:"Users",orgs:"Organizations",pocketbase:"PocketBase",webapp:"Web App",plugins:"Plugins",api:"API"},aa={title:"Sign in",subtitle:"Superadmin console for the DriverVault API Server.",email:"Email",password:"Password",submit:"Sign in",submitting:"Signing in…",invalid:"Invalid email or password.",failed:"Could not sign in.",authNote:"Authenticates against PocketBase through this server"},ca={title:"Status",unreachable:"unreachable",checking:"Checking…",apiServer:"API Server",pocketBase:"PocketBase",webApp:"Web App",thisProcess:"this process"},ua={create:"Create",save:"Save",cancel:"Cancel",edit:"Edit",delete:"Delete",rename:"Rename",empty:"—",name:"Name",email:"Email",role:"Role",organization:"Organization"},da={title:"Users",allOrgs:"All organizations",yourOrg:"Your organization",newUser:"New user",password:"Password",passwordUnchanged:"Password (blank = unchanged)",passwordPlaceholder:"min 8 characters",orgNone:"— none —",you:"you",empty:"No users.",confirmDelete:"Delete {email}? This cannot be undone."},fa={title:"Organizations",subtitle:"Tenants users belong to",newOrg:"New organization",namePlaceholder:"Acme Fleet",empty:"No organizations yet.",colId:"ID",confirmDelete:'Delete the organization "{name}"?'},pa={title:"PocketBase",subtitle:"Database connection used by every endpoint",connected:"connected",noSuperuser:"no superuser",unreachable:"unreachable",baseUrl:"Base URL",superuserEmail:"Superuser email",superuserPassword:"Superuser password",passwordUnchanged:"unchanged",passwordNotSet:"not set",saveApply:"Save & apply",testConnection:"Test connection",persistedEnv:"persisted to .env",testOk:"Connection OK — superuser authenticated.",testReachableNoAuth:"PocketBase is reachable, but the service account did not authenticate.",testUnreachable:"PocketBase is not reachable at that address.",savedNotice:"Saved. The server is now using this PocketBase."},ha={title:"Web App",subtitle:"Address probed by the status check, and who may call this API from a browser",reachable:"reachable",unreachable:"unreachable",baseUrl:"Base URL",allowedOrigins:"Allowed origins",originsHint:"Comma separated, or {star} for any. Native mobile apps are not subject to CORS.",saveApply:"Save & apply",testConnection:"Test connection",persistedEnv:"persisted to .env",testOk:"Web App is reachable.",testFailed:"Web App did not answer its health check at that address.",savedNotice:"Saved. New origins apply to the next request."},ga={title:"Plugins",subtitle:"Third-party service integrations",registerExternal:"Register external",cancelRegister:"Cancel",name:"Name",baseUrl:"Base URL",provider:"Provider",register:"Register",empty:"No plugins yet. Register an external one above, or compile a built-in connector.",builtin:"builtin",enabled:"enabled",disabled:"disabled",health:"Health",configure:"Configure",close:"Close",noConfig:"This plugin takes no configuration.",notSet:"Not set — let organizations and users choose",capabilities:"Capabilities",saved:"Saved.",checking:"Checking…",save:"Save",saveEnable:"Save & enable",disable:"Disable",remove:"Remove",builtinNote:"Built-in plugins can be disabled but not removed",confirmRemove:'Remove the external plugin "{name}"? Its saved config is deleted.'},ma={colEndpoint:"Endpoint",colDescription:"Description",authNone:"No auth",authBearer:"Bearer token",authManager:"Admin / superadmin",authSuperadmin:"Superadmin",groupPublic:"Public",groupIdentity:"Identity",groupCars:"Cars",groupService:"Service records",groupParts:"Parts",groupAccount:"Account",groupManagement:"Management",groupSuperadmin:"Superadmin"},ba={app:ra,sections:la,login:aa,status:ca,common:ua,users:da,orgs:fa,pocketbase:pa,webapp:ha,plugins:ga,api:ma},va={apiServer:"Serwer API",switchToLight:"Przełącz na motyw jasny",switchToDark:"Przełącz na motyw ciemny",theme:"Motyw",signOut:"Wyloguj się",loading:"Ładowanie…",standardUserNote:"Zalogowano jako zwykły użytkownik — sekcje zarządzania wymagają roli administratora",footer:"DriverVault — rejestr serwisu i konserwacji samochodu."},_a={overview:"Przegląd",users:"Użytkownicy",orgs:"Organizacje",pocketbase:"PocketBase",webapp:"Aplikacja webowa",plugins:"Wtyczki",api:"API"},ya={title:"Zaloguj się",subtitle:"Konsola superadministratora serwera API DriverVault.",email:"E-mail",password:"Hasło",submit:"Zaloguj się",submitting:"Logowanie…",invalid:"Nieprawidłowy e-mail lub hasło.",failed:"Nie udało się zalogować.",authNote:"Uwierzytelnia w PocketBase za pośrednictwem tego serwera"},wa={title:"Status",unreachable:"niedostępny",checking:"Sprawdzanie…",apiServer:"Serwer API",pocketBase:"PocketBase",webApp:"Aplikacja webowa",thisProcess:"ten proces"},xa={create:"Utwórz",save:"Zapisz",cancel:"Anuluj",edit:"Edytuj",delete:"Usuń",rename:"Zmień nazwę",empty:"—",name:"Nazwa",email:"E-mail",role:"Rola",organization:"Organizacja"},ka={title:"Użytkownicy",allOrgs:"Wszystkie organizacje",yourOrg:"Twoja organizacja",newUser:"Nowy użytkownik",password:"Hasło",passwordUnchanged:"Hasło (puste = bez zmian)",passwordPlaceholder:"min. 8 znaków",orgNone:"— brak —",you:"Ty",empty:"Brak użytkowników.",confirmDelete:"Usunąć {email}? Tej operacji nie można cofnąć."},Sa={title:"Organizacje",subtitle:"Podmioty, do których należą użytkownicy",newOrg:"Nowa organizacja",namePlaceholder:"Acme Fleet",empty:"Brak organizacji.",colId:"ID",confirmDelete:"Usunąć organizację „{name}”?"},Ta={title:"PocketBase",subtitle:"Połączenie z bazą danych używane przez każdy punkt końcowy",connected:"połączono",noSuperuser:"brak superużytkownika",unreachable:"niedostępny",baseUrl:"Adres bazowy",superuserEmail:"E-mail superużytkownika",superuserPassword:"Hasło superużytkownika",passwordUnchanged:"bez zmian",passwordNotSet:"nie ustawiono",saveApply:"Zapisz i zastosuj",testConnection:"Testuj połączenie",persistedEnv:"zapisano w .env",testOk:"Połączenie OK — superużytkownik uwierzytelniony.",testReachableNoAuth:"PocketBase jest dostępny, ale konto usługowe nie zostało uwierzytelnione.",testUnreachable:"PocketBase jest niedostępny pod tym adresem.",savedNotice:"Zapisano. Serwer korzysta teraz z tego PocketBase."},Ea={title:"Aplikacja webowa",subtitle:"Adres sprawdzany podczas kontroli statusu oraz kto może wywoływać to API z przeglądarki",reachable:"dostępna",unreachable:"niedostępna",baseUrl:"Adres bazowy",allowedOrigins:"Dozwolone źródła",originsHint:"Oddzielone przecinkami lub {star} dla dowolnego. Natywne aplikacje mobilne nie podlegają CORS.",saveApply:"Zapisz i zastosuj",testConnection:"Testuj połączenie",persistedEnv:"zapisano w .env",testOk:"Aplikacja webowa jest dostępna.",testFailed:"Aplikacja webowa nie odpowiedziała na kontrolę stanu pod tym adresem.",savedNotice:"Zapisano. Nowe źródła obowiązują od następnego żądania."},Ca={title:"Wtyczki",subtitle:"Integracje z usługami zewnętrznymi",registerExternal:"Zarejestruj zewnętrzną",cancelRegister:"Anuluj",name:"Nazwa",baseUrl:"Adres bazowy",provider:"Dostawca",register:"Zarejestruj",empty:"Brak wtyczek. Zarejestruj zewnętrzną powyżej lub skompiluj wbudowany łącznik.",builtin:"wbudowana",enabled:"włączona",disabled:"wyłączona",health:"Stan",configure:"Konfiguruj",close:"Zamknij",noConfig:"Ta wtyczka nie wymaga konfiguracji.",notSet:"Nie ustawiono — pozwól organizacjom i użytkownikom wybrać",capabilities:"Możliwości",saved:"Zapisano.",checking:"Sprawdzanie…",save:"Zapisz",saveEnable:"Zapisz i włącz",disable:"Wyłącz",remove:"Usuń",builtinNote:"Wtyczki wbudowane można wyłączyć, ale nie usunąć",confirmRemove:"Usunąć zewnętrzną wtyczkę „{name}”? Jej zapisana konfiguracja zostanie usunięta."},Pa={colEndpoint:"Punkt końcowy",colDescription:"Opis",authNone:"Bez uwierzytelniania",authBearer:"Token Bearer",authManager:"Administrator / superadministrator",authSuperadmin:"Superadministrator",groupPublic:"Publiczne",groupIdentity:"Tożsamość",groupCars:"Samochody",groupService:"Wpisy serwisowe",groupParts:"Części",groupAccount:"Konto",groupManagement:"Zarządzanie",groupSuperadmin:"Superadministrator"},$a={app:va,sections:_a,login:ya,status:wa,common:xa,users:ka,orgs:Sa,pocketbase:Ta,webapp:Ea,plugins:Ca,api:Pa},Aa={apiServer:"API-server",switchToLight:"Skift til lyst tema",switchToDark:"Skift til mørkt tema",theme:"Tema",signOut:"Log ud",loading:"Indlæser…",standardUserNote:"Logget ind som almindelig bruger — administrationssektioner kræver en administratorrolle",footer:"DriverVault — bilservice- og vedligeholdelsesregister."},Oa={overview:"Oversigt",users:"Brugere",orgs:"Organisationer",pocketbase:"PocketBase",webapp:"Webapp",plugins:"Plugins",api:"API"},Ra={title:"Log ind",subtitle:"Superadmin-konsol til DriverVault API-serveren.",email:"E-mail",password:"Adgangskode",submit:"Log ind",submitting:"Logger ind…",invalid:"Ugyldig e-mail eller adgangskode.",failed:"Kunne ikke logge ind.",authNote:"Godkender mod PocketBase gennem denne server"},Ia={title:"Status",unreachable:"utilgængelig",checking:"Tjekker…",apiServer:"API-server",pocketBase:"PocketBase",webApp:"Webapp",thisProcess:"denne proces"},Ua={create:"Opret",save:"Gem",cancel:"Annuller",edit:"Rediger",delete:"Slet",rename:"Omdøb",empty:"—",name:"Navn",email:"E-mail",role:"Rolle",organization:"Organisation"},ja={title:"Brugere",allOrgs:"Alle organisationer",yourOrg:"Din organisation",newUser:"Ny bruger",password:"Adgangskode",passwordUnchanged:"Adgangskode (tom = uændret)",passwordPlaceholder:"mindst 8 tegn",orgNone:"— ingen —",you:"dig",empty:"Ingen brugere.",confirmDelete:"Slet {email}? Dette kan ikke fortrydes."},Ma={title:"Organisationer",subtitle:"Enheder, som brugere tilhører",newOrg:"Ny organisation",namePlaceholder:"Acme Fleet",empty:"Ingen organisationer endnu.",colId:"ID",confirmDelete:'Slet organisationen "{name}"?'},Na={title:"PocketBase",subtitle:"Databaseforbindelse brugt af hvert endpoint",connected:"forbundet",noSuperuser:"ingen superbruger",unreachable:"utilgængelig",baseUrl:"Basis-URL",superuserEmail:"Superbrugerens e-mail",superuserPassword:"Superbrugerens adgangskode",passwordUnchanged:"uændret",passwordNotSet:"ikke angivet",saveApply:"Gem og anvend",testConnection:"Test forbindelse",persistedEnv:"gemt i .env",testOk:"Forbindelse OK — superbruger godkendt.",testReachableNoAuth:"PocketBase er tilgængelig, men servicekontoen blev ikke godkendt.",testUnreachable:"PocketBase er ikke tilgængelig på den adresse.",savedNotice:"Gemt. Serveren bruger nu denne PocketBase."},Da={title:"Webapp",subtitle:"Adressen, der tjekkes ved statuskontrol, og hvem der må kalde dette API fra en browser",reachable:"tilgængelig",unreachable:"utilgængelig",baseUrl:"Basis-URL",allowedOrigins:"Tilladte oprindelser",originsHint:"Kommasepareret, eller {star} for enhver. Native mobilapps er ikke underlagt CORS.",saveApply:"Gem og anvend",testConnection:"Test forbindelse",persistedEnv:"gemt i .env",testOk:"Webappen er tilgængelig.",testFailed:"Webappen svarede ikke på sit helbredstjek på den adresse.",savedNotice:"Gemt. Nye oprindelser gælder fra næste anmodning."},za={title:"Plugins",subtitle:"Integrationer med tredjepartstjenester",registerExternal:"Registrér ekstern",cancelRegister:"Annuller",name:"Navn",baseUrl:"Basis-URL",provider:"Udbyder",register:"Registrér",empty:"Ingen plugins endnu. Registrér et eksternt ovenfor, eller kompilér et indbygget stik.",builtin:"indbygget",enabled:"aktiveret",disabled:"deaktiveret",health:"Helbred",configure:"Konfigurer",close:"Luk",noConfig:"Dette plugin kræver ingen konfiguration.",notSet:"Ikke angivet — lad organisationer og brugere vælge",capabilities:"Funktioner",saved:"Gemt.",checking:"Tjekker…",save:"Gem",saveEnable:"Gem og aktivér",disable:"Deaktiver",remove:"Fjern",builtinNote:"Indbyggede plugins kan deaktiveres, men ikke fjernes",confirmRemove:'Fjern det eksterne plugin "{name}"? Dets gemte konfiguration slettes.'},La={colEndpoint:"Endpoint",colDescription:"Beskrivelse",authNone:"Ingen godkendelse",authBearer:"Bearer-token",authManager:"Admin / superadmin",authSuperadmin:"Superadmin",groupPublic:"Offentlig",groupIdentity:"Identitet",groupCars:"Biler",groupService:"Serviceposter",groupParts:"Reservedele",groupAccount:"Konto",groupManagement:"Administration",groupSuperadmin:"Superadmin"},Fa={app:Aa,sections:Oa,login:Ra,status:Ia,common:Ua,users:ja,orgs:Ma,pocketbase:Na,webapp:Da,plugins:za,api:La},ko="dh-panel-lang",So="en",At={en:ba,pl:$a,da:Fa},Ba=Object.keys(At);function Ha(){try{const t=localStorage.getItem(ko);if(t&&At[t])return t}catch{}const e=(navigator.language||"en").split("-")[0];return At[e]?e:So}const Sn=V(Ha());function Va(e){if(At[e]){Sn.value=e;try{localStorage.setItem(ko,e)}catch{}}}function fi(e,t){return t.split(".").reduce((s,n)=>s==null?void 0:s[n],e)}function Ka(e,t){return t?e.replace(/\{(\w+)\}/g,(s,n)=>t[n]==null?s:String(t[n])):e}function Wa(e,t,s){let n="other";try{n=new Intl.PluralRules(s).select(t)}catch{n=t===1?"one":"other"}return e[n]??e.other??e.one}function h(e,t){const s=Sn.value;let n=fi(At[s],e);if(n==null&&(n=fi(At[So],e)),n==null)return e;if(typeof n=="object"){if((t==null?void 0:t.n)==null)return e;n=Wa(n,t.n,s)}return typeof n!="string"?e:Ka(n,t)}function pi(e,t,s){const i=h(e,{...s,[t]:"\0"}),o=i.indexOf("\0");return o===-1?{before:i,after:""}:{before:i.slice(0,o),after:i.slice(o+1)}}const rn="dh-panel-token";function Ga(){try{return localStorage.getItem(rn)||""}catch{return""}}const Ot=V(Ga()),de=V(null),bt=Qe(()=>{var e;return((e=de.value)==null?void 0:e.role)==="superadmin"}),hi=Qe(()=>{var e,t;return((e=de.value)==null?void 0:e.role)==="admin"||((t=de.value)==null?void 0:t.role)==="superadmin"});function To(e){Ot.value=e;try{e?localStorage.setItem(rn,e):localStorage.removeItem(rn)}catch{}}class qa extends Error{constructor(t,s,n){super(t),this.status=s,this.body=n}}function Za(e,t){if(!e||typeof e!="object")return`HTTP ${t}`;if(e.error)return e.error;const s=Object.entries(e.data||{}).map(([n,i])=>`${n}: ${(i==null?void 0:i.message)||i}`).filter(Boolean);return s.length?s.join("; "):e.message||`HTTP ${t}`}async function se(e,{method:t="GET",body:s,auth:n=!0}={}){const i={};s!==void 0&&(i["Content-Type"]="application/json"),n&&Ot.value&&(i.Authorization=Ot.value);const o=await fetch(e,{method:t,headers:i,body:s===void 0?void 0:JSON.stringify(s)}),r=await o.text();let l=null;try{l=r?JSON.parse(r):null}catch{l=null}if(!o.ok)throw o.status===401&&n&&Tn(),new qa(Za(l,o.status),o.status,l);return l}async function Ja(e,t){const s=await se("/api/auth/login",{method:"POST",body:{email:e,password:t},auth:!1});return To(s.token),await Eo(),de.value}async function Eo(){return de.value=await se("/api/identity"),de.value}function Tn(){To(""),de.value=null}async function Ya(){if(!Ot.value)return null;try{return await Eo()}catch{return Tn(),null}}const Xa={class:"mx-auto flex w-full max-w-sm flex-col gap-5 pt-24"},Qa={class:"dh-card p-6"},ec={class:"text-lg font-bold tracking-[-0.02em] text-strong"},tc={class:"mt-1 mb-5 text-sm text-body"},sc={class:"dh-label",for:"login-email"},nc={class:"dh-label",for:"login-password"},ic={key:0,class:"rounded-control bg-danger-soft px-3 py-2 text-xs text-danger"},oc=["disabled"],rc={class:"eyebrow text-center"},lc={__name:"LoginView",emits:["authenticated"],setup(e,{emit:t}){const s=t,n=V(""),i=V(""),o=V(""),r=V(!1),l=Qe(()=>n.value.trim()!==""&&i.value!==""&&!r.value);async function a(){if(l.value){o.value="",r.value=!0;try{const p=await Ja(n.value.trim(),i.value);s("authenticated",p)}catch(p){o.value=p.status===400||p.status===404?h("login.invalid"):p.message||h("login.failed"),i.value=""}finally{r.value=!1}}}return(p,u)=>(k(),E("div",Xa,[d("div",Qa,[d("h1",ec,b(g(h)("login.title")),1),d("p",tc,b(g(h)("login.subtitle")),1),d("form",{class:"flex flex-col gap-4",onSubmit:Yl(a,["prevent"])},[d("div",null,[d("label",sc,b(g(h)("login.email")),1),re(d("input",{id:"login-email","onUpdate:modelValue":u[0]||(u[0]=m=>n.value=m),class:"dh-input",type:"email",autocomplete:"username",autofocus:"",placeholder:"you@example.com"},null,512),[[pe,n.value]])]),d("div",null,[d("label",nc,b(g(h)("login.password")),1),re(d("input",{id:"login-password","onUpdate:modelValue":u[1]||(u[1]=m=>i.value=m),class:"dh-input",type:"password",autocomplete:"current-password",placeholder:"••••••••"},null,512),[[pe,i.value]])]),o.value?(k(),E("p",ic,b(o.value),1)):B("",!0),d("button",{class:"dh-btn w-full",type:"submit",disabled:!l.value},b(r.value?g(h)("login.submitting"):g(h)("login.submit")),9,oc)],32)]),d("p",rc,b(g(h)("login.authNote")),1)]))}},ac={class:"dh-card overflow-hidden"},cc={class:"flex items-center justify-between border-b border-subtle px-5 py-4"},uc={class:"text-base font-bold tracking-[-0.02em] text-strong"},dc={key:0,class:"dh-pill bg-danger-soft text-danger"},fc={key:0,class:"px-5 py-4 text-sm text-danger"},pc={key:1,class:"w-full text-left text-sm"},hc={class:"px-5 py-3 font-medium text-strong"},gc={class:"data px-5 py-3 text-xs text-muted"},mc={class:"data px-5 py-3 text-right text-xs text-muted"},bc={class:"px-5 py-3 text-right"},vc={key:2,class:"px-5 py-4 text-sm text-muted"},_c={__name:"StatusCard",setup(e){const t=V(null),s=V("");let n=null;async function i(){try{t.value=await se("/api/status",{auth:!1}),s.value=""}catch(l){t.value=null,s.value=l.message||h("status.unreachable")}}const o=Qe(()=>{var l,a,p;return[{key:"apiServer",label:h("status.apiServer"),h:(l=t.value)==null?void 0:l.apiServer},{key:"pocketBase",label:h("status.pocketBase"),h:(a=t.value)==null?void 0:a.pocketBase},{key:"webApp",label:h("status.webApp"),h:(p=t.value)==null?void 0:p.webApp}]});ut(()=>{i(),n=setInterval(i,1e4)}),wn(()=>clearInterval(n));const r=l=>l==="ok"?"bg-success-soft text-success":"bg-danger-soft text-danger";return(l,a)=>(k(),E("div",ac,[d("div",cc,[d("div",uc,b(g(h)("status.title")),1),s.value?(k(),E("span",dc,[a[0]||(a[0]=d("span",{class:"h-1.5 w-1.5 rounded-full bg-current"},null,-1)),Te(b(g(h)("status.unreachable")),1)])):B("",!0)]),s.value?(k(),E("div",fc,b(s.value),1)):t.value?(k(),E("table",pc,[d("tbody",null,[(k(!0),E(ee,null,ke(o.value,p=>(k(),E("tr",{key:p.key,class:"border-t border-subtle first:border-t-0"},[d("td",hc,b(p.label),1),d("td",gc,b(p.h.url||g(h)("status.thisProcess")),1),d("td",mc,b(p.h.latencyMs!=null?p.h.latencyMs+"ms":g(h)("common.empty")),1),d("td",bc,[d("span",{class:$e(["dh-pill",r(p.h.status)])},[a[1]||(a[1]=d("span",{class:"h-1.5 w-1.5 rounded-full bg-current"},null,-1)),Te(b(p.h.status),1)],2)])]))),128))])])):(k(),E("div",vc,b(g(h)("status.checking")),1))]))}},yc={class:"dh-card overflow-hidden"},wc={class:"flex items-center justify-between border-b border-subtle px-5 py-4"},xc={class:"text-base font-bold tracking-[-0.02em] text-strong"},kc={class:"mt-0.5 text-xs text-muted"},Sc={class:"flex flex-col gap-4 px-5 py-4"},Tc={class:"dh-label",for:"pb-url"},Ec={class:"grid gap-4 sm:grid-cols-2"},Cc={class:"dh-label",for:"pb-email"},Pc={class:"dh-label",for:"pb-password"},$c=["placeholder"],Ac={key:0,class:"data text-xs text-muted"},Oc={key:1,class:"rounded-control bg-info-soft px-3 py-2 text-xs text-info"},Rc={key:2,class:"rounded-control bg-danger-soft px-3 py-2 text-xs text-danger"},Ic={class:"flex items-center gap-2"},Uc=["disabled"],jc=["disabled"],Mc={class:"eyebrow"},Nc={__name:"PocketBaseCard",setup(e){const t=V(null),s=V({url:"",adminEmail:"",adminPassword:""}),n=V(null),i=V(""),o=V(""),r=V(!1);async function l(){try{t.value=await se("/api/admin/pb-config"),s.value={url:t.value.url,adminEmail:t.value.adminEmail,adminPassword:""},n.value=t.value.probe}catch(u){i.value=u.message}}ut(l);async function a(){i.value="",o.value="",r.value=!0;try{n.value=await se("/api/admin/pb-config/test",{method:"POST",body:s.value}),o.value=n.value.superuser?h("pocketbase.testOk"):n.value.reachable?h("pocketbase.testReachableNoAuth"):h("pocketbase.testUnreachable")}catch(u){i.value=u.message}finally{r.value=!1}}async function p(){i.value="",o.value="",r.value=!0;try{const u=await se("/api/admin/pb-config",{method:"PUT",body:s.value});t.value=u.config,n.value=u.config.probe,s.value.adminPassword="",o.value=u.warning||h("pocketbase.savedNotice")}catch(u){i.value=u.message}finally{r.value=!1}}return(u,m)=>{var y,A;return k(),E("div",yc,[d("div",wc,[d("div",null,[d("div",xc,b(g(h)("pocketbase.title")),1),d("p",kc,b(g(h)("pocketbase.subtitle")),1)]),n.value?(k(),E("span",{key:0,class:$e(["dh-pill",n.value.superuser?"bg-success-soft text-success":n.value.reachable?"bg-warning-soft text-warning":"bg-danger-soft text-danger"])},[m[3]||(m[3]=d("span",{class:"h-1.5 w-1.5 rounded-full bg-current"},null,-1)),Te(" "+b(n.value.superuser?g(h)("pocketbase.connected"):n.value.reachable?g(h)("pocketbase.noSuperuser"):g(h)("pocketbase.unreachable")),1)],2)):B("",!0)]),d("div",Sc,[d("div",null,[d("label",Tc,b(g(h)("pocketbase.baseUrl")),1),re(d("input",{id:"pb-url","onUpdate:modelValue":m[0]||(m[0]=D=>s.value.url=D),class:"dh-input",placeholder:"http://10.2.1.10:8027"},null,512),[[pe,s.value.url]])]),d("div",Ec,[d("div",null,[d("label",Cc,b(g(h)("pocketbase.superuserEmail")),1),re(d("input",{id:"pb-email","onUpdate:modelValue":m[1]||(m[1]=D=>s.value.adminEmail=D),class:"dh-input",autocomplete:"off"},null,512),[[pe,s.value.adminEmail]])]),d("div",null,[d("label",Pc,b(g(h)("pocketbase.superuserPassword")),1),re(d("input",{id:"pb-password","onUpdate:modelValue":m[2]||(m[2]=D=>s.value.adminPassword=D),class:"dh-input",type:"password",autocomplete:"new-password",placeholder:(y=t.value)!=null&&y.adminConfigured?g(h)("pocketbase.passwordUnchanged"):g(h)("pocketbase.passwordNotSet")},null,8,$c),[[pe,s.value.adminPassword]])])]),(A=n.value)!=null&&A.detail?(k(),E("p",Ac,b(n.value.detail),1)):B("",!0),o.value?(k(),E("p",Oc,b(o.value),1)):B("",!0),i.value?(k(),E("p",Rc,b(i.value),1)):B("",!0),d("div",Ic,[d("button",{class:"dh-btn",disabled:r.value,onClick:p},b(g(h)("pocketbase.saveApply")),9,Uc),d("button",{class:"dh-btn-ghost",disabled:r.value,onClick:a},b(g(h)("pocketbase.testConnection")),9,jc),m[4]||(m[4]=d("span",{class:"flex-1"},null,-1)),d("span",Mc,b(g(h)("pocketbase.persistedEnv")),1)])])])}}},Dc={class:"dh-card overflow-hidden"},zc={class:"flex items-center justify-between border-b border-subtle px-5 py-4"},Lc={class:"text-base font-bold tracking-[-0.02em] text-strong"},Fc={class:"mt-0.5 text-xs text-muted"},Bc={class:"flex flex-col gap-4 px-5 py-4"},Hc={class:"dh-label",for:"web-url"},Vc={class:"dh-label",for:"web-origins"},Kc={class:"mt-1 text-xs text-muted"},Wc={key:0,class:"data text-xs text-muted"},Gc={key:1,class:"rounded-control bg-info-soft px-3 py-2 text-xs text-info"},qc={key:2,class:"rounded-control bg-danger-soft px-3 py-2 text-xs text-danger"},Zc={class:"flex items-center gap-2"},Jc=["disabled"],Yc=["disabled"],Xc={class:"eyebrow"},Qc={__name:"WebAppCard",setup(e){const t=V(null),s=V({url:"",origins:""}),n=V(null),i=V(""),o=V(""),r=V(!1),l=y=>y.split(",").map(A=>A.trim()).filter(Boolean);function a(y){t.value=y,s.value={url:y.url,origins:(y.allowOrigins||[]).join(", ")},n.value=y.probe}async function p(){try{a(await se("/api/admin/webapp-config"))}catch(y){i.value=y.message}}ut(p);async function u(){i.value="",o.value="",r.value=!0;try{n.value=await se("/api/admin/webapp-config/test",{method:"POST",body:{url:s.value.url}}),o.value=n.value.status==="ok"?h("webapp.testOk"):h("webapp.testFailed")}catch(y){i.value=y.message}finally{r.value=!1}}async function m(){i.value="",o.value="",r.value=!0;try{const y=await se("/api/admin/webapp-config",{method:"PUT",body:{url:s.value.url,allowOrigins:l(s.value.origins)}});a(y.config),o.value=y.warning||h("webapp.savedNotice")}catch(y){i.value=y.message}finally{r.value=!1}}return(y,A)=>{var D;return k(),E("div",Dc,[d("div",zc,[d("div",null,[d("div",Lc,b(g(h)("webapp.title")),1),d("p",Fc,b(g(h)("webapp.subtitle")),1)]),n.value?(k(),E("span",{key:0,class:$e(["dh-pill",n.value.status==="ok"?"bg-success-soft text-success":"bg-danger-soft text-danger"])},[A[2]||(A[2]=d("span",{class:"h-1.5 w-1.5 rounded-full bg-current"},null,-1)),Te(" "+b(n.value.status==="ok"?g(h)("webapp.reachable"):g(h)("webapp.unreachable")),1)],2)):B("",!0)]),d("div",Bc,[d("div",null,[d("label",Hc,b(g(h)("webapp.baseUrl")),1),re(d("input",{id:"web-url","onUpdate:modelValue":A[0]||(A[0]=C=>s.value.url=C),class:"dh-input",placeholder:"http://localhost:8090"},null,512),[[pe,s.value.url]])]),d("div",null,[d("label",Vc,b(g(h)("webapp.allowedOrigins")),1),re(d("input",{id:"web-origins","onUpdate:modelValue":A[1]||(A[1]=C=>s.value.origins=C),class:"dh-input",placeholder:"http://localhost:8090, https://app.example.com"},null,512),[[pe,s.value.origins]]),d("p",Kc,[Te(b(g(pi)("webapp.originsHint","star").before),1),A[3]||(A[3]=d("span",{class:"data"},"*",-1)),Te(b(g(pi)("webapp.originsHint","star").after),1)])]),(D=n.value)!=null&&D.error?(k(),E("p",Wc,b(n.value.error),1)):B("",!0),o.value?(k(),E("p",Gc,b(o.value),1)):B("",!0),i.value?(k(),E("p",qc,b(i.value),1)):B("",!0),d("div",Zc,[d("button",{class:"dh-btn",disabled:r.value,onClick:m},b(g(h)("webapp.saveApply")),9,Jc),d("button",{class:"dh-btn-ghost",disabled:r.value,onClick:u},b(g(h)("webapp.testConnection")),9,Yc),A[4]||(A[4]=d("span",{class:"flex-1"},null,-1)),d("span",Xc,b(g(h)("webapp.persistedEnv")),1)])])])}}},eu={class:"dh-card overflow-hidden"},tu={class:"flex items-center justify-between border-b border-subtle px-5 py-4"},su={class:"text-base font-bold tracking-[-0.02em] text-strong"},nu={class:"mt-0.5 text-xs text-muted"},iu={key:0,class:"border-b border-subtle bg-sunken px-5 py-4"},ou={class:"grid gap-3 sm:grid-cols-3"},ru={class:"dh-label"},lu={class:"dh-label"},au={class:"dh-label"},cu=["disabled"],uu={key:1,class:"border-b border-subtle px-5 py-3 text-xs text-danger"},du={key:2,class:"px-5 py-6 text-center text-sm text-muted"},fu={class:"flex items-center gap-3 px-5 py-3"},pu=["onClick"],hu={class:"font-semibold text-strong"},gu={class:"dh-pill bg-sunken text-muted"},mu={key:0,class:"text-xs text-muted"},bu=["disabled","onClick"],vu=["disabled","onClick"],_u={key:0,class:"bg-sunken px-5 py-4"},yu={key:0,class:"data mb-3 text-xs text-muted"},wu={key:1,class:"grid gap-3 sm:grid-cols-2"},xu={class:"dh-label"},ku={key:0,class:"text-danger"},Su=["onUpdate:modelValue"],Tu={key:0,value:""},Eu=["value"],Cu=["onUpdate:modelValue","type","placeholder"],Pu={key:2,class:"mt-1 text-xs text-muted"},$u={key:2,class:"text-xs text-muted"},Au={key:3,class:"mt-4"},Ou={class:"eyebrow mb-1.5"},Ru={class:"data flex flex-col gap-1 text-xs text-muted"},Iu={class:"text-strong"},Uu={key:0},ju={key:1},Mu={key:4,class:"data mt-3 text-xs text-body"},Nu={class:"mt-4 flex items-center gap-2"},Du=["disabled","onClick"],zu=["disabled","onClick"],Lu=["disabled","onClick"],Fu={key:5,class:"eyebrow mt-2"},Bu={__name:"PluginsCard",setup(e){const t=V([]),s=V(""),n=V(!1),i=V(null),o=Jt({}),r=Jt({}),l=V(!1),a=V({name:"",baseURL:"",provider:""});async function p(){try{const P=await se("/api/admin/plugins");t.value=P.plugins||[],s.value=""}catch(P){s.value=P.message}}ut(p);function u(P){var $;if(i.value===P.name){i.value=null;return}const T={};for(const j of P.configFields||[])T[j.key]=(($=P.config)==null?void 0:$[j.key])??"";o[P.name]=T,i.value=P.name}async function m(P,T){n.value=!0,r[P.name]="";try{const $=await se(`/api/admin/plugins/${encodeURIComponent(P.name)}`,{method:"PUT",body:{enabled:T,config:o[P.name]??{}}});r[P.name]=$.warning||h("plugins.saved"),await p()}catch($){r[P.name]=$.message}finally{n.value=!1}}async function y(P){n.value=!0,r[P.name]=h("plugins.checking");try{const T=await se(`/api/admin/plugins/${encodeURIComponent(P.name)}/health`,{method:"POST"});r[P.name]=`${T.health.status}${T.health.detail?" — "+T.health.detail:""}`,await p()}catch(T){r[P.name]=T.message}finally{n.value=!1}}async function A(P){if(confirm(h("plugins.confirmRemove",{name:P.name}))){n.value=!0;try{await se(`/api/admin/plugins/${encodeURIComponent(P.name)}`,{method:"DELETE"}),i.value===P.name&&(i.value=null),await p()}catch(T){r[P.name]=T.message}finally{n.value=!1}}}async function D(){n.value=!0,s.value="";try{await se("/api/admin/plugins",{method:"POST",body:a.value}),a.value={name:"",baseURL:"",provider:""},l.value=!1,await p()}catch(P){s.value=P.message}finally{n.value=!1}}const C=P=>P==="ok"?"bg-success-soft text-success":P==="degraded"?"bg-warning-soft text-warning":"bg-danger-soft text-danger";return(P,T)=>(k(),E("div",eu,[d("div",tu,[d("div",null,[d("div",su,b(g(h)("plugins.title")),1),d("p",nu,b(g(h)("plugins.subtitle")),1)]),d("button",{class:"dh-btn-ghost",onClick:T[0]||(T[0]=$=>l.value=!l.value)},b(l.value?g(h)("plugins.cancelRegister"):g(h)("plugins.registerExternal")),1)]),l.value?(k(),E("div",iu,[d("div",ou,[d("div",null,[d("label",ru,b(g(h)("plugins.name")),1),re(d("input",{"onUpdate:modelValue":T[1]||(T[1]=$=>a.value.name=$),class:"dh-input",placeholder:"acme-parts"},null,512),[[pe,a.value.name]])]),d("div",null,[d("label",lu,b(g(h)("plugins.baseUrl")),1),re(d("input",{"onUpdate:modelValue":T[2]||(T[2]=$=>a.value.baseURL=$),class:"dh-input",placeholder:"http://127.0.0.1:9100"},null,512),[[pe,a.value.baseURL]])]),d("div",null,[d("label",au,b(g(h)("plugins.provider")),1),re(d("input",{"onUpdate:modelValue":T[3]||(T[3]=$=>a.value.provider=$),class:"dh-input",placeholder:"ACME Corp"},null,512),[[pe,a.value.provider]])])]),d("button",{class:"dh-btn mt-3",disabled:n.value||!a.value.name||!a.value.baseURL,onClick:D},b(g(h)("plugins.register")),9,cu)])):B("",!0),s.value?(k(),E("p",uu,b(s.value),1)):B("",!0),t.value.length?B("",!0):(k(),E("p",du,b(g(h)("plugins.empty")),1)),(k(!0),E(ee,null,ke(t.value,$=>(k(),E("div",{key:$.name,class:"border-t border-subtle first:border-t-0"},[d("div",fu,[d("button",{class:"flex flex-1 items-center gap-3 text-left",onClick:j=>u($)},[d("span",hu,b($.name),1),d("span",gu,b($.kind||g(h)("plugins.builtin")),1),$.provider?(k(),E("span",mu,b($.provider),1)):B("",!0),$.health?(k(),E("span",{key:1,class:$e(["dh-pill",C($.health.status)])},[T[4]||(T[4]=d("span",{class:"h-1.5 w-1.5 rounded-full bg-current"},null,-1)),Te(b($.health.status),1)],2)):B("",!0)],8,pu),d("span",{class:$e(["dh-pill",$.enabled?"bg-success-soft text-success":"bg-sunken text-muted"])},b($.enabled?g(h)("plugins.enabled"):g(h)("plugins.disabled")),3),d("button",{class:"dh-btn-ghost",disabled:n.value,onClick:j=>y($)},b(g(h)("plugins.health")),9,bu),d("button",{class:"dh-btn-ghost",disabled:n.value,onClick:j=>u($)},b(i.value===$.name?g(h)("plugins.close"):g(h)("plugins.configure")),9,vu)]),i.value===$.name?(k(),E("div",_u,[$.baseURL?(k(),E("div",yu,b($.baseURL),1)):B("",!0),($.configFields||[]).length?(k(),E("div",wu,[(k(!0),E(ee,null,ke($.configFields,j=>(k(),E("div",{key:j.key},[d("label",xu,[Te(b(j.label||j.key),1),j.required?(k(),E("span",ku," *")):B("",!0)]),j.type==="select"?re((k(),E("select",{key:0,"onUpdate:modelValue":M=>o[$.name][j.key]=M,class:"dh-select"},[j.required?B("",!0):(k(),E("option",Tu,b(g(h)("plugins.notSet")),1)),(k(!0),E(ee,null,ke(j.options||[],M=>(k(),E("option",{key:M.value,value:M.value},b(M.label||M.value),9,Eu))),128))],8,Su)),[[xs,o[$.name][j.key]]]):re((k(),E("input",{key:1,"onUpdate:modelValue":M=>o[$.name][j.key]=M,class:"dh-input",type:j.type==="password"?"password":j.type==="number"?"number":"text",placeholder:j.default||"",autocomplete:"off"},null,8,Cu)),[[Gl,o[$.name][j.key]]]),j.help?(k(),E("p",Pu,b(j.help),1)):B("",!0)]))),128))])):(k(),E("p",$u,b(g(h)("plugins.noConfig")),1)),($.capabilities||[]).length?(k(),E("div",Au,[d("div",Ou,b(g(h)("plugins.capabilities")),1),d("ul",Ru,[(k(!0),E(ee,null,ke($.capabilities,j=>(k(),E("li",{key:j.id},[d("span",Iu,b(j.id),1),j.method||j.endpoint?(k(),E("span",Uu," — "+b(j.method)+" "+b(j.endpoint),1)):B("",!0),j.description?(k(),E("span",ju," · "+b(j.description),1)):B("",!0)]))),128))])])):B("",!0),r[$.name]?(k(),E("p",Mu,b(r[$.name]),1)):B("",!0),d("div",Nu,[d("button",{class:"dh-btn",disabled:n.value,onClick:j=>m($,!0)},b($.enabled?g(h)("plugins.save"):g(h)("plugins.saveEnable")),9,Du),$.enabled?(k(),E("button",{key:0,class:"dh-btn-ghost",disabled:n.value,onClick:j=>m($,!1)},b(g(h)("plugins.disable")),9,zu)):B("",!0),T[5]||(T[5]=d("span",{class:"flex-1"},null,-1)),$.kind==="external"?(k(),E("button",{key:1,class:"dh-btn-danger",disabled:n.value,onClick:j=>A($)},b(g(h)("plugins.remove")),9,Lu)):B("",!0)]),$.kind!=="external"?(k(),E("p",Fu,b(g(h)("plugins.builtinNote")),1)):B("",!0)])):B("",!0)]))),128))]))}},Hu={class:"dh-card overflow-hidden"},Vu={class:"flex items-center justify-between border-b border-subtle px-5 py-4"},Ku={class:"text-base font-bold tracking-[-0.02em] text-strong"},Wu={class:"mt-0.5 text-xs text-muted"},Gu={key:0,class:"border-b border-subtle px-5 py-3 text-xs text-danger"},qu={key:1,class:"border-b border-subtle bg-sunken px-5 py-4"},Zu={class:"grid gap-3 sm:grid-cols-2"},Ju={class:"dh-label"},Yu={class:"dh-label"},Xu={class:"dh-label"},Qu=["placeholder"],ed={class:"dh-label"},td=["value"],sd={key:0},nd={class:"dh-label"},id={value:""},od=["value"],rd={class:"mt-3 flex items-center gap-2"},ld=["disabled"],ad=["disabled"],cd={key:2,class:"px-5 py-6 text-center text-sm text-muted"},ud={key:3,class:"w-full text-left text-sm"},dd={class:"[&>th]:eyebrow [&>th]:px-5 [&>th]:py-2.5 [&>th]:font-medium"},fd={class:"data px-5 py-2.5 text-xs text-strong"},pd={key:0,class:"eyebrow ml-1"},hd={class:"px-5 py-2.5 text-body"},gd={class:"px-5 py-2.5 text-body"},md={class:"px-5 py-2.5"},bd={class:"px-5 py-2.5 text-right whitespace-nowrap"},vd=["onClick"],_d=["disabled","onClick"],yd={__name:"UsersCard",setup(e){const t=V([]),s=V([]),n=V(""),i=V(!1),o=V(null),r=V({}),l=Qe(()=>bt.value?["user","admin","superadmin"]:["user","admin"]);async function a(){try{const[C,P]=await Promise.all([se("/api/users"),se("/api/orgs")]);t.value=C.users||[],s.value=P.organizations||[],n.value=""}catch(C){n.value=C.message}}ut(a);function p(){var C;o.value="new",r.value={email:"",name:"",password:"",role:"user",organization:bt.value?"":((C=de.value)==null?void 0:C.organization)||""}}function u(C){o.value=C.id,r.value={email:C.email,name:C.name||"",password:"",role:C.role,organization:C.organization||""}}function m(){o.value=null,n.value=""}async function y(){i.value=!0,n.value="";try{if(o.value==="new")await se("/api/users",{method:"POST",body:r.value});else{const C={...r.value};C.password||delete C.password,await se(`/api/users/${o.value}`,{method:"PATCH",body:C})}o.value=null,await a()}catch(C){n.value=C.message}finally{i.value=!1}}async function A(C){if(confirm(h("users.confirmDelete",{email:C.email}))){i.value=!0,n.value="";try{await se(`/api/users/${C.id}`,{method:"DELETE"}),await a()}catch(P){n.value=P.message}finally{i.value=!1}}}const D=C=>C==="superadmin"?"bg-info-soft text-info":C==="admin"?"bg-warning-soft text-warning":"bg-sunken text-muted";return(C,P)=>(k(),E("div",Hu,[d("div",Vu,[d("div",null,[d("div",Ku,b(g(h)("users.title")),1),d("p",Wu,b(g(bt)?g(h)("users.allOrgs"):g(h)("users.yourOrg")),1)]),d("button",{class:"dh-btn",onClick:p},b(g(h)("users.newUser")),1)]),n.value?(k(),E("p",Gu,b(n.value),1)):B("",!0),o.value?(k(),E("div",qu,[d("div",Zu,[d("div",null,[d("label",Ju,b(g(h)("common.email")),1),re(d("input",{"onUpdate:modelValue":P[0]||(P[0]=T=>r.value.email=T),class:"dh-input",type:"email",autocomplete:"off"},null,512),[[pe,r.value.email]])]),d("div",null,[d("label",Yu,b(g(h)("common.name")),1),re(d("input",{"onUpdate:modelValue":P[1]||(P[1]=T=>r.value.name=T),class:"dh-input",autocomplete:"off"},null,512),[[pe,r.value.name]])]),d("div",null,[d("label",Xu,b(o.value==="new"?g(h)("users.password"):g(h)("users.passwordUnchanged")),1),re(d("input",{"onUpdate:modelValue":P[2]||(P[2]=T=>r.value.password=T),class:"dh-input",type:"password",autocomplete:"new-password",placeholder:g(h)("users.passwordPlaceholder")},null,8,Qu),[[pe,r.value.password]])]),d("div",null,[d("label",ed,b(g(h)("common.role")),1),re(d("select",{"onUpdate:modelValue":P[3]||(P[3]=T=>r.value.role=T),class:"dh-select"},[(k(!0),E(ee,null,ke(l.value,T=>(k(),E("option",{key:T,value:T},b(T),9,td))),128))],512),[[xs,r.value.role]])]),g(bt)?(k(),E("div",sd,[d("label",nd,b(g(h)("common.organization")),1),re(d("select",{"onUpdate:modelValue":P[4]||(P[4]=T=>r.value.organization=T),class:"dh-select"},[d("option",id,b(g(h)("users.orgNone")),1),(k(!0),E(ee,null,ke(s.value,T=>(k(),E("option",{key:T.id,value:T.id},b(T.name),9,od))),128))],512),[[xs,r.value.organization]])])):B("",!0)]),d("div",rd,[d("button",{class:"dh-btn",disabled:i.value,onClick:y},b(o.value==="new"?g(h)("common.create"):g(h)("common.save")),9,ld),d("button",{class:"dh-btn-ghost",disabled:i.value,onClick:m},b(g(h)("common.cancel")),9,ad)])])):B("",!0),t.value.length?(k(),E("table",ud,[d("thead",null,[d("tr",dd,[d("th",null,b(g(h)("common.email")),1),d("th",null,b(g(h)("common.name")),1),d("th",null,b(g(h)("common.organization")),1),d("th",null,b(g(h)("common.role")),1),P[5]||(P[5]=d("th",null,null,-1))])]),d("tbody",null,[(k(!0),E(ee,null,ke(t.value,T=>{var $,j;return k(),E("tr",{key:T.id,class:"border-t border-subtle transition-colors hover:bg-sunken"},[d("td",fd,[Te(b(T.email)+" ",1),T.id===(($=g(de))==null?void 0:$.id)?(k(),E("span",pd,b(g(h)("users.you")),1)):B("",!0)]),d("td",hd,b(T.name||g(h)("common.empty")),1),d("td",gd,b(T.organizationName||g(h)("common.empty")),1),d("td",md,[d("span",{class:$e(["dh-pill",D(T.role)])},b(T.role),3)]),d("td",bd,[d("button",{class:"dh-btn-ghost",onClick:M=>u(T)},b(g(h)("common.edit")),9,vd),T.id!==((j=g(de))==null?void 0:j.id)?(k(),E("button",{key:0,class:"dh-btn-danger ml-1.5",disabled:i.value,onClick:M=>A(T)},b(g(h)("common.delete")),9,_d)):B("",!0)])])}),128))])])):(k(),E("p",cd,b(g(h)("users.empty")),1))]))}},wd={class:"dh-card overflow-hidden"},xd={class:"flex items-center justify-between border-b border-subtle px-5 py-4"},kd={class:"text-base font-bold tracking-[-0.02em] text-strong"},Sd={class:"mt-0.5 text-xs text-muted"},Td={key:0,class:"border-b border-subtle px-5 py-3 text-xs text-danger"},Ed={key:1,class:"border-b border-subtle bg-sunken px-5 py-4"},Cd={class:"dh-label"},Pd=["placeholder"],$d={class:"mt-3 flex items-center gap-2"},Ad=["disabled"],Od=["disabled"],Rd={key:2,class:"px-5 py-6 text-center text-sm text-muted"},Id={key:3,class:"w-full text-left text-sm"},Ud={class:"[&>th]:eyebrow [&>th]:px-5 [&>th]:py-2.5 [&>th]:font-medium"},jd={class:"px-5 py-2.5 font-medium text-strong"},Md={class:"data px-5 py-2.5 text-xs text-muted"},Nd={class:"px-5 py-2.5 text-right whitespace-nowrap"},Dd=["onClick"],zd=["disabled","onClick"],Ld={__name:"OrgsCard",setup(e){const t=V([]),s=V(""),n=V(!1),i=V(null),o=V("");async function r(){try{const y=await se("/api/orgs");t.value=y.organizations||[],s.value=""}catch(y){s.value=y.message}}ut(r);function l(){i.value="new",o.value=""}function a(y){i.value=y.id,o.value=y.name}function p(){i.value=null,s.value=""}async function u(){n.value=!0,s.value="";try{i.value==="new"?await se("/api/orgs",{method:"POST",body:{name:o.value}}):await se(`/api/orgs/${i.value}`,{method:"PATCH",body:{name:o.value}}),i.value=null,await r()}catch(y){s.value=y.message}finally{n.value=!1}}async function m(y){if(confirm(h("orgs.confirmDelete",{name:y.name}))){n.value=!0,s.value="";try{await se(`/api/orgs/${y.id}`,{method:"DELETE"}),await r()}catch(A){s.value=A.message}finally{n.value=!1}}}return(y,A)=>(k(),E("div",wd,[d("div",xd,[d("div",null,[d("div",kd,b(g(h)("orgs.title")),1),d("p",Sd,b(g(h)("orgs.subtitle")),1)]),g(bt)?(k(),E("button",{key:0,class:"dh-btn",onClick:l},b(g(h)("orgs.newOrg")),1)):B("",!0)]),s.value?(k(),E("p",Td,b(s.value),1)):B("",!0),i.value?(k(),E("div",Ed,[d("label",Cd,b(g(h)("common.name")),1),re(d("input",{"onUpdate:modelValue":A[0]||(A[0]=D=>o.value=D),class:"dh-input",placeholder:g(h)("orgs.namePlaceholder"),onKeyup:Ql(u,["enter"])},null,40,Pd),[[pe,o.value]]),d("div",$d,[d("button",{class:"dh-btn",disabled:n.value||!o.value.trim(),onClick:u},b(i.value==="new"?g(h)("common.create"):g(h)("common.save")),9,Ad),d("button",{class:"dh-btn-ghost",disabled:n.value,onClick:p},b(g(h)("common.cancel")),9,Od)])])):B("",!0),t.value.length?(k(),E("table",Id,[d("thead",null,[d("tr",Ud,[d("th",null,b(g(h)("common.name")),1),d("th",null,b(g(h)("orgs.colId")),1),A[1]||(A[1]=d("th",null,null,-1))])]),d("tbody",null,[(k(!0),E(ee,null,ke(t.value,D=>(k(),E("tr",{key:D.id,class:"border-t border-subtle transition-colors hover:bg-sunken"},[d("td",jd,b(D.name),1),d("td",Md,b(D.id),1),d("td",Nd,[g(bt)?(k(),E(ee,{key:0},[d("button",{class:"dh-btn-ghost",onClick:C=>a(D)},b(g(h)("common.rename")),9,Dd),d("button",{class:"dh-btn-danger ml-1.5",disabled:n.value,onClick:C=>m(D)},b(g(h)("common.delete")),9,zd)],64)):B("",!0)])]))),128))])])):(k(),E("p",Rd,b(g(h)("orgs.empty")),1))]))}},Fd={class:"dh-card overflow-hidden"},Bd={class:"flex items-center justify-between border-b border-subtle px-5 py-4"},Hd={class:"text-base font-bold tracking-[-0.02em] text-strong"},Vd={class:"eyebrow"},Kd={class:"w-full text-left text-sm"},Wd={class:"[&>th]:eyebrow [&>th]:px-5 [&>th]:py-2.5 [&>th]:font-medium"},Gd={class:"data border-t border-subtle px-5 py-2.5 text-xs whitespace-nowrap"},qd={class:"text-strong"},Zd={class:"border-t border-subtle px-5 py-2.5 text-body"},nt={__name:"EndpointTable",props:{title:String,auth:String,endpoints:Array},setup(e){const t={GET:"text-success",POST:"text-brandtext",PATCH:"text-warning",DELETE:"text-danger"};return(s,n)=>(k(),E("div",Fd,[d("div",Bd,[d("div",Hd,b(e.title),1),d("span",Vd,b(e.auth),1)]),d("table",Kd,[d("thead",null,[d("tr",Wd,[d("th",null,b(g(h)("api.colEndpoint")),1),d("th",null,b(g(h)("api.colDescription")),1)])]),d("tbody",null,[(k(!0),E(ee,null,ke(e.endpoints,i=>(k(),E("tr",{key:i.method+i.path,class:"transition-colors hover:bg-sunken"},[d("td",Gd,[d("span",{class:$e(["font-semibold",t[i.method]])},b(i.method),3),d("span",qd,b(i.path),1)]),d("td",Zd,b(i.desc),1)]))),128))])])]))}},Jd={class:"mx-auto flex max-w-4xl flex-col gap-6 px-6 pt-12 pb-16"},Yd={class:"flex items-center gap-3"},Xd={class:"inline-flex items-center gap-2.5 select-none"},Qd={class:"h-8 w-8 shrink-0",viewBox:"0 0 48 48",fill:"none","aria-hidden":"true"},ef={transform:"translate(7 0) skewX(-13)"},tf=["fill"],sf=["fill"],nf=["fill"],of={class:"eyebrow mt-1.5"},rf={key:0,class:"data hidden text-xs text-muted sm:inline"},lf={key:0},af={key:1,class:"dh-pill bg-info-soft text-info"},cf=["value","aria-label"],uf=["value"],df=["title"],ff={key:0,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.75",class:"h-4 w-4"},pf={key:1,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.75",class:"h-4 w-4"},hf={key:0,class:"eyebrow py-16 text-center"},gf={class:"flex flex-wrap gap-1.5"},mf=["onClick"],bf={key:7,class:"eyebrow text-center"},vf={class:"eyebrow text-center"},_f={__name:"App",setup(e){const t=V(!0),s=V("overview");ut(async()=>{await Ya(),t.value=!1});const n=Qe(()=>{const C=[{id:"overview",label:h("sections.overview")}];return hi.value&&C.push({id:"users",label:h("sections.users")},{id:"orgs",label:h("sections.orgs")}),bt.value&&C.push({id:"pocketbase",label:h("sections.pocketbase")},{id:"webapp",label:h("sections.webapp")},{id:"plugins",label:h("sections.plugins")}),C.push({id:"api",label:h("sections.api")}),C}),i=Qe(()=>Ba.map(C=>{let P=C;try{P=new Intl.DisplayNames([C],{type:"language"}).of(C)||C}catch{}return{code:C,label:P.charAt(0).toUpperCase()+P.slice(1)}}));function o(){Tn(),s.value="overview"}const r=Qe(()=>Et.value==="dark"?["#60a5fa","#93c5fd","#ffffff"]:["var(--brand-700)","var(--brand-500)","var(--brand-400)"]),l=[{method:"GET",path:"/api/health",desc:"Liveness probe (no auth)"},{method:"GET",path:"/api/status",desc:"Health of PocketBase + Web App"},{method:"POST",path:"/api/auth/login",desc:"Exchange email + password for a PocketBase token"},{method:"GET",path:"/api/auth/validate",desc:"Check whether a token is still valid"}],a=[{method:"GET",path:"/api/auth/me",desc:"Identity of the bearer token"},{method:"GET",path:"/api/identity",desc:"Identity incl. role + organization"}],p=[{method:"GET",path:"/api/cars",desc:"List owned + shared cars"},{method:"POST",path:"/api/cars",desc:"Create a car"},{method:"GET",path:"/api/cars/{id}",desc:"Fetch one car"},{method:"PATCH",path:"/api/cars/{id}",desc:"Update a car"},{method:"DELETE",path:"/api/cars/{id}",desc:"Delete a car (owner only)"},{method:"GET",path:"/api/cars/{id}/service-records",desc:"A car's service history"},{method:"GET",path:"/api/cars/{id}/parts",desc:"A car's parts catalog"},{method:"GET",path:"/api/cars/{id}/shares",desc:"Who a car is shared with (owner)"},{method:"POST",path:"/api/cars/{id}/shares",desc:"Share a car by email (owner)"},{method:"DELETE",path:"/api/cars/{id}/shares/{userId}",desc:"Revoke a share (owner)"}],u=[{method:"GET",path:"/api/service-records",desc:"List service records"},{method:"POST",path:"/api/service-records",desc:"Log a service record"},{method:"GET",path:"/api/service-records/{id}",desc:"Fetch one record"},{method:"PATCH",path:"/api/service-records/{id}",desc:"Update a record"},{method:"DELETE",path:"/api/service-records/{id}",desc:"Delete a record"}],m=[{method:"GET",path:"/api/parts",desc:"List parts"},{method:"POST",path:"/api/parts",desc:"Add a part"},{method:"GET",path:"/api/parts/{id}",desc:"Fetch one part"},{method:"PATCH",path:"/api/parts/{id}",desc:"Update a part"},{method:"DELETE",path:"/api/parts/{id}",desc:"Delete a part"}],y=[{method:"GET",path:"/api/me",desc:"Current user profile"},{method:"PATCH",path:"/api/me",desc:"Update profile"},{method:"POST",path:"/api/me/password",desc:"Change password"},{method:"POST",path:"/api/me/avatar",desc:"Upload avatar"},{method:"GET",path:"/api/me/avatar",desc:"Fetch avatar"},{method:"DELETE",path:"/api/me/avatar",desc:"Remove avatar"},{method:"POST",path:"/api/me/verify/request",desc:"Request email verification"},{method:"GET",path:"/api/me/export",desc:"Export your data"},{method:"POST",path:"/api/me/import",desc:"Import data"},{method:"POST",path:"/api/me/delete",desc:"Request account deletion"},{method:"POST",path:"/api/me/delete/cancel",desc:"Cancel deletion request"},{method:"DELETE",path:"/api/me",desc:"Finalize account deletion"}],A=[{method:"GET",path:"/api/users",desc:"List users (scoped by role)"},{method:"POST",path:"/api/users",desc:"Create a user"},{method:"PATCH",path:"/api/users/{id}",desc:"Update email / name / role / org / password"},{method:"DELETE",path:"/api/users/{id}",desc:"Delete a user"},{method:"GET",path:"/api/orgs",desc:"List organizations"},{method:"POST",path:"/api/orgs",desc:"Create an organization (superadmin)"},{method:"PATCH",path:"/api/orgs/{id}",desc:"Rename an organization (superadmin)"},{method:"DELETE",path:"/api/orgs/{id}",desc:"Delete an organization (superadmin)"}],D=[{method:"GET",path:"/api/admin/pb-config",desc:"PocketBase connection + live probe"},{method:"POST",path:"/api/admin/pb-config/test",desc:"Probe a candidate connection"},{method:"PUT",path:"/api/admin/pb-config",desc:"Apply + persist a connection"},{method:"GET",path:"/api/admin/webapp-config",desc:"Web App URL + CORS origins, with a live probe"},{method:"POST",path:"/api/admin/webapp-config/test",desc:"Probe a candidate Web App address"},{method:"PUT",path:"/api/admin/webapp-config",desc:"Apply + persist Web App settings"},{method:"GET",path:"/api/admin/plugins",desc:"List plugins (secrets masked)"},{method:"POST",path:"/api/admin/plugins",desc:"Register an external plugin"},{method:"GET",path:"/api/admin/plugins/{name}",desc:"Fetch one plugin"},{method:"PUT",path:"/api/admin/plugins/{name}",desc:"Enable/disable + configure"},{method:"DELETE",path:"/api/admin/plugins/{name}",desc:"Remove an external plugin"},{method:"POST",path:"/api/admin/plugins/{name}/health",desc:"Run a health check now"}];return(C,P)=>(k(),E("div",Jd,[d("div",Yd,[d("span",Xd,[(k(),E("svg",Qd,[d("g",ef,[d("rect",{x:"9",y:"16",width:"6",height:"16",rx:"3",fill:r.value[0]},null,8,tf),d("rect",{x:"19",y:"12",width:"6",height:"24",rx:"3",fill:r.value[1]},null,8,sf),d("rect",{x:"29",y:"8",width:"6",height:"32",rx:"3",fill:r.value[2]},null,8,nf)])])),P[2]||(P[2]=d("span",{class:"text-2xl leading-none font-extrabold tracking-[-0.03em] italic"},[d("span",{class:"text-strong"},"Driver"),d("span",{class:"text-brandtext"},"Vault")],-1))]),d("span",of,b(g(h)("app.apiServer")),1),P[5]||(P[5]=d("div",{class:"flex-1"},null,-1)),g(de)?(k(),E("span",rf,[Te(b(g(de).email),1),g(de).organizationName?(k(),E("span",lf," · "+b(g(de).organizationName),1)):B("",!0)])):B("",!0),g(de)?(k(),E("span",af,b(g(de).role),1)):B("",!0),d("select",{class:"dh-select !w-auto !py-1 !text-xs",value:g(Sn),"aria-label":g(h)("sections.overview"),onChange:P[0]||(P[0]=T=>g(Va)(T.target.value))},[(k(!0),E(ee,null,ke(i.value,T=>(k(),E("option",{key:T.code,value:T.code},b(T.label),9,uf))),128))],40,cf),d("button",{class:"dh-btn-ghost",title:g(Et)==="dark"?g(h)("app.switchToLight"):g(h)("app.switchToDark"),onClick:P[1]||(P[1]=(...T)=>g(di)&&g(di)(...T))},[g(Et)==="dark"?(k(),E("svg",ff,[...P[3]||(P[3]=[d("circle",{cx:"12",cy:"12",r:"4"},null,-1),d("path",{"stroke-linecap":"round",d:"M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4"},null,-1)])])):(k(),E("svg",pf,[...P[4]||(P[4]=[d("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8Z"},null,-1)])])),Te(" "+b(g(h)("app.theme")),1)],8,df),g(Ot)?(k(),E("button",{key:2,class:"dh-btn-ghost",onClick:o},b(g(h)("app.signOut")),1)):B("",!0)]),t.value?(k(),E("p",hf,b(g(h)("app.loading")),1)):g(Ot)?(k(),E(ee,{key:2},[d("nav",gf,[(k(!0),E(ee,null,ke(n.value,T=>(k(),E("button",{key:T.id,class:$e(["dh-btn-ghost",s.value===T.id?"border-accent text-brandtext":""]),onClick:$=>s.value=T.id},b(T.label),11,mf))),128))]),s.value==="overview"?(k(),it(_c,{key:0})):s.value==="users"?(k(),it(yd,{key:1})):s.value==="orgs"?(k(),it(Ld,{key:2})):s.value==="pocketbase"?(k(),it(Nc,{key:3})):s.value==="webapp"?(k(),it(Qc,{key:4})):s.value==="plugins"?(k(),it(Bu,{key:5})):s.value==="api"?(k(),E(ee,{key:6},[ce(nt,{title:g(h)("api.groupPublic"),auth:g(h)("api.authNone"),endpoints:l},null,8,["title","auth"]),ce(nt,{title:g(h)("api.groupIdentity"),auth:g(h)("api.authBearer"),endpoints:a},null,8,["title","auth"]),ce(nt,{title:g(h)("api.groupCars"),auth:g(h)("api.authBearer"),endpoints:p},null,8,["title","auth"]),ce(nt,{title:g(h)("api.groupService"),auth:g(h)("api.authBearer"),endpoints:u},null,8,["title","auth"]),ce(nt,{title:g(h)("api.groupParts"),auth:g(h)("api.authBearer"),endpoints:m},null,8,["title","auth"]),ce(nt,{title:g(h)("api.groupAccount"),auth:g(h)("api.authBearer"),endpoints:y},null,8,["title","auth"]),ce(nt,{title:g(h)("api.groupManagement"),auth:g(h)("api.authManager"),endpoints:A},null,8,["title","auth"]),ce(nt,{title:g(h)("api.groupSuperadmin"),auth:g(h)("api.authSuperadmin"),endpoints:D},null,8,["title","auth"])],64)):B("",!0),!g(hi)&&s.value==="overview"?(k(),E("p",bf,b(g(h)("app.standardUserNote")),1)):B("",!0)],64)):(k(),it(lc,{key:1})),d("p",vf,b(g(h)("app.footer")),1)]))}};sa(_f).mount("#app");